kami 1 year ago
parent
commit
7a48c807bc
  1. 4
      src/main/java/com/biutag/supervisiondata/mapper/wdpc2/WdpcJJDMapper.java
  2. 18
      src/main/java/com/biutag/supervisiondata/pojo/domain/AiData.java
  3. 19
      src/main/java/com/biutag/supervisiondata/pojo/domain/AiResult.java
  4. 48
      src/main/java/com/biutag/supervisiondata/rest/JJDController.java
  5. 5
      src/main/java/com/biutag/supervisiondata/service/impl/AiServiceImpl.java

4
src/main/java/com/biutag/supervisiondata/mapper/wdpc2/WdpcJJDMapper.java

@ -2,6 +2,7 @@ package com.biutag.supervisiondata.mapper.wdpc2;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.biutag.supervisiondata.pojo.entity.wdpc2.WdpcJJD; import com.biutag.supervisiondata.pojo.entity.wdpc2.WdpcJJD;
import org.apache.ibatis.annotations.Update;
/** /**
* @author kami on 2024-12-17 15:39:15 * @author kami on 2024-12-17 15:39:15
@ -9,4 +10,7 @@ import com.biutag.supervisiondata.pojo.entity.wdpc2.WdpcJJD;
* @since 1.8 * @since 1.8
*/ */
public interface WdpcJJDMapper extends BaseMapper<WdpcJJD> { public interface WdpcJJDMapper extends BaseMapper<WdpcJJD> {
@Update("truncate table wdpc_jjd")
int truncateTable();
} }

18
src/main/java/com/biutag/supervisiondata/pojo/domain/AiData.java

@ -0,0 +1,18 @@
package com.biutag.supervisiondata.pojo.domain;
import lombok.Data;
import java.io.Serializable;
/**
* @author kami on 2024-12-17 16:05:03
* @version 0.0.1
* @since 1.8
*/
@Data
public class AiData implements Serializable {
String id;
String content;
}

19
src/main/java/com/biutag/supervisiondata/pojo/domain/AiResult.java

@ -0,0 +1,19 @@
package com.biutag.supervisiondata.pojo.domain;
import lombok.Data;
import java.io.Serializable;
/**
* @author kami on 2024-12-17 16:07:56
* @version 0.0.1
* @since 1.8
*/
@Data
public class AiResult implements Serializable {
String id;
String result;
}

48
src/main/java/com/biutag/supervisiondata/rest/JJDController.java

