修改下单时记录用户虚拟币、积分消费操作

This commit is contained in:
wuchunlei
2024-12-04 10:35:14 +08:00
parent 86cecf3b6a
commit 76730d890d
8 changed files with 86 additions and 102 deletions

View File

@@ -17,11 +17,11 @@ import com.peanut.modules.book.vo.request.ProductRequestVo;
import com.peanut.modules.book.vo.request.ProductTransportVo;
import com.peanut.modules.book.vo.response.BuyOrderResponseVo;
import com.peanut.modules.book.vo.response.OrderAddressResponseVo;
import com.peanut.modules.common.dao.JfTransactionDetailsDao;
import com.peanut.modules.common.dao.UserCourseBuyDao;
import com.peanut.modules.common.entity.*;
import com.peanut.modules.common.service.CouponHistoryService;
import com.peanut.modules.common.service.CouponService;
import com.peanut.modules.common.service.JfTransactionDetailsService;
import com.peanut.modules.pay.weChatPay.dto.WechatPaymentInfo;
import com.peanut.modules.pay.weChatPay.service.WxpayService;
import com.peanut.modules.sys.entity.SysConfigEntity;
@@ -89,7 +89,7 @@ public class BuyOrderController {
@Autowired
private UserCourseBuyDao userCourseBuyDao;
@Autowired
private JfTransactionDetailsDao jfTransactionDetailsDao;
private JfTransactionDetailsService jfTransactionDetailsService;
@Autowired
private CouponService couponService;
@Autowired
@@ -320,11 +320,11 @@ public class BuyOrderController {
}
//记录用户虚拟币消费
if(totalPrice.compareTo(BigDecimal.ZERO)>0){
recordTransaction(buyOrder, user, totalPrice);
transactionDetailsService.recordTransaction(buyOrder, user, totalPrice);
}
//记录用户积分消费情况
if(buyOrder.getJfDeduction()!=null&&buyOrder.getJfDeduction().compareTo(BigDecimal.ZERO) > 0){
recordJfTransaction(buyOrder, user, buyOrder.getJfDeduction());
jfTransactionDetailsService.recordJfTransaction(buyOrder, user, buyOrder.getJfDeduction());
}
//消费用户积分并记录用户积分消费记录
addEbookToUser(buyOrderProductList, buyOrder, 0);
@@ -914,36 +914,6 @@ public class BuyOrderController {
}
}
/**
* 交易记录
*
* @param buyOrder
* @param user
* @param totalPrice
*/
private void recordTransaction(BuyOrder buyOrder, MyUserEntity user, BigDecimal totalPrice) {
TransactionDetailsEntity transactionDetailsEntity = new TransactionDetailsEntity();
transactionDetailsEntity.setRemark("订单编号为 - " + buyOrder.getOrderSn());
transactionDetailsEntity.setUserId(user.getId());
transactionDetailsEntity.setUserName(user.getNickname());
transactionDetailsEntity.setChangeAmount(totalPrice.negate());
transactionDetailsEntity.setUserBalance(user.getPeanutCoin());
transactionDetailsEntity.setTel(user.getTel());
transactionDetailsEntity.setOrderType("购买商品");
transactionDetailsService.save(transactionDetailsEntity);
}
private void recordJfTransaction(BuyOrder buyOrder, MyUserEntity user, BigDecimal jf){
JfTransactionDetails jfTransactionDetails = new JfTransactionDetails();
jfTransactionDetails.setUserId(user.getId());
jfTransactionDetails.setChangeAmount(jf);
jfTransactionDetails.setActType(0);
jfTransactionDetails.setUserBalance(user.getJf());
jfTransactionDetails.setRelationId(buyOrder.getOrderId());
jfTransactionDetails.setRemark("消费积分抵扣:"+jf.toString()+",订单号:"+buyOrder.getOrderSn());
jfTransactionDetailsDao.insert(jfTransactionDetails);
}
/**
* 给用户添加电子书
* TODO 新版本上线删除此接口