Quellcode durchsuchen

订单问题修改

小么熊🐻 vor 2 Jahren
Ursprung
Commit
10f8807401

+ 28 - 25
nbjk-admin/src/main/java/com/miaxis/app/controller/wx/WxController.java

@@ -206,33 +206,36 @@ public class WxController extends BaseController {
     @PostMapping(value = "/xcxPrepareOrder")
     @ApiOperation("微信小程序支付下单")
     public Response<JSONObject> xcxPrepareOrder(@RequestBody WxOrderDTO wxOrderDTO) throws Exception{
-
         UserInfo userInfo = SecurityUtils.getLoginUser().getStudent();
-        int count = vipUserExamService.getUserExamByUnionIdAndGoodsId(userInfo.getUnionId(),wxOrderDTO.getExamId());
-        if(count>0) {
-            throw new CustomException("您已购买过该考场,退回上个页面,重新进入。");
+        if(wxOrderDTO.getGoodsType()==1) {
+            int count = vipUserExamService.getUserExamByUnionIdAndGoodsId(userInfo.getUnionId(), wxOrderDTO.getGoodsId());
+            if (count > 0) {
+                throw new CustomException("您已购买过该考场,退回上个页面,重新进入。");
+            }
+            ExamInfo examInfo = examInfoService.getById(wxOrderDTO.getGoodsId());
+            //创建本地微信订单
+            WxOrder order = new WxOrder();
+            String orderCode = getOrderCode(userInfo.getId());
+            order.setGoodsId(wxOrderDTO.getGoodsId());
+            order.setGoodsName(examInfo.getName());
+            order.setGoodsType(1);
+            order.setOutTradeNo(orderCode);
+            order.setUserId(userInfo.getId());
+            order.setXcxOpenid(userInfo.getXcxOpenid());
+            order.setAppOpenid(userInfo.getAppOpenid());
+            order.setGzhOpenid(userInfo.getGzhOpenid());
+            order.setUnionId(userInfo.getUnionId());
+            order.setPhoneType(wxOrderDTO.getPhoneType()); //手机类型 1:苹果 2:安卓
+            order.setForeType(wxOrderDTO.getForeType()); //前端类型 1:app 2:小程序 3:公众号
+            order.setTotal(examInfo.getPrice());
+            order.setOrderStatus(OrderStatusEnum.PROCESSING.getCode());
+            wxOrderService.save(order);
+            return Response.success(placeXcxWxOrder(order, examInfo.getName()));
+        } else if (wxOrderDTO.getGoodsType()==2) {
+            throw new CustomException("请正确传入GoodsType,GoodsType=2未开发");
+        } else {
+            throw new CustomException("请正确传入GoodsType。");
         }
-        ExamInfo examInfo = examInfoService.getById(wxOrderDTO.getExamId());
-        //创建本地微信订单
-        WxOrder order = new WxOrder();
-        String orderCode = getOrderCode(userInfo.getId());
-        order.setGoodsId(wxOrderDTO.getExamId());
-        order.setGoodsName(examInfo.getName());
-        order.setOutTradeNo(orderCode);
-        order.setUserId(userInfo.getId());
-        order.setXcxOpenid(userInfo.getXcxOpenid());
-        order.setAppOpenid(userInfo.getAppOpenid());
-        order.setGzhOpenid(userInfo.getGzhOpenid());
-        order.setUnionId(userInfo.getUnionId());
-        order.setPhoneType(wxOrderDTO.getPhoneType()); //手机类型 1:苹果 2:安卓
-        order.setForeType(wxOrderDTO.getForeType()); //前端类型 1:app 2:小程序 3:公众号
-        order.setTotal(examInfo.getPrice());
-
-        order.setOrderStatus(OrderStatusEnum.PROCESSING.getCode());
-        wxOrderService.save(order);
-        return Response.success(placeXcxWxOrder(order, examInfo.getName()));
-
-
     }
 
 

+ 6 - 0
nbjk-service/src/main/java/com/miaxis/order/domain/OrderInfo.java

@@ -42,6 +42,12 @@ public class OrderInfo extends BaseBusinessEntity{
     @ApiModelProperty(value = "商品")
     private String goodsName;
 
+    /** 商品类型 1:考场 2:实物 */
+    @Excel(name = "商品类型 1:考场 2:实物")
+    @TableField("goods_type")
+    @ApiModelProperty(value = "商品类型 1:考场 2:实物")
+    private Integer goodsType;
+
     /** 用户ID */
     @Excel(name = "用户ID")
     @TableField("user_id")

+ 15 - 9
nbjk-service/src/main/java/com/miaxis/order/service/impl/OrderInfoServiceImpl.java

@@ -65,6 +65,7 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
         OrderInfo orderInfo = new OrderInfo();
         orderInfo.setGoodsId(order.getGoodsId());
         orderInfo.setGoodsName(order.getGoodsName());
+        orderInfo.setGoodsType(order.getGoodsType());
         orderInfo.setUserId(order.getUserId());
         orderInfo.setUnionId(order.getUnionId());
         orderInfo.setAppOpenid(order.getAppOpenid());
@@ -77,15 +78,20 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
         orderInfo.setPayType(payType);
         orderInfo.setForeType(order.getForeType());
 
-        //添加会员信息
-        ExamInfo examInfo = examInfoService.getById(order.getGoodsId());
-        VipUserExam vipUserExam = new VipUserExam();
-        vipUserExam.setUserId(order.getUserId());
-        vipUserExam.setUnionId(order.getUnionId());
-        vipUserExam.setExamId(examInfo.getId());
-        vipUserExam.setExamName(examInfo.getName());
-        vipUserExamService.save(vipUserExam);
-        this.save(orderInfo);
+        if(order.getGoodsType()==1) { //考场
+            //添加会员信息
+            ExamInfo examInfo = examInfoService.getById(order.getGoodsId());
+            VipUserExam vipUserExam = new VipUserExam();
+            vipUserExam.setUserId(order.getUserId());
+            vipUserExam.setUnionId(order.getUnionId());
+            vipUserExam.setExamId(examInfo.getId());
+            vipUserExam.setExamName(examInfo.getName());
+            vipUserExamService.save(vipUserExam);
+            this.save(orderInfo);
+        } else if(order.getGoodsType()==2) { //商品
+            //添加会员信息
+        }
+
     }
 
 

+ 9 - 0
nbjk-service/src/main/java/com/miaxis/wx/domain/WxOrder.java

@@ -43,6 +43,12 @@ public class WxOrder extends BaseBusinessEntity{
     @ApiModelProperty(value = "商品名称")
     private String goodsName;
 
+    /** 商品类型 1:考场 2:实物 */
+    @Excel(name = "商品类型 1:考场 2:实物")
+    @TableField("goods_type")
+    @ApiModelProperty(value = "商品类型 1:考场 2:实物")
+    private Integer goodsType;
+
     /** 用户id */
     @Excel(name = "用户id")
     @TableField("user_id")
@@ -185,4 +191,7 @@ public class WxOrder extends BaseBusinessEntity{
     @TableField("fore_type")
     @ApiModelProperty(value = "前端类型 1:app 2:小程序 3:公众号")
     private Integer foreType;
+
+
+
 }

+ 7 - 2
nbjk-service/src/main/java/com/miaxis/wx/dto/WxOrderDTO.java

@@ -9,12 +9,17 @@ public class WxOrderDTO {
 
 
 
-    @ApiModelProperty(value = "考场ID",required = true)
-    private Long examId;
+    @ApiModelProperty(value = "商品ID(考场ID)",required = true)
+    private Long goodsId;
+
+    @ApiModelProperty(value = "商品类型 1:考场 2:实物",required = true)
+    private Long goodsType;
 
     @ApiModelProperty(value = "手机类型 1苹果 2安卓",required = true)
     private Integer phoneType;  // 1苹果 2安卓
 
     @ApiModelProperty(value = "前端类型 1:app 2:小程序 3:公众号",required = true)
     private Integer foreType;
+
+
 }