From f0b9fe73049ff873a6da7127c60fd3e4f5b6f212 Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期三, 07 八月 2024 09:34:39 +0800 Subject: [PATCH] 点位标签 --- ycl-common/src/main/java/enumeration/general/ProvinceTagEnum.java | 28 +++++++ ycl-pojo/src/main/java/com/ycl/platform/domain/entity/YwPoint.java | 11 ++ ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml | 11 +- ycl-common/src/main/java/enumeration/general/AreaDeptEnum.java | 31 +++++++ ycl-common/src/main/java/enumeration/general/ImportantTagEnum.java | 29 +++++++ ycl-pojo/src/main/java/com/ycl/platform/domain/form/YwPointForm.java | 10 +- ycl-pojo/src/main/java/com/ycl/platform/domain/vo/YwPointVO.java | 10 + ycl-server/src/main/java/com/ycl/task/MonitorTask.java | 37 ++++++++- ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java | 9 -- ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml | 6 + 10 files changed, 153 insertions(+), 29 deletions(-) diff --git a/ycl-common/src/main/java/enumeration/general/AreaDeptEnum.java b/ycl-common/src/main/java/enumeration/general/AreaDeptEnum.java new file mode 100644 index 0000000..28f55b3 --- /dev/null +++ b/ycl-common/src/main/java/enumeration/general/AreaDeptEnum.java @@ -0,0 +1,31 @@ +package enumeration.general; + +import lombok.Getter; + +/** + * 鍖哄煙鏋氫妇 + * + */ +@Getter +public enum AreaDeptEnum { + ZLJQ("鑷祦浜曞尯", "510302", 201), + GJQ("璐′簳鍖�", "510303", 202), + DAQ("澶у畨鍖�", "510304",102), + YTQ("娌挎哗鍖�", "510311",211), + RX("鑽e幙", "510321",203), + FSX("瀵岄『鍘�", "510322",101), + GXQ("楂樻柊鍖�", "510399",210), + ; + + private final String name; + + private final String code; + + private final Integer deptId; + + AreaDeptEnum(String name, String code,Integer deptId) { + this.name = name; + this.code = code; + this.deptId = deptId; + } +} diff --git a/ycl-common/src/main/java/enumeration/general/ImportantTagEnum.java b/ycl-common/src/main/java/enumeration/general/ImportantTagEnum.java new file mode 100644 index 0000000..f902a39 --- /dev/null +++ b/ycl-common/src/main/java/enumeration/general/ImportantTagEnum.java @@ -0,0 +1,29 @@ +package enumeration.general; + +import com.baomidou.mybatisplus.annotation.EnumValue; +import com.fasterxml.jackson.annotation.JsonValue; +import lombok.Getter; + +/** + * 閲嶇偣鐐逛綅鏍囩 + * + */ +@Getter +public enum ImportantTagEnum { + + Important("important", "閲嶇偣鐐逛綅"), + Normal("normal", "鏅�氱偣浣�"), + ; + + @EnumValue // 鏍囨槑璇ュ瓧娈靛瓨鍏ユ暟鎹簱 + @JsonValue // 鏍囨槑鍦ㄨ浆JSON鏃朵娇鐢ㄨ瀛楁锛屽嵆鍝嶅簲鏃� + private final String code; + + private final String desc; + + ImportantTagEnum(String code, String desc) { + this.code = code; + this.desc = desc; + } + +} diff --git a/ycl-common/src/main/java/enumeration/general/ProvinceTagEnum.java b/ycl-common/src/main/java/enumeration/general/ProvinceTagEnum.java new file mode 100644 index 0000000..57373b4 --- /dev/null +++ b/ycl-common/src/main/java/enumeration/general/ProvinceTagEnum.java @@ -0,0 +1,28 @@ +package enumeration.general; + +import com.baomidou.mybatisplus.annotation.EnumValue; +import com.fasterxml.jackson.annotation.JsonValue; +import lombok.Getter; + +/** + * 鐪佸巺鐐逛綅鏍囩 + * + */ +@Getter +public enum ProvinceTagEnum { + Province("province", "鐪佸巺鐐逛綅"), + Normal("normal", "鏅�氱偣浣�"), + ; + + @EnumValue // 鏍囨槑璇ュ瓧娈靛瓨鍏ユ暟鎹簱 + @JsonValue // 鏍囨槑鍦ㄨ浆JSON鏃朵娇鐢ㄨ瀛楁锛屽嵆鍝嶅簲鏃� + private final String code; + + private final String desc; + + ProvinceTagEnum(String code, String desc) { + this.code = code; + this.desc = desc; + } + +} diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/YwPoint.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/YwPoint.java index db2f07a..1ee3b88 100644 --- a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/YwPoint.java +++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/YwPoint.java @@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; import com.ycl.platform.base.AbsEntity; +import enumeration.general.ImportantTagEnum; +import enumeration.general.ProvinceTagEnum; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -61,8 +63,13 @@ @TableField("dept_id") private Long deptId; - @TableField("point_tag") - private String pointTag; + @ApiModelProperty("閲嶇偣鐐逛綅鏍囩") + @TableField("important_tag") + private ImportantTagEnum importantTag; + + @ApiModelProperty("鐪佸巺鐐逛綅鏍囩") + @TableField("province_tag") + private ProvinceTagEnum provinceTag; @TableField("serial_number") private String serialNumber; diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/form/YwPointForm.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/form/YwPointForm.java index 76deb13..5514e75 100644 --- a/ycl-pojo/src/main/java/com/ycl/platform/domain/form/YwPointForm.java +++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/form/YwPointForm.java @@ -6,6 +6,8 @@ import com.ycl.system.domain.group.Add; import com.ycl.platform.base.AbsForm; import com.ycl.platform.domain.entity.YwPoint; +import enumeration.general.ImportantTagEnum; +import enumeration.general.ProvinceTagEnum; import jakarta.validation.constraints.NotEmpty; import org.springframework.beans.BeanUtils; import jakarta.validation.constraints.NotBlank; @@ -43,10 +45,10 @@ @ApiModelProperty("鐩戠閮ㄩ棬") private Long deptId; - @NotEmpty(message = "鐐逛綅鏍囩涓嶈兘涓虹┖", groups = {Add.class, Update.class}) - @ApiModelProperty("鐐逛綅鏍囩") - private List<String> pointTag; - + @ApiModelProperty("鐪佸巺鐐逛綅鏍囩") + private ProvinceTagEnum provinceTag; + @ApiModelProperty("閲嶇偣鐐逛綅鏍囩") + private ImportantTagEnum importantTag; @ApiModelProperty("杩愮淮鐘舵��") private String status; diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/YwPointVO.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/YwPointVO.java index a67e7dc..c2408a2 100644 --- a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/YwPointVO.java +++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/YwPointVO.java @@ -5,6 +5,9 @@ import java.time.LocalDateTime; import java.util.List; + +import enumeration.general.ImportantTagEnum; +import enumeration.general.ProvinceTagEnum; import org.springframework.lang.NonNull; import org.springframework.beans.BeanUtils; import lombok.Data; @@ -46,9 +49,10 @@ private List<Long> deptIds; private String deptName; - /** 鐐逛綅鏍囩 */ - private String [] pointTags; - private String pointTagString; + /** 閲嶇偣鐐逛綅鏍囩 */ + private ImportantTagEnum importantTag; + /** 鐪佸巺鐐逛綅鏍囩 */ + private ProvinceTagEnum provinceTag; public static YwPointVO getVoByEntity(@NonNull YwPoint entity, YwPointVO vo) { if(vo == null) { diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java index b8f6cfd..4cc8a0b 100644 --- a/ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java +++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java @@ -101,7 +101,6 @@ YwPoint entity = baseMapper.selectById(form.getId()); Assert.notNull(entity, "璁板綍涓嶅瓨鍦�"); BeanUtils.copyProperties(form, entity); - entity.setPointTag(form.getPointTag().stream().collect(Collectors.joining(","))); baseMapper.updateById(entity); return Result.ok("淇敼鎴愬姛"); } @@ -141,11 +140,6 @@ public Result page(YwPointQuery query) { IPage<YwPointVO> page = PageUtil.getPage(query, YwPointVO.class); baseMapper.page(page, query); - page.getRecords().stream().forEach(point -> { - if (StringUtils.hasText(point.getPointTagString())) { - point.setPointTags(point.getPointTagString().split(",")); - } - }); return Result.ok().data(page.getRecords()).total(page.getTotal()); } @@ -159,9 +153,6 @@ YwPoint entity = baseMapper.selectById(id); Assert.notNull(entity, "璁板綍涓嶅瓨鍦�"); YwPointVO vo = YwPointVO.getVoByEntity(entity, null); - if (StringUtils.hasText(entity.getPointTag())) { - vo.setPointTags(entity.getPointTag().split(",")); - } if (Objects.nonNull(entity.getDeptId())) { vo.setDeptIds(sysDeptMapper.selectParents(entity.getDeptId())); } diff --git a/ycl-server/src/main/java/com/ycl/task/MonitorTask.java b/ycl-server/src/main/java/com/ycl/task/MonitorTask.java index 0e1d9cb..e53b548 100644 --- a/ycl-server/src/main/java/com/ycl/task/MonitorTask.java +++ b/ycl-server/src/main/java/com/ycl/task/MonitorTask.java @@ -3,10 +3,13 @@ import com.alibaba.druid.support.json.JSONUtils; import com.alibaba.fastjson2.JSONArray; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ycl.platform.domain.entity.TMonitor; +import com.ycl.platform.domain.entity.YwPoint; import com.ycl.platform.domain.result.UY.OneMachineFileResult; import com.ycl.platform.domain.vo.TMonitorVO; import com.ycl.platform.service.ITMonitorService; +import com.ycl.platform.service.YwPointService; import com.ycl.system.entity.SysDictData; import com.ycl.system.service.ISysDictDataService; import com.ycl.utils.DateUtils; @@ -18,6 +21,7 @@ import org.springframework.data.mongodb.core.query.Query; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import java.util.*; @@ -37,40 +41,63 @@ @Autowired private ISysDictDataService dictDataService; @Autowired + private YwPointService ywPointService; + @Autowired private RedisTemplate redisTemplate; //鍚屾mongodb涓�鏈轰竴妗e埌鏁版嵁搴� public void synchronize() { Query query = new Query(Criteria.where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date()))); List<OneMachineFileResult> oneMachineFileResults = mongoTemplate.find(query, OneMachineFileResult.class); + //鏁版嵁搴搈onitor琛ㄦ暟鎹� List<String> serialNumberInBase = monitorService.selectTMonitorList(null).stream().map(TMonitorVO::getSerialNumber).collect(Collectors.toList()); //鍑嗗鎻掑叆鏁版嵁搴撶殑鏁版嵁 List<TMonitor> monitorList = new ArrayList<>(); //鏂扮殑鏁版嵁锛屽師鏁版嵁搴撲腑涓嶅瓨鍦ㄧ殑鏁版嵁 Set<TMonitor> newMonitorList = new HashSet<>(); - + //鐐逛綅鏁版嵁 + Map<String, YwPoint> pointMap = ywPointService.list(new QueryWrapper<YwPoint>()).stream().collect(Collectors.toMap(YwPoint::getSerialNumber, Function.identity())); + //TODO:鎻掑叆鐐逛綅琛� //TODO:瑙f瀽鍖哄煙銆佽ˉ鍏卍eptId - List<SysDictData> areaCodeList = new ArrayList<>(); //TODO:瑙f瀽閲嶇偣鐐逛綅 //閲嶇偣鐐逛綅闆嗗悎瀛楀吀(瑙f瀽SXJCJQY瀛楁) SysDictData sysDictData = new SysDictData(); sysDictData.setDictType("platform_important_site"); List<SysDictData> DictDataList = dictDataService.selectDictDataList(sysDictData); List<String> importantSite = DictDataList.stream().map(SysDictData::getDictValue).collect(Collectors.toList()); - for (OneMachineFileResult result : oneMachineFileResults) { - TMonitor monitor = setMonitor(result); + TMonitor monitor = getMonitor(result); + YwPoint point = getPoint(result,pointMap,importantSite); monitorList.add(monitor); //姣斿绛涢�夊嚭鏂扮殑鏁版嵁 if(!CollectionUtils.isEmpty(serialNumberInBase) && !serialNumberInBase.contains(result.getSBBM())){ newMonitorList.add(monitor); } } + //鎻掑叆鏁版嵁搴� + if(!CollectionUtils.isEmpty(monitorList)){ + monitorService.deleteTMonitorById(null); + monitorService.saveBatch(monitorList); + } //鏂扮殑鏁版嵁鏀惧叆Redis涓瓑寰呰�冩牳鎸囨爣浠诲姟浣跨敤 redisTemplate.opsForValue().set(RedisConstant.New_Monitor_Set, JSONArray.toJSONString(newMonitorList)); + } - private TMonitor setMonitor(OneMachineFileResult result) { + private YwPoint getPoint(OneMachineFileResult result, Map<String, YwPoint> pointMap,List<String> importantSite) { + YwPoint ywPoint = new YwPoint(); + if(pointMap.containsKey(result.getSBBM())){ + ywPoint = pointMap.get(result.getSBBM()); + } + //姣斿鏄惁鏄噸鐐圭偣浣� + if(importantSite.contains(result.getSBBM())){ + + } + + return ywPoint; + } + + private TMonitor getMonitor(OneMachineFileResult result) { TMonitor monitor = new TMonitor(); monitor.setSerialNumber(result.getSBBM()); monitor.setName(result.getSBMC()); diff --git a/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml index 446a57b..62acb31 100644 --- a/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml +++ b/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml @@ -251,7 +251,11 @@ <delete id="deleteTMonitorById" parameterType="Long"> delete from t_monitor - where id = #{id} + <where> + <if test="id !=null"> + id = #{id} + </if> + </where> </delete> <delete id="deleteTMonitorByIds" parameterType="String"> diff --git a/ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml index ead5205..59aac6f 100644 --- a/ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml +++ b/ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml @@ -17,7 +17,8 @@ <result column="create_time" property="createTime" /> <result column="update_time" property="updateTime" /> <result column="category" property="category" /> - <result column="point_tag" property="pointTagString" /> + <result column="province_tag" property="provinceTag" /> + <result column="important_tag" property="importantTag" /> </resultMap> <select id="selectData" resultType="com.ycl.platform.base.BaseSelect"> @@ -28,7 +29,6 @@ SELECT typ.id, typ.point_name, - typ.point_tag, typ.start_time, typ.end_time, typ.unit_id, @@ -39,7 +39,8 @@ typ.remark, typ.create_time, typ.update_time, - typ.point_tag, + typ.important_tag, + typ.province_tag, typ.category FROM t_yw_point typ @@ -67,10 +68,10 @@ select * from t_yw_point <where> <if test="important!=null and important!= '' "> - and point_tag like concat('%', #{important}, '%') + and important_tag = #{important} </if> <if test="province!=null and province!= '' "> - and point_tag like concat('%', #{province}, '%') + and province_tag = #{province} </if> </where> </select> -- Gitblit v1.8.0