exeTaskByIds(@PathVariable Long devId,@RequestBody Integer[] ids){
+ deviceStaticService.exeCustomTaskByIds(devId,ids);
+ return Result.success();
+ }
+}
+
diff --git a/src/main/java/com/bellmann/controller/ItmsOrderMergerController.java b/src/main/java/com/bellmann/controller/ItmsOrderMergerController.java
new file mode 100644
index 0000000..3a002d3
--- /dev/null
+++ b/src/main/java/com/bellmann/controller/ItmsOrderMergerController.java
@@ -0,0 +1,21 @@
+package com.bellmann.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 前端控制器
+ *
+ *
+ * @author 李小林
+ * @since 2024-07-24
+ */
+@RestController
+@RequestMapping("/itmsOrderMerger")
+public class ItmsOrderMergerController {
+
+}
+
diff --git a/src/main/java/com/bellmann/controller/OrderMergerServiceController.java b/src/main/java/com/bellmann/controller/OrderMergerServiceController.java
new file mode 100644
index 0000000..c28c8a4
--- /dev/null
+++ b/src/main/java/com/bellmann/controller/OrderMergerServiceController.java
@@ -0,0 +1,21 @@
+package com.bellmann.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 前端控制器
+ *
+ *
+ * @author 李小林
+ * @since 2024-07-24
+ */
+@RestController
+@RequestMapping("/orderMergerService")
+public class OrderMergerServiceController {
+
+}
+
diff --git a/src/main/java/com/bellmann/mapper/CustomTaskMapper.java b/src/main/java/com/bellmann/mapper/CustomTaskMapper.java
new file mode 100644
index 0000000..1dcc37a
--- /dev/null
+++ b/src/main/java/com/bellmann/mapper/CustomTaskMapper.java
@@ -0,0 +1,22 @@
+package com.bellmann.mapper;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.bellmann.model.entity.CustomTask;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.bellmann.model.vo.CustomTaskVO;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ *
+ * 自定义任务定制 Mapper 接口
+ *
+ *
+ * @author 李小林
+ * @since 2024-07-19
+ */
+@Mapper
+public interface CustomTaskMapper extends BaseMapper {
+
+ Page tablePage(Page page, @Param("column") String column, @Param("value") Object value);
+}
diff --git a/src/main/java/com/bellmann/mapper/OrderInfoMapper.java b/src/main/java/com/bellmann/mapper/OrderInfoMapper.java
index faddfdb..6e55a3b 100644
--- a/src/main/java/com/bellmann/mapper/OrderInfoMapper.java
+++ b/src/main/java/com/bellmann/mapper/OrderInfoMapper.java
@@ -30,4 +30,6 @@ public interface OrderInfoMapper extends BaseMapper {
String selectOui(@Param("devOuiSno") String devOuiSno, @Param("userSnNo") String userSnNo);
List deviceOrderPage(Page page,@Param("devAdNo") String devAdNo,@Param("domain") Long domain);
+
+ String getCustomerKindBySn(@Param("userSnNo") String userSnNo);
}
diff --git a/src/main/java/com/bellmann/mapper/OrderMergerMapper.java b/src/main/java/com/bellmann/mapper/OrderMergerMapper.java
new file mode 100644
index 0000000..ac6648d
--- /dev/null
+++ b/src/main/java/com/bellmann/mapper/OrderMergerMapper.java
@@ -0,0 +1,18 @@
+package com.bellmann.mapper;
+
+import com.bellmann.model.entity.OrderMerger;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ *
+ * Mapper 接口
+ *
+ *
+ * @author 李小林
+ * @since 2024-07-24
+ */
+@Mapper
+public interface OrderMergerMapper extends BaseMapper {
+
+}
diff --git a/src/main/java/com/bellmann/mapper/OrderMergerServiceMapper.java b/src/main/java/com/bellmann/mapper/OrderMergerServiceMapper.java
new file mode 100644
index 0000000..30c986a
--- /dev/null
+++ b/src/main/java/com/bellmann/mapper/OrderMergerServiceMapper.java
@@ -0,0 +1,22 @@
+package com.bellmann.mapper;
+
+import com.bellmann.model.entity.OrderMergerService;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ *
+ * Mapper 接口
+ *
+ *
+ * @author 李小林
+ * @since 2024-07-24
+ */
+@Mapper
+public interface OrderMergerServiceMapper extends BaseMapper {
+
+ List getPppoePasswordByLogicId(@Param("userSnNo") String userSnNo, @Param("serviceName") String serviceName);
+}
diff --git a/src/main/java/com/bellmann/model/bo/OrderServiceArgsBO.java b/src/main/java/com/bellmann/model/bo/OrderServiceArgsBO.java
new file mode 100644
index 0000000..5daaa3f
--- /dev/null
+++ b/src/main/java/com/bellmann/model/bo/OrderServiceArgsBO.java
@@ -0,0 +1,11 @@
+package com.bellmann.model.bo;
+
+import lombok.Data;
+
+@Data
+public class OrderServiceArgsBO {
+
+ private String argsName;
+
+ private String argsValue;
+}
diff --git a/src/main/java/com/bellmann/model/bo/OrderTempBO.java b/src/main/java/com/bellmann/model/bo/OrderTempBO.java
new file mode 100644
index 0000000..002630b
--- /dev/null
+++ b/src/main/java/com/bellmann/model/bo/OrderTempBO.java
@@ -0,0 +1,32 @@
+package com.bellmann.model.bo;
+
+import lombok.Builder;
+import lombok.Data;
+
+@Data
+@Builder
+public class OrderTempBO {
+ private String remark3;
+
+ private String domainDesc;
+
+ private String operateRemark;
+
+ private String orderServiceType;
+
+ private String receiveOrderId;
+
+ private Integer customerKind;
+
+ private String pppoe;
+
+ private String customerNameNew;
+
+ private String customerAddrNew;
+
+ private String userSnNo;
+
+ private String contactPersonNew;
+
+ private String orderArrays;
+}
diff --git a/src/main/java/com/bellmann/model/entity/CustomTask.java b/src/main/java/com/bellmann/model/entity/CustomTask.java
new file mode 100644
index 0000000..689485f
--- /dev/null
+++ b/src/main/java/com/bellmann/model/entity/CustomTask.java
@@ -0,0 +1,45 @@
+package com.bellmann.model.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+
+/**
+ *
+ * 自定义任务定制
+ *
+ *
+ * @author 李小林
+ * @since 2024-07-19
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("custom_task")
+public class CustomTask implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @TableId(value = "task_id", type = IdType.AUTO)
+ private Integer taskId;
+
+ /**
+ * 自定义任务名称
+ */
+ private String customTaskName;
+
+ /**
+ * 操作组件名称
+ */
+ private String operationName;
+
+ /**
+ * 参数,用逗号分隔
+ */
+ private String parameters;
+
+
+}
diff --git a/src/main/java/com/bellmann/model/entity/OrderMerger.java b/src/main/java/com/bellmann/model/entity/OrderMerger.java
new file mode 100644
index 0000000..4f0ba67
--- /dev/null
+++ b/src/main/java/com/bellmann/model/entity/OrderMerger.java
@@ -0,0 +1,98 @@
+package com.bellmann.model.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ *
+ *
+ *
+ *
+ * @author 李小林
+ * @since 2024-07-24
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("itms_order_merger")
+public class OrderMerger implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ private Long orderId;
+
+ private String receivedOrderId;
+
+ private String receivedOrderLhs;
+
+ private Date orderDate;
+
+ private String orderServiceType;
+
+ private String orderRemark;
+
+ private Date orderDeadline;
+
+ private String customerNameNew;
+
+ private String customerNameOld;
+
+ private String orderCustomerKind;
+
+ private Long systemDomain;
+
+ private Long corporationDomain;
+
+ private String adNo;
+
+ private String pppoeAccount;
+
+ private String contactPersonNew;
+
+ private String contactPersonOld;
+
+ private Date receivedDate;
+
+ private String orderStatus;
+
+ private Date orderDealDate;
+
+ private String orderDoneFlag;
+
+ private Date orderDoneDate;
+
+ private String dummyFlag;
+
+ private String remark;
+
+ private String devSnoOui;
+
+ private String pppoePassword;
+
+ private String customerAddrNew;
+
+ private String customerAddrOld;
+
+ private String flowType;
+
+ private String userSnNo;
+
+ private String userSnKey;
+
+ private String uniqueUserId;
+
+ private String operRemark;
+
+ private String remark1;
+
+ private String remark2;
+
+ private String remark3;
+
+ private Long lifetime;
+
+
+}
diff --git a/src/main/java/com/bellmann/model/entity/OrderMergerService.java b/src/main/java/com/bellmann/model/entity/OrderMergerService.java
new file mode 100644
index 0000000..e8acc78
--- /dev/null
+++ b/src/main/java/com/bellmann/model/entity/OrderMergerService.java
@@ -0,0 +1,39 @@
+package com.bellmann.model.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+
+/**
+ *
+ *
+ *
+ *
+ * @author 李小林
+ * @since 2024-07-24
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("itms_order_merger_service")
+public class OrderMergerService implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ private Long orderId;
+
+ private String service;
+
+ private Long serviceId;
+
+ private String serviceFlag;
+
+ private String argsName;
+
+ private String argsValueNew;
+
+ private String argsValueOld;
+
+
+}
diff --git a/src/main/java/com/bellmann/model/form/AddBroadbandForm.java b/src/main/java/com/bellmann/model/form/AddBroadbandForm.java
new file mode 100644
index 0000000..53d1f96
--- /dev/null
+++ b/src/main/java/com/bellmann/model/form/AddBroadbandForm.java
@@ -0,0 +1,54 @@
+package com.bellmann.model.form;
+
+import com.bellmann.model.bo.OrderServiceArgsBO;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+@Schema(description = "开通宽带上网表单")
+public class AddBroadbandForm {
+
+ private String receiveOrderId;
+
+ private String receiveOrderLhs;
+
+ private String operateRemark;
+
+ private String orderServiceType;
+
+ private String remark3;
+
+ private Long systemDomain;
+
+ private String adNo;
+
+ private String devSnoOui;
+
+ private String userSnNo;
+
+ private String pppoeAccount;
+
+ private String dummyFlag;
+
+ private Long corporation;
+
+ private String customerNameNew;
+
+ private String customerAddrNew;
+
+ private String contactPersonNew;
+
+ private String phone;
+
+ private String orderCustomerKind;
+
+ private String remark;
+
+ private String serviceName;
+
+ private String serviceFlag;
+
+ private List list;
+}
diff --git a/src/main/java/com/bellmann/model/vo/CustomTaskVO.java b/src/main/java/com/bellmann/model/vo/CustomTaskVO.java
new file mode 100644
index 0000000..0eca63f
--- /dev/null
+++ b/src/main/java/com/bellmann/model/vo/CustomTaskVO.java
@@ -0,0 +1,21 @@
+package com.bellmann.model.vo;
+
+import lombok.Data;
+
+
+@Data
+public class CustomTaskVO {
+
+ private Integer taskId;
+
+ /**
+ * 自定义任务名称
+ */
+ private String customTaskName;
+
+ /**
+ * 操作组件名称
+ */
+ private String operationName;
+
+}
diff --git a/src/main/java/com/bellmann/runner/ServiceManagerRunner.java b/src/main/java/com/bellmann/runner/ServiceManagerRunner.java
index 6ee6cbf..b84bbbc 100644
--- a/src/main/java/com/bellmann/runner/ServiceManagerRunner.java
+++ b/src/main/java/com/bellmann/runner/ServiceManagerRunner.java
@@ -9,8 +9,8 @@ import org.springframework.stereotype.Component;
@Component
@Order(value = 1)
@Log4j2
-public class ServiceManagerRunner implements ApplicationRunner {
+public class ServiceManagerRunner implements ApplicationRunner {
@Override
public void run(ApplicationArguments args) {
new Thread("ServiceManager") {
diff --git a/src/main/java/com/bellmann/runner/UIService.java b/src/main/java/com/bellmann/runner/UIService.java
index 2639d84..72822b6 100644
--- a/src/main/java/com/bellmann/runner/UIService.java
+++ b/src/main/java/com/bellmann/runner/UIService.java
@@ -10,9 +10,11 @@ import com.zznode.itms.api.OAMManager;
import lombok.Getter;
+
public class UIService extends ServiceManager {
static UIService service = null;
+ private static String nbiOrderUrl;
//任务超时的时间
@Getter
private static String task_timeOut;
@@ -33,6 +35,7 @@ public class UIService extends ServiceManager {
NBIManager.init(getStringValueByName("Service.Name.NBI"));
InventoryManager.init(getStringValueByName("Service.Name.Inventory"));
OAMManager.init(getStringValueByName("Service.Name.OAM"));
+ nbiOrderUrl = getStringValueByName("nbiOrderUrl");
return true;
}
@@ -45,5 +48,7 @@ public class UIService extends ServiceManager {
service = new UIService(arg);
return service;
}
-
+ public static String getNbiOrderUrl() {
+ return nbiOrderUrl;
+ }
}
diff --git a/src/main/java/com/bellmann/service/BroadbandService.java b/src/main/java/com/bellmann/service/BroadbandService.java
new file mode 100644
index 0000000..13cfad8
--- /dev/null
+++ b/src/main/java/com/bellmann/service/BroadbandService.java
@@ -0,0 +1,10 @@
+package com.bellmann.service;
+
+import com.bellmann.common.result.Result;
+import com.bellmann.model.form.AddBroadbandForm;
+
+public interface BroadbandService {
+ Result addBroadband(AddBroadbandForm form);
+
+ Result updateBroadbandMode(AddBroadbandForm form);
+}
diff --git a/src/main/java/com/bellmann/service/CustomTaskService.java b/src/main/java/com/bellmann/service/CustomTaskService.java
new file mode 100644
index 0000000..6578cd8
--- /dev/null
+++ b/src/main/java/com/bellmann/service/CustomTaskService.java
@@ -0,0 +1,18 @@
+package com.bellmann.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.bellmann.model.query.SelectQuery;
+import com.bellmann.model.vo.CustomTaskVO;
+
+/**
+ *
+ * 自定义任务定制 服务类
+ *
+ *
+ * @author 李小林
+ * @since 2024-07-19
+ */
+public interface CustomTaskService {
+
+ Page tablePage(SelectQuery query);
+}
diff --git a/src/main/java/com/bellmann/service/DeviceStaticService.java b/src/main/java/com/bellmann/service/DeviceStaticService.java
index 2308533..ecdb83d 100644
--- a/src/main/java/com/bellmann/service/DeviceStaticService.java
+++ b/src/main/java/com/bellmann/service/DeviceStaticService.java
@@ -62,4 +62,5 @@ public interface DeviceStaticService {
Long setAccountPassword(Long devId);
+ void exeCustomTaskByIds(Long devId, Integer[] ids);
}
diff --git a/src/main/java/com/bellmann/service/OrderMergerService.java b/src/main/java/com/bellmann/service/OrderMergerService.java
new file mode 100644
index 0000000..f2ca2b3
--- /dev/null
+++ b/src/main/java/com/bellmann/service/OrderMergerService.java
@@ -0,0 +1,13 @@
+package com.bellmann.service;
+
+/**
+ *
+ * 服务类
+ *
+ *
+ * @author 李小林
+ * @since 2024-07-24
+ */
+public interface OrderMergerService{
+
+}
diff --git a/src/main/java/com/bellmann/service/OrderMergerServiceService.java b/src/main/java/com/bellmann/service/OrderMergerServiceService.java
new file mode 100644
index 0000000..2a43bac
--- /dev/null
+++ b/src/main/java/com/bellmann/service/OrderMergerServiceService.java
@@ -0,0 +1,13 @@
+package com.bellmann.service;
+
+/**
+ *
+ * 服务类
+ *
+ *
+ * @author 李小林
+ * @since 2024-07-24
+ */
+public interface OrderMergerServiceService {
+
+}
diff --git a/src/main/java/com/bellmann/service/impl/BroadbandServiceImpl.java b/src/main/java/com/bellmann/service/impl/BroadbandServiceImpl.java
new file mode 100644
index 0000000..f08fafe
--- /dev/null
+++ b/src/main/java/com/bellmann/service/impl/BroadbandServiceImpl.java
@@ -0,0 +1,225 @@
+package com.bellmann.service.impl;
+
+import cn.hutool.http.HttpStatus;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.bellmann.common.constant.StringUtilsConstants;
+import com.bellmann.common.exception.BusinessException;
+import com.bellmann.common.result.Result;
+import com.bellmann.common.result.ResultCode;
+import com.bellmann.common.util.CommonUtils;
+import com.bellmann.common.util.HttpClientResult;
+import com.bellmann.common.util.HttpClientUtil;
+import com.bellmann.common.util.OrderUtils;
+import com.bellmann.mapper.DomainMapper;
+import com.bellmann.mapper.OrderInfoMapper;
+import com.bellmann.mapper.OrderMergerMapper;
+import com.bellmann.mapper.OrderMergerServiceMapper;
+import com.bellmann.model.bo.OrderServiceArgsBO;
+import com.bellmann.model.bo.OrderTempBO;
+import com.bellmann.model.entity.Domain;
+import com.bellmann.model.entity.OrderMerger;
+import com.bellmann.model.entity.OrderMergerService;
+import com.bellmann.model.form.AddBroadbandForm;
+import com.bellmann.runner.UIService;
+import com.bellmann.service.BroadbandService;
+import com.zznode.itms.api.Utils;
+import com.zznode.itms.idl.order.*;
+import lombok.RequiredArgsConstructor;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.stereotype.Service;
+
+import java.util.*;
+
+@Service
+@RequiredArgsConstructor
+public class BroadbandServiceImpl implements BroadbandService {
+ private final OrderInfoMapper orderInfoMapper;
+
+ private final DomainMapper domainMapper;
+
+ private final OrderMergerServiceMapper orderMergerServiceMapper;
+
+ private final OrderMergerMapper orderMergerMapper;
+
+ @Override
+ public Result addBroadband(AddBroadbandForm form) {
+ OrderInfoStruct orderInfoStruct = new OrderInfoStruct();
+ orderInfoStruct.orderId = System.currentTimeMillis();
+ orderInfoStruct.receiveOrderId = form.getReceiveOrderId(); //v
+ orderInfoStruct.receiveOrderLhs = form.getReceiveOrderLhs();
+ orderInfoStruct.orderTime = (new Date()).getTime();
+ orderInfoStruct.orderServiceType = OrderType.from_int(Integer.parseInt(form.getOrderServiceType()));
+ orderInfoStruct.order_Status = OrderStatus.from_int(0);
+ orderInfoStruct.order_Remark = OrderRemark.from_int(0);
+ orderInfoStruct.orderReceiveDate = (new Date()).getTime();
+ String value = orderInfoMapper.getCustomerKindBySn(form.getUserSnNo());
+ if (StringUtils.isNotBlank(form.getUserSnNo())) {
+ orderInfoStruct.orderCustomerKind = CustomerType.from_int(Integer.parseInt(form.getOrderCustomerKind()));
+ } else if (StringUtils.isNotBlank(value)) {
+ orderInfoStruct.orderCustomerKind = CustomerType.from_int(Integer.parseInt(value));
+ } else {
+ throw new BusinessException(ResultCode.PLEASE_SELECT_A_CUSTOMER_TYPE);
+ }
+ orderInfoStruct.orderDone_Flag = OrderDoneFlag.from_int(1);
+ orderInfoStruct.dummy_Flag = DummyFlag.from_int(Integer.parseInt(form.getDummyFlag()));
+ orderInfoStruct.remark = CommonUtils.convertStringDefault(form.getRemark());//0
+ orderInfoStruct.flowType = "1"; //
+
+ orderInfoStruct.pppoePassword = "";
+ orderInfoStruct.customerNameNew = CommonUtils.convertStringDefault(form.getCustomerNameNew());
+
+ orderInfoStruct.customerNameOld = "";
+
+ orderInfoStruct.systemDomain = form.getSystemDomain();
+ if (form.getCorporation() == null) {
+ orderInfoStruct.corpoationDomain = 0;
+ } else {
+ orderInfoStruct.corpoationDomain = form.getCorporation();
+ }
+ orderInfoStruct.contactPersonNew = CommonUtils.convertStringDefault(form.getContactPersonNew());
+
+
+ orderInfoStruct.contactPersonOld = "";
+
+ orderInfoStruct.devOuiSno = Utils.convertStringNull(form.getDevSnoOui());
+ orderInfoStruct.customerAddrNew = CommonUtils.convertStringDefault(form.getCustomerAddrNew());
+
+ orderInfoStruct.customerAddrOld = "";
+ orderInfoStruct.uniqueUserId = form.getUserSnNo() + "^1600000000000";
+ orderInfoStruct.userSnNo = form.getUserSnNo();
+
+ orderInfoStruct.adNo = form.getUserSnNo();
+ orderInfoStruct.pppoeAcount = Utils.convertStringNull(form.getPppoeAccount());
+ orderInfoStruct.userSnKey = "";
+ orderInfoStruct.lifeTime = -999;
+ orderInfoStruct.operRemark = form.getOperateRemark();
+
+ orderInfoStruct.remark1 = "";
+ orderInfoStruct.remark2 = "";
+ orderInfoStruct.remark3 = Utils.convertStringNull(form.getRemark3());
+
+ orderInfoStruct.orderServiceList = tranceOrderInfo(form.getList(), form.getUserSnNo(), form.getServiceName(), form.getServiceFlag());
+
+ HttpClientResult result = sendHttpOrder(orderInfoStruct);
+ if (result.getCode()== HttpStatus.HTTP_OK){
+ return Result.success();
+ }
+ return Result.failed(result.getContent());
+ }
+
+ private HttpClientResult sendHttpOrder(OrderInfoStruct orderInfoStruct) {
+ Domain domain = domainMapper.selectOne(new LambdaQueryWrapper()
+ .eq(Domain::getGroupId, orderInfoStruct.systemDomain)
+ );
+ String xml = OrderUtils.orderInfoStructToXml(orderInfoStruct, domain.getDescription());
+ System.out.println(xml);
+ String orderUrl = UIService.getNbiOrderUrl();
+ Map header = new HashMap();
+ header.put("content-type", "application/json");
+ try {
+ return HttpClientUtil.doPost(orderUrl, header, xml, null);
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+
+ }
+ private OrderServiceStruct[] tranceOrderInfo(List argList, String userSnNo, String servName, String servFlag) {
+ List list = new ArrayList<>();
+ for (OrderServiceArgsBO args : argList) {
+ OrderServiceStruct order = new OrderServiceStruct();
+ order.orderServiceId = StringUtilsConstants.LONG_NULL;
+ order.orderId = StringUtilsConstants.LONG_NULL;
+ order.servName = Utils.convertStringNull(servName);
+ order.servFlag = Utils.convertStringNull(servFlag);
+ order.argsName = Utils.convertStringNull(args.getArgsName());
+ order.argsValueNew = Utils.convertStringNull(args.getArgsValue());
+ order.argsValueOld = "";
+ list.add(order);
+ }
+ OrderServiceStruct[] orderServices = new OrderServiceStruct[list.size()];
+ for (int i = 0; i < list.size(); i++) {
+ orderServices[i] = list.get(i);
+ }
+ return orderServices;
+ }
+
+ @Override
+ public Result updateBroadbandMode(AddBroadbandForm form) {
+ List list = orderMergerServiceMapper.getPppoePasswordByLogicId(form.getUserSnNo(),form.getServiceName());
+ if (list.isEmpty()){
+ throw new BusinessException(ResultCode.DATA_NOT_FOUND);
+ }
+ String mode = "";
+ for (OrderServiceArgsBO args: form.getList()){
+ if ("rg_mode".equalsIgnoreCase(args.getArgsName())){
+ mode = args.getArgsValue();
+ break;
+ }
+ }
+ String adAccount = "";
+ String adPassword = "";
+ String passRemark = "";
+ for (OrderMergerService mergerService: list){
+ if (mergerService.getArgsName().equalsIgnoreCase("ad_password")){
+ adPassword = mergerService.getArgsValueNew();
+ }else if (mergerService.getArgsName().equalsIgnoreCase("pass_remark")){
+ passRemark = mergerService.getArgsValueNew();
+ }else if (mergerService.getArgsName().equalsIgnoreCase("ad_account")){
+ adAccount = mergerService.getArgsValueNew();
+ }
+ }
+ String serviceArgs = "rg_mode=" + mode +
+ "^ad_account=" + adAccount +
+ "^ad_password=" + adPassword +
+ "^pass_remark=" + passRemark;;
+
+ Domain domain = domainMapper.selectOne(new LambdaQueryWrapper()
+ .eq(Domain::getGroupId, form.getSystemDomain())
+ );
+ OrderTempBO build = OrderTempBO
+ .builder()
+ .orderArrays(serviceArgs)
+ .pppoe(adAccount)
+ .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();
+
+ OrderMerger orderMerger = orderMergerMapper.selectOne(new QueryWrapper()
+ .eq("user_sn_no", form.getUserSnNo())
+ .select("order_customer_kind")
+ );
+ String orderCustomerKind = orderMerger.getOrderCustomerKind();
+ if (orderCustomerKind!=null){
+ build.setCustomerKind(Integer.valueOf(orderCustomerKind));
+ }
+ String xml = OrderUtils.formatOrderXml(build);
+ HttpClientResult result = sendOrderToStartNBI(xml);
+ if (result.getCode()== HttpStatus.HTTP_OK){
+ return Result.success();
+ }
+ return Result.failed(result.getContent());
+ }
+
+ private HttpClientResult sendOrderToStartNBI(String orderXml) {
+
+
+
+ String orderUrl = UIService.getNbiOrderUrl();
+
+ Map header = new HashMap();
+ header.put("content-type", "application/json");
+ try {
+ return HttpClientUtil.doPost(orderUrl, header,orderXml, null);
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+
+ }
+}
diff --git a/src/main/java/com/bellmann/service/impl/CustomTaskServiceImpl.java b/src/main/java/com/bellmann/service/impl/CustomTaskServiceImpl.java
new file mode 100644
index 0000000..22f7611
--- /dev/null
+++ b/src/main/java/com/bellmann/service/impl/CustomTaskServiceImpl.java
@@ -0,0 +1,32 @@
+package com.bellmann.service.impl;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.bellmann.mapper.CustomTaskMapper;
+import com.bellmann.model.query.SelectQuery;
+import com.bellmann.model.vo.CustomTaskVO;
+import com.bellmann.service.CustomTaskService;
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Service;
+
+/**
+ *
+ * 自定义任务定制 服务实现类
+ *
+ *
+ * @author 李小林
+ * @since 2024-07-19
+ */
+@RequiredArgsConstructor
+@Service
+public class CustomTaskServiceImpl implements CustomTaskService {
+
+ private final CustomTaskMapper customTaskMapper;
+ @Override
+ public Page tablePage(SelectQuery query) {
+ int pageNum = query.getPageNum();
+ int pageSize = query.getPageSize();
+ Page page = new Page<>(pageNum,pageSize);
+
+ return customTaskMapper.tablePage(page,query.getSelectName(),query.getSelectValue());
+ }
+}
diff --git a/src/main/java/com/bellmann/service/impl/DeviceStaticServiceImpl.java b/src/main/java/com/bellmann/service/impl/DeviceStaticServiceImpl.java
index d637511..e4edc06 100644
--- a/src/main/java/com/bellmann/service/impl/DeviceStaticServiceImpl.java
+++ b/src/main/java/com/bellmann/service/impl/DeviceStaticServiceImpl.java
@@ -41,6 +41,7 @@ import com.zznode.itms.idl.resourcedefinition.RDeviceDetailListHolder;
import com.zznode.itms.idl.resourcedefinition.RDeviceStaticStruct;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
@@ -97,6 +98,8 @@ public class DeviceStaticServiceImpl implements DeviceStaticService {
private final DeviceLogMapper deviceLogMapper;
+ private final CustomTaskMapper customTaskMapper;
+
@Override
public Page resourcePage(SelectQuery query) {
@@ -928,4 +931,60 @@ public class DeviceStaticServiceImpl implements DeviceStaticService {
return detailStructHolder;
}
+ @Override
+ public void exeCustomTaskByIds(Long devId, Integer[] ids) {
+ if (ids.length==0){
+ throw new BusinessException(ResultCode.IDS_IS_NULL);
+ }
+ for(Integer id: ids){
+ CustomTask customTask = customTaskMapper.selectOne(new LambdaQueryWrapper()
+ .eq(CustomTask::getTaskId, id)
+ );
+ if (customTask!=null){
+ modifyCustomNode(customTask,devId);
+ }
+ }
+ }
+ public void modifyCustomNode(CustomTask customTaskInfo, long devId) {
+ DOperTask2DetailStruct detailStruct = new DOperTask2DetailStruct();
+ DOperTask2Struct operTaskStruct = new DOperTask2Struct();
+ operTaskStruct.devId = devId;
+ operTaskStruct.operName = customTaskInfo.getOperationName();
+ operTaskStruct.operTaskCreateTime = (new Date()).getTime();
+ operTaskStruct.operTaskDesc = IBaseEnum.getLabelByValue(customTaskInfo.getOperationName(),RemoteOperateMsgEnum.class);
+ operTaskStruct.operTaskId = Utils.LONG_NULL;
+ operTaskStruct.userName = SecurityUtils.getUsername();
+ detailStruct.operTask = operTaskStruct;
+
+ DOperTaskArgsStruct[] argsStructs;
+ if (StringUtils.isNotEmpty(customTaskInfo.getParameters())) {
+ String[] parameters = customTaskInfo.getParameters().split(",");
+ argsStructs = new DOperTaskArgsStruct[parameters.length];
+ if (!parameters[0].equals("undefined")) {
+ String[] splitStr = new String[2];
+ for (int i = 0; i < parameters.length; i++) {
+ splitStr = parameters[i].split("=");
+ argsStructs[i] = new DOperTaskArgsStruct();
+ argsStructs[i].argsName = splitStr[0];
+ argsStructs[i].argsValue = splitStr[1];
+ argsStructs[i].operTaskId = Utils.LONG_NULL;
+
+ }
+ } else {
+ argsStructs = new DOperTaskArgsStruct[0];
+ }
+ } else {
+ argsStructs = new DOperTaskArgsStruct[0];
+ }
+
+ detailStruct.operTaskArgsList = argsStructs;
+
+ DOperTask2DetailStructHolder detailStructHolder = new DOperTask2DetailStructHolder(
+ detailStruct);
+ int result = OAMManager.sendDeviceOper2Task(detailStructHolder);
+ if (result != 0) {
+ throw new BusinessException(ResultCode.OAM_INTERFACE_ERROR);
+ }
+
+ }
}
diff --git a/src/main/java/com/bellmann/service/impl/FileOptionServiceImpl.java b/src/main/java/com/bellmann/service/impl/FileOptionServiceImpl.java
index 86ce8e1..3c1b15e 100644
--- a/src/main/java/com/bellmann/service/impl/FileOptionServiceImpl.java
+++ b/src/main/java/com/bellmann/service/impl/FileOptionServiceImpl.java
@@ -1,6 +1,7 @@
package com.bellmann.service.impl;
import com.bellmann.common.base.IBaseEnum;
+import com.bellmann.common.constant.SystemConstants;
import com.bellmann.common.enums.FileUrlEnum;
import com.bellmann.common.exception.BusinessException;
import com.bellmann.common.result.ResultCode;
@@ -28,6 +29,7 @@ public class FileOptionServiceImpl implements FileOptionService {
private final FileRecordService fileRecordService;
+
@Override
public String upload(MultipartFile file, HttpServletResponse response, String fileType) {
//获取FTP用户名、密码、端口...
@@ -66,7 +68,7 @@ public class FileOptionServiceImpl implements FileOptionService {
throw new BusinessException(ResultCode.FILE_NOT_EXIST);
}
String fileName = fileRecord.getFileName();
- String fullPath = fileServer.getFtpRootDir()+fileRecord.getFileUrl();
+ String fullPath = SystemConstants.HOME+fileServer.getFtpUserName()+"/"+ fileServer.getFtpRootDir()+fileRecord.getFileUrl();
FTPUtils.download(fileServer,fileName,fullPath,response);
}
@@ -82,7 +84,7 @@ public class FileOptionServiceImpl implements FileOptionService {
throw new BusinessException(ResultCode.FILE_NOT_EXIST);
}
String fileName = fileRecord.getFileName();
- String fullPath = fileServer.getFtpRootDir()+fileRecord.getFileUrl();
+ String fullPath = SystemConstants.HOME+fileServer.getFtpUserName()+"/"+fileServer.getFtpRootDir()+fileRecord.getFileUrl();
return FTPUtils.download(fileServer,fileName,fullPath);
}
@@ -103,7 +105,7 @@ public class FileOptionServiceImpl implements FileOptionService {
if (fileServer == null) {
throw new BusinessException(ResultCode.FILE_SERVER_IS_NULL);
}
- String fullPath = fileServer.getFtpRootDir()+fileUrl;
+ String fullPath = SystemConstants.HOME+fileServer.getFtpUserName()+"/"+fileServer.getFtpRootDir()+fileUrl;
return FTPUtils.removeFile(fileServer,fullPath,fileName);
}
@@ -126,7 +128,7 @@ public class FileOptionServiceImpl implements FileOptionService {
//文件存放地址
//文件在FTP服务器所在文件夹目录
String dirPath = String.format(IBaseEnum.getLabelByValue(fileType,FileUrlEnum.class),fileType)+System.currentTimeMillis()/1000;
- String fullPath = fileServer.getFtpRootDir() +dirPath;
+ String fullPath = SystemConstants.HOME+fileServer.getFtpUserName()+"/"+fileServer.getFtpRootDir() +dirPath;
log.info("dirPath:{}",dirPath);
try(InputStream in = file.getInputStream()) {
boolean upload = FTPUtils.upload(fileServer, newFileName, fullPath, in);
diff --git a/src/main/java/com/bellmann/service/impl/OrderMergerServiceImpl.java b/src/main/java/com/bellmann/service/impl/OrderMergerServiceImpl.java
new file mode 100644
index 0000000..713b59e
--- /dev/null
+++ b/src/main/java/com/bellmann/service/impl/OrderMergerServiceImpl.java
@@ -0,0 +1,17 @@
+package com.bellmann.service.impl;
+
+import com.bellmann.service.OrderMergerService;
+import org.springframework.stereotype.Service;
+
+/**
+ *
+ * 服务实现类
+ *
+ *
+ * @author 李小林
+ * @since 2024-07-24
+ */
+@Service
+public class OrderMergerServiceImpl implements OrderMergerService {
+
+}
diff --git a/src/main/java/com/bellmann/service/impl/OrderMergerServiceServiceImpl.java b/src/main/java/com/bellmann/service/impl/OrderMergerServiceServiceImpl.java
new file mode 100644
index 0000000..ecac4ec
--- /dev/null
+++ b/src/main/java/com/bellmann/service/impl/OrderMergerServiceServiceImpl.java
@@ -0,0 +1,17 @@
+package com.bellmann.service.impl;
+
+import com.bellmann.service.OrderMergerServiceService;
+import org.springframework.stereotype.Service;
+
+/**
+ *
+ * 服务实现类
+ *
+ *
+ * @author 李小林
+ * @since 2024-07-24
+ */
+@Service
+public class OrderMergerServiceServiceImpl implements OrderMergerServiceService {
+
+}
diff --git a/src/main/resources/mapper/CustomTaskMapper.xml b/src/main/resources/mapper/CustomTaskMapper.xml
new file mode 100644
index 0000000..1c8ea75
--- /dev/null
+++ b/src/main/resources/mapper/CustomTaskMapper.xml
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ task_id, custom_task_name, operation_name, parameters
+
+
+
diff --git a/src/main/resources/mapper/OrderInfoMapper.xml b/src/main/resources/mapper/OrderInfoMapper.xml
index 8592d69..1dfd4b8 100644
--- a/src/main/resources/mapper/OrderInfoMapper.xml
+++ b/src/main/resources/mapper/OrderInfoMapper.xml
@@ -165,4 +165,7 @@
and aa.ad_no = #{devAdNo}
+
diff --git a/src/main/resources/mapper/OrderMergerMapper.xml b/src/main/resources/mapper/OrderMergerMapper.xml
new file mode 100644
index 0000000..566c792
--- /dev/null
+++ b/src/main/resources/mapper/OrderMergerMapper.xml
@@ -0,0 +1,50 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ order_id, received_order_id, received_order_lhs, order_date, order_service_type, order_remark, order_deadline, customer_name_new, customer_name_old, order_customer_kind, system_domain, corporation_domain, ad_no, pppoe_account, contact_person_new, contact_person_old, received_date, order_status, order_deal_date, order_done_flag, order_done_date, dummy_flag, remark, dev_sno_oui, pppoe_password, customer_addr_new, customer_addr_old, flow_type, user_sn_no, user_sn_key, unique_user_id, oper_remark, remark1, remark2, remark3, lifetime
+
+
+
diff --git a/src/main/resources/mapper/OrderMergerServiceMapper.xml b/src/main/resources/mapper/OrderMergerServiceMapper.xml
new file mode 100644
index 0000000..fa0f554
--- /dev/null
+++ b/src/main/resources/mapper/OrderMergerServiceMapper.xml
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ order_id, service, service_id, service_flag, args_name, args_value_new, args_value_old
+
+
+
+