修改下单时记录用户虚拟币、积分消费操作
This commit is contained in:
@@ -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 新版本上线删除此接口
|
||||
|
||||
@@ -3,8 +3,10 @@ package com.peanut.modules.book.service;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.peanut.common.utils.PageUtils;
|
||||
import com.peanut.modules.common.entity.BuyOrder;
|
||||
import com.peanut.modules.common.entity.MyUserEntity;
|
||||
import com.peanut.modules.common.entity.TransactionDetailsEntity;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
@@ -21,5 +23,7 @@ public interface TransactionDetailsService extends IService<TransactionDetailsEn
|
||||
|
||||
Page<TransactionDetailsEntity> getTransactionList(Map<String,Object> map);
|
||||
|
||||
void recordTransaction(BuyOrder buyOrder, MyUserEntity user, BigDecimal totalPrice);
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -8,6 +8,8 @@ import com.peanut.common.utils.ExcludeEmptyQueryWrapper;
|
||||
import com.peanut.common.utils.PageUtils;
|
||||
import com.peanut.common.utils.Query;
|
||||
import com.peanut.modules.common.dao.TransactionDetailsDao;
|
||||
import com.peanut.modules.common.entity.BuyOrder;
|
||||
import com.peanut.modules.common.entity.MyUserEntity;
|
||||
import com.peanut.modules.common.entity.TransactionDetailsEntity;
|
||||
import com.peanut.modules.book.service.BookService;
|
||||
import com.peanut.modules.book.service.TransactionDetailsService;
|
||||
@@ -15,7 +17,7 @@ import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Map;
|
||||
|
||||
@Slf4j
|
||||
@@ -49,4 +51,17 @@ public class TransactionDetailsServiceImpl extends ServiceImpl<TransactionDetail
|
||||
Page<TransactionDetailsEntity> transactionDetailsEntityPage = getBaseMapper().selectPage(new Page<>(Integer.valueOf(map.get("page").toString()), Integer.valueOf(map.get("limit").toString())), wrapper);
|
||||
return transactionDetailsEntityPage;
|
||||
}
|
||||
|
||||
@Override
|
||||
public 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("购买商品");
|
||||
getBaseMapper().insert(transactionDetailsEntity);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user