forked from gzzfw/backEnd/gz-dyh

zhouxiantao
2024-09-11 4500116a9a66351ff38d9a331e5c805a0ac3a153
小程序登记,补状态
1 files added
3 files modified
273 ■■■■■ changed files
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/wechat/CaseEvaluateWechatController.java 192 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/wechat/CaseInfoWechatController.java 3 ●●●● patch | view | raw | blame | history
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseEvaluateService.java 29 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java 49 ●●●● patch | view | raw | blame | history
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;
    }