forked from gzzfw/backEnd/gz-dyh

zhouxiantao
2024-09-27 b0a34952a61975657bd3a2386fe38047c4e03723
小程序催办
10 files modified
146 ■■■■■ changed files
dyh-service/dyh-base/src/main/java/cn/huge/base/common/utils/DateUtils.java 13 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/wechat/CaseUrgingWechatController.java 34 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/bo/CaseAgentBO.java 2 ●●● patch | view | raw | blame | history
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/bo/CasePersonBO.java 2 ●●● patch | view | raw | blame | history
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/RegisterSaveDTO.java 2 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseAgent.java 11 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CasePerson.java 6 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java 22 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseUrgingService.java 40 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-sys/src/main/java/cn/huge/module/kind/controller/wechat/SyregionWechatController.java 14 ●●●● patch | view | raw | blame | history
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();