jf
消费
This commit is contained in:
@@ -17,6 +17,7 @@ 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.pay.weChatPay.dto.WechatPaymentInfo;
|
||||
@@ -90,6 +91,8 @@ public class BuyOrderController {
|
||||
private CountyService countyService;
|
||||
@Autowired
|
||||
private UserCourseBuyDao userCourseBuyDao;
|
||||
@Autowired
|
||||
private JfTransactionDetailsDao jfTransactionDetailsDao;
|
||||
|
||||
@RequestMapping(value = "/decomposeShipment", method = RequestMethod.POST)
|
||||
public R decomposeShipment(@RequestBody BuyOrderListRequestVo requestVo) {
|
||||
@@ -895,6 +898,14 @@ public class BuyOrderController {
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -21,7 +21,7 @@ public class JfTransactionDetails implements Serializable {
|
||||
/**
|
||||
* 0增加1减少
|
||||
*/
|
||||
private String actType;
|
||||
private Integer actType;
|
||||
/**
|
||||
* 变动金额
|
||||
*/
|
||||
|
||||
@@ -9,10 +9,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
||||
import com.peanut.common.utils.CopyUtils;
|
||||
import com.peanut.common.utils.OrderUtils;
|
||||
import com.peanut.modules.common.dao.BuyOrderProductDao;
|
||||
import com.peanut.modules.common.dao.ShopProductBookDao;
|
||||
import com.peanut.modules.common.dao.UserCourseBuyDao;
|
||||
import com.peanut.modules.common.dao.UserEbookBuyDao;
|
||||
import com.peanut.modules.common.dao.*;
|
||||
import com.peanut.modules.book.service.*;
|
||||
import com.peanut.modules.common.entity.*;
|
||||
import com.peanut.modules.pay.alipay.config.AliPayConfig;
|
||||
@@ -62,6 +59,8 @@ public class AliPayServiceImpl implements AliPayService {
|
||||
private PayRefundOrderService refundOrderService;
|
||||
@Autowired
|
||||
private UserCourseBuyDao userCourseBuyDao;
|
||||
@Autowired
|
||||
private JfTransactionDetailsDao jfTransactionDetailsDao;
|
||||
|
||||
@Override
|
||||
public String pay(AlipayDTO payDto) {
|
||||
@@ -201,6 +200,11 @@ public class AliPayServiceImpl implements AliPayService {
|
||||
String ActString = buyOrderService.checkWlOrder(orderEntity.getOrderSn())?"0":"2";
|
||||
buyOrderService.updateOrderStatus(Integer.valueOf(customerid),oldPayZfbOrderEntity.getRelevanceoid(),ActString);
|
||||
|
||||
//处理抵扣积分
|
||||
if(orderEntity.getJfDeduction().compareTo(BigDecimal.ZERO)>0){
|
||||
userCoinJf(orderEntity);
|
||||
}
|
||||
|
||||
/* 记录用户购买的书籍 */
|
||||
// 查询订单的所有 book_id
|
||||
List<Integer> orderBookIdList = shopProductBookDao.getOrderBookId(orderEntity.getOrderSn());
|
||||
@@ -337,6 +341,20 @@ public class AliPayServiceImpl implements AliPayService {
|
||||
return resJson;
|
||||
}
|
||||
|
||||
private void userCoinJf(BuyOrder order){
|
||||
MyUserEntity userEntity = userService.getById(order.getUserId());
|
||||
userEntity.setJf(userEntity.getJf().subtract(order.getJfDeduction()));
|
||||
userService.updateById(userEntity);
|
||||
JfTransactionDetails jfTransactionDetails = new JfTransactionDetails();
|
||||
jfTransactionDetails.setUserId(userEntity.getId());
|
||||
jfTransactionDetails.setChangeAmount(order.getJfDeduction());
|
||||
jfTransactionDetails.setActType(0);
|
||||
jfTransactionDetails.setUserBalance(userEntity.getJf());
|
||||
jfTransactionDetails.setRelationId(order.getOrderId());
|
||||
jfTransactionDetails.setRemark("消费积分抵扣:"+order.getJfDeduction().toString()+",订单号:"+order.getOrderSn());
|
||||
jfTransactionDetailsDao.insert(jfTransactionDetails);
|
||||
}
|
||||
|
||||
//TODO 更新订单状态
|
||||
//TODO 更新用户优惠券状态
|
||||
//TODO 推送一路健康优惠券
|
||||
|
||||
@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
||||
import com.peanut.modules.common.dao.BuyOrderProductDao;
|
||||
import com.peanut.modules.common.dao.JfTransactionDetailsDao;
|
||||
import com.peanut.modules.common.dao.PayWechatOrderDao;
|
||||
import com.peanut.modules.book.service.*;
|
||||
import com.peanut.modules.common.dao.UserCourseBuyDao;
|
||||
@@ -69,6 +70,8 @@ public class WxpayServiceImpl extends ServiceImpl<PayWechatOrderDao, PayWechatOr
|
||||
private PayRefundOrderService refundOrderService;
|
||||
@Autowired
|
||||
private UserCourseBuyDao userCourseBuyDao;
|
||||
@Autowired
|
||||
private JfTransactionDetailsDao jfTransactionDetailsDao;
|
||||
|
||||
@Override
|
||||
public void prepay(WechatPaymentInfo paymentInfo){
|
||||
@@ -133,6 +136,12 @@ public class WxpayServiceImpl extends ServiceImpl<PayWechatOrderDao, PayWechatOr
|
||||
BigDecimal realMoney = orderEntity.getRealMoney();
|
||||
|
||||
|
||||
|
||||
if(orderEntity.getJfDeduction().compareTo(BigDecimal.ZERO)>0){
|
||||
userCoinJf(orderEntity);
|
||||
}
|
||||
|
||||
|
||||
//开通book,start
|
||||
// 查询订单的所有 book_id
|
||||
List<Integer> orderBookIdList = shopProductBookService.getOrderBookId(order.getOrderSn());
|
||||
@@ -288,6 +297,20 @@ public class WxpayServiceImpl extends ServiceImpl<PayWechatOrderDao, PayWechatOr
|
||||
return responseJson.toJSONString();
|
||||
}
|
||||
|
||||
private void userCoinJf(BuyOrder order){
|
||||
MyUserEntity userEntity = userService.getById(order.getUserId());
|
||||
userEntity.setJf(userEntity.getJf().subtract(order.getJfDeduction()));
|
||||
userService.updateById(userEntity);
|
||||
JfTransactionDetails jfTransactionDetails = new JfTransactionDetails();
|
||||
jfTransactionDetails.setUserId(userEntity.getId());
|
||||
jfTransactionDetails.setChangeAmount(order.getJfDeduction());
|
||||
jfTransactionDetails.setActType(0);
|
||||
jfTransactionDetails.setUserBalance(userEntity.getJf());
|
||||
jfTransactionDetails.setRelationId(order.getOrderId());
|
||||
jfTransactionDetails.setRemark("消费积分抵扣:"+order.getJfDeduction().toString()+",订单号:"+order.getOrderSn());
|
||||
jfTransactionDetailsDao.insert(jfTransactionDetails);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public void refundNotify(HttpServletRequest request){
|
||||
|
||||
Reference in New Issue
Block a user