From 1b4658cf9c20cef9d4cec9a63b7f5d12c47d2cb5 Mon Sep 17 00:00:00 2001 From: fwq <582742538@qq.com> Date: 星期二, 23 四月 2024 15:02:54 +0800 Subject: [PATCH] Merge branch 'master-fwq-积分抵扣现金' into master-test --- phis-feign/src/main/java/com/hz/his/vo/project/SkuDeductionVo.java | 66 +++++++++++++++++++++++++++++++++ phis-feign/src/main/java/com/hz/his/dto/order/PayAmountDto.java | 2 + phis-feign/src/main/java/com/hz/his/dto/order/OrderPayMethodDto.java | 20 ++++++++++ 3 files changed, 88 insertions(+), 0 deletions(-) diff --git a/phis-feign/src/main/java/com/hz/his/dto/order/OrderPayMethodDto.java b/phis-feign/src/main/java/com/hz/his/dto/order/OrderPayMethodDto.java index a03f7ad..76c3f2c 100644 --- a/phis-feign/src/main/java/com/hz/his/dto/order/OrderPayMethodDto.java +++ b/phis-feign/src/main/java/com/hz/his/dto/order/OrderPayMethodDto.java @@ -22,6 +22,13 @@ /**鏄惁鍒掓墸璁$畻锛�0鍚�1鏄�*/ private Integer isExecute; + /** 鎶垫墸绫诲瀷 */ + private String deductionType; + /** 鎶垫墸閲戦 */ + private BigDecimal deductionMoney; + /** 鍓╀綑鎶垫墸閲戦 */ + private BigDecimal surplusDeductionTotal; + /** 杞崲鏂瑰紡缂栫爜 锛堝疄闄呴��娆炬柟寮忕紪鐮侊級 */ private String refundNumberNo; /** 杞崲鏂瑰紡鍚嶇О 锛堝疄闄呴��娆炬柟寮忕紪鐮侊級*/ @@ -43,4 +50,17 @@ this.isMoneyPay = isMoneyPay; this.isExecute = isExecute; } + + public OrderPayMethodDto(String payMethodNo, String payMethodName, BigDecimal payTotal, Integer isMoneyPay, + Integer isExecute, String deductionType, BigDecimal deductionMoney, + BigDecimal surplusDeductionTotal) { + this.payMethodNo = payMethodNo; + this.payMethodName = payMethodName; + this.payTotal = payTotal; + this.isMoneyPay = isMoneyPay; + this.isExecute = isExecute; + this.deductionType = deductionType; + this.deductionMoney = deductionMoney; + this.surplusDeductionTotal = surplusDeductionTotal; + } } diff --git a/phis-feign/src/main/java/com/hz/his/dto/order/PayAmountDto.java b/phis-feign/src/main/java/com/hz/his/dto/order/PayAmountDto.java index 57030f2..99fbe70 100644 --- a/phis-feign/src/main/java/com/hz/his/dto/order/PayAmountDto.java +++ b/phis-feign/src/main/java/com/hz/his/dto/order/PayAmountDto.java @@ -17,6 +17,8 @@ private BigDecimal amount; /**蹇呭~ 鏀粯鏂瑰紡*/ private String method; + /**蹇呭~ 鎶垫墸瀹為檯鏀粯鐨勯噾棰� 濡傛灉鏄Н鍒嗘姷鎵g幇閲戣繖閲屽瓨鐨勬槸瑕佹敮浠樼殑绉垎*/ + private BigDecimal deductionAmount = BigDecimal.ZERO; /**闈炲繀濉� 鍟嗗搧/椤圭洰id/缁勫悎椤规爣璇�(鍗¢」鏀粯鏃跺繀浼犵粍鍚堥」鏍囪瘑)*/ private String commonId; diff --git a/phis-feign/src/main/java/com/hz/his/vo/project/SkuDeductionVo.java b/phis-feign/src/main/java/com/hz/his/vo/project/SkuDeductionVo.java new file mode 100644 index 0000000..8be5dde --- /dev/null +++ b/phis-feign/src/main/java/com/hz/his/vo/project/SkuDeductionVo.java @@ -0,0 +1,66 @@ +package com.hz.his.vo.project; + +import lombok.Data; + +import java.math.BigDecimal; +import java.math.RoundingMode; + +/** + * SKU鎶垫墸鏁版嵁 + */ +@Data +public class SkuDeductionVo { + /**sku鏍囪瘑*/ + private String skuId; + /**sku鏈�澶у彲鎶垫墸鐜伴噾閲戦*/ + private BigDecimal maxCash = BigDecimal.ZERO; + /**sku鎶垫墸鏈�澶х幇閲戦噾棰濋渶瑕佹敮浠樼殑绉垎*/ + private BigDecimal maxIntegralCash = BigDecimal.ZERO; + + /**鎬诲崟璐拱椤圭洰鏁伴噺*/ + private Integer totalBuyNum = 0; + /**椤圭洰鏁伴噺鍗犳�诲崟姣�*/ + private BigDecimal skuNumRate = BigDecimal.ZERO; + /**瀛愬崟璐拱鏁伴噺*/ + private Integer buyNum = 0; + /**瀛愬崟鐜颁环鎬婚渶瑕佹敮浠樼殑閲戦*/ + private BigDecimal skuPrice = BigDecimal.ZERO; + /**瀛愬崟鍒嗘憡绯荤粺閲戦(鍌ㄥ�奸噾+澧炲�奸噾)*/ + private BigDecimal skuSystemPrice = BigDecimal.ZERO; + /**瀛愬崟浼樻儬閲戦*/ + private BigDecimal skuDiscountPrice = BigDecimal.ZERO; + /**瀛愬崟鍓╀綑杩橀渶鏀粯鐨勯噾棰�*/ + private BigDecimal skuRemainingPrice = BigDecimal.ZERO; + /**瀛愬崟鍙姷鎵f渶澶х幇閲戦噾棰�*/ + private BigDecimal skuMaxCash = BigDecimal.ZERO; + + /**鍓╀綑鍙垎閰�*/ + private BigDecimal cash = BigDecimal.ZERO; + + /** + * 璁$畻鎶垫墸閲戦 + * */ + public void handlerMoney() { + //璁$畻鍓╀綑杩樿鏀粯鐨勯噾棰� + this.skuRemainingPrice = this.skuPrice.subtract(this.skuSystemPrice).subtract(this.skuDiscountPrice).setScale(2, RoundingMode.HALF_UP); + //璁$畻瀛愬崟鏈�澶у彲鎶垫墸 + this.skuMaxCash = this.maxCash.multiply(new BigDecimal(this.buyNum)); + //濡傛灉Sku鏈韩璁$畻鐨勬渶澶ф姷鎵g幇閲� 澶т簬 鍓╀綑瑕佹敮浠樼殑鐜伴噾,鍙栧墿浣欒鏀粯鐨勭幇閲� + if (this.skuMaxCash.compareTo(this.skuRemainingPrice) > 0){ + this.skuMaxCash = this.skuRemainingPrice; + } + } + + /**璁$畻鏁伴噺*/ + public void handlerNum(Integer totalBuyNum) { + this.totalBuyNum = totalBuyNum; + if (totalBuyNum != 0){ + this.skuNumRate = new BigDecimal(this.buyNum).divide(new BigDecimal(this.totalBuyNum),2,RoundingMode.HALF_UP); + } + } + + /**璁$畻鏁伴噺*/ + public void handlerCash(BigDecimal totalMoney) { + this.cash = this.skuMaxCash.subtract(totalMoney).setScale(2,RoundingMode.HALF_UP); + } +} -- Gitblit v1.8.0