This commit is contained in:
wuchunlei
2024-05-13 14:39:30 +08:00
4 changed files with 57 additions and 5 deletions

View File

@@ -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.request.ProductTransportVo;
import com.peanut.modules.book.vo.response.BuyOrderResponseVo; import com.peanut.modules.book.vo.response.BuyOrderResponseVo;
import com.peanut.modules.book.vo.response.OrderAddressResponseVo; 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.dao.UserCourseBuyDao;
import com.peanut.modules.common.entity.*; import com.peanut.modules.common.entity.*;
import com.peanut.modules.pay.weChatPay.dto.WechatPaymentInfo; import com.peanut.modules.pay.weChatPay.dto.WechatPaymentInfo;
@@ -90,6 +91,8 @@ public class BuyOrderController {
private CountyService countyService; private CountyService countyService;
@Autowired @Autowired
private UserCourseBuyDao userCourseBuyDao; private UserCourseBuyDao userCourseBuyDao;
@Autowired
private JfTransactionDetailsDao jfTransactionDetailsDao;
@RequestMapping(value = "/decomposeShipment", method = RequestMethod.POST) @RequestMapping(value = "/decomposeShipment", method = RequestMethod.POST)
public R decomposeShipment(@RequestBody BuyOrderListRequestVo requestVo) { public R decomposeShipment(@RequestBody BuyOrderListRequestVo requestVo) {
@@ -895,6 +898,14 @@ public class BuyOrderController {
} }
private void recordJfTransaction(BuyOrder buyOrder, MyUserEntity user, BigDecimal jf){ 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);
} }
/** /**

View File

@@ -21,7 +21,7 @@ public class JfTransactionDetails implements Serializable {
/** /**
* 0增加1减少 * 0增加1减少
*/ */
private String actType; private Integer actType;
/** /**
* 变动金额 * 变动金额
*/ */

View File

@@ -9,10 +9,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.yulichang.wrapper.MPJLambdaWrapper; import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.peanut.common.utils.CopyUtils; import com.peanut.common.utils.CopyUtils;
import com.peanut.common.utils.OrderUtils; import com.peanut.common.utils.OrderUtils;
import com.peanut.modules.common.dao.BuyOrderProductDao; import com.peanut.modules.common.dao.*;
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.book.service.*; import com.peanut.modules.book.service.*;
import com.peanut.modules.common.entity.*; import com.peanut.modules.common.entity.*;
import com.peanut.modules.pay.alipay.config.AliPayConfig; import com.peanut.modules.pay.alipay.config.AliPayConfig;
@@ -62,6 +59,8 @@ public class AliPayServiceImpl implements AliPayService {
private PayRefundOrderService refundOrderService; private PayRefundOrderService refundOrderService;
@Autowired @Autowired
private UserCourseBuyDao userCourseBuyDao; private UserCourseBuyDao userCourseBuyDao;
@Autowired
private JfTransactionDetailsDao jfTransactionDetailsDao;
@Override @Override
public String pay(AlipayDTO payDto) { public String pay(AlipayDTO payDto) {
@@ -201,6 +200,11 @@ public class AliPayServiceImpl implements AliPayService {
String ActString = buyOrderService.checkWlOrder(orderEntity.getOrderSn())?"0":"2"; String ActString = buyOrderService.checkWlOrder(orderEntity.getOrderSn())?"0":"2";
buyOrderService.updateOrderStatus(Integer.valueOf(customerid),oldPayZfbOrderEntity.getRelevanceoid(),ActString); buyOrderService.updateOrderStatus(Integer.valueOf(customerid),oldPayZfbOrderEntity.getRelevanceoid(),ActString);
//处理抵扣积分
if(orderEntity.getJfDeduction().compareTo(BigDecimal.ZERO)>0){
userCoinJf(orderEntity);
}
/* 记录用户购买的书籍 */ /* 记录用户购买的书籍 */
// 查询订单的所有 book_id // 查询订单的所有 book_id
List<Integer> orderBookIdList = shopProductBookDao.getOrderBookId(orderEntity.getOrderSn()); List<Integer> orderBookIdList = shopProductBookDao.getOrderBookId(orderEntity.getOrderSn());
@@ -337,6 +341,20 @@ public class AliPayServiceImpl implements AliPayService {
return resJson; 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 更新用户优惠券状态 //TODO 更新用户优惠券状态
//TODO 推送一路健康优惠券 //TODO 推送一路健康优惠券

View File

@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.yulichang.wrapper.MPJLambdaWrapper; import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.peanut.modules.common.dao.BuyOrderProductDao; 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.common.dao.PayWechatOrderDao;
import com.peanut.modules.book.service.*; import com.peanut.modules.book.service.*;
import com.peanut.modules.common.dao.UserCourseBuyDao; import com.peanut.modules.common.dao.UserCourseBuyDao;
@@ -69,6 +70,8 @@ public class WxpayServiceImpl extends ServiceImpl<PayWechatOrderDao, PayWechatOr
private PayRefundOrderService refundOrderService; private PayRefundOrderService refundOrderService;
@Autowired @Autowired
private UserCourseBuyDao userCourseBuyDao; private UserCourseBuyDao userCourseBuyDao;
@Autowired
private JfTransactionDetailsDao jfTransactionDetailsDao;
@Override @Override
public void prepay(WechatPaymentInfo paymentInfo){ public void prepay(WechatPaymentInfo paymentInfo){
@@ -133,6 +136,12 @@ public class WxpayServiceImpl extends ServiceImpl<PayWechatOrderDao, PayWechatOr
BigDecimal realMoney = orderEntity.getRealMoney(); BigDecimal realMoney = orderEntity.getRealMoney();
if(orderEntity.getJfDeduction().compareTo(BigDecimal.ZERO)>0){
userCoinJf(orderEntity);
}
//开通bookstart //开通bookstart
// 查询订单的所有 book_id // 查询订单的所有 book_id
List<Integer> orderBookIdList = shopProductBookService.getOrderBookId(order.getOrderSn()); List<Integer> orderBookIdList = shopProductBookService.getOrderBookId(order.getOrderSn());
@@ -288,6 +297,20 @@ public class WxpayServiceImpl extends ServiceImpl<PayWechatOrderDao, PayWechatOr
return responseJson.toJSONString(); 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 @Override
@Transactional @Transactional
public void refundNotify(HttpServletRequest request){ public void refundNotify(HttpServletRequest request){