feat: iptv业务、tyslzw业务、合并工单

master
李小林 7 months ago
parent d6c10e03be
commit 2eed9dba93
  1. 3
      src/main/java/com/bellmann/common/result/ResultCode.java
  2. 200
      src/main/java/com/bellmann/common/util/HttpRequestUtil.java
  3. 4
      src/main/java/com/bellmann/common/util/OrderUtils.java
  4. 7
      src/main/java/com/bellmann/controller/BroadbandController.java
  5. 7
      src/main/java/com/bellmann/controller/OrderInfoController.java
  6. 11
      src/main/java/com/bellmann/model/form/MergeOrderForm.java
  7. 9
      src/main/java/com/bellmann/runner/UIService.java
  8. 2
      src/main/java/com/bellmann/service/BroadbandService.java
  9. 3
      src/main/java/com/bellmann/service/OrderInfoService.java
  10. 43
      src/main/java/com/bellmann/service/impl/BroadbandServiceImpl.java
  11. 14
      src/main/java/com/bellmann/service/impl/OrderInfoServiceImpl.java

@ -124,7 +124,8 @@ public enum ResultCode implements IResultCode, Serializable {
TASK_NOT_FOUND("F0033","任务不存在"), TASK_NOT_FOUND("F0033","任务不存在"),
TASK_NOT_EXE("F0034", "任务未执行"), TASK_NOT_EXE("F0034", "任务未执行"),
UPDATE_ACCOUNT_PWD_ERROR("F0035","更新设备维护密码失败"), UPDATE_ACCOUNT_PWD_ERROR("F0035","更新设备维护密码失败"),
PLEASE_SELECT_A_CUSTOMER_TYPE("F0036","请选择客户类型!"); PLEASE_SELECT_A_CUSTOMER_TYPE("F0036","请选择客户类型!"),
NUll_ERROR("F0037", "未查询到相关数据");
@Override @Override
public String getCode() { public String getCode() {

@ -0,0 +1,200 @@
package com.bellmann.common.util;
import com.zznode.cap.api.CAP;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.URL;
import java.net.URLConnection;
public class HttpRequestUtil {
/**
* 向指定URL发送GET方法的请求
*
* @param url
* 发送请求的URL
* @param param
* 请求参数请求参数应该是 name1=value1&name2=value2 的形式
* @return URL 所代表远程资源的响应结果
*/
public static String sendGet(String url, String param) {
String result = "";
BufferedReader in = null;
try {
String urlNameString = url + "?" + param;
URL realUrl = new URL(urlNameString);
// 打开和URL之间的连接
URLConnection conn = realUrl.openConnection();
// 设置通用的请求属性
conn.setConnectTimeout(20000);
conn.setRequestProperty("Content-Type", "application/json");
// 建立实际的连接
conn.connect();
// 获取所有响应头字段
//Map<String, List<String>> map = connection.getHeaderFields();
// 遍历所有的响应头字段
// for (String key : map.keySet()) {
// System.out.println(key + "--->" + map.get(key));
// }
// 定义 BufferedReader输入流来读取URL的响应
in = new BufferedReader(new InputStreamReader(
conn.getInputStream(),"utf-8"));
String line;
while ((line = in.readLine()) != null) {
result += line;
}
} catch (Exception e) {
//System.out.println("发送GET请求出现异常!" + e);
CAP.trException(e);
}
// 使用finally块来关闭输入流
finally {
try {
if (in != null) {
in.close();
}
} catch (Exception e2) {
CAP.trException(e2);
}
}
return result;
}
/**
* 向指定URL发送GET方法的请求
*
* @param url
* 发送请求的URL
* @param param
* 请求参数请求参数应该是 name1=value1&name2=value2 的形式
* @return URL 所代表远程资源的响应结果
*/
public static String sendGet(String url, String param,String key,String appId,String requestId) {
String result = "";
BufferedReader in = null;
try {
String urlNameString = url + "?" + param;
URL realUrl = new URL(urlNameString);
// 打开和URL之间的连接
URLConnection conn = realUrl.openConnection();
// 设置通用的请求属性
conn.setConnectTimeout(20000);
conn.setRequestProperty("Content-Type", "application/json");
conn.setRequestProperty("X-APP-KEY", key);
conn.setRequestProperty("X-APP-ID", appId);
conn.setRequestProperty("X-CTG-Request-ID", requestId);
// 建立实际的连接
conn.connect();
// 获取所有响应头字段
//Map<String, List<String>> map = connection.getHeaderFields();
// 遍历所有的响应头字段
// for (String key : map.keySet()) {
// System.out.println(key + "--->" + map.get(key));
// }
// 定义 BufferedReader输入流来读取URL的响应
in = new BufferedReader(new InputStreamReader(
conn.getInputStream(),"utf-8"));
String line;
while ((line = in.readLine()) != null) {
result += line;
}
} catch (Exception e) {
//System.out.println("发送GET请求出现异常!" + e);
CAP.trException(e);
}
// 使用finally块来关闭输入流
finally {
try {
if (in != null) {
in.close();
}
} catch (Exception e2) {
CAP.trException(e2);
}
}
return result;
}
/**
* 向指定 URL 发送POST方法的请求
*
* @param url
* 发送请求的 URL
* @param param
* 请求参数请求参数应该是 name1=value1&name2=value2 的形式
* @return 所代表远程资源的响应结果
*/
public static String sendPost(String url, String param) {
PrintWriter out = null;
BufferedReader in = null;
String result = "";
try {
URL realUrl = new URL(url);
// 打开和URL之间的连接
URLConnection conn = realUrl.openConnection();
// 设置通用的请求属性
conn.setRequestProperty("accept", "*/*");
conn.setRequestProperty("connection", "Keep-Alive");
conn.setRequestProperty("user-agent",
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
// 发送POST请求必须设置如下两行
conn.setDoOutput(true);
conn.setDoInput(true);
// 获取URLConnection对象对应的输出流
out = new PrintWriter(conn.getOutputStream());
// 发送请求参数
out.print(param);
// flush输出流的缓冲
out.flush();
// 定义BufferedReader输入流来读取URL的响应
in = new BufferedReader(
new InputStreamReader(conn.getInputStream()));
String line;
while ((line = in.readLine()) != null) {
result += line;
}
} catch (Exception e) {
System.out.println("发送 POST 请求出现异常!"+e);
e.printStackTrace();
}
//使用finally块来关闭输出流、输入流
finally{
try{
if(out!=null){
out.close();
}
if(in!=null){
in.close();
}
}
catch(IOException ex){
ex.printStackTrace();
}
}
return result;
}
//调用
public static void main(String[] args) {
String param="BussinessType=ADAccount&IPVersion=1&InternetIP=18.16.5.4&InternetPort=5509";
//发送 GET 请求
String s=HttpRequestUtil.sendGet("http://172.13.128.80:6080/itms/order", param,"UtOCzqb67d3sN12Kts4URwy8","FFnN2hso42Wego3pWq4X5qlu","92598bee-7d30-4086-afc9-a7be6bd2cda0");
//String s = HttpRequest.sendPost("http://172.13.128.80:6080/itms/order", params);
System.out.println(s);
//发送 POST 请求
// String sr=HttpRequest.sendPost("http://localhost:6144/Home/RequestPostString", "key=123&v=456");
// System.out.println(sr);
}
}

@ -62,11 +62,13 @@ public class OrderUtils {
"/", xml); "/", xml);
} }
public static String orderServiceStructToXml(OrderServiceStruct[] list) { public static String orderServiceStructToXml(OrderServiceStruct[] list) {
if (list.length==0){
return "";
}
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
for(OrderServiceStruct service: list) { for(OrderServiceStruct service: list) {
sb.append("^").append(service.argsName).append("=").append(service.argsValueNew); sb.append("^").append(service.argsName).append("=").append(service.argsValueNew);
} }
System.out.println(sb.substring(1));
return sb.substring(1); return sb.substring(1);
} }
private static String getOrderType(int orderType) { private static String getOrderType(int orderType) {

@ -46,4 +46,11 @@ public class BroadbandController {
public Result<String> updateBroadbandMode(@RequestBody AddBroadbandForm form){ public Result<String> updateBroadbandMode(@RequestBody AddBroadbandForm form){
return broadbandService.updateBroadbandMode(form); return broadbandService.updateBroadbandMode(form);
} }
@PostMapping("/add-tyslzw")
@Operation(summary = "开通TYSLZW")
@PreventDuplicateSubmit
public Result<String> addTYSLZW(@RequestBody AddBroadbandForm form){
return broadbandService.addTYSLZW(form);
}
} }

@ -4,6 +4,7 @@ package com.bellmann.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.bellmann.common.result.PageResult; import com.bellmann.common.result.PageResult;
import com.bellmann.common.result.Result; import com.bellmann.common.result.Result;
import com.bellmann.model.form.MergeOrderForm;
import com.bellmann.model.form.ModifyOrderForm; import com.bellmann.model.form.ModifyOrderForm;
import com.bellmann.model.query.DeviceOrderQuery; import com.bellmann.model.query.DeviceOrderQuery;
import com.bellmann.model.query.SelectQuery; import com.bellmann.model.query.SelectQuery;
@ -88,5 +89,11 @@ public class OrderInfoController {
public Result<Map<Object,Object>> checkDev(@PathVariable String adNo){ public Result<Map<Object,Object>> checkDev(@PathVariable String adNo){
return orderInfoService.checkDev(adNo); return orderInfoService.checkDev(adNo);
} }
@PostMapping("/merger-order")
@Operation(summary = "合并工单")
public Result<String> mergeOrder(@RequestBody MergeOrderForm form){
return orderInfoService.mergeOrder(form);
}
} }

@ -0,0 +1,11 @@
package com.bellmann.model.form;
import lombok.Data;
@Data
public class MergeOrderForm {
private String logicId;
private String serviceName;
}

@ -14,7 +14,11 @@ import lombok.Getter;
public class UIService extends ServiceManager { public class UIService extends ServiceManager {
static UIService service = null; static UIService service = null;
@Getter
private static String nbiOrderUrl; private static String nbiOrderUrl;
@Getter
private static String mergeUrl;
//任务超时的时间 //任务超时的时间
@Getter @Getter
private static String task_timeOut; private static String task_timeOut;
@ -36,6 +40,7 @@ public class UIService extends ServiceManager {
InventoryManager.init(getStringValueByName("Service.Name.Inventory")); InventoryManager.init(getStringValueByName("Service.Name.Inventory"));
OAMManager.init(getStringValueByName("Service.Name.OAM")); OAMManager.init(getStringValueByName("Service.Name.OAM"));
nbiOrderUrl = getStringValueByName("nbiOrderUrl"); nbiOrderUrl = getStringValueByName("nbiOrderUrl");
mergeUrl = getStringValueByName("mergeUrl");
return true; return true;
} }
@ -48,7 +53,5 @@ public class UIService extends ServiceManager {
service = new UIService(arg); service = new UIService(arg);
return service; return service;
} }
public static String getNbiOrderUrl() {
return nbiOrderUrl;
}
} }

