From 607ca5e8d098bafa44623404ce9661101066f35c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E5=B0=8F=E6=9E=97?= <320730042@qq.com> Date: Fri, 31 May 2024 17:50:36 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E8=AE=BE=E5=A4=87=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=EF=BC=8C=E5=85=B6=E4=BB=96=E6=A8=A1=E5=9D=97?= =?UTF-8?q?bug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/constant/SecurityConstants.java | 1 + .../common/enums/CustomStatusEnum.java | 22 ++++++++++ .../bellmann/common/enums/CustomTypeEnum.java | 22 ++++++++++ .../common/enums/EquipmentTypeEnum.java | 34 +++++++++++++++ .../controller/DeviceStaticController.java | 8 +++- .../bellmann/manger/FileRecordManager.java | 1 + .../manger/IpAddressDomainManager.java | 6 +++ .../manger/impl/CustomerManagerImpl.java | 20 ++++++++- .../manger/impl/DeviceTypeManagerImpl.java | 2 + .../manger/impl/FileRecordManagerImpl.java | 12 ++++-- .../impl/IpAddressDomainManagerImpl.java | 18 ++++++++ .../com/bellmann/mapper/FileRecordMapper.java | 7 ++-- .../mapper/IpAddressDomainMapper.java | 10 +++++ .../bellmann/model/bo/DeviceTypeToVerBO.java | 1 - .../com/bellmann/model/entity/FileRecord.java | 8 ++-- .../model/entity/IpAddressDomain.java | 14 +++++++ .../model/form/EquipmentDetailForm.java | 19 +++++++++ .../model/vo/EquipmentCustomerVO.java | 12 +++--- .../bellmann/model/vo/EquipmentDetailVO.java | 8 ++++ .../bellmann/model/vo/EquipmentTypeVO.java | 2 + .../bellmann/service/DeviceStaticService.java | 5 +++ .../com/bellmann/service/DomainService.java | 2 + .../service/impl/DeviceStaticServiceImpl.java | 41 +++++++++++++++++-- .../impl/DeviceTypeVerServiceImpl.java | 21 +++++++--- .../service/impl/DomainServiceImpl.java | 32 +++++++++++++-- .../service/impl/FileRecordServiceImpl.java | 7 ++-- .../service/impl/ServiceServiceImpl.java | 4 +- .../resources/mapper/DeviceTypeMapper.xml | 3 +- .../resources/mapper/DeviceTypeVerMapper.xml | 5 --- .../resources/mapper/FileRecordMapper.xml | 14 ++++++- .../mapper/IpaddressDomainMapper.xml | 16 ++++++++ 31 files changed, 333 insertions(+), 44 deletions(-) create mode 100644 src/main/java/com/bellmann/common/enums/CustomStatusEnum.java create mode 100644 src/main/java/com/bellmann/common/enums/CustomTypeEnum.java create mode 100644 src/main/java/com/bellmann/common/enums/EquipmentTypeEnum.java create mode 100644 src/main/java/com/bellmann/manger/IpAddressDomainManager.java create mode 100644 src/main/java/com/bellmann/manger/impl/IpAddressDomainManagerImpl.java create mode 100644 src/main/java/com/bellmann/mapper/IpAddressDomainMapper.java create mode 100644 src/main/java/com/bellmann/model/entity/IpAddressDomain.java create mode 100644 src/main/java/com/bellmann/model/form/EquipmentDetailForm.java create mode 100644 src/main/resources/mapper/IpaddressDomainMapper.xml diff --git a/src/main/java/com/bellmann/common/constant/SecurityConstants.java b/src/main/java/com/bellmann/common/constant/SecurityConstants.java index 11da1ba..ef6c4e7 100644 --- a/src/main/java/com/bellmann/common/constant/SecurityConstants.java +++ b/src/main/java/com/bellmann/common/constant/SecurityConstants.java @@ -23,5 +23,6 @@ public interface SecurityConstants { */ String BLACKLIST_TOKEN_PREFIX = "token:blacklist:"; + String DOMAIN_PREFIX = "domain:"; } diff --git a/src/main/java/com/bellmann/common/enums/CustomStatusEnum.java b/src/main/java/com/bellmann/common/enums/CustomStatusEnum.java new file mode 100644 index 0000000..cf24eb2 --- /dev/null +++ b/src/main/java/com/bellmann/common/enums/CustomStatusEnum.java @@ -0,0 +1,22 @@ +package com.bellmann.common.enums; + +import com.bellmann.common.base.IBaseEnum; +import lombok.Getter; + +public enum CustomStatusEnum implements IBaseEnum { + + NORMAL("0","正常"), + SIGN_OUT("1","注销"), + ; + + @Getter + private String value; + + @Getter + private String label; + + CustomStatusEnum(String value, String label){ + this.label = label; + this.value = value; + } +} diff --git a/src/main/java/com/bellmann/common/enums/CustomTypeEnum.java b/src/main/java/com/bellmann/common/enums/CustomTypeEnum.java new file mode 100644 index 0000000..88c6702 --- /dev/null +++ b/src/main/java/com/bellmann/common/enums/CustomTypeEnum.java @@ -0,0 +1,22 @@ +package com.bellmann.common.enums; + +import com.bellmann.common.base.IBaseEnum; +import lombok.Getter; + +public enum CustomTypeEnum implements IBaseEnum { + + ITMS("0","家庭"), + BBMS("1","政企"), + ; + + @Getter + private String value; + + @Getter + private String label; + + CustomTypeEnum(String value, String label){ + this.label = label; + this.value = value; + } +} diff --git a/src/main/java/com/bellmann/common/enums/EquipmentTypeEnum.java b/src/main/java/com/bellmann/common/enums/EquipmentTypeEnum.java new file mode 100644 index 0000000..864b926 --- /dev/null +++ b/src/main/java/com/bellmann/common/enums/EquipmentTypeEnum.java @@ -0,0 +1,34 @@ +package com.bellmann.common.enums; + +import com.bellmann.common.base.IBaseEnum; +import lombok.Getter; + +public enum EquipmentTypeEnum implements IBaseEnum { + + A8C("A8C","A8-C"), + + FTTR("FTTR","FTTR"), + + E8C("E8C","E8-C"), + + RH("RH","融合网关"), + + OTHER("OTHER","其他网关"), + + ME1("ME1","天翼网关1.0"), + ME2("ME2","天翼网关2.0"), + ME3("ME3","天翼网关3.0"), + ME4("ME4","天翼网关4.0"), + ; + + @Getter + private String value; + + @Getter + private String label; + + EquipmentTypeEnum(String value, String label){ + this.label = label; + this.value = value; + } +} diff --git a/src/main/java/com/bellmann/controller/DeviceStaticController.java b/src/main/java/com/bellmann/controller/DeviceStaticController.java index 5fe4a69..3d344ff 100644 --- a/src/main/java/com/bellmann/controller/DeviceStaticController.java +++ b/src/main/java/com/bellmann/controller/DeviceStaticController.java @@ -3,6 +3,7 @@ package com.bellmann.controller; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.bellmann.common.result.PageResult; import com.bellmann.common.result.Result; +import com.bellmann.model.form.EquipmentDetailForm; import com.bellmann.model.query.SelectQuery; import com.bellmann.model.vo.EquipmentVO; import com.bellmann.service.DeviceStaticService; @@ -30,11 +31,16 @@ public class DeviceStaticController { return PageResult.success(page); } - @PostMapping("resource-detail/{devId}") + @GetMapping("resource-detail/{devId}") @Operation(summary = "资源管理-设备管理详细信息接口") public Result> resourceDeviceDetail(@PathVariable Long devId){ Map map = deviceStaticService.resourceDeviceDetail(devId); return Result.success(map); } + @PostMapping("resource-edit") + @Operation(summary = "资源管理-设备详细信息保存接口") + public Result editResourceEquipment(@RequestBody EquipmentDetailForm form){ + return deviceStaticService.editResourceEquipment(form); + } //--------------资源管理API结束-------------------- } diff --git a/src/main/java/com/bellmann/manger/FileRecordManager.java b/src/main/java/com/bellmann/manger/FileRecordManager.java index 2800250..7b2f581 100644 --- a/src/main/java/com/bellmann/manger/FileRecordManager.java +++ b/src/main/java/com/bellmann/manger/FileRecordManager.java @@ -20,4 +20,5 @@ public interface FileRecordManager { Long addBusinessFile(FileRecord fileRecord); + FileRecord fileRecordJoinFileVerMap(Long typeAndVerId); } diff --git a/src/main/java/com/bellmann/manger/IpAddressDomainManager.java b/src/main/java/com/bellmann/manger/IpAddressDomainManager.java new file mode 100644 index 0000000..3c39cf7 --- /dev/null +++ b/src/main/java/com/bellmann/manger/IpAddressDomainManager.java @@ -0,0 +1,6 @@ +package com.bellmann.manger; + +public interface IpAddressDomainManager { + + String getIpAddressDomain(String ip); +} diff --git a/src/main/java/com/bellmann/manger/impl/CustomerManagerImpl.java b/src/main/java/com/bellmann/manger/impl/CustomerManagerImpl.java index b8f0dc4..6494ac1 100644 --- a/src/main/java/com/bellmann/manger/impl/CustomerManagerImpl.java +++ b/src/main/java/com/bellmann/manger/impl/CustomerManagerImpl.java @@ -1,12 +1,17 @@ package com.bellmann.manger.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.bellmann.common.base.IBaseEnum; +import com.bellmann.common.constant.SecurityConstants; +import com.bellmann.common.enums.CustomStatusEnum; +import com.bellmann.common.enums.CustomTypeEnum; import com.bellmann.converter.CustomerConverter; import com.bellmann.manger.CustomerManager; import com.bellmann.mapper.CustomerMapper; import com.bellmann.model.entity.Customer; import com.bellmann.model.vo.EquipmentCustomerVO; import lombok.RequiredArgsConstructor; +import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Component; @Component @@ -16,11 +21,24 @@ public class CustomerManagerImpl implements CustomerManager { private final CustomerMapper customerMapper; private final CustomerConverter customerConverter; + + private final RedisTemplate redisTemplate; + @Override public EquipmentCustomerVO equipmentCustomer(Long customId) { Customer customer = customerMapper.selectOne(new LambdaQueryWrapper() .eq(Customer::getCustId, customId) ); - return customerConverter.entityE2EquipmentVO(customer); + if(customer==null){ + return null; + } + EquipmentCustomerVO customerVO = customerConverter.entityE2EquipmentVO(customer); + customerVO.setCustomType(IBaseEnum.getLabelByValue(customerVO.getCustomType(), CustomTypeEnum.class)); + customerVO.setCustomStatus(IBaseEnum.getLabelByValue(customerVO.getCustomStatus(), CustomStatusEnum.class)); + customerVO.setRegionAreaName( + (String) redisTemplate.opsForHash() + .get(SecurityConstants.DOMAIN_PREFIX, + customer.getRegionAreaId().toString())); + return customerVO; } } diff --git a/src/main/java/com/bellmann/manger/impl/DeviceTypeManagerImpl.java b/src/main/java/com/bellmann/manger/impl/DeviceTypeManagerImpl.java index 35dfbe6..01d7e3c 100644 --- a/src/main/java/com/bellmann/manger/impl/DeviceTypeManagerImpl.java +++ b/src/main/java/com/bellmann/manger/impl/DeviceTypeManagerImpl.java @@ -3,6 +3,7 @@ package com.bellmann.manger.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.bellmann.common.base.IBaseEnum; import com.bellmann.common.enums.DevAccessTypeEnum; +import com.bellmann.common.enums.EquipmentTypeEnum; import com.bellmann.common.enums.OldCASeparationEnum; import com.bellmann.manger.DeviceTypeManager; import com.bellmann.mapper.DeviceTypeMapper; @@ -32,6 +33,7 @@ public class DeviceTypeManagerImpl implements DeviceTypeManager { EquipmentTypeVO equipmentType = deviceTypeMapper.findEquipmentType(typeAndVerId); equipmentType.setOldCASeparation(IBaseEnum.getLabelByValue(equipmentType.getOldCASeparation(), OldCASeparationEnum.class)); equipmentType.setDevAccessType(IBaseEnum.getLabelByValue(equipmentType.getDevAccessType(), DevAccessTypeEnum.class)); + equipmentType.setEquipmentTypeVer(IBaseEnum.getLabelByValue(equipmentType.getEquipmentTypeVer(), EquipmentTypeEnum.class)); return equipmentType; } } diff --git a/src/main/java/com/bellmann/manger/impl/FileRecordManagerImpl.java b/src/main/java/com/bellmann/manger/impl/FileRecordManagerImpl.java index ed00ca4..16ee735 100644 --- a/src/main/java/com/bellmann/manger/impl/FileRecordManagerImpl.java +++ b/src/main/java/com/bellmann/manger/impl/FileRecordManagerImpl.java @@ -4,7 +4,6 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.bellmann.common.constant.StringUtilsConstants; import com.bellmann.common.enums.FileTypeEnum; import com.bellmann.common.enums.FileUrlEnum; -import com.bellmann.common.result.Result; import com.bellmann.manger.FileRecordManager; import com.bellmann.mapper.FileRecordMapper; import com.bellmann.model.bo.DevTypeVerFileBO; @@ -12,7 +11,7 @@ import com.bellmann.model.entity.FileRecord; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Component; -import java.util.Date; +import java.time.LocalDateTime; import java.util.List; @Component @@ -26,7 +25,7 @@ public class FileRecordManagerImpl implements FileRecordManager { fileRecord.setFileName(devTypeVerFileBO.getFileName()); fileRecord.setFileDesc(StringUtilsConstants.STRING_BLANK); fileRecord.setFileType(FileTypeEnum.SOFT_VER_FILE.getValue()); - fileRecord.setFileCreateTime(new Date()); + fileRecord.setFileCreateTime(LocalDateTime.now()); fileRecord.setFileUrl(String.format(FileUrlEnum.SOFT_VER_FILE_URL.getLabel(),devTypeVerFileBO.getTypeAndVerId())); fileRecord.setUserName(StringUtilsConstants.STRING_BLANK); fileRecord.setFileServId(1L); @@ -55,7 +54,7 @@ public class FileRecordManagerImpl implements FileRecordManager { @Override public List listVendorProfile(Long typeAndVerId) { - return fileRecordMapper.listVendorProfile(typeAndVerId); + return fileRecordMapper.listVendorProfile(typeAndVerId,FileTypeEnum.CORP_CONF_FILE.getValue()); } @Override @@ -70,4 +69,9 @@ public class FileRecordManagerImpl implements FileRecordManager { fileRecordMapper.insert(fileRecord); return fileRecord.getFileId(); } + + @Override + public FileRecord fileRecordJoinFileVerMap(Long typeAndVerId) { + return fileRecordMapper.fileRecordJoinFileVerMap(typeAndVerId,FileTypeEnum.SOFT_VER_FILE.getValue()); + } } diff --git a/src/main/java/com/bellmann/manger/impl/IpAddressDomainManagerImpl.java b/src/main/java/com/bellmann/manger/impl/IpAddressDomainManagerImpl.java new file mode 100644 index 0000000..cf546b0 --- /dev/null +++ b/src/main/java/com/bellmann/manger/impl/IpAddressDomainManagerImpl.java @@ -0,0 +1,18 @@ +package com.bellmann.manger.impl; + +import com.bellmann.manger.IpAddressDomainManager; +import com.bellmann.mapper.IpAddressDomainMapper; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Component; + +@Component +@RequiredArgsConstructor +public class IpAddressDomainManagerImpl implements IpAddressDomainManager { + + private final IpAddressDomainMapper ipAddressDomainMapper; + @Override + public String getIpAddressDomain(String ip) { + String placeName = ipAddressDomainMapper.getIpAddressDomain(ip); + return placeName==null?"/":placeName; + } +} diff --git a/src/main/java/com/bellmann/mapper/FileRecordMapper.java b/src/main/java/com/bellmann/mapper/FileRecordMapper.java index b0a6fba..325d8b2 100644 --- a/src/main/java/com/bellmann/mapper/FileRecordMapper.java +++ b/src/main/java/com/bellmann/mapper/FileRecordMapper.java @@ -1,8 +1,7 @@ package com.bellmann.mapper; -import com.bellmann.model.entity.FileRecord; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.bellmann.model.vo.FileRecordVO; +import com.bellmann.model.entity.FileRecord; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -19,5 +18,7 @@ import java.util.List; @Mapper public interface FileRecordMapper extends BaseMapper { - List listVendorProfile(@Param("typeAndVerId") Long typeAndVerId); + List listVendorProfile(@Param("typeAndVerId") Long typeAndVerId, @Param("fileType") String fileType); + + FileRecord fileRecordJoinFileVerMap(@Param("typeAndVerId") Long typeAndVerId, @Param("fileType") String fileType); } diff --git a/src/main/java/com/bellmann/mapper/IpAddressDomainMapper.java b/src/main/java/com/bellmann/mapper/IpAddressDomainMapper.java new file mode 100644 index 0000000..51be38a --- /dev/null +++ b/src/main/java/com/bellmann/mapper/IpAddressDomainMapper.java @@ -0,0 +1,10 @@ +package com.bellmann.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.bellmann.model.entity.IpAddressDomain; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface IpAddressDomainMapper extends BaseMapper { + String getIpAddressDomain(String ip); +} diff --git a/src/main/java/com/bellmann/model/bo/DeviceTypeToVerBO.java b/src/main/java/com/bellmann/model/bo/DeviceTypeToVerBO.java index 2580124..b87dc4f 100644 --- a/src/main/java/com/bellmann/model/bo/DeviceTypeToVerBO.java +++ b/src/main/java/com/bellmann/model/bo/DeviceTypeToVerBO.java @@ -1,6 +1,5 @@ package com.bellmann.model.bo; -import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import java.time.LocalDateTime; diff --git a/src/main/java/com/bellmann/model/entity/FileRecord.java b/src/main/java/com/bellmann/model/entity/FileRecord.java index acf200d..ed59250 100644 --- a/src/main/java/com/bellmann/model/entity/FileRecord.java +++ b/src/main/java/com/bellmann/model/entity/FileRecord.java @@ -1,14 +1,14 @@ package com.bellmann.model.entity; import com.baomidou.mybatisplus.annotation.IdType; -import java.util.Date; import com.baomidou.mybatisplus.annotation.TableId; -import java.io.Serializable; - import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.EqualsAndHashCode; +import java.io.Serializable; +import java.time.LocalDateTime; + /** *

