diff --git a/pom.xml b/pom.xml index 1a3abb9..7c0c368 100644 --- a/pom.xml +++ b/pom.xml @@ -173,6 +173,11 @@ ${mybatis-plus-generator.version} + + org.jsoup + jsoup + 1.17.2 + org.apache.velocity velocity-engine-core diff --git a/src/main/java/com/bellmann/common/enums/OperateTaskStateEnum.java b/src/main/java/com/bellmann/common/enums/OperateTaskStateEnum.java new file mode 100644 index 0000000..6f437b8 --- /dev/null +++ b/src/main/java/com/bellmann/common/enums/OperateTaskStateEnum.java @@ -0,0 +1,25 @@ +package com.bellmann.common.enums; + +import com.bellmann.common.base.IBaseEnum; +import lombok.Getter; + +public enum OperateTaskStateEnum implements IBaseEnum { + + NOT_EXECUTED("0","未执行"), + EXECUTION_FAILED("1","执行失败"), + THE_EXECUTION_WAS_SUCCESSFUL("2","执行成功"), + THE_DEVICE_IS_NOT_ONLINE("3","设备不在线"), + ONGOING("4","进行中"), + ; + + @Getter + private String value; + + @Getter + private String label; + + OperateTaskStateEnum(String value, String label){ + this.label = label; + this.value = value; + } +} diff --git a/src/main/java/com/bellmann/common/util/CommonUtils.java b/src/main/java/com/bellmann/common/util/CommonUtils.java index bb0f050..b2aca62 100644 --- a/src/main/java/com/bellmann/common/util/CommonUtils.java +++ b/src/main/java/com/bellmann/common/util/CommonUtils.java @@ -1,8 +1,11 @@ package com.bellmann.common.util; import java.util.Random; +import java.util.regex.Matcher; +import java.util.regex.Pattern; public class CommonUtils { + private static final String HTML_TAG_PATTERN = "<(\"[^\"]*\"|'[^']*'|[^'\">])*>"; public static String getRandomString(int length) { //length表示生成字符串的长度 String base = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; @@ -14,4 +17,12 @@ public class CommonUtils { } return "12$"+sb.toString(); } + public static boolean containsHtmlTag(String input) { + // 编译正则表达式 + Pattern pattern = Pattern.compile(HTML_TAG_PATTERN); + // 创建匹配器 + Matcher matcher = pattern.matcher(input); + // 判断是否找到匹配 + return matcher.find(); + } } diff --git a/src/main/java/com/bellmann/controller/DeviceLogController.java b/src/main/java/com/bellmann/controller/DeviceLogController.java new file mode 100644 index 0000000..3b831a4 --- /dev/null +++ b/src/main/java/com/bellmann/controller/DeviceLogController.java @@ -0,0 +1,36 @@ +package com.bellmann.controller; + + +import com.bellmann.common.base.BasePageQuery; +import com.bellmann.common.result.PageResult; +import com.bellmann.model.vo.DeviceLogVO; +import com.bellmann.service.DeviceLogService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.*; + +/** + *

+ * 前端控制器 + *

+ * + * @author 李小林 + * @since 2024-07-05 + */ +@Tag(name = "24.设备操作日志") +@RestController +@RequiredArgsConstructor +@RequestMapping("/api/device-log/v1") +public class DeviceLogController { + + private final DeviceLogService deviceLogService; + + + @PostMapping("/page/{devId}") + @Operation(summary = "设备操作日志-page") + public PageResult page(@RequestBody BasePageQuery query, @PathVariable Long devId){ + return deviceLogService.page(query,devId); + } +} + diff --git a/src/main/java/com/bellmann/controller/DeviceStaticController.java b/src/main/java/com/bellmann/controller/DeviceStaticController.java index fc9b501..0dc9a4e 100644 --- a/src/main/java/com/bellmann/controller/DeviceStaticController.java +++ b/src/main/java/com/bellmann/controller/DeviceStaticController.java @@ -102,9 +102,14 @@ public class DeviceStaticController { } @PostMapping("remote/unbinding") - @Operation(summary = "远程操作-设备信息") + @Operation(summary = "远程操作-解绑LogicID") public Result unbindingLogicId(@RequestBody UnBindingForm form){ return deviceStaticService.unbindingLogicId(form); } + @DeleteMapping("remote/delete-profile/{devId}/{fileId}") + @Operation(summary = "远程操作-删除私有厂商配置文件") + public Result deleteProfile(@PathVariable Long devId, @PathVariable Long fileId){ + return deviceStaticService.deleteProfile(devId,fileId); + } } diff --git a/src/main/java/com/bellmann/controller/FileRecordController.java b/src/main/java/com/bellmann/controller/FileRecordController.java index 0e69b32..25fe426 100644 --- a/src/main/java/com/bellmann/controller/FileRecordController.java +++ b/src/main/java/com/bellmann/controller/FileRecordController.java @@ -2,6 +2,7 @@ package com.bellmann.controller; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.bellmann.common.base.BasePageQuery; import com.bellmann.common.result.PageResult; import com.bellmann.common.result.Result; import com.bellmann.model.form.FileRecordForm; @@ -12,11 +13,7 @@ import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; - -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; /** *

@@ -49,5 +46,12 @@ public class FileRecordController { Long result = fileRecordService.addFileRecord(form); return Result.success(result); } + + @PostMapping("remote/profile-page/{fileType}/{devId}") + @Operation(summary = "远程操作-私有配置文件分页") + public PageResult profilePage(@RequestBody BasePageQuery query, @PathVariable String fileType, @PathVariable Long devId){ + Page result = fileRecordService.profilePage(query,devId,fileType); + return PageResult.success(result); + } } diff --git a/src/main/java/com/bellmann/controller/OperateResult2Controller.java b/src/main/java/com/bellmann/controller/OperateResult2Controller.java new file mode 100644 index 0000000..808fb1f --- /dev/null +++ b/src/main/java/com/bellmann/controller/OperateResult2Controller.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-03 + */ +@RestController +@RequestMapping("/operateResult2") +public class OperateResult2Controller { + +} + diff --git a/src/main/java/com/bellmann/controller/OperateTask2Controller.java b/src/main/java/com/bellmann/controller/OperateTask2Controller.java new file mode 100644 index 0000000..14bb1f5 --- /dev/null +++ b/src/main/java/com/bellmann/controller/OperateTask2Controller.java @@ -0,0 +1,36 @@ +package com.bellmann.controller; + + +import com.bellmann.common.base.BasePageQuery; +import com.bellmann.common.result.PageResult; +import com.bellmann.model.vo.OperateTask2TableVO; +import com.bellmann.service.OperateTask2Service; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.*; + +/** + *

+ * 前端控制器 + *

+ * + * @author 李小林 + * @since 2024-07-03 + */ +@Tag(name = "23.设备任务列表") +@RestController +@RequiredArgsConstructor +@RequestMapping("/api/operate-task2/v1") +public class OperateTask2Controller { + + private final OperateTask2Service operateTask2Service; + + @PostMapping("/page/{devId}") + @Operation(summary = "设备任务列表-page") + public PageResult page(@PathVariable Long devId, @RequestBody BasePageQuery query){ + return operateTask2Service.page(devId,query); + } + +} + diff --git a/src/main/java/com/bellmann/converter/OperateTask2Converter.java b/src/main/java/com/bellmann/converter/OperateTask2Converter.java new file mode 100644 index 0000000..24312c2 --- /dev/null +++ b/src/main/java/com/bellmann/converter/OperateTask2Converter.java @@ -0,0 +1,18 @@ +package com.bellmann.converter; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.bellmann.model.bo.OperateTask2TableBO; +import com.bellmann.model.vo.OperateTask2TableVO; +import org.mapstruct.Mapper; +import org.mapstruct.Mapping; +import org.mapstruct.Mappings; + + +@Mapper(componentModel = "spring") +public interface OperateTask2Converter { + @Mappings({ + @Mapping(target = "resultState", expression = "java(com.bellmann.common.base.IBaseEnum.getLabelByValue(bo.getResultState(), com.bellmann.common.enums.OperateTaskStateEnum.class))"), + }) + OperateTask2TableVO pageBo2PageVo(OperateTask2TableBO bo); + Page pageBo2PageVo(Page boPage); +} diff --git a/src/main/java/com/bellmann/mapper/DeviceLogMapper.java b/src/main/java/com/bellmann/mapper/DeviceLogMapper.java new file mode 100644 index 0000000..539c454 --- /dev/null +++ b/src/main/java/com/bellmann/mapper/DeviceLogMapper.java @@ -0,0 +1,18 @@ +package com.bellmann.mapper; + +import com.bellmann.model.entity.DeviceLog; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * Mapper 接口 + *

+ * + * @author 李小林 + * @since 2024-07-05 + */ +@Mapper +public interface DeviceLogMapper extends BaseMapper { + +} diff --git a/src/main/java/com/bellmann/mapper/DeviceStaticMapper.java b/src/main/java/com/bellmann/mapper/DeviceStaticMapper.java index b4115bb..ead4e67 100644 --- a/src/main/java/com/bellmann/mapper/DeviceStaticMapper.java +++ b/src/main/java/com/bellmann/mapper/DeviceStaticMapper.java @@ -2,6 +2,7 @@ package com.bellmann.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.bellmann.model.bo.DevOnlineStatus; import com.bellmann.model.bo.DeviceDetailBO; import com.bellmann.model.bo.EquipmentBO; import com.bellmann.model.bo.RemoteEquipmentBO; @@ -26,4 +27,7 @@ public interface DeviceStaticMapper extends BaseMapper { Page remotePage(Page page, @Param("column") String column, @Param("value") Object value); + DevOnlineStatus devOnlineStatusBySno(@Param("devSno") String devSno); + + DevOnlineStatus devOnlineStatusByPppoe(@Param("pppoe") String pppoe); } diff --git a/src/main/java/com/bellmann/mapper/FileRecordMapper.java b/src/main/java/com/bellmann/mapper/FileRecordMapper.java index 325d8b2..a96a653 100644 --- a/src/main/java/com/bellmann/mapper/FileRecordMapper.java +++ b/src/main/java/com/bellmann/mapper/FileRecordMapper.java @@ -1,6 +1,7 @@ package com.bellmann.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.bellmann.model.entity.FileRecord; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -21,4 +22,6 @@ public interface FileRecordMapper extends BaseMapper { List listVendorProfile(@Param("typeAndVerId") Long typeAndVerId, @Param("fileType") String fileType); FileRecord fileRecordJoinFileVerMap(@Param("typeAndVerId") Long typeAndVerId, @Param("fileType") String fileType); + + Page profilePage(Page page, @Param("devId") Long devId, @Param("fileType") String fileType); } diff --git a/src/main/java/com/bellmann/mapper/OperateResult2Mapper.java b/src/main/java/com/bellmann/mapper/OperateResult2Mapper.java new file mode 100644 index 0000000..feb25de --- /dev/null +++ b/src/main/java/com/bellmann/mapper/OperateResult2Mapper.java @@ -0,0 +1,18 @@ +package com.bellmann.mapper; + +import com.bellmann.model.entity.OperateResult2; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * Mapper 接口 + *

+ * + * @author 李小林 + * @since 2024-07-03 + */ +@Mapper +public interface OperateResult2Mapper extends BaseMapper { + +} diff --git a/src/main/java/com/bellmann/mapper/OperateTask2Mapper.java b/src/main/java/com/bellmann/mapper/OperateTask2Mapper.java new file mode 100644 index 0000000..4327654 --- /dev/null +++ b/src/main/java/com/bellmann/mapper/OperateTask2Mapper.java @@ -0,0 +1,21 @@ +package com.bellmann.mapper; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.bellmann.model.bo.OperateTask2TableBO; +import com.bellmann.model.entity.OperateTask2; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * Mapper 接口 + *

+ * + * @author 李小林 + * @since 2024-07-03 + */ +@Mapper +public interface OperateTask2Mapper extends BaseMapper { + + Page tablePage(Page page, Long devId); +} diff --git a/src/main/java/com/bellmann/model/bo/DevOnlineStatus.java b/src/main/java/com/bellmann/model/bo/DevOnlineStatus.java new file mode 100644 index 0000000..c58a87f --- /dev/null +++ b/src/main/java/com/bellmann/model/bo/DevOnlineStatus.java @@ -0,0 +1,13 @@ +package com.bellmann.model.bo; + +import lombok.Data; + +@Data +public class DevOnlineStatus { + + private String devOnline; + + private String devOnline1; + + +} diff --git a/src/main/java/com/bellmann/model/bo/OperateTask2TableBO.java b/src/main/java/com/bellmann/model/bo/OperateTask2TableBO.java new file mode 100644 index 0000000..f17b5b8 --- /dev/null +++ b/src/main/java/com/bellmann/model/bo/OperateTask2TableBO.java @@ -0,0 +1,26 @@ +package com.bellmann.model.bo; + +import lombok.Data; + +import java.util.Date; + +@Data +public class OperateTask2TableBO { + + + private Long operTaskId; + + private Long devId; + + private String userName; + + private String operTaskDesc; + + private String devAdNo; + + private Date operTaskCreateTime; + + private String resultState; + + +} diff --git a/src/main/java/com/bellmann/model/dto/ParamInfo.java b/src/main/java/com/bellmann/model/dto/ParamInfo.java new file mode 100644 index 0000000..699d8f3 --- /dev/null +++ b/src/main/java/com/bellmann/model/dto/ParamInfo.java @@ -0,0 +1,10 @@ +package com.bellmann.model.dto; + +import lombok.Data; + +@Data +public class ParamInfo { + private String parameterName; + private String actualValue; + private String remarks; +} diff --git a/src/main/java/com/bellmann/model/entity/DeviceLog.java b/src/main/java/com/bellmann/model/entity/DeviceLog.java new file mode 100644 index 0000000..62d43e5 --- /dev/null +++ b/src/main/java/com/bellmann/model/entity/DeviceLog.java @@ -0,0 +1,36 @@ +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; +import java.util.Date; + +/** + *

+ * + *

+ * + * @author 李小林 + * @since 2024-07-05 + */ +@Data +@TableName("itms_device_log") +@EqualsAndHashCode(callSuper = false) +public class DeviceLog implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value = "dev_id", type = IdType.AUTO) + private Long devId; + + private Date operTime; + + private String operDesc; + + private String operName; + +} diff --git a/src/main/java/com/bellmann/model/entity/OperateResult2.java b/src/main/java/com/bellmann/model/entity/OperateResult2.java new file mode 100644 index 0000000..5ebb87c --- /dev/null +++ b/src/main/java/com/bellmann/model/entity/OperateResult2.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; +import java.util.Date; + +/** + *

+ * + *

+ * + * @author 李小林 + * @since 2024-07-03 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("itms_oper_result_2") +public class OperateResult2 implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value = "oper_task_id", type = IdType.AUTO) + private Long operTaskId; + + private Long devId; + + private Date operStartTime; + + private Date operEndTime; + + private String actionName; + + private String errorCode; + + private String errorDesc; + + private String resultState; + + +} diff --git a/src/main/java/com/bellmann/model/entity/OperateTask2.java b/src/main/java/com/bellmann/model/entity/OperateTask2.java new file mode 100644 index 0000000..650a1c3 --- /dev/null +++ b/src/main/java/com/bellmann/model/entity/OperateTask2.java @@ -0,0 +1,41 @@ +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; +import java.util.Date; + +/** + *

+ * + *

+ * + * @author 李小林 + * @since 2024-07-03 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("itms_oper_task_2") +public class OperateTask2 implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value = "oper_task_id", type = IdType.AUTO) + private Long operTaskId; + + private Long devId; + + private String userName; + + private String operTaskDesc; + + private Date operTaskCreateTime; + + private String operName; + + +} diff --git a/src/main/java/com/bellmann/model/vo/DeviceLogVO.java b/src/main/java/com/bellmann/model/vo/DeviceLogVO.java new file mode 100644 index 0000000..650afe6 --- /dev/null +++ b/src/main/java/com/bellmann/model/vo/DeviceLogVO.java @@ -0,0 +1,24 @@ +package com.bellmann.model.vo; + +import com.bellmann.model.dto.ParamInfo; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.Date; +import java.util.List; + +@Data +@Schema(description = "设备操作日志视图") +public class DeviceLogVO { + + private Long devId; + @JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss") + private Date operTime; + + private String description; + + private String operName; + + private List paramInfoList; +} diff --git a/src/main/java/com/bellmann/model/vo/OperateTask2TableVO.java b/src/main/java/com/bellmann/model/vo/OperateTask2TableVO.java new file mode 100644 index 0000000..4e48195 --- /dev/null +++ b/src/main/java/com/bellmann/model/vo/OperateTask2TableVO.java @@ -0,0 +1,36 @@ +package com.bellmann.model.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.Date; + +/** + *

+ * + *

+ * + * @author 李小林 + * @since 2024-07-03 + */ +@Data +@Schema(description = "设备任务列表视图") +public class OperateTask2TableVO { + + private Long operTaskId; + + private Long devId; + + private String userName; + + private String operTaskDesc; + + private String devAdNo; + @JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss") + private Date operTaskCreateTime; + + private String resultState; + + +} diff --git a/src/main/java/com/bellmann/model/vo/OperateTask2VO.java b/src/main/java/com/bellmann/model/vo/OperateTask2VO.java new file mode 100644 index 0000000..200e792 --- /dev/null +++ b/src/main/java/com/bellmann/model/vo/OperateTask2VO.java @@ -0,0 +1,55 @@ +package com.bellmann.model.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonIgnore; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.Date; + +/** + *

+ * + *

+ * + * @author 李小林 + * @since 2024-07-03 + */ +@Data +@Schema(description = "设备任务列表详细信息视图") +public class OperateTask2VO { + + private Long operTaskId; + + private Long devId; + + private String userName; + + private String operTaskDesc; + + private String devSno; + + private String devPppoe; + + @JsonIgnore + private Long systemDomain; + + private String domain; + + @JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss") + private Date operTaskCreateTime; + + private String resultState; + + private String errorCode; + + private String errorDesc; + + @JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss") + private Date operStartTime; + + @JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss") + private Date operEndTime; + + private String devTypeName; +} diff --git a/src/main/java/com/bellmann/service/DeviceLogService.java b/src/main/java/com/bellmann/service/DeviceLogService.java new file mode 100644 index 0000000..46a7fad --- /dev/null +++ b/src/main/java/com/bellmann/service/DeviceLogService.java @@ -0,0 +1,18 @@ +package com.bellmann.service; + +import com.bellmann.common.base.BasePageQuery; +import com.bellmann.common.result.PageResult; +import com.bellmann.model.vo.DeviceLogVO; + +/** + *

+ * 服务类 + *

+ * + * @author 李小林 + * @since 2024-07-05 + */ +public interface DeviceLogService { + + PageResult page(BasePageQuery query, Long devId); +} diff --git a/src/main/java/com/bellmann/service/DeviceStaticService.java b/src/main/java/com/bellmann/service/DeviceStaticService.java index 830b361..af44e1f 100644 --- a/src/main/java/com/bellmann/service/DeviceStaticService.java +++ b/src/main/java/com/bellmann/service/DeviceStaticService.java @@ -41,4 +41,5 @@ public interface DeviceStaticService { Result unbindingLogicId(UnBindingForm form); + Result deleteProfile(Long devId, Long fileId); } diff --git a/src/main/java/com/bellmann/service/FileRecordService.java b/src/main/java/com/bellmann/service/FileRecordService.java index fc41aee..5c30946 100644 --- a/src/main/java/com/bellmann/service/FileRecordService.java +++ b/src/main/java/com/bellmann/service/FileRecordService.java @@ -1,6 +1,7 @@ package com.bellmann.service; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.bellmann.common.base.BasePageQuery; import com.bellmann.model.entity.FileRecord; import com.bellmann.model.form.FileRecordForm; import com.bellmann.model.query.FileRecordQuery; @@ -21,4 +22,6 @@ public interface FileRecordService{ FileRecord findFileRecordById(Long fileId); Long addFileRecord(FileRecordForm form); + + Page profilePage(BasePageQuery query, Long devId, String fileType); } diff --git a/src/main/java/com/bellmann/service/OperateResult2Service.java b/src/main/java/com/bellmann/service/OperateResult2Service.java new file mode 100644 index 0000000..df34ae7 --- /dev/null +++ b/src/main/java/com/bellmann/service/OperateResult2Service.java @@ -0,0 +1,13 @@ +package com.bellmann.service; + +/** + *

+ * 服务类 + *

+ * + * @author 李小林 + * @since 2024-07-03 + */ +public interface OperateResult2Service { + +} diff --git a/src/main/java/com/bellmann/service/OperateTask2Service.java b/src/main/java/com/bellmann/service/OperateTask2Service.java new file mode 100644 index 0000000..be5fc7d --- /dev/null +++ b/src/main/java/com/bellmann/service/OperateTask2Service.java @@ -0,0 +1,18 @@ +package com.bellmann.service; + +import com.bellmann.common.base.BasePageQuery; +import com.bellmann.common.result.PageResult; +import com.bellmann.model.vo.OperateTask2TableVO; + +/** + *

+ * 服务类 + *

+ * + * @author 李小林 + * @since 2024-07-03 + */ +public interface OperateTask2Service { + + PageResult page(Long devId, BasePageQuery query); +} diff --git a/src/main/java/com/bellmann/service/impl/DeviceLogServiceImpl.java b/src/main/java/com/bellmann/service/impl/DeviceLogServiceImpl.java new file mode 100644 index 0000000..e8c8d6d --- /dev/null +++ b/src/main/java/com/bellmann/service/impl/DeviceLogServiceImpl.java @@ -0,0 +1,91 @@ +package com.bellmann.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.bellmann.common.base.BasePageQuery; +import com.bellmann.common.result.PageResult; +import com.bellmann.common.util.CommonUtils; +import com.bellmann.mapper.DeviceLogMapper; +import com.bellmann.model.dto.ParamInfo; +import com.bellmann.model.entity.DeviceLog; +import com.bellmann.model.vo.DeviceLogVO; +import com.bellmann.service.DeviceLogService; +import lombok.RequiredArgsConstructor; +import org.jsoup.Jsoup; +import org.jsoup.nodes.Document; +import org.jsoup.nodes.Element; +import org.jsoup.select.Elements; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + *

+ * 服务实现类 + *

+ * + * @author 李小林 + * @since 2024-07-05 + */ +@Service +@RequiredArgsConstructor +public class DeviceLogServiceImpl implements DeviceLogService { + + private final DeviceLogMapper deviceLogMapper; + + @Override + public PageResult page(BasePageQuery query, Long devId) { + int pageNum = query.getPageNum(); + int pageSize = query.getPageSize(); + Page page = new Page<>(pageNum,pageSize); + Page entityPage = deviceLogMapper.selectPage(page, new LambdaQueryWrapper() + .eq(DeviceLog::getDevId, devId) + .orderByDesc(DeviceLog::getOperTime) + ); + List records = entityPage.getRecords(); + List list = new ArrayList<>(); + if (!records.isEmpty()){ + list = records.stream().map(obj -> { + DeviceLogVO deviceLogVO = new DeviceLogVO(); + String desc = obj.getOperDesc(); + String targetText = "parameter values :"; + int startIndex = desc.indexOf(targetText); + if (startIndex>0){ + String paramValue = desc.substring(startIndex + targetText.length()).trim(); + if (!paramValue.isEmpty()&& CommonUtils.containsHtmlTag(paramValue)){ + desc = desc.substring(0,startIndex); + deviceLogVO.setParamInfoList(parseHtmlToParamInfo(paramValue)); + } + } + deviceLogVO.setDevId(obj.getDevId()); + deviceLogVO.setOperTime(obj.getOperTime()); + deviceLogVO.setDescription(desc); + deviceLogVO.setOperName(obj.getOperName()); + return deviceLogVO; + }).collect(Collectors.toList()); + } + Page voPage = new Page<>(); + voPage.setTotal(entityPage.getTotal()); + voPage.setRecords(list); + return PageResult.success(voPage); + } + + private static List parseHtmlToParamInfo(String html){ + List list = new ArrayList<>(); + Document doc = Jsoup.parse(html); + Element table = doc.select("table.tableFormTable").first(); + assert table != null; + Elements rows = table.select("tr"); + for (int i = 2; i < rows.size(); i++) { + ParamInfo paramInfo = new ParamInfo(); + Elements cols = rows.get(i).select("td"); + paramInfo.setParameterName(cols.get(0).text().trim()); + paramInfo.setActualValue(cols.get(1).text().trim()); + paramInfo.setRemarks(cols.get(2).text().trim()); + list.add(paramInfo); + } + return list; + } +} diff --git a/src/main/java/com/bellmann/service/impl/DeviceStaticServiceImpl.java b/src/main/java/com/bellmann/service/impl/DeviceStaticServiceImpl.java index 0a0452e..20d9f94 100644 --- a/src/main/java/com/bellmann/service/impl/DeviceStaticServiceImpl.java +++ b/src/main/java/com/bellmann/service/impl/DeviceStaticServiceImpl.java @@ -29,6 +29,7 @@ import com.bellmann.model.query.SelectQuery; import com.bellmann.model.vo.*; import com.bellmann.security.util.SecurityUtils; import com.bellmann.service.DeviceStaticService; +import com.bellmann.service.FileOptionService; import com.zznode.itms.api.InventoryManager; import com.zznode.itms.api.NBIManager; import com.zznode.itms.idl.order.OrderInfoStructListHolder; @@ -78,6 +79,8 @@ public class DeviceStaticServiceImpl implements DeviceStaticService { private final DeviceServiceMapMapper deviceServiceMapMapper; + private final FileOptionService fileOptionService; + @Override public Page resourcePage(SelectQuery query) { @@ -414,4 +417,27 @@ public class DeviceStaticServiceImpl implements DeviceStaticService { } return 2; } + + @Override + public Result deleteProfile(Long devId, Long fileId) { + if (devId==null||fileId==null){ + return Result.failed(ResultCode.FILE_DELETE_FAIL); + } + FileRecord fileRecord = fileRecordManager.findFileRecordById(fileId); + if (fileRecord==null){ + return Result.failed(ResultCode.FILE_NOT_EXIST); + } + boolean flag = fileOptionService.removeFile(fileRecord.getFileUrl(), fileRecord.getFileName()); + if (flag){ + int i = fileRecordManager.deleteByFileId(fileId); + int row = fileDevMapMapper.delete(new LambdaQueryWrapper() + .eq(FileDevMap::getDevId, devId) + .eq(FileDevMap::getFileId, fileId) + ); + if (i==1&&row==1){ + return Result.success(); + } + } + return Result.failed(ResultCode.FILE_DELETE_FAIL); + } } diff --git a/src/main/java/com/bellmann/service/impl/FileRecordServiceImpl.java b/src/main/java/com/bellmann/service/impl/FileRecordServiceImpl.java index f2c05b5..fa3de23 100644 --- a/src/main/java/com/bellmann/service/impl/FileRecordServiceImpl.java +++ b/src/main/java/com/bellmann/service/impl/FileRecordServiceImpl.java @@ -2,6 +2,7 @@ package com.bellmann.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.bellmann.common.base.BasePageQuery; import com.bellmann.converter.FileRecordConverter; import com.bellmann.mapper.FileRecordMapper; import com.bellmann.model.entity.FileRecord; @@ -60,4 +61,13 @@ public class FileRecordServiceImpl implements FileRecordService { fileRecordMapper.insert(fileRecord); return fileRecord.getFileId(); } + + @Override + public Page profilePage(BasePageQuery query, Long devId, String fileType) { + int pageNum = query.getPageNum(); + int pageSize = query.getPageSize(); + Page page = new Page<>(pageNum,pageSize); + Page entityPage = fileRecordMapper.profilePage(page,devId,fileType); + return fileRecordConverter.entityPage2VOPage(entityPage); + } } diff --git a/src/main/java/com/bellmann/service/impl/OperateResult2ServiceImpl.java b/src/main/java/com/bellmann/service/impl/OperateResult2ServiceImpl.java new file mode 100644 index 0000000..b5d9bdf --- /dev/null +++ b/src/main/java/com/bellmann/service/impl/OperateResult2ServiceImpl.java @@ -0,0 +1,17 @@ +package com.bellmann.service.impl; + +import com.bellmann.service.OperateResult2Service; +import org.springframework.stereotype.Service; + +/** + *

+ * 服务实现类 + *

+ * + * @author 李小林 + * @since 2024-07-03 + */ +@Service +public class OperateResult2ServiceImpl implements OperateResult2Service { + +} diff --git a/src/main/java/com/bellmann/service/impl/OperateTask2ServiceImpl.java b/src/main/java/com/bellmann/service/impl/OperateTask2ServiceImpl.java new file mode 100644 index 0000000..913f2d9 --- /dev/null +++ b/src/main/java/com/bellmann/service/impl/OperateTask2ServiceImpl.java @@ -0,0 +1,37 @@ +package com.bellmann.service.impl; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.bellmann.common.base.BasePageQuery; +import com.bellmann.common.result.PageResult; +import com.bellmann.converter.OperateTask2Converter; +import com.bellmann.mapper.OperateTask2Mapper; +import com.bellmann.model.bo.OperateTask2TableBO; +import com.bellmann.model.vo.OperateTask2TableVO; +import com.bellmann.service.OperateTask2Service; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +/** + *

+ * 服务实现类 + *

+ * + * @author 李小林 + * @since 2024-07-03 + */ +@Service +@RequiredArgsConstructor +public class OperateTask2ServiceImpl implements OperateTask2Service { + + private final OperateTask2Mapper operateTask2Mapper; + + private final OperateTask2Converter operateTask2Converter; + @Override + public PageResult page(Long devId, BasePageQuery query) { + int pageSize = query.getPageSize(); + int pageNum = query.getPageNum(); + Page page = new Page<>(pageNum,pageSize); + Page boPage = operateTask2Mapper.tablePage(page,devId); + return PageResult.success(operateTask2Converter.pageBo2PageVo(boPage)); + } +} diff --git a/src/main/java/com/bellmann/service/impl/OrderInfoServiceImpl.java b/src/main/java/com/bellmann/service/impl/OrderInfoServiceImpl.java index 70e19bb..db0803a 100644 --- a/src/main/java/com/bellmann/service/impl/OrderInfoServiceImpl.java +++ b/src/main/java/com/bellmann/service/impl/OrderInfoServiceImpl.java @@ -14,6 +14,7 @@ import com.bellmann.common.result.ResultCode; import com.bellmann.common.util.CommonUtils; import com.bellmann.converter.OrderInfoConverter; import com.bellmann.mapper.*; +import com.bellmann.model.bo.DevOnlineStatus; import com.bellmann.model.bo.DeviceDetailBO; import com.bellmann.model.entity.DeviceStatic; import com.bellmann.model.entity.OrderInfo; @@ -39,7 +40,7 @@ import java.util.Map; /** *

- * 服务实现类 + * 服务实现类 *

* * @author 李小林 @@ -62,35 +63,58 @@ public class OrderInfoServiceImpl implements OrderInfoService { private final OrderInfoConverter orderInfoConverter; private final DeviceTypeVerMapper deviceTypeVerMapper; + @Override public Page tablePage(SelectQuery query) { int pageNum = query.getPageNum(); int pageSize = query.getPageSize(); Object value = query.getSelectValue(); String column = query.getSelectName(); - Page page = new Page<>(pageNum,pageSize); + Page page = new Page<>(pageNum, pageSize); Long domain = SecurityUtils.getGroupId(); - List list = orderInfoMapper.tablePage(page, column, value,domain); + List list = orderInfoMapper.tablePage(page, column, value, domain); return getOrderInfoTableVOPage(page, list); } - private String devOnlineStatus(String devSnoOui,String pppoe){ - String devOui=""; - String devSno=""; - String status = "无设备上线记录"; - if (devSnoOui==null || devSnoOui.isEmpty()){ - if (pppoe==null ||pppoe.isEmpty()) { - return status; - } + private String devOnlineStatus(String devSnoOui, String pppoe) { + // 提前检查devSnoOui是否为空或空字符串 + if (devSnoOui == null || devSnoOui.isEmpty()) { + return "无设备上线记录"; + } + + // 解析devSnoOui + String devSno = devSnoOui.trim(); + if (devSnoOui.contains("-")) { + String[] devOS = devSnoOui.split("-"); + devSno = devOS[1].trim(); } - if (!devSnoOui.contains("-")){ - devSno = devSnoOui.trim(); - }else { - String[] devOS = devSnoOui.trim().split("-"); - devOui = devOS[0]; - devSno = devOS[1]; + + // 尝试根据SN号或PPPoE获取设备在线状态 + DevOnlineStatus onlineStatus = null; + if (devSno != null) { + onlineStatus = deviceStaticMapper.devOnlineStatusBySno(devSno); + } else if (pppoe != null) { + onlineStatus = deviceStaticMapper.devOnlineStatusByPppoe(pppoe); + } + + // 如果没有找到在线状态,返回"无设备上线记录" + if (onlineStatus == null) { + return "无设备上线记录"; + } + + // 根据获取的在线状态字段确定设备状态 + String devOnline = onlineStatus.getDevOnline(); + if (devOnline == null || devOnline.isEmpty()) { + return "无设备上线记录"; + } + + // 假设getDevOnline1()用于表示某种辅助的在线状态,这里简单处理 + String devOnline1 = onlineStatus.getDevOnline1(); + if ("0".equals(devOnline)) { + return (devOnline1 != null && "0".equals(devOnline1)) ? "设备在线" : "设备离线"; + } else { + return "设备离线"; } - return "无设备上线记录"; } @Override @@ -110,16 +134,16 @@ public class OrderInfoServiceImpl implements OrderInfoService { orderInfoVO.getDummyFlag(), DummyFlagEnum.class)); orderInfoVO.setOrderDoneFlag( IBaseEnum.getLabelByValue( - orderInfoVO.getOrderDoneFlag(),OrderDoneFlagEnum.class)); + orderInfoVO.getOrderDoneFlag(), OrderDoneFlagEnum.class)); orderInfoVO.setDomain( (String) redisTemplate .opsForHash() .get(SecurityConstants.DOMAIN_PREFIX, orderInfoVO.getSystemDomain().toString())); - orderInfoVO.setDevOnlineStatus(devOnlineStatus(orderInfoVO.getDevSnoOui(),orderInfoVO.getPppoeAccount())); - if (orderInfoVO.getAdNo()!=null) { + orderInfoVO.setDevOnlineStatus(devOnlineStatus(orderInfoVO.getDevSnoOui(), orderInfoVO.getPppoeAccount())); + if (orderInfoVO.getAdNo() != null) { String devAccessType = deviceTypeVerDetailMapper.findDevAccessType(orderInfoVO.getAdNo()); - if (devAccessType!=null){ + if (devAccessType != null) { orderInfoVO.setDevAccessType(IBaseEnum.getLabelByValue( devAccessType, DevAccessTypeEnum.class)); } @@ -129,24 +153,24 @@ public class OrderInfoServiceImpl implements OrderInfoService { @Override public Result updateOrderStatus(Long orderId, String orderStatus) { - if (OrderStatusEnum.MANUAL_INTERVENTION.getValue().equals(orderStatus)){ + if (OrderStatusEnum.MANUAL_INTERVENTION.getValue().equals(orderStatus)) { throw new BusinessException(ResultCode.BAN_UPDATE_ORDER_STATUS_MANUAL_INTERVENTION); } OrderInfo orderInfo = orderInfoMapper.selectOne(new QueryWrapper() .select("order_status") .eq("order_id", orderId) ); - if (OrderStatusEnum.MANUAL_INTERVENTION.getValue().equals(orderInfo.getOrderStatus())){ + if (OrderStatusEnum.MANUAL_INTERVENTION.getValue().equals(orderInfo.getOrderStatus())) { throw new BusinessException(ResultCode.BAN_UPDATE_ORDER_STATUS_MANUAL_INTERVENTION); } - orderInfoMapper.update(null,new LambdaUpdateWrapper() - .eq(OrderInfo::getOrderId,orderId) - .set(OrderInfo::getOrderStatus,orderStatus) + orderInfoMapper.update(null, new LambdaUpdateWrapper() + .eq(OrderInfo::getOrderId, orderId) + .set(OrderInfo::getOrderStatus, orderStatus) ); - if (OrderStatusEnum.NOT_PROCESSED.getValue().equals(orderStatus)){ - orderServiceMapper.update(null,new LambdaUpdateWrapper() - .eq(OrderService::getOrderId,orderId) - .set(OrderService::getServiceId,-999) + if (OrderStatusEnum.NOT_PROCESSED.getValue().equals(orderStatus)) { + orderServiceMapper.update(null, new LambdaUpdateWrapper() + .eq(OrderService::getOrderId, orderId) + .set(OrderService::getServiceId, -999) ); } return Result.success(); @@ -155,16 +179,16 @@ public class OrderInfoServiceImpl implements OrderInfoService { @Override public Result executeOrder(Long orderId) { OrderInfo orderInfo = orderInfoMapper.selectOne(new QueryWrapper() - .select("order_status","pppoe_account","dev_sno_oui","unique_user_id","order_service_type") + .select("order_status", "pppoe_account", "dev_sno_oui", "unique_user_id", "order_service_type") .eq("order_id", orderId) ); - if(!OrderStatusEnum.NOT_PROCESSED.getValue().equals(orderInfo.getOrderStatus())){ + if (!OrderStatusEnum.NOT_PROCESSED.getValue().equals(orderInfo.getOrderStatus())) { throw new BusinessException(ResultCode.NOT_OPERATE_ORDER); } - orderInfoMapper.update(null,new LambdaUpdateWrapper() - .eq(OrderInfo::getOrderId,orderId) - .set(OrderInfo::getOrderStatus,OrderStatusEnum.NOT_PROCESSED.getValue()) - .set(OrderInfo::getOrderDoneFlag,OrderDoneFlagEnum.THE_ORDER_HAS_NOT_BEEN_RETURNED.getValue()) + orderInfoMapper.update(null, new LambdaUpdateWrapper() + .eq(OrderInfo::getOrderId, orderId) + .set(OrderInfo::getOrderStatus, OrderStatusEnum.NOT_PROCESSED.getValue()) + .set(OrderInfo::getOrderDoneFlag, OrderDoneFlagEnum.THE_ORDER_HAS_NOT_BEEN_RETURNED.getValue()) ); boolean ouiFlag = false; boolean pppoeFlag = false; @@ -172,7 +196,7 @@ public class OrderInfoServiceImpl implements OrderInfoService { DeviceDetailBO bo = null; OrderInfo obj = orderInfoMapper.orderSnoOuiPppoeUnique(orderId); String devSnoOui = obj.getDevSnoOui(); - if (devSnoOui!=null&& !devSnoOui.trim().isEmpty()) { + if (devSnoOui != null && !devSnoOui.trim().isEmpty()) { if (devSnoOui.startsWith("12$")) { devSnoOui = orderInfo.getDevSnoOui(); if (devSnoOui.isEmpty()) { @@ -186,45 +210,45 @@ public class OrderInfoServiceImpl implements OrderInfoService { sno = split[0]; oui = split[1]; } - bo = deviceStaticMapper.orderByDevSnoOui(sno, oui,null); + bo = deviceStaticMapper.orderByDevSnoOui(sno, oui, null); if (bo == null) { throw new BusinessException(ResultCode.NOT_GET_DEVICE); - }else { + } else { ouiFlag = true; } } String uniqueUserId = obj.getUniqueUserId(); if ( - uniqueUserId!=null&& - !uniqueUserId.isEmpty()&& - !ouiFlag&& - !OrderServiceTypeEnum.EQUIPMENT_REPLACEMENT.getValue().equals(orderInfo.getOrderServiceType()) - ){ - bo = deviceStaticMapper.orderByDevSnoOui(null,null,uniqueUserId); - if (bo!=null){ + uniqueUserId != null && + !uniqueUserId.isEmpty() && + !ouiFlag && + !OrderServiceTypeEnum.EQUIPMENT_REPLACEMENT.getValue().equals(orderInfo.getOrderServiceType()) + ) { + bo = deviceStaticMapper.orderByDevSnoOui(null, null, uniqueUserId); + if (bo != null) { uniqueUserIdFlag = true; } } String pppoeAccount = obj.getPppoeAccount(); - if (pppoeAccount!=null&&!pppoeAccount.isEmpty()&&!ouiFlag&&uniqueUserIdFlag){ - bo = deviceStaticMapper.orderByPppoeAccount(DevStatusEnum.NORMAL.getValue(),pppoeAccount); - if (bo==null){ + if (pppoeAccount != null && !pppoeAccount.isEmpty() && !ouiFlag && uniqueUserIdFlag) { + bo = deviceStaticMapper.orderByPppoeAccount(DevStatusEnum.NORMAL.getValue(), pppoeAccount); + if (bo == null) { throw new BusinessException(ResultCode.NOT_GET_DEVICE); } pppoeFlag = true; } - if (!pppoeFlag&&!ouiFlag&&!uniqueUserIdFlag){ + if (!pppoeFlag && !ouiFlag && !uniqueUserIdFlag) { throw new BusinessException(ResultCode.NOT_GET_DEVICE); } RDeviceDetailStruct struct = conversionStruct(bo); int res = NBIManager.informConfigure(struct, orderId, true); - if (res!=0){ + if (res != 0) { throw new BusinessException(ResultCode.NBI_ERROR); } return Result.success(); } - private RDeviceDetailStruct conversionStruct(DeviceDetailBO bo){ + private RDeviceDetailStruct conversionStruct(DeviceDetailBO bo) { RDeviceDetailStruct struct = new RDeviceDetailStruct(); RDeviceDynamicStruct devDynamic = struct.devDynamic; RDeviceStaticStruct devStatic = struct.devStatic; @@ -258,15 +282,15 @@ public class OrderInfoServiceImpl implements OrderInfoService { String devRegStatus = bo.getDevRegStatus(); - if(devRegStatus == null || devRegStatus.isEmpty()){ + if (devRegStatus == null || devRegStatus.isEmpty()) { devRegStatus = "0"; } String devOwnerClass = bo.getDevOwnerClass(); - if(devOwnerClass == null || devOwnerClass.isEmpty()){ + if (devOwnerClass == null || devOwnerClass.isEmpty()) { devOwnerClass = "0"; } - devStaticDetail.devRegStatus =RDevRegStatus.from_int(Integer.parseInt(devRegStatus)); - devStaticDetail.devOwnerClass =RDevOwnerClass.from_int(Integer.parseInt(devOwnerClass)); + devStaticDetail.devRegStatus = RDevRegStatus.from_int(Integer.parseInt(devRegStatus)); + devStaticDetail.devOwnerClass = RDevOwnerClass.from_int(Integer.parseInt(devOwnerClass)); devStaticDetail.remark1 = bo.getRemark1(); devStaticDetail.remark2 = bo.getRemark2(); devStaticDetail.remark3 = bo.getRemark3(); @@ -290,13 +314,13 @@ public class OrderInfoServiceImpl implements OrderInfoService { ) .eq("order_id", orderId) ); - ModifyOrderForm form = orderInfoConverter.entity2ModifyForm(orderInfo); + ModifyOrderForm form = orderInfoConverter.entity2ModifyForm(orderInfo); return Result.success(form); } @Override public Result updateForm(ModifyOrderForm form) { - orderInfoMapper.update(null, new LambdaUpdateWrapper() + orderInfoMapper.update(null, new LambdaUpdateWrapper() .eq(OrderInfo::getOrderId, form.getOrderId()) .set(OrderInfo::getOrderServiceType, form.getOrderServiceType()) .set(OrderInfo::getOrderDate, form.getOrderDate()) @@ -310,62 +334,63 @@ public class OrderInfoServiceImpl implements OrderInfoService { @Override public Result bindingOuiSno(String devOuiSno, Long orderId) { - checkDevice(devOuiSno,orderId); + checkDevice(devOuiSno, orderId); OrderInfo orderInfo = orderInfoMapper.selectOne(new QueryWrapper() .eq("order_id", orderId) - .select("order_id","order_status","unique_user_id","pppoe_account","ad_no") + .select("order_id", "order_status", "unique_user_id", "pppoe_account", "ad_no") ); - if (OrderStatusEnum.PROCESSING.getValue().equals(orderInfo.getOrderStatus())){ + if (OrderStatusEnum.PROCESSING.getValue().equals(orderInfo.getOrderStatus())) { devOuiSno = CommonUtils.getRandomString(14); - createDevice(devOuiSno,orderInfo); + createDevice(devOuiSno, orderInfo); } int result = NBIManager.bindDevice(orderId, devOuiSno); - if (result!=0){ + if (result != 0) { throw new BusinessException(ResultCode.DEVICE_BINDING_FAILED); } return Result.success(); } - private void createDevice(String ouiSno,OrderInfo order){ - RDeviceStaticStruct deviceStaticStruct=new RDeviceStaticStruct(); + private void createDevice(String ouiSno, OrderInfo order) { + RDeviceStaticStruct deviceStaticStruct = new RDeviceStaticStruct(); deviceStaticStruct.typeAndVerId = deviceTypeVerMapper.getTypeAndVerId(); - deviceStaticStruct.custId= Utils.LONG_NULL; - deviceStaticStruct.regionAreaId=order.getSystemDomain(); + deviceStaticStruct.custId = Utils.LONG_NULL; + deviceStaticStruct.regionAreaId = order.getSystemDomain(); deviceStaticStruct.corpAreaId = Utils.LONG_NULL; - deviceStaticStruct.devSNo=ouiSno; - deviceStaticStruct.devMac=""; - deviceStaticStruct.devPPPoE=order.getPppoeAccount(); - deviceStaticStruct.devADNo=order.getAdNo(); - deviceStaticStruct.devCreateTime=new Date().getTime(); - deviceStaticStruct.devModifyTime=Utils.LONG_NULL; - deviceStaticStruct.devSoapFlag=true; - deviceStaticStruct.devInformFlag=true; + deviceStaticStruct.devSNo = ouiSno; + deviceStaticStruct.devMac = ""; + deviceStaticStruct.devPPPoE = order.getPppoeAccount(); + deviceStaticStruct.devADNo = order.getAdNo(); + deviceStaticStruct.devCreateTime = new Date().getTime(); + deviceStaticStruct.devModifyTime = Utils.LONG_NULL; + deviceStaticStruct.devSoapFlag = true; + deviceStaticStruct.devInformFlag = true; deviceStaticStruct.devStatus = RDevStatus.DEV_NORMAL; - deviceStaticStruct.devRemark1=""; - deviceStaticStruct.devRemark2=""; - deviceStaticStruct.devRemark3=""; - deviceStaticStruct.devRemark4=""; - deviceStaticStruct.devRemark5="1"; - RDeviceStaticStructHolder holder=new RDeviceStaticStructHolder(deviceStaticStruct); - int result= InventoryManager.addDevice(holder); + deviceStaticStruct.devRemark1 = ""; + deviceStaticStruct.devRemark2 = ""; + deviceStaticStruct.devRemark3 = ""; + deviceStaticStruct.devRemark4 = ""; + deviceStaticStruct.devRemark5 = "1"; + RDeviceStaticStructHolder holder = new RDeviceStaticStructHolder(deviceStaticStruct); + int result = InventoryManager.addDevice(holder); } - private void checkDevice(String devOuiSno,Long orderId){ + + private void checkDevice(String devOuiSno, Long orderId) { String[] split = devOuiSno.split("-"); - if (split.length!=2){ + if (split.length != 2) { throw new BusinessException(ResultCode.DEV_OUI_SNO_FORMAT_ERROR); } Long count = deviceStaticMapper.selectCount(new LambdaQueryWrapper() .eq(DeviceStatic::getDevSno, split[1]) .eq(DeviceStatic::getDevRemark3, split[0]) ); - if (count==0L){ + if (count == 0L) { throw new BusinessException(ResultCode.DEVICE_NOT_REGISTERED); } List list = deviceStaticMapper.selectList(new QueryWrapper() .eq("dev_sno", split[1]) .eq("dev_remark3", split[0]) ); - if (!list.isEmpty()){ + if (!list.isEmpty()) { throw new BusinessException(ResultCode.DEVICE_ALREADY_BINDING_OTHER_LOGIC); } OrderInfo orderInfo = orderInfoMapper.selectOne(new QueryWrapper() @@ -373,11 +398,11 @@ public class OrderInfoServiceImpl implements OrderInfoService { .eq("order_id", orderId) ); String devRemark4 = deviceStaticMapper.selectDevRemark4ByOrderSN(orderInfo.getUserSnNo()); - if (!"0".equals(devRemark4)){ + if (!"0".equals(devRemark4)) { throw new BusinessException(ResultCode.LOGICID_ALREADY_DEVICE); } - String devSnoOui = orderInfoMapper.selectOui(devOuiSno,orderInfo.getUserSnNo()); - if (!"0".equals(devSnoOui)){ + String devSnoOui = orderInfoMapper.selectOui(devOuiSno, orderInfo.getUserSnNo()); + if (!"0".equals(devSnoOui)) { throw new BusinessException(ResultCode.LOGICID_ALREADY_DEVICE); } } @@ -386,35 +411,35 @@ public class OrderInfoServiceImpl implements OrderInfoService { public Page deviceOrderPage(DeviceOrderQuery query) { int pageNum = query.getPageNum(); int pageSize = query.getPageSize(); - Page page = new Page<>(pageNum,pageSize); + Page page = new Page<>(pageNum, pageSize); Long domain = SecurityUtils.getGroupId(); - String devSnoOui = query.getDevOui() + "-"+ query.getDevSno(); + String devSnoOui = query.getDevOui() + "-" + query.getDevSno(); String pppoeAccount = query.getPppoeAccount(); - List list = orderInfoMapper.deviceOrderPage(page,devSnoOui,pppoeAccount ,domain); + List list = orderInfoMapper.deviceOrderPage(page, devSnoOui, pppoeAccount, domain); return getOrderInfoTableVOPage(page, list); } private Page getOrderInfoTableVOPage(Page page, List list) { - list.forEach(obj->{ + list.forEach(obj -> { Long systemDomain = obj.getSystemDomain(); String orderServiceType = obj.getOrderServiceType(); String orderStatus = obj.getOrderStatus(); String orderRemark = obj.getOrderRemark(); String dummyFlag = obj.getDummyFlag(); - if (systemDomain!=null){ - obj.setDomain((String) redisTemplate.opsForHash().get(SecurityConstants.DOMAIN_PREFIX,systemDomain.toString())); + if (systemDomain != null) { + obj.setDomain((String) redisTemplate.opsForHash().get(SecurityConstants.DOMAIN_PREFIX, systemDomain.toString())); } - if (orderServiceType!=null){ + if (orderServiceType != null) { obj.setOrderServiceType(IBaseEnum.getLabelByValue(orderServiceType, OrderServiceTypeEnum.class)); } - if (orderStatus!=null){ + if (orderStatus != null) { obj.setOrderStatus(IBaseEnum.getLabelByValue(orderStatus, OrderStatusEnum.class)); } - if (orderRemark!=null){ + if (orderRemark != null) { obj.setOrderRemark(IBaseEnum.getLabelByValue(orderRemark, OrderOperateEnum.class)); } //如果是虚拟工单 不显示 pppoe帐户 和 电话号码 反之则显示 0虚拟单 1是非虚拟单 - if ("0".equals(dummyFlag)){ + if ("0".equals(dummyFlag)) { obj.setTelNum(""); obj.setPppoeAccount(""); } @@ -424,8 +449,8 @@ public class OrderInfoServiceImpl implements OrderInfoService { } @Override - public Result> checkDev(String devSnoOui) { - if (devSnoOui==null || !devSnoOui.contains("-")){ + public Result> checkDev(String devSnoOui) { + if (devSnoOui == null || !devSnoOui.contains("-")) { return Result.failed(ResultCode.NOT_GET_DEVICE); } @@ -433,10 +458,10 @@ public class OrderInfoServiceImpl implements OrderInfoService { DeviceStatic deviceStatic = deviceStaticMapper.selectOne(new QueryWrapper() .eq("dev_sno", split[1]) .eq("dev_remark3", split[0]) - .select("dev_id","type_and_ver_id") + .select("dev_id", "type_and_ver_id") ); - if (deviceStatic!=null){ + if (deviceStatic != null) { Map map = MapUtil .builder() .put("devId", deviceStatic.getDevId()) diff --git a/src/main/resources/mapper/DeviceLogMapper.xml b/src/main/resources/mapper/DeviceLogMapper.xml new file mode 100644 index 0000000..7a45bca --- /dev/null +++ b/src/main/resources/mapper/DeviceLogMapper.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + dev_id, oper_time, oper_desc, oper_name + + + diff --git a/src/main/resources/mapper/DeviceStaticMapper.xml b/src/main/resources/mapper/DeviceStaticMapper.xml index ca79f50..917f27d 100644 --- a/src/main/resources/mapper/DeviceStaticMapper.xml +++ b/src/main/resources/mapper/DeviceStaticMapper.xml @@ -244,4 +244,39 @@ + + + diff --git a/src/main/resources/mapper/FileRecordMapper.xml b/src/main/resources/mapper/FileRecordMapper.xml index a379443..d40ec5a 100644 --- a/src/main/resources/mapper/FileRecordMapper.xml +++ b/src/main/resources/mapper/FileRecordMapper.xml @@ -43,4 +43,16 @@ itms_file_dev_type_ver_map.type_and_ver_id = #{typeAndVerId} and itms_file.file_type = #{fileType} + diff --git a/src/main/resources/mapper/OperateResult2Mapper.xml b/src/main/resources/mapper/OperateResult2Mapper.xml new file mode 100644 index 0000000..1a063d8 --- /dev/null +++ b/src/main/resources/mapper/OperateResult2Mapper.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + oper_task_id, dev_id, oper_start_time, oper_end_time, action_name, error_code, error_desc, result_state + + + diff --git a/src/main/resources/mapper/OperateTask2Mapper.xml b/src/main/resources/mapper/OperateTask2Mapper.xml new file mode 100644 index 0000000..d00fd2a --- /dev/null +++ b/src/main/resources/mapper/OperateTask2Mapper.xml @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + + + + oper_task_id, dev_id, user_name, oper_task_desc, oper_task_create_time, oper_name + + + + +