Explorar el Código

fix 小程序金币支付

he2802 hace 4 años
padre
commit
d37b1d612a

+ 15 - 3
zhongzheng-api/src/main/java/com/zhongzheng/controller/order/OrderController.java

@@ -86,12 +86,24 @@ public class OrderController extends BaseController {
     /**
      * 公众号充值订单
      */
-    @ApiOperation("公众号充值订单")
-    @Log(title = "公众号充值订单", businessType = BusinessType.INSERT)
+    @ApiOperation("公众号金币充值订单")
+    @Log(title = "公众号金币充值订单", businessType = BusinessType.INSERT)
     @PostMapping("/credit")
     public AjaxResult credit(@RequestBody OrderAddBo bo) {
         ClientLoginUser loginUser = wxTokenService.getLoginUser(ServletUtils.getRequest());
         bo.setUserId(loginUser.getUser().getUserId());
-        return AjaxResult.success(iOrderService.placeGzhOrder(bo));
+        return AjaxResult.success(iOrderService.placeGzhCoinOrder(bo));
+    }
+
+    /**
+     * 公众号充值订单
+     */
+    @ApiOperation("小程序金币充值订单")
+    @Log(title = "小程序金币充值订单", businessType = BusinessType.INSERT)
+    @PostMapping("/smallCoin")
+    public AjaxResult smallCoin(@RequestBody OrderAddBo bo) {
+        ClientLoginUser loginUser = wxTokenService.getLoginUser(ServletUtils.getRequest());
+        bo.setUserId(loginUser.getUser().getUserId());
+        return AjaxResult.success(iOrderService.placeSmallCoinOrder(bo));
     }
 }

+ 0 - 2
zhongzheng-api/src/main/java/com/zhongzheng/controller/user/UserController.java

@@ -73,12 +73,10 @@ public class UserController extends BaseController {
         int collectTotal = iUserService.getCollectTotal(loginUser.getUser().getUserId());
         Integer rank = iUserService.getRank(loginUser.getUser().getUserId());
         Integer issue = iUserService.getIssue(loginUser.getUser().getUserId());
-        BigDecimal money = iUserService.getMoney(loginUser.getUser().getUserId());
         Map<String,Object> map = new HashMap<>();
         map.put("collectTotal",collectTotal);
         map.put("rank",rank);
         map.put("issue",issue);
-        map.put("money",money);
         return AjaxResult.success(map);
     }
 

+ 3 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/IOrderService.java

@@ -43,7 +43,9 @@ public interface IOrderService extends IService<Order> {
 
 	Map<String, String> placeOrder(OrderAddBo bo);
 
-	Map<String, String> placeGzhOrder(OrderAddBo bo);
+	Map<String, String> placeGzhCoinOrder(OrderAddBo bo);
+
+	Map<String, String> placeSmallCoinOrder(OrderAddBo bo);
 
 	/**
 	 * 根据编辑业务对象修改订单

+ 52 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/impl/OrderServiceImpl.java

@@ -178,7 +178,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
     }
 
     @Override
-    public Map<String, String> placeGzhOrder(OrderAddBo bo) {
+    public Map<String, String> placeGzhCoinOrder(OrderAddBo bo) {
         List<OrderGoodsAddBo> goodsList = bo.getGoodsList();
         if(goodsList.size()<1){
             throw new CustomException("商品列表为空");
@@ -191,6 +191,20 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
         return result;
     }
 
+    @Override
+    public Map<String, String> placeSmallCoinOrder(OrderAddBo bo) {
+        List<OrderGoodsAddBo> goodsList = bo.getGoodsList();
+        if(goodsList.size()<1){
+            throw new CustomException("商品列表为空");
+        }
+        Order add = BeanUtil.toBean(bo, Order.class);
+        validEntityBeforeSave(add);
+        add.setCreateTime(DateUtils.getNowTime());
+        add.setUpdateTime(DateUtils.getNowTime());
+        Map<String, String> result = dealSmallCoinOrder(add,goodsList,bo.getUrl());
+        return result;
+    }
+
     @Override
     public Boolean updateByEditBo(OrderEditBo bo) {
         Order update = BeanUtil.toBean(bo, Order.class);
@@ -215,6 +229,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
         return this.removeByIds(ids);
     }
 
+    //购买课程题库重点
     public Map<String, String>  dealOrder(Order add,List<OrderGoodsAddBo> goodsList,Long couponId,Long activity){
         UserVo userVo = iUserService.queryById(add.getUserId());
         String body = "中正云课堂消费";
@@ -412,4 +427,40 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
         return result;
     }
 
+    //小程序金币购买
+    public Map<String, String>  dealSmallCoinOrder(Order add,List<OrderGoodsAddBo> goodsList,String url){
+        UserVo userVo = iUserService.queryById(add.getUserId());
+        String body = "中正云课堂充值";
+        String price = "1";
+        String out_trade_no = DateUtils.getDateOrderSn();
+        add.setOderSn(out_trade_no);
+        add.setPayType(1); //微信支付
+        add.setOrderStatus(0);
+        BigDecimal totalPrice = new BigDecimal(0);
+        for (OrderGoodsAddBo g : goodsList) {
+            g.setOrderSn(out_trade_no);
+            if(g.getNum()<1){
+                throw new CustomException("商品数量错误");
+            }
+            g.setGoodsType(4);//充值余额类型
+            g.setGoodsId(0L);
+            if(!iOrderGoodsService.insertByAddBo(g)){
+                throw new CustomException("商品错误");
+            }
+            totalPrice = totalPrice.add(g.getGoodsPrice());
+        }
+        BigDecimal zero = new BigDecimal("0.01");
+        if(totalPrice.compareTo(zero) < 0){
+            //价格不能小于0.01
+            totalPrice = zero;
+        }
+
+        add.setOrderPrice(totalPrice);
+        if(!this.save(add)){
+            throw new CustomException("订单数据错误");
+        }
+        Map<String, String> result =  iWxPayService.payment(out_trade_no,userVo.getOpenId(),body,price);
+        return result;
+    }
+
 }

+ 1 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/IUserService.java

@@ -69,4 +69,5 @@ public interface IUserService extends IService<User> {
 	BigDecimal getMoney(Long userId);
 
     Integer selectUserNum(Integer grade);
+
 }