diff --git a/src/main/java/com/bellmann/common/result/ResultCode.java b/src/main/java/com/bellmann/common/result/ResultCode.java index f59241a..f90841c 100644 --- a/src/main/java/com/bellmann/common/result/ResultCode.java +++ b/src/main/java/com/bellmann/common/result/ResultCode.java @@ -127,7 +127,10 @@ public enum ResultCode implements IResultCode, Serializable { PLEASE_SELECT_A_CUSTOMER_TYPE("F0036","请选择客户类型!"), NUll_ERROR("F0037", "未查询到相关数据"), TASK_EXE_FAIL("F0038", "任务执行失败"), - THE_DEVICE_IS_NOT_ONLINE("F0039","设备不在线"); + THE_DEVICE_IS_NOT_ONLINE("F0039","设备不在线"), + ADD_DEVICE_TYPE_FAIL("F0040","新增设备类型失败" ), + THE_SUPPLIER_OUI_CANNOT_BE_MODIFIED("F0041","该供应商OUI不能修改" ), + THE_VENDOR_OUI_ALREADY_EXISTS("F0042","该供应商OUI已存在" ); @Override public String getCode() { diff --git a/src/main/java/com/bellmann/controller/DeviceTypeController.java b/src/main/java/com/bellmann/controller/DeviceTypeController.java index e0071b2..8f1287d 100644 --- a/src/main/java/com/bellmann/controller/DeviceTypeController.java +++ b/src/main/java/com/bellmann/controller/DeviceTypeController.java @@ -5,6 +5,7 @@ import com.bellmann.common.base.BasePageQuery; import com.bellmann.common.model.Option; import com.bellmann.common.result.PageResult; import com.bellmann.common.result.Result; +import com.bellmann.model.form.DeviceTypeForm; import com.bellmann.model.query.DeviceTypeQuery; import com.bellmann.model.query.Tr069BindingPageQuery; import com.bellmann.model.vo.DeviceTypePageVO; @@ -87,5 +88,10 @@ public class DeviceTypeController { Page page = deviceTypeService.serviceBindingDevTypePage(query,servId); return PageResult.success(page); } - + @PostMapping("/add-device-type") + @Operation(summary = "新增设备类型") + public Result addDeviceType(@RequestBody DeviceTypeForm form){ + deviceTypeService.addDeviceType(form); + return Result.success(); + } } diff --git a/src/main/java/com/bellmann/model/form/DeviceTypeForm.java b/src/main/java/com/bellmann/model/form/DeviceTypeForm.java new file mode 100644 index 0000000..2faa57a --- /dev/null +++ b/src/main/java/com/bellmann/model/form/DeviceTypeForm.java @@ -0,0 +1,21 @@ +package com.bellmann.model.form; + +import lombok.Data; + + +@Data +public class DeviceTypeForm { + + private String devVendorName; + + private String devVendorOui; + + private String devTypeName; + + private String devHardVer; + + private String devTypeDesc; + + private Long devTypeId; + +} diff --git a/src/main/java/com/bellmann/model/vo/OrderInfoTableVO.java b/src/main/java/com/bellmann/model/vo/OrderInfoTableVO.java index 1c434c3..d81abe8 100644 --- a/src/main/java/com/bellmann/model/vo/OrderInfoTableVO.java +++ b/src/main/java/com/bellmann/model/vo/OrderInfoTableVO.java @@ -42,6 +42,8 @@ public class OrderInfoTableVO { private String remark3; @JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss") + private LocalDateTime orderDealDate; + @JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss") private LocalDateTime receivedDate; @JsonIgnore diff --git a/src/main/java/com/bellmann/model/vo/OrderInfoVO.java b/src/main/java/com/bellmann/model/vo/OrderInfoVO.java index c1b0093..a973f40 100644 --- a/src/main/java/com/bellmann/model/vo/OrderInfoVO.java +++ b/src/main/java/com/bellmann/model/vo/OrderInfoVO.java @@ -23,7 +23,7 @@ public class OrderInfoVO { @JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss") private LocalDateTime orderDate; @JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss") - private LocalDateTime receiveDate; + private LocalDateTime receivedDate; @JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss") private LocalDateTime orderDealDate; @JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss") diff --git a/src/main/java/com/bellmann/service/DeviceTypeService.java b/src/main/java/com/bellmann/service/DeviceTypeService.java index 961b674..cc0007b 100644 --- a/src/main/java/com/bellmann/service/DeviceTypeService.java +++ b/src/main/java/com/bellmann/service/DeviceTypeService.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.bellmann.common.base.BasePageQuery; import com.bellmann.common.model.Option; import com.bellmann.common.result.Result; +import com.bellmann.model.form.DeviceTypeForm; import com.bellmann.model.query.DeviceTypeQuery; import com.bellmann.model.query.Tr069BindingPageQuery; import com.bellmann.model.vo.DeviceTypePageVO; @@ -31,4 +32,6 @@ public interface DeviceTypeService { Page tr069BindingPage(Tr069BindingPageQuery query); Page serviceBindingDevTypePage(BasePageQuery query, Long servId); + + void addDeviceType(DeviceTypeForm form); } diff --git a/src/main/java/com/bellmann/service/impl/DeviceStaticServiceImpl.java b/src/main/java/com/bellmann/service/impl/DeviceStaticServiceImpl.java index f8d80b1..5378a64 100644 --- a/src/main/java/com/bellmann/service/impl/DeviceStaticServiceImpl.java +++ b/src/main/java/com/bellmann/service/impl/DeviceStaticServiceImpl.java @@ -1288,7 +1288,8 @@ public class DeviceStaticServiceImpl implements DeviceStaticService { private static OptionTree getOptionTree(OperateResultArgs struct) { String str = struct.getArgsName(); OptionTree option = new OptionTree<>(); - option.setChildNode(str.charAt(str.trim().length() - 1) == '.'); + boolean childNode = String.valueOf(str.charAt(str.trim().length() - 1)).equals("."); + option.setChildNode(childNode); option.setNodePath(str); String[] total = str.trim().split("\\."); String lastLabel = total[total.length - 1]; @@ -1483,7 +1484,7 @@ public class DeviceStaticServiceImpl implements DeviceStaticService { @Override public boolean taskIsSuccess(Long taskId) { int attempt = 0; - while (attempt < 5) { + while (attempt < 10) { OperateResult2 operateResult2 = operateResult2Mapper.selectOne( new QueryWrapper() .eq("oper_task_id", taskId) diff --git a/src/main/java/com/bellmann/service/impl/DeviceTypeServiceImpl.java b/src/main/java/com/bellmann/service/impl/DeviceTypeServiceImpl.java index a842c42..c93e75c 100644 --- a/src/main/java/com/bellmann/service/impl/DeviceTypeServiceImpl.java +++ b/src/main/java/com/bellmann/service/impl/DeviceTypeServiceImpl.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.bellmann.common.base.BasePageQuery; import com.bellmann.common.base.IBaseEnum; import com.bellmann.common.enums.DevTypeVerStatusEnum; +import com.bellmann.common.exception.BusinessException; import com.bellmann.common.model.Option; import com.bellmann.common.result.Result; import com.bellmann.common.result.ResultCode; @@ -14,6 +15,7 @@ import com.bellmann.mapper.DeviceTypeVerMapper; import com.bellmann.model.bo.DeviceTypePageBO; import com.bellmann.model.entity.DeviceType; import com.bellmann.model.entity.DeviceTypeVer; +import com.bellmann.model.form.DeviceTypeForm; import com.bellmann.model.query.DeviceTypeQuery; import com.bellmann.model.query.Tr069BindingPageQuery; import com.bellmann.model.vo.DeviceTypePageVO; @@ -21,6 +23,10 @@ import com.bellmann.model.vo.DeviceTypeVO; import com.bellmann.model.vo.Tr069BindingVO; import com.bellmann.security.util.SecurityUtils; import com.bellmann.service.DeviceTypeService; +import com.zznode.itms.api.InventoryManager; +import com.zznode.itms.idl.resourcedefinition.RDevTypeStruct; +import com.zznode.itms.idl.resourcedefinition.RDevTypeStructHolder; +import com.zznode.itms.idl.resourcedefinition.RStringListHolder; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -165,4 +171,44 @@ public class DeviceTypeServiceImpl implements DeviceTypeService { tr069BindingVOPage.setRecords(collect); return tr069BindingVOPage; } + + @Override + public void addDeviceType(DeviceTypeForm form) { + RDevTypeStruct rDevTypeStruct = new RDevTypeStruct(); + rDevTypeStruct.devTypeName = form.getDevTypeName(); + rDevTypeStruct.devVendorName = form.getDevVendorName(); + String sql = "SELECT DEV_VENDOR_OUI FROM ITMS_DEVICE_TYPE WHERE 1=1 AND DEV_VENDOR_NAME =" + "'" + form.getDevVendorName() + "' "; + RStringListHolder queryHolder = new RStringListHolder(); + int result = InventoryManager.getDistinctStrings(sql, queryHolder); + if (result != 0){ + throw new BusinessException(ResultCode.DATA_NOT_FOUND); + } + if(queryHolder.value.length>0&&queryHolder.value[0].equals(form.getDevVendorOui())){ + rDevTypeStruct.devVendorOUI = form.getDevVendorOui(); + }else if(queryHolder.value.length>0&&(!queryHolder.value[0].equals(form.getDevVendorOui()))){ + throw new BusinessException(ResultCode.THE_SUPPLIER_OUI_CANNOT_BE_MODIFIED); + }else { + if(form.getDevVendorOui().isEmpty()){ + String sql2 = "SELECT DEV_VENDOR_OUI FROM ITMS_DEVICE_TYPE WHERE 1=1 AND DEV_VENDOR_OUI=" + "'" + form.getDevVendorOui() + "'"; + RStringListHolder queryHolder2 = new RStringListHolder(); + result = InventoryManager.getDistinctStrings(sql2, queryHolder2); + if (result != 0){ + throw new BusinessException(ResultCode.DATA_NOT_FOUND); + } + if(queryHolder2.value.length>0){ + throw new BusinessException(ResultCode.THE_VENDOR_OUI_ALREADY_EXISTS); + } + rDevTypeStruct.devVendorOUI = form.getDevVendorOui(); + } + } + rDevTypeStruct.devHardVer = form.getDevHardVer(); + rDevTypeStruct.devTypeDesc = form.getDevTypeDesc(); + // 设备类型插入的时候报错,由于productType为null + rDevTypeStruct.productType = ""; + RDevTypeStructHolder holder = new RDevTypeStructHolder(rDevTypeStruct); + int returnValue = InventoryManager.addDevType(holder); + if (returnValue != 0){ + throw new BusinessException(ResultCode.ADD_DEVICE_TYPE_FAIL); + } + } } diff --git a/src/main/resources/mapper/OrderInfoMapper.xml b/src/main/resources/mapper/OrderInfoMapper.xml index 5c5ca1d..602b18d 100644 --- a/src/main/resources/mapper/OrderInfoMapper.xml +++ b/src/main/resources/mapper/OrderInfoMapper.xml @@ -64,6 +64,7 @@ aa.system_domain, aa.remark3, aa.received_date, + aa.order_deal_date, aa.dev_sno_oui, aa.dummy_flag FROM