From 142bcc9b22f48a8a2098a66b2964fe10c97c6fe8 Mon Sep 17 00:00:00 2001 From: k94314517 <8417338+k94314517@user.noreply.gitee.com> Date: 星期二, 20 五月 2025 11:19:49 +0800 Subject: [PATCH] git ch --- server/service/src/main/java/com/doumee/dao/business/model/SettleClaims.java | 9 ++ server/service/src/main/java/com/doumee/service/business/SettleClaimsService.java | 8 + server/platform/src/main/java/com/doumee/api/business/SettleRiskController.java | 14 ++ server/service/src/main/java/com/doumee/core/utils/Constants.java | 3 server/service/src/main/java/com/doumee/service/business/impl/SettleClaimsServiceImpl.java | 125 +++++++++++++++++++----------- server/service/src/main/java/com/doumee/dao/business/dto/CompensationFeeDTO.java | 22 +++++ 6 files changed, 129 insertions(+), 52 deletions(-) diff --git a/server/platform/src/main/java/com/doumee/api/business/SettleRiskController.java b/server/platform/src/main/java/com/doumee/api/business/SettleRiskController.java index 8617169..347f530 100644 --- a/server/platform/src/main/java/com/doumee/api/business/SettleRiskController.java +++ b/server/platform/src/main/java/com/doumee/api/business/SettleRiskController.java @@ -102,9 +102,9 @@ @PreventRepeat @ApiOperation("鐞嗚禂璐圭敤椤逛俊鎭�") - @GetMapping("/getCompensation") - public ApiResponse<List<CompensationVO>> getCompensation(@RequestParam Integer id) { - return ApiResponse.success(settleClaimsService.getCompensation(id)); + @PostMapping("/getCompensation") + public ApiResponse<List<CompensationVO>> getCompensation(@RequestBody CompensationFeeDTO dto) { + return ApiResponse.success(settleClaimsService.getCompensation(dto)); } @@ -155,5 +155,13 @@ } + @PreventRepeat + @ApiOperation("缁撴鎻愪氦") + @PostMapping("/payCash") + public ApiResponse payCash(@RequestBody PayCashDTO dto) { + settleClaimsService.payCash(dto); + return ApiResponse.success(null); + } + } diff --git a/server/service/src/main/java/com/doumee/core/utils/Constants.java b/server/service/src/main/java/com/doumee/core/utils/Constants.java index cf0fd7d..0dc1009 100644 --- a/server/service/src/main/java/com/doumee/core/utils/Constants.java +++ b/server/service/src/main/java/com/doumee/core/utils/Constants.java @@ -768,6 +768,7 @@ LP_STAMP_FILE(31, "淇濋櫓鍏徃鐞嗚禂鐩栫珷鏂囦欢", "淇濋櫓鍏徃鐞嗚禂鐩栫珷鏂囦欢"), LP_FILE(32, "淇濋櫓鍏徃涓婁紶鐞嗚禂鏉愭枡涓�瑙堣〃", "淇濋櫓鍏徃涓婁紶鐞嗚禂鏉愭枡涓�瑙堣〃"), LP_OTHER_FILE(33, "鐞嗚禂鍏朵粬鏉愭枡", "鐞嗚禂鍏朵粬鏉愭枡"), + LP_PAY_FILE(34, "鎵撴鍑瘉", "鎵撴鍑瘉"), ; // 鎴愬憳鍙橀噺 @@ -1995,7 +1996,7 @@ UPLOAD(0, "鎻愪氦鎶ユ","鎻愪氦鎰忚锛�${param}"), PLATFORM_RETURN(1, "骞冲彴閫�鍥�","鎻愪氦鎰忚锛�${param}"), PLATFORM_CONFIRM_INFORMATION(2, "骞冲彴纭璧勬枡",""), - PLATFORM_FINISH(3, "缁撴鎻愪氦","鎻愪氦鎰忚锛�${param}"), + PLATFORM_FINISH(3, "缁撴","鎻愪氦鎰忚锛�${param}"), UPDATE_DATA(4, "淇敼淇℃伅","鎻愪氦鎰忚锛�${param}"), SUPPLEMENT(5, "琛ュ厖璇存槑","鎻愪氦鎰忚锛�${param}"), PLATFORM_LP_DEAL(6, "骞冲彴鐞嗚禂澶勭悊","宸插湪骞冲彴瀹屾垚鐞嗚禂"), diff --git a/server/service/src/main/java/com/doumee/dao/business/dto/CompensationFeeDTO.java b/server/service/src/main/java/com/doumee/dao/business/dto/CompensationFeeDTO.java new file mode 100644 index 0000000..e3a8e85 --- /dev/null +++ b/server/service/src/main/java/com/doumee/dao/business/dto/CompensationFeeDTO.java @@ -0,0 +1,22 @@ +package com.doumee.dao.business.dto; + +import com.doumee.dao.business.model.Multifile; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * 瀛樺偍 琛ュ厖璇存槑 + */ +@Data +public class CompensationFeeDTO { + + @ApiModelProperty(value = "涓氬姟涓婚敭") + private Integer id; + + @ApiModelProperty(value = "鑾峰彇绫诲瀷锛�1=鐞嗙畻锛�2=鏍歌禂") + private Integer type; + + +} diff --git a/server/service/src/main/java/com/doumee/dao/business/model/SettleClaims.java b/server/service/src/main/java/com/doumee/dao/business/model/SettleClaims.java index 403cc6d..422bce9 100644 --- a/server/service/src/main/java/com/doumee/dao/business/model/SettleClaims.java +++ b/server/service/src/main/java/com/doumee/dao/business/model/SettleClaims.java @@ -241,6 +241,15 @@ @ApiModelProperty(value = "妗堜欢绫诲瀷锛�0=鏈缃紱1=鍖荤枟锛�2=浼ゆ畫锛�3=姝讳骸") private Integer caseType; + + @ApiModelProperty(value = "鏍歌禂鎵�鏈夎禂浠橀」淇℃伅锛坖son鏁扮粍[{name:鈥滀紮椋熻垂鈥�,val:100,info:鈥滀紮椋熻垂璇存槑鈥�,type:0}]锛�,type:0涓昏璧斾粯椤� 1鍏朵粬璧斾粯椤� 2瀹氭崯鏂规璐圭敤\t") + @ExcelColumn(name="鏍歌禂鎵�鏈夎禂浠橀」淇℃伅") + private String hpAccountContent; + + @ApiModelProperty(value = "鏍歌禂鎬婚噾棰�") + private BigDecimal hpAccount; + + @ApiModelProperty(value = "淇濋櫓鍗曢檮浠�") @TableField(exist = false) private Multifile baoxiandanFile; diff --git a/server/service/src/main/java/com/doumee/service/business/SettleClaimsService.java b/server/service/src/main/java/com/doumee/service/business/SettleClaimsService.java index ffc962f..72fa39e 100644 --- a/server/service/src/main/java/com/doumee/service/business/SettleClaimsService.java +++ b/server/service/src/main/java/com/doumee/service/business/SettleClaimsService.java @@ -199,7 +199,7 @@ * @param id * @return */ - List<CompensationVO> getCompensation(Integer id); + List<CompensationVO> getCompensation(CompensationFeeDTO compensationFeeDTO); /** * 鐞嗚禂涓氬姟 @@ -237,4 +237,10 @@ * @param dto */ void updCaseType(CaseTypeDTO dto); + + /** + * 缁撴鎻愪氦 + * @param dto + */ + void payCash(PayCashDTO dto); } diff --git a/server/service/src/main/java/com/doumee/service/business/impl/SettleClaimsServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/SettleClaimsServiceImpl.java index f55fd08..268b6b1 100644 --- a/server/service/src/main/java/com/doumee/service/business/impl/SettleClaimsServiceImpl.java +++ b/server/service/src/main/java/com/doumee/service/business/impl/SettleClaimsServiceImpl.java @@ -1790,11 +1790,23 @@ @Override - public List<CompensationVO> getCompensation(Integer id){ - SettleClaims settleClaims = settleClaimsMapper.selectById(id); + public List<CompensationVO> getCompensation(CompensationFeeDTO compensationFeeDTO){ + if(Objects.isNull(compensationFeeDTO) + || Objects.isNull(compensationFeeDTO.getType()) + ){ + throw new BusinessException(ResponseStatus.BAD_REQUEST); + } + SettleClaims settleClaims = null; + if(Objects.nonNull(compensationFeeDTO.getId())){ + settleClaims = settleClaimsMapper.selectById(compensationFeeDTO.getId()); + } List<CompensationVO> modelList = new ArrayList<>(); - if (Objects.nonNull(settleClaims)&&StringUtils.isNotBlank(settleClaims.getAccountContent())) { - modelList = JSONArray.parseArray(settleClaims.getAccountContent(),CompensationVO.class); + if (Objects.nonNull(settleClaims)) { + if(Constants.equalsInteger(compensationFeeDTO.getType(),Constants.ONE)&&StringUtils.isNotBlank(settleClaims.getAccountContent())){ + modelList = JSONArray.parseArray(settleClaims.getAccountContent(),CompensationVO.class); + }else if(Constants.equalsInteger(compensationFeeDTO.getType(),Constants.TWO)&&StringUtils.isNotBlank(settleClaims.getHpAccountContent())){ + modelList = JSONArray.parseArray(settleClaims.getHpAccountContent(),CompensationVO.class); + } } Constants.compensation [] compensations = Constants.compensation.values(); List<CompensationVO> list = new ArrayList<>(); @@ -1837,7 +1849,7 @@ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝涓氬姟鐘舵�佸凡娴佽浆~"); } - List<CompensationVO> modelList = JSONArray.parseArray(settleClaims.getAccountContent(),CompensationVO.class); + List<CompensationVO> modelList = JSONArray.parseArray(dto.getCompensationJson(),CompensationVO.class); SettleClaims update = new SettleClaims(); update.setEditDate(new Date()); @@ -1925,18 +1937,14 @@ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝涓氬姟鐘舵�佸凡娴佽浆~"); } - List<CompensationVO> modelList = JSONArray.parseArray(settleClaims.getAccountContent(),CompensationVO.class); + + List<CompensationVO> modelList = JSONArray.parseArray(dto.getCompensationJson(),CompensationVO.class); SettleClaims update = new SettleClaims(); update.setEditDate(new Date()); update.setEditor(loginUserInfo.getId()); - update.setYlClaimAccount(modelList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ONE)&&i.getName().equals(Constants.compensation.YL_COMPENSATION.getName())).map(i->i.getFee()).reduce(BigDecimal.ZERO,BigDecimal::add)); - update.setWgClaimAccount(modelList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ONE)&&i.getName().equals(Constants.compensation.WG_COMPENSATION.getName())).map(i->i.getFee()).reduce(BigDecimal.ZERO,BigDecimal::add)); - update.setScClaimAccount(modelList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ONE)&&i.getName().equals(Constants.compensation.SC_COMPENSATION.getName())).map(i->i.getFee()).reduce(BigDecimal.ZERO,BigDecimal::add)); - update.setSwClaimAccount(modelList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ONE)&&i.getName().equals(Constants.compensation.SW_COMPENSATION.getName())).map(i->i.getFee()).reduce(BigDecimal.ZERO,BigDecimal::add)); - update.setClaimAccount(modelList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ONE)).map(i->i.getFee()).reduce(BigDecimal.ZERO,BigDecimal::add)); - update.setOtherAccount(modelList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.TWO)).map(i->i.getFee()).reduce(BigDecimal.ZERO,BigDecimal::add)); - update.setAccountContent(dto.getCompensationJson()); + update.setHpAccountContent(dto.getCompensationJson()); + update.setHpAccount(modelList.stream().map(i->i.getFee()).reduce(BigDecimal.ZERO,BigDecimal::add)); update.setId(settleClaims.getId()); update.setStatus(Constants.SettleClaimsStatus.COMPENSATION.getKey()); settleClaimsMapper.updateById(update); @@ -1985,7 +1993,7 @@ update.setSwClaimAccount(modelList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ONE)&&i.getName().equals(Constants.compensation.SW_COMPENSATION.getName())).map(i->i.getFee()).reduce(BigDecimal.ZERO,BigDecimal::add)); update.setClaimAccount(modelList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ONE)).map(i->i.getFee()).reduce(BigDecimal.ZERO,BigDecimal::add)); //澶勭悊鍘嗗彶鏁版嵁 - List<CompensationVO> oldList = JSONArray.parseArray(settleClaims.getAccountContent(),CompensationVO.class); + List<CompensationVO> oldList = JSONArray.parseArray(settleClaims.getHpAccountContent(),CompensationVO.class); for (CompensationVO compensationVO:oldList) { if(compensationVO.getName().equals(Constants.compensation.YL_COMPENSATION.getName())){ compensationVO.setFee(update.getYlClaimAccount()); @@ -1999,7 +2007,6 @@ continue; } } - update.setAccountContent(dto.getCompensationJson()); update.setAccountContent(JSONArray.toJSONString(oldList)); update.setId(settleClaims.getId()); settleClaimsMapper.updateById(update); @@ -2039,38 +2046,62 @@ } -// @Override -// @Transactional(rollbackFor = {BusinessException.class,Exception.class}) -// public void payCash(PayCashDTO dto){ -// if(Objects.isNull(dto) -// || Objects.isNull(dto.getId()) -// || StringUtils.isBlank(dto.getDescribe()) -// ){ -// throw new BusinessException(ResponseStatus.BAD_REQUEST); -// } -// LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); -// if(!loginUserInfo.getType().equals(Constants.ZERO)){ -// throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炵鐞嗗憳鏃犳硶杩涜璇ユ搷浣�"); -// } -// SettleClaims settleClaims = settleClaimsJoinMapper.selectById(dto.getId()); -// if(Objects.isNull(settleClaims)){ -// throw new BusinessException(ResponseStatus.DATA_EMPTY); -// } -// if(!Constants.equalsInteger(Constants.SettleClaimsStatus.COMPENSATION.getKey(),settleClaims.getStatus())){ -// throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝涓氬姟鐘舵�佸凡娴佽浆~"); -// } -// SettleClaims update = new SettleClaims(); -// update.setEditDate(new Date()); -// update.setEditor(loginUserInfo.getId()); -// update.setStatus(Constants.SettleClaimsStatus.WAIT_DEAL.getKey()); -// update.setId(settleClaims.getId()); -// settleClaimsMapper.updateById(update); -// -// //瀛樺偍鏃ュ織 -// this.saveSettleClaimsLog(settleClaims, -// Constants.SettleClaimsLogType.CONFIRM_FEE, -// Constants.SettleClaimsLogType.CONFIRM_FEE.getInfo()); -// } + @Override + @Transactional(rollbackFor = {BusinessException.class,Exception.class}) + public void payCash(PayCashDTO dto){ + if(Objects.isNull(dto) + || Objects.isNull(dto.getId()) + || StringUtils.isBlank(dto.getDescribe()) + ){ + throw new BusinessException(ResponseStatus.BAD_REQUEST); + } + LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); + if(!loginUserInfo.getType().equals(Constants.ZERO)){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炵鐞嗗憳鏃犳硶杩涜璇ユ搷浣�"); + } + SettleClaims settleClaims = settleClaimsJoinMapper.selectById(dto.getId()); + if(Objects.isNull(settleClaims)){ + throw new BusinessException(ResponseStatus.DATA_EMPTY); + } + if(!Constants.equalsInteger(Constants.SettleClaimsStatus.CONFIRM_FEE.getKey(),settleClaims.getStatus())){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝涓氬姟鐘舵�佸凡娴佽浆~"); + } + SettleClaims update = new SettleClaims(); + update.setEditDate(new Date()); + update.setEditor(loginUserInfo.getId()); + update.setStatus(Constants.SettleClaimsStatus.CLOSE_CASE.getKey()); + update.setId(settleClaims.getId()); + settleClaimsMapper.updateById(update); + + if(CollectionUtils.isNotEmpty(dto.getMultifileList())){ + List<Multifile> fileList = dto.getMultifileList(); + if(CollectionUtils.isNotEmpty(fileList)){ + for (int i = 0; i < fileList.size(); i++) { + Multifile multifile = fileList.get(i); + if(Objects.isNull(multifile.getFileurl()) + || Objects.isNull(multifile.getType()) + || StringUtils.isBlank(multifile.getName()) + ){ + throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"闄勪欢鍐呭寮傚父"); + } + multifile.setCreator(loginUserInfo.getId()); + multifile.setCreateDate(new Date()); + multifile.setIsdeleted(Constants.ZERO); + multifile.setObjId(settleClaims.getId()); + //娣诲姞鏉愭枡鏀惧叆 鍏朵粬鏉愭枡涓氬姟鍐� + multifile.setObjType(Constants.MultiFile.LP_PAY_FILE.getKey()); + multifile.setSortnum(i+1); + multifileJoinMapper.insert(multifile); + } + } + } + + + //瀛樺偍鏃ュ織 + this.saveSettleClaimsLog(settleClaims, + Constants.SettleClaimsLogType.PLATFORM_FINISH, + dto.getDescribe()); + } -- Gitblit v1.9.3