|
@@ -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()));
|
|
|
-
|
|
|
-
|
|
|
}
|
|
|
|
|
|
|