From b0a34952a61975657bd3a2386fe38047c4e03723 Mon Sep 17 00:00:00 2001
From: zhouxiantao <1026371446@qq.com>
Date: Fri, 27 Sep 2024 09:24:56 +0800
Subject: [PATCH] 小程序催办
---
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/bo/CasePersonBO.java | 2
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/wechat/CaseUrgingWechatController.java | 34 ++++++++++
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseAgent.java | 11 +++
dyh-service/dyh-sys/src/main/java/cn/huge/module/kind/controller/wechat/SyregionWechatController.java | 14 ++--
dyh-service/dyh-base/src/main/java/cn/huge/base/common/utils/DateUtils.java | 13 ++++
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/RegisterSaveDTO.java | 2
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CasePerson.java | 6 ++
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java | 22 +++++++
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseUrgingService.java | 40 +++++++++++++
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/bo/CaseAgentBO.java | 2
10 files changed, 133 insertions(+), 13 deletions(-)
diff --git a/dyh-service/dyh-base/src/main/java/cn/huge/base/common/utils/DateUtils.java b/dyh-service/dyh-base/src/main/java/cn/huge/base/common/utils/DateUtils.java
index f9fa79c..0df7ea2 100644
--- a/dyh-service/dyh-base/src/main/java/cn/huge/base/common/utils/DateUtils.java
+++ b/dyh-service/dyh-base/src/main/java/cn/huge/base/common/utils/DateUtils.java
@@ -971,6 +971,19 @@
}
return year+"年"+month+"月"+day+"日";
}
+
+ /**
+ * 获取两个时间的小时差
+ * */
+ public static Integer getDifferHour(Date time1,Date time2){
+ if(ObjectUtils.isNotEmpty(time1) && ObjectUtils.isNotEmpty(time2)){
+ long housrs = 1000 * 60 * 60;
+ long differ = time1.getTime() - time2.getTime();
+ long housr = differ / housrs;
+ return Integer.valueOf(String.valueOf(housr));
+ }
+ return 0;
+ }
}
/**
* -------------------_ooOoo_-------------------
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/wechat/CaseUrgingWechatController.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/wechat/CaseUrgingWechatController.java
index 3a4ffb7..f8430e6 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/wechat/CaseUrgingWechatController.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/wechat/CaseUrgingWechatController.java
@@ -194,12 +194,42 @@
@PostMapping("/saveCaseUrging")
public Object saveCaseUrging(@CurrentUser String userId, @RequestBody CaseUrging caseUrging) {
try {
- service.saveCaseUrgingWechat(userId,caseUrging);
- return ReturnSucUtils.getRepInfo();
+ return ReturnSucUtils.getRepInfo(service.saveCaseUrgingWechat(userId, caseUrging));
} catch (Exception e) {
log.error("Controller接口[CaseUrgingWechatController.saveCaseUrging]请求异常:"+e, e);
return ReturnFailUtils.getRepInfo();
}
}
+ /**
+ * 根据编号查询单个
+ * @url {ctx}/api/wechat/caseUrging/countByCaseId
+ * @param caseId 主键编号
+ * @return Object
+ */
+ @GetMapping("/countByCaseId")
+ public Object countByCaseId(@RequestParam(value = "caseId") String caseId) {
+ try {
+ return ReturnSucUtils.getRepInfo(service.countByCaseId(caseId));
+ } catch (Exception e) {
+ log.error("Controller接口[CaseUrgingWechatController.countByCaseId]请求异常:"+e, e);
+ return ReturnFailUtils.getRepInfo();
+ }
+ }
+
+ /**
+ * 根据编号查询单个
+ * @url {ctx}/api/wechat/caseUrging/listByCaseId
+ * @param caseId 主键编号
+ * @return Object
+ */
+ @GetMapping("/listByCaseId")
+ public Object listByCaseId(@RequestParam(value = "caseId") String caseId) {
+ try {
+ return ReturnSucUtils.getRepInfo(service.listByCaseId(caseId));
+ } catch (Exception e) {
+ log.error("Controller接口[CaseUrgingWechatController.listByCaseId]请求异常:"+e, e);
+ return ReturnFailUtils.getRepInfo();
+ }
+ }
}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/bo/CaseAgentBO.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/bo/CaseAgentBO.java
index 3810681..05f2310 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/bo/CaseAgentBO.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/bo/CaseAgentBO.java
@@ -1,6 +1,7 @@
package cn.huge.module.cases.domain.bo;
import cn.huge.module.cases.domain.po.CaseAgent;
+import lombok.Data;
/**
* @title: 纠纷代理人信息表业务扩展类
@@ -12,6 +13,5 @@
* @see cn.huge.module.cases.domain.po.CaseAgent
*/
public class CaseAgentBO extends CaseAgent {
-
}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/bo/CasePersonBO.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/bo/CasePersonBO.java
index 1d1f430..2ed1a72 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/bo/CasePersonBO.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/bo/CasePersonBO.java
@@ -1,6 +1,7 @@
package cn.huge.module.cases.domain.bo;
import cn.huge.module.cases.domain.po.CasePerson;
+import lombok.Data;
/**
* @title: 纠纷当事人信息表业务扩展类
@@ -12,6 +13,5 @@
* @see cn.huge.module.cases.domain.po.CasePerson
*/
public class CasePersonBO extends CasePerson {
-
}
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 c74f4ed..2369471 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
@@ -1,5 +1,7 @@
package cn.huge.module.cases.domain.dto;
+import cn.huge.module.cases.domain.bo.CaseAgentBO;
+import cn.huge.module.cases.domain.bo.CasePersonBO;
import cn.huge.module.cases.domain.po.CaseAgent;
import cn.huge.module.cases.domain.po.CaseInfo;
import cn.huge.module.cases.domain.po.CasePerson;
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 8e178d8..c77e601 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
@@ -359,4 +359,15 @@
@TableField(exist = false)
private List<FileTypeInfoBaseDTO> fileInfoList;
+ /**
+ * 用于小程序新增关联代理人
+ */
+ @TableField(exist = false)
+ private String agentCode;
+
+ /**
+ * 代理对象姓名
+ */
+ @TableField(exist = false)
+ private String agentPersonName;
}
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 863302a..01d8e3b 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
@@ -364,4 +364,10 @@
*/
@TableField(exist = false)
private List<FileTypeInfoBaseDTO> fileInfoList;
+
+ /**
+ * 用于小程序新增关联代理人
+ */
+ @TableField(exist = false)
+ private String agentCode;
}
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 953dec4..0c2908c 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
@@ -2,6 +2,8 @@
import cn.huge.base.common.exception.ServiceException;
import cn.huge.base.common.utils.*;
+import cn.huge.module.cases.domain.bo.CaseAgentBO;
+import cn.huge.module.cases.domain.bo.CasePersonBO;
import cn.huge.module.cases.domain.dto.*;
import cn.huge.module.cases.domain.dto.CaseAreaDTO;
@@ -678,6 +680,9 @@
// 临时加上一级纠纷类型
caseInfo.setCaseTypeFirst("24_01-2");
caseInfo.setCaseTypeFirstName("劳动社保");
+ //小程序是否查看
+ caseInfo.setPartyShow(1);
+
this.saveOrUpdate(caseInfo);
caseInfoUnfoldService.saveOrUpdate(caseInfoUnfold);
@@ -732,9 +737,12 @@
int peopleNum = 0;
// 保存申请人
List<CasePerson> personList = registerSaveDTO.getPersonList();
+ Map<String,String> personIdMap = new HashMap<>();
if (CollectionUtils.isNotEmpty(personList)) {
for (CasePerson casePerson : personList) {
- casePerson.setId(utilsClient.getNewTimeCaseId());
+ String newTimeCaseId = utilsClient.getNewTimeCaseId();
+ personIdMap.put(casePerson.getAgentCode(), newTimeCaseId);
+ casePerson.setId(newTimeCaseId);
casePerson.setCaseId(registerSaveDTO.getId());
casePerson.setPartyUserId(loginUser.getId());
casePerson.setCustId(registerSaveDTO.getCustId());
@@ -765,6 +773,7 @@
if (CollectionUtils.isNotEmpty(agentList)) {
for (CaseAgent caseAgent : agentList) {
caseAgent.setId(utilsClient.getNewTimeCaseId());
+ caseAgent.setPersonId(personIdMap.get(caseAgent.getAgentCode()));
caseAgent.setPartyUserId(loginUser.getId());
caseAgent.setCaseId(registerSaveDTO.getId());
caseAgent.setAgentTypeName(CaseBaseConstsEnum.getDes(caseAgent.getAgentType()));
@@ -800,11 +809,22 @@
QueryWrapper<CasePerson> casePersonQueryWrapper = new QueryWrapper<>();
casePersonQueryWrapper.eq("case_id", registerSaveDTO.getId());
List<CasePerson> personList = personService.list(casePersonQueryWrapper);
+ Map<String,String> personNameMap = new HashMap<>();
+ if(ObjectUtils.isNotEmpty(personList)){
+ for (CasePerson casePerson : personList) {
+ personNameMap.put(casePerson.getId(),casePerson.getTrueName());
+ }
+ }
registerSaveDTO.setPersonList(personList);
QueryWrapper<CaseAgent> caseAgentQueryWrapper = new QueryWrapper<>();
caseAgentQueryWrapper.eq("case_id", registerSaveDTO.getId());
List<CaseAgent> agentList = agentService.list(caseAgentQueryWrapper);
+ if(ObjectUtils.isNotEmpty(agentList)){
+ for (CaseAgent caseAgent : agentList) {
+ caseAgent.setAgentPersonName(personNameMap.get(caseAgent.getPersonId()));
+ }
+ }
registerSaveDTO.setAgentList(agentList);
return registerSaveDTO;
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseUrgingService.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseUrgingService.java
index 973c63c..bc54b3a 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseUrgingService.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseUrgingService.java
@@ -3,11 +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.base.common.utils.ObjectUtils;
import cn.huge.module.client.api.impl.CustClientImpl;
import cn.huge.module.client.api.impl.UtilsClientImpl;
import cn.huge.module.cases.dao.mapper.CaseUrgingMapper;
import cn.huge.module.cases.domain.po.CaseUrging;
import cn.huge.module.cust.dto.PaUserDTO;
+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;
@@ -139,8 +141,22 @@
* 新增或更新对象
* @param caseUrging 实体对象
*/
- public void saveCaseUrgingWechat(String userId,CaseUrging caseUrging){
+ public String saveCaseUrgingWechat(String userId,CaseUrging caseUrging){
try{
+ //查询是否已经有催办
+ QueryWrapper<CaseUrging> queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("case_id", caseUrging.getCaseId());
+ queryWrapper.orderByDesc("create_time");
+ queryWrapper.last("limit 1");
+ CaseUrging caseUrgingOld = mapper.selectOne(queryWrapper);
+ if(ObjectUtils.isNotEmpty(caseUrgingOld)){
+ //计算创建时间和当前时间是否超过24小时
+ Integer differHour = DateUtils.getDifferHour(new Date(), caseUrgingOld.getCreateTime());
+ if(differHour < 24){
+ return "催办间隔时间不能小于24小时";
+ }
+ }
+
// 获取当前登录用户
PaUserDTO loginUser = custClient.paclientGetUser(userId);
Date nowDate = DateUtils.getNowDate();
@@ -159,6 +175,28 @@
log.error("[CaseUrgingService.saveCaseUrging]调用失败,异常信息:"+e, e);
throw new ServiceException("CaseUrgingService.saveCaseUrging", e);
}
+ return null;
+ }
+
+ public Integer countByCaseId(String caseId){
+ Integer count = 0;
+ QueryWrapper<CaseUrging> queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("case_id", caseId);
+ queryWrapper.isNotNull("reply_user_id");
+ Integer number = mapper.selectCount(queryWrapper);
+ if(ObjectUtils.isNotEmpty(number)){
+ count = number;
+ }
+ return count;
+ }
+
+ public List<CaseUrging> listByCaseId(String caseId){
+ QueryWrapper<CaseUrging> queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("case_id", caseId);
+ queryWrapper.isNotNull("reply_user_id");
+ queryWrapper.orderByDesc("reply_time");
+ List<CaseUrging> caseUrgings = mapper.selectList(queryWrapper);
+ return caseUrgings;
}
}
diff --git a/dyh-service/dyh-sys/src/main/java/cn/huge/module/kind/controller/wechat/SyregionWechatController.java b/dyh-service/dyh-sys/src/main/java/cn/huge/module/kind/controller/wechat/SyregionWechatController.java
index 498a1b7..b7b0228 100644
--- a/dyh-service/dyh-sys/src/main/java/cn/huge/module/kind/controller/wechat/SyregionWechatController.java
+++ b/dyh-service/dyh-sys/src/main/java/cn/huge/module/kind/controller/wechat/SyregionWechatController.java
@@ -1,9 +1,7 @@
package cn.huge.module.kind.controller.wechat;
import cn.huge.base.common.constant.GzAreaEnum;
-import cn.huge.base.common.utils.ObjectUtils;
-import cn.huge.base.common.utils.ReturnFailUtils;
-import cn.huge.base.common.utils.ReturnSucUtils;
+import cn.huge.base.common.utils.*;
import cn.huge.module.kind.domain.po.SyRegion;
import cn.huge.module.kind.service.SyRegionService;
import cn.huge.module.sys.dto.QueAddrBaseDTO;
@@ -48,7 +46,9 @@
@GetMapping("/checkRegisterArea")
public Object checkRegisterArea(@RequestParam(value = "lng") String lng, @RequestParam(value = "lat") String lat) {
try {
- BaiduMapAddrDTO baiduMapAddrDTO = BaiduMapUtils.getAddrByLngLat(lng, lat, BaiduMapUtils.coordtype_bd09ll);
+ //经纬度转换
+ PointXY pointXY = MapUtils.gcj02tobd09(Double.valueOf(lng), Double.valueOf(lat));
+ BaiduMapAddrDTO baiduMapAddrDTO = BaiduMapUtils.getAddrByLngLat(String.valueOf(pointXY.getLon()), String.valueOf(pointXY.getLat()), BaiduMapUtils.coordtype_bd09ll);
QueryWrapper<SyRegion> syRegionQueryWrapper = new QueryWrapper<>();
// 查询区
syRegionQueryWrapper.clear();
@@ -56,12 +56,12 @@
SyRegion district = service.getOne(syRegionQueryWrapper);
if (ObjectUtils.isNotEmpty(district)) {
if (GzAreaEnum.GZAREAEnum_7.getIndex().equals(district.getId())) {
- return ReturnSucUtils.getRepInfo();
+ return ReturnSucUtils.getRepInfo(true);
} else {
- return ReturnSucUtils.getRepInfo(200, "反映诉求服务目前仅支持纠纷发生地为白云区内的申请。", null);
+ return ReturnSucUtils.getRepInfo("反映诉求服务目前仅支持纠纷发生地为白云区内的申请。", false);
}
}else {
- return ReturnSucUtils.getRepInfo(200, "反映诉求服务目前仅支持纠纷发生地为白云区内的申请。", null);
+ return ReturnSucUtils.getRepInfo("反映诉求服务目前仅支持纠纷发生地为白云区内的申请。", false);
}
} catch (Exception e) {
return ReturnFailUtils.getRepInfo();
--
Gitblit v1.8.0