diff --git a/src/main/java/com/peanut/modules/book/controller/BuyOrderController.java b/src/main/java/com/peanut/modules/book/controller/BuyOrderController.java index 88cd5719..8a0a00bb 100644 --- a/src/main/java/com/peanut/modules/book/controller/BuyOrderController.java +++ b/src/main/java/com/peanut/modules/book/controller/BuyOrderController.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.IdWorker; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.github.yulichang.wrapper.MPJLambdaWrapper; import com.peanut.common.utils.PageUtils; import com.peanut.common.utils.R; import com.peanut.config.Constants; @@ -274,7 +275,12 @@ public class BuyOrderController { MyUserEntity user = this.myUserService.getById(buyOrder.getUserId()); if (usePeanutCoin(user, totalPrice,sj_check,scqq_check,wylq_check,prescriot_b_check)) { // 更新订单状态 - buyOrderService.updateOrderStatus(user.getId(), buyOrder.getOrderSn(), "0"); + if(buyOrderService.checkWlOrder(buyOrder.getOrderSn())){ + buyOrderService.updateOrderStatus(user.getId(), buyOrder.getOrderSn(), "0"); + }else{ + buyOrderService.updateOrderStatus(user.getId(), buyOrder.getOrderSn(), "2"); + } + recordTransaction(buyOrder, user, totalPrice); addEbookToUser(buyOrderProductList, buyOrder, 0); addCourseToUser(buyOrder); diff --git a/src/main/java/com/peanut/modules/book/service/BuyOrderService.java b/src/main/java/com/peanut/modules/book/service/BuyOrderService.java index 33c2e21c..91843306 100644 --- a/src/main/java/com/peanut/modules/book/service/BuyOrderService.java +++ b/src/main/java/com/peanut/modules/book/service/BuyOrderService.java @@ -64,4 +64,7 @@ public interface BuyOrderService extends IService { String mytest() throws IOException; List getOrderCourse(String orderSn); + + + boolean checkWlOrder(String orderSn); } \ No newline at end of file diff --git a/src/main/java/com/peanut/modules/book/service/impl/BuyOrderServiceImpl.java b/src/main/java/com/peanut/modules/book/service/impl/BuyOrderServiceImpl.java index 9bcf27f3..010748db 100644 --- a/src/main/java/com/peanut/modules/book/service/impl/BuyOrderServiceImpl.java +++ b/src/main/java/com/peanut/modules/book/service/impl/BuyOrderServiceImpl.java @@ -14,10 +14,7 @@ import com.peanut.common.utils.PageUtils; import com.peanut.common.utils.Query; import com.peanut.common.utils.R; import com.peanut.config.Constants; -import com.peanut.modules.common.dao.BuyOrderDao; -import com.peanut.modules.common.dao.BuyOrderProductDao; -import com.peanut.modules.common.dao.ExpressOrderDao; -import com.peanut.modules.common.dao.ShopProductBookDao; +import com.peanut.modules.common.dao.*; import com.peanut.modules.book.service.*; import com.peanut.modules.book.to.UserOrderDto; import com.peanut.modules.book.vo.ExpressOrderResponseVo; @@ -74,7 +71,8 @@ public class BuyOrderServiceImpl extends ServiceImpl impl @Autowired private ProvinceService provinceService; - + @Autowired + private ShopProductDao shopProductDao; @Autowired private CityService cityService; @Autowired @@ -608,6 +606,14 @@ public class BuyOrderServiceImpl extends ServiceImpl impl return shopProductCourseEntities; } + @Override + public boolean checkWlOrder(String orderSn) { + BuyOrder one = this.getOne(new LambdaQueryWrapper().eq(BuyOrder::getOrderSn, orderSn)); + List collect = buyOrderProductDao.selectList(new LambdaQueryWrapper().eq(BuyOrderProduct::getOrderId, one.getOrderId())).stream().map(BuyOrderProduct::getProductId).collect(Collectors.toList()); + List shopProducts = shopProductDao.selectList(new LambdaQueryWrapper().in(ShopProduct::getProductId, collect).ne(ShopProduct::getGoodsType,5)); + return shopProducts.size()>0?true:false; + } + @Override public BuyOrderResponseVo orderDetail(String orderSn) { QueryWrapper buyOrderQueryWrapper = new QueryWrapper<>(); diff --git a/src/main/java/com/peanut/modules/pay/alipay/service/impl/AliPayServiceImpl.java b/src/main/java/com/peanut/modules/pay/alipay/service/impl/AliPayServiceImpl.java index 82dba62a..7abe5ae1 100644 --- a/src/main/java/com/peanut/modules/pay/alipay/service/impl/AliPayServiceImpl.java +++ b/src/main/java/com/peanut/modules/pay/alipay/service/impl/AliPayServiceImpl.java @@ -198,7 +198,8 @@ public class AliPayServiceImpl implements AliPayService { BuyOrder orderEntity = buyOrderService.getBaseMapper().selectOne(new QueryWrapper().eq("order_sn", oldPayZfbOrderEntity.getRelevanceoid())); //更新 订单 记录 - buyOrderService.updateOrderStatus(Integer.valueOf(customerid),oldPayZfbOrderEntity.getRelevanceoid(),"0"); + String ActString = buyOrderService.checkWlOrder(orderEntity.getOrderSn())?"0":"2"; + buyOrderService.updateOrderStatus(Integer.valueOf(customerid),oldPayZfbOrderEntity.getRelevanceoid(),ActString); /* 记录用户购买的书籍 */ // 查询订单的所有 book_id diff --git a/src/main/java/com/peanut/modules/pay/weChatPay/service/impl/WxpayServiceImpl.java b/src/main/java/com/peanut/modules/pay/weChatPay/service/impl/WxpayServiceImpl.java index 1acdfd6f..bc7c0a04 100644 --- a/src/main/java/com/peanut/modules/pay/weChatPay/service/impl/WxpayServiceImpl.java +++ b/src/main/java/com/peanut/modules/pay/weChatPay/service/impl/WxpayServiceImpl.java @@ -205,8 +205,8 @@ public class WxpayServiceImpl extends ServiceImpl().eq("order_sn", order.getOrderSn()));