@ -7,4 +7,6 @@ public interface BroadbandService {
Result<String> addBroadband(AddBroadbandForm form); Result<String> addBroadband(AddBroadbandForm form);
Result<String> updateBroadbandMode(AddBroadbandForm form); Result<String> updateBroadbandMode(AddBroadbandForm form);
Result<String> addTYSLZW(AddBroadbandForm form);
} }

@ -2,6 +2,7 @@ package com.bellmann.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.bellmann.common.result.Result; import com.bellmann.common.result.Result;
import com.bellmann.model.form.MergeOrderForm;
import com.bellmann.model.form.ModifyOrderForm; import com.bellmann.model.form.ModifyOrderForm;
import com.bellmann.model.query.DeviceOrderQuery; import com.bellmann.model.query.DeviceOrderQuery;
import com.bellmann.model.query.SelectQuery; import com.bellmann.model.query.SelectQuery;
@ -37,4 +38,6 @@ public interface OrderInfoService {
Page<OrderInfoTableVO> deviceOrderPage(DeviceOrderQuery query); Page<OrderInfoTableVO> deviceOrderPage(DeviceOrderQuery query);
Result<Map<Object,Object>> checkDev(String adNo); Result<Map<Object,Object>> checkDev(String adNo);
Result<String> mergeOrder(MergeOrderForm form);
} }

