jf
消费
This commit is contained in:
@@ -198,7 +198,7 @@ public class BuyOrderController {
|
||||
@Transactional
|
||||
public R placeOrder(@RequestBody BuyOrder buyOrder) throws IOException {
|
||||
List<BuyOrderProduct> buyOrderProductList = buyOrder.getProductList();
|
||||
// 订单总金额
|
||||
// 订单实收金额
|
||||
BigDecimal totalPrice = new BigDecimal(0);
|
||||
//是否存在手摸或脚模,修改用户的脉穴权限
|
||||
List<Integer> sjc =Arrays.asList(128,129,130,131,136,137);
|
||||
@@ -237,9 +237,15 @@ public class BuyOrderController {
|
||||
}
|
||||
totalPrice = totalPrice.add(price.multiply(BigDecimal.valueOf(quantity)));
|
||||
}
|
||||
|
||||
//商品价格减去优惠券的优惠金额
|
||||
totalPrice = totalPrice.subtract(useCouponAmount(buyOrder));
|
||||
|
||||
//加上运费金额
|
||||
totalPrice = totalPrice.add(getShoppingAmount(buyOrder));
|
||||
|
||||
//减去积分抵扣
|
||||
totalPrice = totalPrice.subtract(buyOrder.getJfDeduction());
|
||||
|
||||
String orderSn = IdWorker.getTimeId().substring(0, 32);
|
||||
buyOrder.setOrderSn(orderSn);
|
||||
if(buyOrder.getAddressId()!=0){
|
||||
@@ -272,15 +278,20 @@ public class BuyOrderController {
|
||||
if (Constants.PAYMENT_METHOD_VIRTUAL.equals(buyOrder.getPaymentMethod())) {
|
||||
buyOrder.setOrderStatus(Constants.ORDER_STATUS_TO_BE_SHIPPED);
|
||||
MyUserEntity user = this.myUserService.getById(buyOrder.getUserId());
|
||||
if (usePeanutCoin(user, totalPrice,sj_check,scqq_check,wylq_check,prescriot_b_check)) {
|
||||
if (usePeanutCoin(user, totalPrice,sj_check,scqq_check,wylq_check,prescriot_b_check)&&useJfCoin(user,buyOrder.getJfDeduction())) {
|
||||
// 更新订单状态
|
||||
if(buyOrderService.checkWlOrder(buyOrder.getOrderSn())){
|
||||
buyOrderService.updateOrderStatus(user.getId(), buyOrder.getOrderSn(), "0");
|
||||
}else{
|
||||
buyOrderService.updateOrderStatus(user.getId(), buyOrder.getOrderSn(), "2");
|
||||
}
|
||||
|
||||
//记录用户虚拟币消费
|
||||
recordTransaction(buyOrder, user, totalPrice);
|
||||
//记录用户积分消费情况
|
||||
if(buyOrder.getJfDeduction().compareTo(BigDecimal.ZERO) > 0){
|
||||
recordJfTransaction(buyOrder, user, buyOrder.getJfDeduction());
|
||||
}
|
||||
//消费用户积分并记录用户积分消费记录
|
||||
addEbookToUser(buyOrderProductList, buyOrder, 0);
|
||||
addCourseToUser(buyOrder);
|
||||
} else {
|
||||
@@ -853,6 +864,17 @@ public class BuyOrderController {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
private boolean useJfCoin(MyUserEntity user,BigDecimal jf){
|
||||
if(user.getJf().compareTo(jf)>=0){
|
||||
user.setJf(user.getJf().subtract(jf));
|
||||
this.myUserService.updateById(user);
|
||||
return true;
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 交易记录
|
||||
*
|
||||
@@ -872,6 +894,9 @@ public class BuyOrderController {
|
||||
transactionDetailsService.save(transactionDetailsEntity);
|
||||
}
|
||||
|
||||
private void recordJfTransaction(BuyOrder buyOrder, MyUserEntity user, BigDecimal jf){
|
||||
}
|
||||
|
||||
/**
|
||||
* 给用户添加电子书
|
||||
* TODO 新版本上线删除此接口
|
||||
|
||||
Reference in New Issue
Block a user