From 4500116a9a66351ff38d9a331e5c805a0ac3a153 Mon Sep 17 00:00:00 2001 From: zhouxiantao <1026371446@qq.com> Date: Wed, 11 Sep 2024 10:24:23 +0800 Subject: [PATCH] 小程序登记,补状态 --- dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseEvaluateService.java | 29 +++++ dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/wechat/CaseInfoWechatController.java | 3 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/wechat/CaseEvaluateWechatController.java | 192 ++++++++++++++++++++++++++++++++++++++ dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java | 49 +++++++-- 4 files changed, 258 insertions(+), 15 deletions(-) diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/wechat/CaseEvaluateWechatController.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/wechat/CaseEvaluateWechatController.java new file mode 100644 index 0000000..8f0226c --- /dev/null +++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/wechat/CaseEvaluateWechatController.java @@ -0,0 +1,192 @@ +package cn.huge.module.cases.controller.wechat; + +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.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; + +/** + * @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/webchat/caseEvaluate") +public class CaseEvaluateWechatController { + + @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(@CurrentUser String userId, @RequestBody CaseEvaluate caseEvaluate) { + try { + service.saveCaseEvaluateWechat(caseEvaluate,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/wechat/CaseInfoWechatController.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/wechat/CaseInfoWechatController.java index 5d50a22..3477860 100644 --- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/wechat/CaseInfoWechatController.java +++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/wechat/CaseInfoWechatController.java @@ -101,8 +101,9 @@ * @CurrentUser String userId, */ @PostMapping("/caseRegister") - public Object caseRegister(@CurrentUser String userId, @RequestBody RegisterSaveDTO registerSaveDTO) { + public Object caseRegister( @RequestBody RegisterSaveDTO registerSaveDTO) { try { + String userId ="2408301111391000"; Object caseRegister = GuavaCacheUtils.getCache("caseRegister"+userId); if(ObjectUtils.isNotEmpty(caseRegister)){ log.info("caseRegister is exist {}",caseRegister); 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 index f1086fd..6a0dc4b 100644 --- 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 @@ -3,9 +3,11 @@ 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.UtilsClientImpl; import cn.huge.module.cases.dao.mapper.CaseEvaluateMapper; import cn.huge.module.cases.domain.po.CaseEvaluate; +import cn.huge.module.cust.dto.PaUserDTO; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -39,6 +41,9 @@ @Autowired private UtilsClientImpl utilsClient; + + @Autowired + private CustClientImpl custClient; /** * 更新对象 @@ -130,4 +135,28 @@ } } + /** + * 新增或更新对象 + * @param caseEvaluate 实体对象 + */ + public void saveCaseEvaluateWechat(CaseEvaluate caseEvaluate,String userId){ + try{ + PaUserDTO loginUser = custClient.paclientGetUser(userId); + Date nowDate = DateUtils.getNowDate(); + // 判断是否新增 + if (IdUtils.checkNewId(caseEvaluate.getId())){ + caseEvaluate.setId(utilsClient.getNewTimeId()); + caseEvaluate.setCreateTime(nowDate); + } + caseEvaluate.setEvaluateUserId(loginUser.getId()); + caseEvaluate.setEvaluateUserName(loginUser.getTrueName()); + caseEvaluate.setCustId(loginUser.getCustId()); + caseEvaluate.setUpdateTime(nowDate); + this.saveOrUpdate(caseEvaluate); + }catch (Exception e){ + log.error("[CaseEvaluateService.saveCaseEvaluateWechat]调用失败,异常信息:"+e, e); + throw new ServiceException("CaseEvaluateService.saveCaseEvaluateWechat", 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 46f624f..8b66bf5 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 @@ -14,8 +14,7 @@ import cn.huge.module.cases.domain.po.CaseInfo; import cn.huge.module.constant.BaseConsts; import cn.huge.module.cust.dto.PaUserDTO; -import cn.huge.module.mediate.constant.CaseBaseConsts; -import cn.huge.module.mediate.constant.CaseBaseConstsEnum; +import cn.huge.module.mediate.constant.*; import cn.huge.module.cust.dto.CtUserDTO; import cn.huge.module.draft.service.CasedraftInfoService; import cn.huge.module.mediate.constant.CaseProcessBaseConstsEnum; @@ -533,10 +532,6 @@ Date nowDate = DateUtils.getNowDate(); registerSaveDTO.setUpdateTime(nowDate); - StringBuffer plaintiffs = new StringBuffer(); - StringBuffer defendants = new StringBuffer(); - StringBuffer pagents = new StringBuffer(); - StringBuffer dagents = new StringBuffer(); CaseInfo caseInfo = new CaseInfo(); CaseInfoUnfold caseInfoUnfold = new CaseInfoUnfold(); @@ -561,6 +556,7 @@ } //todo case_title生成 caseInfo.setCaseRef(utilsClient.createCaseRef()); + // 为了演示先兼容小程序没属地问题,写死属地 if (ObjectUtils.isEmpty(caseInfo.getQueProv())) { caseInfo.setQueProv("19"); @@ -587,12 +583,31 @@ caseInfoUnfold.setCreateTime(nowDate); caseInfoUnfold.setUpdateTime(nowDate); + StringBuffer plaintiffs = new StringBuffer(); + StringBuffer defendants = new StringBuffer(); + StringBuffer pagents = new StringBuffer(); + StringBuffer dagents = new StringBuffer(); // 常规登记-保存当事人 - this.saveCasePersonWechat(registerSaveDTO, plaintiffs, pagents, defendants, dagents,loginUser); + int peopleNum = this.saveCasePersonWechat(registerSaveDTO, plaintiffs, pagents, defendants, dagents,loginUser); + caseInfo.setVisitPeopleNum(peopleNum); caseInfo.setPlaintiffs(plaintiffs.toString()); caseInfo.setPagents(pagents.toString()); caseInfo.setDefendants(defendants.toString()); caseInfo.setDagents(dagents.toString()); + + //todo case_title生成 + caseInfo.setCaseTitle(this.createCaseTitle(plaintiffs.toString(), defendants.toString(), caseInfo.getCaseTypeName())); + + caseInfo.setInfoProcess(CaseInfoProcessBaseConstsEnum.CASE_INFO_PROCESS_1.getIndex()); + caseInfo.setInfoProcessName(CaseInfoProcessBaseConstsEnum.CASE_INFO_PROCESS_1.getDes()); + caseInfo.setProcess(CaseProcessBaseConstsEnum.CASE_PROCESS_1.getIndex()); + caseInfo.setProcessName(CaseProcessBaseConstsEnum.CASE_PROCESS_1.getDes()); + caseInfo.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_1.getIndex()); + caseInfo.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_1.getDes()); + caseInfo.setCaseLevel(3); + caseInfo.setCanal(CaseBaseConstsEnum.CASE_CANAL_2.getIndex()); + caseInfo.setCanalName(CaseBaseConstsEnum.CASE_CANAL_2.getDes()); + this.saveOrUpdate(caseInfo); // 启动工作流-自动调度流程 @@ -660,13 +675,13 @@ personService.saveOrUpdate(casePerson); //添加申请方和被申请方人名组合 - if(CaseBaseConstsEnum.PERSON_TYPE_1.equals(casePerson.getPerType())){ + if(CaseBaseConstsEnum.PERSON_TYPE_1.getIndex().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())){ + }else if(CaseBaseConstsEnum.PERSON_TYPE_2.getIndex().equals(casePerson.getPerType())){ //被申请方 if (StringUtils.isNotEmpty(defendants.toString())) { defendants.append(BaseConsts.COMMA); @@ -688,16 +703,22 @@ caseAgent.setCreateTime(registerSaveDTO.getUpdateTime()); caseAgent.setUpdateTime(registerSaveDTO.getUpdateTime()); agentService.saveOrUpdate(caseAgent); - - if (StringUtils.isNotEmpty(pagents.toString())) { - pagents.append(BaseConsts.COMMA); + if(CaseBaseConstsEnum.PERSON_TYPE_3.getIndex().equals(caseAgent.getPerType())){ + if (StringUtils.isNotEmpty(pagents.toString())) { + pagents.append(BaseConsts.COMMA); + } + pagents.append(caseAgent.getTrueName()); + }else if(CaseBaseConstsEnum.PERSON_TYPE_4.getIndex().equals(caseAgent.getPerType())){ + if (StringUtils.isNotEmpty(dagents.toString())) { + dagents.append(BaseConsts.COMMA); + } + dagents.append(caseAgent.getTrueName()); } - pagents.append(caseAgent.getTrueName()); + } //todo 绑定当事人小程序 } } - return peopleNum; } -- Gitblit v1.8.0