From 716f57dacce347ba154f3b6a994f4e383e3a97a4 Mon Sep 17 00:00:00 2001
From: liyj <1003249715@qq.com>
Date: Thu, 05 Sep 2024 11:15:38 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/web/CtUnitWebController.java | 6
dyh-service/dyh-sync/src/main/java/cn/huge/module/sync/controller/SyncController.java | 2
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/CaseFeedbackMapper.java | 64
dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/dao/mapper/CtUserMapper.java | 9
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseFeedbackMapper.xml | 178 +
dyh-service/dyh-sys/src/main/java/cn/huge/module/utils/BaiduOcrUtils.java | 38
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java | 321 ++-
dyh-service/dyh-sys/src/main/java/cn/huge/module/sy/dao/mapper/xml/SyTimeLimitMapper.xml | 166 +
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/CaseInfoDTO.java | 54
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseFeedback.java | 110 +
dyh-service/dyh-sys/src/main/java/cn/huge/module/file/domain/po/FileInfo.java | 1
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseAgent.java | 20
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseFeedbackHis.java | 101
dyh-service/dyh-sys/src/main/java/cn/huge/module/file/controller/web/FileInfoWebController.java | 28
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseSuperviseService.java | 221 ++
dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/impl/SysClientImpl.java | 55
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/bo/CaseFeedbackHisBO.java | 17
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseFeedbackHisService.java | 133 +
dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/SysClient.java | 33
dyh-service/dyh-base/src/main/java/cn/huge/module/sys/constant/SyTimeEnum.java | 93
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/RegisterSaveDTO.java | 68
dyh-service/dyh-sys/src/main/java/cn/huge/module/file/controller/client/FileInfoClientController.java | 62
dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/CustClient.java | 12
dyh-service/dyh-mediate/src/main/java/cn/huge/module/draft/controller/web/CasedraftAgentWebController.java | 10
dyh-service/dyh-sys/src/main/java/cn/huge/module/sy/controller/client/SyTimeLimitClientController.java | 207 ++
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CasePersonService.java | 3
dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/dao/mapper/xml/CtUseroleMapper.xml | 8
dyh-service/dyh-mediate/src/main/java/cn/huge/module/draft/domain/po/CasedraftAgent.java | 19
dyh-service/dyh-sys/src/main/java/cn/huge/module/sy/service/SyTimeLimitService.java | 133 +
dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/web/CtDeptWebController.java | 4
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseFeedbackWebController.java | 230 ++
dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/web/CtUserWebController.java | 55
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseSuperviseMapper.xml | 196 +
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/CaseEvaluateMapper.java | 64
dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/impl/CustClientImpl.java | 20
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseAgentMapper.xml | 12
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/bo/CaseEvaluateBO.java | 17
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/bo/CaseFeedbackBO.java | 17
dyh-service/dyh-sys/src/main/java/cn/huge/module/file/dao/mapper/xml/FileInfoMapper.xml | 81
dyh-service/dyh-cust/src/main/java/cn/huge/module/pauser/service/PaUserService.java | 20
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/CaseFeedbackHisMapper.java | 64
dyh-service/dyh-sys/src/main/java/cn/huge/module/file/service/FileInfoService.java | 185 +
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseAgentWebController.java | 10
dyh-service/dyh-sys/src/main/java/cn/huge/module/sy/domain/po/SyTimeLimit.java | 90
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/CaseSuperviseMapper.java | 64
dyh-service/dyh-mediate/src/main/java/cn/huge/module/draft/domain/po/CasedraftPerson.java | 7
dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/dto/CtUserInfoDTO.java | 52
dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/web/CtPostWebController.java | 2
dyh-service/dyh-mediate/src/main/java/cn/huge/module/draft/dao/mapper/xml/CasedraftAgentMapper.xml | 12
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseInfoUnfoldWebController.java | 16
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseInfo.java | 3
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseFeedbackService.java | 246 ++
dyh-service/dyh-mediate/src/main/java/cn/huge/module/draft/controller/web/CasedraftInfoWebController.java | 19
dyh-service/dyh-sys/src/main/java/cn/huge/module/sy/controller/web/SyTimeLimitWebController.java | 209 ++
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseEvaluateMapper.xml | 166 +
dyh-service/dyh-sys/src/main/java/cn/huge/module/file/controller/client/FileRelateClientController.java | 119 +
dyh-service/dyh-base/src/main/java/cn/huge/module/sys/dto/FileTypeTermsDTO.java | 49
dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUseroleService.java | 9
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseSuperviseWebController.java | 262 ++
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseSupervise.java | 127 +
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseFeedbackHisMapper.xml | 175 +
dyh-service/dyh-mediate/src/main/java/cn/huge/module/draft/service/CasedraftInfoService.java | 254 +-
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseFeedbackHisWebController.java | 200 +
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseInfoWebController.java | 37
dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/dao/mapper/CtUseroleMapper.java | 7
dyh-service/dyh-mediate/src/main/java/cn/huge/module/draft/domain/dto/DraftRegisterSaveDTO.java | 33
dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUserService.java | 98
dyh-service/dyh-sys/src/main/java/cn/huge/module/file/service/FileRelateService.java | 58
dyh-service/dyh-mediate/src/main/java/cn/huge/module/draft/domain/po/CasedraftInfo.java | 3
dyh-service/dyh-cust/src/main/java/cn/huge/module/pauser/controller/wechat/PaUserWechatController.java | 16
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseEvaluateService.java | 133 +
dyh-service/dyh-mediate/src/main/java/cn/huge/module/draft/domain/dto/CasedraftInfoDTO.java | 47
dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/dao/mapper/xml/CtUserMapper.xml | 16
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoUnfoldService.java | 29
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseEvaluateWebController.java | 193 +
dyh-service/dyh-sys/src/main/java/cn/huge/module/sy/domain/bo/SyTimeLimitBO.java | 17
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/bo/CaseSuperviseBO.java | 17
dyh-service/dyh-sys/src/main/java/cn/huge/module/file/dao/mapper/FileInfoMapper.java | 7
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CasePerson.java | 7
dyh-service/dyh-sys/src/main/java/cn/huge/module/sy/dao/mapper/SyTimeLimitMapper.java | 64
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseEvaluate.java | 90
81 files changed, 5,763 insertions(+), 337 deletions(-)
diff --git a/dyh-service/dyh-base/src/main/java/cn/huge/module/sys/constant/SyTimeEnum.java b/dyh-service/dyh-base/src/main/java/cn/huge/module/sys/constant/SyTimeEnum.java
new file mode 100644
index 0000000..33c58f5
--- /dev/null
+++ b/dyh-service/dyh-base/src/main/java/cn/huge/module/sys/constant/SyTimeEnum.java
@@ -0,0 +1,93 @@
+package cn.huge.module.sys.constant;
+
+public enum SyTimeEnum {
+ SY_TIME_00("", "未分类"),
+ SY_TIME_01("24_00011-1", "受理时限"),
+ SY_TIME_02("24_00011-2", "办理时限"),
+ SY_TIME_03("24_00011-3", "督办回复时限"),
+ SY_TIME_04("24_00011-4", "评价时限");
+
+ /**
+ * 代码编号
+ */
+ private String index;
+
+ /**
+ * 名称
+ */
+ private String des;
+
+ public String getIndex() {
+ return index;
+ }
+
+ public void setIndex(String index) {
+ this.index = index;
+ }
+
+ public String getDes() {
+ return des;
+ }
+
+ public void setDes(String des) {
+ this.des = des;
+ }
+
+ SyTimeEnum(String index, String des) {
+ this.index = index;
+ this.des = des;
+ }
+
+ /**
+ * 静态方法
+ * @param index
+ * @return
+ */
+ public static String getDes(String index) {
+ for (SyTimeEnum syTimeEnum : SyTimeEnum.values()) {
+ if (syTimeEnum.getIndex().equals(index)) {
+ return syTimeEnum.des;
+ }
+ }
+ return null;
+ }
+ /**
+ * 静态方法
+ * @param ownerType
+ * @return
+ */
+ public static String getCat(String ownerType) {
+ switch (ownerType) {
+ case "22_00018-101":
+ return SY_TIME_01.getIndex();
+ case "22_00018-102":
+ return SY_TIME_02.getIndex();
+ case "22_00018-103":
+ return SY_TIME_03.getIndex();
+ case "22_00018-104":
+ return SY_TIME_04.getIndex();
+ default:
+ return SY_TIME_00.getIndex();
+ }
+ }
+
+ /**
+ * 静态方法
+ * @param index
+ * @return
+ */
+ public static SyTimeEnum getByIndex(final String index) {
+ switch (index) {
+ case "24_00011-1":
+ return SY_TIME_01;
+ case "24_00011-2":
+ return SY_TIME_02;
+ case "24_00011-3":
+ return SY_TIME_03;
+ case "24_00011-4":
+ return SY_TIME_04;
+ default:
+ return SY_TIME_00;
+ }
+ }
+}
diff --git a/dyh-service/dyh-base/src/main/java/cn/huge/module/sys/dto/FileTypeTermsDTO.java b/dyh-service/dyh-base/src/main/java/cn/huge/module/sys/dto/FileTypeTermsDTO.java
new file mode 100644
index 0000000..661e993
--- /dev/null
+++ b/dyh-service/dyh-base/src/main/java/cn/huge/module/sys/dto/FileTypeTermsDTO.java
@@ -0,0 +1,49 @@
+package cn.huge.module.sys.dto;
+
+
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @title: 查询附件条件对象
+ * @description: 查询附件条件对象
+ * @company:hugeinfo
+ * @author: liyj
+ * @time: 2022-03-22 11:41:14
+ * @version 1.0.0
+ */
+@Data
+public class FileTypeTermsDTO {
+
+ /**
+ * 附件业务编号
+ */
+ private String ownerId;
+
+ /**
+ * 附件业务编号集合
+ */
+ private List<String> ownerIdList;
+
+ /**
+ * 附件业务大类编号
+ */
+ private String ownerCat;
+
+ /**
+ * 附件业务大类编号集合
+ */
+ private List<String> ownerCatList;
+
+ /**
+ * 附件业务类型编号
+ */
+ private String ownerType;
+
+ /**
+ * 附件业务类型编号集合
+ */
+ private List<String> ownerTypeList;
+}
diff --git a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/web/CtDeptWebController.java b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/web/CtDeptWebController.java
index f845193..c0f3ee0 100644
--- a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/web/CtDeptWebController.java
+++ b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/web/CtDeptWebController.java
@@ -194,7 +194,7 @@
/**
* 新增部门或更新部门
- * @url {ctx}/api/v1/ctDept/saveCtDept
+ * @url {ctx}/api/web/ctDept/saveCtDept
* @param ctDept 实体对象
* @return Object
*/
@@ -221,7 +221,7 @@
/**
* 根据主键编号删除部门
- * @url {ctx}/api/v1/ctDept/removeByIds
+ * @url {ctx}/api/web/ctDept/removeByIds
* @param ids 主键编号
* @return Object
* @throws Exception
diff --git a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/web/CtPostWebController.java b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/web/CtPostWebController.java
index 34d66b7..72b2120 100644
--- a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/web/CtPostWebController.java
+++ b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/web/CtPostWebController.java
@@ -180,7 +180,7 @@
/**
* 根据单位编号查询所有岗位
- * @url {ctx}/api/v1/ctPost/getByUnitId
+ * @url {ctx}/api/web/ctPost/getByUnitId
* @param userId 登录用户编号
* @return Object
* @throws Exception
diff --git a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/web/CtUnitWebController.java b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/web/CtUnitWebController.java
index a396678..929b3fb 100644
--- a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/web/CtUnitWebController.java
+++ b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/web/CtUnitWebController.java
@@ -314,7 +314,7 @@
/**
* 获取所有组织(包含所有下级子组织)树形结构
- * @url {ctx}/api/v1/ctUnit/listUnitTree
+ * @url {ctx}/api/web/ctUnit/listUnitTree
* @param userId 登录用户标识称
* @return Object
*/
@@ -333,7 +333,7 @@
/**
* 获取组织详情(包含组织下的部门详情)
- * @url {ctx}/api/v1/ctUnit/getUnitAndDept?id=
+ * @url {ctx}/api/web/ctUnit/getUnitAndDept?id=
* @param id 组织编号
* @return Object
*/
@@ -350,7 +350,7 @@
/**
* 根据主键编号删除单位
- * @url {ctx}/api/v1/ctUnit/removeByIds
+ * @url {ctx}/api/web/ctUnit/removeByIds
* @param ids 主键编号
* @return Object
* @throws Exception
diff --git a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/web/CtUserWebController.java b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/web/CtUserWebController.java
index 654da13..e6f18f7 100644
--- a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/web/CtUserWebController.java
+++ b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/web/CtUserWebController.java
@@ -9,6 +9,7 @@
import cn.huge.module.ctrole.domain.po.CtRole;
import cn.huge.module.ctrole.service.CtRoleService;
import cn.huge.module.ctuser.domain.po.*;
+import cn.huge.module.ctuser.dto.CtUserInfoDTO;
import cn.huge.module.ctuser.dto.CtUserSaveDTO;
import cn.huge.module.ctuser.service.*;
import cn.huge.module.cust.constant.RoleBaseEnum;
@@ -20,6 +21,7 @@
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
@@ -287,7 +289,7 @@
/**
* web端-人员信息管理-新增/新用户信息
- * @url {ctx}/api/v1/ctUser/saveCtUser
+ * @url {ctx}/api/web/ctUser/saveCtUser
* @param userId
* @return Object
* @throws Exception
@@ -305,7 +307,7 @@
/**
* 获取人员信息列表查询条件
- * @url {ctx}/api/v1/ctUser/listSelectTerm
+ * @url {ctx}/api/web/ctUser/listSelectTerm
* @return userId 登录用户标识称
* @return Object
* @throws Exception
@@ -322,7 +324,7 @@
/**
* web端-人员信息管理-人员列表
- * @url {ctx}/api/v1/ctUser/pageQuery
+ * @url {ctx}/api/web/ctUser/pageQuery
* @param page 页码
* @param size 每页数量
* @return Object
@@ -362,7 +364,7 @@
/**
* 根据主键单个/批量删除
- * @url {ctx}/api/v1/ctUser/removeByIds
+ * @url {ctx}/api/web/ctUser/removeByIds
* @return Object
* @throws Exception
*/
@@ -376,4 +378,49 @@
return ReturnFailUtils.getRepInfo();
}
}
+
+ /**
+ * 选择人员
+ * @url {ctx}/api/web/ctUser/userChoose
+ * @return Object
+ */
+ @GetMapping("/userChoose")
+ public Object userChoose(@CurrentUser String userId) {
+ try {
+ String roleCode = request.getParameter("roleCode");
+ List<SelectTermDTO> unitSelectTerms = service.userChoose(userId, roleCode);
+ return ReturnSucUtils.getRepInfo(unitSelectTerms);
+ } catch (Exception e) {
+ return ReturnFailUtils.getRepInfo(e.getMessage());
+ }
+ }
+
+ /**
+ * 共通组件-根据人员编号查询单个人员信息及角色信息
+ * @url {ctx}/api/web/ctUser/getByIdRole
+ * @param id 主键编号
+ * @return Object
+ * @throws Exception
+ */
+ @GetMapping("/getByIdRole")
+ public Object getByIdRole(@RequestParam(value = "id") String id) {
+ try {
+ CtUserInfoDTO ctUserInfoDTO = new CtUserInfoDTO();
+ CtUser ctUser = service.getById(id);
+ if (ObjectUtils.isNotEmpty(ctUser)) {
+ BeanUtils.copyProperties(ctUser, ctUserInfoDTO);
+ CtAccount ctAccount = ctAccountService.getByUserIdAndType(id, UserBaseConsts.ACC_TYPE_1);
+ ctUserInfoDTO.setLoginTime(ctAccount.getLoginTime());
+ ctUserInfoDTO.setAcc(ctAccount.getAcc());
+ List<String> roleNameList = ctUseroleService.listRoleName(id);
+ if (CollectionUtils.isNotEmpty(roleNameList)) {
+ String userRoles = roleNameList.stream().map(String::valueOf).collect(Collectors.joining("、"));
+ ctUserInfoDTO.setUserRoles(userRoles);
+ }
+ }
+ return ReturnSucUtils.getRepInfo(ctUserInfoDTO);
+ } catch (Exception e) {
+ return ReturnFailUtils.getRepInfo();
+ }
+ }
}
diff --git a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/dao/mapper/CtUserMapper.java b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/dao/mapper/CtUserMapper.java
index 1ee4253..8f91d13 100644
--- a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/dao/mapper/CtUserMapper.java
+++ b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/dao/mapper/CtUserMapper.java
@@ -75,4 +75,13 @@
* @return
*/
List<CtUser> pageQueryCtUser(@Param("page") PageRequest page, @Param("terms") Map<String, Object> terms);
+
+ /**
+ * 根据部门和角色查询
+ * @param deptIdList 部门编号
+ * @param roleCode 角色代码
+ * @return List<SelectTermDTO>
+ */
+ List<CtUser> listUserByDeptRoleList(@Param("deptIdList") List<String> deptIdList, @Param("roleCode") String roleCode);
+
}
diff --git a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/dao/mapper/CtUseroleMapper.java b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/dao/mapper/CtUseroleMapper.java
index 35c10b0..a996b75 100644
--- a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/dao/mapper/CtUseroleMapper.java
+++ b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/dao/mapper/CtUseroleMapper.java
@@ -68,4 +68,11 @@
*/
List<String> listRoleCode(@Param("userId") String userId);
+ /**
+ * 根据用户编号获取其角色名称
+ * @param userId 用户编号
+ * @return List<String>
+ */
+ List<String> listRoleName(@Param("userId") String userId);
+
}
diff --git a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/dao/mapper/xml/CtUserMapper.xml b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/dao/mapper/xml/CtUserMapper.xml
index 18c30ba..3251ac0 100644
--- a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/dao/mapper/xml/CtUserMapper.xml
+++ b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/dao/mapper/xml/CtUserMapper.xml
@@ -407,4 +407,20 @@
</if>
limit #{page.offset}, #{page.size}
</select>
+
+ <!-- 根据部门和角色查询 -->
+ <select id="listUserByDeptRoleList" resultMap="dataResult">
+ SELECT t1.id, t1.true_name, t1.dept_id
+ FROM dyh_ct_user t1 LEFT JOIN dyh_ct_userole t2 ON t1.id = t2.user_id
+ WHERE
+ t1.delete_status = '0'
+ AND t2.role_code = #{roleCode}
+ AND t1.status = '1'
+ <if test="deptIdList != null and deptIdList != ''">
+ and t1.dept_id in
+ <foreach collection="deptIdList" item="deptIdList" index="index" open="(" separator="," close=")">
+ #{deptIdList}
+ </foreach>
+ </if>
+ </select>
</mapper>
\ No newline at end of file
diff --git a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/dao/mapper/xml/CtUseroleMapper.xml b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/dao/mapper/xml/CtUseroleMapper.xml
index f3b00cb..4ed8a6f 100644
--- a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/dao/mapper/xml/CtUseroleMapper.xml
+++ b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/dao/mapper/xml/CtUseroleMapper.xml
@@ -151,4 +151,12 @@
user_id = #{userId}
</select>
+ <select id="listRoleName" resultType="String">
+ select
+ role_name
+ FROM
+ <include refid="table-name" />
+ WHERE
+ user_id = #{userId}
+ </select>
</mapper>
\ No newline at end of file
diff --git a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/dto/CtUserInfoDTO.java b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/dto/CtUserInfoDTO.java
new file mode 100644
index 0000000..571e67d
--- /dev/null
+++ b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/dto/CtUserInfoDTO.java
@@ -0,0 +1,52 @@
+package cn.huge.module.ctuser.dto;
+
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @title: 客户用户信息数据传输对象
+ * @description: 客户用户信息数据传输对象
+ * @company:hugeinfo
+ * @author: chenx
+ * @time: 2022-02-22 14:19:43
+ * @version 1.0.0
+ */
+@Data
+public class CtUserInfoDTO {
+
+ /**
+ * 姓名
+ */
+ private String trueName;
+
+ /**
+ * 账号
+ */
+ private String acc;
+
+ /**
+ * 组织名称
+ */
+ private String unitName;
+
+ /**
+ * 部门名称
+ */
+ private String deptName;
+
+ /**
+ * 人员角色信息
+ */
+ private String userRoles;
+
+ /**
+ * 最后一次登录时间
+ */
+ private Date loginTime;
+
+ /**
+ * 手机号码
+ */
+ private String mobile;
+}
diff --git a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUserService.java b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUserService.java
index 5746d53..888c322 100644
--- a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUserService.java
+++ b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUserService.java
@@ -600,4 +600,102 @@
ctDeptService.updateCtDept(ctDept);
}
}
+
+ /**
+ * 根据部门和角色查询
+ * @param deptIdList 部门编号
+ * @param roleCode 角色代码
+ * @return List<SelectTermDTO>
+ */
+ public List<CtUser> listUserByDeptRoleList(List<String> deptIdList, String roleCode){
+ return mapper.listUserByDeptRoleList(deptIdList, roleCode);
+ }
+
+ /**
+ * 按条件分页查询
+ *
+ * @param userId 分页对象
+ * @param roleCode 条件
+ * @return Page
+ */
+ public List<SelectTermDTO> userChoose(String userId, String roleCode) {
+ // 获取当前登录用户
+ CtUserDTO loginUser = clientGetUserAll(userId);
+ // 组织条件
+ QueryWrapper<CtUnit> ctUnitQueryWrapper = new QueryWrapper<>();
+ if (RoleBaseEnum.checkAdminPower(loginUser)){
+ ctUnitQueryWrapper.eq("cust_id", loginUser.getCustId()).select("id", "unit_name", "parent_id");
+ }else {
+ ctUnitQueryWrapper.eq("id", loginUser.getUnitId()).select("id", "unit_name", "parent_id");
+ }
+ List<CtUnit> ctUnitList = ctUnitService.list(ctUnitQueryWrapper);
+ List<SelectTermDTO> unitSelectTerms = new ArrayList<>();
+
+ List<String> unitIdList= ctUnitList.stream().map(CtUnit::getId).collect(Collectors.toList());
+ // 部门条件
+ QueryWrapper<CtDept> ctDeptQueryWrapper = new QueryWrapper<>();
+ ctDeptQueryWrapper.in("unit_id", unitIdList).select("id", "unit_id", "name", "parent_id");
+ List<CtDept> ctDeptList = ctDeptService.list(ctDeptQueryWrapper);
+ List<String> deptIdList = ctDeptList.stream().map(CtDept::getId).collect(Collectors.toList());
+
+ // 人员条件
+ List<CtUser> ctUsers = null;
+ if (StringUtils.isNotEmpty(roleCode)){
+ ctUsers = listUserByDeptRoleList(deptIdList, roleCode);
+ }else {
+ QueryWrapper<CtUser> ctUserQueryWrapper = new QueryWrapper<>();
+ ctUserQueryWrapper.in("dept_id", deptIdList).select("id", "true_name", "dept_id");
+ ctUsers = this.list(ctUserQueryWrapper);
+ }
+ List<String> userIdList = ctUsers.stream().map(CtUser::getId).collect(Collectors.toList());
+ QueryWrapper<CtUserole> ctUserQueryWrapper = new QueryWrapper<>();
+ ctUserQueryWrapper.in("user_id", userIdList).select("user_id", "role_name");
+ List<CtUserole> roleList = ctUseroleService.list(ctUserQueryWrapper);
+
+ for(CtUnit ctUnit: ctUnitList){
+ SelectTermDTO unitSelectTerm = new SelectTermDTO();
+ unitSelectTerm.setValue(ctUnit.getId());
+ unitSelectTerm.setLabel(ctUnit.getUnitName());
+ unitSelectTerm.setParentId(ctUnit.getParentId());
+ unitSelectTerm.setCheckable(false);
+ List<SelectTermDTO> deptSelectTerms = new ArrayList<>();
+ for(CtDept ctDept : ctDeptList){
+ if(ctUnit.getId().equals(ctDept.getUnitId())){
+ SelectTermDTO deptSelectTerm = new SelectTermDTO();
+ deptSelectTerm.setValue(ctDept.getId());
+ deptSelectTerm.setLabel(ctDept.getName());
+ deptSelectTerm.setParentId(ctDept.getParentId());
+ deptSelectTerm.setCheckable(false);
+
+ if (CollectionUtils.isNotEmpty(ctUsers)) {
+ List<SelectTermDTO> userSelectTerms = new ArrayList<>();
+
+ for(CtUser ctUser : ctUsers){
+ if(ctUser.getDeptId().equals(ctDept.getId())){
+ List<CtUserole> ctUseroleList = new ArrayList<>();
+ for(CtUserole ctUserole: roleList){
+ if(ctUser.getId().equals(ctUserole.getUserId())){
+ ctUseroleList.add(ctUserole);
+ }
+ }
+ SelectTermDTO userSelectTerm = new SelectTermDTO();
+ userSelectTerm.setValue(ctUser.getId());
+ userSelectTerm.setCheckable(true);
+ String roleName = ctUseroleList.stream().map(CtUserole::getRoleName).collect(Collectors.joining(","));
+ userSelectTerm.setLabel(ctUser.getTrueName()+"("+roleName+")");
+ userSelectTerms.add(userSelectTerm);
+ }
+ }
+ List<SelectTermDTO> users = SelectTermUtils.createTreeByRoot(userSelectTerms);
+ deptSelectTerm.setChildren(users);
+ }
+ deptSelectTerms.add(deptSelectTerm);
+ }
+ List<SelectTermDTO> depts = SelectTermUtils.createTreeByRoot(deptSelectTerms);
+ unitSelectTerm.setChildren(depts);
+ }
+ unitSelectTerms.add(unitSelectTerm);
+ }
+ return SelectTermUtils.createTreeByFirst(unitSelectTerms, loginUser.getUnitId());
+ }
}
diff --git a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUseroleService.java b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUseroleService.java
index 63a0d45..dbf5483 100644
--- a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUseroleService.java
+++ b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUseroleService.java
@@ -168,4 +168,13 @@
throw new ServiceException("CtUseroleService.deleteByUserId", e);
}
}
+
+ /**
+ * 根据用户编号获取其角色名称
+ * @param userId 用户编号
+ * @return List<String>
+ */
+ public List<String> listRoleName(String userId){
+ return mapper.listRoleName(userId);
+ }
}
\ No newline at end of file
diff --git a/dyh-service/dyh-cust/src/main/java/cn/huge/module/pauser/controller/wechat/PaUserWechatController.java b/dyh-service/dyh-cust/src/main/java/cn/huge/module/pauser/controller/wechat/PaUserWechatController.java
index f364bdb..40c57af 100644
--- a/dyh-service/dyh-cust/src/main/java/cn/huge/module/pauser/controller/wechat/PaUserWechatController.java
+++ b/dyh-service/dyh-cust/src/main/java/cn/huge/module/pauser/controller/wechat/PaUserWechatController.java
@@ -2,6 +2,7 @@
import cn.huge.base.common.utils.ReturnFailUtils;
import cn.huge.base.common.utils.ReturnSucUtils;
+import cn.huge.module.mediate.dto.WechatBindCaseDTO;
import cn.huge.base.config.CurrentUser;
import cn.huge.module.pauser.domain.po.PaUser;
import cn.huge.module.pauser.service.PaUserService;
@@ -257,4 +258,19 @@
}
}
+ /**
+ * pc端提交案件后-获取相关当事人用户编号
+ * @url {ctx}/api/weChat/paUser/bindGetUserId
+ * @param wechatBindCaseDTO 实体对象
+ * @return Object
+ */
+ @PostMapping("/bindGetUserId")
+ public Object bindGetUserId(@RequestBody WechatBindCaseDTO wechatBindCaseDTO) {
+ try {
+ return ReturnSucUtils.getRepInfo(service.bindGetUserId(wechatBindCaseDTO));
+ } catch (Exception e) {
+ log.error("Controller接口[WeChatPaUserController.bindGetUserId]请求异常:"+e, e);
+ return ReturnFailUtils.getRepInfo();
+ }
+ }
}
diff --git a/dyh-service/dyh-cust/src/main/java/cn/huge/module/pauser/service/PaUserService.java b/dyh-service/dyh-cust/src/main/java/cn/huge/module/pauser/service/PaUserService.java
index 598c800..c4cc93f 100644
--- a/dyh-service/dyh-cust/src/main/java/cn/huge/module/pauser/service/PaUserService.java
+++ b/dyh-service/dyh-cust/src/main/java/cn/huge/module/pauser/service/PaUserService.java
@@ -5,12 +5,14 @@
import cn.huge.base.common.utils.IdUtils;
import cn.huge.base.common.utils.ObjectUtils;
import cn.huge.module.client.api.impl.UtilsClientImpl;
+import cn.huge.module.mediate.dto.WechatBindCaseDTO;
import cn.huge.module.cust.constant.UserBaseConsts;
import cn.huge.module.mediate.dto.WechatBindCaseDTO;
import cn.huge.module.pauser.dao.mapper.PaAccountMapper;
import cn.huge.module.pauser.dao.mapper.PaUserMapper;
import cn.huge.module.pauser.domain.po.PaAccount;
import cn.huge.module.pauser.domain.po.PaUser;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import cn.huge.module.pauser.dto.WeChatPersonalDTO;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -142,6 +144,24 @@
}
/**
+ * pc端提交案件后-获取相关当事人用户编号
+ * @param wechatBindCaseDTO 用户信息
+ * @return String
+ */
+ public String bindGetUserId(WechatBindCaseDTO wechatBindCaseDTO){
+ try{
+ QueryWrapper<PaUser> paUserQueryWrapper = new QueryWrapper<>();
+ paUserQueryWrapper.eq("true_name", wechatBindCaseDTO.getTrueName()).
+ eq("idcard", wechatBindCaseDTO.getIdcard()).eq("cust_id", wechatBindCaseDTO.getCustId());
+ PaUser paUser = this.getOne(paUserQueryWrapper);
+ return paUser.getId();
+ }catch (Exception e){
+ log.error("service方法[PaUserService.bindGetUserId]调用异常:"+e, e);
+ throw new ServiceException("PaUserService.bindGetUserId", e);
+ }
+ }
+
+ /**
* 当事人小程序-个人中心
* @param userId 用户编号
* @return WeChatPersonalDTO
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseAgentWebController.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseAgentWebController.java
index 4ee6a31..55ca92d 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseAgentWebController.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseAgentWebController.java
@@ -58,6 +58,16 @@
if (StringUtils.isNotBlank(partyUserId)){
terms.put("partyUserId", partyUserId);
}
+ // 当事人地位
+ String perType = request.getParameter("perType");
+ if (StringUtils.isNotBlank(perType)){
+ terms.put("perType", perType);
+ }
+ // 当事人地位名称
+ String perTypeName = request.getParameter("perTypeName");
+ if (StringUtils.isNotBlank(perTypeName)){
+ terms.put("perTypeName", perTypeName);
+ }
// 代理人类型
String perClass = request.getParameter("perClass");
if (StringUtils.isNotBlank(perClass)){
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseEvaluateWebController.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseEvaluateWebController.java
new file mode 100644
index 0000000..80e22ff
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseEvaluateWebController.java
@@ -0,0 +1,193 @@
+package cn.huge.module.cases.controller.web;
+
+import cn.huge.base.common.utils.ReturnFailUtils;
+import cn.huge.base.common.utils.ReturnSucUtils;
+import cn.huge.module.cases.domain.po.CaseEvaluate;
+import cn.huge.module.cases.service.CaseEvaluateService;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.google.common.collect.Maps;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.data.domain.Sort;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.Map;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+
+/**
+ * @title: 当事人纠纷评价表接口api-web端
+ * @description: 当事人纠纷评价表接口api-web端
+ * @company: hugeinfo
+ * @author: wangwh
+ * @time: 2024-09-04 20:21:05
+ * @version: 1.0.0
+ */
+@Slf4j
+@RestController
+@RequestMapping("/api/web/caseEvaluate")
+public class CaseEvaluateWebController {
+
+ @Autowired(required = false)
+ private HttpServletRequest request;
+
+ @Autowired
+ private CaseEvaluateService service;
+
+ /**
+ * 获取请求URL参数
+ * @return Map<String, Object>
+ */
+ private Map<String, Object> getParameter(){
+ Map<String, Object> terms = Maps.newHashMap();
+ // 主键编号
+ String id = request.getParameter("id");
+ if (StringUtils.isNotBlank(id)){
+ terms.put("id", id);
+ }
+ // 纠纷编号
+ String caseId = request.getParameter("caseId");
+ if (StringUtils.isNotBlank(caseId)){
+ terms.put("caseId", caseId);
+ }
+ // 评价等级
+ String evaluateGrade = request.getParameter("evaluateGrade");
+ if (StringUtils.isNotBlank(evaluateGrade)){
+ terms.put("evaluateGrade", evaluateGrade);
+ }
+ // 选择评语,多个用,隔开
+ String evaluateRemark = request.getParameter("evaluateRemark");
+ if (StringUtils.isNotBlank(evaluateRemark)){
+ terms.put("evaluateRemark", evaluateRemark);
+ }
+ // 评价建议
+ String evaluateContent = request.getParameter("evaluateContent");
+ if (StringUtils.isNotBlank(evaluateContent)){
+ terms.put("evaluateContent", evaluateContent);
+ }
+ // 评价人编号
+ String evaluateUserId = request.getParameter("evaluateUserId");
+ if (StringUtils.isNotBlank(evaluateUserId)){
+ terms.put("evaluateUserId", evaluateUserId);
+ }
+ // 评价人名称
+ String evaluateUserName = request.getParameter("evaluateUserName");
+ if (StringUtils.isNotBlank(evaluateUserName)){
+ terms.put("evaluateUserName", evaluateUserName);
+ }
+ // 删除状态,0:未删除,1:已删除
+ String deleteStatus = request.getParameter("deleteStatus");
+ if (StringUtils.isNotBlank(deleteStatus)){
+ terms.put("deleteStatus", deleteStatus);
+ }
+ // 顾客编号
+ String custId = request.getParameter("custId");
+ if (StringUtils.isNotBlank(custId)){
+ terms.put("custId", custId);
+ }
+ // 创建时间区间
+ String createStart = request.getParameter("createStart");
+ String createEnd = request.getParameter("createEnd");
+ if(StringUtils.isNotBlank(createStart) && StringUtils.isNotBlank(createEnd)) {
+ terms.put("createStart", createStart);
+ terms.put("createEnd", createEnd);
+ }
+ // 更新时间区间
+ String updateStart = request.getParameter("updateStart");
+ String updateEnd = request.getParameter("updateEnd");
+ if(StringUtils.isNotBlank(updateStart) && StringUtils.isNotBlank(updateEnd)) {
+ terms.put("updateStart", updateStart);
+ terms.put("updateEnd", updateEnd);
+ }
+ return terms;
+ }
+
+ /**
+ * 条件查询多个
+ * @url {ctx}/api/web/caseEvaluate/listQuery
+ * @return Object
+ */
+ @GetMapping("/listQuery")
+ public Object listQuery() {
+ try {
+ Map<String, Object> terms = getParameter();
+ return ReturnSucUtils.getRepInfo(service.listTerms(terms));
+ } catch (Exception e) {
+ return ReturnFailUtils.getRepInfo();
+ }
+ }
+
+ /**
+ * 条件分页查询
+ * @url {ctx}/api/web/caseEvaluate/pageQuery
+ * @param page 页码
+ * @param size 每页数量
+ * @return Object
+ */
+ @GetMapping("/pageQuery")
+ public Object pageQuery(@RequestParam(value = "page") int page, @RequestParam(value = "size") int size) {
+ try {
+ Map<String, Object> terms = getParameter();
+ Sort sort = Sort.by(Sort.Direction.DESC, "create_time");
+ PageRequest pageRequest = PageRequest.of(page-1, size, sort);
+ Page<CaseEvaluate> caseEvaluatePage = service.pageQuery(pageRequest, terms);
+ return ReturnSucUtils.getRepInfo( "处理成功", caseEvaluatePage);
+ } catch (Exception e) {
+ return ReturnFailUtils.getRepInfo();
+ }
+ }
+
+ /**
+ * 根据编号查询单个
+ * @url {ctx}/api/web/caseEvaluate/getByCaseId
+ * @param caseId 事项ID
+ * @return Object
+ */
+ @GetMapping("/getByCaseId")
+ public Object getByCaseId(@RequestParam(value = "caseId") String caseId) {
+ try {
+ QueryWrapper<CaseEvaluate> caseEvaluateQueryWrapper = new QueryWrapper<>();
+ caseEvaluateQueryWrapper.eq("case_id", caseId).eq("delete_status", 0);
+ return ReturnSucUtils.getRepInfo(service.getOne(caseEvaluateQueryWrapper));
+ } catch (Exception e) {
+ return ReturnFailUtils.getRepInfo();
+ }
+ }
+
+ /**
+ * 根据主键单个
+ * @url {ctx}/api/web/caseEvaluate/deleteById
+ * @param id 主键编号
+ * @return Object
+ */
+ @GetMapping("/deleteById")
+ public Object deleteById(@RequestParam(value = "id") String id) {
+ try {
+ service.removeById(id);
+ return ReturnSucUtils.getRepInfo();
+ } catch (Exception e) {
+ return ReturnFailUtils.getRepInfo();
+ }
+ }
+
+ /**
+ * 新增或更新对象
+ * @url {ctx}/api/web/caseEvaluate/saveCaseEvaluate
+ * @param caseEvaluate 实体对象
+ * @return Object
+ */
+ @PostMapping("/saveCaseEvaluate")
+ public Object saveCaseEvaluate(@RequestBody CaseEvaluate caseEvaluate) {
+ try {
+ service.saveCaseEvaluate(caseEvaluate);
+ return ReturnSucUtils.getRepInfo();
+ } catch (Exception e) {
+ return ReturnFailUtils.getRepInfo();
+ }
+ }
+
+}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseFeedbackHisWebController.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseFeedbackHisWebController.java
new file mode 100644
index 0000000..c582eb9
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseFeedbackHisWebController.java
@@ -0,0 +1,200 @@
+package cn.huge.module.cases.controller.web;
+
+import cn.huge.base.common.utils.ReturnFailUtils;
+import cn.huge.base.common.utils.ReturnSucUtils;
+import cn.huge.module.cases.domain.po.CaseFeedbackHis;
+import cn.huge.module.cases.service.CaseFeedbackHisService;
+import com.google.common.collect.Maps;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.data.domain.Sort;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.Map;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+
+/**
+ * @title: 纠纷办理反馈信息历史表接口api-web端
+ * @description: 纠纷办理反馈信息历史表接口api-web端
+ * @company: hugeinfo
+ * @author: wangwh
+ * @time: 2024-08-31 17:42:41
+ * @version: 1.0.0
+ */
+@Slf4j
+@RestController
+@RequestMapping("/api/web/caseFeedbackHis")
+public class CaseFeedbackHisWebController {
+
+ @Autowired(required = false)
+ private HttpServletRequest request;
+
+ @Autowired
+ private CaseFeedbackHisService service;
+
+ /**
+ * 获取请求URL参数
+ * @return Map<String, Object>
+ */
+ private Map<String, Object> getParameter(){
+ Map<String, Object> terms = Maps.newHashMap();
+ // 主键编号
+ String id = request.getParameter("id");
+ if (StringUtils.isNotBlank(id)){
+ terms.put("id", id);
+ }
+ // 办理反馈信息编号
+ String feedbackId = request.getParameter("feedbackId");
+ if (StringUtils.isNotBlank(feedbackId)){
+ terms.put("feedbackId", feedbackId);
+ }
+ // 纠纷编号
+ String caseId = request.getParameter("caseId");
+ if (StringUtils.isNotBlank(caseId)){
+ terms.put("caseId", caseId);
+ }
+ // 办理反馈纠纷任务编号
+ String caseTaskId = request.getParameter("caseTaskId");
+ if (StringUtils.isNotBlank(caseTaskId)){
+ terms.put("caseTaskId", caseTaskId);
+ }
+ // 经办类型,1:承办组织,2:配合组织
+ String handleType = request.getParameter("handleType");
+ if (StringUtils.isNotBlank(handleType)){
+ terms.put("handleType", handleType);
+ }
+ // 经办组织编号
+ String handleUnitId = request.getParameter("handleUnitId");
+ if (StringUtils.isNotBlank(handleUnitId)){
+ terms.put("handleUnitId", handleUnitId);
+ }
+ // 经办组织名称
+ String handleUnitName = request.getParameter("handleUnitName");
+ if (StringUtils.isNotBlank(handleUnitName)){
+ terms.put("handleUnitName", handleUnitName);
+ }
+ // 操作人编号
+ String handleUserId = request.getParameter("handleUserId");
+ if (StringUtils.isNotBlank(handleUserId)){
+ terms.put("handleUserId", handleUserId);
+ }
+ // 经办人名称
+ String handleUserName = request.getParameter("handleUserName");
+ if (StringUtils.isNotBlank(handleUserName)){
+ terms.put("handleUserName", handleUserName);
+ }
+ // 办理意见
+ String handleContent = request.getParameter("handleContent");
+ if (StringUtils.isNotBlank(handleContent)){
+ terms.put("handleContent", handleContent);
+ }
+ // 顾客编号
+ String custId = request.getParameter("custId");
+ if (StringUtils.isNotBlank(custId)){
+ terms.put("custId", custId);
+ }
+ // 创建时间区间
+ String createStart = request.getParameter("createStart");
+ String createEnd = request.getParameter("createEnd");
+ if(StringUtils.isNotBlank(createStart) && StringUtils.isNotBlank(createEnd)) {
+ terms.put("createStart", createStart);
+ terms.put("createEnd", createEnd);
+ }
+ // 更新时间区间
+ String updateStart = request.getParameter("updateStart");
+ String updateEnd = request.getParameter("updateEnd");
+ if(StringUtils.isNotBlank(updateStart) && StringUtils.isNotBlank(updateEnd)) {
+ terms.put("updateStart", updateStart);
+ terms.put("updateEnd", updateEnd);
+ }
+ return terms;
+ }
+
+ /**
+ * 条件查询多个
+ * @url {ctx}/api/web/caseFeedbackHis/listQuery
+ * @return Object
+ */
+ @GetMapping("/listQuery")
+ public Object listQuery() {
+ try {
+ Map<String, Object> terms = getParameter();
+ return ReturnSucUtils.getRepInfo(service.listTerms(terms));
+ } catch (Exception e) {
+ return ReturnFailUtils.getRepInfo();
+ }
+ }
+
+ /**
+ * 条件分页查询
+ * @url {ctx}/api/web/caseFeedbackHis/pageQuery
+ * @param page 页码
+ * @param size 每页数量
+ * @return Object
+ */
+ @GetMapping("/pageQuery")
+ public Object pageQuery(@RequestParam(value = "page") int page, @RequestParam(value = "size") int size) {
+ try {
+ Map<String, Object> terms = getParameter();
+ Sort sort = Sort.by(Sort.Direction.DESC, "create_time");
+ PageRequest pageRequest = PageRequest.of(page-1, size, sort);
+ Page<CaseFeedbackHis> caseFeedbackHisPage = service.pageQuery(pageRequest, terms);
+ return ReturnSucUtils.getRepInfo( "处理成功", caseFeedbackHisPage);
+ } catch (Exception e) {
+ return ReturnFailUtils.getRepInfo();
+ }
+ }
+
+ /**
+ * 根据编号查询单个
+ * @url {ctx}/api/web/caseFeedbackHis/getById
+ * @param id 主键编号
+ * @return Object
+ */
+ @GetMapping("/getById")
+ public Object getById(@RequestParam(value = "id") String id) {
+ try {
+ return ReturnSucUtils.getRepInfo(service.getById(id));
+ } catch (Exception e) {
+ return ReturnFailUtils.getRepInfo();
+ }
+ }
+
+ /**
+ * 根据主键单个
+ * @url {ctx}/api/web/caseFeedbackHis/deleteById
+ * @param id 主键编号
+ * @return Object
+ */
+ @GetMapping("/deleteById")
+ public Object deleteById(@RequestParam(value = "id") String id) {
+ try {
+ service.removeById(id);
+ return ReturnSucUtils.getRepInfo();
+ } catch (Exception e) {
+ return ReturnFailUtils.getRepInfo();
+ }
+ }
+
+ /**
+ * 新增或更新对象
+ * @url {ctx}/api/web/caseFeedbackHis/saveCaseFeedbackHis
+ * @param caseFeedbackHis 实体对象
+ * @return Object
+ */
+ @PostMapping("/saveCaseFeedbackHis")
+ public Object saveCaseFeedbackHis(@RequestBody CaseFeedbackHis caseFeedbackHis) {
+ try {
+ service.saveCaseFeedbackHis(caseFeedbackHis);
+ return ReturnSucUtils.getRepInfo();
+ } catch (Exception e) {
+ return ReturnFailUtils.getRepInfo();
+ }
+ }
+
+}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseFeedbackWebController.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseFeedbackWebController.java
new file mode 100644
index 0000000..884807f
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseFeedbackWebController.java
@@ -0,0 +1,230 @@
+package cn.huge.module.cases.controller.web;
+
+import cn.huge.base.common.utils.ReturnFailUtils;
+import cn.huge.base.common.utils.ReturnSucUtils;
+import cn.huge.base.config.CurrentUser;
+import cn.huge.module.cases.domain.po.CaseFeedback;
+import cn.huge.module.cases.service.CaseFeedbackService;
+import com.google.common.collect.Maps;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.data.domain.Sort;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @title: 纠纷办理反馈j信息表接口api-web端
+ * @description: 纠纷办理反馈j信息表接口api-web端
+ * @company: hugeinfo
+ * @author: wangwh
+ * @time: 2024-08-30 17:35:02
+ * @version: 1.0.0
+ */
+@Slf4j
+@RestController
+@RequestMapping("/api/web/caseFeedback")
+public class CaseFeedbackWebController {
+
+ @Autowired(required = false)
+ private HttpServletRequest request;
+
+ @Autowired
+ private CaseFeedbackService service;
+
+ /**
+ * 获取请求URL参数
+ * @return Map<String, Object>
+ */
+ private Map<String, Object> getParameter(){
+ Map<String, Object> terms = Maps.newHashMap();
+ // 主键编号
+ String id = request.getParameter("id");
+ if (StringUtils.isNotBlank(id)){
+ terms.put("id", id);
+ }
+ // 纠纷编号
+ String caseId = request.getParameter("caseId");
+ if (StringUtils.isNotBlank(caseId)){
+ terms.put("caseId", caseId);
+ }
+ // 任务编号
+ String caseTaskId = request.getParameter("caseTaskId");
+ if (StringUtils.isNotBlank(caseTaskId)){
+ terms.put("caseTaskId", caseTaskId);
+ }
+ // 经办类型,1:承办组织,2:配合组织
+ String handleType = request.getParameter("handleType");
+ if (StringUtils.isNotBlank(handleType)){
+ terms.put("handleType", handleType);
+ }
+ // 经办组织编号
+ String handleUnitId = request.getParameter("handleUnitId");
+ if (StringUtils.isNotBlank(handleUnitId)){
+ terms.put("handleUnitId", handleUnitId);
+ }
+ // 经办组织名称
+ String handleUnitName = request.getParameter("handleUnitName");
+ if (StringUtils.isNotBlank(handleUnitName)){
+ terms.put("handleUnitName", handleUnitName);
+ }
+ // 操作人编号
+ String handleUserId = request.getParameter("handleUserId");
+ if (StringUtils.isNotBlank(handleUserId)){
+ terms.put("handleUserId", handleUserId);
+ }
+ // 经办人名称
+ String handleUserName = request.getParameter("handleUserName");
+ if (StringUtils.isNotBlank(handleUserName)){
+ terms.put("handleUserName", handleUserName);
+ }
+ // 办理意见
+ String handleContent = request.getParameter("handleContent");
+ if (StringUtils.isNotBlank(handleContent)){
+ terms.put("handleContent", handleContent);
+ }
+ // 删除状态,0:未删除,1:已删除
+ String deleteStatus = request.getParameter("deleteStatus");
+ if (StringUtils.isNotBlank(deleteStatus)){
+ terms.put("deleteStatus", deleteStatus);
+ }
+ // 顾客编号
+ String custId = request.getParameter("custId");
+ if (StringUtils.isNotBlank(custId)){
+ terms.put("custId", custId);
+ }
+ // 创建时间区间
+ String createStart = request.getParameter("createStart");
+ String createEnd = request.getParameter("createEnd");
+ if(StringUtils.isNotBlank(createStart) && StringUtils.isNotBlank(createEnd)) {
+ terms.put("createStart", createStart);
+ terms.put("createEnd", createEnd);
+ }
+ // 更新时间区间
+ String updateStart = request.getParameter("updateStart");
+ String updateEnd = request.getParameter("updateEnd");
+ if(StringUtils.isNotBlank(updateStart) && StringUtils.isNotBlank(updateEnd)) {
+ terms.put("updateStart", updateStart);
+ terms.put("updateEnd", updateEnd);
+ }
+ return terms;
+ }
+
+ /**
+ * 条件查询多个
+ * @url {ctx}/api/web/CaseFeedback/listQuery
+ * @return Object
+ */
+ @GetMapping("/listQuery")
+ public Object listQuery() {
+ try {
+ Map<String, Object> terms = getParameter();
+ return ReturnSucUtils.getRepInfo(service.listTerms(terms));
+ } catch (Exception e) {
+ return ReturnFailUtils.getRepInfo();
+ }
+ }
+
+ /**
+ * 条件分页查询
+ * @url {ctx}/api/web/CaseFeedback/pageQuery
+ * @param page 页码
+ * @param size 每页数量
+ * @return Object
+ */
+ @GetMapping("/pageQuery")
+ public Object pageQuery(@RequestParam(value = "page") int page, @RequestParam(value = "size") int size) {
+ try {
+ Map<String, Object> terms = getParameter();
+ Sort sort = Sort.by(Sort.Direction.DESC, "create_time");
+ PageRequest pageRequest = PageRequest.of(page-1, size, sort);
+ Page<CaseFeedback> caseFeedbackPage = service.pageQuery(pageRequest, terms);
+ return ReturnSucUtils.getRepInfo( "处理成功", caseFeedbackPage);
+ } catch (Exception e) {
+ return ReturnFailUtils.getRepInfo();
+ }
+ }
+
+ /**
+ * 根据编号查询单个
+ * @url {ctx}/api/web/CaseFeedback/getById
+ * @param id 主键编号
+ * @return Object
+ */
+ @GetMapping("/getById")
+ public Object getById(@RequestParam(value = "id") String id) {
+ try {
+ return ReturnSucUtils.getRepInfo(service.getById(id));
+ } catch (Exception e) {
+ return ReturnFailUtils.getRepInfo();
+ }
+ }
+
+ /**
+ * 根据主键单个
+ * @url {ctx}/api/web/CaseFeedback/deleteById
+ * @param id 主键编号
+ * @return Object
+ */
+ @GetMapping("/deleteById")
+ public Object deleteById(@RequestParam(value = "id") String id) {
+ try {
+ service.removeById(id);
+ return ReturnSucUtils.getRepInfo();
+ } catch (Exception e) {
+ return ReturnFailUtils.getRepInfo();
+ }
+ }
+
+ /**
+ * 获取办理反馈信息
+ * @url {ctx}/api/web/CaseFeedback/listFeedback
+ * @param id 实体对象
+ * @return Object
+ */
+ @GetMapping("/listFeedback")
+ public Object listFeedback(@RequestParam(value = "id") String id) {
+ try {
+ return ReturnSucUtils.getRepInfo(service.listFeedback(id));
+ } catch (Exception e) {
+ return ReturnFailUtils.getRepInfo();
+ }
+ }
+
+ /**
+ * 添加办理反馈
+ * @url {ctx}/api/web/CaseFeedback/saveFeedback
+ * @param caseFeedback 实体对象
+ * @return Object
+ */
+ @PostMapping("/saveFeedback")
+ public Object saveFeedback(@RequestBody CaseFeedback caseFeedback, @CurrentUser String userId) {
+ try {
+ service.saveFeedback(caseFeedback, userId);
+ return ReturnSucUtils.getRepInfo();
+ } catch (Exception e) {
+ return ReturnFailUtils.getRepInfo();
+ }
+ }
+
+ /**
+ * 添加办理反馈
+ * @url {ctx}/api/web/CaseFeedback/updateFeedback
+ * @param caseFeedback 实体对象
+ * @return Object
+ */
+ @PostMapping("/updateFeedback")
+ public Object updateFeedback(@RequestBody CaseFeedback caseFeedback, @CurrentUser String userId) {
+ try {
+ service.updateFeedback(caseFeedback, userId);
+ return ReturnSucUtils.getRepInfo();
+ } catch (Exception e) {
+ return ReturnFailUtils.getRepInfo();
+ }
+ }
+}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseInfoUnfoldWebController.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseInfoUnfoldWebController.java
index 446c764..b76dfdc 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseInfoUnfoldWebController.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseInfoUnfoldWebController.java
@@ -2,6 +2,7 @@
import cn.huge.base.common.utils.ReturnFailUtils;
import cn.huge.base.common.utils.ReturnSucUtils;
+import cn.huge.base.config.CurrentUser;
import cn.huge.module.cases.domain.po.CaseInfoUnfold;
import cn.huge.module.cases.service.CaseInfoUnfoldService;
import com.google.common.collect.Maps;
@@ -352,4 +353,19 @@
}
}
+ /**
+ * PC端-选择经办人
+ * @url {ctx}/api/web/caseInfoUnfold/choosePrincipal?
+ * @param caseId 纠纷编号
+ * @return Object
+ */
+ @GetMapping("/choosePrincipal")
+ public Object choosePrincipal(@RequestParam(value = "caseId") String caseId, @RequestParam(value = "userId") String userId) {
+ try {
+ service.choosePrincipal(caseId, userId);
+ return ReturnSucUtils.getRepInfo();
+ } catch (Exception e) {
+ return ReturnFailUtils.getRepInfo(e.getMessage());
+ }
+ }
}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseInfoWebController.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseInfoWebController.java
index add1d84..3cc3009 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseInfoWebController.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseInfoWebController.java
@@ -345,6 +345,26 @@
if (StringUtils.isNotBlank(processName)){
terms.put("processName", processName);
}
+ // 意向调解组织编号
+ String wantUnitId = request.getParameter("wantUnitId");
+ if (StringUtils.isNotBlank(wantUnitId)){
+ terms.put("wantUnitId", wantUnitId);
+ }
+ // 意向调解组织名称
+ String wantUnitName = request.getParameter("wantUnitName");
+ if (StringUtils.isNotBlank(wantUnitName)){
+ terms.put("wantUnitName", wantUnitName);
+ }
+ // 意向调解员编号
+ String wantUserId = request.getParameter("wantUserId");
+ if (StringUtils.isNotBlank(wantUserId)){
+ terms.put("wantUserId", wantUserId);
+ }
+ // 意向调解员名称
+ String wantUserName = request.getParameter("wantUserName");
+ if (StringUtils.isNotBlank(wantUserName)){
+ terms.put("wantUserName", wantUserName);
+ }
// 删除状态,0:未删除,1:已删除
String deleteStatus = request.getParameter("deleteStatus");
if (StringUtils.isNotBlank(deleteStatus)){
@@ -456,7 +476,7 @@
/**
* PC端-纠纷登记-保存纠纷信息-正常案件
- * @url {ctx}/api/v1/caseInfo/caseRegister
+ * @url {ctx}/api/web/caseInfo/caseRegister
* @param registerSaveDTO 实体对象
*/
@PostMapping("/caseRegister")
@@ -468,4 +488,19 @@
return ReturnFailUtils.getRepInfo(e.getMessage());
}
}
+
+ /**
+ * PC端-正式案件-查询纠纷信息
+ * @url {ctx}/api/web/caseInfo/getCaseInfo?id=
+ * @param id 纠纷编号
+ * @return Object
+ */
+ @GetMapping("/getCaseInfo")
+ public Object getCaseInfo(@RequestParam(value = "id") String id) {
+ try {
+ return ReturnSucUtils.getRepInfo(service.getCaseInfo(id));
+ } catch (Exception e) {
+ return ReturnFailUtils.getRepInfo(e.getMessage());
+ }
+ }
}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseSuperviseWebController.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseSuperviseWebController.java
new file mode 100644
index 0000000..7f00824
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseSuperviseWebController.java
@@ -0,0 +1,262 @@
+package cn.huge.module.cases.controller.web;
+
+import cn.huge.base.common.utils.ReturnFailUtils;
+import cn.huge.base.common.utils.ReturnSucUtils;
+import cn.huge.base.config.CurrentUser;
+import cn.huge.module.cases.domain.po.CaseSupervise;
+import cn.huge.module.cases.service.CaseSuperviseService;
+import com.google.common.collect.Maps;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.data.domain.Sort;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.Map;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+
+/**
+ * @title: 纠纷督办信息表接口api-web端
+ * @description: 纠纷督办信息表接口api-web端
+ * @company: hugeinfo
+ * @author: wangwh
+ * @time: 2024-09-03 10:53:01
+ * @version: 1.0.0
+ */
+@Slf4j
+@RestController
+@RequestMapping("/api/web/caseSupervise")
+public class CaseSuperviseWebController {
+
+ @Autowired(required = false)
+ private HttpServletRequest request;
+
+ @Autowired
+ private CaseSuperviseService service;
+
+ /**
+ * 获取请求URL参数
+ * @return Map<String, Object>
+ */
+ private Map<String, Object> getParameter(){
+ Map<String, Object> terms = Maps.newHashMap();
+ // 主键编号
+ String id = request.getParameter("id");
+ if (StringUtils.isNotBlank(id)){
+ terms.put("id", id);
+ }
+ // 纠纷编号
+ String caseId = request.getParameter("caseId");
+ if (StringUtils.isNotBlank(caseId)){
+ terms.put("caseId", caseId);
+ }
+ // 督办意见
+ String supContent = request.getParameter("supContent");
+ if (StringUtils.isNotBlank(supContent)){
+ terms.put("supContent", supContent);
+ }
+ // 督办人编号
+ String supUserId = request.getParameter("supUserId");
+ if (StringUtils.isNotBlank(supUserId)){
+ terms.put("supUserId", supUserId);
+ }
+ // 督办人名称
+ String supUserName = request.getParameter("supUserName");
+ if (StringUtils.isNotBlank(supUserName)){
+ terms.put("supUserName", supUserName);
+ }
+ // 督办时间
+ String supTime = request.getParameter("supTime");
+ if (StringUtils.isNotBlank(supTime)){
+ terms.put("supTime", supTime);
+ }
+ // 督办状态,0:未回复,1:已回复
+ String supStatus = request.getParameter("supStatus");
+ if (StringUtils.isNotBlank(supStatus)){
+ terms.put("supStatus", supStatus);
+ }
+ // 回复期限,单位:小时
+ String replyTerm = request.getParameter("replyTerm");
+ if (StringUtils.isNotBlank(replyTerm)){
+ terms.put("replyTerm", replyTerm);
+ }
+ // 回复内容
+ String replyContent = request.getParameter("replyContent");
+ if (StringUtils.isNotBlank(replyContent)){
+ terms.put("replyContent", replyContent);
+ }
+ // 回复人编号
+ String replyUserId = request.getParameter("replyUserId");
+ if (StringUtils.isNotBlank(replyUserId)){
+ terms.put("replyUserId", replyUserId);
+ }
+ // 回复人名称
+ String replyUserName = request.getParameter("replyUserName");
+ if (StringUtils.isNotBlank(replyUserName)){
+ terms.put("replyUserName", replyUserName);
+ }
+ // 回复时间
+ String replyTime = request.getParameter("replyTime");
+ if (StringUtils.isNotBlank(replyTime)){
+ terms.put("replyTime", replyTime);
+ }
+ // 删除状态,0:未删除,1:已删除
+ String deleteStatus = request.getParameter("deleteStatus");
+ if (StringUtils.isNotBlank(deleteStatus)){
+ terms.put("deleteStatus", deleteStatus);
+ }
+ // 顾客编号
+ String custId = request.getParameter("custId");
+ if (StringUtils.isNotBlank(custId)){
+ terms.put("custId", custId);
+ }
+ // 创建时间区间
+ String createStart = request.getParameter("createStart");
+ String createEnd = request.getParameter("createEnd");
+ if(StringUtils.isNotBlank(createStart) && StringUtils.isNotBlank(createEnd)) {
+ terms.put("createStart", createStart);
+ terms.put("createEnd", createEnd);
+ }
+ // 更新时间区间
+ String updateStart = request.getParameter("updateStart");
+ String updateEnd = request.getParameter("updateEnd");
+ if(StringUtils.isNotBlank(updateStart) && StringUtils.isNotBlank(updateEnd)) {
+ terms.put("updateStart", updateStart);
+ terms.put("updateEnd", updateEnd);
+ }
+ return terms;
+ }
+
+ /**
+ * 条件查询多个
+ * @url {ctx}/api/web/caseSupervise/listQuery
+ * @return Object
+ */
+ @GetMapping("/listQuery")
+ public Object listQuery() {
+ try {
+ Map<String, Object> terms = getParameter();
+ return ReturnSucUtils.getRepInfo(service.listTerms(terms));
+ } catch (Exception e) {
+ return ReturnFailUtils.getRepInfo();
+ }
+ }
+
+ /**
+ * 条件分页查询
+ * @url {ctx}/api/web/caseSupervise/pageQuery
+ * @param page 页码
+ * @param size 每页数量
+ * @return Object
+ */
+ @GetMapping("/pageQuery")
+ public Object pageQuery(@RequestParam(value = "page") int page, @RequestParam(value = "size") int size) {
+ try {
+ Map<String, Object> terms = getParameter();
+ Sort sort = Sort.by(Sort.Direction.DESC, "create_time");
+ PageRequest pageRequest = PageRequest.of(page-1, size, sort);
+ Page<CaseSupervise> caseSupervisePage = service.pageQuery(pageRequest, terms);
+ return ReturnSucUtils.getRepInfo( "处理成功", caseSupervisePage);
+ } catch (Exception e) {
+ return ReturnFailUtils.getRepInfo();
+ }
+ }
+
+ /**
+ * 根据编号查询单个
+ * @url {ctx}/api/web/caseSupervise/getById
+ * @param id 主键编号
+ * @return Object
+ */
+ @GetMapping("/getById")
+ public Object getById(@RequestParam(value = "id") String id) {
+ try {
+ return ReturnSucUtils.getRepInfo(service.getById(id));
+ } catch (Exception e) {
+ return ReturnFailUtils.getRepInfo();
+ }
+ }
+
+ /**
+ * 根据主键单个
+ * @url {ctx}/api/web/caseSupervise/deleteById
+ * @param id 主键编号
+ * @return Object
+ */
+ @GetMapping("/deleteById")
+ public Object deleteById(@RequestParam(value = "id") String id) {
+ try {
+ service.removeById(id);
+ return ReturnSucUtils.getRepInfo();
+ } catch (Exception e) {
+ return ReturnFailUtils.getRepInfo();
+ }
+ }
+
+ /**
+ * 新增或更新对象
+ * @url {ctx}/api/web/caseSupervise/saveCaseSupervise
+ * @param caseSupervise 实体对象
+ * @return Object
+ */
+ @PostMapping("/saveCaseSupervise")
+ public Object saveCaseSupervise(@RequestBody CaseSupervise caseSupervise) {
+ try {
+ service.saveCaseSupervise(caseSupervise);
+ return ReturnSucUtils.getRepInfo();
+ } catch (Exception e) {
+ return ReturnFailUtils.getRepInfo();
+ }
+ }
+
+ /**
+ * 添加督办
+ * @url {ctx}/api/web/caseSupervise/addCaseSupervise
+ * @param caseSupervise 实体对象
+ * @return Object
+ */
+ @PostMapping("/addCaseSupervise")
+ public Object addCaseSupervise(@CurrentUser String userId, @RequestBody CaseSupervise caseSupervise) {
+ try {
+ service.addCaseSupervise(caseSupervise, userId);
+ return ReturnSucUtils.getRepInfo();
+ } catch (Exception e) {
+ return ReturnFailUtils.getRepInfo();
+ }
+ }
+
+ /**
+ * 添加督办
+ * @url {ctx}/api/web/caseSupervise/replyCaseSupervise
+ * @param caseSupervise 实体对象
+ * @return Object
+ */
+ @PostMapping("/replyCaseSupervise")
+ public Object replyCaseSupervise(@CurrentUser String userId, @RequestBody CaseSupervise caseSupervise) {
+ try {
+ service.replyCaseSupervise(caseSupervise, userId);
+ return ReturnSucUtils.getRepInfo();
+ } catch (Exception e) {
+ return ReturnFailUtils.getRepInfo();
+ }
+ }
+
+ /**
+ * 督办信息查询
+ * @url {ctx}/api/web/caseSupervise/listCaseSupervise
+ * @param caseId 主键编号
+ * @return Object
+ */
+ @GetMapping("/listCaseSupervise")
+ public Object listCaseSupervise(@RequestParam(value = "caseId") String caseId) {
+ try {
+ return ReturnSucUtils.getRepInfo(service.listCaseSupervise(caseId));
+ } catch (Exception e) {
+ return ReturnFailUtils.getRepInfo();
+ }
+ }
+}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/CaseEvaluateMapper.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/CaseEvaluateMapper.java
new file mode 100644
index 0000000..036b1dd
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/CaseEvaluateMapper.java
@@ -0,0 +1,64 @@
+package cn.huge.module.cases.dao.mapper;
+
+import cn.huge.module.cases.domain.po.CaseEvaluate;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+* @title: 当事人纠纷评价表持久层业务处理
+* @Description 此处仅涉及复杂SQL操作,务必不要在此再次写单表的CRUD操作,因为mybatisPlus已经实现。
+* @company: hugeinfo
+* @author: wangwh
+* @time: 2024-09-04 20:21:05
+* @version 1.0.0
+*/
+@Repository
+public interface CaseEvaluateMapper extends BaseMapper<CaseEvaluate>{
+
+ /**
+ * 更新对象
+ * @param entity 对象
+ */
+ void updateCaseEvaluate(@Param("entity") CaseEvaluate entity);
+
+ /**
+ * 条件更新对象
+ * @param entity 对象
+ * @param terms 条件
+ */
+ void updateCaseEvaluateTerms(@Param("entity") CaseEvaluate entity, @Param("terms") Map<String, Object> terms);
+
+ /**
+ * 根据编号物理删除
+ * @param id 查询条件集合
+ */
+ void deleteCaseEvaluate(@Param("id") String id);
+
+ /**
+ * 按条件查询结果集
+ * @param terms 查询条件集合
+ * @return List<CaseEvaluate>
+ */
+ List<CaseEvaluate> listTerms(@Param("terms") Map<String, Object> terms);
+
+ /**
+ * 按条件查询实体总数
+ * @param terms 查询条件集合
+ * @return long
+ */
+ long countTerms(@Param("terms") Map<String, Object> terms);
+
+ /**
+ * 按条件查询实体分页结果集
+ * @param page 分页对象
+ * @param terms 查询条件集合
+ * @return List<CaseEvaluate>
+ */
+ List<CaseEvaluate> pageTerms(@Param("page") PageRequest page, @Param("terms") Map<String, Object> terms);
+
+}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/CaseFeedbackHisMapper.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/CaseFeedbackHisMapper.java
new file mode 100644
index 0000000..36ef98a
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/CaseFeedbackHisMapper.java
@@ -0,0 +1,64 @@
+package cn.huge.module.cases.dao.mapper;
+
+import cn.huge.module.cases.domain.po.CaseFeedbackHis;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+* @title: 纠纷办理反馈信息历史表持久层业务处理
+* @Description 此处仅涉及复杂SQL操作,务必不要在此再次写单表的CRUD操作,因为mybatisPlus已经实现。
+* @company: hugeinfo
+* @author: wangwh
+* @time: 2024-08-31 17:42:41
+* @version 1.0.0
+*/
+@Repository
+public interface CaseFeedbackHisMapper extends BaseMapper<CaseFeedbackHis>{
+
+ /**
+ * 更新对象
+ * @param entity 对象
+ */
+ void updateCaseFeedbackHis(@Param("entity") CaseFeedbackHis entity);
+
+ /**
+ * 条件更新对象
+ * @param entity 对象
+ * @param terms 条件
+ */
+ void updateCaseFeedbackHisTerms(@Param("entity") CaseFeedbackHis entity, @Param("terms") Map<String, Object> terms);
+
+ /**
+ * 根据编号物理删除
+ * @param id 查询条件集合
+ */
+ void deleteCaseFeedbackHis(@Param("id") String id);
+
+ /**
+ * 按条件查询结果集
+ * @param terms 查询条件集合
+ * @return List<CaseFeedbackHis>
+ */
+ List<CaseFeedbackHis> listTerms(@Param("terms") Map<String, Object> terms);
+
+ /**
+ * 按条件查询实体总数
+ * @param terms 查询条件集合
+ * @return long
+ */
+ long countTerms(@Param("terms") Map<String, Object> terms);
+
+ /**
+ * 按条件查询实体分页结果集
+ * @param page 分页对象
+ * @param terms 查询条件集合
+ * @return List<CaseFeedbackHis>
+ */
+ List<CaseFeedbackHis> pageTerms(@Param("page") PageRequest page, @Param("terms") Map<String, Object> terms);
+
+}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/CaseFeedbackMapper.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/CaseFeedbackMapper.java
new file mode 100644
index 0000000..0787d77
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/CaseFeedbackMapper.java
@@ -0,0 +1,64 @@
+package cn.huge.module.cases.dao.mapper;
+
+import cn.huge.module.cases.domain.po.CaseFeedback;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+* @title: 纠纷办理反馈j信息表持久层业务处理
+* @Description 此处仅涉及复杂SQL操作,务必不要在此再次写单表的CRUD操作,因为mybatisPlus已经实现。
+* @company: hugeinfo
+* @author: wangwh
+* @time: 2024-08-30 17:35:02
+* @version 1.0.0
+*/
+@Repository
+public interface CaseFeedbackMapper extends BaseMapper<CaseFeedback>{
+
+ /**
+ * 更新对象
+ * @param entity 对象
+ */
+ void updatecaseFeedback(@Param("entity") CaseFeedback entity);
+
+ /**
+ * 条件更新对象
+ * @param entity 对象
+ * @param terms 条件
+ */
+ void updatecaseFeedbackTerms(@Param("entity") CaseFeedback entity, @Param("terms") Map<String, Object> terms);
+
+ /**
+ * 根据编号物理删除
+ * @param id 查询条件集合
+ */
+ void deletecaseFeedback(@Param("id") String id);
+
+ /**
+ * 按条件查询结果集
+ * @param terms 查询条件集合
+ * @return List<caseFeedback>
+ */
+ List<CaseFeedback> listTerms(@Param("terms") Map<String, Object> terms);
+
+ /**
+ * 按条件查询实体总数
+ * @param terms 查询条件集合
+ * @return long
+ */
+ long countTerms(@Param("terms") Map<String, Object> terms);
+
+ /**
+ * 按条件查询实体分页结果集
+ * @param page 分页对象
+ * @param terms 查询条件集合
+ * @return List<caseFeedback>
+ */
+ List<CaseFeedback> pageTerms(@Param("page") PageRequest page, @Param("terms") Map<String, Object> terms);
+
+}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/CaseSuperviseMapper.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/CaseSuperviseMapper.java
new file mode 100644
index 0000000..e36a762
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/CaseSuperviseMapper.java
@@ -0,0 +1,64 @@
+package cn.huge.module.cases.dao.mapper;
+
+import cn.huge.module.cases.domain.po.CaseSupervise;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+* @title: 纠纷督办信息表持久层业务处理
+* @Description 此处仅涉及复杂SQL操作,务必不要在此再次写单表的CRUD操作,因为mybatisPlus已经实现。
+* @company: hugeinfo
+* @author: wangwh
+* @time: 2024-09-03 10:53:01
+* @version 1.0.0
+*/
+@Repository
+public interface CaseSuperviseMapper extends BaseMapper<CaseSupervise>{
+
+ /**
+ * 更新对象
+ * @param entity 对象
+ */
+ void updateCaseSupervise(@Param("entity") CaseSupervise entity);
+
+ /**
+ * 条件更新对象
+ * @param entity 对象
+ * @param terms 条件
+ */
+ void updateCaseSuperviseTerms(@Param("entity") CaseSupervise entity, @Param("terms") Map<String, Object> terms);
+
+ /**
+ * 根据编号物理删除
+ * @param id 查询条件集合
+ */
+ void deleteCaseSupervise(@Param("id") String id);
+
+ /**
+ * 按条件查询结果集
+ * @param terms 查询条件集合
+ * @return List<CaseSupervise>
+ */
+ List<CaseSupervise> listTerms(@Param("terms") Map<String, Object> terms);
+
+ /**
+ * 按条件查询实体总数
+ * @param terms 查询条件集合
+ * @return long
+ */
+ long countTerms(@Param("terms") Map<String, Object> terms);
+
+ /**
+ * 按条件查询实体分页结果集
+ * @param page 分页对象
+ * @param terms 查询条件集合
+ * @return List<CaseSupervise>
+ */
+ List<CaseSupervise> pageTerms(@Param("page") PageRequest page, @Param("terms") Map<String, Object> terms);
+
+}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseAgentMapper.xml b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseAgentMapper.xml
index 6079c25..8795500 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseAgentMapper.xml
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseAgentMapper.xml
@@ -14,6 +14,8 @@
<result property="id" column="id"/>
<result property="caseId" column="case_id"/>
<result property="partyUserId" column="party_user_id"/>
+ <result property="perType" column="per_type"/>
+ <result property="perTypeName" column="per_type_name"/>
<result property="perClass" column="per_class"/>
<result property="perClassName" column="per_class_name"/>
<result property="trueName" column="true_name"/>
@@ -72,6 +74,8 @@
id,
case_id,
party_user_id,
+ per_type,
+ per_type_name,
per_class,
per_class_name,
true_name,
@@ -127,6 +131,8 @@
<sql id="set-part">
<if test="entity.caseId != null">case_id = #{entity.caseId},</if>
<if test="entity.partyUserId != null">party_user_id = #{entity.partyUserId},</if>
+ <if test="entity.perType != null">per_type = #{entity.perType},</if>
+ <if test="entity.perTypeName != null">per_type_name = #{entity.perTypeName},</if>
<if test="entity.perClass != null">per_class = #{entity.perClass},</if>
<if test="entity.perClassName != null">per_class_name = #{entity.perClassName},</if>
<if test="entity.trueName != null">true_name = #{entity.trueName},</if>
@@ -191,6 +197,12 @@
<if test="terms.partyUserId != null and terms.partyUserId !=''">
and party_user_id = #{terms.partyUserId}
</if>
+ <if test="terms.perType != null and terms.perType !=''">
+ and per_type = #{terms.perType}
+ </if>
+ <if test="terms.perTypeName != null and terms.perTypeName !=''">
+ and per_type_name = #{terms.perTypeName}
+ </if>
<if test="terms.perClass != null and terms.perClass !=''">
and per_class = #{terms.perClass}
</if>
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseEvaluateMapper.xml b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseEvaluateMapper.xml
new file mode 100644
index 0000000..d1edcf1
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseEvaluateMapper.xml
@@ -0,0 +1,166 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<!--
+ * @title: 当事人纠纷评价表
+ * @description: 自定义sql,请自行实现业务逻辑
+ * @company: hugeinfo
+ * @author: wangwh
+ * @time:2024-09-04 20:21:05
+ * @version 1.0.0
+-->
+<mapper namespace="cn.huge.module.cases.dao.mapper.CaseEvaluateMapper">
+ <!-- 结果集 -->
+ <resultMap id="dataResult" type="cn.huge.module.cases.domain.po.CaseEvaluate">
+ <result property="id" column="id"/>
+ <result property="caseId" column="case_id"/>
+ <result property="evaluateGrade" column="evaluate_grade"/>
+ <result property="evaluateRemark" column="evaluate_remark"/>
+ <result property="evaluateContent" column="evaluate_content"/>
+ <result property="evaluateUserId" column="evaluate_user_id"/>
+ <result property="evaluateUserName" column="evaluate_user_name"/>
+ <result property="deleteStatus" column="delete_status"/>
+ <result property="custId" column="cust_id"/>
+ <result property="createTime" column="create_time"/>
+ <result property="updateTime" column="update_time"/>
+ </resultMap>
+ <!-- 表 -->
+ <sql id='table-name'>dyh_case_evaluate</sql>
+ <!-- 字段 -->
+ <sql id="column-part">
+ id,
+ case_id,
+ evaluate_grade,
+ evaluate_remark,
+ evaluate_content,
+ evaluate_user_id,
+ evaluate_user_name,
+ delete_status,
+ cust_id,
+ create_time,
+ update_time
+ </sql>
+ <!-- 更新实体字段 -->
+ <sql id="set-part">
+ <if test="entity.caseId != null">case_id = #{entity.caseId},</if>
+ <if test="entity.evaluateGrade != null">evaluate_grade = #{entity.evaluateGrade},</if>
+ <if test="entity.evaluateRemark != null">evaluate_remark = #{entity.evaluateRemark},</if>
+ <if test="entity.evaluateContent != null">evaluate_content = #{entity.evaluateContent},</if>
+ <if test="entity.evaluateUserId != null">evaluate_user_id = #{entity.evaluateUserId},</if>
+ <if test="entity.evaluateUserName != null">evaluate_user_name = #{entity.evaluateUserName},</if>
+ <if test="entity.deleteStatus != null">delete_status = #{entity.deleteStatus},</if>
+ <if test="entity.custId != null">cust_id = #{entity.custId},</if>
+ <if test="entity.createTime != null">create_time = #{entity.createTime},</if>
+ <if test="entity.updateTime != null">update_time = #{entity.updateTime}</if>
+ </sql>
+ <!-- 条件 -->
+ <sql id="where-part">
+ <if test="terms != null">
+ <where>
+ <if test="terms.id != null and terms.id !=''">
+ and id = #{terms.id}
+ </if>
+ <if test="terms.caseId != null and terms.caseId !=''">
+ and case_id = #{terms.caseId}
+ </if>
+ <if test="terms.evaluateGrade != null and terms.evaluateGrade !=''">
+ and evaluate_grade = #{terms.evaluateGrade}
+ </if>
+ <if test="terms.evaluateRemark != null and terms.evaluateRemark !=''">
+ and evaluate_remark = #{terms.evaluateRemark}
+ </if>
+ <if test="terms.evaluateContent != null and terms.evaluateContent !=''">
+ and evaluate_content = #{terms.evaluateContent}
+ </if>
+ <if test="terms.evaluateUserId != null and terms.evaluateUserId !=''">
+ and evaluate_user_id = #{terms.evaluateUserId}
+ </if>
+ <if test="terms.evaluateUserName != null and terms.evaluateUserName !=''">
+ and evaluate_user_name = #{terms.evaluateUserName}
+ </if>
+ <if test="terms.deleteStatus = null and terms.deleteStatus =''">
+ and delete_status = 0
+ </if>
+ <if test="terms.deleteStatus != null and terms.deleteStatus !=''">
+ and delete_status = #{terms.deleteStatus}
+ </if>
+ <if test="terms.custId != null and terms.custId !=''">
+ and cust_id = #{terms.custId}
+ </if>
+ <if test="terms.createTime != null and terms.createTime !=''">
+ and DATE_FORMAT(create_time,'%Y-%m-%d') = #{terms.createTime}
+ </if>
+ <if test="terms.createStart != null and terms.createStart !='' and terms.createEnd != null and terms.createEnd !=''">
+ and (DATE_FORMAT(create_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.createStart}
+ and DATE_FORMAT(create_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.createEnd})
+ </if>
+ <if test="terms.updateTime != null and terms.updateTime !=''">
+ and DATE_FORMAT(update_time,'%Y-%m-%d') = #{terms.updateTime}
+ </if>
+ <if test="terms.updateStart != null and terms.updateStart !='' and terms.updateEnd != null and terms.updateEnd !=''">
+ and (DATE_FORMAT(update_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.updateStart}
+ and DATE_FORMAT(update_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.updateEnd})
+ </if>
+ </where>
+ </if>
+ </sql>
+ <!-- 更新对象 -->
+ <update id="updateCaseEvaluate">
+ update
+ <include refid="table-name"/>
+ <set>
+ <include refid="set-part"/>
+ </set>
+ <where>
+ id = #{entity.id}
+ </where>
+ </update>
+ <!-- 条件更新对象 -->
+ <update id="updateCaseEvaluateTerms">
+ update
+ <include refid="table-name"/>
+ <set>
+ <include refid="set-part"/>
+ </set>
+ <include refid="where-part"/>
+ </update>
+ <!-- 根据编号物理删除 -->
+ <delete id="deleteCaseEvaluate">
+ delete from
+ <include refid="table-name" />
+ where id = #{id}
+ </delete>
+ <!-- 根据条件查询 -->
+ <select id="listTerms" resultMap="dataResult">
+ select
+ <include refid="column-part"/>
+ from
+ <include refid="table-name" />
+ <include refid="where-part"/>
+ </select>
+ <!-- 根据条件统计 -->
+ <select id="countTerms" resultType="java.lang.Long">
+ select
+ COUNT(1)
+ from
+ <include refid="table-name" />
+ <include refid="where-part"/>
+ </select>
+ <!-- 根据条件分页查询 -->
+ <select id="pageTerms" resultMap="dataResult">
+ SELECT
+ <include refid="column-part"/>
+ FROM
+ <include refid="table-name" />
+ <include refid="where-part"/>
+ <if test="page.sort != null">
+ <foreach collection="page.sort" item="s" index="index" separator="," open="order by ">
+ isnull(${s.property}), ${s.property} ${s.direction}
+ </foreach>
+ </if>
+ <if test="page.sort == null">
+ order by isnull(create_time), create_time desc
+ </if>
+ limit #{page.offset}, #{page.size}
+ </select>
+
+</mapper>
\ No newline at end of file
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseFeedbackHisMapper.xml b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseFeedbackHisMapper.xml
new file mode 100644
index 0000000..719b4eb
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseFeedbackHisMapper.xml
@@ -0,0 +1,175 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<!--
+ * @title: 纠纷办理反馈信息历史表
+ * @description: 自定义sql,请自行实现业务逻辑
+ * @company: hugeinfo
+ * @author: wangwh
+ * @time:2024-08-31 17:42:41
+ * @version 1.0.0
+-->
+<mapper namespace="cn.huge.module.cases.dao.mapper.CaseFeedbackHisMapper">
+ <!-- 结果集 -->
+ <resultMap id="dataResult" type="cn.huge.module.cases.domain.po.CaseFeedbackHis">
+ <result property="id" column="id"/>
+ <result property="feedbackId" column="feedback_id"/>
+ <result property="caseId" column="case_id"/>
+ <result property="caseTaskId" column="case_task_id"/>
+ <result property="handleType" column="handle_type"/>
+ <result property="handleUnitId" column="handle_unit_id"/>
+ <result property="handleUnitName" column="handle_unit_name"/>
+ <result property="handleUserId" column="handle_user_id"/>
+ <result property="handleUserName" column="handle_user_name"/>
+ <result property="handleContent" column="handle_content"/>
+ <result property="custId" column="cust_id"/>
+ <result property="createTime" column="create_time"/>
+ <result property="updateTime" column="update_time"/>
+ </resultMap>
+ <!-- 表 -->
+ <sql id='table-name'>dyh_case_feedback_his</sql>
+ <!-- 字段 -->
+ <sql id="column-part">
+ id,
+ feedback_id,
+ case_id,
+ case_task_id,
+ handle_type,
+ handle_unit_id,
+ handle_unit_name,
+ handle_user_id,
+ handle_user_name,
+ handle_content,
+ cust_id,
+ create_time,
+ update_time
+ </sql>
+ <!-- 更新实体字段 -->
+ <sql id="set-part">
+ <if test="entity.feedbackId != null">feedback_id = #{entity.feedbackId},</if>
+ <if test="entity.caseId != null">case_id = #{entity.caseId},</if>
+ <if test="entity.caseTaskId != null">case_task_id = #{entity.caseTaskId},</if>
+ <if test="entity.handleType != null">handle_type = #{entity.handleType},</if>
+ <if test="entity.handleUnitId != null">handle_unit_id = #{entity.handleUnitId},</if>
+ <if test="entity.handleUnitName != null">handle_unit_name = #{entity.handleUnitName},</if>
+ <if test="entity.handleUserId != null">handle_user_id = #{entity.handleUserId},</if>
+ <if test="entity.handleUserName != null">handle_user_name = #{entity.handleUserName},</if>
+ <if test="entity.handleContent != null">handle_content = #{entity.handleContent},</if>
+ <if test="entity.custId != null">cust_id = #{entity.custId},</if>
+ <if test="entity.createTime != null">create_time = #{entity.createTime},</if>
+ <if test="entity.updateTime != null">update_time = #{entity.updateTime}</if>
+ </sql>
+ <!-- 条件 -->
+ <sql id="where-part">
+ <if test="terms != null">
+ <where>
+ <if test="terms.id != null and terms.id !=''">
+ and id = #{terms.id}
+ </if>
+ <if test="terms.feedbackId != null and terms.feedbackId !=''">
+ and feedback_id = #{terms.feedbackId}
+ </if>
+ <if test="terms.caseId != null and terms.caseId !=''">
+ and case_id = #{terms.caseId}
+ </if>
+ <if test="terms.caseTaskId != null and terms.caseTaskId !=''">
+ and case_task_id = #{terms.caseTaskId}
+ </if>
+ <if test="terms.handleType != null and terms.handleType !=''">
+ and handle_type = #{terms.handleType}
+ </if>
+ <if test="terms.handleUnitId != null and terms.handleUnitId !=''">
+ and handle_unit_id = #{terms.handleUnitId}
+ </if>
+ <if test="terms.handleUnitName != null and terms.handleUnitName !=''">
+ and handle_unit_name = #{terms.handleUnitName}
+ </if>
+ <if test="terms.handleUserId != null and terms.handleUserId !=''">
+ and handle_user_id = #{terms.handleUserId}
+ </if>
+ <if test="terms.handleUserName != null and terms.handleUserName !=''">
+ and handle_user_name = #{terms.handleUserName}
+ </if>
+ <if test="terms.handleContent != null and terms.handleContent !=''">
+ and handle_content = #{terms.handleContent}
+ </if>
+ <if test="terms.custId != null and terms.custId !=''">
+ and cust_id = #{terms.custId}
+ </if>
+ <if test="terms.createTime != null and terms.createTime !=''">
+ and DATE_FORMAT(create_time,'%Y-%m-%d') = #{terms.createTime}
+ </if>
+ <if test="terms.createStart != null and terms.createStart !='' and terms.createEnd != null and terms.createEnd !=''">
+ and (DATE_FORMAT(create_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.createStart}
+ and DATE_FORMAT(create_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.createEnd})
+ </if>
+ <if test="terms.updateTime != null and terms.updateTime !=''">
+ and DATE_FORMAT(update_time,'%Y-%m-%d') = #{terms.updateTime}
+ </if>
+ <if test="terms.updateStart != null and terms.updateStart !='' and terms.updateEnd != null and terms.updateEnd !=''">
+ and (DATE_FORMAT(update_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.updateStart}
+ and DATE_FORMAT(update_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.updateEnd})
+ </if>
+ </where>
+ </if>
+ </sql>
+ <!-- 更新对象 -->
+ <update id="updateCaseFeedbackHis">
+ update
+ <include refid="table-name"/>
+ <set>
+ <include refid="set-part"/>
+ </set>
+ <where>
+ id = #{entity.id}
+ </where>
+ </update>
+ <!-- 条件更新对象 -->
+ <update id="updateCaseFeedbackHisTerms">
+ update
+ <include refid="table-name"/>
+ <set>
+ <include refid="set-part"/>
+ </set>
+ <include refid="where-part"/>
+ </update>
+ <!-- 根据编号物理删除 -->
+ <delete id="deleteCaseFeedbackHis">
+ delete from
+ <include refid="table-name" />
+ where id = #{id}
+ </delete>
+ <!-- 根据条件查询 -->
+ <select id="listTerms" resultMap="dataResult">
+ select
+ <include refid="column-part"/>
+ from
+ <include refid="table-name" />
+ <include refid="where-part"/>
+ </select>
+ <!-- 根据条件统计 -->
+ <select id="countTerms" resultType="java.lang.Long">
+ select
+ COUNT(1)
+ from
+ <include refid="table-name" />
+ <include refid="where-part"/>
+ </select>
+ <!-- 根据条件分页查询 -->
+ <select id="pageTerms" resultMap="dataResult">
+ SELECT
+ <include refid="column-part"/>
+ FROM
+ <include refid="table-name" />
+ <include refid="where-part"/>
+ <if test="page.sort != null">
+ <foreach collection="page.sort" item="s" index="index" separator="," open="order by ">
+ isnull(${s.property}), ${s.property} ${s.direction}
+ </foreach>
+ </if>
+ <if test="page.sort == null">
+ order by isnull(create_time), create_time desc
+ </if>
+ limit #{page.offset}, #{page.size}
+ </select>
+
+</mapper>
\ No newline at end of file
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseFeedbackMapper.xml b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseFeedbackMapper.xml
new file mode 100644
index 0000000..d3a01df
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseFeedbackMapper.xml
@@ -0,0 +1,178 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<!--
+ * @title: 纠纷办理反馈j信息表
+ * @description: 自定义sql,请自行实现业务逻辑
+ * @company: hugeinfo
+ * @author: wangwh
+ * @time:2024-08-30 17:35:02
+ * @version 1.0.0
+-->
+<mapper namespace="cn.huge.module.cases.dao.mapper.CaseFeedbackMapper">
+ <!-- 结果集 -->
+ <resultMap id="dataResult" type="cn.huge.module.cases.domain.po.CaseFeedback">
+ <result property="id" column="id"/>
+ <result property="caseId" column="case_id"/>
+ <result property="caseTaskId" column="case_task_id"/>
+ <result property="handleType" column="handle_type"/>
+ <result property="handleUnitId" column="handle_unit_id"/>
+ <result property="handleUnitName" column="handle_unit_name"/>
+ <result property="handleUserId" column="handle_user_id"/>
+ <result property="handleUserName" column="handle_user_name"/>
+ <result property="handleContent" column="handle_content"/>
+ <result property="deleteStatus" column="delete_status"/>
+ <result property="custId" column="cust_id"/>
+ <result property="createTime" column="create_time"/>
+ <result property="updateTime" column="update_time"/>
+ </resultMap>
+ <!-- 表 -->
+ <sql id='table-name'>dyh_case_feedback</sql>
+ <!-- 字段 -->
+ <sql id="column-part">
+ id,
+ case_id,
+ case_task_id,
+ handle_type,
+ handle_unit_id,
+ handle_unit_name,
+ handle_user_id,
+ handle_user_name,
+ handle_content,
+ delete_status,
+ cust_id,
+ create_time,
+ update_time
+ </sql>
+ <!-- 更新实体字段 -->
+ <sql id="set-part">
+ <if test="entity.caseId != null">case_id = #{entity.caseId},</if>
+ <if test="entity.caseTskId != null">case_task_id = #{entity.caseTskId},</if>
+ <if test="entity.handleType != null">handle_type = #{entity.handleType},</if>
+ <if test="entity.handleUnitId != null">handle_unit_id = #{entity.handleUnitId},</if>
+ <if test="entity.handleUnitName != null">handle_unit_name = #{entity.handleUnitName},</if>
+ <if test="entity.handleUserId != null">handle_user_id = #{entity.handleUserId},</if>
+ <if test="entity.handleUserName != null">handle_user_name = #{entity.handleUserName},</if>
+ <if test="entity.handleContent != null">handle_content = #{entity.handleContent},</if>
+ <if test="entity.deleteStatus != null">delete_status = #{entity.deleteStatus},</if>
+ <if test="entity.custId != null">cust_id = #{entity.custId},</if>
+ <if test="entity.createTime != null">create_time = #{entity.createTime},</if>
+ <if test="entity.updateTime != null">update_time = #{entity.updateTime}</if>
+ </sql>
+ <!-- 条件 -->
+ <sql id="where-part">
+ <if test="terms != null">
+ <where>
+ <if test="terms.id != null and terms.id !=''">
+ and id = #{terms.id}
+ </if>
+ <if test="terms.caseId != null and terms.caseId !=''">
+ and case_id = #{terms.caseId}
+ </if>
+ <if test="terms.caseTaskId != null and terms.caseTaskId !=''">
+ and case_task_id = #{terms.caseTaskId}
+ </if>
+ <if test="terms.handleType != null and terms.handleType !=''">
+ and handle_type = #{terms.handleType}
+ </if>
+ <if test="terms.handleUnitId != null and terms.handleUnitId !=''">
+ and handle_unit_id = #{terms.handleUnitId}
+ </if>
+ <if test="terms.handleUnitName != null and terms.handleUnitName !=''">
+ and handle_unit_name = #{terms.handleUnitName}
+ </if>
+ <if test="terms.handleUserId != null and terms.handleUserId !=''">
+ and handle_user_id = #{terms.handleUserId}
+ </if>
+ <if test="terms.handleUserName != null and terms.handleUserName !=''">
+ and handle_user_name = #{terms.handleUserName}
+ </if>
+ <if test="terms.handleContent != null and terms.handleContent !=''">
+ and handle_content = #{terms.handleContent}
+ </if>
+ <if test="terms.deleteStatus = null and terms.deleteStatus =''">
+ and delete_status = '0'
+ </if>
+ <if test="terms.deleteStatus != null and terms.deleteStatus !=''">
+ and delete_status = #{terms.deleteStatus}
+ </if>
+ <if test="terms.custId != null and terms.custId !=''">
+ and cust_id = #{terms.custId}
+ </if>
+ <if test="terms.createTime != null and terms.createTime !=''">
+ and DATE_FORMAT(create_time,'%Y-%m-%d') = #{terms.createTime}
+ </if>
+ <if test="terms.createStart != null and terms.createStart !='' and terms.createEnd != null and terms.createEnd !=''">
+ and (DATE_FORMAT(create_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.createStart}
+ and DATE_FORMAT(create_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.createEnd})
+ </if>
+ <if test="terms.updateTime != null and terms.updateTime !=''">
+ and DATE_FORMAT(update_time,'%Y-%m-%d') = #{terms.updateTime}
+ </if>
+ <if test="terms.updateStart != null and terms.updateStart !='' and terms.updateEnd != null and terms.updateEnd !=''">
+ and (DATE_FORMAT(update_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.updateStart}
+ and DATE_FORMAT(update_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.updateEnd})
+ </if>
+ </where>
+ </if>
+ </sql>
+ <!-- 更新对象 -->
+ <update id="updatecaseFeedback">
+ update
+ <include refid="table-name"/>
+ <set>
+ <include refid="set-part"/>
+ </set>
+ <where>
+ id = #{entity.id}
+ </where>
+ </update>
+ <!-- 条件更新对象 -->
+ <update id="updatecaseFeedbackTerms">
+ update
+ <include refid="table-name"/>
+ <set>
+ <include refid="set-part"/>
+ </set>
+ <include refid="where-part"/>
+ </update>
+ <!-- 根据编号物理删除 -->
+ <delete id="deletecaseFeedback">
+ delete from
+ <include refid="table-name" />
+ where id = #{id}
+ </delete>
+ <!-- 根据条件查询 -->
+ <select id="listTerms" resultMap="dataResult">
+ select
+ <include refid="column-part"/>
+ from
+ <include refid="table-name" />
+ <include refid="where-part"/>
+ </select>
+ <!-- 根据条件统计 -->
+ <select id="countTerms" resultType="java.lang.Long">
+ select
+ COUNT(1)
+ from
+ <include refid="table-name" />
+ <include refid="where-part"/>
+ </select>
+ <!-- 根据条件分页查询 -->
+ <select id="pageTerms" resultMap="dataResult">
+ SELECT
+ <include refid="column-part"/>
+ FROM
+ <include refid="table-name" />
+ <include refid="where-part"/>
+ <if test="page.sort != null">
+ <foreach collection="page.sort" item="s" index="index" separator="," open="order by ">
+ isnull(${s.property}), ${s.property} ${s.direction}
+ </foreach>
+ </if>
+ <if test="page.sort == null">
+ order by isnull(create_time), create_time desc
+ </if>
+ limit #{page.offset}, #{page.size}
+ </select>
+
+</mapper>
\ No newline at end of file
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseSuperviseMapper.xml b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseSuperviseMapper.xml
new file mode 100644
index 0000000..6aeb3bc
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseSuperviseMapper.xml
@@ -0,0 +1,196 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<!--
+ * @title: 纠纷督办信息表
+ * @description: 自定义sql,请自行实现业务逻辑
+ * @company: hugeinfo
+ * @author: wangwh
+ * @time:2024-09-03 10:53:01
+ * @version 1.0.0
+-->
+<mapper namespace="cn.huge.module.cases.dao.mapper.CaseSuperviseMapper">
+ <!-- 结果集 -->
+ <resultMap id="dataResult" type="cn.huge.module.cases.domain.po.CaseSupervise">
+ <result property="id" column="id"/>
+ <result property="caseId" column="case_id"/>
+ <result property="supContent" column="sup_content"/>
+ <result property="supUserId" column="sup_user_id"/>
+ <result property="supUserName" column="sup_user_name"/>
+ <result property="supTime" column="sup_time"/>
+ <result property="supStatus" column="sup_status"/>
+ <result property="replyTerm" column="reply_term"/>
+ <result property="replyContent" column="reply_content"/>
+ <result property="replyUserId" column="reply_user_id"/>
+ <result property="replyUserName" column="reply_user_name"/>
+ <result property="replyTime" column="reply_time"/>
+ <result property="deleteStatus" column="delete_status"/>
+ <result property="custId" column="cust_id"/>
+ <result property="createTime" column="create_time"/>
+ <result property="updateTime" column="update_time"/>
+ </resultMap>
+ <!-- 表 -->
+ <sql id='table-name'>dyh_case_supervise</sql>
+ <!-- 字段 -->
+ <sql id="column-part">
+ id,
+ case_id,
+ sup_content,
+ sup_user_id,
+ sup_user_name,
+ sup_time,
+ sup_status,
+ reply_term,
+ reply_content,
+ reply_user_id,
+ reply_user_name,
+ reply_time,
+ delete_status,
+ cust_id,
+ create_time,
+ update_time
+ </sql>
+ <!-- 更新实体字段 -->
+ <sql id="set-part">
+ <if test="entity.caseId != null">case_id = #{entity.caseId},</if>
+ <if test="entity.supContent != null">sup_content = #{entity.supContent},</if>
+ <if test="entity.supUserId != null">sup_user_id = #{entity.supUserId},</if>
+ <if test="entity.supUserName != null">sup_user_name = #{entity.supUserName},</if>
+ <if test="entity.supTime != null">sup_time = #{entity.supTime},</if>
+ <if test="entity.supStatus != null">sup_status = #{entity.supStatus},</if>
+ <if test="entity.replyTerm != null">reply_term = #{entity.replyTerm},</if>
+ <if test="entity.replyContent != null">reply_content = #{entity.replyContent},</if>
+ <if test="entity.replyUserId != null">reply_user_id = #{entity.replyUserId},</if>
+ <if test="entity.replyUserName != null">reply_user_name = #{entity.replyUserName},</if>
+ <if test="entity.replyTime != null">reply_time = #{entity.replyTime},</if>
+ <if test="entity.deleteStatus != null">delete_status = #{entity.deleteStatus},</if>
+ <if test="entity.custId != null">cust_id = #{entity.custId},</if>
+ <if test="entity.createTime != null">create_time = #{entity.createTime},</if>
+ <if test="entity.updateTime != null">update_time = #{entity.updateTime}</if>
+ </sql>
+ <!-- 条件 -->
+ <sql id="where-part">
+ <if test="terms != null">
+ <where>
+ <if test="terms.id != null and terms.id !=''">
+ and id = #{terms.id}
+ </if>
+ <if test="terms.caseId != null and terms.caseId !=''">
+ and case_id = #{terms.caseId}
+ </if>
+ <if test="terms.supContent != null and terms.supContent !=''">
+ and sup_content = #{terms.supContent}
+ </if>
+ <if test="terms.supUserId != null and terms.supUserId !=''">
+ and sup_user_id = #{terms.supUserId}
+ </if>
+ <if test="terms.supUserName != null and terms.supUserName !=''">
+ and sup_user_name = #{terms.supUserName}
+ </if>
+ <if test="terms.supTime != null and terms.supTime !=''">
+ and sup_time = #{terms.supTime}
+ </if>
+ <if test="terms.supStatus != null and terms.supStatus !=''">
+ and sup_status = #{terms.supStatus}
+ </if>
+ <if test="terms.replyTerm != null and terms.replyTerm !=''">
+ and reply_term = #{terms.replyTerm}
+ </if>
+ <if test="terms.replyContent != null and terms.replyContent !=''">
+ and reply_content = #{terms.replyContent}
+ </if>
+ <if test="terms.replyUserId != null and terms.replyUserId !=''">
+ and reply_user_id = #{terms.replyUserId}
+ </if>
+ <if test="terms.replyUserName != null and terms.replyUserName !=''">
+ and reply_user_name = #{terms.replyUserName}
+ </if>
+ <if test="terms.replyTime != null and terms.replyTime !=''">
+ and reply_time = #{terms.replyTime}
+ </if>
+ <if test="terms.deleteStatus = null and terms.deleteStatus =''">
+ and delete_status = 0
+ </if>
+ <if test="terms.deleteStatus != null and terms.deleteStatus !=''">
+ and delete_status = #{terms.deleteStatus}
+ </if>
+ <if test="terms.custId != null and terms.custId !=''">
+ and cust_id = #{terms.custId}
+ </if>
+ <if test="terms.createTime != null and terms.createTime !=''">
+ and DATE_FORMAT(create_time,'%Y-%m-%d') = #{terms.createTime}
+ </if>
+ <if test="terms.createStart != null and terms.createStart !='' and terms.createEnd != null and terms.createEnd !=''">
+ and (DATE_FORMAT(create_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.createStart}
+ and DATE_FORMAT(create_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.createEnd})
+ </if>
+ <if test="terms.updateTime != null and terms.updateTime !=''">
+ and DATE_FORMAT(update_time,'%Y-%m-%d') = #{terms.updateTime}
+ </if>
+ <if test="terms.updateStart != null and terms.updateStart !='' and terms.updateEnd != null and terms.updateEnd !=''">
+ and (DATE_FORMAT(update_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.updateStart}
+ and DATE_FORMAT(update_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.updateEnd})
+ </if>
+ </where>
+ </if>
+ </sql>
+ <!-- 更新对象 -->
+ <update id="updateCaseSupervise">
+ update
+ <include refid="table-name"/>
+ <set>
+ <include refid="set-part"/>
+ </set>
+ <where>
+ id = #{entity.id}
+ </where>
+ </update>
+ <!-- 条件更新对象 -->
+ <update id="updateCaseSuperviseTerms">
+ update
+ <include refid="table-name"/>
+ <set>
+ <include refid="set-part"/>
+ </set>
+ <include refid="where-part"/>
+ </update>
+ <!-- 根据编号物理删除 -->
+ <delete id="deleteCaseSupervise">
+ delete from
+ <include refid="table-name" />
+ where id = #{id}
+ </delete>
+ <!-- 根据条件查询 -->
+ <select id="listTerms" resultMap="dataResult">
+ select
+ <include refid="column-part"/>
+ from
+ <include refid="table-name" />
+ <include refid="where-part"/>
+ </select>
+ <!-- 根据条件统计 -->
+ <select id="countTerms" resultType="java.lang.Long">
+ select
+ COUNT(1)
+ from
+ <include refid="table-name" />
+ <include refid="where-part"/>
+ </select>
+ <!-- 根据条件分页查询 -->
+ <select id="pageTerms" resultMap="dataResult">
+ SELECT
+ <include refid="column-part"/>
+ FROM
+ <include refid="table-name" />
+ <include refid="where-part"/>
+ <if test="page.sort != null">
+ <foreach collection="page.sort" item="s" index="index" separator="," open="order by ">
+ isnull(${s.property}), ${s.property} ${s.direction}
+ </foreach>
+ </if>
+ <if test="page.sort == null">
+ order by isnull(create_time), create_time desc
+ </if>
+ limit #{page.offset}, #{page.size}
+ </select>
+
+</mapper>
\ No newline at end of file
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/bo/CaseEvaluateBO.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/bo/CaseEvaluateBO.java
new file mode 100644
index 0000000..875f2e1
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/bo/CaseEvaluateBO.java
@@ -0,0 +1,17 @@
+package cn.huge.module.cases.domain.bo;
+
+import cn.huge.module.cases.domain.po.CaseEvaluate;
+
+/**
+ * @title: 当事人纠纷评价表业务扩展类
+ * @description: 当事人纠纷评价表业务扩展类
+ * @company: hugeinfo
+ * @author: wangwh
+ * @time: 2024-09-04 20:21:05
+ * @version: 1.0.0
+ * @see cn.huge.module.cases.domain.po.CaseEvaluate
+ */
+public class CaseEvaluateBO extends CaseEvaluate {
+
+
+}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/bo/CaseFeedbackBO.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/bo/CaseFeedbackBO.java
new file mode 100644
index 0000000..7d4b58b
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/bo/CaseFeedbackBO.java
@@ -0,0 +1,17 @@
+package cn.huge.module.cases.domain.bo;
+
+import cn.huge.module.cases.domain.po.CaseFeedback;
+
+/**
+ * @title: 纠纷办理反馈j信息表业务扩展类
+ * @description: 纠纷办理反馈j信息表业务扩展类
+ * @company: hugeinfo
+ * @author: wangwh
+ * @time: 2024-08-30 17:35:02
+ * @version: 1.0.0
+ * @see CaseFeedback
+ */
+public class CaseFeedbackBO extends CaseFeedback {
+
+
+}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/bo/CaseFeedbackHisBO.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/bo/CaseFeedbackHisBO.java
new file mode 100644
index 0000000..b637f72
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/bo/CaseFeedbackHisBO.java
@@ -0,0 +1,17 @@
+package cn.huge.module.cases.domain.bo;
+
+import cn.huge.module.cases.domain.po.CaseFeedbackHis;
+
+/**
+ * @title: 纠纷办理反馈信息历史表业务扩展类
+ * @description: 纠纷办理反馈信息历史表业务扩展类
+ * @company: hugeinfo
+ * @author: wangwh
+ * @time: 2024-08-31 17:42:41
+ * @version: 1.0.0
+ * @see cn.huge.module.cases.domain.po.CaseFeedbackHis
+ */
+public class CaseFeedbackHisBO extends CaseFeedbackHis {
+
+
+}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/bo/CaseSuperviseBO.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/bo/CaseSuperviseBO.java
new file mode 100644
index 0000000..fcbc379
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/bo/CaseSuperviseBO.java
@@ -0,0 +1,17 @@
+package cn.huge.module.cases.domain.bo;
+
+import cn.huge.module.cases.domain.po.CaseSupervise;
+
+/**
+ * @title: 纠纷督办信息表业务扩展类
+ * @description: 纠纷督办信息表业务扩展类
+ * @company: hugeinfo
+ * @author: wangwh
+ * @time: 2024-09-03 10:53:01
+ * @version: 1.0.0
+ * @see cn.huge.module.cases.domain.po.CaseSupervise
+ */
+public class CaseSuperviseBO extends CaseSupervise {
+
+
+}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/CaseInfoDTO.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/CaseInfoDTO.java
new file mode 100644
index 0000000..de9214e
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/CaseInfoDTO.java
@@ -0,0 +1,54 @@
+package cn.huge.module.cases.domain.dto;
+
+import cn.huge.module.cases.domain.po.CaseAgent;
+import cn.huge.module.cases.domain.po.CaseInfo;
+import cn.huge.module.cases.domain.po.CasePerson;
+import cn.huge.module.sys.dto.FileTypeInfoBaseDTO;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @title: 纠纷信息数据传输对象
+ * @description: 纠纷信息数据传输对象
+ * @company: hugeinfo
+ * @author: liyj
+ * @time: 2022-03-11 11:43:25
+ * @version: 1.0.0
+ * @see CaseInfo
+ */
+@Data
+public class CaseInfoDTO extends CaseInfo {
+
+ /**
+ * 调解组织类型,1:本单位调解,2:本单位人调解,3:其他单位调解
+ */
+ private String mediateUnitType;
+
+ /**
+ * 申请人列表
+ */
+ private List<CasePerson> personList;
+
+ /**
+ * 申请人代理人列表
+ */
+ private List<CaseAgent> agentList;
+
+ /**
+ * 附件列表
+ */
+ private List<FileTypeInfoBaseDTO> fileInfoList;
+
+ /**
+ * 是否是登记人 1:是 2:否
+ */
+ private String whetherInput;
+
+ /**
+ * 相关附件数量
+ */
+ private Integer fileSize;
+
+
+}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/RegisterSaveDTO.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/RegisterSaveDTO.java
index 8ab275d..c74f4ed 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/RegisterSaveDTO.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/RegisterSaveDTO.java
@@ -20,69 +20,14 @@
public class RegisterSaveDTO extends CaseInfo {
/**
- * 申请人类型
+ * 当事人列表
*/
- private String plaintPerClass;
+ private List<CasePerson> personList;
/**
- * 申请人类型名称
+ * 当事人代理人列表
*/
- private String plaintPerClassName;
-
- /**
- * 申请人姓名
- */
- private String plaintTrueName;
-
- /**
- * 申请人联系电话
- */
- private String plaintMobile;
-
- /**
- * 被申请人类型
- */
- private String defendPerClass;
-
- /**
- * 被申请人类型
- */
- private String defendPerClassName;
-
- /**
- * 被申请人姓名
- */
- private String defendTrueName;
-
- /**
- * 被申请人联系电话
- */
- private String defendMobile;
-
- /**
- * 申请人列表
- */
- private List<CasePerson> plaintiffList;
-
- /**
- * 申请人代理人列表
- */
- private List<CaseAgent> pagentList;
-
- /**
- * 被申请人列表
- */
- private List<CasePerson> defendantList;
-
- /**
- * 被申请人代理人列表
- */
- private List<CaseAgent> dagentList;
-
- /**
- * 调解组织类型,1:本单位调解,2:本单位人调解,3:其他单位调解
- */
- private String mediateUnitType;
+ private List<CaseAgent> agentList;
/**
* 自行受理标识,0:不是,1:是
@@ -93,4 +38,9 @@
* 是否是草稿提交,0:不是,1:是
*/
private Integer isDraft;
+
+ /**
+ * 操作类型:0:新增,1:更新
+ */
+ private Integer operateType;
}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseAgent.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseAgent.java
index c943702..8e178d8 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseAgent.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseAgent.java
@@ -1,5 +1,6 @@
package cn.huge.module.cases.domain.po;
+import cn.huge.module.sys.dto.FileTypeInfoBaseDTO;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
@@ -7,6 +8,7 @@
import lombok.Data;
import java.util.Date;
+import java.util.List;
/**
* @title: 纠纷代理人信息表数据库对应关系类
@@ -37,6 +39,18 @@
*/
@TableField(value = "party_user_id")
private String partyUserId;
+
+ /**
+ * 当事人地位
+ */
+ @TableField(value = "per_type")
+ private String perType;
+
+ /**
+ * 当事人地位名称
+ */
+ @TableField(value = "per_type_name")
+ private String perTypeName;
/**
* 代理人类型
@@ -339,4 +353,10 @@
@TableField(value = "update_time")
private Date updateTime;
+ /**
+ * 附件列表
+ */
+ @TableField(exist = false)
+ private List<FileTypeInfoBaseDTO> fileInfoList;
+
}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseEvaluate.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseEvaluate.java
new file mode 100644
index 0000000..723fdfb
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseEvaluate.java
@@ -0,0 +1,90 @@
+package cn.huge.module.cases.domain.po;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @title: 当事人纠纷评价表数据库对应关系类
+ * @description: PO中的属性与数据表是一一对应关系,如需根据业务处理不同,请使用BO对象。
+ * @company:hugeinfo
+ * @author: wangwh
+ * @time: 2024-09-04 20:21:05
+ * @version 1.0.0
+ */
+@TableName(value = "dyh_case_evaluate")
+@Data
+public class CaseEvaluate {
+
+ /**
+ * 主键编号
+ */
+ @TableId(value = "id")
+ private String id;
+
+ /**
+ * 纠纷编号
+ */
+ @TableField(value = "case_id")
+ private String caseId;
+
+ /**
+ * 评价等级
+ */
+ @TableField(value = "evaluate_grade")
+ private Integer evaluateGrade;
+
+ /**
+ * 选择评语,多个用,隔开
+ */
+ @TableField(value = "evaluate_remark")
+ private String evaluateRemark;
+
+ /**
+ * 评价建议
+ */
+ @TableField(value = "evaluate_content")
+ private String evaluateContent;
+
+ /**
+ * 评价人编号
+ */
+ @TableField(value = "evaluate_user_id")
+ private String evaluateUserId;
+
+ /**
+ * 评价人名称
+ */
+ @TableField(value = "evaluate_user_name")
+ private String evaluateUserName;
+
+ /**
+ * 删除状态,0:未删除,1:已删除
+ */
+ @TableLogic
+ @TableField(value = "delete_status")
+ private Integer deleteStatus;
+
+ /**
+ * 顾客编号
+ */
+ @TableField(value = "cust_id")
+ private String custId;
+
+ /**
+ * 创建时间
+ */
+ @TableField(value = "create_time")
+ private Date createTime;
+
+ /**
+ * 更新时间
+ */
+ @TableField(value = "update_time")
+ private Date updateTime;
+
+}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseFeedback.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseFeedback.java
new file mode 100644
index 0000000..af7c9f5
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseFeedback.java
@@ -0,0 +1,110 @@
+package cn.huge.module.cases.domain.po;
+
+import cn.huge.module.sys.dto.FileInfoBaseDTO;
+import cn.huge.module.sys.dto.FileTypeInfoBaseDTO;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @title: 纠纷办理反馈j信息表数据库对应关系类
+ * @description: PO中的属性与数据表是一一对应关系,如需根据业务处理不同,请使用BO对象。
+ * @company:hugeinfo
+ * @author: wangwh
+ * @time: 2024-08-30 17:35:02
+ * @version 1.0.0
+ */
+@TableName(value = "dyh_case_feedback")
+@Data
+public class CaseFeedback {
+
+ /**
+ * 主键编号
+ */
+ @TableId(value = "id")
+ private String id;
+
+ /**
+ * 纠纷编号
+ */
+ @TableField(value = "case_id")
+ private String caseId;
+
+ /**
+ * 任务编号
+ */
+ @TableField(value = "case_task_id")
+ private String caseTaskId;
+
+ /**
+ * 经办类型,1:承办组织,2:配合组织
+ */
+ @TableField(value = "handle_type")
+ private Integer handleType;
+
+ /**
+ * 经办组织编号
+ */
+ @TableField(value = "handle_unit_id")
+ private String handleUnitId;
+
+ /**
+ * 经办组织名称
+ */
+ @TableField(value = "handle_unit_name")
+ private String handleUnitName;
+
+ /**
+ * 操作人编号
+ */
+ @TableField(value = "handle_user_id")
+ private String handleUserId;
+
+ /**
+ * 经办人名称
+ */
+ @TableField(value = "handle_user_name")
+ private String handleUserName;
+
+ /**
+ * 办理意见
+ */
+ @TableField(value = "handle_content")
+ private String handleContent;
+
+ /**
+ * 删除状态,0:未删除,1:已删除
+ */
+ @TableLogic
+ @TableField(value = "delete_status")
+ private Integer deleteStatus;
+
+ /**
+ * 顾客编号
+ */
+ @TableField(value = "cust_id")
+ private String custId;
+
+ /**
+ * 创建时间
+ */
+ @TableField(value = "create_time")
+ private Date createTime;
+
+ /**
+ * 更新时间
+ */
+ @TableField(value = "update_time")
+ private Date updateTime;
+
+ /**
+ * 附件列表
+ */
+ @TableField(exist = false)
+ private List<FileInfoBaseDTO> fileInfoList;
+}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseFeedbackHis.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseFeedbackHis.java
new file mode 100644
index 0000000..8d68b0e
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseFeedbackHis.java
@@ -0,0 +1,101 @@
+package cn.huge.module.cases.domain.po;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @title: 纠纷办理反馈信息历史表数据库对应关系类
+ * @description: PO中的属性与数据表是一一对应关系,如需根据业务处理不同,请使用BO对象。
+ * @company:hugeinfo
+ * @author: wangwh
+ * @time: 2024-08-31 17:42:41
+ * @version 1.0.0
+ */
+@TableName(value = "dyh_case_feedback_his")
+@Data
+public class CaseFeedbackHis {
+
+ /**
+ * 主键编号
+ */
+ @TableId(value = "id")
+ private String id;
+
+ /**
+ * 办理反馈信息编号
+ */
+ @TableField(value = "feedback_id")
+ private String feedbackId;
+
+ /**
+ * 纠纷编号
+ */
+ @TableField(value = "case_id")
+ private String caseId;
+
+ /**
+ * 办理反馈纠纷任务编号
+ */
+ @TableField(value = "case_task_id")
+ private String caseTaskId;
+
+ /**
+ * 经办类型,1:承办组织,2:配合组织
+ */
+ @TableField(value = "handle_type")
+ private Integer handleType;
+
+ /**
+ * 经办组织编号
+ */
+ @TableField(value = "handle_unit_id")
+ private String handleUnitId;
+
+ /**
+ * 经办组织名称
+ */
+ @TableField(value = "handle_unit_name")
+ private String handleUnitName;
+
+ /**
+ * 操作人编号
+ */
+ @TableField(value = "handle_user_id")
+ private String handleUserId;
+
+ /**
+ * 经办人名称
+ */
+ @TableField(value = "handle_user_name")
+ private String handleUserName;
+
+ /**
+ * 办理意见
+ */
+ @TableField(value = "handle_content")
+ private String handleContent;
+
+ /**
+ * 顾客编号
+ */
+ @TableField(value = "cust_id")
+ private String custId;
+
+ /**
+ * 创建时间
+ */
+ @TableField(value = "create_time")
+ private Date createTime;
+
+ /**
+ * 更新时间
+ */
+ @TableField(value = "update_time")
+ private Date updateTime;
+
+}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseInfo.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseInfo.java
index 045eaf2..bbe88f5 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseInfo.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseInfo.java
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
@@ -47,6 +48,7 @@
/**
* 来访时间
*/
+ @JsonFormat(pattern="yyyy-MM-dd HH:mm", timezone="GMT+8")
@TableField(value = "visit_time")
private Date visitTime;
@@ -95,6 +97,7 @@
/**
* 纠纷发生时间
*/
+ @JsonFormat(pattern="yyyy-MM-dd HH:mm", timezone="GMT+8")
@TableField(value = "occur_time")
private Date occurTime;
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CasePerson.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CasePerson.java
index 4088c02..60e46a9 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CasePerson.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CasePerson.java
@@ -1,5 +1,6 @@
package cn.huge.module.cases.domain.po;
+import cn.huge.module.sys.dto.FileTypeInfoBaseDTO;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
@@ -7,6 +8,7 @@
import lombok.Data;
import java.util.Date;
+import java.util.List;
/**
* @title: 纠纷当事人信息表数据库对应关系类
@@ -345,4 +347,9 @@
@TableField(value = "update_time")
private Date updateTime;
+ /**
+ * 附件列表
+ */
+ @TableField(exist = false)
+ private List<FileTypeInfoBaseDTO> fileInfoList;
}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseSupervise.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseSupervise.java
new file mode 100644
index 0000000..ee72896
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseSupervise.java
@@ -0,0 +1,127 @@
+package cn.huge.module.cases.domain.po;
+
+import cn.huge.module.sys.dto.FileTypeInfoBaseDTO;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @title: 纠纷督办信息表数据库对应关系类
+ * @description: PO中的属性与数据表是一一对应关系,如需根据业务处理不同,请使用BO对象。
+ * @company:hugeinfo
+ * @author: wangwh
+ * @time: 2024-09-03 10:53:01
+ * @version 1.0.0
+ */
+@TableName(value = "dyh_case_supervise")
+@Data
+public class CaseSupervise {
+
+ /**
+ * 主键编号
+ */
+ @TableId(value = "id")
+ private String id;
+
+ /**
+ * 纠纷编号
+ */
+ @TableField(value = "case_id")
+ private String caseId;
+
+ /**
+ * 督办意见
+ */
+ @TableField(value = "sup_content")
+ private String supContent;
+
+ /**
+ * 督办人编号
+ */
+ @TableField(value = "sup_user_id")
+ private String supUserId;
+
+ /**
+ * 督办人名称
+ */
+ @TableField(value = "sup_user_name")
+ private String supUserName;
+
+ /**
+ * 督办时间
+ */
+ @TableField(value = "sup_time")
+ private Date supTime;
+
+ /**
+ * 督办状态,0:未回复,1:已回复
+ */
+ @TableField(value = "sup_status")
+ private Integer supStatus;
+
+ /**
+ * 回复期限,单位:小时
+ */
+ @TableField(value = "reply_term")
+ private Integer replyTerm;
+
+ /**
+ * 回复内容
+ */
+ @TableField(value = "reply_content")
+ private String replyContent;
+
+ /**
+ * 回复人编号
+ */
+ @TableField(value = "reply_user_id")
+ private String replyUserId;
+
+ /**
+ * 回复人名称
+ */
+ @TableField(value = "reply_user_name")
+ private String replyUserName;
+
+ /**
+ * 回复时间
+ */
+ @TableField(value = "reply_time")
+ private String replyTime;
+
+ /**
+ * 删除状态,0:未删除,1:已删除
+ */
+ @TableLogic
+ @TableField(value = "delete_status")
+ private Integer deleteStatus;
+
+ /**
+ * 顾客编号
+ */
+ @TableField(value = "cust_id")
+ private String custId;
+
+ /**
+ * 创建时间
+ */
+ @TableField(value = "create_time")
+ private Date createTime;
+
+ /**
+ * 更新时间
+ */
+ @TableField(value = "update_time")
+ private Date updateTime;
+
+ /**
+ * 附件列表
+ */
+ @TableField(exist = false)
+ private List<FileTypeInfoBaseDTO> fileInfoList;
+}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseEvaluateService.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseEvaluateService.java
new file mode 100644
index 0000000..f1086fd
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseEvaluateService.java
@@ -0,0 +1,133 @@
+package cn.huge.module.cases.service;
+
+import cn.huge.base.common.exception.ServiceException;
+import cn.huge.base.common.utils.DateUtils;
+import cn.huge.base.common.utils.IdUtils;
+import cn.huge.module.client.api.impl.UtilsClientImpl;
+import cn.huge.module.cases.dao.mapper.CaseEvaluateMapper;
+import cn.huge.module.cases.domain.po.CaseEvaluate;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.PageImpl;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.PostConstruct;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @title: 当事人纠纷评价表业务逻辑处理
+ * @Description 当事人纠纷评价表业务逻辑处理
+ * @company hugeinfo
+ * @author wangwh
+ * @Time 2024-09-04 20:21:05
+ * @version 1.0.0
+ */
+@Slf4j
+@Service
+@Transactional(rollbackFor = Exception.class)
+public class CaseEvaluateService extends ServiceImpl<CaseEvaluateMapper, CaseEvaluate>{
+
+ @Autowired
+ private CaseEvaluateMapper mapper;
+
+ @Autowired
+ private UtilsClientImpl utilsClient;
+
+ /**
+ * 更新对象
+ * @param entity 对象
+ */
+ public void updateCaseEvaluate(CaseEvaluate entity){
+ try{
+ mapper.updateCaseEvaluate(entity);
+ }catch (Exception e){
+ log.error("[CaseEvaluateService.updateCaseEvaluate]调用失败,异常信息:"+e, e);
+ throw new ServiceException("CaseEvaluateService.updateCaseEvaluate", e);
+ }
+ }
+
+ /**
+ * 条件更新对象
+ * @param entity 对象
+ * @param terms 条件
+ */
+ public void updateCaseEvaluateTerms(CaseEvaluate entity, Map<String, Object> terms){
+ try{
+ mapper.updateCaseEvaluateTerms(entity, terms);
+ }catch (Exception e){
+ log.error("[CaseEvaluateService.updateCaseEvaluateTerms]调用失败,异常信息:"+e, e);
+ throw new ServiceException("CaseEvaluateService.updateCaseEvaluateTerms", e);
+ }
+ }
+
+ /**
+ * 根据编号物理删除
+ * @param id 查询条件集合
+ */
+ public void deleteCaseEvaluate(String id){
+ try{
+ mapper.deleteCaseEvaluate(id);
+ }catch (Exception e){
+ log.error("[CaseEvaluateService.deleteCaseEvaluate]调用失败,异常信息:"+e, e);
+ throw new ServiceException("CaseEvaluateService.deleteCaseEvaluate", e);
+ }
+ }
+
+ /**
+ * 按条件查询
+ * @param terms 条件
+ * @return List
+ */
+ public List<CaseEvaluate> listTerms(Map<String, Object> terms){
+ return mapper.listTerms(terms);
+ }
+
+ /**
+ * 按条件统计
+ * @param terms 条件
+ * @return long
+ */
+ public long countTerms(Map<String, Object> terms){
+ return mapper.countTerms(terms);
+ }
+
+ /**
+ * 按条件分页查询
+ * @param page 分页对象
+ * @param terms 条件
+ * @return Page
+ */
+ public Page<CaseEvaluate> pageQuery(PageRequest page, Map<String, Object> terms){
+ long total = mapper.countTerms(terms);
+ List<CaseEvaluate> content = mapper.pageTerms(page, terms);
+ return new PageImpl<CaseEvaluate>(content, page, total);
+ }
+
+ /**
+ * 新增或更新对象
+ * @param caseEvaluate 实体对象
+ */
+ public void saveCaseEvaluate(CaseEvaluate caseEvaluate){
+ try{
+ Date nowDate = DateUtils.getNowDate();
+ // 判断是否新增
+ if (IdUtils.checkNewId(caseEvaluate.getId())){
+ caseEvaluate.setId(utilsClient.getNewTimeId());
+ caseEvaluate.setCreateTime(nowDate);
+ }
+ caseEvaluate.setUpdateTime(nowDate);
+ this.saveOrUpdate(caseEvaluate);
+ }catch (Exception e){
+ log.error("[CaseEvaluateService.saveCaseEvaluate]调用失败,异常信息:"+e, e);
+ throw new ServiceException("CaseEvaluateService.saveCaseEvaluate", e);
+ }
+ }
+
+}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseFeedbackHisService.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseFeedbackHisService.java
new file mode 100644
index 0000000..d4852d8
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseFeedbackHisService.java
@@ -0,0 +1,133 @@
+package cn.huge.module.cases.service;
+
+import cn.huge.base.common.exception.ServiceException;
+import cn.huge.base.common.utils.DateUtils;
+import cn.huge.base.common.utils.IdUtils;
+import cn.huge.module.client.api.impl.UtilsClientImpl;
+import cn.huge.module.cases.dao.mapper.CaseFeedbackHisMapper;
+import cn.huge.module.cases.domain.po.CaseFeedbackHis;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.PageImpl;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.PostConstruct;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @title: 纠纷办理反馈信息历史表业务逻辑处理
+ * @Description 纠纷办理反馈信息历史表业务逻辑处理
+ * @company hugeinfo
+ * @author wangwh
+ * @Time 2024-08-31 17:42:41
+ * @version 1.0.0
+ */
+@Slf4j
+@Service
+@Transactional(rollbackFor = Exception.class)
+public class CaseFeedbackHisService extends ServiceImpl<CaseFeedbackHisMapper, CaseFeedbackHis>{
+
+ @Autowired
+ private CaseFeedbackHisMapper mapper;
+
+ @Autowired
+ private UtilsClientImpl utilsClient;
+
+ /**
+ * 更新对象
+ * @param entity 对象
+ */
+ public void updateCaseFeedbackHis(CaseFeedbackHis entity){
+ try{
+ mapper.updateCaseFeedbackHis(entity);
+ }catch (Exception e){
+ log.error("[CaseFeedbackHisService.updateCaseFeedbackHis]调用失败,异常信息:"+e, e);
+ throw new ServiceException("CaseFeedbackHisService.updateCaseFeedbackHis", e);
+ }
+ }
+
+ /**
+ * 条件更新对象
+ * @param entity 对象
+ * @param terms 条件
+ */
+ public void updateCaseFeedbackHisTerms(CaseFeedbackHis entity, Map<String, Object> terms){
+ try{
+ mapper.updateCaseFeedbackHisTerms(entity, terms);
+ }catch (Exception e){
+ log.error("[CaseFeedbackHisService.updateCaseFeedbackHisTerms]调用失败,异常信息:"+e, e);
+ throw new ServiceException("CaseFeedbackHisService.updateCaseFeedbackHisTerms", e);
+ }
+ }
+
+ /**
+ * 根据编号物理删除
+ * @param id 查询条件集合
+ */
+ public void deleteCaseFeedbackHis(String id){
+ try{
+ mapper.deleteCaseFeedbackHis(id);
+ }catch (Exception e){
+ log.error("[CaseFeedbackHisService.deleteCaseFeedbackHis]调用失败,异常信息:"+e, e);
+ throw new ServiceException("CaseFeedbackHisService.deleteCaseFeedbackHis", e);
+ }
+ }
+
+ /**
+ * 按条件查询
+ * @param terms 条件
+ * @return List
+ */
+ public List<CaseFeedbackHis> listTerms(Map<String, Object> terms){
+ return mapper.listTerms(terms);
+ }
+
+ /**
+ * 按条件统计
+ * @param terms 条件
+ * @return long
+ */
+ public long countTerms(Map<String, Object> terms){
+ return mapper.countTerms(terms);
+ }
+
+ /**
+ * 按条件分页查询
+ * @param page 分页对象
+ * @param terms 条件
+ * @return Page
+ */
+ public Page<CaseFeedbackHis> pageQuery(PageRequest page, Map<String, Object> terms){
+ long total = mapper.countTerms(terms);
+ List<CaseFeedbackHis> content = mapper.pageTerms(page, terms);
+ return new PageImpl<CaseFeedbackHis>(content, page, total);
+ }
+
+ /**
+ * 新增或更新对象
+ * @param caseFeedbackHis 实体对象
+ */
+ public void saveCaseFeedbackHis(CaseFeedbackHis caseFeedbackHis){
+ try{
+ Date nowDate = DateUtils.getNowDate();
+ // 判断是否新增
+ if (IdUtils.checkNewId(caseFeedbackHis.getId())){
+ caseFeedbackHis.setId(utilsClient.getNewTimeId());
+ caseFeedbackHis.setCreateTime(nowDate);
+ }
+ caseFeedbackHis.setUpdateTime(nowDate);
+ this.saveOrUpdate(caseFeedbackHis);
+ }catch (Exception e){
+ log.error("[CaseFeedbackHisService.saveCaseFeedbackHis]调用失败,异常信息:"+e, e);
+ throw new ServiceException("CaseFeedbackHisService.saveCaseFeedbackHis", e);
+ }
+ }
+
+}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseFeedbackService.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseFeedbackService.java
new file mode 100644
index 0000000..83aed0b
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseFeedbackService.java
@@ -0,0 +1,246 @@
+package cn.huge.module.cases.service;
+
+import cn.huge.base.common.exception.ServiceException;
+import cn.huge.base.common.utils.DateUtils;
+import cn.huge.base.common.utils.IdUtils;
+import cn.huge.module.cases.domain.po.CaseFeedbackHis;
+import cn.huge.module.cases.domain.po.CaseInfoUnfold;
+import cn.huge.module.client.api.impl.CustClientImpl;
+import cn.huge.module.client.api.impl.SysClientImpl;
+import cn.huge.module.client.api.impl.UtilsClientImpl;
+import cn.huge.module.cases.dao.mapper.CaseFeedbackMapper;
+import cn.huge.module.cases.domain.po.CaseFeedback;
+import cn.huge.module.cust.dto.CtUserDTO;
+import cn.huge.module.sys.dto.FileIdInfoBaseDTO;
+import cn.huge.module.sys.dto.FileInfoBaseDTO;
+import cn.huge.module.sys.dto.FileTypeInfoBaseDTO;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.PageImpl;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.print.DocFlavor;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+/**
+ * @title: 纠纷办理反馈j信息表业务逻辑处理
+ * @Description 纠纷办理反馈j信息表业务逻辑处理
+ * @company hugeinfo
+ * @author wangwh
+ * @Time 2024-08-30 17:35:02
+ * @version 1.0.0
+ */
+@Slf4j
+@Service
+@Transactional(rollbackFor = Exception.class)
+public class CaseFeedbackService extends ServiceImpl<CaseFeedbackMapper, CaseFeedback>{
+
+ @Autowired
+ private CaseFeedbackMapper mapper;
+
+ @Autowired
+ private UtilsClientImpl utilsClient;
+
+ @Autowired
+ private CustClientImpl custClient;
+
+ @Autowired
+ private SysClientImpl sysClient;
+
+ @Autowired
+ private CaseFeedbackHisService hisService;
+
+ @Autowired
+ private CaseInfoUnfoldService unfoldService;
+
+ /**
+ * 更新对象
+ * @param entity 对象
+ */
+ public void updatecaseFeedback(CaseFeedback entity){
+ try{
+ mapper.updatecaseFeedback(entity);
+ }catch (Exception e){
+ log.error("[caseFeedbackService.updatecaseFeedback]调用失败,异常信息:"+e, e);
+ throw new ServiceException("caseFeedbackService.updatecaseFeedback", e);
+ }
+ }
+
+ /**
+ * 条件更新对象
+ * @param entity 对象
+ * @param terms 条件
+ */
+ public void updatecaseFeedbackTerms(CaseFeedback entity, Map<String, Object> terms){
+ try{
+ mapper.updatecaseFeedbackTerms(entity, terms);
+ }catch (Exception e){
+ log.error("[caseFeedbackService.updatecaseFeedbackTerms]调用失败,异常信息:"+e, e);
+ throw new ServiceException("caseFeedbackService.updatecaseFeedbackTerms", e);
+ }
+ }
+
+ /**
+ * 根据编号物理删除
+ * @param id 查询条件集合
+ */
+ public void deletecaseFeedback(String id){
+ try{
+ mapper.deletecaseFeedback(id);
+ }catch (Exception e){
+ log.error("[caseFeedbackService.deletecaseFeedback]调用失败,异常信息:"+e, e);
+ throw new ServiceException("caseFeedbackService.deletecaseFeedback", e);
+ }
+ }
+
+ /**
+ * 按条件查询
+ * @param terms 条件
+ * @return List
+ */
+ public List<CaseFeedback> listTerms(Map<String, Object> terms){
+ return mapper.listTerms(terms);
+ }
+
+ /**
+ * 按条件统计
+ * @param terms 条件
+ * @return long
+ */
+ public long countTerms(Map<String, Object> terms){
+ return mapper.countTerms(terms);
+ }
+
+ /**
+ * 按条件分页查询
+ * @param page 分页对象
+ * @param terms 条件
+ * @return Page
+ */
+ public Page<CaseFeedback> pageQuery(PageRequest page, Map<String, Object> terms){
+ long total = mapper.countTerms(terms);
+ List<CaseFeedback> content = mapper.pageTerms(page, terms);
+ return new PageImpl<CaseFeedback>(content, page, total);
+ }
+
+ /**
+ * 新增或更新对象
+ * @param caseFeedback 实体对象
+ */
+ public void savecaseFeedback(CaseFeedback caseFeedback, String userId){
+ try{
+ Date nowDate = DateUtils.getNowDate();
+ // 判断是否新增
+ if (IdUtils.checkNewId(caseFeedback.getId())){
+ caseFeedback.setId(utilsClient.getNewTimeId());
+ caseFeedback.setCreateTime(nowDate);
+ }
+ caseFeedback.setUpdateTime(nowDate);
+ this.saveOrUpdate(caseFeedback);
+ }catch (Exception e){
+ log.error("[caseFeedbackService.savecaseFeedback]调用失败,异常信息:"+e, e);
+ throw new ServiceException("caseFeedbackService.savecaseFeedback", e);
+ }
+ }
+
+ /**
+ * 获取办理反馈信息
+ * @param id 条件
+ * @return Page
+ */
+ public Map<String, Object> listFeedback(String id) {
+ Map<String, Object> result = new HashMap<>();
+
+ QueryWrapper<CaseInfoUnfold> caseInfoUnfoldQueryWrapper = new QueryWrapper<>();
+ caseInfoUnfoldQueryWrapper.eq("case_id", id);
+ CaseInfoUnfold caseInfoUnfold = unfoldService.getOne(caseInfoUnfoldQueryWrapper);
+ result.put("manager", caseInfoUnfold.getMediator());
+ QueryWrapper<CaseFeedback> caseFeedbackQueryWrapper = new QueryWrapper<>();
+ caseFeedbackQueryWrapper.eq("case_id", id);
+ List<CaseFeedback> caseFeedbackList = mapper.selectList(caseFeedbackQueryWrapper);
+
+ String ownerIds = caseFeedbackList.stream().map(CaseFeedback::getId).collect(Collectors.joining("','"));
+ ownerIds = "'"+ ownerIds + "'";
+ Map<String, Object> map = new HashMap<>();
+ map.put("ownerIds", ownerIds);
+ List<FileIdInfoBaseDTO> fileInfoList = sysClient.listIdInfoByOwnerIdList(map, id);
+
+ for(CaseFeedback caseFeedback: caseFeedbackList){
+ for(FileIdInfoBaseDTO fileInfo: fileInfoList){
+ if(caseFeedback.getId().equals(fileInfo.getOwnerId())){
+ caseFeedback.setFileInfoList(fileInfo.getFileList());
+ }
+ }
+ }
+ result.put("caseFeedbackList", caseFeedbackList);
+ return result;
+ }
+
+ /**
+ * 添加办理反馈
+ * @param caseFeedback 实体对象
+ */
+ public void saveFeedback(CaseFeedback caseFeedback, String userId){
+ try{
+ // 获取当前登录用户
+ CtUserDTO loginUser = custClient.clientGetUserAll(userId);
+ caseFeedback.setHandleUnitId(loginUser.getUnitId());
+ caseFeedback.setHandleUnitName(loginUser.getUnitName());
+ caseFeedback.setHandleUserId(loginUser.getId());
+ caseFeedback.setHandleUserName(loginUser.getTrueName());
+ Date nowDate = DateUtils.getNowDate();
+ caseFeedback.setId(utilsClient.getNewTimeId());
+ caseFeedback.setUpdateTime(nowDate);
+ caseFeedback.setCreateTime(nowDate);
+ //todo 承办、配合--查询task
+
+ this.save(caseFeedback);
+ }catch (Exception e){
+ log.error("[caseFeedbackService.savecaseFeedback]调用失败,异常信息:"+e, e);
+ throw new ServiceException("caseFeedbackService.savecaseFeedback", e);
+ }
+ }
+
+ /**
+ * 添加办理反馈
+ * @param caseFeedback 实体对象
+ */
+ public void updateFeedback(CaseFeedback caseFeedback, String userId){
+ try{
+ Date nowDate = DateUtils.getNowDate();
+ // 获取当前登录用户
+ CtUserDTO loginUser = custClient.clientGetUserAll(userId);
+ CaseFeedbackHis caseFeedbackHis = new CaseFeedbackHis();
+ CaseFeedback caseFeedback1 = mapper.selectById(caseFeedback.getId());
+ BeanUtils.copyProperties(caseFeedback1, caseFeedbackHis);
+ caseFeedbackHis.setId(utilsClient.getNewTimeId());
+ caseFeedbackHis.setFeedbackId(caseFeedback1.getId());
+ caseFeedback.setUpdateTime(nowDate);
+ caseFeedback.setCreateTime(nowDate);
+ hisService.save(caseFeedbackHis);
+
+ caseFeedback.setHandleUnitId(loginUser.getUnitId());
+ caseFeedback.setHandleUnitName(loginUser.getUnitName());
+ caseFeedback.setHandleUserId(loginUser.getId());
+ caseFeedback.setHandleUserName(loginUser.getTrueName());
+ caseFeedback.setId(utilsClient.getNewTimeId());
+ caseFeedback.setUpdateTime(nowDate);
+ //todo 承办、配合--查询task
+
+ mapper.updateById(caseFeedback);
+ }catch (Exception e){
+ log.error("[caseFeedbackService.updateFeedback]调用失败,异常信息:"+e, e);
+ throw new ServiceException("caseFeedbackService.updateFeedback", e);
+ }
+ }
+}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java
index 621c9a7..381b422 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java
@@ -3,11 +3,16 @@
import cn.huge.base.common.exception.ServiceException;
import cn.huge.base.common.utils.DateUtils;
import cn.huge.base.common.utils.IdUtils;
+
+import cn.huge.base.common.utils.ObjectUtils;
+import cn.huge.module.cases.domain.dto.CaseInfoDTO;
import cn.huge.module.cases.domain.dto.RegisterSaveDTO;
import cn.huge.module.cases.domain.po.CaseAgent;
import cn.huge.module.cases.domain.po.CaseInfoUnfold;
import cn.huge.module.cases.domain.po.CasePerson;
+import cn.huge.module.client.api.SysClient;
import cn.huge.module.client.api.impl.CustClientImpl;
+import cn.huge.module.client.api.impl.SysClientImpl;
import cn.huge.module.client.api.impl.UtilsClientImpl;
import cn.huge.module.cases.dao.mapper.CaseInfoMapper;
import cn.huge.module.cases.domain.po.CaseInfo;
@@ -16,8 +21,12 @@
import cn.huge.module.mediate.constant.CaseBaseConstsEnum;
import cn.huge.module.cust.dto.CtUserDTO;
import cn.huge.module.draft.service.CasedraftInfoService;
+import cn.huge.module.mediate.dto.WechatBindCaseDTO;
+import cn.huge.module.sys.dto.FileIdTypeInfoBaseDTO;
+import cn.huge.module.sys.dto.FileTypeInfoBaseDTO;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.google.common.collect.Maps;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
@@ -29,10 +38,8 @@
import org.springframework.data.domain.PageRequest;
import org.springframework.transaction.annotation.Transactional;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
+import java.util.stream.Collectors;
/**
* @title: 纠纷信息主表业务逻辑处理
@@ -64,6 +71,12 @@
@Autowired
private CustClientImpl custClient;
+
+ @Autowired
+ private CaseInfoUnfoldService caseInfoUnfoldService;
+
+ @Autowired
+ private SysClientImpl sysClient;
/**
* 更新对象
@@ -171,48 +184,52 @@
StringBuffer defendants = new StringBuffer();
StringBuffer pagents = new StringBuffer();
StringBuffer dagents = new StringBuffer();
- int peopleNum = 0;
-
+ //复制填装案件表
CaseInfo caseInfo = new CaseInfo();
- CaseInfoUnfold caseInfoUnfold = new CaseInfoUnfold();
BeanUtils.copyProperties(registerSaveDTO, caseInfo);
- caseInfo.setId(utilsClient.getNewTimeId());
- caseInfo.setInputUnitId(loginUser.getUnitId());
- caseInfo.setInputUnitName(loginUser.getUnitName());
- caseInfo.setInputUserId(loginUser.getId());
- caseInfo.setInputUserName(loginUser.getTrueName());
- caseInfo.setInputWay(CaseBaseConsts.INPUT_WAY_1);
- caseInfo.setCreateTime(nowDate);
caseInfo.setUpdateTime(nowDate);
- caseInfo.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
- //todo case_ref生成、case_title生成
-
- caseInfoUnfold.setId(utilsClient.getNewTimeId());
- caseInfoUnfold.setCaseId(caseInfo.getId());
- caseInfoUnfold.setCreateTime(nowDate);
- caseInfoUnfold.setUpdateTime(nowDate);
-
// 常规登记-保存当事人
- peopleNum += this.saveCasePerson(registerSaveDTO, plaintiffs, pagents, defendants, dagents);
- caseInfo.setPeopleNum(peopleNum);
+ this.saveCasePerson(registerSaveDTO, plaintiffs, pagents, defendants, dagents);
caseInfo.setPlaintiffs(plaintiffs.toString());
caseInfo.setPagents(pagents.toString());
caseInfo.setDefendants(defendants.toString());
caseInfo.setDagents(dagents.toString());
- //todo 流程接口修改status、status_name、process、process_name
- //todo 自行受理
- if(1 == registerSaveDTO.getIsSelfAccept()){
- caseInfoUnfold.setMediateUnitId(loginUser.getUnitId());
- caseInfoUnfold.setMediateUnitName(loginUser.getUnitName());
- }
+ caseInfo.setCaseRef(utilsClient.createCaseRef());
+ caseInfo.setCanal(CaseBaseConstsEnum.CASE_CANAL_1.getIndex());
+ caseInfo.setCaseDes(CaseBaseConstsEnum.CASE_CANAL_1.getDes());
+ //todo case_title生成、经纬度转换、来访形式
+ if(0 == registerSaveDTO.getOperateType()){
+ caseInfo.setInputUnitId(loginUser.getUnitId());
+ caseInfo.setInputUnitName(loginUser.getUnitName());
+ caseInfo.setInputUserId(loginUser.getId());
+ caseInfo.setInputUserName(loginUser.getTrueName());
+ caseInfo.setInputWay(CaseBaseConsts.INPUT_WAY_1);
+ caseInfo.setCreateTime(nowDate);
+ caseInfo.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
- this.saveOrUpdate(caseInfo);
- // 删除草稿案件
- if(1 == registerSaveDTO.getIsDraft() ){
- draftInfoService.removeDraftInfo(registerSaveDTO.getId());
- }
+ CaseInfoUnfold caseInfoUnfold = new CaseInfoUnfold();
+ caseInfoUnfold.setId(utilsClient.getNewTimeId());
+ caseInfoUnfold.setCaseId(caseInfo.getId());
+ caseInfoUnfold.setCreateTime(nowDate);
+ caseInfoUnfold.setUpdateTime(nowDate);
+ // 删除草稿案件
+ if(1 == registerSaveDTO.getIsDraft() ){
+ draftInfoService.removeDraftInfo(registerSaveDTO.getId());
+ }
+
+ //判断是否自行受理
+ if(1 == registerSaveDTO.getIsSelfAccept()){
+ //todo 流程接口修改status、status_name、process、process_name
+ caseInfoUnfold.setMediateUnitId(loginUser.getUnitId());
+ caseInfoUnfold.setMediateUnitName(loginUser.getUnitName());
+ }
+ this.save(caseInfo);
+ caseInfoUnfoldService.save(caseInfoUnfold);
+ }else if(1 == registerSaveDTO.getOperateType()){
+ this.updateById(caseInfo);
+ }
return registerSaveDTO.getId();
}catch (Exception e){
log.error("service方法[CaseInfoService.caseRegister]调用异常:"+e, e);
@@ -229,104 +246,94 @@
* @param dagents 被申请人代理人
* @return int
*/
- private int saveCasePerson(RegisterSaveDTO registerSaveDTO, StringBuffer plaintiffs, StringBuffer pagents,
+ private void saveCasePerson(RegisterSaveDTO registerSaveDTO, StringBuffer plaintiffs, StringBuffer pagents,
StringBuffer defendants, StringBuffer dagents){
- int peopleNum = 0;
+
+ Date now = DateUtils.getNowDate();
+
+ List<CasePerson> personList = registerSaveDTO.getPersonList();
+ List<CaseAgent> agentList = registerSaveDTO.getAgentList();
+
+ //查出已存在的当事人和代理人编号
+ List<String> oldPersonIdList = personService.listIdByCaseId(registerSaveDTO.getId());
+ List<String> oldAgentIdList = agentService.listIdByCaseId(registerSaveDTO.getId());
+ String oldPersonIds = oldPersonIdList.stream().map(String::valueOf).collect(Collectors.joining(","));
+ String oldAgentIds = oldAgentIdList.stream().map(String::valueOf).collect(Collectors.joining(","));
List<String> newPersonIdList = new ArrayList<>();
List<String> newAgentIdList = new ArrayList<>();
- // 保存申请人
- List<CasePerson> plaintPersonList = registerSaveDTO.getPlaintiffList();
- if (CollectionUtils.isNotEmpty(plaintPersonList)) {
- for (CasePerson casePerson : plaintPersonList) {
+
+ if(CollectionUtils.isNotEmpty(personList)){
+ for(CasePerson casePerson: personList){
newPersonIdList.add(casePerson.getId());
casePerson.setCaseId(registerSaveDTO.getId());
- casePerson.setPerType(CaseBaseConstsEnum.PERSON_TYPE_1.getIndex());
- casePerson.setPerTypeName(CaseBaseConstsEnum.PERSON_TYPE_1.getDes());
casePerson.setCustId(registerSaveDTO.getCustId());
- casePerson.setCreateTime(registerSaveDTO.getUpdateTime());
- casePerson.setUpdateTime(registerSaveDTO.getUpdateTime());
- //todo 绑定当事人小程序
-
- personService.saveOrUpdate(casePerson);
-
- if (StringUtils.isNotEmpty(plaintiffs.toString())) {
- plaintiffs.append(BaseConsts.COMMA);
+ casePerson.setUpdateTime(now);
+ //绑定当事人小程序
+ this.setPartyUserId(casePerson);
+ //添加申请方和被申请方人名组合
+ if(CaseBaseConstsEnum.PERSON_TYPE_1.equals(casePerson.getPerType())){
+ //申请方
+ if (StringUtils.isNotEmpty(plaintiffs.toString())) {
+ plaintiffs.append(BaseConsts.COMMA);
+ }
+ plaintiffs.append(casePerson.getTrueName());
+ }else if(CaseBaseConstsEnum.PERSON_TYPE_2.equals(casePerson.getPerType())){
+ //被申请方
+ if (StringUtils.isNotEmpty(defendants.toString())) {
+ defendants.append(BaseConsts.COMMA);
+ }
+ defendants.append(casePerson.getTrueName());
}
- plaintiffs.append(casePerson.getTrueName());
- peopleNum++;
+
+ //判断是否为更新(用原有的Id对比性的Id)
+ if(oldPersonIds.contains(casePerson.getId())){
+ personService.updateById(casePerson);
+ }else{
+ casePerson.setCreateTime(now);
+ personService.save(casePerson);
+ }
}
- //保存代理人
- List<CaseAgent> pagentList = registerSaveDTO.getPagentList();
- if (CollectionUtils.isNotEmpty(pagentList)) {
- for(CaseAgent caseAgent: pagentList){
- newAgentIdList.add(caseAgent.getId());
- caseAgent.setId(utilsClient.getNewTimeId());
- caseAgent.setCaseId(registerSaveDTO.getId());
- caseAgent.setAgentTypeName(CaseBaseConstsEnum.getDes(caseAgent.getAgentType()));
+ }
- caseAgent.setCustId(registerSaveDTO.getCustId());
- caseAgent.setCreateTime(registerSaveDTO.getUpdateTime());
- caseAgent.setUpdateTime(registerSaveDTO.getUpdateTime());
-
- agentService.saveOrUpdate(caseAgent);
-
+ if(CollectionUtils.isNotEmpty(agentList)) {
+ for (CaseAgent caseAgent : agentList) {
+ newAgentIdList.add(caseAgent.getId());
+ caseAgent.setCaseId(registerSaveDTO.getId());
+ caseAgent.setAgentTypeName(CaseBaseConstsEnum.getDes(caseAgent.getAgentType()));
+ caseAgent.setCustId(registerSaveDTO.getCustId());
+ caseAgent.setUpdateTime(now);
+ //绑定当事人小程序
+ this.setPartyUserId(caseAgent);
+ if(CaseBaseConstsEnum.PERSON_TYPE_3.equals(caseAgent.getPerType())) {
if (StringUtils.isNotEmpty(pagents.toString())) {
pagents.append(BaseConsts.COMMA);
}
pagents.append(caseAgent.getTrueName());
- }
-
- //todo 绑定当事人小程序
- }
- }
- // 保存被申请人
- List<CasePerson> defendPersonList = registerSaveDTO.getDefendantList();
- if(CollectionUtils.isNotEmpty(defendPersonList)){
- for (CasePerson casePerson : defendPersonList) {
- newPersonIdList.add(casePerson.getId());
- casePerson.setCaseId(registerSaveDTO.getId());
- casePerson.setPerType(CaseBaseConstsEnum.PERSON_TYPE_2.getIndex());
- casePerson.setPerTypeName(CaseBaseConstsEnum.PERSON_TYPE_2.getDes());
- casePerson.setCustId(registerSaveDTO.getCustId());
- casePerson.setCreateTime(registerSaveDTO.getUpdateTime());
- casePerson.setUpdateTime(registerSaveDTO.getUpdateTime());
- //todo 绑定当事人小程序
- personService.saveOrUpdate(casePerson);
- if (StringUtils.isNotEmpty(defendants.toString())) {
- defendants.append(BaseConsts.COMMA);
- }
- defendants.append(casePerson.getTrueName());
- peopleNum++;
- }
- //保存代理人
- List<CaseAgent> pagentList = registerSaveDTO.getPagentList();
- if (CollectionUtils.isNotEmpty(pagentList)) {
- for(CaseAgent caseAgent: pagentList){
- newAgentIdList.add(caseAgent.getId());
- caseAgent.setId(utilsClient.getNewTimeId());
- caseAgent.setCaseId(registerSaveDTO.getId());
- caseAgent.setAgentTypeName(CaseBaseConstsEnum.getDes(caseAgent.getAgentType()));
- caseAgent.setCustId(registerSaveDTO.getCustId());
- caseAgent.setCreateTime(registerSaveDTO.getUpdateTime());
- caseAgent.setUpdateTime(registerSaveDTO.getUpdateTime());
- agentService.saveOrUpdate(caseAgent);
+ }else if(CaseBaseConstsEnum.PERSON_TYPE_4.equals(caseAgent.getPerType())) {
if (StringUtils.isNotEmpty(dagents.toString())) {
dagents.append(BaseConsts.COMMA);
}
dagents.append(caseAgent.getTrueName());
- //todo 绑定当事人小程序
+ }
+
+ //判断是否为更新(用原有的Id对比性的Id)
+ if(oldAgentIds.contains(caseAgent.getId())){
+ agentService.updateById(caseAgent);
+ }else{
+ caseAgent.setCreateTime(now);
+ agentService.save(caseAgent);
}
}
-
}
- // 删除冗余的申请人
+ // 删除冗余的申请人(用新的Id对比旧的Id)
if (CollectionUtils.isNotEmpty(newPersonIdList)) {
- List<String> oldPersonIdList = personService.listIdByCaseId(registerSaveDTO.getId());
for (String oldPersonId : oldPersonIdList) {
if (!newPersonIdList.contains(oldPersonId)) {
personService.removeById(oldPersonId);
+ }else{
+
}
}
}else{
@@ -336,7 +343,6 @@
}
//删除冗余的代理人
if(CollectionUtils.isNotEmpty(newAgentIdList)){
- List<String> oldAgentIdList = agentService.listIdByCaseId(registerSaveDTO.getId());
for(String oldAgentId: oldAgentIdList){
if(!newAgentIdList.contains(oldAgentId)){
agentService.removeById(oldAgentId);
@@ -347,7 +353,104 @@
caseAgentQueryWrapper.eq("case_id", registerSaveDTO.getId());
agentService.remove(caseAgentQueryWrapper);
}
+ }
- return peopleNum;
+ /**
+ * PC端-查询纠纷信息
+ * @param caseId 纠纷编号
+ * @return CaseInfo 纠纷信息
+ */
+ public CaseInfoDTO getCaseInfo(String caseId){
+ CaseInfo caseInfo = mapper.selectById(caseId);
+ CaseInfoDTO caseInfoDTO = new CaseInfoDTO();
+ if (ObjectUtils.isNotEmpty(caseInfo)) {
+
+ BeanUtils.copyProperties(caseInfo, caseInfoDTO);
+ //查询所有当事人
+ QueryWrapper<CasePerson> personQueryWrapper = new QueryWrapper<>();
+ personQueryWrapper.eq("case_id", caseId);
+ List<CasePerson> casePersonList = personService.list(personQueryWrapper);
+
+ //查询所有代理人
+ QueryWrapper<CaseAgent> caseAgentQueryWrapper = new QueryWrapper<>();
+ caseAgentQueryWrapper.eq("case_id", caseId);
+ List<CaseAgent> caseAgentList = agentService.list(caseAgentQueryWrapper);
+ List<String> idList = new ArrayList<>();
+
+ idList.add(caseId);
+ idList.addAll(casePersonList.stream().map(CasePerson::getId).collect(Collectors.toList()));
+ idList.addAll(caseAgentList.stream().map(CaseAgent::getId).collect(Collectors.toList()));
+ String ids = idList.stream().map(String::valueOf).collect(Collectors.joining("','"));
+ ids = "'"+ ids + "'";
+ Map<String, Object> term = new HashMap<>();
+ term.put("ownerIds", ids);
+ //查询所有附件
+ List<FileIdTypeInfoBaseDTO> fileInfoList = sysClient.listIdTypeInfoByOwnerIdList(term, caseId);
+ for(FileIdTypeInfoBaseDTO fileInfo: fileInfoList){
+ if(caseId.equals(fileInfo.getOwnerId())){
+ caseInfoDTO.setFileInfoList(fileInfo.getFileList());
+ }
+ }
+ for(CasePerson casePerson: casePersonList){
+ //把附件根据编号放入
+ for(FileIdTypeInfoBaseDTO fileInfo: fileInfoList){
+ if(casePerson.getId().equals(fileInfo.getOwnerId())){
+ casePerson.setFileInfoList(fileInfo.getFileList());
+ }
+ }
+ }
+ for(CaseAgent caseAgent: caseAgentList){
+ for(FileIdTypeInfoBaseDTO fileInfo: fileInfoList){
+ if(caseAgent.getId().equals(fileInfo.getOwnerId())){
+ caseAgent.setFileInfoList(fileInfo.getFileList());
+ }
+ }
+ }
+ caseInfoDTO.setPersonList(casePersonList);
+ caseInfoDTO.setAgentList(caseAgentList);
+ }
+ return caseInfoDTO;
+ }
+
+ /**
+ * 绑定当事人小程序
+ * @param casePerson 当事人信息
+ */
+ public void setPartyUserId(CasePerson casePerson) {
+ if (StringUtils.isEmpty(casePerson.getPartyUserId())) {
+ if (CaseBaseConstsEnum.CARD_TYPE_1.getIndex().equals(casePerson.getCertiType())) {
+ if (StringUtils.isNotEmpty(casePerson.getCertiNo())) {
+ WechatBindCaseDTO wechatBindCaseDTO = new WechatBindCaseDTO();
+ if (CaseBaseConstsEnum.PERSON_CLASS_1.getIndex().equals(casePerson.getPerClass())) {
+ wechatBindCaseDTO.setTrueName(casePerson.getTrueName());
+ } else {
+ wechatBindCaseDTO.setTrueName(casePerson.getDeputy());
+ }
+ wechatBindCaseDTO.setIdcard(casePerson.getCertiNo());
+ wechatBindCaseDTO.setCustId(casePerson.getCustId());
+ String partyUserId = custClient.bindGetUserId(wechatBindCaseDTO);
+ casePerson.setPartyUserId(partyUserId);
+ }
+ }
+ }
+ }
+
+ /**
+ * 绑定当事人小程序
+ * @param caseAgent 代理人人信息
+ */
+ public void setPartyUserId(CaseAgent caseAgent){
+ if (StringUtils.isEmpty(caseAgent.getPartyUserId())) {
+ if (CaseBaseConstsEnum.CARD_TYPE_1.getIndex().equals(caseAgent.getCertiType())) {
+ if (StringUtils.isNotEmpty(caseAgent.getCertiNo())) {
+ WechatBindCaseDTO wechatBindCaseDTO = new WechatBindCaseDTO();
+ wechatBindCaseDTO.setTrueName(caseAgent.getTrueName());
+ wechatBindCaseDTO.setIdcard(caseAgent.getCertiNo());
+ wechatBindCaseDTO.setCustId(caseAgent.getCustId());
+ String partyUserId = custClient.bindGetUserId(wechatBindCaseDTO);
+ caseAgent.setPartyUserId(partyUserId);
+ }
+ }
+ }
}
}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoUnfoldService.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoUnfoldService.java
index abde617..bccd552 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoUnfoldService.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoUnfoldService.java
@@ -3,9 +3,13 @@
import cn.huge.base.common.exception.ServiceException;
import cn.huge.base.common.utils.DateUtils;
import cn.huge.base.common.utils.IdUtils;
+import cn.huge.module.cases.domain.po.CaseInfo;
+import cn.huge.module.client.api.impl.CustClientImpl;
import cn.huge.module.client.api.impl.UtilsClientImpl;
import cn.huge.module.cases.dao.mapper.CaseInfoUnfoldMapper;
import cn.huge.module.cases.domain.po.CaseInfoUnfold;
+import cn.huge.module.cust.dto.CtUserDTO;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -18,6 +22,7 @@
import javax.annotation.PostConstruct;
import java.util.Date;
+import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -39,6 +44,9 @@
@Autowired
private UtilsClientImpl utilsClient;
+
+ @Autowired
+ private CustClientImpl custClient;
/**
* 更新对象
@@ -130,4 +138,25 @@
}
}
+ /**
+ * PC端-选择经办人
+ * @param caseId 对象
+ * @param userId 条件
+ */
+ public void choosePrincipal(String caseId, String userId){
+ try{
+ // 获取当前登录用户
+ CtUserDTO loginUser = custClient.clientGetUserAll(userId);
+ CaseInfoUnfold CaseInfoUnfold = new CaseInfoUnfold();
+ CaseInfoUnfold.setMediatorId(loginUser.getId());
+ CaseInfoUnfold.setMediator(loginUser.getTrueName());
+ CaseInfoUnfold.setMediatorMobile(loginUser.getMobile());
+ Map<String, Object> terms = new HashMap<>();
+ terms.put("case_id", caseId);
+ mapper.updateCaseInfoUnfoldTerms(CaseInfoUnfold, terms);
+ }catch (Exception e){
+ log.error("[CaseInfoUnfoldService.choosePrincipal]调用失败,异常信息:"+e, e);
+ throw new ServiceException("CaseInfoUnfoldService.choosePrincipal", e);
+ }
+ }
}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CasePersonService.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CasePersonService.java
index 6d2ac85..9f99be6 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CasePersonService.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CasePersonService.java
@@ -3,9 +3,12 @@
import cn.huge.base.common.exception.ServiceException;
import cn.huge.base.common.utils.DateUtils;
import cn.huge.base.common.utils.IdUtils;
+import cn.huge.base.common.utils.ObjectUtils;
+import cn.huge.module.cases.domain.po.CaseAgent;
import cn.huge.module.client.api.impl.UtilsClientImpl;
import cn.huge.module.cases.dao.mapper.CasePersonMapper;
import cn.huge.module.cases.domain.po.CasePerson;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseSuperviseService.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseSuperviseService.java
new file mode 100644
index 0000000..5bd8845
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseSuperviseService.java
@@ -0,0 +1,221 @@
+package cn.huge.module.cases.service;
+
+import cn.huge.base.common.exception.ServiceException;
+import cn.huge.base.common.utils.DateUtils;
+import cn.huge.base.common.utils.IdUtils;
+import cn.huge.module.client.api.impl.CustClientImpl;
+import cn.huge.module.client.api.impl.SysClientImpl;
+import cn.huge.module.client.api.impl.UtilsClientImpl;
+import cn.huge.module.cases.dao.mapper.CaseSuperviseMapper;
+import cn.huge.module.cases.domain.po.CaseSupervise;
+import cn.huge.module.cust.dto.CtUserDTO;
+import cn.huge.module.sys.constant.FileOwnerTypeBaseEnum;
+import cn.huge.module.sys.constant.SyTimeEnum;
+import cn.huge.module.sys.dto.FileIdTypeInfoBaseDTO;
+import cn.huge.module.sys.dto.FileInfoBaseDTO;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.PageImpl;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.PostConstruct;
+import java.util.*;
+import java.util.stream.Collectors;
+
+/**
+ * @title: 纠纷督办信息表业务逻辑处理
+ * @Description 纠纷督办信息表业务逻辑处理
+ * @company hugeinfo
+ * @author wangwh
+ * @Time 2024-09-03 10:53:01
+ * @version 1.0.0
+ */
+@Slf4j
+@Service
+@Transactional(rollbackFor = Exception.class)
+public class CaseSuperviseService extends ServiceImpl<CaseSuperviseMapper, CaseSupervise>{
+
+ @Autowired
+ private CaseSuperviseMapper mapper;
+
+ @Autowired
+ private UtilsClientImpl utilsClient;
+
+ @Autowired
+ private CustClientImpl custClient;
+
+ @Autowired
+ private SysClientImpl sysClient;
+
+ /**
+ * 条件更新对象
+ * @param entity 对象
+ * @param terms 条件
+ */
+ public void updateCaseSuperviseTerms(CaseSupervise entity, Map<String, Object> terms){
+ try{
+ mapper.updateCaseSuperviseTerms(entity, terms);
+ }catch (Exception e){
+ log.error("[CaseSuperviseService.updateCaseSuperviseTerms]调用失败,异常信息:"+e, e);
+ throw new ServiceException("CaseSuperviseService.updateCaseSuperviseTerms", e);
+ }
+ }
+
+ /**
+ * 根据编号物理删除
+ * @param id 查询条件集合
+ */
+ public void deleteCaseSupervise(String id){
+ try{
+ mapper.deleteCaseSupervise(id);
+ }catch (Exception e){
+ log.error("[CaseSuperviseService.deleteCaseSupervise]调用失败,异常信息:"+e, e);
+ throw new ServiceException("CaseSuperviseService.deleteCaseSupervise", e);
+ }
+ }
+
+ /**
+ * 按条件查询
+ * @param terms 条件
+ * @return List
+ */
+ public List<CaseSupervise> listTerms(Map<String, Object> terms){
+ return mapper.listTerms(terms);
+ }
+
+ /**
+ * 按条件统计
+ * @param terms 条件
+ * @return long
+ */
+ public long countTerms(Map<String, Object> terms){
+ return mapper.countTerms(terms);
+ }
+
+ /**
+ * 按条件分页查询
+ * @param page 分页对象
+ * @param terms 条件
+ * @return Page
+ */
+ public Page<CaseSupervise> pageQuery(PageRequest page, Map<String, Object> terms){
+ long total = mapper.countTerms(terms);
+ List<CaseSupervise> content = mapper.pageTerms(page, terms);
+ return new PageImpl<CaseSupervise>(content, page, total);
+ }
+
+ /**
+ * 新增或更新对象
+ * @param caseSupervise 实体对象
+ */
+ public void saveCaseSupervise(CaseSupervise caseSupervise){
+ try{
+ Date nowDate = DateUtils.getNowDate();
+ // 判断是否新增
+ if (IdUtils.checkNewId(caseSupervise.getId())){
+ caseSupervise.setId(utilsClient.getNewTimeId());
+ caseSupervise.setCreateTime(nowDate);
+ }
+ caseSupervise.setUpdateTime(nowDate);
+ this.saveOrUpdate(caseSupervise);
+ }catch (Exception e){
+ log.error("[CaseSuperviseService.saveCaseSupervise]调用失败,异常信息:"+e, e);
+ throw new ServiceException("CaseSuperviseService.saveCaseSupervise", e);
+ }
+ }
+
+ /**
+ * 添加督办
+ * @param caseSupervise 实体对象
+ * @param userId 用户信息编号
+ */
+ public void addCaseSupervise(CaseSupervise caseSupervise, String userId){
+ try{
+ // 获取当前登录用户
+ CtUserDTO loginUser = custClient.clientGetUserAll(userId);
+ Date nowDate = DateUtils.getNowDate();
+ caseSupervise.setSupUserId(loginUser.getId());
+ caseSupervise.setSupUserName(loginUser.getTrueName());
+ caseSupervise.setSupTime(nowDate);
+ caseSupervise.setSupStatus(0);
+ caseSupervise.setCreateTime(nowDate);
+ caseSupervise.setUpdateTime(nowDate);
+ //todo 配置时限
+ Integer timeTerm = sysClient.getTimeLimit("dyh_case_supervise", SyTimeEnum.SY_TIME_03.getIndex());
+ caseSupervise.setReplyTerm(timeTerm);
+ this.save(caseSupervise);
+ }catch (Exception e){
+ log.error("[CaseSuperviseService.saveCaseSupervise]调用失败,异常信息:"+e, e);
+ throw new ServiceException("CaseSuperviseService.saveCaseSupervise", e);
+ }
+ }
+
+ /**
+ * 回复督办
+ * @param caseSupervise 对象
+ */
+ public void replyCaseSupervise(CaseSupervise caseSupervise, String userId){
+ try{
+ // 获取当前登录用户
+ CtUserDTO loginUser = custClient.clientGetUserAll(userId);
+ Date now = DateUtils.getNowDate();
+ caseSupervise.setSupStatus(1);
+ caseSupervise.setReplyUserId(loginUser.getId());
+ caseSupervise.setReplyUserName(loginUser.getTrueName());
+ caseSupervise.setReplyTime(String.valueOf(now));
+ caseSupervise.setUpdateTime(now);
+ mapper.updateCaseSupervise(caseSupervise);
+ }catch (Exception e){
+ log.error("[CaseSuperviseService.replyCaseSupervise]调用失败,异常信息:"+e, e);
+ throw new ServiceException("CaseSuperviseService.replyCaseSupervise", e);
+ }
+ }
+
+ /**
+ * 流转办理-督办列表
+ * @param caseId 事项Id
+ */
+ public Map<String, Object> listCaseSupervise(String caseId){
+ try{
+ List<CaseSupervise> repliedList = new ArrayList<>();
+ List<CaseSupervise> noReplyList = new ArrayList<>();
+ QueryWrapper<CaseSupervise> caseSuperviseQueryWrapper = new QueryWrapper<>();
+ caseSuperviseQueryWrapper.eq("case_id", caseId);
+ List<CaseSupervise> caseSuperviseList = mapper.selectList(caseSuperviseQueryWrapper);
+
+ Map<String, Object>map = new HashMap<>();
+ map.put("ownerIds", caseSuperviseList.stream().map(CaseSupervise::getId).collect(Collectors.joining("','")));
+ map.put("types", FileOwnerTypeBaseEnum.OWNER_TYPE_506.getIndex());
+ List<FileIdTypeInfoBaseDTO> fileIdTypeInfoBaseDTOList = sysClient.listIdTypeInfoByOwnerIdList(map, caseId);
+ for(CaseSupervise caseSupervise: caseSuperviseList){
+ for(FileIdTypeInfoBaseDTO fileIdTypeInfoBaseDTO: fileIdTypeInfoBaseDTOList){
+ if(caseSupervise.getId().equals(fileIdTypeInfoBaseDTO.getOwnerId())){
+ caseSupervise.setFileInfoList(fileIdTypeInfoBaseDTO.getFileList());
+ }
+ }
+ if(0 == caseSupervise.getSupStatus()){
+ noReplyList.add(caseSupervise);
+ }else if(1 == caseSupervise.getSupStatus()){
+ repliedList.add(caseSupervise);
+ }
+ }
+ int count = noReplyList.size();
+ Map<String, Object> result = new HashMap<>();
+ result.put("count", count);
+ result.put("noReplyList", noReplyList);
+ result.put("repliedList", repliedList);
+ return result;
+ }catch (Exception e){
+ log.error("[CaseSuperviseService.listCaseSupervise]调用失败,异常信息:"+e, e);
+ throw new ServiceException("CaseSuperviseService.listCaseSupervise", e);
+ }
+ }
+
+
+}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/CustClient.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/CustClient.java
index e3380e9..04fbe98 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/CustClient.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/CustClient.java
@@ -1,8 +1,11 @@
package cn.huge.module.client.api;
import cn.huge.base.common.bo.ReturnBO;
+import cn.huge.module.mediate.dto.WechatBindCaseDTO;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
/**
@@ -43,4 +46,13 @@
@GetMapping("/api/client/paUser/clientGetUserAll")
ReturnBO paclientGetUser(@RequestParam("userId") String userId);
+ /**
+ * pc端提交案件后-获取相关当事人用户编号
+ * @url {ctx}/api/weChat/paUser/bindGetUserId
+ * @param wechatBindCaseDTO 实体对象
+ * @return ReturnBO
+ */
+ @PostMapping("/api/wechat/paUser/bindGetUserId")
+ ReturnBO bindGetUserId(@RequestBody WechatBindCaseDTO wechatBindCaseDTO);
+
}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/SysClient.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/SysClient.java
index 748a91d..535beed 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/SysClient.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/SysClient.java
@@ -1,10 +1,12 @@
package cn.huge.module.client.api;
import cn.huge.base.common.bo.ReturnBO;
+import cn.huge.module.sys.dto.FileTypeTermsDTO;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
import java.util.List;
+import java.util.Map;
/**
* @title: 系统公共服务微服务调用接口
@@ -19,18 +21,37 @@
/**
* 附件中心-根据多个所属编号查询附件并根据先根据ownerId再根据附件类型分组
* @url {ctx}/api/v1/fileInfo/listTypeInfoByOwnerIds?ownerIds=
- * @param ownerIdList 所属业务编号
+ * @param term 所属业务编号
* @return ReturnBO
*/
- @GetMapping("/api/client/fileInfo/listIdTypeInfoByOwnerIdList")
- ReturnBO listTypeInfoByOwnerIdList(@RequestParam(value = "ownerIdList") List<String> ownerIdList);
+ @PostMapping("/api/client/fileInfo/listIdTypeInfoByOwnerIdList")
+ ReturnBO listTypeInfoByOwnerIdList(@RequestBody Map<String, Object> term, @RequestParam(value = "mainId") String mainId);
/**
* 附件中心-根据多个所属编号查询附件
* @url {ctx}/api/v1/fileInfo/listInfoByOwnerIdList?ownerIds=
- * @param ownerIdList 所属业务编号
+ * @param term 所属业务编号
* @return ReturnBO
*/
- @GetMapping("/api/client/fileInfo/listInfoByOwnerIdList")
- ReturnBO listInfoByOwnerIdList(@RequestParam(value = "ownerIdList") List<String> ownerIdList);
+ @PostMapping("/api/client/fileInfo/listInfoByOwnerIdList")
+ ReturnBO listInfoByOwnerIdList(@RequestBody Map<String, Object> term, @RequestParam(value = "mainId") String mainId);
+
+ /**
+ * 附件中心-根据多个所属编号查询附件
+ * @url {ctx}/api/v1/fileInfo/listInfoByOwnerIdList?ownerIds=
+ * @param limitTable 表名
+ * @param limitType 时限类型
+ * @return ReturnBO
+ */
+ @GetMapping("/api/client/syTimeLimit/getTimeLimit")
+ ReturnBO getTimeLimit(@RequestParam String limitTable, @RequestParam(value = "limitType") String limitType);
+
+ /**
+ * 根据条件删除附件关系
+ * @url {ctx}/api/v1/fileRelate/removeFileRelate
+ * @param fileTypeTermsDTO 条件
+ * @return Object
+ */
+ @PostMapping("/api/client/fileRelate/removeFileRelate")
+ ReturnBO removeFileRelate(@RequestBody FileTypeTermsDTO fileTypeTermsDTO);
}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/impl/CustClientImpl.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/impl/CustClientImpl.java
index c46758a..da1fda0 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/impl/CustClientImpl.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/impl/CustClientImpl.java
@@ -8,6 +8,7 @@
import cn.huge.module.client.api.CustClient;
import cn.huge.module.cust.dto.CtUserDTO;
import cn.huge.module.cust.dto.PaUserDTO;
+import cn.huge.module.mediate.dto.WechatBindCaseDTO;
import com.alibaba.fastjson.JSON;
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.extern.slf4j.Slf4j;
@@ -106,4 +107,23 @@
}
}
+ /**
+ * pc端提交案件后-获取相关当事人用户编号
+ * @param wechatBindCaseDTO 实体对象
+ * @return ReturnBO
+ */
+ public String bindGetUserId(WechatBindCaseDTO wechatBindCaseDTO){
+ String userId = null;
+ try{
+ ReturnBO returnBo = custClient.bindGetUserId(wechatBindCaseDTO);
+ if (ReturnConsts.OK == returnBo.getCode()){
+ userId = (String) returnBo.getData();
+ }else{
+ log.error("Client外服务接口[CustClientImpl.bindGetUserId]请求异常:" + returnBo.getMsg(), returnBo.getMsg());
+ }
+ }catch (Exception e){
+ log.error("service方法[CustClientImpl.bindGetUserId]调用异常:"+e, e);
+ }
+ return userId;
+ }
}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/impl/SysClientImpl.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/impl/SysClientImpl.java
index ab04871..41184fc 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/impl/SysClientImpl.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/impl/SysClientImpl.java
@@ -6,10 +6,7 @@
import cn.huge.base.common.exception.ServiceException;
import cn.huge.base.common.utils.ObjectUtils;
import cn.huge.module.client.api.SysClient;
-import cn.huge.module.sys.dto.FileIdInfoBaseDTO;
-import cn.huge.module.sys.dto.FileIdTypeInfoBaseDTO;
-import cn.huge.module.sys.dto.FileInfoBaseDTO;
-import cn.huge.module.sys.dto.FileTypeInfoBaseDTO;
+import cn.huge.module.sys.dto.*;
import com.alibaba.fastjson.JSON;
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.extern.slf4j.Slf4j;
@@ -20,6 +17,7 @@
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
+import java.util.Map;
/**
* @title: 系统公共服务微服务调用接口
@@ -47,13 +45,13 @@
/**
* 附件中心-根据多个所属编号查询附件并根据先根据ownerId再根据附件类型分组
- * @param ownerIdList 所属业务编号
+ * @param term 所属业务编号
* @return List
*/
- public List<FileIdTypeInfoBaseDTO> listIdTypeInfoByOwnerIdList(List<String> ownerIdList){
+ public List<FileIdTypeInfoBaseDTO> listIdTypeInfoByOwnerIdList(Map<String, Object> term, String mainId){
List<FileIdTypeInfoBaseDTO> fileIdTypeInfoBaseDTOList = new ArrayList<>();
try{
- ReturnBO returnBo = sysClient.listTypeInfoByOwnerIdList(ownerIdList);
+ ReturnBO returnBo = sysClient.listTypeInfoByOwnerIdList(term, mainId);
if (ReturnConsts.OK == returnBo.getCode()){
if (ObjectUtils.isNotEmpty(returnBo.getData())){
List<LinkedHashMap> list = (List<LinkedHashMap>) returnBo.getData();
@@ -71,13 +69,13 @@
/**
* 附件中心-根据业务编号查询固定格式所有附件
- * @param ownerIdList 所属业务编号
+ * @param term 所属业务编号
* @return List
*/
- public List<FileIdInfoBaseDTO> listIdInfoByOwnerIdList(List<String> ownerIdList){
+ public List<FileIdInfoBaseDTO> listIdInfoByOwnerIdList(Map<String, Object> term, String mainId){
List<FileIdInfoBaseDTO> fileIdInfoBaseDTOList = new ArrayList<>();
try{
- ReturnBO returnBo = sysClient.listInfoByOwnerIdList(ownerIdList);
+ ReturnBO returnBo = sysClient.listInfoByOwnerIdList(term, mainId);
if (ReturnConsts.OK == returnBo.getCode()){
if (ObjectUtils.isNotEmpty(returnBo.getData())){
List<LinkedHashMap> list = (List<LinkedHashMap>) returnBo.getData();
@@ -92,4 +90,41 @@
}
return fileIdInfoBaseDTOList;
}
+
+ /**
+ * 附件中心-根据业务编号查询固定格式所有附件
+ * @param limitTable 表名
+ * @param limitType 时限类型
+ * @return List
+ */
+ public Integer getTimeLimit(String limitTable, String limitType){
+ int timeTerm = 0;
+ try{
+ ReturnBO returnBo = sysClient.getTimeLimit(limitTable, limitType);
+ if (ReturnConsts.OK == returnBo.getCode()){
+ if (ObjectUtils.isNotEmpty(returnBo.getData())){
+ timeTerm = (int)returnBo.getData();
+ }
+ }
+ }catch (Exception e){
+ log.error("service方法[SysClientImpl.listIdInfoByOwnerIdList]调用异常:"+e, e);
+ }
+ return timeTerm;
+ }
+
+ /**
+ * 根据条件删除附件关系
+ * @param fileTypeTermsDTO 条件
+ * @return Object
+ */
+ public void removeFileRelate(FileTypeTermsDTO fileTypeTermsDTO) {
+ try {
+ ReturnBO returnBo = sysClient.removeFileRelate(fileTypeTermsDTO);
+ if (ReturnConsts.OK != returnBo.getCode()){
+ log.error("Client外服务接口[SysClientImpl.removeFileRelate]请求异常:" + returnBo.getMsg(), returnBo.getMsg());
+ }
+ } catch (Exception e) {
+ log.error("service方法[SysClientImpl.removeFileRelate]请求异常:"+e, e);
+ }
+ }
}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/draft/controller/web/CasedraftAgentWebController.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/draft/controller/web/CasedraftAgentWebController.java
index 1a261cb..ce3b076 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/draft/controller/web/CasedraftAgentWebController.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/draft/controller/web/CasedraftAgentWebController.java
@@ -58,6 +58,16 @@
if (StringUtils.isNotBlank(partyUserId)){
terms.put("partyUserId", partyUserId);
}
+ // 当事人地位
+ String perType = request.getParameter("perType");
+ if (StringUtils.isNotBlank(perType)){
+ terms.put("perType", perType);
+ }
+ // 当事人地位名称
+ String perTypeName = request.getParameter("perTypeName");
+ if (StringUtils.isNotBlank(perTypeName)){
+ terms.put("perTypeName", perTypeName);
+ }
// 代理人类型
String perClass = request.getParameter("perClass");
if (StringUtils.isNotBlank(perClass)){
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/draft/controller/web/CasedraftInfoWebController.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/draft/controller/web/CasedraftInfoWebController.java
index 9ceccdd..522867e 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/draft/controller/web/CasedraftInfoWebController.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/draft/controller/web/CasedraftInfoWebController.java
@@ -426,8 +426,8 @@
}
/**
- * PC端-纠纷登记-草稿箱-保存纠纷信息
- * @url {ctx}/api/v1/casedraftInfo/caseDraftRegister
+ * PC端-纠纷登记-保存纠纷信息草稿
+ * @url {ctx}/api/web/casedraftInfo/caseDraftRegister
* @param draftRegisterSaveDTO 实体对象
*/
@PostMapping("/caseDraftRegister")
@@ -439,4 +439,19 @@
return ReturnFailUtils.getRepInfo(e.getMessage());
}
}
+
+ /**
+ * PC端-正式案件-查询纠纷信息草稿
+ * @url {ctx}/api/web/casedraftInfo/getCasedraftInfo?id=
+ * @param id 纠纷编号
+ * @return Object
+ */
+ @GetMapping("/getCasedraftInfo")
+ public Object getCasedraftInfo(@RequestParam(value = "id") String id) {
+ try {
+ return ReturnSucUtils.getRepInfo(service.getCasedraftInfo(id));
+ } catch (Exception e) {
+ return ReturnFailUtils.getRepInfo(e.getMessage());
+ }
+ }
}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/draft/dao/mapper/xml/CasedraftAgentMapper.xml b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/draft/dao/mapper/xml/CasedraftAgentMapper.xml
index 679e0c1..fcf10f5 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/draft/dao/mapper/xml/CasedraftAgentMapper.xml
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/draft/dao/mapper/xml/CasedraftAgentMapper.xml
@@ -14,6 +14,8 @@
<result property="id" column="id"/>
<result property="caseId" column="case_id"/>
<result property="partyUserId" column="party_user_id"/>
+ <result property="perType" column="per_type"/>
+ <result property="perTypeName" column="per_type_name"/>
<result property="perClass" column="per_class"/>
<result property="perClassName" column="per_class_name"/>
<result property="trueName" column="true_name"/>
@@ -71,6 +73,8 @@
id,
case_id,
party_user_id,
+ per_type,
+ per_type_name,
per_class,
per_class_name,
true_name,
@@ -125,6 +129,8 @@
<sql id="set-part">
<if test="entity.caseId != null">case_id = #{entity.caseId},</if>
<if test="entity.partyUserId != null">party_user_id = #{entity.partyUserId},</if>
+ <if test="entity.perType != null">per_type = #{entity.perType},</if>
+ <if test="entity.perTypeName != null">per_type_name = #{entity.perTypeName},</if>
<if test="entity.perClass != null">per_class = #{entity.perClass},</if>
<if test="entity.perClassName != null">per_class_name = #{entity.perClassName},</if>
<if test="entity.trueName != null">true_name = #{entity.trueName},</if>
@@ -188,6 +194,12 @@
<if test="terms.partyUserId != null and terms.partyUserId !=''">
and party_user_id = #{terms.partyUserId}
</if>
+ <if test="terms.perType != null and terms.perType !=''">
+ and per_type = #{terms.perType}
+ </if>
+ <if test="terms.perTypeName != null and terms.perTypeName !=''">
+ and per_type_name = #{terms.perTypeName}
+ </if>
<if test="terms.perClass != null and terms.perClass !=''">
and per_class = #{terms.perClass}
</if>
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/draft/domain/dto/CasedraftInfoDTO.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/draft/domain/dto/CasedraftInfoDTO.java
new file mode 100644
index 0000000..90f7371
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/draft/domain/dto/CasedraftInfoDTO.java
@@ -0,0 +1,47 @@
+package cn.huge.module.draft.domain.dto;
+
+import cn.huge.module.cases.domain.po.CaseAgent;
+import cn.huge.module.cases.domain.po.CaseInfo;
+import cn.huge.module.cases.domain.po.CasePerson;
+import cn.huge.module.draft.domain.po.CasedraftAgent;
+import cn.huge.module.draft.domain.po.CasedraftPerson;
+import cn.huge.module.sys.dto.FileTypeInfoBaseDTO;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @title: 纠纷信息数据传输对象
+ * @description: 纠纷信息数据传输对象
+ * @company: hugeinfo
+ * @author: liyj
+ * @time: 2022-03-11 11:43:25
+ * @version: 1.0.0
+ * @see CaseInfo
+ */
+@Data
+public class CasedraftInfoDTO extends CaseInfo {
+
+ /**
+ * 申请人列表
+ */
+ private List<CasedraftPerson> personList;
+
+ /**
+ * 申请人代理人列表
+ */
+ private List<CasedraftAgent> agentList;
+
+ /**
+ * 附件列表
+ */
+ private List<FileTypeInfoBaseDTO> fileInfoList;
+
+
+ /**
+ * 相关附件数量
+ */
+ private Integer fileSize;
+
+
+}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/draft/domain/dto/DraftRegisterSaveDTO.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/draft/domain/dto/DraftRegisterSaveDTO.java
index 4b4c137..d875e5e 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/draft/domain/dto/DraftRegisterSaveDTO.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/draft/domain/dto/DraftRegisterSaveDTO.java
@@ -23,37 +23,12 @@
public class DraftRegisterSaveDTO extends CasedraftInfo {
/**
- * 申请人列表
+ * 当事人列表
*/
- private List<CasedraftPerson> plaintiffList;
+ private List<CasedraftPerson> personList;
/**
- * 申请人代理人列表
+ * 当事人代理人列表
*/
- private List<CasedraftAgent> pagentList;
-
- /**
- * 被申请人列表
- */
- private List<CasedraftPerson> defendantList;
-
- /**
- * 被申请人代理人列表
- */
- private List<CasedraftAgent> dagentList;
-
- /**
- * 调解组织类型,1:本单位调解,2:本单位人调解,3:其他单位调解
- */
- private String mediateUnitType;
-
- /**
- * 自行受理标识,0:不是,1:是
- */
- private Integer isSelfAccept;
-
- /**
- * 是否是草稿提交,0:不是,1:是
- */
- private Integer isDraft;
+ private List<CasedraftAgent> agentList;
}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/draft/domain/po/CasedraftAgent.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/draft/domain/po/CasedraftAgent.java
index 0400a33..405e056 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/draft/domain/po/CasedraftAgent.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/draft/domain/po/CasedraftAgent.java
@@ -1,5 +1,6 @@
package cn.huge.module.draft.domain.po;
+import cn.huge.module.sys.dto.FileTypeInfoBaseDTO;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
@@ -7,6 +8,7 @@
import lombok.Data;
import java.util.Date;
+import java.util.List;
/**
* @title: 纠纷代理人信息草稿表数据库对应关系类
@@ -37,6 +39,18 @@
*/
@TableField(value = "party_user_id")
private String partyUserId;
+
+ /**
+ * 当事人地位
+ */
+ @TableField(value = "per_type")
+ private String perType;
+
+ /**
+ * 当事人地位名称
+ */
+ @TableField(value = "per_type_name")
+ private String perTypeName;
/**
* 代理人类型
@@ -332,4 +346,9 @@
@TableField(value = "update_time")
private Date updateTime;
+ /**
+ * 附件列表
+ */
+ @TableField(exist = false)
+ private List<FileTypeInfoBaseDTO> fileInfoList;
}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/draft/domain/po/CasedraftInfo.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/draft/domain/po/CasedraftInfo.java
index a3549cd..743f726 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/draft/domain/po/CasedraftInfo.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/draft/domain/po/CasedraftInfo.java
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
@@ -47,6 +48,7 @@
/**
* 来访时间
*/
+ @JsonFormat(pattern="yyyy-MM-dd HH:mm", timezone="GMT+8")
@TableField(value = "visit_time")
private Date visitTime;
@@ -95,6 +97,7 @@
/**
* 纠纷发生时间
*/
+ @JsonFormat(pattern="yyyy-MM-dd HH:mm", timezone="GMT+8")
@TableField(value = "occur_time")
private Date occurTime;
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/draft/domain/po/CasedraftPerson.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/draft/domain/po/CasedraftPerson.java
index 1f5f320..c921549 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/draft/domain/po/CasedraftPerson.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/draft/domain/po/CasedraftPerson.java
@@ -1,5 +1,6 @@
package cn.huge.module.draft.domain.po;
+import cn.huge.module.sys.dto.FileTypeInfoBaseDTO;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
@@ -7,6 +8,7 @@
import lombok.Data;
import java.util.Date;
+import java.util.List;
/**
* @title: 纠纷当事人信息草稿表数据库对应关系类
@@ -338,4 +340,9 @@
@TableField(value = "update_time")
private Date updateTime;
+ /**
+ * 附件列表
+ */
+ @TableField(exist = false)
+ private List<FileTypeInfoBaseDTO> fileInfoList;
}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/draft/service/CasedraftInfoService.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/draft/service/CasedraftInfoService.java
index 9280c3c..bc8765b 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/draft/service/CasedraftInfoService.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/draft/service/CasedraftInfoService.java
@@ -3,18 +3,27 @@
import cn.huge.base.common.exception.ServiceException;
import cn.huge.base.common.utils.DateUtils;
import cn.huge.base.common.utils.IdUtils;
+import cn.huge.base.common.utils.ObjectUtils;
+import cn.huge.module.cases.domain.dto.CaseInfoDTO;
+import cn.huge.module.cases.domain.dto.RegisterSaveDTO;
+import cn.huge.module.cases.domain.po.CaseAgent;
+import cn.huge.module.cases.domain.po.CaseInfo;
import cn.huge.module.cases.domain.po.CaseInfoUnfold;
import cn.huge.module.client.api.impl.CustClientImpl;
+import cn.huge.module.client.api.impl.SysClientImpl;
import cn.huge.module.client.api.impl.UtilsClientImpl;
import cn.huge.module.constant.BaseConsts;
import cn.huge.module.mediate.constant.CaseBaseConsts;
import cn.huge.module.mediate.constant.CaseBaseConstsEnum;
import cn.huge.module.cust.dto.CtUserDTO;
import cn.huge.module.draft.dao.mapper.CasedraftInfoMapper;
+import cn.huge.module.draft.domain.dto.CasedraftInfoDTO;
import cn.huge.module.draft.domain.dto.DraftRegisterSaveDTO;
import cn.huge.module.draft.domain.po.CasedraftAgent;
import cn.huge.module.draft.domain.po.CasedraftInfo;
import cn.huge.module.draft.domain.po.CasedraftPerson;
+import cn.huge.module.sys.dto.FileIdTypeInfoBaseDTO;
+import cn.huge.module.sys.dto.FileTypeTermsDTO;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.commons.collections.CollectionUtils;
@@ -28,10 +37,8 @@
import org.springframework.data.domain.PageRequest;
import org.springframework.transaction.annotation.Transactional;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
+import java.util.stream.Collectors;
/**
* @title: 纠纷信息草稿表业务逻辑处理
@@ -60,6 +67,9 @@
@Autowired
private CustClientImpl custClient;
+
+ @Autowired
+ private SysClientImpl sysClient;
/**
* 更新对象
@@ -167,28 +177,18 @@
StringBuffer defendants = new StringBuffer();
StringBuffer pagents = new StringBuffer();
StringBuffer dagents = new StringBuffer();
- int peopleNum = 0;
CasedraftInfo casedraftInfo = new CasedraftInfo();
- CaseInfoUnfold caseInfoUnfold = new CaseInfoUnfold();
BeanUtils.copyProperties(draftRegisterSaveDTO, casedraftInfo);
- casedraftInfo.setId(utilsClient.getNewTimeId());
- casedraftInfo.setInputUnitId(loginUser.getUnitId());
- casedraftInfo.setInputUnitName(loginUser.getUnitName());
- casedraftInfo.setInputUserId(loginUser.getId());
- casedraftInfo.setInputUserName(loginUser.getTrueName());
- casedraftInfo.setInputWay(CaseBaseConsts.INPUT_WAY_1);
- casedraftInfo.setCreateTime(nowDate);
+ casedraftInfo.setCustId(loginUser.getCustId());
casedraftInfo.setUpdateTime(nowDate);
- //todo case_title
-
// 常规登记-保存当事人
- peopleNum += this.saveCaseDraftPerson(draftRegisterSaveDTO, plaintiffs, pagents, defendants, dagents);
- casedraftInfo.setPeopleNum(peopleNum);
+ this.saveCaseDraftPerson(draftRegisterSaveDTO, plaintiffs, pagents, defendants, dagents);
casedraftInfo.setPlaintiffs(plaintiffs.toString());
casedraftInfo.setPagents(pagents.toString());
casedraftInfo.setDefendants(defendants.toString());
casedraftInfo.setDagents(dagents.toString());
+
this.saveOrUpdate(casedraftInfo);
@@ -208,123 +208,109 @@
* @param dagents 被申请人代理人
* @return int
*/
- private int saveCaseDraftPerson(DraftRegisterSaveDTO draftRegisterSaveDTO, StringBuffer plaintiffs, StringBuffer pagents,
- StringBuffer defendants, StringBuffer dagents){
- int peopleNum = 0;
- List<String> newDraftPersonIdList = new ArrayList<>();
- List<String> newDraftAgentIdList = new ArrayList<>();
- // 保存申请人
- List<CasedraftPerson> plaintPersonList = draftRegisterSaveDTO.getPlaintiffList();
- if (CollectionUtils.isNotEmpty(plaintPersonList)) {
- for (CasedraftPerson casedraftPerson : plaintPersonList) {
- newDraftPersonIdList.add(casedraftPerson.getId());
+ private void saveCaseDraftPerson(DraftRegisterSaveDTO draftRegisterSaveDTO, StringBuffer plaintiffs, StringBuffer pagents,
+ StringBuffer defendants, StringBuffer dagents){
+
+ Date now = DateUtils.getNowDate();
+
+ List<CasedraftPerson> casedraftPersonList = draftRegisterSaveDTO.getPersonList();
+ List<CasedraftAgent> casedraftAgentList = draftRegisterSaveDTO.getAgentList();
+
+ //查出已存在的当事人和代理人编号
+ List<String> oldPersonIdList = draftPersonService.listIdByCaseId(draftRegisterSaveDTO.getId());
+ List<String> oldAgentIdList = draftAgentService.listIdByCaseId(draftRegisterSaveDTO.getId());
+ String oldPersonIds = oldPersonIdList.stream().map(String::valueOf).collect(Collectors.joining(","));
+ String oldAgentIds = oldAgentIdList.stream().map(String::valueOf).collect(Collectors.joining(","));
+ List<String> newPersonIdList = new ArrayList<>();
+ List<String> newAgentIdList = new ArrayList<>();
+
+ if(CollectionUtils.isNotEmpty(casedraftPersonList)){
+ for(CasedraftPerson casedraftPerson: casedraftPersonList){
+ newPersonIdList.add(casedraftPerson.getId());
casedraftPerson.setCaseId(draftRegisterSaveDTO.getId());
- casedraftPerson.setPerType(CaseBaseConstsEnum.PERSON_TYPE_1.getIndex());
- casedraftPerson.setPerTypeName(CaseBaseConstsEnum.PERSON_TYPE_1.getDes());
casedraftPerson.setCustId(draftRegisterSaveDTO.getCustId());
- casedraftPerson.setCreateTime(draftRegisterSaveDTO.getUpdateTime());
- casedraftPerson.setUpdateTime(draftRegisterSaveDTO.getUpdateTime());
+ casedraftPerson.setUpdateTime(now);
- draftPersonService.saveOrUpdate(casedraftPerson);
-
- if (StringUtils.isNotEmpty(plaintiffs.toString())) {
- plaintiffs.append(BaseConsts.COMMA);
+ //添加申请方和被申请方人名组合
+ if(CaseBaseConstsEnum.PERSON_TYPE_1.equals(casedraftPerson.getPerType())){
+ //申请方
+ if (StringUtils.isNotEmpty(plaintiffs.toString())) {
+ plaintiffs.append(BaseConsts.COMMA);
+ }
+ plaintiffs.append(casedraftPerson.getTrueName());
+ }else if(CaseBaseConstsEnum.PERSON_TYPE_2.equals(casedraftPerson.getPerType())){
+ //被申请方
+ if (StringUtils.isNotEmpty(defendants.toString())) {
+ defendants.append(BaseConsts.COMMA);
+ }
+ defendants.append(casedraftPerson.getTrueName());
}
- plaintiffs.append(casedraftPerson.getTrueName());
- peopleNum++;
+
+ //判断是否为更新(用原有的Id对比性的Id)
+ if(oldPersonIds.contains(casedraftPerson.getId())){
+ draftPersonService.updateById(casedraftPerson);
+ }else{
+ casedraftPerson.setCreateTime(now);
+ draftPersonService.save(casedraftPerson);
+ }
}
- //保存代理人
- List<CasedraftAgent> pagentList = draftRegisterSaveDTO.getPagentList();
- if (CollectionUtils.isNotEmpty(pagentList)) {
- for(CasedraftAgent casedraftAgent: pagentList){
- newDraftAgentIdList.add(casedraftAgent.getId());
- casedraftAgent.setId(utilsClient.getNewTimeId());
- casedraftAgent.setCaseId(draftRegisterSaveDTO.getId());
- casedraftAgent.setAgentTypeName(CaseBaseConstsEnum.getDes(casedraftAgent.getAgentType()));
- casedraftAgent.setCustId(draftRegisterSaveDTO.getCustId());
- casedraftAgent.setCreateTime(draftRegisterSaveDTO.getUpdateTime());
- casedraftAgent.setUpdateTime(draftRegisterSaveDTO.getUpdateTime());
+ }
- draftAgentService.saveOrUpdate(casedraftAgent);
+ if(CollectionUtils.isNotEmpty(casedraftAgentList)) {
+ for (CasedraftAgent casedraftAgent : casedraftAgentList) {
+ newAgentIdList.add(casedraftAgent.getId());
+ casedraftAgent.setCaseId(draftRegisterSaveDTO.getId());
+ casedraftAgent.setAgentTypeName(CaseBaseConstsEnum.getDes(casedraftAgent.getAgentType()));
+ casedraftAgent.setCustId(draftRegisterSaveDTO.getCustId());
+ casedraftAgent.setUpdateTime(now);
+ if(CaseBaseConstsEnum.PERSON_TYPE_3.equals(casedraftAgent.getPerType())) {
if (StringUtils.isNotEmpty(pagents.toString())) {
pagents.append(BaseConsts.COMMA);
}
pagents.append(casedraftAgent.getTrueName());
- }
-
- //todo 绑定当事人小程序
- }
- }
- // 保存被申请人
- List<CasedraftPerson> defendPersonList = draftRegisterSaveDTO.getDefendantList();
- if(CollectionUtils.isNotEmpty(defendPersonList)){
- for (CasedraftPerson casedraftPerson : defendPersonList) {
- newDraftPersonIdList.add(casedraftPerson.getId());
- casedraftPerson.setCaseId(draftRegisterSaveDTO.getId());
- casedraftPerson.setPerType(CaseBaseConstsEnum.PERSON_TYPE_2.getIndex());
- casedraftPerson.setPerTypeName(CaseBaseConstsEnum.PERSON_TYPE_2.getDes());
- casedraftPerson.setCustId(draftRegisterSaveDTO.getCustId());
- casedraftPerson.setCreateTime(draftRegisterSaveDTO.getUpdateTime());
- casedraftPerson.setUpdateTime(draftRegisterSaveDTO.getUpdateTime());
- //todo 绑定当事人小程序
- draftPersonService.saveOrUpdate(casedraftPerson);
- if (StringUtils.isNotEmpty(defendants.toString())) {
- defendants.append(BaseConsts.COMMA);
- }
- defendants.append(casedraftPerson.getTrueName());
- peopleNum++;
- }
- //保存代理人
- List<CasedraftAgent> pagentList = draftRegisterSaveDTO.getPagentList();
- if (CollectionUtils.isNotEmpty(pagentList)) {
- for(CasedraftAgent casedraftAgent: pagentList){
- newDraftAgentIdList.add(casedraftAgent.getId());
- casedraftAgent.setId(utilsClient.getNewTimeId());
- casedraftAgent.setCaseId(draftRegisterSaveDTO.getId());
- casedraftAgent.setAgentTypeName(CaseBaseConstsEnum.getDes(casedraftAgent.getAgentType()));
- casedraftAgent.setCustId(draftRegisterSaveDTO.getCustId());
- casedraftAgent.setCreateTime(draftRegisterSaveDTO.getUpdateTime());
- casedraftAgent.setUpdateTime(draftRegisterSaveDTO.getUpdateTime());
- draftAgentService.saveOrUpdate(casedraftAgent);
+ }else if(CaseBaseConstsEnum.PERSON_TYPE_4.equals(casedraftAgent.getPerType())) {
if (StringUtils.isNotEmpty(dagents.toString())) {
dagents.append(BaseConsts.COMMA);
}
dagents.append(casedraftAgent.getTrueName());
}
- }
+ //判断是否为更新(用原有的Id对比性的Id)
+ if(oldAgentIds.contains(casedraftAgent.getId())){
+ draftAgentService.updateById(casedraftAgent);
+ }else{
+ casedraftAgent.setCreateTime(now);
+ draftAgentService.save(casedraftAgent);
+ }
+ }
}
- // 删除冗余的申请人
- if (CollectionUtils.isNotEmpty(newDraftPersonIdList)) {
- List<String> oldPersonIdList = draftPersonService.listIdByCaseId(draftRegisterSaveDTO.getId());
+ // 删除冗余的申请人(用新的Id对比旧的Id)
+ if (CollectionUtils.isNotEmpty(newPersonIdList)) {
for (String oldPersonId : oldPersonIdList) {
- if (!newDraftPersonIdList.contains(oldPersonId)) {
+ if (!newPersonIdList.contains(oldPersonId)) {
draftPersonService.removeById(oldPersonId);
}
}
}else{
- QueryWrapper<CasedraftPerson> casedraftPersonQueryWrapper = new QueryWrapper<>();
- casedraftPersonQueryWrapper.eq("case_id", draftRegisterSaveDTO.getId());
- draftPersonService.remove(casedraftPersonQueryWrapper);
+ QueryWrapper<CasedraftPerson> casePersonQueryWrapper = new QueryWrapper<>();
+ casePersonQueryWrapper.eq("case_id", draftRegisterSaveDTO.getId());
+ draftPersonService.remove(casePersonQueryWrapper);
}
//删除冗余的代理人
- if(CollectionUtils.isNotEmpty(newDraftAgentIdList)){
- List<String> oldAgentIdList = draftAgentService.listIdByCaseId(draftRegisterSaveDTO.getId());
+ if(CollectionUtils.isNotEmpty(newAgentIdList)){
for(String oldAgentId: oldAgentIdList){
- if(!newDraftAgentIdList.contains(oldAgentId)){
+ if(!newAgentIdList.contains(oldAgentId)){
draftAgentService.removeById(oldAgentId);
}
}
}else{
- QueryWrapper<CasedraftAgent> casedraftAgentQueryWrapper = new QueryWrapper<>();
- casedraftAgentQueryWrapper.eq("case_id", draftRegisterSaveDTO.getId());
- draftAgentService.remove(casedraftAgentQueryWrapper);
+ QueryWrapper<CasedraftAgent> caseAgentQueryWrapper = new QueryWrapper<>();
+ caseAgentQueryWrapper.eq("case_id", draftRegisterSaveDTO.getId());
+ draftAgentService.remove(caseAgentQueryWrapper);
}
-
- return peopleNum;
}
/**
@@ -336,7 +322,7 @@
try{
// 删除纠纷草稿信息
QueryWrapper<CasedraftInfo> queryWrapper = new QueryWrapper<>();
- queryWrapper.eq("serie_no", caseId);
+ queryWrapper.eq("id", caseId);
List<CasedraftInfo> draftInfoList = mapper.selectList(queryWrapper);
List<String> ownerIdList = new ArrayList<>();
for (CasedraftInfo casedraftInfo : draftInfoList) {
@@ -350,13 +336,71 @@
QueryWrapper<CasedraftAgent> casedraftAgentQueryWrapper = new QueryWrapper<>();
casedraftAgentQueryWrapper.eq("case_id", casedraftInfo.getId());
//todo 删除附件关系
-// FileTypeTermsDTO fileTypeTermsDTO = new FileTypeTermsDTO();
-// fileTypeTermsDTO.setOwnerIdList(ownerIdList);
-// sysClient.removeFileRelate(fileTypeTermsDTO);
+ FileTypeTermsDTO fileTypeTermsDTO = new FileTypeTermsDTO();
+ fileTypeTermsDTO.setOwnerIdList(ownerIdList);
+ sysClient.removeFileRelate(fileTypeTermsDTO);
}
}catch (Exception e){
log.error("service方法[CasedraftInfoService.removeDraftInfo]调用异常:"+e, e);
throw new ServiceException("CasedraftInfoService.removeDraftInfo", e);
}
}
+
+ /**
+ * PC端-查询纠纷信息
+ * @param caseId 纠纷编号
+ * @return CaseInfo 纠纷信息
+ */
+ public CasedraftInfoDTO getCasedraftInfo(String caseId){
+ CasedraftInfo casedraftInfo = mapper.selectById(caseId);
+ CasedraftInfoDTO caseInfoDTO = new CasedraftInfoDTO();
+ if (ObjectUtils.isNotEmpty(casedraftInfo)) {
+
+ BeanUtils.copyProperties(casedraftInfo, caseInfoDTO);
+ //查询所有当事人
+ QueryWrapper<CasedraftPerson> draftPersonQueryWrapper = new QueryWrapper<>();
+ draftPersonQueryWrapper.eq("case_id", caseId);
+ List<CasedraftPerson> casePersonList = draftPersonService.list(draftPersonQueryWrapper);
+
+ //查询所有代理人
+ QueryWrapper<CasedraftAgent> casedraftAgentQueryWrapper = new QueryWrapper<>();
+ casedraftAgentQueryWrapper.eq("case_id", caseId);
+ List<CasedraftAgent> caseAgentList = draftAgentService.list(casedraftAgentQueryWrapper);
+ List<String> idList = new ArrayList<>();
+
+ idList.add(caseId);
+ idList.addAll(casePersonList.stream().map(CasedraftPerson::getId).collect(Collectors.toList()));
+ idList.addAll(caseAgentList.stream().map(CasedraftAgent::getId).collect(Collectors.toList()));
+ String ids = idList.stream().map(String::valueOf).collect(Collectors.joining("','"));
+ ids = "'"+ ids + "'";
+ Map<String, Object> term = new HashMap<>();
+ term.put("ownerIds", ids);
+ //查询所有附件
+ List<FileIdTypeInfoBaseDTO> fileInfoList = sysClient.listIdTypeInfoByOwnerIdList(term, caseId);
+ //把附件根据编号放入
+ for(FileIdTypeInfoBaseDTO fileInfo: fileInfoList){
+ if(caseId.equals(fileInfo.getOwnerId())){
+ caseInfoDTO.setFileInfoList(fileInfo.getFileList());
+ }
+ }
+ for(CasedraftPerson casePerson: casePersonList){
+ for(FileIdTypeInfoBaseDTO fileInfo: fileInfoList){
+ if(casePerson.getId().equals(fileInfo.getOwnerId())){
+ casePerson.setFileInfoList(fileInfo.getFileList());
+ }
+ }
+ }
+ for(CasedraftAgent caseAgent: caseAgentList){
+ for(FileIdTypeInfoBaseDTO fileInfo: fileInfoList){
+ if(caseAgent.getId().equals(fileInfo.getOwnerId())){
+ caseAgent.setFileInfoList(fileInfo.getFileList());
+ }
+ }
+ }
+
+ caseInfoDTO.setPersonList(casePersonList);
+ caseInfoDTO.setAgentList(caseAgentList);
+ }
+ return caseInfoDTO;
+ }
}
diff --git a/dyh-service/dyh-sync/src/main/java/cn/huge/module/sync/controller/SyncController.java b/dyh-service/dyh-sync/src/main/java/cn/huge/module/sync/controller/SyncController.java
index 0eeb3ce..3c21f2e 100644
--- a/dyh-service/dyh-sync/src/main/java/cn/huge/module/sync/controller/SyncController.java
+++ b/dyh-service/dyh-sync/src/main/java/cn/huge/module/sync/controller/SyncController.java
@@ -33,7 +33,7 @@
/**
* 数据迁移通用接口
- * @url {ctx}/api/web/ctUnit/universalSync
+ * @url {ctx}/api/sync/ctUnit/universalSync
* @return Object
*/
@GetMapping("/universalSync")
diff --git a/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/controller/client/FileInfoClientController.java b/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/controller/client/FileInfoClientController.java
new file mode 100644
index 0000000..45a42f5
--- /dev/null
+++ b/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/controller/client/FileInfoClientController.java
@@ -0,0 +1,62 @@
+package cn.huge.module.file.controller.client;
+
+import cn.huge.base.common.utils.ReturnFailUtils;
+import cn.huge.base.common.utils.ReturnSucUtils;
+import cn.huge.module.file.service.FileInfoService;
+import io.lettuce.core.dynamic.annotation.Param;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @title: 附件信息表接口api-web端
+ * @description: 附件信息表接口api-web端
+ * @company: hugeinfo
+ * @author: liyj
+ * @time: 2024-08-28 20:06:18
+ * @version: 1.0.0
+ */
+@Slf4j
+@RestController
+@RequestMapping("/api/client/fileInfo")
+public class FileInfoClientController {
+
+ @Autowired(required = false)
+ private HttpServletRequest request;
+
+ @Autowired
+ private FileInfoService service;
+
+ /**
+ * 根据多个所属编号查询附件并根据先根据ownerId再根据附件类型分组
+ * @url {ctx}/api/client/fileRelate/listIdTypeInfoByOwnerIdList
+ * @return Object
+ */
+ @PostMapping("/listIdTypeInfoByOwnerIdList")
+ public Object listIdTypeInfoByOwnerIdList(@RequestBody Map<String, Object> term, @RequestParam(value = "mainId") String mainId) {
+ try {
+ return ReturnSucUtils.getRepInfo(service.listIdTypeInfoByOwnerIdList(term, mainId));
+ } catch (Exception e) {
+ return ReturnFailUtils.getRepInfo();
+ }
+ }
+
+ /**
+ * 根据多个所属编号查询附件
+ * @url {ctx}/api/client/fileRelate/listInfoByOwnerIdList
+ * @return Object
+ */
+ @PostMapping("/listInfoByOwnerIdList")
+ public Object listInfoByOwnerIdList(@RequestBody Map<String, Object> term, @RequestParam(value = "mainId") String mainId) {
+ try {
+ return ReturnSucUtils.getRepInfo(service.listInfoByOwnerIdList(term, mainId));
+ } catch (Exception e) {
+ return ReturnFailUtils.getRepInfo();
+ }
+ }
+}
diff --git a/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/controller/client/FileRelateClientController.java b/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/controller/client/FileRelateClientController.java
new file mode 100644
index 0000000..5940dc0
--- /dev/null
+++ b/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/controller/client/FileRelateClientController.java
@@ -0,0 +1,119 @@
+package cn.huge.module.file.controller.client;
+
+import cn.huge.base.common.utils.ReturnFailUtils;
+import cn.huge.base.common.utils.ReturnSucUtils;
+import cn.huge.module.file.service.FileRelateService;
+import cn.huge.module.sys.dto.FileTypeTermsDTO;
+import com.google.common.collect.Maps;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.Map;
+
+/**
+ * @title: 附件关系表接口api-web端
+ * @description: 附件关系表接口api-web端
+ * @company: hugeinfo
+ * @author: liyj
+ * @time: 2024-08-28 20:06:19
+ * @version: 1.0.0
+ */
+@Slf4j
+@RestController
+@RequestMapping("/api/client/fileRelate")
+public class FileRelateClientController {
+
+ @Autowired(required = false)
+ private HttpServletRequest request;
+
+ @Autowired
+ private FileRelateService service;
+
+ /**
+ * 获取请求URL参数
+ * @return Map<String, Object>
+ */
+ private Map<String, Object> getParameter(){
+ Map<String, Object> terms = Maps.newHashMap();
+ // 附件关系编号
+ String id = request.getParameter("id");
+ if (StringUtils.isNotBlank(id)){
+ terms.put("id", id);
+ }
+ // 附件编号
+ String fileId = request.getParameter("fileId");
+ if (StringUtils.isNotBlank(fileId)){
+ terms.put("fileId", fileId);
+ }
+ // 所属业务编号
+ String ownerId = request.getParameter("ownerId");
+ if (StringUtils.isNotBlank(ownerId)){
+ terms.put("ownerId", ownerId);
+ }
+ // 所属业务大类
+ String ownerCat = request.getParameter("ownerCat");
+ if (StringUtils.isNotBlank(ownerCat)){
+ terms.put("ownerCat", ownerCat);
+ }
+ // 所属业务类型
+ String ownerType = request.getParameter("ownerType");
+ if (StringUtils.isNotBlank(ownerType)){
+ terms.put("ownerType", ownerType);
+ }
+ // 上传人编号
+ String uploaderId = request.getParameter("uploaderId");
+ if (StringUtils.isNotBlank(uploaderId)){
+ terms.put("uploaderId", uploaderId);
+ }
+ // 上传人姓名
+ String uploaderName = request.getParameter("uploaderName");
+ if (StringUtils.isNotBlank(uploaderName)){
+ terms.put("uploaderName", uploaderName);
+ }
+ // 上传人类型,1:工作人员,2:申请方,3:被申请方
+ String uploaderType = request.getParameter("uploaderType");
+ if (StringUtils.isNotBlank(uploaderType)){
+ terms.put("uploaderType", uploaderType);
+ }
+ // 顾客编号
+ String custId = request.getParameter("custId");
+ if (StringUtils.isNotBlank(custId)){
+ terms.put("custId", custId);
+ }
+ // 创建时间区间
+ String createStart = request.getParameter("createStart");
+ String createEnd = request.getParameter("createEnd");
+ if(StringUtils.isNotBlank(createStart) && StringUtils.isNotBlank(createEnd)) {
+ terms.put("createStart", createStart);
+ terms.put("createEnd", createEnd);
+ }
+ // 更新时间区间
+ String updateStart = request.getParameter("updateStart");
+ String updateEnd = request.getParameter("updateEnd");
+ if(StringUtils.isNotBlank(updateStart) && StringUtils.isNotBlank(updateEnd)) {
+ terms.put("updateStart", updateStart);
+ terms.put("updateEnd", updateEnd);
+ }
+ return terms;
+ }
+
+ /**
+ * 根据条件删除附件关系
+ * @url {ctx}/api/v1/fileRelate/removeFileRelate
+ * @param fileTypeTermsDTO 条件
+ * @return Object
+ */
+ @PostMapping("/removeFileRelate")
+ public Object removeFileRelate(@RequestBody FileTypeTermsDTO fileTypeTermsDTO) {
+ try {
+ service.removeOne(fileTypeTermsDTO);
+ service.removeAll(fileTypeTermsDTO);
+ return ReturnSucUtils.getRepInfo();
+ } catch (Exception e) {
+ return ReturnFailUtils.getRepInfo();
+ }
+ }
+}
diff --git a/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/controller/web/FileInfoWebController.java b/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/controller/web/FileInfoWebController.java
index 463a767..a093e16 100644
--- a/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/controller/web/FileInfoWebController.java
+++ b/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/controller/web/FileInfoWebController.java
@@ -1,7 +1,6 @@
package cn.huge.module.file.controller.web;
import cn.huge.base.common.exception.ClientException;
-import cn.huge.module.sys.dto.IdcardOcrResultDTO;
import cn.huge.module.utils.BaiduOcrUtils;
import cn.huge.base.common.utils.ContentTypeUtils;
import cn.huge.base.common.utils.ReturnFailUtils;
@@ -185,6 +184,33 @@
}
/**
+ * ocr识别文字
+ * @url {ctx}/api/web/fileInfo/recognitionText?ownerId=&ownerType=
+ * @param request
+ * @return Object
+ */
+ @PostMapping(value = "/recognitionText")
+ public Object recognitionText(MultipartHttpServletRequest request){
+ try{
+ Map<String , Object> result = Maps.newHashMap();
+ Iterator<String> itr = request.getFileNames();
+ while (itr.hasNext()) {
+ MultipartFile file = request.getFile(itr.next());
+ try{
+ Map<String , Object> map = BaiduOcrUtils.ocrText(file.getBytes());
+ result.put("ocrResult", map);
+ }catch (Exception e){
+ log.error("Controller接口[FileInfoController.recognitionText]请求异常:"+e, e);
+ return ReturnFailUtils.getRepInfo("OCR失败!");
+ }
+ }
+ return ReturnSucUtils.getRepInfo("识别成功", result);
+ }catch (Exception e){
+ return ReturnFailUtils.getRepInfo(e.getMessage());
+ }
+ }
+
+ /**
* 查看附件组件-分类查询附件
* @url {ctx}/api/web/fileInfo/listFileByCat
* @param mainId 所属业务主体编号
diff --git a/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/dao/mapper/FileInfoMapper.java b/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/dao/mapper/FileInfoMapper.java
index 2eb94ba..b73efdc 100644
--- a/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/dao/mapper/FileInfoMapper.java
+++ b/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/dao/mapper/FileInfoMapper.java
@@ -2,6 +2,7 @@
import cn.huge.module.file.domain.dto.FileForCatDTO;
import cn.huge.module.file.domain.po.FileInfo;
+import cn.huge.module.file.domain.po.FileRelate;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.data.domain.PageRequest;
@@ -69,4 +70,10 @@
*/
List<FileForCatDTO> listFileByCatTerms(@Param("terms") Map<String, Object> terms);
+ /**
+ * 根据多个编号查询
+ * @param terms
+ * @return List<FileRelate>
+ */
+ List<FileInfo> listByids(@Param("terms") Map<String, Object> terms, @Param("mainId") String mainId);
}
diff --git a/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/dao/mapper/xml/FileInfoMapper.xml b/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/dao/mapper/xml/FileInfoMapper.xml
index 592b292..f789de2 100644
--- a/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/dao/mapper/xml/FileInfoMapper.xml
+++ b/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/dao/mapper/xml/FileInfoMapper.xml
@@ -11,6 +11,32 @@
<mapper namespace="cn.huge.module.file.dao.mapper.FileInfoMapper">
<!-- 结果集 -->
<resultMap id="dataResult" type="cn.huge.module.file.domain.po.FileInfo">
+ <result property="id" column="id"/>
+ <result property="name" column="name"/>
+ <result property="trueName" column="true_name"/>
+ <result property="fileName" column="file_name"/>
+ <result property="suffix" column="suffix"/>
+ <result property="cat" column="cat"/>
+ <result property="size" column="size"/>
+ <result property="unit" column="unit"/>
+ <result property="md5Code" column="md5_code"/>
+ <result property="storeWay" column="store_way"/>
+ <result property="path" column="path"/>
+ <result property="fullPath" column="full_path"/>
+ <result property="showUrl" column="show_url"/>
+ <result property="downUrl" column="down_url"/>
+ <result property="zipUrl" column="zip_url"/>
+ <result property="deleteStatus" column="delete_status"/>
+ <result property="custId" column="cust_id"/>
+ <result property="updateTime" column="update_time"/>
+ <result property="createTime" column="create_time"/>
+ <result property="ownerId" column="owner_id"/>
+ <result property="ownerCat" column="owner_cat"/>
+ <result property="ownerType" column="owner_type"/>
+ <result property="uploaderId" column="uploader_id"/>
+ <result property="uploaderName" column="uploader_name"/>
+ </resultMap>
+ <resultMap id="fileResult" type="cn.huge.module.file.domain.po.FileInfo">
<result property="id" column="id"/>
<result property="name" column="name"/>
<result property="trueName" column="true_name"/>
@@ -30,6 +56,11 @@
<result property="custId" column="cust_id"/>
<result property="updateTime" column="update_time"/>
<result property="createTime" column="create_time"/>
+ <result property="ownerId" column="owner_id"/>
+ <result property="ownerCat" column="owner_cat"/>
+ <result property="ownerType" column="owner_type"/>
+ <result property="uploaderId" column="uploader_id"/>
+ <result property="uploaderName" column="uploader_name"/>
</resultMap>
<!-- 表 -->
<sql id='table-name'>dyh_file_info</sql>
@@ -54,6 +85,28 @@
cust_id,
update_time,
create_time
+ </sql>
+ <!-- 字段 -->
+ <sql id="column-part-t">
+ t1.id,
+ t1.name,
+ t1.true_name,
+ t1.file_name,
+ t1.suffix,
+ t1.cat,
+ t1.size,
+ t1.unit,
+ t1.md5_code,
+ t1.store_way,
+ t1.path,
+ t1.full_path,
+ t1.show_url,
+ t1.down_url,
+ t1.zip_url,
+ t1.delete_status,
+ t1.cust_id,
+ t1.update_time,
+ t1.create_time
</sql>
<!-- 更新实体字段 -->
<sql id="set-part">
@@ -249,4 +302,32 @@
<include refid="listFileByCatTerms-where-part"/>
</select>
+ <!-- 根据多个编号查询 -->
+ <select id="listByids" resultMap="fileResult">
+ SELECT t2.owner_id, t2.owner_cat, t2.owner_type, t2.uploader_id, t2.uploader_name,
+ <include refid="column-part-t"/>
+ FROM dyh_file_info t1
+ LEFT JOIN dyh_file_relate t2 ON t1.id = t2.file_id
+ WHERE t2.main_id = #{mainId}
+ <if test="terms.ownerIds = null and terms.ownerIds =''">
+ and t2.owner_id in (${ownerIds})
+ </if>
+ <if test="terms.types = null and terms.types =''">
+ and t2.owner_type in (${types})
+ </if>
+
+
+
+ </select>
+
+ <!-- 根据多个编号查询 -->
+ <select id="listByIdsTypes" resultMap="fileResult">
+ SELECT t2.owner_id, t2.owner_cat, t2.owner_type, t2.uploader_id, t2.uploader_name,
+ <include refid="column-part-t"/>
+ FROM dyh_file_info t1
+ LEFT JOIN dyh_file_relate t2 ON t1.id = t2.file_id
+ WHERE t2.owner_id in (${ownerIds})
+ and t2.main_id = #{mainId}
+ and t2.owner_type in (${types})
+ </select>
</mapper>
\ No newline at end of file
diff --git a/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/domain/po/FileInfo.java b/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/domain/po/FileInfo.java
index be72cfa..fd0db23 100644
--- a/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/domain/po/FileInfo.java
+++ b/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/domain/po/FileInfo.java
@@ -188,5 +188,4 @@
*/
@TableField(exist = false)
private Integer uploaderType;
-
}
diff --git a/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/service/FileInfoService.java b/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/service/FileInfoService.java
index 659a334..16a7070 100644
--- a/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/service/FileInfoService.java
+++ b/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/service/FileInfoService.java
@@ -1,5 +1,6 @@
package cn.huge.module.file.service;
+import cn.huge.base.common.constant.FileCatEnum;
import cn.huge.base.common.exception.ServiceException;
import cn.huge.base.common.utils.DateUtils;
import cn.huge.base.common.utils.IdUtils;
@@ -11,12 +12,20 @@
import cn.huge.module.file.domain.dto.FileForCatListDTO;
import cn.huge.module.file.domain.dto.UploaderDTO;
import cn.huge.module.file.domain.po.FileInfo;
+import cn.huge.module.sys.constant.FileOwnerTypeBaseEnum;
+import cn.huge.module.sys.dto.FileIdInfoBaseDTO;
+import cn.huge.module.sys.dto.FileIdTypeInfoBaseDTO;
+import cn.huge.module.sys.dto.FileInfoBaseDTO;
+import cn.huge.module.sys.dto.FileTypeInfoBaseDTO;
import cn.huge.module.file.domain.po.FileRelate;
import cn.huge.module.file.utils.FtpUtils;
import cn.huge.module.file.utils.FtpMultipartFileWrapper;
import cn.huge.module.sys.constant.FileOwnerTypeBaseEnum;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.BeanUtils;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -28,6 +37,12 @@
import org.springframework.web.multipart.MultipartFile;
import java.util.*;
+import javax.annotation.PostConstruct;
+import java.util.*;
+import java.util.stream.Collectors;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
/**
* @title: 附件信息表业务逻辑处理
@@ -141,6 +156,140 @@
}
/**
+ * 根据多个所属编号查询附件并先根据ownerId再根据附件类型分组
+ * @param terms
+ * @return List
+ */
+ public List<FileIdTypeInfoBaseDTO> listIdTypeInfoByOwnerIdList(Map<String, Object> terms, String mainId){
+ List<FileIdTypeInfoBaseDTO> fileTypeInfoBaseDTOList = new ArrayList<>();
+
+ List<FileInfo> fileInfoList = mapper.listByids(terms, mainId);
+ if(CollectionUtils.isNotEmpty(fileInfoList)){
+ fileTypeInfoBaseDTOList = this.getIdFileTypeInfoBaseDTOList(fileInfoList);
+ }
+
+ return fileTypeInfoBaseDTOList;
+ }
+
+ /**
+ * 根据多个编号查询
+ * @param fileInfoList 附件列表
+ * @return List<FileTypeInfoBaseDTO>
+ */
+ private List<FileIdTypeInfoBaseDTO> getIdFileTypeInfoBaseDTOList(List<FileInfo> fileInfoList){
+ List<FileIdTypeInfoBaseDTO> fileIdTypeInfoBaseDTOList = new ArrayList<>();
+ //把Id过滤出来
+ Set<String> ownerIdSet = new HashSet<>();
+ for(FileInfo fileInfo: fileInfoList){
+ ownerIdSet.add(fileInfo.getOwnerId());
+ }
+ //把附件放入对应的OwnerId下
+ Map<String, List<FileInfo>> map = new HashMap<>();
+ for(String ownerId: ownerIdSet) {
+ List<FileInfo> fileInfoListByOwnerIdList = new ArrayList<>();
+ for (FileInfo fileInfo : fileInfoList) {
+ if(ownerId.equals(fileInfo.getOwnerId())){
+ fileInfoListByOwnerIdList.add(fileInfo);
+ }
+ }
+ if(CollectionUtils.isNotEmpty(fileInfoListByOwnerIdList)){
+ map.put(ownerId, fileInfoListByOwnerIdList);
+ }
+
+ }
+ //根据OwnerId编号
+ for(String ownerId: ownerIdSet){
+ if(map.containsKey(ownerId)){
+ FileIdTypeInfoBaseDTO fileIdTypeInfoBaseDTO = new FileIdTypeInfoBaseDTO();
+ fileIdTypeInfoBaseDTO.setOwnerId(ownerId);
+ List<FileInfo> ownerIdFileInfoList = map.get(ownerId);
+ if (CollectionUtils.isNotEmpty(ownerIdFileInfoList)) {
+ List<FileTypeInfoBaseDTO> fileTypeInfoBaseDTOList = new ArrayList<>();
+
+ Set<String> setTmp = new HashSet<>();
+ for (FileInfo fileInfo: ownerIdFileInfoList) {
+ if (ObjectUtils.isNotEmpty(fileInfo.getOwnerType())) {
+ setTmp.add(fileInfo.getOwnerType());
+ }
+ }
+ //根据文件类型分类
+ for(String ownerType: setTmp){
+ FileTypeInfoBaseDTO fileTypeInfoBaseDTO = new FileTypeInfoBaseDTO();
+ fileTypeInfoBaseDTO.setOwnerType(ownerType);
+ fileTypeInfoBaseDTO.setOwnerTypeName(FileOwnerTypeBaseEnum.getDes(ownerType));
+ fileTypeInfoBaseDTO.setSize(ownerIdFileInfoList.size());
+ List<FileInfoBaseDTO> fileInfoBaseDTOList = new ArrayList<>();
+ for(FileInfo fileInfo: ownerIdFileInfoList){
+ if(ownerType.equals(fileInfo.getOwnerType())){
+ FileInfoBaseDTO fileInfoBaseDTO = new FileInfoBaseDTO();
+ BeanUtils.copyProperties(fileInfo, fileInfoBaseDTO);
+ fileInfoBaseDTO.setOwnerCatName(FileOwnerTypeBaseEnum.getDes(fileInfo.getOwnerCat()));
+ fileInfoBaseDTO.setOwnerTypeName(FileOwnerTypeBaseEnum.getDes(fileInfo.getOwnerType()));
+ fileInfoBaseDTOList.add(fileInfoBaseDTO);
+ }
+ }
+ fileTypeInfoBaseDTO.setFileList(fileInfoBaseDTOList);
+ fileTypeInfoBaseDTOList.add(fileTypeInfoBaseDTO);
+ }
+ fileIdTypeInfoBaseDTO.setFileList(fileTypeInfoBaseDTOList);
+ fileIdTypeInfoBaseDTOList.add(fileIdTypeInfoBaseDTO);
+ }
+ }
+ }
+
+
+
+ return fileIdTypeInfoBaseDTOList;
+ }
+
+ /**
+ * 根据多个所属编号查询附件
+ * @param terms
+ * @return List
+ */
+ public List<FileIdInfoBaseDTO> listInfoByOwnerIdList(Map<String, Object> terms, String mainId) {
+ List<FileIdInfoBaseDTO> fileIdInfoBaseDTOList = new ArrayList<>();
+ List<FileInfo> fileInfoList = mapper.listByids(terms, mainId);
+ if(CollectionUtils.isNotEmpty(fileInfoList)){
+ fileIdInfoBaseDTOList = this.getFileInfoBaseDTOList(fileInfoList);
+ }
+ return fileIdInfoBaseDTOList;
+ }
+
+ /**
+ * 根据多个所属编号查询附件并根据ownerId分组
+ * @param fileInfoList 附件列表
+ * @return List<FileTypeInfoBaseDTO>
+ */
+ private List<FileIdInfoBaseDTO> getFileInfoBaseDTOList(List<FileInfo> fileInfoList){
+ List<FileIdInfoBaseDTO> fileIdInfoBaseDTOList = new ArrayList<>();
+ //把Id过滤出来
+ Set<String> ownerIdSet = new HashSet<>();
+ for(FileInfo fileInfo: fileInfoList){
+ ownerIdSet.add(fileInfo.getOwnerId());
+ }
+
+ for(String ownerId: ownerIdSet){
+ FileIdInfoBaseDTO fileIdInfoBaseDTO = new FileIdInfoBaseDTO();
+ fileIdInfoBaseDTO.setOwnerId(ownerId);
+ List<FileInfoBaseDTO> fileInfoBaseDTOList = new ArrayList<>();
+ for (FileInfo fileInfo : fileInfoList) {
+ if (ownerId.equals(fileInfo.getOwnerId())) {
+ FileInfoBaseDTO fileInfoBaseDTO = new FileInfoBaseDTO();
+ BeanUtils.copyProperties(fileInfo, fileInfoBaseDTO);
+ // TODO: 2022/3/31 简化
+ fileInfoBaseDTO.setOwnerCatName(FileOwnerTypeBaseEnum.getDes(fileInfo.getOwnerCat()));
+ fileInfoBaseDTO.setOwnerTypeName(FileOwnerTypeBaseEnum.getDes(fileInfo.getOwnerType()));
+ fileInfoBaseDTOList.add(fileInfoBaseDTO);
+ }
+ }
+ fileIdInfoBaseDTO.setFileList(fileInfoBaseDTOList);
+ fileIdInfoBaseDTOList.add(fileIdInfoBaseDTO);
+ }
+ return fileIdInfoBaseDTOList;
+ }
+
+ /**
* web端上传附件,保存附件信息和业务关系
* @param file 附件
* @param ownerId 所属业务编号
@@ -219,6 +368,42 @@
}
/**
+ * 上传附件,保存附件信息和业务关系
+ * @param file 附件
+ * @param ownerId 所属业务编号
+ * @param ownerType 所属业务名称
+ * @param fileCount 第几份附件
+ * @param uploaderDTO 上传人信息
+ * @return
+ */
+ public FileInfo uploadFile(MultipartFile file, String ownerId, String ownerType, int fileCount, UploaderDTO uploaderDTO) {
+ try {
+ String fileId = utilsClient.getNewTimeId();
+ // 创建附件信息
+ FileInfo fileInfo = new FtpMultipartFileWrapper(file).toWebFileInfo(fileId);
+ // 上传到ftp服务器
+ FtpUtils ftpUtils = new FtpUtils();
+ ftpUtils.upload(fileInfo.getPath(), fileInfo.getFileName(), file.getInputStream());
+ // 保存附件信息
+ fileInfo.setName(FileOwnerTypeBaseEnum.getDes(ownerType) + BaseConsts.UNDER + fileCount);
+ fileInfo.setOwnerId(ownerId);
+ fileInfo.setOwnerCat(FileOwnerTypeBaseEnum.getCat(ownerType));
+ fileInfo.setOwnerCatName(FileOwnerTypeBaseEnum.getDes(fileInfo.getOwnerCat()));
+ fileInfo.setOwnerType(ownerType);
+ fileInfo.setOwnerTypeName(FileOwnerTypeBaseEnum.getDes(ownerType));
+ fileInfo.setCustId(uploaderDTO.getCustId());
+ mapper.insert(fileInfo);
+ // 保存业务关系
+ fileRelateService.saveByFileInfo(fileInfo);
+ return fileInfo;
+ } catch (Exception e) {
+ log.error("service方法[FileInfoService.uploadFile]调用异常:"+e, e);
+ throw new ServiceException("FileInfoService.uploadFile", e);
+ }
+ }
+
+
+ /**
* 查看附件组件-分类查询附件
* @param terms
* @return
diff --git a/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/service/FileRelateService.java b/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/service/FileRelateService.java
index 1e9f06d..cbd05da 100644
--- a/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/service/FileRelateService.java
+++ b/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/service/FileRelateService.java
@@ -3,13 +3,22 @@
import cn.huge.base.common.exception.ServiceException;
import cn.huge.base.common.utils.DateUtils;
import cn.huge.base.common.utils.IdUtils;
+import cn.huge.base.common.utils.ObjectUtils;
import cn.huge.module.client.api.impl.UtilsClientImpl;
import cn.huge.module.file.dao.mapper.FileRelateMapper;
+import cn.huge.module.file.domain.po.FileInfo;
import cn.huge.module.file.domain.dto.UploaderDTO;
import cn.huge.module.file.domain.po.FileInfo;
import cn.huge.module.file.domain.po.FileRelate;
+import cn.huge.module.sys.constant.FileOwnerTypeBaseEnum;
+import cn.huge.module.sys.dto.FileInfoBaseDTO;
+import cn.huge.module.sys.dto.FileTypeInfoBaseDTO;
+import cn.huge.module.sys.dto.FileTypeTermsDTO;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import lombok.extern.slf4j.Slf4j;
@@ -20,9 +29,7 @@
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.PostConstruct;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
/**
* @title: 附件关系表业务逻辑处理
@@ -173,4 +180,49 @@
}
}
+ /**
+ * 根据条件删除
+ * @param fileTypeTermsDTO 条件
+ */
+ public void removeOne(FileTypeTermsDTO fileTypeTermsDTO){
+ try{
+ if (StringUtils.isNotEmpty(fileTypeTermsDTO.getOwnerId())) {
+ QueryWrapper<FileRelate> fileRelateQueryWrapper = new QueryWrapper<>();
+ fileRelateQueryWrapper.eq("owner_id", fileTypeTermsDTO.getOwnerId());
+ if (StringUtils.isNotEmpty(fileTypeTermsDTO.getOwnerType())) {
+ fileRelateQueryWrapper.eq("owner_type", fileTypeTermsDTO.getOwnerType());
+ }
+ if (CollectionUtils.isNotEmpty(fileTypeTermsDTO.getOwnerTypeList())) {
+ fileRelateQueryWrapper.in("owner_type", fileTypeTermsDTO.getOwnerTypeList());
+ }
+ mapper.delete(fileRelateQueryWrapper);
+ }
+ }catch (Exception e){
+ log.error("service方法[FileRelateService.removeOne]调用异常:"+e, e);
+ throw new ServiceException("FileRelateService.removeOne", e);
+ }
+ }
+
+ /**
+ * 根据条件删除
+ * @param fileTypeTermsDTO 条件
+ */
+ public void removeAll(FileTypeTermsDTO fileTypeTermsDTO){
+ try{
+ if (CollectionUtils.isNotEmpty(fileTypeTermsDTO.getOwnerIdList())) {
+ QueryWrapper<FileRelate> fileRelateQueryWrapper = new QueryWrapper<>();
+ fileRelateQueryWrapper.in("owner_id", fileTypeTermsDTO.getOwnerIdList());
+ if (StringUtils.isNotEmpty(fileTypeTermsDTO.getOwnerType())) {
+ fileRelateQueryWrapper.eq("owner_type", fileTypeTermsDTO.getOwnerType());
+ }
+ if (CollectionUtils.isNotEmpty(fileTypeTermsDTO.getOwnerTypeList())) {
+ fileRelateQueryWrapper.in("owner_type", fileTypeTermsDTO.getOwnerTypeList());
+ }
+ mapper.delete(fileRelateQueryWrapper);
+ }
+ }catch (Exception e){
+ log.error("service方法[FileRelateService.removeAll]调用异常:"+e, e);
+ throw new ServiceException("FileRelateService.removeAll", e);
+ }
+ }
}
diff --git a/dyh-service/dyh-sys/src/main/java/cn/huge/module/sy/controller/client/SyTimeLimitClientController.java b/dyh-service/dyh-sys/src/main/java/cn/huge/module/sy/controller/client/SyTimeLimitClientController.java
new file mode 100644
index 0000000..b598003
--- /dev/null
+++ b/dyh-service/dyh-sys/src/main/java/cn/huge/module/sy/controller/client/SyTimeLimitClientController.java
@@ -0,0 +1,207 @@
+package cn.huge.module.sy.controller.client;
+
+import cn.huge.base.common.utils.ReturnFailUtils;
+import cn.huge.base.common.utils.ReturnSucUtils;
+import cn.huge.module.sy.domain.po.SyTimeLimit;
+import cn.huge.module.sy.service.SyTimeLimitService;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.google.common.collect.Maps;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.data.domain.Sort;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.Map;
+
+/**
+ * @title: 系统时限配置表接口api-web端
+ * @description: 系统时限配置表接口api-web端
+ * @company: hugeinfo
+ * @author: wangwh
+ * @time: 2024-09-04 16:48:57
+ * @version: 1.0.0
+ */
+@Slf4j
+@RestController
+@RequestMapping("/api/client/syTimeLimit")
+public class SyTimeLimitClientController {
+
+ @Autowired(required = false)
+ private HttpServletRequest request;
+
+ @Autowired
+ private SyTimeLimitService service;
+
+ /**
+ * 获取请求URL参数
+ * @return Map<String, Object>
+ */
+ private Map<String, Object> getParameter(){
+ Map<String, Object> terms = Maps.newHashMap();
+ // 主键编号
+ String id = request.getParameter("id");
+ if (StringUtils.isNotBlank(id)){
+ terms.put("id", id);
+ }
+ // 时限类型
+ String limitType = request.getParameter("limitType");
+ if (StringUtils.isNotBlank(limitType)){
+ terms.put("limitType", limitType);
+ }
+ // 时限名称
+ String limitTypeName = request.getParameter("limitTypeName");
+ if (StringUtils.isNotBlank(limitTypeName)){
+ terms.put("limitTypeName", limitTypeName);
+ }
+ // 时限对应表
+ String limitTable = request.getParameter("limitTable");
+ if (StringUtils.isNotBlank(limitTable)){
+ terms.put("limitTable", limitTable);
+ }
+ // 期限
+ String timeTerm = request.getParameter("timeTerm");
+ if (StringUtils.isNotBlank(timeTerm)){
+ terms.put("timeTerm", timeTerm);
+ }
+ // 期限单位
+ String termUnit = request.getParameter("termUnit");
+ if (StringUtils.isNotBlank(termUnit)){
+ terms.put("termUnit", termUnit);
+ }
+ // 操作人编号
+ String operUserId = request.getParameter("operUserId");
+ if (StringUtils.isNotBlank(operUserId)){
+ terms.put("operUserId", operUserId);
+ }
+ // 操作人名称
+ String operUserName = request.getParameter("operUserName");
+ if (StringUtils.isNotBlank(operUserName)){
+ terms.put("operUserName", operUserName);
+ }
+ // 删除状态,0:未删除,1:已删除
+ String deleteStatus = request.getParameter("deleteStatus");
+ if (StringUtils.isNotBlank(deleteStatus)){
+ terms.put("deleteStatus", deleteStatus);
+ }
+ // 创建时间区间
+ String createStart = request.getParameter("createStart");
+ String createEnd = request.getParameter("createEnd");
+ if(StringUtils.isNotBlank(createStart) && StringUtils.isNotBlank(createEnd)) {
+ terms.put("createStart", createStart);
+ terms.put("createEnd", createEnd);
+ }
+ // 更新时间区间
+ String updateStart = request.getParameter("updateStart");
+ String updateEnd = request.getParameter("updateEnd");
+ if(StringUtils.isNotBlank(updateStart) && StringUtils.isNotBlank(updateEnd)) {
+ terms.put("updateStart", updateStart);
+ terms.put("updateEnd", updateEnd);
+ }
+ return terms;
+ }
+
+ /**
+ * 条件查询多个
+ * @url {ctx}/api/web/syTimeLimit/listQuery
+ * @return Object
+ */
+ @GetMapping("/listQuery")
+ public Object listQuery() {
+ try {
+ Map<String, Object> terms = getParameter();
+ return ReturnSucUtils.getRepInfo(service.listTerms(terms));
+ } catch (Exception e) {
+ return ReturnFailUtils.getRepInfo();
+ }
+ }
+
+ /**
+ * 条件分页查询
+ * @url {ctx}/api/web/syTimeLimit/pageQuery
+ * @param page 页码
+ * @param size 每页数量
+ * @return Object
+ */
+ @GetMapping("/pageQuery")
+ public Object pageQuery(@RequestParam(value = "page") int page, @RequestParam(value = "size") int size) {
+ try {
+ Map<String, Object> terms = getParameter();
+ Sort sort = Sort.by(Sort.Direction.DESC, "create_time");
+ PageRequest pageRequest = PageRequest.of(page-1, size, sort);
+ Page<SyTimeLimit> syTimeLimitPage = service.pageQuery(pageRequest, terms);
+ return ReturnSucUtils.getRepInfo( "处理成功", syTimeLimitPage);
+ } catch (Exception e) {
+ return ReturnFailUtils.getRepInfo();
+ }
+ }
+
+ /**
+ * 根据编号查询单个
+ * @url {ctx}/api/web/syTimeLimit/getById
+ * @param id 主键编号
+ * @return Object
+ */
+ @GetMapping("/getById")
+ public Object getById(@RequestParam(value = "id") String id) {
+ try {
+ return ReturnSucUtils.getRepInfo(service.getById(id));
+ } catch (Exception e) {
+ return ReturnFailUtils.getRepInfo();
+ }
+ }
+
+ /**
+ * 根据主键单个
+ * @url {ctx}/api/web/syTimeLimit/deleteById
+ * @param id 主键编号
+ * @return Object
+ */
+ @GetMapping("/deleteById")
+ public Object deleteById(@RequestParam(value = "id") String id) {
+ try {
+ service.removeById(id);
+ return ReturnSucUtils.getRepInfo();
+ } catch (Exception e) {
+ return ReturnFailUtils.getRepInfo();
+ }
+ }
+
+ /**
+ * 新增或更新对象
+ * @url {ctx}/api/web/syTimeLimit/saveSyTimeLimit
+ * @param syTimeLimit 实体对象
+ * @return Object
+ */
+ @PostMapping("/saveSyTimeLimit")
+ public Object saveSyTimeLimit(@RequestBody SyTimeLimit syTimeLimit) {
+ try {
+ service.saveSyTimeLimit(syTimeLimit);
+ return ReturnSucUtils.getRepInfo();
+ } catch (Exception e) {
+ return ReturnFailUtils.getRepInfo();
+ }
+ }
+
+ /**
+ * 条件分页查询
+ * @url {ctx}/api/web/syTimeLimit/getTimeLimit
+ * @param limitTable 时限对应表
+ * @param limitType 时限类型
+ * @return Object
+ */
+ @GetMapping("/getTimeLimit")
+ public Object getTimeLimit(@RequestParam(value = "limitTable") int limitTable, @RequestParam(value = "limitType") int limitType) {
+ try {
+ QueryWrapper<SyTimeLimit> syTimeLimitQueryWrapper = new QueryWrapper<>();
+ syTimeLimitQueryWrapper.eq("limit_table", limitTable).eq("limit_type", limitType);
+ SyTimeLimit syTimeLimit = service.getOne(syTimeLimitQueryWrapper);
+ return ReturnSucUtils.getRepInfo( "处理成功", syTimeLimit.getTimeTerm());
+ } catch (Exception e) {
+ return ReturnFailUtils.getRepInfo();
+ }
+ }
+}
diff --git a/dyh-service/dyh-sys/src/main/java/cn/huge/module/sy/controller/web/SyTimeLimitWebController.java b/dyh-service/dyh-sys/src/main/java/cn/huge/module/sy/controller/web/SyTimeLimitWebController.java
new file mode 100644
index 0000000..8c4dc66
--- /dev/null
+++ b/dyh-service/dyh-sys/src/main/java/cn/huge/module/sy/controller/web/SyTimeLimitWebController.java
@@ -0,0 +1,209 @@
+package cn.huge.module.sy.controller.web;
+
+import cn.huge.base.common.utils.ReturnFailUtils;
+import cn.huge.base.common.utils.ReturnSucUtils;
+import cn.huge.module.sy.domain.po.SyTimeLimit;
+import cn.huge.module.sy.service.SyTimeLimitService;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.google.common.collect.Maps;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.data.domain.Sort;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.Map;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+
+/**
+ * @title: 系统时限配置表接口api-web端
+ * @description: 系统时限配置表接口api-web端
+ * @company: hugeinfo
+ * @author: wangwh
+ * @time: 2024-09-04 16:48:57
+ * @version: 1.0.0
+ */
+@Slf4j
+@RestController
+@RequestMapping("/api/web/syTimeLimit")
+public class SyTimeLimitWebController {
+
+ @Autowired(required = false)
+ private HttpServletRequest request;
+
+ @Autowired
+ private SyTimeLimitService service;
+
+ /**
+ * 获取请求URL参数
+ * @return Map<String, Object>
+ */
+ private Map<String, Object> getParameter(){
+ Map<String, Object> terms = Maps.newHashMap();
+ // 主键编号
+ String id = request.getParameter("id");
+ if (StringUtils.isNotBlank(id)){
+ terms.put("id", id);
+ }
+ // 时限类型
+ String limitType = request.getParameter("limitType");
+ if (StringUtils.isNotBlank(limitType)){
+ terms.put("limitType", limitType);
+ }
+ // 时限名称
+ String limitTypeName = request.getParameter("limitTypeName");
+ if (StringUtils.isNotBlank(limitTypeName)){
+ terms.put("limitTypeName", limitTypeName);
+ }
+ // 时限对应表
+ String limitTable = request.getParameter("limitTable");
+ if (StringUtils.isNotBlank(limitTable)){
+ terms.put("limitTable", limitTable);
+ }
+ // 期限
+ String timeTerm = request.getParameter("timeTerm");
+ if (StringUtils.isNotBlank(timeTerm)){
+ terms.put("timeTerm", timeTerm);
+ }
+ // 期限单位
+ String termUnit = request.getParameter("termUnit");
+ if (StringUtils.isNotBlank(termUnit)){
+ terms.put("termUnit", termUnit);
+ }
+ // 操作人编号
+ String operUserId = request.getParameter("operUserId");
+ if (StringUtils.isNotBlank(operUserId)){
+ terms.put("operUserId", operUserId);
+ }
+ // 操作人名称
+ String operUserName = request.getParameter("operUserName");
+ if (StringUtils.isNotBlank(operUserName)){
+ terms.put("operUserName", operUserName);
+ }
+ // 删除状态,0:未删除,1:已删除
+ String deleteStatus = request.getParameter("deleteStatus");
+ if (StringUtils.isNotBlank(deleteStatus)){
+ terms.put("deleteStatus", deleteStatus);
+ }
+ // 创建时间区间
+ String createStart = request.getParameter("createStart");
+ String createEnd = request.getParameter("createEnd");
+ if(StringUtils.isNotBlank(createStart) && StringUtils.isNotBlank(createEnd)) {
+ terms.put("createStart", createStart);
+ terms.put("createEnd", createEnd);
+ }
+ // 更新时间区间
+ String updateStart = request.getParameter("updateStart");
+ String updateEnd = request.getParameter("updateEnd");
+ if(StringUtils.isNotBlank(updateStart) && StringUtils.isNotBlank(updateEnd)) {
+ terms.put("updateStart", updateStart);
+ terms.put("updateEnd", updateEnd);
+ }
+ return terms;
+ }
+
+ /**
+ * 条件查询多个
+ * @url {ctx}/api/web/syTimeLimit/listQuery
+ * @return Object
+ */
+ @GetMapping("/listQuery")
+ public Object listQuery() {
+ try {
+ Map<String, Object> terms = getParameter();
+ return ReturnSucUtils.getRepInfo(service.listTerms(terms));
+ } catch (Exception e) {
+ return ReturnFailUtils.getRepInfo();
+ }
+ }
+
+ /**
+ * 条件分页查询
+ * @url {ctx}/api/web/syTimeLimit/pageQuery
+ * @param page 页码
+ * @param size 每页数量
+ * @return Object
+ */
+ @GetMapping("/pageQuery")
+ public Object pageQuery(@RequestParam(value = "page") int page, @RequestParam(value = "size") int size) {
+ try {
+ Map<String, Object> terms = getParameter();
+ Sort sort = Sort.by(Sort.Direction.DESC, "create_time");
+ PageRequest pageRequest = PageRequest.of(page-1, size, sort);
+ Page<SyTimeLimit> syTimeLimitPage = service.pageQuery(pageRequest, terms);
+ return ReturnSucUtils.getRepInfo( "处理成功", syTimeLimitPage);
+ } catch (Exception e) {
+ return ReturnFailUtils.getRepInfo();
+ }
+ }
+
+ /**
+ * 根据编号查询单个
+ * @url {ctx}/api/web/syTimeLimit/getById
+ * @param id 主键编号
+ * @return Object
+ */
+ @GetMapping("/getById")
+ public Object getById(@RequestParam(value = "id") String id) {
+ try {
+ return ReturnSucUtils.getRepInfo(service.getById(id));
+ } catch (Exception e) {
+ return ReturnFailUtils.getRepInfo();
+ }
+ }
+
+ /**
+ * 根据主键单个
+ * @url {ctx}/api/web/syTimeLimit/deleteById
+ * @param id 主键编号
+ * @return Object
+ */
+ @GetMapping("/deleteById")
+ public Object deleteById(@RequestParam(value = "id") String id) {
+ try {
+ service.removeById(id);
+ return ReturnSucUtils.getRepInfo();
+ } catch (Exception e) {
+ return ReturnFailUtils.getRepInfo();
+ }
+ }
+
+ /**
+ * 新增或更新对象
+ * @url {ctx}/api/web/syTimeLimit/saveSyTimeLimit
+ * @param syTimeLimit 实体对象
+ * @return Object
+ */
+ @PostMapping("/saveSyTimeLimit")
+ public Object saveSyTimeLimit(@RequestBody SyTimeLimit syTimeLimit) {
+ try {
+ service.saveSyTimeLimit(syTimeLimit);
+ return ReturnSucUtils.getRepInfo();
+ } catch (Exception e) {
+ return ReturnFailUtils.getRepInfo();
+ }
+ }
+
+ /**
+ * 条件分页查询
+ * @url {ctx}/api/web/syTimeLimit/getTimeLimit
+ * @param limitTable 时限对应表
+ * @param limitType 时限类型
+ * @return Object
+ */
+ @GetMapping("/getTimeLimit")
+ public Object getTimeLimit(@RequestParam(value = "limitTable") int limitTable, @RequestParam(value = "limitType") int limitType) {
+ try {
+ QueryWrapper<SyTimeLimit> syTimeLimitQueryWrapper = new QueryWrapper<>();
+ syTimeLimitQueryWrapper.eq("limit_table", limitTable).eq("limit_type", limitType);
+ SyTimeLimit syTimeLimit = service.getOne(syTimeLimitQueryWrapper);
+ return ReturnSucUtils.getRepInfo( "处理成功", syTimeLimit.getTimeTerm());
+ } catch (Exception e) {
+ return ReturnFailUtils.getRepInfo();
+ }
+ }
+}
diff --git a/dyh-service/dyh-sys/src/main/java/cn/huge/module/sy/dao/mapper/SyTimeLimitMapper.java b/dyh-service/dyh-sys/src/main/java/cn/huge/module/sy/dao/mapper/SyTimeLimitMapper.java
new file mode 100644
index 0000000..8d263cb
--- /dev/null
+++ b/dyh-service/dyh-sys/src/main/java/cn/huge/module/sy/dao/mapper/SyTimeLimitMapper.java
@@ -0,0 +1,64 @@
+package cn.huge.module.sy.dao.mapper;
+
+import cn.huge.module.sy.domain.po.SyTimeLimit;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+* @title: 系统时限配置表持久层业务处理
+* @Description 此处仅涉及复杂SQL操作,务必不要在此再次写单表的CRUD操作,因为mybatisPlus已经实现。
+* @company: hugeinfo
+* @author: wangwh
+* @time: 2024-09-04 16:48:57
+* @version 1.0.0
+*/
+@Repository
+public interface SyTimeLimitMapper extends BaseMapper<SyTimeLimit>{
+
+ /**
+ * 更新对象
+ * @param entity 对象
+ */
+ void updateSyTimeLimit(@Param("entity") SyTimeLimit entity);
+
+ /**
+ * 条件更新对象
+ * @param entity 对象
+ * @param terms 条件
+ */
+ void updateSyTimeLimitTerms(@Param("entity") SyTimeLimit entity, @Param("terms") Map<String, Object> terms);
+
+ /**
+ * 根据编号物理删除
+ * @param id 查询条件集合
+ */
+ void deleteSyTimeLimit(@Param("id") String id);
+
+ /**
+ * 按条件查询结果集
+ * @param terms 查询条件集合
+ * @return List<SyTimeLimit>
+ */
+ List<SyTimeLimit> listTerms(@Param("terms") Map<String, Object> terms);
+
+ /**
+ * 按条件查询实体总数
+ * @param terms 查询条件集合
+ * @return long
+ */
+ long countTerms(@Param("terms") Map<String, Object> terms);
+
+ /**
+ * 按条件查询实体分页结果集
+ * @param page 分页对象
+ * @param terms 查询条件集合
+ * @return List<SyTimeLimit>
+ */
+ List<SyTimeLimit> pageTerms(@Param("page") PageRequest page, @Param("terms") Map<String, Object> terms);
+
+}
diff --git a/dyh-service/dyh-sys/src/main/java/cn/huge/module/sy/dao/mapper/xml/SyTimeLimitMapper.xml b/dyh-service/dyh-sys/src/main/java/cn/huge/module/sy/dao/mapper/xml/SyTimeLimitMapper.xml
new file mode 100644
index 0000000..91a0a70
--- /dev/null
+++ b/dyh-service/dyh-sys/src/main/java/cn/huge/module/sy/dao/mapper/xml/SyTimeLimitMapper.xml
@@ -0,0 +1,166 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<!--
+ * @title: 系统时限配置表
+ * @description: 自定义sql,请自行实现业务逻辑
+ * @company: hugeinfo
+ * @author: wangwh
+ * @time:2024-09-04 16:48:57
+ * @version 1.0.0
+-->
+<mapper namespace="cn.huge.module.sy.dao.mapper.SyTimeLimitMapper">
+ <!-- 结果集 -->
+ <resultMap id="dataResult" type="cn.huge.module.sy.domain.po.SyTimeLimit">
+ <result property="id" column="id"/>
+ <result property="limitType" column="limit_type"/>
+ <result property="limitTypeName" column="limit_type_name"/>
+ <result property="limitTable" column="limit_table"/>
+ <result property="timeTerm" column="time_term"/>
+ <result property="termUnit" column="term_unit"/>
+ <result property="operUserId" column="oper_user_id"/>
+ <result property="operUserName" column="oper_user_name"/>
+ <result property="deleteStatus" column="delete_status"/>
+ <result property="createTime" column="create_time"/>
+ <result property="updateTime" column="update_time"/>
+ </resultMap>
+ <!-- 表 -->
+ <sql id='table-name'>dyh_sy_time_limit</sql>
+ <!-- 字段 -->
+ <sql id="column-part">
+ id,
+ limit_type,
+ limit_type_name,
+ limit_table,
+ time_term,
+ term_unit,
+ oper_user_id,
+ oper_user_name,
+ delete_status,
+ create_time,
+ update_time
+ </sql>
+ <!-- 更新实体字段 -->
+ <sql id="set-part">
+ <if test="entity.limitType != null">limit_type = #{entity.limitType},</if>
+ <if test="entity.limitTypeName != null">limit_type_name = #{entity.limitTypeName},</if>
+ <if test="entity.limitTable != null">limit_table = #{entity.limitTable},</if>
+ <if test="entity.timeTerm != null">time_term = #{entity.timeTerm},</if>
+ <if test="entity.termUnit != null">term_unit = #{entity.termUnit},</if>
+ <if test="entity.operUserId != null">oper_user_id = #{entity.operUserId},</if>
+ <if test="entity.operUserName != null">oper_user_name = #{entity.operUserName},</if>
+ <if test="entity.deleteStatus != null">delete_status = #{entity.deleteStatus},</if>
+ <if test="entity.createTime != null">create_time = #{entity.createTime},</if>
+ <if test="entity.updateTime != null">update_time = #{entity.updateTime}</if>
+ </sql>
+ <!-- 条件 -->
+ <sql id="where-part">
+ <if test="terms != null">
+ <where>
+ <if test="terms.id != null and terms.id !=''">
+ and id = #{terms.id}
+ </if>
+ <if test="terms.limitType != null and terms.limitType !=''">
+ and limit_type = #{terms.limitType}
+ </if>
+ <if test="terms.limitTypeName != null and terms.limitTypeName !=''">
+ and limit_type_name = #{terms.limitTypeName}
+ </if>
+ <if test="terms.limitTable != null and terms.limitTable !=''">
+ and limit_table = #{terms.limitTable}
+ </if>
+ <if test="terms.timeTerm != null and terms.timeTerm !=''">
+ and time_term = #{terms.timeTerm}
+ </if>
+ <if test="terms.termUnit != null and terms.termUnit !=''">
+ and term_unit = #{terms.termUnit}
+ </if>
+ <if test="terms.operUserId != null and terms.operUserId !=''">
+ and oper_user_id = #{terms.operUserId}
+ </if>
+ <if test="terms.operUserName != null and terms.operUserName !=''">
+ and oper_user_name = #{terms.operUserName}
+ </if>
+ <if test="terms.deleteStatus = null and terms.deleteStatus =''">
+ and delete_status = 0
+ </if>
+ <if test="terms.deleteStatus != null and terms.deleteStatus !=''">
+ and delete_status = #{terms.deleteStatus}
+ </if>
+ <if test="terms.createTime != null and terms.createTime !=''">
+ and DATE_FORMAT(create_time,'%Y-%m-%d') = #{terms.createTime}
+ </if>
+ <if test="terms.createStart != null and terms.createStart !='' and terms.createEnd != null and terms.createEnd !=''">
+ and (DATE_FORMAT(create_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.createStart}
+ and DATE_FORMAT(create_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.createEnd})
+ </if>
+ <if test="terms.updateTime != null and terms.updateTime !=''">
+ and DATE_FORMAT(update_time,'%Y-%m-%d') = #{terms.updateTime}
+ </if>
+ <if test="terms.updateStart != null and terms.updateStart !='' and terms.updateEnd != null and terms.updateEnd !=''">
+ and (DATE_FORMAT(update_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.updateStart}
+ and DATE_FORMAT(update_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.updateEnd})
+ </if>
+ </where>
+ </if>
+ </sql>
+ <!-- 更新对象 -->
+ <update id="updateSyTimeLimit">
+ update
+ <include refid="table-name"/>
+ <set>
+ <include refid="set-part"/>
+ </set>
+ <where>
+ id = #{entity.id}
+ </where>
+ </update>
+ <!-- 条件更新对象 -->
+ <update id="updateSyTimeLimitTerms">
+ update
+ <include refid="table-name"/>
+ <set>
+ <include refid="set-part"/>
+ </set>
+ <include refid="where-part"/>
+ </update>
+ <!-- 根据编号物理删除 -->
+ <delete id="deleteSyTimeLimit">
+ delete from
+ <include refid="table-name" />
+ where id = #{id}
+ </delete>
+ <!-- 根据条件查询 -->
+ <select id="listTerms" resultMap="dataResult">
+ select
+ <include refid="column-part"/>
+ from
+ <include refid="table-name" />
+ <include refid="where-part"/>
+ </select>
+ <!-- 根据条件统计 -->
+ <select id="countTerms" resultType="java.lang.Long">
+ select
+ COUNT(1)
+ from
+ <include refid="table-name" />
+ <include refid="where-part"/>
+ </select>
+ <!-- 根据条件分页查询 -->
+ <select id="pageTerms" resultMap="dataResult">
+ SELECT
+ <include refid="column-part"/>
+ FROM
+ <include refid="table-name" />
+ <include refid="where-part"/>
+ <if test="page.sort != null">
+ <foreach collection="page.sort" item="s" index="index" separator="," open="order by ">
+ isnull(${s.property}), ${s.property} ${s.direction}
+ </foreach>
+ </if>
+ <if test="page.sort == null">
+ order by isnull(create_time), create_time desc
+ </if>
+ limit #{page.offset}, #{page.size}
+ </select>
+
+</mapper>
\ No newline at end of file
diff --git a/dyh-service/dyh-sys/src/main/java/cn/huge/module/sy/domain/bo/SyTimeLimitBO.java b/dyh-service/dyh-sys/src/main/java/cn/huge/module/sy/domain/bo/SyTimeLimitBO.java
new file mode 100644
index 0000000..b264ae3
--- /dev/null
+++ b/dyh-service/dyh-sys/src/main/java/cn/huge/module/sy/domain/bo/SyTimeLimitBO.java
@@ -0,0 +1,17 @@
+package cn.huge.module.sy.domain.bo;
+
+import cn.huge.module.sy.domain.po.SyTimeLimit;
+
+/**
+ * @title: 系统时限配置表业务扩展类
+ * @description: 系统时限配置表业务扩展类
+ * @company: hugeinfo
+ * @author: wangwh
+ * @time: 2024-09-04 16:48:57
+ * @version: 1.0.0
+ * @see cn.huge.module.sy.domain.po.SyTimeLimit
+ */
+public class SyTimeLimitBO extends SyTimeLimit {
+
+
+}
diff --git a/dyh-service/dyh-sys/src/main/java/cn/huge/module/sy/domain/po/SyTimeLimit.java b/dyh-service/dyh-sys/src/main/java/cn/huge/module/sy/domain/po/SyTimeLimit.java
new file mode 100644
index 0000000..a691189
--- /dev/null
+++ b/dyh-service/dyh-sys/src/main/java/cn/huge/module/sy/domain/po/SyTimeLimit.java
@@ -0,0 +1,90 @@
+package cn.huge.module.sy.domain.po;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @title: 系统时限配置表数据库对应关系类
+ * @description: PO中的属性与数据表是一一对应关系,如需根据业务处理不同,请使用BO对象。
+ * @company:hugeinfo
+ * @author: wangwh
+ * @time: 2024-09-04 16:48:57
+ * @version 1.0.0
+ */
+@TableName(value = "dyh_sy_time_limit")
+@Data
+public class SyTimeLimit {
+
+ /**
+ * 主键编号
+ */
+ @TableId(value = "id")
+ private String id;
+
+ /**
+ * 时限类型
+ */
+ @TableField(value = "limit_type")
+ private String limitType;
+
+ /**
+ * 时限名称
+ */
+ @TableField(value = "limit_type_name")
+ private String limitTypeName;
+
+ /**
+ * 时限对应表
+ */
+ @TableField(value = "limit_table")
+ private String limitTable;
+
+ /**
+ * 期限
+ */
+ @TableField(value = "time_term")
+ private Integer timeTerm;
+
+ /**
+ * 期限单位
+ */
+ @TableField(value = "term_unit")
+ private String termUnit;
+
+ /**
+ * 操作人编号
+ */
+ @TableField(value = "oper_user_id")
+ private String operUserId;
+
+ /**
+ * 操作人名称
+ */
+ @TableField(value = "oper_user_name")
+ private String operUserName;
+
+ /**
+ * 删除状态,0:未删除,1:已删除
+ */
+ @TableLogic
+ @TableField(value = "delete_status")
+ private Integer deleteStatus;
+
+ /**
+ * 创建时间
+ */
+ @TableField(value = "create_time")
+ private Date createTime;
+
+ /**
+ * 状态时间
+ */
+ @TableField(value = "update_time")
+ private Date updateTime;
+
+}
diff --git a/dyh-service/dyh-sys/src/main/java/cn/huge/module/sy/service/SyTimeLimitService.java b/dyh-service/dyh-sys/src/main/java/cn/huge/module/sy/service/SyTimeLimitService.java
new file mode 100644
index 0000000..f89b04c
--- /dev/null
+++ b/dyh-service/dyh-sys/src/main/java/cn/huge/module/sy/service/SyTimeLimitService.java
@@ -0,0 +1,133 @@
+package cn.huge.module.sy.service;
+
+import cn.huge.base.common.exception.ServiceException;
+import cn.huge.base.common.utils.DateUtils;
+import cn.huge.base.common.utils.IdUtils;
+import cn.huge.module.client.api.impl.UtilsClientImpl;
+import cn.huge.module.sy.dao.mapper.SyTimeLimitMapper;
+import cn.huge.module.sy.domain.po.SyTimeLimit;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.PageImpl;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.PostConstruct;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @title: 系统时限配置表业务逻辑处理
+ * @Description 系统时限配置表业务逻辑处理
+ * @company hugeinfo
+ * @author wangwh
+ * @Time 2024-09-04 16:48:57
+ * @version 1.0.0
+ */
+@Slf4j
+@Service
+@Transactional(rollbackFor = Exception.class)
+public class SyTimeLimitService extends ServiceImpl<SyTimeLimitMapper, SyTimeLimit>{
+
+ @Autowired
+ private SyTimeLimitMapper mapper;
+
+ @Autowired
+ private UtilsClientImpl utilsClient;
+
+ /**
+ * 更新对象
+ * @param entity 对象
+ */
+ public void updateSyTimeLimit(SyTimeLimit entity){
+ try{
+ mapper.updateSyTimeLimit(entity);
+ }catch (Exception e){
+ log.error("[SyTimeLimitService.updateSyTimeLimit]调用失败,异常信息:"+e, e);
+ throw new ServiceException("SyTimeLimitService.updateSyTimeLimit", e);
+ }
+ }
+
+ /**
+ * 条件更新对象
+ * @param entity 对象
+ * @param terms 条件
+ */
+ public void updateSyTimeLimitTerms(SyTimeLimit entity, Map<String, Object> terms){
+ try{
+ mapper.updateSyTimeLimitTerms(entity, terms);
+ }catch (Exception e){
+ log.error("[SyTimeLimitService.updateSyTimeLimitTerms]调用失败,异常信息:"+e, e);
+ throw new ServiceException("SyTimeLimitService.updateSyTimeLimitTerms", e);
+ }
+ }
+
+ /**
+ * 根据编号物理删除
+ * @param id 查询条件集合
+ */
+ public void deleteSyTimeLimit(String id){
+ try{
+ mapper.deleteSyTimeLimit(id);
+ }catch (Exception e){
+ log.error("[SyTimeLimitService.deleteSyTimeLimit]调用失败,异常信息:"+e, e);
+ throw new ServiceException("SyTimeLimitService.deleteSyTimeLimit", e);
+ }
+ }
+
+ /**
+ * 按条件查询
+ * @param terms 条件
+ * @return List
+ */
+ public List<SyTimeLimit> listTerms(Map<String, Object> terms){
+ return mapper.listTerms(terms);
+ }
+
+ /**
+ * 按条件统计
+ * @param terms 条件
+ * @return long
+ */
+ public long countTerms(Map<String, Object> terms){
+ return mapper.countTerms(terms);
+ }
+
+ /**
+ * 按条件分页查询
+ * @param page 分页对象
+ * @param terms 条件
+ * @return Page
+ */
+ public Page<SyTimeLimit> pageQuery(PageRequest page, Map<String, Object> terms){
+ long total = mapper.countTerms(terms);
+ List<SyTimeLimit> content = mapper.pageTerms(page, terms);
+ return new PageImpl<SyTimeLimit>(content, page, total);
+ }
+
+ /**
+ * 新增或更新对象
+ * @param syTimeLimit 实体对象
+ */
+ public void saveSyTimeLimit(SyTimeLimit syTimeLimit){
+ try{
+ Date nowDate = DateUtils.getNowDate();
+ // 判断是否新增
+ if (IdUtils.checkNewId(syTimeLimit.getId())){
+ syTimeLimit.setId(utilsClient.getNewTimeId());
+ syTimeLimit.setCreateTime(nowDate);
+ }
+ syTimeLimit.setUpdateTime(nowDate);
+ this.saveOrUpdate(syTimeLimit);
+ }catch (Exception e){
+ log.error("[SyTimeLimitService.saveSyTimeLimit]调用失败,异常信息:"+e, e);
+ throw new ServiceException("SyTimeLimitService.saveSyTimeLimit", e);
+ }
+ }
+
+}
diff --git a/dyh-service/dyh-sys/src/main/java/cn/huge/module/utils/BaiduOcrUtils.java b/dyh-service/dyh-sys/src/main/java/cn/huge/module/utils/BaiduOcrUtils.java
index 93769d6..00d8834 100644
--- a/dyh-service/dyh-sys/src/main/java/cn/huge/module/utils/BaiduOcrUtils.java
+++ b/dyh-service/dyh-sys/src/main/java/cn/huge/module/utils/BaiduOcrUtils.java
@@ -6,9 +6,14 @@
import cn.huge.module.sys.dto.IdcardOcrResultDTO;
import com.baidu.aip.ocr.AipOcr;
import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.json.JSONArray;
import org.json.JSONObject;
+import java.util.ArrayList;
import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
/**
* @title: 百度云OCR工具类
@@ -28,6 +33,10 @@
public static final String APP_ID = "27535980";
public static final String API_KEY = "6U6tSA75gKf4UMXvHgDpzOC9";
public static final String SECRET_KEY = "BBjjCDhy2sAVO0jfiaGn8OWIGE470lWU";
+ // 个人账号-18607214221
+ public static final String APP_ID_TEXT = "113806304";
+ public static final String API_KEY_TEXT = "ajKtDuIs8xr0XvjbUZLPGi8C";
+ public static final String SECRET_KEY_TEXT = "vgMrG5BJbUfGwKLda1yPWovTQWuRFWDB";
public static void main(String[] args) {
@@ -81,6 +90,35 @@
}
}
+
+ public static Map<String, Object> ocrText(byte[] images) {
+ AipOcr client = new AipOcr(APP_ID_TEXT, API_KEY_TEXT, SECRET_KEY_TEXT);
+ // 传入可选参数调用接口
+ HashMap<String, String> options = new HashMap<String, String>();
+ options.put("language_type", "CHN_ENG");
+ options.put("detect_direction", "true");
+ options.put("detect_language", "true");
+ options.put("probability", "true");
+
+ Map<String, Object> map = new HashMap<String, Object>();
+ // 参数为本地图片二进制数组
+ JSONObject res = client.basicAccurateGeneral(images, options);
+ map.put("wordsResultNum", res.getInt("words_result_num"));
+ map.put("direction", res.getInt("direction"));
+
+ List<String> wordsResultList = new ArrayList<>();
+ JSONArray jsonArray = res.getJSONArray("words_result");
+ for(int i = 0; i < jsonArray.length(); i++){
+ JSONObject wordResult = jsonArray.getJSONObject(i);
+ String words = wordResult.getString("words");
+ if(StringUtils.isNotBlank(words)){
+ wordsResultList.add(words);
+ }
+ }
+ map.put("wordsResult", wordsResultList);
+ return map;
+ }
+
}
/**
* -------------------_ooOoo_-------------------
--
Gitblit v1.8.0