dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/wechat/CaseEvaluateWechatController.java
New file @@ -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(); } } } 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); 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); } } } 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; }