|
@@ -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",
|