From 0afc0d40e019c168d47a79e90bdff2aba29ad553 Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期五, 26 一月 2024 16:47:10 +0800 Subject: [PATCH] 开发业务接口 --- server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java | 85 +++++++++++++++++++++++++++--------------- 1 files changed, 54 insertions(+), 31 deletions(-) diff --git a/server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java index 063f9f1..6f15c4d 100644 --- a/server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java +++ b/server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java @@ -100,7 +100,7 @@ InsuranceApply update = new InsuranceApply(); update.setEditDate(new Date()); update.setEditor(user.getId()); - update.setStatus(Constants.InsuranceApplyStatus.PLATFORM_RETURN.getKey()); + update.setStatus(Constants.InsuranceApplyStatus.FAIL_RETURN.getKey()); update.setCheckDate(update.getEditDate()); update.setCheckInfo(insuranceApply.getCheckInfo()); update.setCheckUserId(user.getId()); @@ -530,14 +530,14 @@ } /** - * 瀹℃牳閫氳繃 + * 瀹℃牳閫氳繃鎴栬�呬笉閫氳繃 * @param insuranceApply * @return */ @Override @Transactional(rollbackFor = {Exception.class,BusinessException.class}) public Integer check(InsuranceApply insuranceApply) { - if(insuranceApply.getId() == null ||StringUtils.isBlank(insuranceApply.getCheckInfo())){ + if(insuranceApply.getId() == null || StringUtils.isBlank(insuranceApply.getCheckInfo())){ throw new BusinessException(ResponseStatus.BAD_REQUEST); } InsuranceApply model = insuranceApplyMapper.selectById(insuranceApply.getId()); @@ -548,19 +548,28 @@ if(!Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.UPLOAD.getKey())){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ョ敵璇风姸鎬佸凡娴佽浆锛屽綋鍓嶄笉鏀寔璇ユ搷浣渵"); } + + Constants.ApplyLogType applyLogType = null; LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); InsuranceApply update = new InsuranceApply(); update.setEditDate(new Date()); update.setEditor(user.getId()); - update.setStatus(Constants.InsuranceApplyStatus.PLATFORM_CHECK_PASS.getKey()); update.setCheckDate(update.getEditDate()); update.setCheckInfo(insuranceApply.getCheckInfo()); update.setCheckUserId(user.getId()); update.setId(model.getId()); + if(insuranceApply.getDealBackApply() ==1){ + //濡傛灉鏄笉閫氳繃 + applyLogType = Constants.ApplyLogType.PLATFORM_RETURN ; + update.setStatus(Constants.InsuranceApplyStatus.PLATFORM_RETURN.getKey()); + }else{ + applyLogType = Constants.ApplyLogType.PLATFORM_CHECK_PASS; + update.setStatus(Constants.InsuranceApplyStatus.PLATFORM_CHECK_PASS.getKey()); + } insuranceApplyMapper.updateById(update); - - Constants.ApplyLogType applyLogType = Constants.ApplyLogType.PLATFORM_CHECK_PASS; - ApplyLog log = new ApplyLog(update,applyLogType.getName(),null,update.getId(),applyLogType.getKey(),JSONObject.toJSONString(model), JSONObject.toJSONString(update)); + String info =applyLogType.getInfo(); + info = info.replace("${param}", update.getCheckInfo()); + ApplyLog log = new ApplyLog(update,applyLogType.getName(),info,update.getId(),applyLogType.getKey(),JSONObject.toJSONString(model), JSONObject.toJSONString(update)); applyLogMapper.insert(log); return 1; @@ -763,11 +772,14 @@ queryWrapper.selectAs(Solutions::getName,InsuranceApply::getSolutionsName); queryWrapper.select(" DATEDIFF( t.END_TIME ,now() ) AS loseEfficacyDays "); queryWrapper.select(" ( select count(1) from apply_detail ad where ad.apply_id = t.id ) as insureNum"); - queryWrapper.select(" ( select sum(td.fee) from taxes ts inner join tax_detial td on td.TAX_ID = ts.id where ts.status != 2 and td.INSURANCE_APPLY_ID = t.id ) as taxesMoney"); - queryWrapper.select(" ( select td.CREATE_DATE from taxes ts inner join tax_detial td on td.TAX_ID = ts.id where ts.status != 2 and td.INSURANCE_APPLY_ID = t.id order by td.CREATE_DATE desc limit 1 ) as taxesLast "); + if(!Objects.isNull(pageWrap.getModel())&&!Objects.isNull(pageWrap.getModel().getType())){ + queryWrapper.select(" ( select sum(td.fee) from taxes ts inner join tax_detial td on td.TAX_ID = ts.id where ts.status != 2 and td.INSURANCE_APPLY_ID = t.id ) as taxesMoney"); + queryWrapper.select(" ( select td.CREATE_DATE from taxes ts inner join tax_detial td on td.TAX_ID = ts.id where ts.status != 2 and td.INSURANCE_APPLY_ID = t.id order by td.CREATE_DATE desc limit 1 ) as taxesLast "); + } queryWrapper.leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId); queryWrapper.leftJoin(Company.class,Company::getId,InsuranceApply::getCompanyId); queryWrapper.eq(InsuranceApply::getIsdeleted,Constants.ZERO); + queryWrapper.eq(pageWrap.getModel().getBaseSolutionId()!=null,Solutions::getBaseId,pageWrap.getModel().getBaseSolutionId()); queryWrapper.in(statusList.size()>0,InsuranceApply::getStatus,statusList); if(Constants.equalsInteger(pageWrap.getModel().getStatusCollect(),Constants.THREE) ){ queryWrapper.eq(InsuranceApply::getStatus,Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey()); @@ -817,18 +829,24 @@ PageData<InsuranceApply> pageData = PageData.from(insuranceApplyJoinMapper.selectJoinPage(page,InsuranceApply.class, queryWrapper)); if(pageData.getRecords()!=null){ for (InsuranceApply apply : pageData.getRecords()){ - apply.setStatusCollect(Constants.InsuranceApplyStatus.getCollectStatus(apply.getStatus())); - if(Constants.equalsInteger(apply.getStatusCollect(),Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey())){ - //濡傛灉宸插畬鎴� - if(apply.getEndTime()==null || System.currentTimeMillis()>apply.getEndTime().getTime()){ - apply.setStatusCollect(Constants.THREE);//宸茶繃鏈� - } - } - } + initApplyStatus(apply) ; + } } return pageData; } + public void initApplyStatus(InsuranceApply apply){ + apply.setStatusCollect(Constants.InsuranceApplyStatus.getCollectStatus(apply.getStatus())); + if(Constants.equalsInteger(apply.getStatusCollect(),Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey())){ + //濡傛灉宸插畬鎴� + if(apply.getEndTime()==null || System.currentTimeMillis()>apply.getEndTime().getTime()){ + apply.setStatusCollect(Constants.THREE);//宸茶繃鏈� + } + } + setServiceDays(apply); + apply.setStatusInfo(Constants.ApplyCollectStatus.getName(apply.getStatusCollect())); + + } @Override public List<InsuranceApply> findListByDTO(InsuranceApplyQueryDTO model) { @@ -899,6 +917,7 @@ .selectAll(InsuranceApply.class) .selectAs(Solutions::getName,InsuranceApply::getSolutionsName) .selectAs(Company::getName,ApplyLog::getCompanyName) + .select(" ( select count(1) from apply_detail ad where ad.apply_id = t.id ) as insureNum") .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId) .leftJoin(Company.class,Company::getId,InsuranceApply::getCompanyId) .eq(InsuranceApply::getId,id) @@ -908,21 +927,8 @@ if(Objects.isNull(insuranceApply)){ throw new BusinessException(ResponseStatus.DATA_EMPTY); } - insuranceApply.setInsureNum(applyDetailMapper.selectCount(new QueryWrapper<ApplyDetail>().lambda().eq(ApplyDetail::getApplyId,insuranceApply.getId()) - .eq(ApplyDetail::getIsdeleted,Constants.ZERO))); - //璁剧疆鍦ㄤ繚鏃堕暱锛堝ぉ鏁帮級 - if(insuranceApply.getStatus().equals(Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey())){ - //濡傛灉褰撳墠鏃堕棿澶т簬缁撴潫鏃ユ湡 鍒欎娇鐢ㄧ粨鏉熸棩鏈熷姣斿紑濮嬫棩鏈� - if(DateUtil.compareDate(new Date(),insuranceApply.getEndTime())>=Constants.ZERO){ - insuranceApply.setServiceDays(DateUtil.daysBetweenDates(insuranceApply.getEndTime(),insuranceApply.getStartTime())); - }else if(DateUtil.compareDate(insuranceApply.getStartTime(),new Date())>=Constants.ZERO){ - //鏈紑濮� - insuranceApply.setServiceDays(Constants.ZERO); - }else{ - insuranceApply.setServiceDays(DateUtil.daysBetweenDates(new Date(),insuranceApply.getStartTime())); - } - } + initApplyStatus(insuranceApply); //鏌ヨ闄勪欢鏁版嵁 initImgData(insuranceApply); @@ -941,6 +947,23 @@ insuranceApply.setApplyLogList(applyLogList); return insuranceApply; } + + private void setServiceDays(InsuranceApply insuranceApply) { + //璁剧疆鍦ㄤ繚鏃堕暱锛堝ぉ鏁帮級 + insuranceApply.setServiceDays(Constants.ZERO); + if(insuranceApply.getStatus().equals(Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey())){ + //濡傛灉褰撳墠鏃堕棿澶т簬缁撴潫鏃ユ湡 鍒欎娇鐢ㄧ粨鏉熸棩鏈熷姣斿紑濮嬫棩鏈� + if(DateUtil.compareDate(new Date(),insuranceApply.getEndTime())>=Constants.ZERO){ + insuranceApply.setServiceDays(DateUtil.daysBetweenDates(insuranceApply.getEndTime(),insuranceApply.getStartTime())); + }else if(DateUtil.compareDate(insuranceApply.getStartTime(),new Date())>=Constants.ZERO){ + //鏈紑濮� + insuranceApply.setServiceDays(Constants.ZERO); + }else{ + insuranceApply.setServiceDays(DateUtil.daysBetweenDates(new Date(),insuranceApply.getStartTime())); + } + } + } + private void initImgData(InsuranceApply model) { List<Multifile> multifiles = multifileMapper.selectList(new QueryWrapper<Multifile>().lambda() .eq(Multifile::getObjId,model.getId()) -- Gitblit v1.9.3