Przeglądaj źródła

feat: 增加校验案件编号、警情编号

黄资权 1 rok temu
rodzic
commit
cb77a59fdb

+ 25 - 2
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/business/api/impl/ApiV3ApproveBusinessImpl.java

@@ -21,6 +21,8 @@ import com.dragonsoft.dcuc.approve.model.resp.bim.ZeroTrustAppItemUserTokenInfoR
 import com.dragonsoft.dcuc.approve.model.resp.bim.ZeroTrustAppTokenInfoRespVO;
 import com.dragonsoft.dcuc.approve.model.vo.dcuc.ApiPoliceResultVo;
 import com.dragonsoft.dcuc.approve.model.vo.dcuc.UserContactVo;
+import com.dragonsoft.dcuc.approve.service.resource.IAjInfoService;
+import com.dragonsoft.dcuc.approve.service.resource.IJqInfoService;
 import com.dragonsoft.duceap.base.entity.http.ResponseDTO;
 import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
 import com.dragonsoft.duceap.base.entity.security.SecurityUser;
@@ -54,6 +56,20 @@ public class ApiV3ApproveBusinessImpl implements IApiV3ApproveBusiness {
 
     private IDcucBusiness dcucBusiness;
 
+    private IAjInfoService ajInfoService;
+
+    private IJqInfoService jqInfoService;
+
+    @Autowired
+    public void setJqInfoService(IJqInfoService jqInfoService) {
+        this.jqInfoService = jqInfoService;
+    }
+
+    @Autowired
+    public void setAjInfoService(IAjInfoService ajInfoService) {
+        this.ajInfoService = ajInfoService;
+    }
+
     @Autowired
     public void setDcucBusiness(IDcucBusiness dcucBusiness) {
         this.dcucBusiness = dcucBusiness;
@@ -255,8 +271,15 @@ public class ApiV3ApproveBusinessImpl implements IApiV3ApproveBusiness {
         if (StrUtil.isAllBlank(jqbh, ajbh)) {
             return ResponseUtil.dtoFail("警情编号、案件编号其中一个必填");
         }
-        //todo 校验警情编号是否存在
-        //todo 校验案件编号是否存在
+        // 校验警情编号是否存在
+        if (!jqInfoService.exitsJqbh(jqbh)) {
+            return ResponseUtil.dtoFail(String.format("警情编号:%s 不存在", jqbh));
+        }
+
+        // 校验案件编号是否存在
+        if (!ajInfoService.exitsAjbh(ajbh)) {
+            return ResponseUtil.dtoFail(String.format("案件编号:%s 不存在", ajbh));
+        }
 
         approvalInfoReqVO.setFlowType(FlowTypeEnum.TASK.getValue());
 

+ 15 - 0
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/mapper/resource/AjInfoMapper.java

@@ -0,0 +1,15 @@
+package com.dragonsoft.dcuc.approve.mapper.resource;
+
+import com.dragonsoft.dcuc.approve.model.resource.AjInfo;
+import com.dragonsoft.duceap.mybaitsplus.core.BaseMybatisMapper;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author huangziquan
+ * @date 2024/3/1
+ */
+public interface AjInfoMapper extends BaseMybatisMapper<AjInfo> {
+}

+ 16 - 0
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/mapper/resource/JqInfoMapper.java

@@ -0,0 +1,16 @@
+package com.dragonsoft.dcuc.approve.mapper.resource;
+
+import com.dragonsoft.dcuc.approve.model.ApproveActRunTask;
+import com.dragonsoft.dcuc.approve.model.resource.JqInfo;
+import com.dragonsoft.duceap.mybaitsplus.core.BaseMybatisMapper;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author huangziquan
+ * @date 2024/3/1¡
+ */
+public interface JqInfoMapper extends BaseMybatisMapper<JqInfo> {
+}

+ 67 - 0
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/model/resource/AjInfo.java

@@ -0,0 +1,67 @@
+package com.dragonsoft.dcuc.approve.model.resource;
+
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Data;
+import org.apache.ibatis.type.JdbcType;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * 案件信息
+ * 现场通过ETL同步到此
+ * </p>
+ *
+ * @author huangziquan
+ * @date 2024/3/1
+ */
+@Data
+@TableName("t_aj_info")
+public class AjInfo {
+    /**¡¡
+     * 标识ID
+     */
+    @TableId(type = IdType.UUID)
+    private String fhxtsjwybsid;
+    /**
+     * 来源系统
+     */
+    private String sjcjlyxt;
+    /**
+     * 案件名称
+     */
+    private String ajmc;
+    /**
+     * 案件编号
+     */
+    private String ajbh;
+    /**
+     * 受理单位_信息代码
+     */
+    private String sldwXxdm02;
+    /**
+     * 是否删除
+     */
+    @TableLogic
+    private String xxscPdbz;
+    /**
+     * 采集时间
+     */
+    @TableField(jdbcType = JdbcType.TIMESTAMP)
+    private Date cjsj;
+    /**
+     * 更新时间
+     */
+    @TableField(jdbcType = JdbcType.TIMESTAMP)
+    private Date gxsj;
+    /**
+     * 同步表创建时间
+     */
+    @TableField(jdbcType = JdbcType.TIMESTAMP)
+    private Date createTime;
+    /**
+     * 同步表更新时间
+     */
+    @TableField(jdbcType = JdbcType.TIMESTAMP)
+    private Date updateTime;
+}

+ 67 - 0
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/model/resource/JqInfo.java

@@ -0,0 +1,67 @@
+package com.dragonsoft.dcuc.approve.model.resource;
+
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Data;
+import org.apache.ibatis.type.JdbcType;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * 警情信息
+ * 现场通过ETL同步到此
+ * </p>
+ *
+ * @author huangziquan
+ * @date 2024/3/1
+ */
+@Data
+@TableName("t_jq_info")
+public class JqInfo {
+    /**
+     * 标识ID
+     */
+    @TableId(type = IdType.UUID)
+    private String fhxtsjwybsid;
+    /**
+     * 接警单_信息编号
+     */
+    private String jijdXxbh;
+    /**
+     * 接警单位_公安机关机构代码
+     */
+    private String jjdwGajgjgdm;
+    /**
+     * 受理单_信息编号
+     */
+    private String sldXxbh;
+    /**
+     * 接警_状态_信息代码
+     */
+    private String jjnZtaXxdm02;
+    /**
+     * 是否删除
+     */
+    @TableLogic
+    private String xxscPdbz;
+    /**
+     * 采集时间
+     */
+    @TableField(jdbcType = JdbcType.TIMESTAMP)
+    private Date cjsj;
+    /**
+     * 更新时间
+     */
+    @TableField(jdbcType = JdbcType.TIMESTAMP)
+    private Date gxsj;
+    /**
+     * 同步表创建时间
+     */
+    @TableField(jdbcType = JdbcType.TIMESTAMP)
+    private Date createTime;
+    /**
+     * 同步表更新时间
+     */
+    @TableField(jdbcType = JdbcType.TIMESTAMP)
+    private Date updateTime;
+}

+ 20 - 0
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/service/resource/IAjInfoService.java

@@ -0,0 +1,20 @@
+package com.dragonsoft.dcuc.approve.service.resource;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author huangziquan
+ * @date 2024/3/1
+ */
+public interface IAjInfoService {
+
+    /**
+     * 是否存在案件编号
+     *
+     * @param ajbh 案件编号
+     * @return 是否存在
+     */
+    boolean exitsAjbh(String ajbh);
+}

+ 21 - 0
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/service/resource/IJqInfoService.java

@@ -0,0 +1,21 @@
+package com.dragonsoft.dcuc.approve.service.resource;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author huangziquan
+ * @date 2024/3/1
+ */
+public interface IJqInfoService {
+
+    /**
+     * 是否存在警情编号
+     *
+     * @param jqbh 警情编号
+     * @return 是否存在
+     */
+    boolean exitsJqbh(String jqbh);
+
+}

+ 41 - 0
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/service/resource/impl/AjInfoServiceImpl.java

@@ -0,0 +1,41 @@
+package com.dragonsoft.dcuc.approve.service.resource.impl;
+
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.dragonsoft.dcuc.approve.mapper.resource.AjInfoMapper;
+import com.dragonsoft.dcuc.approve.model.resource.AjInfo;
+import com.dragonsoft.dcuc.approve.service.resource.IAjInfoService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author huangziquan
+ * @date 2024/3/1
+ */
+@Component
+public class AjInfoServiceImpl implements IAjInfoService {
+
+    private AjInfoMapper ajInfoMapper;
+
+    @Autowired
+    public void setAjInfoMapper(AjInfoMapper ajInfoMapper) {
+        this.ajInfoMapper = ajInfoMapper;
+    }
+
+    @Override
+    public boolean exitsAjbh(String ajbh) {
+        LambdaQueryWrapper<AjInfo> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.eq(AjInfo::getAjbh, ajbh);
+
+        Integer count = ajInfoMapper.selectCount(queryWrapper);
+        if (ObjectUtil.isNull(count)) {
+            return false;
+        }
+        return count > 0;
+    }
+}

+ 42 - 0
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/service/resource/impl/JqInfoServiceImpl.java

@@ -0,0 +1,42 @@
+package com.dragonsoft.dcuc.approve.service.resource.impl;
+
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.dragonsoft.dcuc.approve.mapper.resource.JqInfoMapper;
+import com.dragonsoft.dcuc.approve.model.resource.AjInfo;
+import com.dragonsoft.dcuc.approve.model.resource.JqInfo;
+import com.dragonsoft.dcuc.approve.service.resource.IJqInfoService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author huangziquan
+ * @date 2024/3/1
+ */
+@Service
+public class JqInfoServiceImpl implements IJqInfoService {
+
+    private JqInfoMapper jqInfoMapper;
+
+    @Autowired
+    public void setJqInfoMapper(JqInfoMapper jqInfoMapper) {
+        this.jqInfoMapper = jqInfoMapper;
+    }
+
+    @Override
+    public boolean exitsJqbh(String jqbh) {
+        LambdaQueryWrapper<JqInfo> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.eq(JqInfo::getJijdXxbh, jqbh);
+
+        Integer count = jqInfoMapper.selectCount(queryWrapper);
+        if (ObjectUtil.isNull(count)) {
+            return false;
+        }
+        return count > 0;
+    }
+}

+ 36 - 0
approve-core-service/src/main/resources/config/mysql/V1_1_0020__add_jqinfo_ajinfo.sql

@@ -0,0 +1,36 @@
+DROP TABLE IF EXISTS t_aj_info;
+CREATE TABLE t_aj_info
+(
+    `FHXTSJWYBSID` VARCHAR(32) NOT NULL COMMENT '标识ID',
+    `SJCJLYXT`     VARCHAR(255) COMMENT '来源系统',
+    `AJMC`         VARCHAR(255) COMMENT '案件名称',
+    `AJBH`         VARCHAR(90) NOT NULL COMMENT '案件编号',
+    `SLDW_XXDM02`  VARCHAR(90) COMMENT '受理单位_信息代码',
+    `XXSC_PDBZ`    VARCHAR(1)  NOT NULL COMMENT '是否删除',
+    `CJSJ`         DATETIME COMMENT '采集时间',
+    `GXSJ`         DATETIME COMMENT '更新时间',
+    `CREATE_TIME`  DATETIME    NOT NULL COMMENT '同步表创建时间',
+    `UPDATE_TIME`  DATETIME COMMENT '同步表更新时间',
+    PRIMARY KEY (FHXTSJWYBSID)
+) COMMENT = '案件信息';
+
+CREATE INDEX IDX_AJBH ON t_aj_info (AJBH, XXSC_PDBZ);
+
+DROP TABLE IF EXISTS t_jq_info;
+CREATE TABLE t_jq_info
+(
+    `FHXTSJWYBSID`   VARCHAR(32) NOT NULL COMMENT '标识ID',
+    `JIJD_XXBH`      VARCHAR(90) NOT NULL COMMENT '接警单_信息编号',
+    `JJDW_GAJGJGDM`  VARCHAR(255) COMMENT '接警单位_公安机关机构代码',
+    `SLD_XXBH`       VARCHAR(255) COMMENT '受理单_信息编号',
+    `JJN_ZTA_XXDM02` VARCHAR(255) COMMENT '接警_状态_信息代码',
+    `XXSC_PDBZ`      VARCHAR(1)  NOT NULL COMMENT '是否删除',
+    `CJSJ`           DATETIME COMMENT '采集时间',
+    `GXSJ`           DATETIME COMMENT '更新时间',
+    `CREATE_TIME`    DATETIME    NOT NULL COMMENT '同步表创建时间',
+    `UPDATE_TIME`    DATETIME COMMENT '同步表更新时间',
+    PRIMARY KEY (FHXTSJWYBSID)
+) COMMENT = '警情信息';
+
+
+CREATE INDEX IDX_JJDBH ON t_jq_info (JIJD_XXBH, XXSC_PDBZ);