瀏覽代碼

继续支付

he2802 3 年之前
父節點
當前提交
4837b9a0a7

+ 8 - 0
zhongzheng-api/src/main/java/com/zhongzheng/controller/order/OrderController.java

@@ -96,4 +96,12 @@ public class OrderController extends BaseController {
         bo.setUserId(loginUser.getUser().getUserId());
         return AjaxResult.success(iOrderService.placeSmallOrder(bo));
     }
+
+    @ApiOperation("继续支付小程序订单")
+    @PostMapping("resumeSmallOrder")
+    public AjaxResult resumeSmallOrder(@RequestBody OrderAddBo bo) {
+        ClientLoginUser loginUser = wxTokenService.getLoginUser(ServletUtils.getRequest());
+        bo.setUserId(loginUser.getUser().getUserId());
+        return AjaxResult.success(iOrderService.resumeSmallOrder(bo));
+    }
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/IOrderService.java

@@ -52,6 +52,8 @@ public interface IOrderService extends IService<Order> {
 	 */
 	Map<String, String> placeSmallOrder(OrderAddBo bo);
 
+	Map<String, String> resumeSmallOrder(OrderAddBo bo);
+
 	/**
 	 * 根据编辑业务对象修改订单
 	 * @param bo 订单编辑业务对象

+ 37 - 2
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/impl/OrderServiceImpl.java

@@ -10,6 +10,7 @@ import com.zhongzheng.common.utils.ServletUtils;
 import com.zhongzheng.modules.alisms.service.IAliSmsService;
 import com.zhongzheng.modules.bank.domain.QuestionBusiness;
 import com.zhongzheng.modules.base.service.IProfileTpService;
+import com.zhongzheng.modules.base.service.IShoppingCartService;
 import com.zhongzheng.modules.base.vo.ProfileTpVo;
 import com.zhongzheng.modules.goods.domain.Goods;
 import com.zhongzheng.modules.goods.service.IGoodsService;
@@ -92,6 +93,9 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
     @Autowired
     private IUserService iUserService;
 
+    @Autowired
+    private IShoppingCartService iShoppingCartService;
+
     @Autowired
     private com.zhongzheng.modules.alisms.service.IAliSmsService IAliSmsService;
 
@@ -313,6 +317,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
                 }
                 arrangeGrade(goods.getGoodsName(),goods.getGoodsId(),orderGoods.getOrderGoodsId(),gradeId,add.getUserId());
             }
+            iShoppingCartService.deleteByGoodsId(g.getGoodsId(),bo.getUserId());
         }
 
         add.setOrderSn(out_trade_no);
@@ -330,6 +335,35 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
         return payResult;
     }
 
+    @Override
+    public Map<String, String> resumeSmallOrder(OrderAddBo bo) {
+        if(bo.getOrderSn()==null){
+            throw new CustomException("订单数据错误");
+        }
+        Order order = this.getOne(new LambdaQueryWrapper<Order>().eq(Order::getOrderSn, bo.getOrderSn()));
+        String body = "";
+        if(order!=null&&order.getOrderStatus()==0){
+            Map<String,Object> map = new HashMap<>();
+            map.put("order_sn",bo.getOrderSn());
+            List<OrderGoods> goodsList = iOrderGoodsService.listByMap(map);
+            for (OrderGoods g : goodsList) {
+                Goods goods = iGoodsService.getOne(new LambdaQueryWrapper<Goods>().eq(Goods::getGoodsId,g.getGoodsId()));
+                if(goods.getGoodsStatus()!=1){
+                    throw new CustomException("商品尚未上架");
+                }
+                body = "中正祥粤云-"+goods.getGoodsName();
+                break;
+            }
+        }else{
+            throw new CustomException("无法继续支付");
+        }
+        UserVo userVo = iUserService.queryById(bo.getUserId());
+        String price = "1";
+        Map<String, String> payResult =  iWxPayService.payment(bo.getOrderSn(),userVo.getOpenId(),body,price);
+        payResult.put("orderSn",bo.getOrderSn());
+        return payResult;
+    }
+
 
     @Override
     public Boolean updateByEditBo(OrderEditBo bo) {
@@ -389,7 +423,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
             throw new CustomException("该学员已在此商品有效期内的班级,无法加入新的有效期班级,请查看该学员此商品下的班级");
         }
         //指定班级
-        if(gradeId!=null){
+        if(gradeId>0){
             ClassGradeVo classGradeVo = iClassGradeService.queryById(gradeId);
             if(classGradeVo==null){
                 throw new CustomException("班级不存在");
@@ -453,7 +487,8 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
         classGradeUser.setUserId(userId);
         classGradeUser.setGradeId(gradeId);
         classGradeUser.setStatus(1);
-        classGradeUser.setCreateBy(SecurityUtils.getUsername());
+    //    classGradeUser.setCreateBy(SecurityUtils.getUsername());
+        classGradeUser.setCreateBy("sys"); //系统分班
         classGradeUser.setFromType(1);
         classGradeUser.setOrderGoodsId(orderGoodsId);
         classGradeUser.setCreateTime(DateUtils.getNowTime());

+ 1 - 3
zhongzheng-system/src/main/java/com/zhongzheng/modules/wx/service/impl/WxPayServiceImpl.java

@@ -124,8 +124,7 @@ public class WxPayServiceImpl  implements IWxPayService {
     @Autowired
     private IOrderGoodsService iOrderGoodsService;
 
-    @Autowired
-    private IShoppingCartService iShoppingCartService;
+
 
 
     private String gzh_tokenUrl = "https://api.weixin.qq.com/cgi-bin/token";
@@ -302,7 +301,6 @@ public class WxPayServiceImpl  implements IWxPayService {
                     g.setPayStatus(OrderGoods.PAY_FULL);
                     g.setGoodsReceived(g.getGoodsRealPrice());
                     iOrderGoodsService.updateById(g);
-                    iShoppingCartService.deleteByGoodsId(g.getGoodsId(),order.getUserId());
                 }
             }