* @@ -48,7 +48,7 @@ public class FileRecord implements Serializable { /** * 文件上传时间 */ - private Date fileCreateTime; + private LocalDateTime fileCreateTime; /** * 文件描述 diff --git a/src/main/java/com/bellmann/model/entity/IpAddressDomain.java b/src/main/java/com/bellmann/model/entity/IpAddressDomain.java new file mode 100644 index 0000000..29d3a6d --- /dev/null +++ b/src/main/java/com/bellmann/model/entity/IpAddressDomain.java @@ -0,0 +1,14 @@ +package com.bellmann.model.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +@Data +@TableName("itms_ipaddress_domain") +public class IpAddressDomain { + + private String ipCopeStart; + private String ipCopeEnd; + private String placeName; + +} diff --git a/src/main/java/com/bellmann/model/form/EquipmentDetailForm.java b/src/main/java/com/bellmann/model/form/EquipmentDetailForm.java new file mode 100644 index 0000000..d043b26 --- /dev/null +++ b/src/main/java/com/bellmann/model/form/EquipmentDetailForm.java @@ -0,0 +1,19 @@ +package com.bellmann.model.form; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +@Schema(description = "设备详细信息编辑表单") +public class EquipmentDetailForm { + + private Long devId; + + private String devSno; + + private String devAdNo; + + private String devPppoe; + + private String devMac; +} diff --git a/src/main/java/com/bellmann/model/vo/EquipmentCustomerVO.java b/src/main/java/com/bellmann/model/vo/EquipmentCustomerVO.java index ba0b7a5..cbe2bfe 100644 --- a/src/main/java/com/bellmann/model/vo/EquipmentCustomerVO.java +++ b/src/main/java/com/bellmann/model/vo/EquipmentCustomerVO.java @@ -1,5 +1,6 @@ package com.bellmann.model.vo; +import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import java.time.LocalDateTime; @@ -9,10 +10,6 @@ public class EquipmentCustomerVO { private Long custId; - private Long regionAreaId; - - private Long corpAreaId; - private String customAccount; private String customAddr; @@ -22,13 +19,16 @@ public class EquipmentCustomerVO { private String customType; private String customStatus; - + @JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss") private LocalDateTime customCreateTime; - + @JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss") private LocalDateTime customModifyTime; private String customRemark1; private String customRemark2; + private String regionAreaName; + + } diff --git a/src/main/java/com/bellmann/model/vo/EquipmentDetailVO.java b/src/main/java/com/bellmann/model/vo/EquipmentDetailVO.java index 57e3e3f..9011a83 100644 --- a/src/main/java/com/bellmann/model/vo/EquipmentDetailVO.java +++ b/src/main/java/com/bellmann/model/vo/EquipmentDetailVO.java @@ -26,6 +26,8 @@ public class EquipmentDetailVO { private Long regionAreaId; + private String regionAreaName; + private Long corpAreaId; private String devMac; @@ -54,4 +56,10 @@ public class EquipmentDetailVO { @JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss") private LocalDateTime devOnlineTime; + + private String bandAccess; + + private String iptvAccess; + + private String placeName; } diff --git a/src/main/java/com/bellmann/model/vo/EquipmentTypeVO.java b/src/main/java/com/bellmann/model/vo/EquipmentTypeVO.java index 4e6e72b..2eeadc6 100644 --- a/src/main/java/com/bellmann/model/vo/EquipmentTypeVO.java +++ b/src/main/java/com/bellmann/model/vo/EquipmentTypeVO.java @@ -30,4 +30,6 @@ public class EquipmentTypeVO { @Schema(description = "设备网络侧接口") private String devAccessType; + + private String equipmentTypeVer; } diff --git a/src/main/java/com/bellmann/service/DeviceStaticService.java b/src/main/java/com/bellmann/service/DeviceStaticService.java index 88b946c..5c04fdf 100644 --- a/src/main/java/com/bellmann/service/DeviceStaticService.java +++ b/src/main/java/com/bellmann/service/DeviceStaticService.java @@ -1,6 +1,8 @@ package com.bellmann.service; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.bellmann.common.result.Result; +import com.bellmann.model.form.EquipmentDetailForm; import com.bellmann.model.query.SelectQuery; import com.bellmann.model.vo.EquipmentVO; @@ -10,4 +12,7 @@ public interface DeviceStaticService { Page resourcePage(SelectQuery query); Map resourceDeviceDetail(Long devId); + + Result editResourceEquipment(EquipmentDetailForm form); + } diff --git a/src/main/java/com/bellmann/service/DomainService.java b/src/main/java/com/bellmann/service/DomainService.java index 6232ca8..897ee80 100644 --- a/src/main/java/com/bellmann/service/DomainService.java +++ b/src/main/java/com/bellmann/service/DomainService.java @@ -53,4 +53,6 @@ public interface DomainService { */ Result>> transferOption(); + void refreshDomainCache(); + } diff --git a/src/main/java/com/bellmann/service/impl/DeviceStaticServiceImpl.java b/src/main/java/com/bellmann/service/impl/DeviceStaticServiceImpl.java index 3b9974b..7eae62f 100644 --- a/src/main/java/com/bellmann/service/impl/DeviceStaticServiceImpl.java +++ b/src/main/java/com/bellmann/service/impl/DeviceStaticServiceImpl.java @@ -1,16 +1,22 @@ package com.bellmann.service.impl; import cn.hutool.core.map.MapUtil; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.bellmann.common.base.IBaseEnum; +import com.bellmann.common.constant.SecurityConstants; import com.bellmann.common.constant.StringUtilsConstants; import com.bellmann.common.enums.DevOnlineEnum; import com.bellmann.common.enums.DevStatusEnum; +import com.bellmann.common.result.Result; import com.bellmann.converter.DeviceStaticConverter; import com.bellmann.manger.CustomerManager; import com.bellmann.manger.DeviceTypeManager; +import com.bellmann.manger.IpAddressDomainManager; import com.bellmann.mapper.DeviceStaticMapper; import com.bellmann.model.bo.EquipmentBO; +import com.bellmann.model.entity.DeviceStatic; +import com.bellmann.model.form.EquipmentDetailForm; import com.bellmann.model.query.SelectQuery; import com.bellmann.model.vo.EquipmentCustomerVO; import com.bellmann.model.vo.EquipmentDetailVO; @@ -18,6 +24,7 @@ import com.bellmann.model.vo.EquipmentTypeVO; import com.bellmann.model.vo.EquipmentVO; import com.bellmann.service.DeviceStaticService; import lombok.RequiredArgsConstructor; +import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; import java.util.List; @@ -33,6 +40,11 @@ public class DeviceStaticServiceImpl implements DeviceStaticService { private final DeviceTypeManager deviceTypeManager; private final CustomerManager customerManager; + + private final IpAddressDomainManager ipAddressDomainManager; + + private final RedisTemplate redisTemplate; + @Override public Page resourcePage(SelectQuery query) { int pageNum = query.getPageNum(); @@ -64,12 +76,35 @@ public class DeviceStaticServiceImpl implements DeviceStaticService { }else { detailVO.setLoginId(detailVO.getDevRemark4()); } + if(detailVO.getDevIp()!=null&& !detailVO.getDevIp().isEmpty()){ + detailVO.setPlaceName(ipAddressDomainManager.getIpAddressDomain(detailVO.getDevIp())); + }else { + detailVO.setPlaceName("/"); + } + detailVO.setRegionAreaName( + (String) redisTemplate.opsForHash() + .get(SecurityConstants.DOMAIN_PREFIX, + detailVO.getRegionAreaId().toString()) + ); return MapUtil .builder() - .put("detailVO",detailVO) - .put("typeVO",typeVO) - .put("customerVO",customerVO) + .put("detail",detailVO) + .put("type",typeVO) + .put("customer",customerVO) .build(); } + + @Override + public Result editResourceEquipment(EquipmentDetailForm form) { + deviceStaticMapper.update(null,new LambdaUpdateWrapper() + .eq(DeviceStatic::getDevId,form.getDevId()) + .set(DeviceStatic::getDevAdNo,form.getDevAdNo()) + .set(DeviceStatic::getDevMac,form.getDevMac()) + .set(DeviceStatic::getDevPppoe,form.getDevPppoe()) + .set(DeviceStatic::getDevSno,form.getDevSno()) + + ); + return Result.success(); + } } diff --git a/src/main/java/com/bellmann/service/impl/DeviceTypeVerServiceImpl.java b/src/main/java/com/bellmann/service/impl/DeviceTypeVerServiceImpl.java index bf69378..bd36166 100644 --- a/src/main/java/com/bellmann/service/impl/DeviceTypeVerServiceImpl.java +++ b/src/main/java/com/bellmann/service/impl/DeviceTypeVerServiceImpl.java @@ -34,15 +34,11 @@ import com.bellmann.service.FileOptionService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; -import org.springframework.scheduling.annotation.Async; -import org.springframework.scheduling.annotation.AsyncResult; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.time.LocalDateTime; -import java.util.Date; import java.util.List; -import java.util.concurrent.Future; import java.util.stream.Collectors; @Service @@ -81,9 +77,24 @@ public class DeviceTypeVerServiceImpl implements DeviceTypeVerService { Long devTypeId = query.getDevTypeId(); Page page = new Page<>(pageNum, pageSize); Page boPage = deviceTypeVerMapper.deviceTypeToVerPage(page, devTypeId); + List records = getDeviceTypeToVerBOS(boPage); + boPage.setRecords(records); return deviceTypeVerConverter.bo2PageVo(boPage); } + private List getDeviceTypeToVerBOS(Page boPage) { + List records = boPage.getRecords(); + records.forEach(deviceTypeToVerBO -> { + FileRecord fileRecord = fileRecordManager.fileRecordJoinFileVerMap(deviceTypeToVerBO.getTypeAndVerId()); + if(fileRecord!=null){ + deviceTypeToVerBO.setFileId(fileRecord.getFileId()); + deviceTypeToVerBO.setFileName(fileRecord.getFileName()); + deviceTypeToVerBO.setFileCreateTime(fileRecord.getFileCreateTime()); + } + }); + return records; + } + @Override public Result updateTypeAndVersionState(Long typeAndVerId) { @@ -280,7 +291,7 @@ public class DeviceTypeVerServiceImpl implements DeviceTypeVerService { fileRecord.setFileServId(1L); fileRecord.setFileUrl(form.getFileUrl()); fileRecord.setFileDesc(form.getFileDesc()); - fileRecord.setFileCreateTime(new Date()); + fileRecord.setFileCreateTime(LocalDateTime.now()); fileRecord.setUserName(SecurityUtils.getUsername()); fileRecordManager.addVendorProfile(fileRecord); fileDevTypeMapManager.insertFileDevTypeVerMap(fileRecord.getFileId(), form.getTypeAndVerId()); diff --git a/src/main/java/com/bellmann/service/impl/DomainServiceImpl.java b/src/main/java/com/bellmann/service/impl/DomainServiceImpl.java index 1d822b6..492c1f5 100644 --- a/src/main/java/com/bellmann/service/impl/DomainServiceImpl.java +++ b/src/main/java/com/bellmann/service/impl/DomainServiceImpl.java @@ -2,6 +2,7 @@ package com.bellmann.service.impl; import cn.hutool.core.collection.CollectionUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.bellmann.common.constant.SecurityConstants; import com.bellmann.common.model.Option; import com.bellmann.common.result.Result; import com.bellmann.common.util.PathUtils; @@ -15,11 +16,11 @@ import com.bellmann.model.vo.DomainVO; import com.bellmann.service.DomainService; import lombok.RequiredArgsConstructor; import org.apache.commons.lang3.StringUtils; +import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; -import java.util.Collections; -import java.util.List; -import java.util.Set; +import javax.annotation.PostConstruct; +import java.util.*; import java.util.stream.Collectors; @Service @@ -30,6 +31,28 @@ public class DomainServiceImpl implements DomainService { private final DomainConverter domainConverter; + private final RedisTemplate redisTemplate; + + /** + * 初始化权限缓存 + */ + @PostConstruct + public void initDomainCache() { + refreshDomainCache(); + } + + @Override + public void refreshDomainCache() { + redisTemplate.delete(SecurityConstants.DOMAIN_PREFIX); + List list = domainMapper.selectList(new LambdaQueryWrapper<>()); + List newDomains = PathUtils.objBuildPath(list); + Map map = new HashMap<>(); + for (Domain domain:newDomains){ + map.put(String.valueOf(domain.getGroupId()), domain.getGroupName()); + } + redisTemplate.opsForHash().putAll(SecurityConstants.DOMAIN_PREFIX,map); + } + @Override public List list(DomainQuery domainQuery) { String keywords = domainQuery.getKeywords(); @@ -114,6 +137,7 @@ public class DomainServiceImpl implements DomainService { } Domain domain = domainConverter.form2Entity(domainForm); int rows = domainMapper.insert(domain); + refreshDomainCache(); return rows>0?Result.success():Result.failed(); } @@ -124,6 +148,7 @@ public class DomainServiceImpl implements DomainService { new LambdaQueryWrapper() .eq(Domain::getGroupId, groupId) ); + refreshDomainCache(); return rows>0? Result.success() :Result.failed(); } @@ -143,6 +168,7 @@ public class DomainServiceImpl implements DomainService { } Domain domain = domainConverter.form2Entity(domainForm); int row = domainMapper.update(domain, new LambdaQueryWrapper().eq(Domain::getId, domain.getId())); + refreshDomainCache(); return row>0?Result.success():Result.failed(); } diff --git a/src/main/java/com/bellmann/service/impl/FileRecordServiceImpl.java b/src/main/java/com/bellmann/service/impl/FileRecordServiceImpl.java index 3e6163f..84bfc34 100644 --- a/src/main/java/com/bellmann/service/impl/FileRecordServiceImpl.java +++ b/src/main/java/com/bellmann/service/impl/FileRecordServiceImpl.java @@ -3,19 +3,18 @@ package com.bellmann.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.bellmann.converter.FileRecordConverter; -import com.bellmann.model.entity.FileRecord; import com.bellmann.mapper.FileRecordMapper; +import com.bellmann.model.entity.FileRecord; import com.bellmann.model.form.FileRecordForm; import com.bellmann.model.query.FileRecordQuery; import com.bellmann.model.vo.FileRecordVO; import com.bellmann.security.util.SecurityUtils; import com.bellmann.service.FileRecordService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.RequiredArgsConstructor; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; -import java.util.Date; +import java.time.LocalDateTime; /** *

@@ -56,7 +55,7 @@ public class FileRecordServiceImpl implements FileRecordService { public Integer addFileRecord(FileRecordForm form) { FileRecord fileRecord = fileRecordConverter.form2Entity(form); fileRecord.setUserName(SecurityUtils.getUsername()); - fileRecord.setFileCreateTime(new Date()); + fileRecord.setFileCreateTime(LocalDateTime.now()); fileRecord.setFileServId(1L); return fileRecordMapper.insert(fileRecord); } diff --git a/src/main/java/com/bellmann/service/impl/ServiceServiceImpl.java b/src/main/java/com/bellmann/service/impl/ServiceServiceImpl.java index d96286e..b377ce8 100644 --- a/src/main/java/com/bellmann/service/impl/ServiceServiceImpl.java +++ b/src/main/java/com/bellmann/service/impl/ServiceServiceImpl.java @@ -25,7 +25,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.Date; +import java.time.LocalDateTime; import java.util.List; import java.util.stream.Collectors; @@ -105,7 +105,7 @@ public class ServiceServiceImpl implements ServiceService { public Result addBusinessFile(FileRecordForm form) { FileRecord fileRecord = fileRecordConverter.form2Entity(form); fileRecord.setFileServId(1L); - fileRecord.setFileCreateTime(new Date()); + fileRecord.setFileCreateTime(LocalDateTime.now()); fileRecord.setUserName(SecurityUtils.getUsername()); return Result.success(fileRecordManager.addBusinessFile(fileRecord)); } diff --git a/src/main/resources/mapper/DeviceTypeMapper.xml b/src/main/resources/mapper/DeviceTypeMapper.xml index 859b5ab..bb2c47d 100644 --- a/src/main/resources/mapper/DeviceTypeMapper.xml +++ b/src/main/resources/mapper/DeviceTypeMapper.xml @@ -143,7 +143,8 @@ itms_device_type.dev_vendor_oui, itms_device_type_ver_detail.dev_access_type, itms_device_type_ver.soft_ver, - itms_device_type_ver_detail.old_jkfl as oldCASeparation + itms_device_type_ver_detail.old_jkfl as oldCASeparation, + itms_device_type_ver_detail.dev_type_name as equipmentTypeVer FROM itms_device_type INNER JOIN itms_device_type_ver ON itms_device_type.dev_type_id = itms_device_type_ver.dev_type_id diff --git a/src/main/resources/mapper/DeviceTypeVerMapper.xml b/src/main/resources/mapper/DeviceTypeVerMapper.xml index f652dce..fadc00a 100644 --- a/src/main/resources/mapper/DeviceTypeVerMapper.xml +++ b/src/main/resources/mapper/DeviceTypeVerMapper.xml @@ -6,9 +6,6 @@ SELECT idtv.type_and_ver_id, idtv.soft_ver, - itms_file.file_name, - itms_file.file_id, - itms_file.file_create_time, idtv.audit_time, idtv.audit_user_name, idtv.dev_type_ver_status, @@ -16,8 +13,6 @@ FROM itms_device_type_ver idtv LEFT JOIN itms_device_type_ver_detail idtvd ON idtv.type_and_ver_id = idtvd.type_and_ver_id - LEFT JOIN itms_file_dev_type_ver_map ifdtvm ON ifdtvm.type_and_ver_id = idtv.type_and_ver_id - LEFT JOIN itms_file ON itms_file.file_id = ifdtvm.file_id WHERE idtv.dev_type_id = #{devTypeId} diff --git a/src/main/resources/mapper/FileRecordMapper.xml b/src/main/resources/mapper/FileRecordMapper.xml index 36776d3..a379443 100644 --- a/src/main/resources/mapper/FileRecordMapper.xml +++ b/src/main/resources/mapper/FileRecordMapper.xml @@ -29,6 +29,18 @@ WHERE itms_file_dev_type_ver_map.type_and_ver_id = #{typeAndVerId} - and itms_file.file_type = '1' + and itms_file.file_type = #{fileType} + + diff --git a/src/main/resources/mapper/IpaddressDomainMapper.xml b/src/main/resources/mapper/IpaddressDomainMapper.xml new file mode 100644 index 0000000..2c8805f --- /dev/null +++ b/src/main/resources/mapper/IpaddressDomainMapper.xml @@ -0,0 +1,16 @@ + + + + + + +