Forráskód Böngészése

续费车票使用续费价格

zoujiajian 9 hónapja
szülő
commit
0bd5b59e5b

+ 6 - 0
netflix-dao/src/main/java/com/cyksj/model/entity/GoodsDonSku.java

@@ -107,6 +107,12 @@ public class GoodsDonSku extends BaseEntity {
      */
     private BigDecimal price;
 
+    /**
+     * 续费价格
+     */
+    @TableField(updateStrategy = FieldStrategy.IGNORED)
+    private BigDecimal renewPrice;
+
     /**
      * 专属用户规格
      */

+ 2 - 0
netflix-dao/src/main/java/com/cyksj/model/manage/request/ReqGoodsSkuInsert.java

@@ -68,6 +68,8 @@ public class ReqGoodsSkuInsert {
 
         private BigDecimal price;
 
+        private BigDecimal renewPrice;
+
         /**
          * 专属用户规格
          */

+ 5 - 0
netflix-dao/src/main/java/com/cyksj/model/request/OrderPayRequest.java

@@ -219,6 +219,11 @@ public class OrderPayRequest {
      */
     private RenewSource renewSource;
 
+    /**
+     * 是否使用续费价格
+     */
+    private Boolean isRenewPrice = false;
+
     @Getter
     public enum RenewSource{
         galaxyCoin("银河币"),

+ 5 - 0
netflix-dao/src/main/java/com/cyksj/model/views/GoodsDonSkuFrontView.java

@@ -91,6 +91,11 @@ public class GoodsDonSkuFrontView {
 	 */
 	private BigDecimal price = BigDecimal.ZERO;
 
+	/**
+	 * 续费价格
+	 */
+	private BigDecimal renewPrice;
+
 	/**
 	 * 渠道优惠折扣
 	 */

+ 16 - 3
netflix-service/src/main/java/com/cyksj/service/order/impl/OrderDonServiceImpl.java

@@ -1323,7 +1323,17 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 		orderDon.setOrderNo(donNo);
 		orderDon.setOpenId(payOpenId);
 		orderDon.setYhsId(yhsId);
-		orderDon.setMoney(sku.getPrice().multiply(BigDecimal.valueOf(payRequest.getNum())));
+		BigDecimal skuPrice = sku.getPrice();
+		BigDecimal renewPrice = null;
+		//使用续费价格
+		if (payRequest.getIsRenewPrice()) {
+			renewPrice = sku.getRenewPrice();
+			//续费价格存在 续费时直接使用
+			if (renewPrice != null) {
+				skuPrice = renewPrice;
+			}
+		}
+		orderDon.setMoney(skuPrice.multiply(BigDecimal.valueOf(payRequest.getNum())));
 		orderDon.setSkuId(renewSkuId);
 		orderDon.setRelationId(relation.getId());
 		//续费订单
@@ -1359,8 +1369,11 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 			BigDecimal discount = renewUpgradeIndependentPackage.getDiscount();
 			orderDon.setMoney(sku.getPrice().multiply(discount));
 		}
-		//扣除使用优惠券、余额的订单金额
-		deductOrderMoney(orderDon, couponUser, payRequest.getBalance(), user, sku.getPrice(), goodsDon, payRequest.getGcCash(), payRequest.getGcpIds(), false, null, sku, payRequest.getGalaxyCoin());
+		//续费价格不存在时 可使用优惠
+		if (renewPrice == null) {
+			//扣除使用优惠券、余额的订单金额
+			deductOrderMoney(orderDon, couponUser, payRequest.getBalance(), user, sku.getPrice(), goodsDon, payRequest.getGcCash(), payRequest.getGcpIds(), false, null, sku, payRequest.getGalaxyCoin());
+		}
 		this.saveOrUpdate(orderDon);
 
 		Long orderId = orderDon.getId();