@ -7,9 +7,14 @@ import com.biutag.supervisiondata.common.response.RS;
import com.biutag.supervisiondata.config.cache.RedisDao; import com.biutag.supervisiondata.config.cache.RedisDao;
import com.biutag.supervisiondata.pojo.constants.Prompt; import com.biutag.supervisiondata.pojo.constants.Prompt;
import com.biutag.supervisiondata.pojo.constants.RedisKey; import com.biutag.supervisiondata.pojo.constants.RedisKey;
import com.biutag.supervisiondata.pojo.domain.AiData;
import com.biutag.supervisiondata.pojo.domain.AiResult;
import com.biutag.supervisiondata.pojo.entity.dwd.GBaseJJD; import com.biutag.supervisiondata.pojo.entity.dwd.GBaseJJD;
import com.biutag.supervisiondata.pojo.entity.wdpc.WdpcJJDInstance; import com.biutag.supervisiondata.pojo.entity.wdpc.WdpcJJDInstance;
import com.biutag.supervisiondata.pojo.entity.wdpc2.WdpcJJD;
import com.biutag.supervisiondata.pojo.entity.wdpc2.WdpcJJDResult;
import com.biutag.supervisiondata.repository.WdpcJJDInstanceRepository; import com.biutag.supervisiondata.repository.WdpcJJDInstanceRepository;
import com.biutag.supervisiondata.repository.WdpcJJDResultRepository;
import com.biutag.supervisiondata.service.AiService; import com.biutag.supervisiondata.service.AiService;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -68,6 +73,49 @@ public class JJDController {
return RS.success(); return RS.success();
} }
@GetMapping("/ai/get")
public String aiGet() {
String data = (String) RedisDao.getInstance().leftPop(RedisKey.JJD_CACHE);
WdpcJJD jjd = JSON.parseObject(data, WdpcJJD.class);
AiData aiData = new AiData();
aiData.setContent(String.format(Prompt.NORMAL,
Optional.ofNullable(jjd.getBjrxm()).orElse(" - "),
Optional.ofNullable(jjd.getBjrzjhm()).orElse(" - "),
Optional.ofNullable(jjd.getBjdh()).orElse(" - "),
Optional.ofNullable(jjd.getBjnr()).orElse(" - "),
Optional.ofNullable(jjd.getCjqk()).orElse(" - ")));
aiData.setId(jjd.getJjdbh());
return JSON.toJSONString(aiData);
}
private final WdpcJJDResultRepository resultRepository;
@CrossOrigin
@PostMapping("/ai/set")
public String aiSet(@RequestBody AiResult result) {
String res = result.getResult().replaceFirst("```json", "").replaceAll("```", "").replaceAll("\n", "");
JSONObject jb = JSON.parseObject(res);
JSONArray array = jb.getJSONArray("informations");
Integer modelId = jb.getInteger("type");
if (array.isEmpty()) {
return "";
}
log.info("{}", array);
List<WdpcJJDResult> aiList = new ArrayList<>();
for (int i = 0; i < array.size(); i++) {
JSONObject obj = array.getJSONObject(i);
WdpcJJDResult instance = new WdpcJJDResult();
instance.setModelId(modelId);
instance.setJjdbh(result.getId());
instance.setMobile(Optional.ofNullable(obj.getString("mobile")).orElse(""));
instance.setName(Optional.ofNullable(obj.getString("name")).orElse(""));
instance.setIdCode(Optional.ofNullable(obj.getString("idCode")).orElse(""));
aiList.add(instance);
}
resultRepository.saveBatch(aiList);
return "";
}
@CrossOrigin @CrossOrigin
@PostMapping("/instance/set") @PostMapping("/instance/set")
public String instanceSet(@RequestBody JSONObject data) { public String instanceSet(@RequestBody JSONObject data) {

5
src/main/java/com/biutag/supervisiondata/service/impl/AiServiceImpl.java

@ -15,6 +15,7 @@ import org.springframework.stereotype.Service;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.ZoneId; import java.time.ZoneId;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.List; import java.util.List;
/** /**
@ -34,10 +35,12 @@ public class AiServiceImpl implements AiService {
@Override @Override
public void pullContradict(LocalDateTime time) { public void pullContradict(LocalDateTime time) {
RedisDao.getInstance().removeListAll(RedisKey.JJD_CACHE); RedisDao.getInstance().removeListAll(RedisKey.JJD_CACHE);
wdpcJJDRepository.getBaseMapper().truncateTable();
String t = time.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); String t = time.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
List<GBaseJJD> jjdList = jjdRepository.getBaseMapper().selectJJDList(t); List<GBaseJJD> jjdList = jjdRepository.getBaseMapper().selectJJDList(t);
List<WdpcJJD> wdpcJJDS = new ArrayList<>();
RedisDao.getInstance().pipeLineExec((connection, key, value) -> jjdList.forEach(gBaseJJD -> { RedisDao.getInstance().pipeLineExec((connection, key, value) -> jjdList.forEach(gBaseJJD -> {
WdpcJJD jjd = new WdpcJJD(); WdpcJJD jjd = new WdpcJJD();
jjd.setJjdbh(gBaseJJD.getJjdbh()); jjd.setJjdbh(gBaseJJD.getJjdbh());
@ -46,10 +49,12 @@ public class AiServiceImpl implements AiService {
jjd.setBjdh(gBaseJJD.getBjdh()); jjd.setBjdh(gBaseJJD.getBjdh());
jjd.setBjrxm(gBaseJJD.getBjrxm()); jjd.setBjrxm(gBaseJJD.getBjrxm());
jjd.setBjrzjhm(gBaseJJD.getBjrzjhm()); jjd.setBjrzjhm(gBaseJJD.getBjrzjhm());
wdpcJJDS.add(jjd);
try { try {
jjd.setBjsj(gBaseJJD.getBjsj().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime()); jjd.setBjsj(gBaseJJD.getBjsj().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
} catch (Exception e) {} } catch (Exception e) {}
connection.rPush(key.serialize(RedisKey.JJD_CACHE), value.serialize(JSON.toJSONString(jjd))); connection.rPush(key.serialize(RedisKey.JJD_CACHE), value.serialize(JSON.toJSONString(jjd)));
})); }));
wdpcJJDRepository.saveBatch(wdpcJJDS, 10000);
} }
} }

Loading…
Cancel
Save