From 3d9f10dc4dc7cf691093709a95da816dd5ae94c6 Mon Sep 17 00:00:00 2001
From: masiyuan <1042223811@qq.com>
Date: Wed, 11 Nov 2026 18:01:49 +0800
Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E7=94=A8=E6=88=B7=E6=95=B0=E6=8D=AE?=
=?UTF-8?q?=E5=90=8C=E6=AD=A5=E3=80=822=E3=80=81=E6=89=A7=E6=B3=95?=
=?UTF-8?q?=E8=AE=A1=E5=88=92=E6=95=B0=E6=8D=AE=E5=90=8C=E6=AD=A5=E3=80=82?=
=?UTF-8?q?3=E3=80=81=E4=BC=81=E4=B8=9A=E6=8A=95=E8=AF=89=E6=95=B0?=
=?UTF-8?q?=E6=8D=AE=E5=90=8C=E6=AD=A5=E3=80=81=E4=BC=81=E4=B8=9A=E6=8A=95?=
=?UTF-8?q?=E8=AF=89=E8=BF=9B=E5=BA=A6=E6=9F=A5=E8=AF=A2=E3=80=82?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.gitignore | Bin 1345 -> 1216 bytes
.../LongGangInterfaceController.java | 127 ++++++++++++-
.../domain/EnterpriseComplaint.java | 13 +-
.../domain/bean/DashboardAreaInfo.java | 5 +
.../LongGangQueryComplaintBo.java | 27 +++
.../LongGangQueryPlanBo.java | 24 +++
.../LongGangQueryUserBo.java | 24 +++
.../domain/vo/DashboardAreaInfoVo.java | 6 +
.../LongGangComplaintSyncPageVo.java | 32 ++++
.../LongGangComplaintSyncVo.java | 178 ++++++++++++++++++
.../LongGangPlanSyncPageVo.java | 34 ++++
.../externalInterface/LongGangPlanSyncVo.java | 58 ++++++
.../LongGangUserSyncPageVo.java | 32 ++++
.../externalInterface/LongGangUserSyncVo.java | 81 ++++++++
.../mapper/EfcodeCpPlanMapper.java | 17 ++
.../mapper/EnterpriseComplaintMapper.java | 20 ++
.../mapper/LongGangUserQueryMapper.java | 30 +++
.../service/IDashboardAreaInfoService.java | 2 +
.../service/IEnterpriseComplaintService.java | 11 ++
.../service/ILongGangUserQueryService.java | 19 ++
.../service/IOutEfcodeCpPlanService.java | 11 ++
.../impl/DashboardAreaInfoServiceImpl.java | 12 ++
.../impl/EnterpriseComplaintServiceImpl.java | 45 ++++-
.../impl/LongGangUserQueryServiceImpl.java | 70 +++++++
.../impl/OutEfcodeCpPlanServiceImpl.java | 38 ++++
.../enforcementcode/EfcodeCpPlanMapper.xml | 35 ++++
.../EnterpriseComplaintMapper.xml | 50 +++++
.../LongGangUserQueryMapper.xml | 47 +++++
28 files changed, 1039 insertions(+), 9 deletions(-)
create mode 100644 zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/externalInterface/LongGangQueryComplaintBo.java
create mode 100644 zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/externalInterface/LongGangQueryPlanBo.java
create mode 100644 zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/externalInterface/LongGangQueryUserBo.java
create mode 100644 zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/externalInterface/LongGangComplaintSyncPageVo.java
create mode 100644 zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/externalInterface/LongGangComplaintSyncVo.java
create mode 100644 zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/externalInterface/LongGangPlanSyncPageVo.java
create mode 100644 zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/externalInterface/LongGangPlanSyncVo.java
create mode 100644 zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/externalInterface/LongGangUserSyncPageVo.java
create mode 100644 zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/externalInterface/LongGangUserSyncVo.java
create mode 100644 zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/LongGangUserQueryMapper.java
create mode 100644 zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/ILongGangUserQueryService.java
create mode 100644 zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/LongGangUserQueryServiceImpl.java
create mode 100644 zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/LongGangUserQueryMapper.xml
diff --git a/.gitignore b/.gitignore
index e87c6ac7ee20bbafe7cd62132b7edc1aabe45d4f..7d5c0c246fbbeeaa861540aec5b9a101f68afcd4 100644
GIT binary patch
literal 1216
zcmb_bv2NQi5Z(C|3f!R;AnF^MCPOl$K$AV7#IwwpA_?*ooF%XoeP@19WaX6+xE#
zjBDgGdK8@^4T5@TG|;@e$9L}@>B;0dJ~qjAJEdiIVyzC0@x}|Oft6LvmTV`*<=};L
z;L8*in~Dv*)fRK>>k
z#I%&>SUBB@+0Rq~w1;^7Spwz{eT2ZPLn{C2eRV-cv=X-x(Lkq#VLU2uq5(GgCuFP4y^DOQ9P6D~
z-CnKVf9I{FPT7&DZOHC!FYm5CtiSwRfBvz)`1W#jeevt&)B5A(>gMaKL^VKF1n^`@
zY2umtKnfJ)zaivo*a8`>pKpOk@YSM7?ehEy5%k#5)>fD7$@13o=t$+`qe=VYY?2%A
d$r;yX+Sc=Is_0>kH$~`}E@GN5MEq|gn%}6lbaVg!
literal 1345
zcmb_b!EV$r5cN4y{vl{NK%_X|Kxq%{p-8m%%1LIk?mD(*Pj4df5%F!*N%TI+1c_>^97~s5H=sR#H7N8$upM&~j63FlG?uF)5FgrRv%E;0L
z!s1B_8k|6A$gh>~-U^)2dMau(ZWTT2%qi4JaSw=6w-h$fTs+3!+Urj`HVe
zqO0vm=&F%EXv}q0#8cT8Ja5jhu&Vb(FJn>Dz)5GCUcq({qV>N|Q2iawzztI?(}t5%s*cA?lZ8=xXHgQss1O7Np+2zzl;p_X1HYK2-vdPO~Yj=|&0p
z%RN0cu7(aYzNImF
zp-J7q#fp}Gf!)mEUaGNTx~x5;2qttpvj@Ajn8gxE^n_sZodB7eEGS#
z`2K4B`{K{_=gp_f_4T*cvD^}>!h<7~N*$86P9spz*$yrLg(0E+Q<$Z3^QSNkxN23z
zj(PqF5xS6QYNM#qqx(-+KpUt&OpX&g3`f#A%UQ`R)AV($V2T-5vpM5z#RNqZOIgAu
e!<*gVvO8SHrc9Ct%(E=wLPq#Pt(M~D;Qa*+?s!lD
diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/externalInterface/LongGangInterfaceController.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/externalInterface/LongGangInterfaceController.java
index 6ccf062a..ff78f1cb 100644
--- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/externalInterface/LongGangInterfaceController.java
+++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/externalInterface/LongGangInterfaceController.java
@@ -5,17 +5,19 @@ import cn.hutool.core.util.StrUtil;
import com.zdxt.enforcementcode.common.util.DataFilterUtil;
import com.zdxt.enforcementcode.common.util.StringUtils;
import com.zdxt.enforcementcode.domain.EfcodeCpPlan;
+import com.zdxt.enforcementcode.domain.MssqOrderFlow;
import com.zdxt.enforcementcode.domain.SysApiPlatformConfigEntity;
import com.zdxt.enforcementcode.domain.bo.EfcodeCpPlanBo;
import com.zdxt.enforcementcode.domain.bo.EfcodeCpTaskBo;
+import com.zdxt.enforcementcode.domain.bo.externalInterface.LongGangQueryPlanBo;
+import com.zdxt.enforcementcode.domain.bo.externalInterface.LongGangQueryUserBo;
import com.zdxt.enforcementcode.domain.bo.externalInterface.*;
+import com.zdxt.enforcementcode.domain.vo.DashboardAreaInfoVo;
import com.zdxt.enforcementcode.domain.vo.EfcodeCpPlanVo;
import com.zdxt.enforcementcode.domain.vo.EnterpriseInformationVo;
import com.zdxt.enforcementcode.domain.vo.SrzDeptVo;
-import com.zdxt.enforcementcode.domain.vo.externalInterface.LongGangCaseSyncVo;
-import com.zdxt.enforcementcode.domain.vo.externalInterface.LongGangCreatePlanVo;
+import com.zdxt.enforcementcode.domain.vo.externalInterface.*;
import com.zdxt.enforcementcode.service.*;
-import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.dromara.common.core.domain.R;
@@ -31,7 +33,6 @@ import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;
-import java.util.Map;
import java.util.stream.Collectors;
@Slf4j
@@ -43,6 +44,7 @@ import java.util.stream.Collectors;
public class LongGangInterfaceController {
private static final String HEADER_APP_KEY = "App-Key";
+ private static final String LG_AREA_CODE = "440307000";
private final IOutEfcodeCpPlanService outEfcodeCpPlanService;
private final IOutEfcodeCpTaskService outEfcodeCpTaskService;
@@ -50,6 +52,9 @@ public class LongGangInterfaceController {
private final IEnterpriseInformationService enterpriseInformationService;
private final ISysDeptService sysDeptService;
private final ILongGangCaseQueryService longGangCaseQueryService;
+ private final IDashboardAreaInfoService dashboardAreaInfoService;
+ private final ILongGangUserQueryService longGangUserQueryService;
+ private final IEnterpriseComplaintService enterpriseComplaintService;
/**
* 渠道认证:校验 appKey 并返回 channelNo
@@ -413,4 +418,118 @@ public class LongGangInterfaceController {
return R.ok(vo);
}
+
+ /**
+ * 外部接口-执法计划同步
+ * 分页查询本渠道下已产生任务的计划,支持通过 startTime/endTime(计划更新时间)做增量同步。
+ *
+ * @param appKey 请求头 App-Key,用于识别调用渠道
+ * @param bo 查询参数(pageNum、pageSize、startTime、endTime)
+ * @return 计划分页结果
+ */
+ @SaIgnore
+ @Log(title = "外部接口-执法计划同步", businessType = BusinessType.OTHER)
+ @PostMapping("/plan/sync")
+ public R syncPlan(
+ @RequestHeader(value = HEADER_APP_KEY, required = false) String appKey,
+ @RequestBody LongGangQueryPlanBo bo) {
+ // 渠道认证
+ R authResult = authenticateChannel(appKey);
+ if (!R.isSuccess(authResult)) {
+ return R.fail(authResult.getMsg());
+ }
+ String channelNo = authResult.getData();
+
+ // 根据行政区code查询龙岗区code
+ DashboardAreaInfoVo areaInfoVo = dashboardAreaInfoService.getAreaInfoByCode(LG_AREA_CODE);
+ if (areaInfoVo == null) {
+ return R.fail("未找到龙岗区行政区信息");
+ }
+
+ LongGangPlanSyncPageVo vo = outEfcodeCpPlanService.syncPlan(bo, areaInfoVo.getCode());
+ log.info("[外部接口] 同步执法计划, appKey={}, channelNo={}, startTime={}, endTime={}, pageNum={}, pageSize={}, total={}",
+ appKey, channelNo, bo.getStartTime(), bo.getEndTime(), vo.getPageNum(), vo.getPageSize(), vo.getTotal());
+ return R.ok(vo);
+ }
+
+
+ /**
+ * 外部接口-龙岗区用户同步
+ * 分页查询龙岗区(行政区编码 440307000)下的用户,支持通过 startTime/endTime(用户更新时间)做增量同步。
+ *
+ * @param appKey 请求头 App-Key,用于识别调用渠道
+ * @param bo 查询参数(pageNum、pageSize、startTime、endTime)
+ * @return 用户分页结果
+ */
+ @SaIgnore
+ @Log(title = "外部接口-龙岗区用户同步", businessType = BusinessType.OTHER)
+ @PostMapping("/user/sync")
+ public R syncUser(
+ @RequestHeader(value = HEADER_APP_KEY, required = false) String appKey,
+ @RequestBody LongGangQueryUserBo bo) {
+ // 渠道认证
+ R authResult = authenticateChannel(appKey);
+ if (!R.isSuccess(authResult)) {
+ return R.fail(authResult.getMsg());
+ }
+ String channelNo = authResult.getData();
+
+ // 根据行政区code查询龙岗区code
+ DashboardAreaInfoVo areaInfoVo = dashboardAreaInfoService.getAreaInfoByCode(LG_AREA_CODE);
+ if (areaInfoVo == null) {
+ return R.fail("未找到龙岗区行政区信息");
+ }
+
+ // sys_user、sys_dept连表根据code查询龙岗区用户信息
+ LongGangUserSyncPageVo vo = longGangUserQueryService.syncUser(bo, areaInfoVo.getCode());
+ log.info("[外部接口] 同步用户, appKey={}, channelNo={}, startTime={}, endTime={}, pageNum={}, pageSize={}, total={}",
+ appKey, channelNo, bo.getStartTime(), bo.getEndTime(), vo.getPageNum(), vo.getPageSize(), vo.getTotal());
+ return R.ok(vo);
+ }
+
+
+ @SaIgnore
+ @Log(title = "外部接口-龙岗区企业投诉同步", businessType = BusinessType.OTHER)
+ @PostMapping("/complaint/sync")
+ public R syncComplaint(
+ @RequestHeader(value = HEADER_APP_KEY, required = false) String appKey,
+ @RequestBody LongGangQueryComplaintBo bo) {
+ R authResult = authenticateChannel(appKey);
+ if (!R.isSuccess(authResult)) {
+ return R.fail(authResult.getMsg());
+ }
+ String channelNo = authResult.getData();
+
+ // 根据行政区code查询龙岗区code
+ DashboardAreaInfoVo areaInfoVo = dashboardAreaInfoService.getAreaInfoByCode(LG_AREA_CODE);
+ if (areaInfoVo == null) {
+ return R.fail("未找到龙岗区行政区信息");
+ }
+
+ LongGangComplaintSyncPageVo vo = enterpriseComplaintService.syncComplaint(bo, areaInfoVo.getCode());
+ log.info("[外部接口] 同步企业投诉, appKey={}, channelNo={}, startTime={}, endTime={}, pageNum={}, pageSize={}, total={}",
+ appKey, channelNo, bo.getStartTime(), bo.getEndTime(), vo.getPageNum(), vo.getPageSize(), vo.getTotal());
+ return R.ok(vo);
+ }
+
+
+ @SaIgnore
+ @Log(title = "外部接口-龙岗区企业投诉进度详情", businessType = BusinessType.OTHER)
+ @PostMapping("/complaint/detail")
+ public R> getComplaintDetail(
+ @RequestHeader(value = HEADER_APP_KEY, required = false) String appKey,
+ @RequestBody LongGangQueryComplaintBo bo) {
+ R authResult = authenticateChannel(appKey);
+ if (!R.isSuccess(authResult)) {
+ return R.fail(authResult.getMsg());
+ }
+ String channelNo = authResult.getData();
+ String complaintId = bo.getComplaintId();
+
+ List mssqOrderFlowList = enterpriseComplaintService.selectEnterpriseComplaintProcess(complaintId);
+
+ log.info("[外部接口] 获取企业投诉详情, appKey={}, channelNo={}, complaintId={}",
+ appKey, channelNo, complaintId);
+ return R.ok(mssqOrderFlowList);
+ }
}
diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/EnterpriseComplaint.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/EnterpriseComplaint.java
index cd4ba449..f694e03c 100644
--- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/EnterpriseComplaint.java
+++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/EnterpriseComplaint.java
@@ -1,13 +1,14 @@
package com.zdxt.enforcementcode.domain;
-import org.dromara.common.mybatis.core.domain.BaseEntity;
-import com.baomidou.mybatisplus.annotation.*;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
-import java.util.Date;
-import com.fasterxml.jackson.annotation.JsonFormat;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
import java.io.Serial;
+import java.util.Date;
import java.util.List;
/**
@@ -158,12 +159,16 @@ public class EnterpriseComplaint extends BaseEntity {
/**
* 投诉事项编码 多个逗号隔开
*/
+ @TableField(exist = false)
private String enforceTypeStr;
+ @TableField(exist = false)
private String complaintTypeStr;
+ @TableField(exist = false)
private String createTimeStr;
/**
* 民生诉求数据处置流程
*/
+ @TableField(exist = false)
private List mssqOrderFlows;
}
diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bean/DashboardAreaInfo.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bean/DashboardAreaInfo.java
index 31c3e3a7..8d8cec91 100644
--- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bean/DashboardAreaInfo.java
+++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bean/DashboardAreaInfo.java
@@ -37,6 +37,11 @@ public class DashboardAreaInfo extends BaseEntity {
*/
private String name;
+ /**
+ * 行政区编码
+ */
+ private String areaCode;
+
/**
* 父级编码
*/
diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/externalInterface/LongGangQueryComplaintBo.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/externalInterface/LongGangQueryComplaintBo.java
new file mode 100644
index 00000000..36963e38
--- /dev/null
+++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/externalInterface/LongGangQueryComplaintBo.java
@@ -0,0 +1,27 @@
+package com.zdxt.enforcementcode.domain.bo.externalInterface;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @author msy
+ * @Date: 2026/11/10
+ */
+@Data
+public class LongGangQueryComplaintBo {
+
+ @Schema(description = "页码,从1开始,默认1")
+ private Integer pageNum = 1;
+
+ @Schema(description = "每页条数,默认 100")
+ private Integer pageSize = 100;
+
+ @Schema(description = "开始时间(yyyy-MM-dd HH:mm:ss)")
+ private String startTime;
+
+ @Schema(description = "结束时间(yyyy-MM-dd HH:mm:ss)")
+ private String endTime;
+
+ @Schema(description = "投诉id")
+ private String complaintId;
+}
diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/externalInterface/LongGangQueryPlanBo.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/externalInterface/LongGangQueryPlanBo.java
new file mode 100644
index 00000000..26afe8a8
--- /dev/null
+++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/externalInterface/LongGangQueryPlanBo.java
@@ -0,0 +1,24 @@
+package com.zdxt.enforcementcode.domain.bo.externalInterface;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @author msy
+ * @Date: 2026/11/10
+ */
+@Data
+public class LongGangQueryPlanBo {
+
+ @Schema(description = "页码,从1开始,默认1")
+ private Integer pageNum = 1;
+
+ @Schema(description = "每页条数,默认 100")
+ private Integer pageSize = 100;
+
+ @Schema(description = "开始时间(yyyy-MM-dd HH:mm:ss)")
+ private String startTime;
+
+ @Schema(description = "结束时间(yyyy-MM-dd HH:mm:ss)")
+ private String endTime;
+}
diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/externalInterface/LongGangQueryUserBo.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/externalInterface/LongGangQueryUserBo.java
new file mode 100644
index 00000000..fddcd362
--- /dev/null
+++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/externalInterface/LongGangQueryUserBo.java
@@ -0,0 +1,24 @@
+package com.zdxt.enforcementcode.domain.bo.externalInterface;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @author msy
+ * @Date: 2026/11/10
+ */
+@Data
+public class LongGangQueryUserBo {
+
+ @Schema(description = "页码,从1开始,默认1")
+ private Integer pageNum = 1;
+
+ @Schema(description = "每页条数,默认 100")
+ private Integer pageSize = 100;
+
+ @Schema(description = "开始时间(yyyy-MM-dd HH:mm:ss)")
+ private String startTime;
+
+ @Schema(description = "结束时间(yyyy-MM-dd HH:mm:ss)")
+ private String endTime;
+}
diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/DashboardAreaInfoVo.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/DashboardAreaInfoVo.java
index 10bbefe2..0878fe10 100644
--- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/DashboardAreaInfoVo.java
+++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/DashboardAreaInfoVo.java
@@ -45,6 +45,12 @@ public class DashboardAreaInfoVo implements Serializable {
@ExcelProperty(value = "名称")
private String name;
+ /**
+ * 行政区编码
+ */
+ @ExcelProperty(value = "行政区编码")
+ private String areaCode;
+
/**
* 父级编码
*/
diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/externalInterface/LongGangComplaintSyncPageVo.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/externalInterface/LongGangComplaintSyncPageVo.java
new file mode 100644
index 00000000..c21234d5
--- /dev/null
+++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/externalInterface/LongGangComplaintSyncPageVo.java
@@ -0,0 +1,32 @@
+package com.zdxt.enforcementcode.domain.vo.externalInterface;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author msy
+ * @Date: 2026/11/10
+ */
+@Data
+public class LongGangComplaintSyncPageVo implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ @Schema(description = "页码,从1开始")
+ private Integer pageNum;
+
+ @Schema(description = "每页条数")
+ private Integer pageSize;
+
+ @Schema(description = "总条数")
+ private Long total;
+
+ @Schema(description = "投诉列表")
+ private List list = new ArrayList<>();
+}
diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/externalInterface/LongGangComplaintSyncVo.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/externalInterface/LongGangComplaintSyncVo.java
new file mode 100644
index 00000000..a32f0d28
--- /dev/null
+++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/externalInterface/LongGangComplaintSyncVo.java
@@ -0,0 +1,178 @@
+package com.zdxt.enforcementcode.domain.vo.externalInterface;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @author msy
+ * @Date: 2026/11/10
+ */
+@Data
+public class LongGangComplaintSyncVo implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键ID
+ */
+ private String id;
+
+ /**
+ * 关联执法记录ID
+ */
+ @Schema(description = "关联执法记录ID")
+ private String relId;
+
+ /**
+ * 执法类型
+ */
+ @Schema(description = "执法类型")
+ private Long enforceType;
+
+ /**
+ * 问题描述
+ */
+ @Schema(description = "问题描述")
+ private String problemDescription;
+
+ /**
+ * 联系人
+ */
+ @Schema(description = "联系人")
+ private String linkman;
+
+ /**
+ * 联系方式
+ */
+ @Schema(description = "联系方式")
+ private String linkmanTel;
+
+ /**
+ * 是否删除 0 否 1 是
+ */
+ @Schema(description = "是否删除 0 否 1 是")
+ private Long isDelete;
+
+ /**
+ * 投诉对接12345案件类型
+ */
+ @Schema(description = "投诉对接12345案件类型")
+ private String caseType;
+
+ /**
+ *
+ */
+ private Long authorization;
+
+ /**
+ *
+ */
+ private Long comOrOpi;
+
+ /**
+ *
+ */
+ private String enterpriseAddress;
+
+ /**
+ *
+ */
+ private String proWoCode;
+
+ /**
+ *
+ */
+ private Long status;
+
+ /**
+ *
+ */
+ private Date evaluateTime;
+
+ /**
+ *
+ */
+ private String enterpriseNumber;
+
+ /**
+ *
+ */
+ private String enterpriseName;
+
+ /**
+ * 执法部门多个-逗号隔开
+ */
+ @Schema(description = "执法部门多个-逗号隔开")
+ private String complaintDepartments;
+
+ /**
+ * 执法部门id多个-逗号隔开
+ */
+ @Schema(description = "执法部门id多个-逗号隔开")
+ private String complaintDepartmentIds;
+
+ /**
+ * 执法时间
+ */
+ @Schema(description = "执法时间")
+ private Date enforcementTime;
+
+ /**
+ * 投诉类型 0 系默认 1 联合检查
+ */
+ @Schema(description = "投诉类型 0 系默认 1 联合检查")
+ private Long complaintType;
+
+ /**
+ * 投诉事项编码,多个逗号隔开
+ */
+ @Schema(description = "投诉事项编码,多个逗号隔开")
+ private String complaintItemCodes;
+
+ /**
+ * 投诉事项名称,多个逗号隔开
+ */
+ @Schema(description = "投诉事项名称,多个逗号隔开")
+ private String complaintItemNames;
+
+ /**
+ * 同步过来的处理时间
+ */
+ @Schema(description = "同步过来的处理时间")
+ private String handleTime;
+
+ /**
+ * 投诉事项(对应记录表执法/入企事项)
+ */
+ @Schema(description = "投诉事项(对应记录表执法/入企事项)")
+ private String complaintRecordItem;
+
+ /**
+ * 数据类型 0行政 1 非行政
+ */
+ @Schema(description = "数据类型 0行政 1 非行政")
+ private Long recordType;
+
+ /**
+ * 详细地址
+ */
+ @Schema(description = "详细地址")
+ private String detailedAddress;
+
+ /**
+ * 创建时间
+ */
+ @Schema(description = "创建时间")
+ private Date createTime;
+
+ /**
+ * 更新时间
+ */
+ @Schema(description = "更新时间")
+ private Date updateTime;
+}
diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/externalInterface/LongGangPlanSyncPageVo.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/externalInterface/LongGangPlanSyncPageVo.java
new file mode 100644
index 00000000..8437c883
--- /dev/null
+++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/externalInterface/LongGangPlanSyncPageVo.java
@@ -0,0 +1,34 @@
+package com.zdxt.enforcementcode.domain.vo.externalInterface;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 外部接口-执法计划同步分页结果
+ *
+ * @author msy
+ * @Date: 2026/11/10
+ */
+@Data
+public class LongGangPlanSyncPageVo implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ @Schema(description = "页码,从1开始")
+ private Integer pageNum;
+
+ @Schema(description = "每页条数")
+ private Integer pageSize;
+
+ @Schema(description = "总条数")
+ private Long total;
+
+ @Schema(description = "计划列表")
+ private List list = new ArrayList<>();
+}
diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/externalInterface/LongGangPlanSyncVo.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/externalInterface/LongGangPlanSyncVo.java
new file mode 100644
index 00000000..bc39b177
--- /dev/null
+++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/externalInterface/LongGangPlanSyncVo.java
@@ -0,0 +1,58 @@
+package com.zdxt.enforcementcode.domain.vo.externalInterface;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @author msy
+ * @Date: 2026/11/10
+ */
+@Data
+public class LongGangPlanSyncVo implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ @Schema(description = "计划id")
+ private String planId;
+
+ @Schema(description = "任务id")
+ private String taskId;
+
+ @Schema(description = "外部流水号")
+ private String outSerialNo;
+
+ @Schema(description = "执法单位ID")
+ private String bureauDeptId;
+
+ @Schema(description = "执法单位名称")
+ private String bureauDeptName;
+
+ @Schema(description = "计划执行日期(如 2025-05-08)")
+ private Date planDate;
+
+ @Schema(description = "执行时段:1=上午,2=下午,3=其他")
+ private Long planTime;
+
+ @Schema(description = "被检查企业/机构名称")
+ private String enterpriseName;
+
+ @Schema(description = "被检查企业/机构信用代码")
+ private String enterpriseNumber;
+
+ @Schema(description = "执法人员姓名(多个逗号分隔)")
+ private String enforceUserNames;
+
+ @Schema(description = "执法人员ID(多个逗号分隔)")
+ private String enforceUserIds;
+
+ @Schema(description = "创建时间")
+ private Date createTime;
+
+ @Schema(description = "更新时间")
+ private Date updateTime;
+}
diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/externalInterface/LongGangUserSyncPageVo.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/externalInterface/LongGangUserSyncPageVo.java
new file mode 100644
index 00000000..7e89c8df
--- /dev/null
+++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/externalInterface/LongGangUserSyncPageVo.java
@@ -0,0 +1,32 @@
+package com.zdxt.enforcementcode.domain.vo.externalInterface;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author msy
+ * @Date: 2026/11/10
+ */
+@Data
+public class LongGangUserSyncPageVo implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ @Schema(description = "页码,从1开始")
+ private Integer pageNum;
+
+ @Schema(description = "每页条数")
+ private Integer pageSize;
+
+ @Schema(description = "总条数")
+ private Long total;
+
+ @Schema(description = "用户列表")
+ private List list = new ArrayList<>();
+}
diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/externalInterface/LongGangUserSyncVo.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/externalInterface/LongGangUserSyncVo.java
new file mode 100644
index 00000000..1215647c
--- /dev/null
+++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/externalInterface/LongGangUserSyncVo.java
@@ -0,0 +1,81 @@
+package com.zdxt.enforcementcode.domain.vo.externalInterface;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ *
+ * @author msy
+ * @Date: 2026/11/10
+ */
+@Data
+public class LongGangUserSyncVo {
+
+ @Schema(description = "用户ID")
+ private Long userId;
+
+ @Schema(description = "部门ID")
+ private String deptId;
+
+ @Schema(description = "用户账号")
+ private String userName;
+
+ @Schema(description = "用户昵称")
+ private String nickName;
+
+ @Schema(description = "用户类型(sys_user系统用户)")
+ private String userType;
+
+ @Schema(description = "用户邮箱")
+ private String email;
+
+ @Schema(description = "手机号码")
+ private String phonenumber;
+
+ @Schema(description = "用户性别")
+ private String sex;
+
+ @Schema(description = "账号状态(0正常 1停用)")
+ private String status;
+
+ @Schema(description = "删除标志(0代表存在 1代表删除)")
+ private String delFlag;
+
+ @Schema(description = "备注")
+ private String remark;
+
+ @Schema(description = "登录账号")
+ private String loginName;
+
+ @Schema(description = "用户类型")
+ private String type;
+
+ @Schema(description = "执法证件号")
+ private String lawCertificateNum;
+
+ @Schema(description = "姓名")
+ private String fullname;
+
+ @Schema(description = "是否删除 (0否;1是)")
+ private String isDeleted;
+
+ @Schema(description = "是否禁用 (0否;1是)")
+ private String isDisabled;
+
+ @Schema(description = "创建日期(时间戳)")
+ private String createAt;
+
+ @Schema(description = "更新日期(时间戳)")
+ private String updateAt;
+
+ @Schema(description = "创建时间")
+ private Date createTime;
+
+ @Schema(description = "更新时间")
+ private Date updateTime;
+
+ @Schema(description = "加密备注二")
+ private String cryptoRemarkTwo;
+}
diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/EfcodeCpPlanMapper.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/EfcodeCpPlanMapper.java
index 06166998..e7bad040 100644
--- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/EfcodeCpPlanMapper.java
+++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/EfcodeCpPlanMapper.java
@@ -4,9 +4,12 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zdxt.enforcementcode.domain.EfcodeCpPlan;
import com.zdxt.enforcementcode.domain.bo.EfcodeCpPlanBo;
import com.zdxt.enforcementcode.domain.vo.EfcodeCpPlanVo;
+import com.zdxt.enforcementcode.domain.vo.externalInterface.LongGangPlanSyncVo;
import org.apache.ibatis.annotations.Param;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
+import java.util.Date;
+
/**
* 行政执法检查计划-计划Mapper接口
*
@@ -35,4 +38,18 @@ public interface EfcodeCpPlanMapper extends BaseMapperPlus selectSyncPage(Page page,
+ @Param("areaCode") String areaCode,
+ @Param("startTime") Date startTime,
+ @Param("endTime") Date endTime);
+
}
diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/EnterpriseComplaintMapper.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/EnterpriseComplaintMapper.java
index eeb4c235..1ce9c3f9 100644
--- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/EnterpriseComplaintMapper.java
+++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/EnterpriseComplaintMapper.java
@@ -1,9 +1,14 @@
package com.zdxt.enforcementcode.mapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zdxt.enforcementcode.domain.EnterpriseComplaint;
import com.zdxt.enforcementcode.domain.vo.EnterpriseComplaintVo;
+import com.zdxt.enforcementcode.domain.vo.externalInterface.LongGangComplaintSyncVo;
+import org.apache.ibatis.annotations.Param;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
+import java.util.Date;
+
/**
* 企业执法-在线投诉Mapper接口
*
@@ -19,4 +24,19 @@ public interface EnterpriseComplaintMapper extends BaseMapperPlus只要投诉关联的执法单位中有一个属于该区域即计入
+ *
+ * @param page 分页参数
+ * @param areaCode 行政区编码(dashboard_area_info.code)
+ * @param startTime 更新时间起(含),null 不限
+ * @param endTime 更新时间止(含),null 不限
+ * @return 投诉分页数据
+ */
+ Page selectSyncPage(Page page,
+ @Param("areaCode") String areaCode,
+ @Param("startTime") Date startTime,
+ @Param("endTime") Date endTime);
}
diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/LongGangUserQueryMapper.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/LongGangUserQueryMapper.java
new file mode 100644
index 00000000..b5c66b11
--- /dev/null
+++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/LongGangUserQueryMapper.java
@@ -0,0 +1,30 @@
+package com.zdxt.enforcementcode.mapper;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zdxt.enforcementcode.domain.vo.externalInterface.LongGangUserSyncVo;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.Date;
+
+/**
+ * 龙岗外部接口-用户同步查询 Mapper
+ *
+ * @author msy
+ */
+public interface LongGangUserQueryMapper {
+
+ /**
+ * 按所属区域分页查询用户,支持按更新时间区间增量同步
+ *
+ * @param page 分页参数
+ * @param areaCode 龙岗区行政区编码(dashboard_area_info.code)
+ * @param startTime 更新时间起(含),null 不限
+ * @param endTime 更新时间止(含),null 不限
+ * @return 用户分页数据
+ */
+ Page selectUserSyncPage(Page page,
+ @Param("areaCode") String areaCode,
+ @Param("startTime") Date startTime,
+ @Param("endTime") Date endTime);
+
+}
diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/IDashboardAreaInfoService.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/IDashboardAreaInfoService.java
index b3af85be..6a7da0eb 100644
--- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/IDashboardAreaInfoService.java
+++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/IDashboardAreaInfoService.java
@@ -72,4 +72,6 @@ public interface IDashboardAreaInfoService {
List> buildAreaTree();
List getDomainInfo();
+
+ DashboardAreaInfoVo getAreaInfoByCode(String code);
}
diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/IEnterpriseComplaintService.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/IEnterpriseComplaintService.java
index 299cebe3..a1f1bfbe 100644
--- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/IEnterpriseComplaintService.java
+++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/IEnterpriseComplaintService.java
@@ -3,6 +3,8 @@ package com.zdxt.enforcementcode.service;
import com.zdxt.enforcementcode.domain.MssqOrderFlow;
import com.zdxt.enforcementcode.domain.vo.EnterpriseComplaintVo;
import com.zdxt.enforcementcode.domain.bo.EnterpriseComplaintBo;
+import com.zdxt.enforcementcode.domain.vo.externalInterface.LongGangComplaintSyncPageVo;
+import com.zdxt.enforcementcode.domain.bo.externalInterface.LongGangQueryComplaintBo;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
@@ -74,4 +76,13 @@ public interface IEnterpriseComplaintService {
* @return 企业执法-在线投诉
*/
List selectEnterpriseComplaintProcess(String id);
+
+ /**
+ * 分页查询指定区域的企业投诉,支持按更新时间区间增量同步
+ *
+ * @param bo 查询参数(pageNum、pageSize、startTime、endTime)
+ * @param areaCode 行政区编码(dashboard_area_info.code)
+ * @return 投诉分页结果
+ */
+ LongGangComplaintSyncPageVo syncComplaint(LongGangQueryComplaintBo bo, String areaCode);
}
diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/ILongGangUserQueryService.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/ILongGangUserQueryService.java
new file mode 100644
index 00000000..9a637a18
--- /dev/null
+++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/ILongGangUserQueryService.java
@@ -0,0 +1,19 @@
+package com.zdxt.enforcementcode.service;
+
+import com.zdxt.enforcementcode.domain.bo.externalInterface.LongGangQueryUserBo;
+import com.zdxt.enforcementcode.domain.vo.externalInterface.LongGangUserSyncPageVo;
+
+/**
+ * 龙岗外部接口-用户同步查询
+ */
+public interface ILongGangUserQueryService {
+
+ /**
+ * 分页查询龙岗区用户,支持按更新时间区间增量同步。
+ *
+ * @param bo 查询参数(pageNum、pageSize、startTime、endTime)
+ * @param areaCode 龙岗区行政区编码(dashboard_area_info.code)
+ * @return 用户分页结果
+ */
+ LongGangUserSyncPageVo syncUser(LongGangQueryUserBo bo, String areaCode);
+}
diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/IOutEfcodeCpPlanService.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/IOutEfcodeCpPlanService.java
index 2d6bd9cc..68ced6e0 100644
--- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/IOutEfcodeCpPlanService.java
+++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/IOutEfcodeCpPlanService.java
@@ -2,7 +2,9 @@ package com.zdxt.enforcementcode.service;
import com.zdxt.enforcementcode.domain.EfcodeCpReserve;
import com.zdxt.enforcementcode.domain.bo.EfcodeCpPlanBo;
+import com.zdxt.enforcementcode.domain.bo.externalInterface.LongGangQueryPlanBo;
import com.zdxt.enforcementcode.domain.vo.EfcodeCpPlanVo;
+import com.zdxt.enforcementcode.domain.vo.externalInterface.LongGangPlanSyncPageVo;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.springframework.transaction.annotation.Transactional;
@@ -53,6 +55,15 @@ public interface IOutEfcodeCpPlanService {
*/
EfcodeCpPlanVo queryByOutSerialNoAndChannelNo(String outSerialNo, String channelNo);
+ /**
+ * 分页查询指定区域执法单位下已产生任务的计划,支持按更新时间区间增量同步
+ *
+ * @param bo 查询参数(pageNum、pageSize、startTime、endTime)
+ * @param areaCode 行政区编码(dashboard_area_info.code)
+ * @return 计划分页结果
+ */
+ LongGangPlanSyncPageVo syncPlan(LongGangQueryPlanBo bo, String areaCode);
+
/**
* 新增行政执法检查计划-计划
*
diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/DashboardAreaInfoServiceImpl.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/DashboardAreaInfoServiceImpl.java
index 49fae7f0..ed4df518 100644
--- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/DashboardAreaInfoServiceImpl.java
+++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/DashboardAreaInfoServiceImpl.java
@@ -120,5 +120,17 @@ public class DashboardAreaInfoServiceImpl implements IDashboardAreaInfoService {
return dashboardDomainDeptMapper.getDomainInfo();
}
+ @Override
+ public DashboardAreaInfoVo getAreaInfoByCode(String code) {
+ if (StringUtils.isBlank(code)) {
+ return null;
+ }
+ LambdaQueryWrapper lqw = Wrappers.lambdaQuery();
+ lqw.eq(DashboardAreaInfo::getAreaCode, code)
+ .eq(DashboardAreaInfo::getIsDelete, "0")
+ .last("LIMIT 1");
+ return baseMapper.selectVoOne(lqw);
+ }
+
}
diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/EnterpriseComplaintServiceImpl.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/EnterpriseComplaintServiceImpl.java
index 09c848c5..19800569 100644
--- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/EnterpriseComplaintServiceImpl.java
+++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/EnterpriseComplaintServiceImpl.java
@@ -1,12 +1,17 @@
package com.zdxt.enforcementcode.service.impl;
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
-import com.zdxt.enforcementcode.domain.MssqAddOrder;
import com.zdxt.enforcementcode.domain.MssqOrderFlow;
import com.zdxt.enforcementcode.domain.bo.MssqAddOrderBo;
+import com.zdxt.enforcementcode.domain.vo.externalInterface.LongGangComplaintSyncPageVo;
+import com.zdxt.enforcementcode.domain.vo.externalInterface.LongGangComplaintSyncVo;
+import com.zdxt.enforcementcode.domain.bo.externalInterface.LongGangQueryComplaintBo;
import com.zdxt.enforcementcode.service.IMssqApiService;
import org.apache.commons.compress.utils.Lists;
+import org.dromara.common.core.exception.ServiceException;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.TableDataInfo;
@@ -24,6 +29,7 @@ import com.zdxt.enforcementcode.mapper.EnterpriseComplaintMapper;
import com.zdxt.enforcementcode.service.IEnterpriseComplaintService;
import java.util.Collections;
+import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Collection;
@@ -39,6 +45,10 @@ import java.util.Collection;
@Service
public class EnterpriseComplaintServiceImpl implements IEnterpriseComplaintService {
+ private static final int DEFAULT_PAGE_NUM = 1;
+ private static final int DEFAULT_PAGE_SIZE = 100;
+ private static final int MAX_PAGE_SIZE = 500;
+
private final EnterpriseComplaintMapper baseMapper;
private final IMssqApiService mssqApiService;
@@ -195,4 +205,37 @@ public class EnterpriseComplaintServiceImpl implements IEnterpriseComplaintServi
}
return Lists.newArrayList();
}
+
+ @Override
+ public LongGangComplaintSyncPageVo syncComplaint(LongGangQueryComplaintBo bo, String areaCode) {
+ if (bo == null) {
+ bo = new LongGangQueryComplaintBo();
+ }
+ int pageNum = bo.getPageNum() == null || bo.getPageNum() < 1 ? DEFAULT_PAGE_NUM : bo.getPageNum();
+ int pageSize = bo.getPageSize() == null || bo.getPageSize() < 1 ? DEFAULT_PAGE_SIZE : Math.min(bo.getPageSize(), MAX_PAGE_SIZE);
+
+ Date startTime = parseTime(bo.getStartTime(), "开始时间");
+ Date endTime = parseTime(bo.getEndTime(), "结束时间");
+
+ Page page = baseMapper.selectSyncPage(
+ new Page<>(pageNum, pageSize), areaCode, startTime, endTime);
+
+ LongGangComplaintSyncPageVo vo = new LongGangComplaintSyncPageVo();
+ vo.setPageNum(pageNum);
+ vo.setPageSize(pageSize);
+ vo.setTotal(page.getTotal());
+ vo.setList(page.getRecords());
+ return vo;
+ }
+
+ private Date parseTime(String time, String fieldName) {
+ if (StrUtil.isBlank(time)) {
+ return null;
+ }
+ try {
+ return DateUtil.parse(time);
+ } catch (Exception e) {
+ throw new ServiceException(fieldName + "格式错误,应为 yyyy-MM-dd HH:mm:ss");
+ }
+ }
}
diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/LongGangUserQueryServiceImpl.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/LongGangUserQueryServiceImpl.java
new file mode 100644
index 00000000..adc64cc6
--- /dev/null
+++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/LongGangUserQueryServiceImpl.java
@@ -0,0 +1,70 @@
+package com.zdxt.enforcementcode.service.impl;
+
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zdxt.enforcementcode.common.util.CommonUtil;
+import com.zdxt.enforcementcode.domain.bo.externalInterface.LongGangQueryUserBo;
+import com.zdxt.enforcementcode.domain.vo.externalInterface.LongGangUserSyncPageVo;
+import com.zdxt.enforcementcode.domain.vo.externalInterface.LongGangUserSyncVo;
+import com.zdxt.enforcementcode.mapper.LongGangUserQueryMapper;
+import com.zdxt.enforcementcode.service.ILongGangUserQueryService;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.dromara.common.core.exception.ServiceException;
+import org.springframework.stereotype.Service;
+
+import java.util.Date;
+
+/**
+ * 龙岗外部接口-用户同步查询。
+ * 按所属区域分页查询用户,供第三方按更新时间增量同步。
+ */
+@Slf4j
+@RequiredArgsConstructor
+@Service
+public class LongGangUserQueryServiceImpl implements ILongGangUserQueryService {
+
+ private static final int DEFAULT_PAGE_NUM = 1;
+ private static final int DEFAULT_PAGE_SIZE = 100;
+ private static final int MAX_PAGE_SIZE = 500;
+
+ private final LongGangUserQueryMapper userQueryMapper;
+
+
+ @Override
+ public LongGangUserSyncPageVo syncUser(LongGangQueryUserBo bo, String areaCode) {
+ int pageNum = bo.getPageNum() == null || bo.getPageNum() < 1 ? DEFAULT_PAGE_NUM : bo.getPageNum();
+ int pageSize = bo.getPageSize() == null || bo.getPageSize() < 1 ? DEFAULT_PAGE_SIZE : Math.min(bo.getPageSize(), MAX_PAGE_SIZE);
+
+ Date startTime = parseTime(bo.getStartTime(), "开始时间");
+ Date endTime = parseTime(bo.getEndTime(), "结束时间");
+
+ Page page = userQueryMapper.selectUserSyncPage(
+ new Page<>(pageNum, pageSize), areaCode, startTime, endTime);
+
+ // crypto_remark_two 可能存 AES 密文或明文: 明文直接使用, 密文解密后使用.
+ page.getRecords().parallelStream().forEach(record -> {
+ String phone = record.getCryptoRemarkTwo();
+ record.setPhonenumber(CommonUtil.isPhoneEncrypted(phone) ? CommonUtil.decryptPhone(phone) : phone);
+ });
+
+ LongGangUserSyncPageVo vo = new LongGangUserSyncPageVo();
+ vo.setPageNum(pageNum);
+ vo.setPageSize(pageSize);
+ vo.setTotal(page.getTotal());
+ vo.setList(page.getRecords());
+ return vo;
+ }
+
+ private Date parseTime(String time, String fieldName) {
+ if (StrUtil.isBlank(time)) {
+ return null;
+ }
+ try {
+ return DateUtil.parse(time);
+ } catch (Exception e) {
+ throw new ServiceException(fieldName + "格式错误,应为 yyyy-MM-dd HH:mm:ss");
+ }
+ }
+}
diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/OutEfcodeCpPlanServiceImpl.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/OutEfcodeCpPlanServiceImpl.java
index 218892f5..b84ffd31 100644
--- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/OutEfcodeCpPlanServiceImpl.java
+++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/OutEfcodeCpPlanServiceImpl.java
@@ -1,5 +1,6 @@
package com.zdxt.enforcementcode.service.impl;
+import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -9,10 +10,13 @@ import com.zdxt.enforcementcode.domain.EfcodeCpPlan;
import com.zdxt.enforcementcode.domain.EfcodeCpPlanUsers;
import com.zdxt.enforcementcode.domain.EfcodeCpReserve;
import com.zdxt.enforcementcode.domain.bo.EfcodeCpPlanBo;
+import com.zdxt.enforcementcode.domain.bo.externalInterface.LongGangQueryPlanBo;
import com.zdxt.enforcementcode.domain.vo.EfcodeCpPlanVo;
import com.zdxt.enforcementcode.domain.vo.EfcodeCpReserveVo;
import com.zdxt.enforcementcode.domain.vo.EnterpriseInformationVo;
import com.zdxt.enforcementcode.domain.vo.SsztJbxx110497NewVo;
+import com.zdxt.enforcementcode.domain.vo.externalInterface.LongGangPlanSyncPageVo;
+import com.zdxt.enforcementcode.domain.vo.externalInterface.LongGangPlanSyncVo;
import com.zdxt.enforcementcode.mapper.EfcodeCpPlanMapper;
import com.zdxt.enforcementcode.mapper.EfcodeCpPlanUsersMapper;
import com.zdxt.enforcementcode.mapper.EfcodeCpReserveMapper;
@@ -47,6 +51,10 @@ import java.util.stream.Collectors;
@Service
public class OutEfcodeCpPlanServiceImpl implements IOutEfcodeCpPlanService {
+ private static final int DEFAULT_PAGE_NUM = 1;
+ private static final int DEFAULT_PAGE_SIZE = 100;
+ private static final int MAX_PAGE_SIZE = 500;
+
private final EfcodeCpPlanMapper baseMapper;
private final EfcodeCpPlanUsersMapper efcodeCpPlanUsersMapper;
private final EfcodeCpReserveMapper efcodeCpReserveMapper;
@@ -1429,4 +1437,34 @@ public class OutEfcodeCpPlanServiceImpl implements IOutEfcodeCpPlanService {
return baseMapper.selectVoOne(lqw);
}
+ @Override
+ public LongGangPlanSyncPageVo syncPlan(LongGangQueryPlanBo bo, String areaCode) {
+ int pageNum = bo.getPageNum() == null || bo.getPageNum() < 1 ? DEFAULT_PAGE_NUM : bo.getPageNum();
+ int pageSize = bo.getPageSize() == null || bo.getPageSize() < 1 ? DEFAULT_PAGE_SIZE : Math.min(bo.getPageSize(), MAX_PAGE_SIZE);
+
+ Date startTime = parseTime(bo.getStartTime(), "开始时间");
+ Date endTime = parseTime(bo.getEndTime(), "结束时间");
+
+ Page page = baseMapper.selectSyncPage(
+ new Page<>(pageNum, pageSize), areaCode, startTime, endTime);
+
+ LongGangPlanSyncPageVo vo = new LongGangPlanSyncPageVo();
+ vo.setPageNum(pageNum);
+ vo.setPageSize(pageSize);
+ vo.setTotal(page.getTotal());
+ vo.setList(page.getRecords());
+ return vo;
+ }
+
+ private Date parseTime(String time, String fieldName) {
+ if (StringUtils.isBlank(time)) {
+ return null;
+ }
+ try {
+ return DateUtil.parse(time);
+ } catch (Exception e) {
+ throw new ServiceException(fieldName + "格式错误,应为 yyyy-MM-dd HH:mm:ss");
+ }
+ }
+
}
diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/EfcodeCpPlanMapper.xml b/zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/EfcodeCpPlanMapper.xml
index e33a905a..683c5457 100644
--- a/zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/EfcodeCpPlanMapper.xml
+++ b/zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/EfcodeCpPlanMapper.xml
@@ -125,4 +125,39 @@
ORDER BY cp.plan_date DESC, cp.plan_time DESC
+
+
+
diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/EnterpriseComplaintMapper.xml b/zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/EnterpriseComplaintMapper.xml
index 4621fb2e..24924ab3 100644
--- a/zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/EnterpriseComplaintMapper.xml
+++ b/zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/EnterpriseComplaintMapper.xml
@@ -45,4 +45,54 @@
where id = #{id}
+
+
+
diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/LongGangUserQueryMapper.xml b/zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/LongGangUserQueryMapper.xml
new file mode 100644
index 00000000..6a2dd293
--- /dev/null
+++ b/zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/LongGangUserQueryMapper.xml
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+