فهرست منبع

add 零星收费加入交易明细

周箭河 5 سال پیش
والد
کامیت
ed173dd63b
1فایلهای تغییر یافته به همراه45 افزوده شده و 0 حذف شده
  1. 45 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/SporadicChargeInfoImpl.java

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

@@ -10,6 +10,7 @@ import com.ym.mec.biz.dal.enums.PlatformCashAccountDetailTypeEnum;
 import com.ym.mec.biz.dal.page.SporadicChargeInfoQueryInfo;
 import com.ym.mec.biz.service.SporadicChargeInfoService;
 import com.ym.mec.biz.service.SysMessageService;
+import com.ym.mec.biz.service.SysUserCashAccountDetailService;
 import com.ym.mec.biz.service.SysUserCashAccountService;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.exception.BizException;
@@ -45,6 +46,8 @@ public class SporadicChargeInfoImpl extends BaseServiceImpl<Integer, SporadicCha
 	private TeacherDao teacherDao;
 	@Autowired
 	private SysUserCashAccountService sysUserCashAccountService;
+	@Autowired
+	private SysUserCashAccountDetailService sysUserCashAccountDetailService;
 
 	@Override
 	public BaseDAO<Integer, SporadicChargeInfo> getDAO() {
@@ -70,6 +73,48 @@ public class SporadicChargeInfoImpl extends BaseServiceImpl<Integer, SporadicCha
 			if(info.getChargeType().equals("6")){
 				sysUserCashAccountService.appendCourseBalance(userId,studentPaymentOrder.getActualAmount());
 			}
+
+			//插入交易明细
+			BigDecimal amount = studentPaymentOrder.getActualAmount();
+			if (amount != null && amount.compareTo(BigDecimal.ZERO) > 0) {
+				Date nowDate = new Date();
+				SysUserCashAccount cashAccount = sysUserCashAccountService.get(userId);
+				//充值
+				SysUserCashAccountDetail rechargeDetail = new SysUserCashAccountDetail();
+				rechargeDetail.setAmount(amount);
+				rechargeDetail.setBalance(cashAccount.getBalance().add(amount));
+				rechargeDetail.setComment("缴费前充值");
+				rechargeDetail.setCreateTime(nowDate);
+				rechargeDetail.setStatus(DealStatusEnum.SUCCESS);
+				rechargeDetail.setTransNo(studentPaymentOrder.getTransNo());
+				rechargeDetail.setType(PlatformCashAccountDetailTypeEnum.RECHARGE);
+				rechargeDetail.setUpdateTime(nowDate);
+				rechargeDetail.setUserId(userId);
+				rechargeDetail.setChannel(studentPaymentOrder.getPaymentChannel());
+				rechargeDetail.setComAmount(studentPaymentOrder.getComAmount());
+				rechargeDetail.setPerAmount(studentPaymentOrder.getPerAmount());
+				sysUserCashAccountDetailService.insert(rechargeDetail);
+
+				//缴费
+				SysUserCashAccountDetail paymentDetail = new SysUserCashAccountDetail();
+				paymentDetail.setAmount(amount.negate());
+				paymentDetail.setBalance(cashAccount.getBalance());
+				paymentDetail.setComment(info.getTitle());
+				paymentDetail.setCreateTime(nowDate);
+				paymentDetail.setStatus(DealStatusEnum.SUCCESS);
+				paymentDetail.setTransNo(studentPaymentOrder.getTransNo());
+				paymentDetail.setType(PlatformCashAccountDetailTypeEnum.PAY_FEE);
+				paymentDetail.setUpdateTime(nowDate);
+				paymentDetail.setUserId(userId);
+				rechargeDetail.setChannel(studentPaymentOrder.getPaymentChannel());
+				if (studentPaymentOrder.getComAmount() != null) {
+					rechargeDetail.setComAmount(studentPaymentOrder.getComAmount().negate());
+					rechargeDetail.setPerAmount(studentPaymentOrder.getPerAmount().negate());
+				}
+
+				sysUserCashAccountDetailService.insert(paymentDetail);
+			}
+
 			sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.SMS_SPORADIC_PAYMENT_SUCCESS, map, null, 0, "1",
 					studentPaymentOrder.getActualAmount(),info.getTitle());
 			sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.YIMEI, MessageTypeEnum.SMS_SPORADIC_PAYMENT_SUCCESS, yimei, null, 0, "1",