Browse Source

Merge remote-tracking branch 'origin/master'

Joburgess 5 years ago
parent
commit
69eb749579

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/SporadicChargeInfo.java

@@ -24,6 +24,9 @@ public class SporadicChargeInfo {
 
 	private BigDecimal amount;
 
+	//优惠金额
+	private BigDecimal discountAmount;
+
 	private BigDecimal balance;
 
 	private Integer userId;
@@ -165,4 +168,12 @@ public class SporadicChargeInfo {
 	public void setOperatorId(Integer operatorId) {
 		this.operatorId = operatorId;
 	}
+
+	public BigDecimal getDiscountAmount() {
+		return discountAmount;
+	}
+
+	public void setDiscountAmount(BigDecimal discountAmount) {
+		this.discountAmount = discountAmount;
+	}
 }

+ 4 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java

@@ -301,6 +301,10 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         if (!(amount.compareTo(chargeInfo.getAmount()) == 0)) {
             throw new BizException("订单金额异常");
         }
+        if(chargeInfo.getDiscountAmount() != null && chargeInfo.getDiscountAmount().compareTo(BigDecimal.ZERO)>0){
+            amount = amount.subtract(chargeInfo.getDiscountAmount());
+        }
+
         Integer userId = sporadicPayDto.getUserId();
         String orderNo = idGeneratorService.generatorId("payment") + "";
         String channelType = "";

+ 6 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SporadicChargeInfoImpl.java

@@ -70,6 +70,12 @@ public class SporadicChargeInfoImpl extends BaseServiceImpl<Integer, SporadicCha
 					studentPaymentOrder.getActualAmount(),info.getTitle());
 			sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.YIMEI, MessageTypeEnum.SMS_SPORADIC_PAYMENT_SUCCESS, yimei, null, 0, "1",
 					studentPaymentOrder.getActualAmount(),info.getTitle());
+
+			//活动,增加课程余额
+			if(info.getChargeType().equals("6")){
+				sysUserCashAccountService.appendCourseBalance(userId,info.getAmount());
+			}
+
 			return true;
 		}
 		if(studentPaymentOrder.getStatus() == DealStatusEnum.CLOSE || studentPaymentOrder.getStatus() == DealStatusEnum.FAILED){