diff --git a/src/main/java/com/biutag/supervisiondata/mapper/dwd/GBaseJJDMapper.java b/src/main/java/com/biutag/supervisiondata/mapper/dwd/GBaseJJDMapper.java index 71886c0..cbb7e15 100644 --- a/src/main/java/com/biutag/supervisiondata/mapper/dwd/GBaseJJDMapper.java +++ b/src/main/java/com/biutag/supervisiondata/mapper/dwd/GBaseJJDMapper.java @@ -80,6 +80,8 @@ public interface GBaseJJDMapper extends BaseMapper { @Select(" select count(1) from dwd_asj_zhtx_jjd where SUBSTR(jqxzdm, 1, 2) != '99' AND SUBSTR(jqxzdm, 1, 2) != '11' and substr(jqxzdm, 1, 2) != '08' and bjsj >= #{start}") int selectWarningInstanceCount(@Param("start")String start); + @Select("select jjdbh, bjdh,bjrxm ,bjrzjhm, bjnr, cjqk, bjsj from dwd_asj_zhtx_jjd where SUBSTR(jqxzdm, 1, 2) = '08' and bjsj >= #{start}") + List selectJJDList(@Param("start")String start); /** * 家暴 diff --git a/src/main/java/com/biutag/supervisiondata/mapper/wdpc2/WdpcJJDMapper.java b/src/main/java/com/biutag/supervisiondata/mapper/wdpc2/WdpcJJDMapper.java new file mode 100644 index 0000000..a2ae788 --- /dev/null +++ b/src/main/java/com/biutag/supervisiondata/mapper/wdpc2/WdpcJJDMapper.java @@ -0,0 +1,12 @@ +package com.biutag.supervisiondata.mapper.wdpc2; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.biutag.supervisiondata.pojo.entity.wdpc2.WdpcJJD; + +/** + * @author kami on 2024-12-17 15:39:15 + * @version 0.0.1 + * @since 1.8 + */ +public interface WdpcJJDMapper extends BaseMapper { +} diff --git a/src/main/java/com/biutag/supervisiondata/mapper/wdpc2/WdpcJJDResultMapper.java b/src/main/java/com/biutag/supervisiondata/mapper/wdpc2/WdpcJJDResultMapper.java new file mode 100644 index 0000000..5b2cb34 --- /dev/null +++ b/src/main/java/com/biutag/supervisiondata/mapper/wdpc2/WdpcJJDResultMapper.java @@ -0,0 +1,12 @@ +package com.biutag.supervisiondata.mapper.wdpc2; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.biutag.supervisiondata.pojo.entity.wdpc2.WdpcJJDResult; + +/** + * @author kami on 2024-12-17 15:39:45 + * @version 0.0.1 + * @since 1.8 + */ +public interface WdpcJJDResultMapper extends BaseMapper { +} diff --git a/src/main/java/com/biutag/supervisiondata/pojo/constants/RedisKey.java b/src/main/java/com/biutag/supervisiondata/pojo/constants/RedisKey.java index 30dbebd..390e1c6 100644 --- a/src/main/java/com/biutag/supervisiondata/pojo/constants/RedisKey.java +++ b/src/main/java/com/biutag/supervisiondata/pojo/constants/RedisKey.java @@ -27,4 +27,6 @@ public class RedisKey { public static final String REVENGE_INFO = "revenge:info"; public static final String WEIGHT_SCORE = "weight:score"; + + public static final String JJD_CACHE = "jjd:cache"; } diff --git a/src/main/java/com/biutag/supervisiondata/pojo/entity/wdpc2/WdpcJJD.java b/src/main/java/com/biutag/supervisiondata/pojo/entity/wdpc2/WdpcJJD.java new file mode 100644 index 0000000..bca96e4 --- /dev/null +++ b/src/main/java/com/biutag/supervisiondata/pojo/entity/wdpc2/WdpcJJD.java @@ -0,0 +1,38 @@ +package com.biutag.supervisiondata.pojo.entity.wdpc2; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.time.LocalDateTime; + +/** + * @author kami on 2024-12-17 15:36:11 + * @version 0.0.1 + * @since 1.8 + */ +@Data +@TableName("`wdpc_jjd`") +public class WdpcJJD { + + /** + * 主键 + */ + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + String jjdbh; + + String bjnr; + + String cjqk; + + String bjrxm; + + String bjrzjhm; + + String bjdh; + + LocalDateTime bjsj; +} diff --git a/src/main/java/com/biutag/supervisiondata/pojo/entity/wdpc2/WdpcJJDResult.java b/src/main/java/com/biutag/supervisiondata/pojo/entity/wdpc2/WdpcJJDResult.java new file mode 100644 index 0000000..89b7131 --- /dev/null +++ b/src/main/java/com/biutag/supervisiondata/pojo/entity/wdpc2/WdpcJJDResult.java @@ -0,0 +1,32 @@ +package com.biutag.supervisiondata.pojo.entity.wdpc2; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +/** + * @author kami on 2024-12-17 15:38:07 + * @version 0.0.1 + * @since 1.8 + */ +@Data +@TableName("`wdpc_jjd_result`") +public class WdpcJJDResult { + + /** + * 主键 + */ + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + String jjdbh; + + Integer modelId; + + String name; + + String idCode; + + String mobile; +} diff --git a/src/main/java/com/biutag/supervisiondata/repository/WdpcJJDRepository.java b/src/main/java/com/biutag/supervisiondata/repository/WdpcJJDRepository.java new file mode 100644 index 0000000..927ece3 --- /dev/null +++ b/src/main/java/com/biutag/supervisiondata/repository/WdpcJJDRepository.java @@ -0,0 +1,15 @@ +package com.biutag.supervisiondata.repository; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.biutag.supervisiondata.mapper.wdpc2.WdpcJJDMapper; +import com.biutag.supervisiondata.pojo.entity.wdpc2.WdpcJJD; +import org.springframework.stereotype.Service; + +/** + * @author kami on 2024-12-17 15:40:58 + * @version 0.0.1 + * @since 1.8 + */ +@Service +public class WdpcJJDRepository extends ServiceImpl { +} diff --git a/src/main/java/com/biutag/supervisiondata/repository/WdpcJJDResultRepository.java b/src/main/java/com/biutag/supervisiondata/repository/WdpcJJDResultRepository.java new file mode 100644 index 0000000..c7ecfe5 --- /dev/null +++ b/src/main/java/com/biutag/supervisiondata/repository/WdpcJJDResultRepository.java @@ -0,0 +1,15 @@ +package com.biutag.supervisiondata.repository; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.biutag.supervisiondata.mapper.wdpc2.WdpcJJDResultMapper; +import com.biutag.supervisiondata.pojo.entity.wdpc2.WdpcJJDResult; +import org.springframework.stereotype.Service; + +/** + * @author kami on 2024-12-17 15:40:23 + * @version 0.0.1 + * @since 1.8 + */ +@Service +public class WdpcJJDResultRepository extends ServiceImpl { +} diff --git a/src/main/java/com/biutag/supervisiondata/rest/JJDController.java b/src/main/java/com/biutag/supervisiondata/rest/JJDController.java index a76ea91..f234c3c 100644 --- a/src/main/java/com/biutag/supervisiondata/rest/JJDController.java +++ b/src/main/java/com/biutag/supervisiondata/rest/JJDController.java @@ -3,16 +3,19 @@ package com.biutag.supervisiondata.rest; import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSONArray; import com.alibaba.fastjson2.JSONObject; +import com.biutag.supervisiondata.common.response.RS; import com.biutag.supervisiondata.config.cache.RedisDao; import com.biutag.supervisiondata.pojo.constants.Prompt; import com.biutag.supervisiondata.pojo.constants.RedisKey; import com.biutag.supervisiondata.pojo.entity.dwd.GBaseJJD; import com.biutag.supervisiondata.pojo.entity.wdpc.WdpcJJDInstance; import com.biutag.supervisiondata.repository.WdpcJJDInstanceRepository; +import com.biutag.supervisiondata.service.AiService; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; +import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; import java.util.Optional; @@ -56,6 +59,15 @@ public class JJDController { private final WdpcJJDInstanceRepository wdpcJJDInstanceRepository; + private final AiService aiService; + + @GetMapping("/sync") + public RS sync() { + LocalDateTime time = LocalDateTime.now().minusYears(1); + aiService.pullContradict(time); + return RS.success(); + } + @CrossOrigin @PostMapping("/instance/set") public String instanceSet(@RequestBody JSONObject data) { diff --git a/src/main/java/com/biutag/supervisiondata/service/AiService.java b/src/main/java/com/biutag/supervisiondata/service/AiService.java new file mode 100644 index 0000000..07dc6a9 --- /dev/null +++ b/src/main/java/com/biutag/supervisiondata/service/AiService.java @@ -0,0 +1,13 @@ +package com.biutag.supervisiondata.service; + +import java.time.LocalDateTime; + +/** + * @author kami on 2024-12-17 15:41:55 + * @version 0.0.1 + * @since 1.8 + */ +public interface AiService { + + void pullContradict(LocalDateTime time); +} diff --git a/src/main/java/com/biutag/supervisiondata/service/impl/AiServiceImpl.java b/src/main/java/com/biutag/supervisiondata/service/impl/AiServiceImpl.java new file mode 100644 index 0000000..5894f73 --- /dev/null +++ b/src/main/java/com/biutag/supervisiondata/service/impl/AiServiceImpl.java @@ -0,0 +1,55 @@ +package com.biutag.supervisiondata.service.impl; + +import com.alibaba.fastjson2.JSON; +import com.biutag.supervisiondata.config.cache.RedisDao; +import com.biutag.supervisiondata.pojo.constants.RedisKey; +import com.biutag.supervisiondata.pojo.entity.dwd.GBaseJJD; +import com.biutag.supervisiondata.pojo.entity.wdpc2.WdpcJJD; +import com.biutag.supervisiondata.repository.GBaseJJDRepository; +import com.biutag.supervisiondata.repository.WdpcJJDRepository; +import com.biutag.supervisiondata.service.AiService; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import java.time.LocalDateTime; +import java.time.ZoneId; +import java.time.format.DateTimeFormatter; +import java.util.List; + +/** + * @author kami on 2024-12-17 15:42:02 + * @version 0.0.1 + * @since 1.8 + */ +@Slf4j +@Service +@AllArgsConstructor +public class AiServiceImpl implements AiService { + + private final GBaseJJDRepository jjdRepository; + + private final WdpcJJDRepository wdpcJJDRepository; + + @Override + public void pullContradict(LocalDateTime time) { + RedisDao.getInstance().removeListAll(RedisKey.JJD_CACHE); + + String t = time.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); + List jjdList = jjdRepository.getBaseMapper().selectJJDList(t); + + RedisDao.getInstance().pipeLineExec((connection, key, value) -> jjdList.forEach(gBaseJJD -> { + WdpcJJD jjd = new WdpcJJD(); + jjd.setJjdbh(gBaseJJD.getJjdbh()); + jjd.setBjnr(gBaseJJD.getBjnr()); + jjd.setCjqk(gBaseJJD.getCjqk()); + jjd.setBjdh(gBaseJJD.getBjdh()); + jjd.setBjrxm(gBaseJJD.getBjrxm()); + jjd.setBjrzjhm(gBaseJJD.getBjrzjhm()); + try { + jjd.setBjsj(gBaseJJD.getBjsj().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime()); + } catch (Exception e) {} + connection.rPush(key.serialize(RedisKey.JJD_CACHE), value.serialize(JSON.toJSONString(jjd))); + })); + } +}