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