@ -212,7 +212,6 @@ public class BroadbandServiceImpl implements BroadbandService {
String orderUrl = UIService.getNbiOrderUrl(); String orderUrl = UIService.getNbiOrderUrl();
Map<String,String> header = new HashMap<String,String>(); Map<String,String> header = new HashMap<String,String>();
header.put("content-type", "application/json"); header.put("content-type", "application/json");
try { try {
@ -222,4 +221,46 @@ public class BroadbandServiceImpl implements BroadbandService {
} }
} }
@Override
public Result<String> addTYSLZW(AddBroadbandForm form) {
OrderMerger orderMerger = orderMergerMapper.selectOne(new LambdaQueryWrapper<OrderMerger>()
.eq(OrderMerger::getUserSnNo, form.getUserSnNo())
);
if (orderMerger==null){
throw new BusinessException(ResultCode.NUll_ERROR);
}
Domain domain = domainMapper.selectOne(new LambdaQueryWrapper<Domain>()
.eq(Domain::getGroupId, form.getSystemDomain())
);
OrderServiceStruct[] orderServiceStructs = tranceOrderInfo(form.getList(), form.getUserSnNo(), form.getServiceName(), form.getServiceFlag());
String serviceArgs = OrderUtils.orderServiceStructToXml(orderServiceStructs);
OrderTempBO orderTempBO = OrderTempBO
.builder()
.orderArrays(serviceArgs)
.pppoe(orderMerger.getPppoeAccount())
.contactPersonNew(form.getContactPersonNew())
.domainDesc(domain.getDescription())
.customerNameNew(form.getCustomerNameNew())
.operateRemark(form.getOperateRemark())
.orderServiceType(form.getOrderServiceType())
.receiveOrderId(form.getReceiveOrderId())
.remark3(form.getRemark3())
.userSnNo(form.getUserSnNo())
.customerAddrNew(form.getCustomerAddrNew()).build();
if (StringUtils.isNotBlank(orderMerger.getOrderCustomerKind())) {
orderTempBO.setCustomerKind(Integer.valueOf(orderMerger.getOrderCustomerKind()));
} else if (StringUtils.isNotBlank(form.getOrderCustomerKind())) {
orderTempBO.setCustomerKind(Integer.valueOf(form.getOrderCustomerKind()));
} else {
throw new BusinessException(ResultCode.PLEASE_SELECT_A_CUSTOMER_TYPE);
}
String xml = OrderUtils.formatOrderXml(orderTempBO);
System.out.println(xml);
HttpClientResult result = sendOrderToStartNBI(xml);
if (result.getCode()== HttpStatus.HTTP_OK){
return Result.success();
}
return Result.failed(result.getContent());
}
} }

