16 changed files with 345 additions and 78 deletions
@ -0,0 +1,12 @@ |
|||||||
|
package com.biutag.supervisiondata.mapper.wdpc; |
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||||
|
import com.biutag.supervisiondata.pojo.entity.wdpc.WdpcJJDInstance; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author kami on 2024-12-05 18:10:12 |
||||||
|
* @version 0.0.1 |
||||||
|
* @since 1.8 |
||||||
|
*/ |
||||||
|
public interface WdpcJJDInstanceMapper extends BaseMapper<WdpcJJDInstance> { |
||||||
|
} |
||||||
@ -0,0 +1,28 @@ |
|||||||
|
package com.biutag.supervisiondata.pojo.constants; |
||||||
|
|
||||||
|
import lombok.experimental.UtilityClass; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author kami on 2024-12-05 16:42:39 |
||||||
|
* @version 0.0.1 |
||||||
|
* @since 1.8 |
||||||
|
*/ |
||||||
|
@UtilityClass |
||||||
|
public class RedisKey { |
||||||
|
|
||||||
|
public static final String HATER = "hater"; |
||||||
|
|
||||||
|
public static final String HATER_INFO = "hater:info"; |
||||||
|
|
||||||
|
public static final String INJUSTICE = "injustice"; |
||||||
|
|
||||||
|
public static final String INJUSTICE_INFO = "injustice:info"; |
||||||
|
|
||||||
|
public static final String SUICIDE = "suicide"; |
||||||
|
|
||||||
|
public static final String SUICIDE_INFO = "suicide:info"; |
||||||
|
|
||||||
|
public static final String REVENGE = "revenge"; |
||||||
|
|
||||||
|
public static final String REVENGE_INFO = "revenge:info"; |
||||||
|
} |
||||||
@ -0,0 +1,45 @@ |
|||||||
|
package com.biutag.supervisiondata.pojo.entity.wdpc; |
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType; |
||||||
|
import com.baomidou.mybatisplus.annotation.TableField; |
||||||
|
import com.baomidou.mybatisplus.annotation.TableId; |
||||||
|
import com.baomidou.mybatisplus.annotation.TableName; |
||||||
|
import lombok.Data; |
||||||
|
|
||||||
|
import java.util.Date; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author kami on 2024-12-03 16:44:32 |
||||||
|
* @version 0.0.1 |
||||||
|
* @since 1.8 |
||||||
|
*/ |
||||||
|
@Data |
||||||
|
@TableName("`wdpc_jjd_instance`") |
||||||
|
public class WdpcJJDInstance { |
||||||
|
|
||||||
|
@TableId(value = "id",type = IdType.AUTO) |
||||||
|
Integer id; |
||||||
|
@TableField("jjdbh") |
||||||
|
String jjdbh; |
||||||
|
@TableField("name") |
||||||
|
String name; |
||||||
|
@TableField("id_code") |
||||||
|
String idCode; |
||||||
|
@TableField("mobile") |
||||||
|
String mobile; |
||||||
|
@TableField("model_id") |
||||||
|
Integer modelId; |
||||||
|
@TableField("bjnr") |
||||||
|
String bjnr; |
||||||
|
@TableField("`cjqk`") |
||||||
|
String cjqk; |
||||||
|
@TableField("bjrxm") |
||||||
|
String bjrxm; |
||||||
|
@TableField("bjrzjhm") |
||||||
|
String bjrzjhm; |
||||||
|
@TableField("bjdh") |
||||||
|
String bjdh; |
||||||
|
@TableField("bjsj") |
||||||
|
Date bjsj; |
||||||
|
|
||||||
|
} |
||||||
@ -0,0 +1,15 @@ |
|||||||
|
package com.biutag.supervisiondata.repository; |
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
||||||
|
import com.biutag.supervisiondata.mapper.wdpc.WdpcJJDInstanceMapper; |
||||||
|
import com.biutag.supervisiondata.pojo.entity.wdpc.WdpcJJDInstance; |
||||||
|
import org.springframework.stereotype.Service; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author kami on 2024-12-05 18:10:39 |
||||||
|
* @version 0.0.1 |
||||||
|
* @since 1.8 |
||||||
|
*/ |
||||||
|
@Service |
||||||
|
public class WdpcJJDInstanceRepository extends ServiceImpl<WdpcJJDInstanceMapper, WdpcJJDInstance> { |
||||||
|
} |
||||||
@ -0,0 +1,100 @@ |
|||||||
|
package com.biutag.supervisiondata.rest; |
||||||
|
|
||||||
|
import com.alibaba.fastjson2.JSON; |
||||||
|
import com.alibaba.fastjson2.JSONArray; |
||||||
|
import com.alibaba.fastjson2.JSONObject; |
||||||
|
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.WdpcJJDAi; |
||||||
|
import com.biutag.supervisiondata.pojo.entity.wdpc.WdpcJJDInstance; |
||||||
|
import com.biutag.supervisiondata.repository.WdpcJJDInstanceRepository; |
||||||
|
import lombok.AllArgsConstructor; |
||||||
|
import lombok.extern.slf4j.Slf4j; |
||||||
|
import org.springframework.web.bind.annotation.*; |
||||||
|
|
||||||
|
import java.util.ArrayList; |
||||||
|
import java.util.List; |
||||||
|
import java.util.Optional; |
||||||
|
|
||||||
|
/** |
||||||
|
* 接警单相关 |
||||||
|
* |
||||||
|
* @author kami on 2024-12-05 17:03:37 |
||||||
|
* @version 0.0.1 |
||||||
|
* @since 1.8 |
||||||
|
*/ |
||||||
|
@Slf4j |
||||||
|
@RestController |
||||||
|
@RequestMapping("/jjd") |
||||||
|
@AllArgsConstructor |
||||||
|
public class JJDController { |
||||||
|
|
||||||
|
@GetMapping("/instance/get") |
||||||
|
public String instanceGet(Integer modelId) { |
||||||
|
String res = null; |
||||||
|
switch (modelId) { |
||||||
|
case 55 -> res = (String) RedisDao.getInstance().leftPop(RedisKey.HATER); |
||||||
|
case 56 -> res = (String) RedisDao.getInstance().leftPop(RedisKey.SUICIDE); |
||||||
|
case 57 -> res = (String) RedisDao.getInstance().leftPop(RedisKey.INJUSTICE); |
||||||
|
case 58 -> res = (String) RedisDao.getInstance().leftPop(RedisKey.REVENGE); |
||||||
|
} |
||||||
|
if (res == null) { |
||||||
|
return ""; |
||||||
|
} |
||||||
|
GBaseJJD jjd = JSON.parseObject(res, GBaseJJD.class); |
||||||
|
|
||||||
|
RedisDao.getInstance().set("jjd_instance:".concat(jjd.getJjdbh()), res, 3600L); |
||||||
|
|
||||||
|
return JSONObject.of("id", jjd.getJjdbh(), "data", 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(" - ")).toJSONString(); |
||||||
|
} |
||||||
|
|
||||||
|
private final WdpcJJDInstanceRepository wdpcJJDInstanceRepository; |
||||||
|
|
||||||
|
@CrossOrigin |
||||||
|
@PostMapping("/instance/set") |
||||||
|
public String instanceSet(@RequestBody JSONObject data) { |
||||||
|
String str = (String) RedisDao.getInstance().get("jjd_instance:".concat(data.getString("id"))); |
||||||
|
if(str == null) { |
||||||
|
return ""; |
||||||
|
} |
||||||
|
GBaseJJD jjd = JSON.parseObject(str, GBaseJJD.class); |
||||||
|
|
||||||
|
String res = data.getString("content"); |
||||||
|
res = res.replaceFirst("```json","").replaceAll("```", "").replaceAll("\n",""); |
||||||
|
JSONObject jb = JSON.parseObject(res); |
||||||
|
JSONArray array = jb.getJSONArray("informations"); |
||||||
|
if(array.isEmpty()) { |
||||||
|
return ""; |
||||||
|
} |
||||||
|
log.info("{}", array); |
||||||
|
List<WdpcJJDInstance> aiList = new ArrayList<>(); |
||||||
|
for (int i = 0; i < array.size(); i++) { |
||||||
|
JSONObject obj = array.getJSONObject(i); |
||||||
|
WdpcJJDInstance instance = new WdpcJJDInstance(); |
||||||
|
instance.setBjdh(jjd.getBjdh()); |
||||||
|
instance.setBjrxm(jjd.getBjrxm()); |
||||||
|
instance.setBjrzjhm(jjd.getBjrzjhm()); |
||||||
|
instance.setBjnr(jjd.getBjnr()); |
||||||
|
instance.setCjqk(jjd.getCjqk()); |
||||||
|
instance.setModelId(data.getInteger("modelId")); |
||||||
|
instance.setBjsj(jjd.getBjsj()); |
||||||
|
instance.setJjdbh(data.getString("id")); |
||||||
|
|
||||||
|
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); |
||||||
|
} |
||||||
|
if(!aiList.isEmpty()) { |
||||||
|
wdpcJJDInstanceRepository.saveBatch(aiList); |
||||||
|
} |
||||||
|
return ""; |
||||||
|
} |
||||||
|
} |
||||||
Loading…
Reference in new issue