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