@ -12,6 +12,7 @@ import com.bellmann.common.exception.BusinessException;
import com.bellmann.common.result.Result; import com.bellmann.common.result.Result;
import com.bellmann.common.result.ResultCode; import com.bellmann.common.result.ResultCode;
import com.bellmann.common.util.CommonUtils; import com.bellmann.common.util.CommonUtils;
import com.bellmann.common.util.HttpRequestUtil;
import com.bellmann.converter.OrderInfoConverter; import com.bellmann.converter.OrderInfoConverter;
import com.bellmann.mapper.*; import com.bellmann.mapper.*;
import com.bellmann.model.bo.DevOnlineStatus; import com.bellmann.model.bo.DevOnlineStatus;
@ -19,11 +20,13 @@ import com.bellmann.model.bo.DeviceDetailBO;
import com.bellmann.model.entity.DeviceStatic; import com.bellmann.model.entity.DeviceStatic;
import com.bellmann.model.entity.OrderInfo; import com.bellmann.model.entity.OrderInfo;
import com.bellmann.model.entity.OrderService; import com.bellmann.model.entity.OrderService;
import com.bellmann.model.form.MergeOrderForm;
import com.bellmann.model.form.ModifyOrderForm; import com.bellmann.model.form.ModifyOrderForm;
import com.bellmann.model.query.DeviceOrderQuery; import com.bellmann.model.query.DeviceOrderQuery;
import com.bellmann.model.query.SelectQuery; import com.bellmann.model.query.SelectQuery;
import com.bellmann.model.vo.OrderInfoTableVO; import com.bellmann.model.vo.OrderInfoTableVO;
import com.bellmann.model.vo.OrderInfoVO; import com.bellmann.model.vo.OrderInfoVO;
import com.bellmann.runner.UIService;
import com.bellmann.security.util.SecurityUtils; import com.bellmann.security.util.SecurityUtils;
import com.bellmann.service.OrderInfoService; import com.bellmann.service.OrderInfoService;
import com.zznode.itms.api.InventoryManager; import com.zznode.itms.api.InventoryManager;
@ -466,4 +469,15 @@ public class OrderInfoServiceImpl implements OrderInfoService {
} }
return Result.failed(ResultCode.NOT_GET_DEVICE); return Result.failed(ResultCode.NOT_GET_DEVICE);
} }
@Override
public Result<String> mergeOrder(MergeOrderForm form) {
String mergeUrl = UIService.getMergeUrl();
String param = "loid="+form.getLogicId()+"&service="+form.getServiceName();
String result = HttpRequestUtil.sendGet(mergeUrl, param);
if(result.contains("P")) {
return Result.success();
}
return Result.failed(result);
}
} }

Loading…
Cancel
Save