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_------------------- 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(); } } } 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 { } 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 { } 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; 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; } 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; } 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; 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; } } 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();