From 1b0cf0db5c82ea8308d2f338973a91555787c34d Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期二, 18 三月 2025 11:17:23 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev --- server/services/src/main/java/com/doumee/service/business/impl/WxBillServiceImpl.java | 36 +++++++++++++++++++++--------------- 1 files changed, 21 insertions(+), 15 deletions(-) diff --git a/server/services/src/main/java/com/doumee/service/business/impl/WxBillServiceImpl.java b/server/services/src/main/java/com/doumee/service/business/impl/WxBillServiceImpl.java index e414e88..0ffaba6 100644 --- a/server/services/src/main/java/com/doumee/service/business/impl/WxBillServiceImpl.java +++ b/server/services/src/main/java/com/doumee/service/business/impl/WxBillServiceImpl.java @@ -33,6 +33,7 @@ import org.springframework.util.CollectionUtils; import java.math.BigDecimal; +import java.math.RoundingMode; import java.util.*; /** @@ -143,13 +144,14 @@ for(WxBillDetail detail : detailList){ if(StringUtils.equals(detail.getBillStatus(), "SUCCESS")){ //瀹炴敹鏁版嵁 - bill4.setSumBill(detail.getSumBill());//浜ゆ槗绗旀暟 + bill4.setSumBill( detail.getSumBill());//浜ゆ槗绗旀暟 bill4.setSumSuccessFee(Constants.formatDecimalNum(detail.getSettlementTotalFee()));//浜ゆ槗閲戦 bill4.setSumCmmsAmt(Constants.formatDecimalNum(detail.getCmmsAmt()));//浜ゆ槗鎵嬬画璐� - } else if(StringUtils.equals(detail.getBillStatus(), "REFUND")){ + } else if(StringUtils.equals(detail.getBillStatus(), "REFUND") || StringUtils.equals(detail.getBillStatus(), "REVOKED")){ //閫�娆炬暟鎹� - bill4.setSumRefundBill(detail.getSumBill());//閫�娆剧瑪鏁� - bill4.setSumRefundCmmsAmt(Constants.formatDecimalNum(detail.getCmmsAmt()));//閫�娆炬墜缁垂 + bill4.setSumRefundBill(Constants.formatIntegerNum(bill4.getSumRefundBill())+detail.getSumBill());//閫�娆剧瑪鏁� + bill4.setSumRefundFee(Constants.formatDecimalNum(bill4.getSumRefundFee()).add(Constants.formatDecimalNum(detail.getRefundFee()))); + bill4.setSumRefundCmmsAmt(Constants.formatDecimalNum(bill4.getSumRefundCmmsAmt()).add(Constants.formatDecimalNum(Constants.formatDecimalNum(detail.getCmmsAmt()))));//閫�娆炬墜缁垂 } } //缁撶畻閲戦 @@ -304,10 +306,6 @@ bill.setSumTotalFee(formatStringToDecimal(response.getTotalAmount())); //搴旂粨璁㈠崟鎬婚噾棰� bill.setSumSuccessFee(formatStringToDecimal(response.getTotalFee())); - //閫�娆炬�婚噾棰� - bill.setSumRefundFee(formatStringToDecimal(response.getTotalFee())); - //閫�娆炬�婚噾棰� - bill.setSumApplyRefundFee(formatStringToDecimal(response.getTotalAppliedRefundFee())); //浜ゆ槗鎬绘墜缁垂閲戦 bill.setSumCmmsAmt(formatStringToDecimal(response.getTotalPoundageFee())); detailList.addAll(getDetialModelByInfo(bill,response.getBillInfoList())); @@ -316,8 +314,12 @@ //閫�娆惧崟鎬绘暟绱杩涘叆 // bill.setSumBill(bill.getSumBill()+(Integer.parseInt(response.getTotalRecord())); bill.setSumRefundBill(Integer.parseInt(responseRefund.getTotalRecord()));//閫�娆剧殑璁㈠崟鏁� + //閫�娆炬�婚噾棰� + bill.setSumRefundFee(formatStringToDecimal(responseRefund.getTotalRefundFee())); + //閫�娆炬�婚噾棰� + bill.setSumApplyRefundFee(formatStringToDecimal(responseRefund.getTotalAppliedRefundFee())); bill.setSumRefundCmmsAmt(formatStringToDecimal(responseRefund.getTotalPoundageFee()));//閫�娆炬�绘墜缁垂 - bill.setSumCouponRefundFee(formatStringToDecimal(responseRefund.getTotalCouponFee()));//閫�娆炬�绘墜缁垂 + bill.setSumCouponRefundFee(formatStringToDecimal(responseRefund.getTotalCouponFee()));//閫�娆炬�婚噾棰� detailList.addAll(getDetialModelByInfo(bill,responseRefund.getBillInfoList())); } wxBillMapper.delete(new UpdateWrapper<WxBill>().lambda().eq( WxBill::getId, bill.getId())); @@ -348,7 +350,7 @@ //鍙兘鍚屾鏄ㄥぉ10涔嬪墠鐨勬暟鎹� Calendar caln = Calendar.getInstance(); caln.setTime(ydate); - if(caln.get(Calendar.HOUR_OF_DAY) <= 9){ + if(caln.get(Calendar.HOUR_OF_DAY) > 10){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝鏈�杩戝悓姝ユ椂闂村彧鑳芥埅姝㈠埌鏄ㄥぉ10鐐瑰墠锛�"); } } @@ -368,7 +370,7 @@ if(billInfoList!=null){ for (int i = 0; i <billInfoList.size(); i++) { WxPayBillInfo info =billInfoList.get(i); - if(StringUtils.equals(info.getTradeType(),"REFUND" ) && !StringUtils.equals(info.getRefundState(),"SUCCESS" )){ + if((StringUtils.equals(info.getTradeType(),"REFUND" )||StringUtils.equals(info.getTradeType(),"REVOKED" )) && !StringUtils.equals(info.getRefundState(),"SUCCESS" )){ //濡傛灉鏄潪鎴愬姛鐨勯��娆炬暟鎹紝涓嶈繘琛屽悓姝� continue; } @@ -407,11 +409,15 @@ detail.setRefundApplyDate(DateUtil.getDateFromString2(info.getRefundTime())); //鐢宠閫�娆炬椂闂� //璁$畻鑷杞︽敹鍏ワ紝鍖归厤鏉ヨ嚜鑷杞﹀皬绋嬪簭鐨勬墍鏈夋敮浠樻垚鍔熷拰閫�娆炬垚鍔熺殑閲戦锛屼綔涓鸿嚜琛岃溅鏀跺叆锛堢疮璁℃敹娆鹃噾棰�-绱閫�娆炬垚鍔熼噾棰濓級 if(StringUtils.equals(detail.getAppid(), WxMiniConfig.wxPayService.getConfig().getAppId())){ - //鑷杞︽敹鍏ョ疮璁℃敹娆鹃噾棰� - bill.setBikeFee(bill.getBikeFee().add(detail.getSettlementTotalFee())); - if(StringUtils.equals(detail.getRefundSuccessStatus(),"SUCCESS")){ + //鑷杞︽敹鍏ョ疮璁℃敹娆鹃噾棰�(鏀粯鎴愬姛鎬婚噾棰�-閫�娆炬�婚噾棰濓級 + if(StringUtils.equals(info.getTradeState(),"SUCCESS")){ + //濡傛灉鏄氦鏄� + bill.setBikeFee(bill.getBikeFee().add(detail.getSettlementTotalFee())); + bill.setBikeFee(bill.getBikeFee().subtract(detail.getCmmsAmt()) ); + }else if(StringUtils.equals(info.getTradeState(),"REFUND" ) || StringUtils.equals(info.getTradeState(),"REVOKED" )){ //濡傛灉閫�娆炬垚鍔燂紝鎵i櫎閫�娆鹃噾棰� - bill.setBikeFee(bill.getBikeFee().subtract(detail.getApplyRefundFee())); + bill.setBikeFee(bill.getBikeFee().subtract(detail.getRefundFee()) ); + bill.setBikeFee(bill.getBikeFee().subtract(detail.getCmmsAmt()) ); } } -- Gitblit v1.9.3