From 02bc3bfe47e3d5311a0bb041c94e70a34b1ca73c Mon Sep 17 00:00:00 2001 From: k94314517 <8417338+k94314517@user.noreply.gitee.com> Date: 星期二, 09 四月 2024 09:03:01 +0800 Subject: [PATCH] git ch --- server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java | 189 ++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 152 insertions(+), 37 deletions(-) diff --git a/server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java index 2b869a4..75cef66 100644 --- a/server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java +++ b/server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java @@ -135,13 +135,17 @@ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鏈煡璇㈠埌鏂规淇℃伅"); } - if( -// Constants.equalsInteger(model.getStatus(),Constants.ApplyChangeStatus.UPLOAD.getKey()) -// ||Constants.equalsInteger(model.getStatus(),Constants.ApplyChangeStatus.SIGNATURE.getKey()) -// || - Constants.equalsInteger(model.getStatus(),Constants.ApplyChangeStatus.APPROVE.getKey())){ - //宸叉彁浜ゅ拰宸插畬鎴愮姸鎬佷笉鏀寔瀹℃牳涓嶉�氳繃 - throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ョ敵璇风姸鎬佸凡娴佽浆锛屽綋鍓嶄笉鏀寔璇ユ搷浣渵"); + if(Constants.equalsInteger(solutions.getType(),Constants.ZERO)){ + if(Constants.equalsInteger(model.getStatus(),Constants.ApplyChangeStatus.APPROVE.getKey())){ + //宸叉彁浜ゅ拰宸插畬鎴愮姸鎬佷笉鏀寔瀹℃牳涓嶉�氳繃 + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ョ敵璇风姸鎬佸凡娴佽浆锛屽綋鍓嶄笉鏀寔璇ユ搷浣渵"); + } + }else if(Constants.equalsInteger(solutions.getType(),Constants.ZERO)){ + if(Constants.equalsInteger(model.getStatus(),Constants.ApplyChangeStatus.UPLOAD.getKey()) + || Constants.equalsInteger(model.getStatus(),Constants.ApplyChangeStatus.SIGNATURE.getKey()) ){ + //宸叉彁浜ゅ拰宸插畬鎴愮姸鎬佷笉鏀寔瀹℃牳涓嶉�氳繃 + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ョ敵璇风姸鎬佸凡娴佽浆锛屽綋鍓嶄笉鏀寔璇ユ搷浣渵"); + } } LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); ApplyChange update = new ApplyChange(); @@ -776,9 +780,9 @@ if (Objects.isNull(insuranceApply)) { throw new BusinessException(ResponseStatus.DATA_EMPTY); } - if (!(Constants.equalsInteger(insuranceApply.getStatus(), - Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey())||Constants.equalsInteger(insuranceApply.getStatus(), - Constants.InsuranceApplyStatus.WTB_DONE.getKey())) + if (!(Constants.equalsInteger(insuranceApply.getStatus(), Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey()) + ||Constants.equalsInteger(insuranceApply.getStatus(), Constants.InsuranceApplyStatus.WTB_DONE.getKey()) + ) ) { throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(), "淇濆崟鐘舵�侀敊璇�"); } @@ -1092,6 +1096,8 @@ if (applyChange.getValidTime().compareTo(applyDetail.getEndTime()) > 0) { throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "鍑忎繚浜哄憳銆�" + applyChagneDetail.getMemberName() + "銆戜繚鍗曚繚闅滄棩鏈熻嚦锛氥��" + applyDetail.getEndTime() + "銆戞棤娉曢�氳繃鏈鐢宠"); } + + applyChagneDetail.setPrice(applyDetail.getPrice()); applyChagneDetail.setCreateDate(new Date()); applyChagneDetail.setCreator(loginUserInfo.getId()); applyChagneDetail.setIsdeleted(Constants.ZERO); @@ -1145,6 +1151,13 @@ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "褰撳墠淇濆崟涓嬶紝鍔犱繚浜哄憳銆�" + applyChagneDetail.getMemberName() + "銆戝瓨鍦ㄦ棩鏈熷啿绐佺殑鏁版嵁"); } + ApplyDetail applyDetail = applyDetailJoinMapper.selectOne(new QueryWrapper<ApplyDetail>() + .lambda() + .eq(ApplyDetail::getApplyId,applyChange.getApplyId()).last("limit 1")); + if(Objects.isNull(applyDetail)){ + throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "淇濆崟涓湭瀛樺湪鏄庣粏璁板綍"); + } + applyChagneDetail.setPrice(applyDetail.getPrice()); applyChagneDetail.setCreateDate(new Date()); applyChagneDetail.setCreator(loginUserInfo.getId()); applyChagneDetail.setIsdeleted(Constants.ZERO); @@ -1314,6 +1327,7 @@ && applyChagneDetail.getOldWorktypeId().equals(applyChagneDetail.getWorktypeId())){ throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(), "鎹㈠巶浜哄憳銆�" + applyChagneDetail.getMemberName() + "銆戞崲鍘傛暟鎹浉鍚岋紒"); } + applyChagneDetail.setPrice(applyDetail.getPrice()); applyChagneDetail.setCreateDate(new Date()); applyChagneDetail.setCreator(loginUserInfo.getId()); applyChagneDetail.setIsdeleted(Constants.ZERO); @@ -1503,15 +1517,110 @@ queryWrapper.orderByDesc(ApplyDetail::getCreateDate); -// for(PageWrap.SortData sortData: pageWrap.getSorts()) { -// if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { -// queryWrapper.orderByDesc(sortData.getProperty()); -// } else { -// queryWrapper.orderByAsc(sortData.getProperty()); -// } -// } PageData<ApplyChange> pageData = PageData.from(applyChangeJoinMapper.selectJoinPage(page,ApplyChange.class, queryWrapper)); return pageData; + } + + @Override + public List<ApplyChange> findListForCompany(ApplyChange model) { + MPJLambdaWrapper<ApplyChange> queryWrapper = new MPJLambdaWrapper<>(); + queryWrapper + .selectAll(ApplyChange.class) + .selectAs(InsuranceApply::getCode,ApplyChange::getApplyCode) + .selectAs(InsuranceApply::getStartTime,ApplyChange::getStartTime) + .selectAs(InsuranceApply::getCode,ApplyChange::getValidCode) + .selectAs(InsuranceApply::getEndTime,ApplyChange::getEndTime) + .selectAs(Solutions::getName,ApplyChange::getSolutionsName) + .selectAs(Solutions::getType,ApplyChange::getSolutionType) + .selectAs(Company::getName,ApplyChange::getCompanyName) + .select("( select count(1) from apply_chagne_detail ad where t.id = ad.APPLY_CHANGE_ID and ad.TYPE = 0 )",ApplyChange::getAddNum) + .select("( select count(1) from apply_chagne_detail ad where t.id = ad.APPLY_CHANGE_ID and ad.TYPE = 1 )",ApplyChange::getDelNum) + .select("( select count(1) from apply_chagne_detail ad where t.id = ad.APPLY_CHANGE_ID and ad.TYPE = 2 )",ApplyChange::getChangeNum) + .select("( select ifnull(sum(ad.FEE),0) from apply_chagne_detail ad where t.id = ad.APPLY_CHANGE_ID )",ApplyChange::getChangeMoney) + .leftJoin(InsuranceApply.class,InsuranceApply::getId,ApplyChange::getApplyId) + .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId) + .leftJoin(Company.class,Company::getId,InsuranceApply::getCompanyId) + .eq(!Objects.isNull(model.getType()),ApplyChange::getType,model.getType()) + .eq(!Objects.isNull(model.getStatus())&&!model.getStatus().equals(Constants.ApplyChangeStatus.RETURN_APPLY_UPLOAD.getKey()),ApplyChange::getStatus,model.getStatus()) + .in(!Objects.isNull(model.getStatus())&&model.getStatus().equals(Constants.ApplyChangeStatus.RETURN_APPLY_UPLOAD.getKey()), + ApplyChange::getStatus, + Constants.ApplyChangeStatus.RETURN_APPLY_UPLOAD.getKey(), + Constants.ApplyChangeStatus.RETURN_APPLY_SIGNATURE.getKey()) + .eq(!Objects.isNull(model.getUnionApplyId()),InsuranceApply::getUnionApplyId,model.getUnionApplyId()) +// .eq(!Objects.isNull(model.getSolutionsId()),ApplyChange::getSolutionsId,model.getSolutionsId()) + .eq(!Objects.isNull(model.getSolutionType()),Solutions::getType,model.getSolutionType()) + .eq(!Objects.isNull(model.getApplyId()),ApplyChange::getApplyId,model.getApplyId()) + .eq(!Objects.isNull(model.getUnionChangeId()),ApplyChange::getUnionChangeId,model.getUnionChangeId()) + .eq(!Objects.isNull(model.getBaseSolutionsId()),Solutions::getBaseId,model.getBaseSolutionsId()) + .like(StringUtils.isNotBlank(model.getSolutionsName()),Solutions::getName,model.getSolutionsName()) + .ge(StringUtils.isNotBlank(model.getCreateDateS()),ApplyChange::getCreateDate, model.getCreateDateS()+" 00:00:00" ) + .le(StringUtils.isNotBlank(model.getCreateDateE()),ApplyChange::getCreateDate, model.getCreateDateE()+" 23:59:59" ) + .ge(StringUtils.isNotBlank(model.getApplyStartS()),ApplyChange::getApplyStartTime, model.getApplyStartS()+" 00:00:00" ) + .le(StringUtils.isNotBlank(model.getApplyStartE()),ApplyChange::getApplyStartTime, model.getApplyStartE()+" 23:59:59" ); + LoginUserInfo loginUserInfo =(LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); + //浼佷笟浜哄憳鏌ョ湅鏈紒涓氭暟鎹� + if(loginUserInfo.getType().equals(Constants.ONE)){ + queryWrapper.eq(InsuranceApply::getCompanyId, loginUserInfo.getCompanyId()); + }else if(loginUserInfo.getType().equals(Constants.TWO)){ + //濡傛灉鏄晢鎴锋煡鐪� + if(model.getSolutionType()!=null && model.getSolutionType() ==0){ + queryWrapper.exists("select cs.id from company_solution cs where cs.isdeleted=0 and cs.company_id=t1.company_id and cs.shop_id="+loginUserInfo.getCompanyId()); + }else if(model.getSolutionType()!=null && model.getSolutionType() ==1){ + queryWrapper.eq(Solutions::getShopId,loginUserInfo.getCompanyId()); + }else{ + queryWrapper.apply("((t2.type=0 and exists(select cs.id from company_solution cs where cs.isdeleted=0 and cs.company_id=t1.company_id and cs.shop_id="+loginUserInfo.getCompanyId()+")) or (" + + "t2.type=1 and t2.shop_id="+loginUserInfo.getCompanyId()+"))") ; + } + }else{ + if(loginUserInfo.getCompanyIdList()!=null && loginUserInfo.getCompanyIdList().size()>0){ + queryWrapper.in(InsuranceApply::getCompanyId, loginUserInfo.getCompanyIdList()); + }else{ + queryWrapper.eq(InsuranceApply::getCompanyId, -1); + } + queryWrapper.eq(model.getCompanyId()!=null,InsuranceApply::getCompanyId, model.getCompanyId()); + } + + queryWrapper.orderByDesc(ApplyDetail::getCreateDate); + List<ApplyChange> list =applyChangeJoinMapper.selectJoinList(ApplyChange.class,queryWrapper); + if(Constants.equalsObject(model.getGetFiles(),Constants.ONE)){ + //濡傛灉鏄悎骞跺崟,闇�瑕佹煡璇㈤檮浠朵俊鎭� + initFileForList(list); + } + return list; + } + private void initFileForList(List<ApplyChange> list) { + List<Integer> objList = new ArrayList<>(); + if(list!=null && list.size()>0){ + for(ApplyChange param : list){ + objList.add(param.getId()); + } + }else{ + return; + } + List<Multifile> multifiles = multifileMapper.selectList(new QueryWrapper<Multifile>().lambda() + .in(Multifile::getObjId,objList) + .in(Multifile::getObjType,Arrays.asList(new Integer[]{Constants.MultiFile.CA_PD_PDF.getKey()})) + .eq(Multifile::getIsdeleted,Constants.ZERO) + .orderByAsc(Multifile::getId)); + if(multifiles!=null && multifiles.size()>0){ + String path = systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode() + +systemDictDataBiz.queryByCode(Constants.OSS,Constants.APPLY_FILE).getCode(); + for(ApplyChange model : list){ + for(Multifile f : multifiles) { + if (StringUtils.isBlank(f.getFileurl())) { + continue; + } + f.setFileurlFull(path+f.getFileurl()); + if(Constants.equalsInteger(f.getObjId(), model.getId()) ){ + if (Constants.equalsInteger(f.getObjType(), Constants.MultiFile.CA_PD_PDF.getKey())) { + //绛剧讲鍓嶇殑鎶曚繚鍗� + model.setPidanFile(f); + } + } + } + } + } + } @@ -1606,14 +1715,11 @@ }else if(applyChangeOptDTO.getOptType().equals(6)){ //浼佷笟鍏抽棴 applyLogType = Constants.ApplyLogType.CA_COMPANY_CLOSE; - if(!loginUserInfo.getType().equals(Constants.ONE)){ - throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炰紒涓氱鐢ㄦ埛鏃犳硶杩涜璇ユ搷浣�"); - } - if(!applyChange.getStatus().equals(Constants.ApplyChangeStatus.PLATFORM_AGREE.getKey())){ + if(!(applyChange.getStatus().equals(Constants.ApplyChangeStatus.PLATFORM_AGREE.getKey()) + ||applyChange.getStatus().equals(Constants.ApplyChangeStatus.CHECHED_PASSED.getKey()))){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏁版嵁鐘舵�侀敊璇棤娉曡繘琛岃鎿嶄綔!"); } applyChange.setStatus(Constants.ApplyChangeStatus.CLOSE.getKey()); - //瀛樺偍寰呭姙淇℃伅 //鍒犻櫎鍏朵粬寰呭姙 noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,applyChange.getId())); @@ -1673,10 +1779,10 @@ applyChange.setApplyLogList(applyLogList); List<Multifile> multifiles = multifileMapper.selectList(new QueryWrapper<Multifile>().lambda() - .eq(Multifile::getObjId,Constants.equalsInteger(applyChange.getSolutionType(),Constants.ZERO)? applyChange.getId():applyChange.getUnionChangeId()) - .in(Multifile::getObjType, Arrays.asList(new Integer[]{Constants.MultiFile.CA_APPLY_JIAJIAN_SIGN.getKey() - ,Constants.MultiFile.CA_PD_PDF.getKey() - ,Constants.MultiFile.CA_APPLY_CHANGEUNIT_SIGN.getKey()})) + .eq(Multifile::getObjId, applyChange.getId() ) +// .in(Multifile::getObjType, Arrays.asList(new Integer[]{Constants.MultiFile.CA_APPLY_JIAJIAN_SIGN.getKey() +// ,Constants.MultiFile.CA_PD_PDF.getKey() +// ,Constants.MultiFile.CA_APPLY_CHANGEUNIT_SIGN.getKey()})) .eq(Multifile::getIsdeleted,Constants.ZERO)); if(multifiles!=null){ String path = systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode() @@ -1749,9 +1855,9 @@ } LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); Company company = user.getCompany(); - if(debugModel){ + /*if(debugModel){ company = companyMapper.selectById(model.getCompanyId()); - } + }*/ if(company== null || StringUtils.isBlank( company.getEmail()) || !Constants.equalsInteger(company.getSignStatus(),Constants.THREE)){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝浼佷笟灏氭湭鍏峰鍦ㄧ嚎绛剧珷鏉′欢锛岃鑱旂郴骞冲彴绠$悊鍛樼‘璁"); } @@ -1899,6 +2005,10 @@ if(Objects.isNull(solutions)){ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈡柟妗堜俊鎭�"); } + ApplyDetail applyDetail = applyDetailJoinMapper.selectOne(new QueryWrapper<ApplyDetail>().lambda().eq(ApplyDetail::getIsdeleted,Constants.ZERO).eq(ApplyDetail::getApplyId,insuranceApply.getId()).last("limit 1")); + if(Objects.isNull(applyDetail)){ + throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌淇濆崟鏄庣粏璁板綍"); + } //鏍规嵁鎵瑰崟鏃ユ湡 鍜� 缁撴潫鏃ユ湡 璁$畻閲戦 //楠岃瘉鎵瑰崟鏃ユ湡鏄惁鍦ㄥ綋鍓嶆棩鏈熷悗 涓� 鍦ㄤ繚鍗曠粨鏉熸棩鏈熷墠 鐢宠鏃堕棿蹇呴』澶勪簬淇濆崟鐨勬椂闂磋寖鍥村唴 if (!(DateUtil.compareDate( insuranceApply.getStartTime(),applyChangeCyclePriceDTO.getValidTime()) >= Constants.ZERO @@ -1915,7 +2025,8 @@ BigDecimal sumPrice = countCyclePriceVO.getCyclePrice(); CountCyclePriceVO returnCountCyclePriceVO = new CountCyclePriceVO(); //鍔犲噺淇濋噾棰� - returnCountCyclePriceVO.setCyclePrice(sumPrice.multiply(new BigDecimal(optDays)).divide(new BigDecimal(sumDays),2, RoundingMode.HALF_UP)); +// returnCountCyclePriceVO.setCyclePrice(sumPrice.multiply(new BigDecimal(optDays)).divide(new BigDecimal(sumDays),2, RoundingMode.HALF_UP)); + returnCountCyclePriceVO.setCyclePrice(applyDetail.getPrice().multiply(new BigDecimal(optDays))); return returnCountCyclePriceVO; } @@ -1991,7 +2102,7 @@ } ApplyChange model = this.queryApplyChangeData(smsCheckDTO.getBusinessId()); if(Objects.isNull(model)){ - throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠姞鍑忎繚淇℃伅"); + throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠姞鍑忎繚/鎹㈠巶淇℃伅"); } if(Objects.isNull(model) ||! Constants.equalsInteger(Constants.ZERO,model.getIsdeleted())){ throw new BusinessException(ResponseStatus.DATA_EMPTY); @@ -1999,9 +2110,6 @@ LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); Company company = companyMapper.selectById(model.getCompanyId()); - if(debugModel){ - company = companyMapper.selectById(model.getCompanyId()); - } if(company== null || StringUtils.isBlank( company.getEmail()) || !Constants.equalsInteger(company.getSignStatus(),Constants.THREE)){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝浼佷笟灏氭湭鍏峰鍦ㄧ嚎绛剧珷鏉′欢锛岃鑱旂郴骞冲彴绠$悊鍛樼‘璁"); } @@ -2037,7 +2145,14 @@ applyChangeMapper.updateById(update); return link; }else{ - return this.getSignLinkJiajiabao(model); + if(model.getType().equals(Constants.ONE)){ + return this.getSignLinkChangeUnit(model); + }else{ + return this.getSignLinkJiajiabao(model); + } + + + } } @@ -2072,7 +2187,7 @@ if(solutions.getType().equals(Constants.ZERO)){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鐩翠繚鍗曟嵁鏃犳硶杩涜璇ユ搷浣�"); }else{ - if(!Constants.equalsInteger(model.getStatus(),Constants.ApplyChangeStatus.COMPANY_SIGN.getKey())){ + if(!Constants.equalsInteger(model.getStatus(),Constants.ApplyChangeStatus.SIGNATURE.getKey())){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ョ敵璇风姸鎬佸凡娴佽浆锛屽綋鍓嶄笉鏀寔璇ユ搷浣渵"); } } @@ -2086,9 +2201,9 @@ update.setId(model.getId()); if(applyChange.getDealBackApply() ==1){ //濡傛灉鏄笉閫氳繃 - update.setStatus(Constants.ApplyChangeStatus.PALTFORM_CHECK_PASS_NO.getKey()); + update.setStatus(Constants.ApplyChangeStatus.PLATFORM_AGREE.getKey()); }else{ - update.setStatus(Constants.ApplyChangeStatus.PALTFORM_CHECK_PASS.getKey()); + update.setStatus(Constants.ApplyChangeStatus.CHECHED_PASSED.getKey()); } applyChangeJoinMapper.updateById(update); Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.APPLY_CHANGE; -- Gitblit v1.9.3