diff --git a/src/main/java/com/ycwl/basic/controller/mobile/AppOrderController.java b/src/main/java/com/ycwl/basic/controller/mobile/AppOrderController.java index 262e77b..f6b4edf 100644 --- a/src/main/java/com/ycwl/basic/controller/mobile/AppOrderController.java +++ b/src/main/java/com/ycwl/basic/controller/mobile/AppOrderController.java @@ -14,6 +14,7 @@ import com.ycwl.basic.model.pc.face.resp.FaceRespVO; import com.ycwl.basic.model.pc.order.req.CreateBatchOrderReqVO; import com.ycwl.basic.model.pc.order.req.CreateOrderReqVO; import com.ycwl.basic.model.pc.order.resp.OrderAppRespVO; +import com.ycwl.basic.pay.entity.PayResponse; import com.ycwl.basic.service.pc.OrderService; import com.ycwl.basic.utils.ApiResponse; import com.ycwl.basic.utils.JwtTokenUtil; @@ -63,6 +64,11 @@ public class AppOrderController { return orderService.createOrder(worker.getUserId(), orderAddReq); } + @ApiOperation("查询订单") + @GetMapping("/queryOrder") + public ApiResponse queryOrder(@RequestParam("orderId") Long orderId) { + return ApiResponse.success(orderService.queryOrder(orderId)); + } @ApiOperation("用户端打包订单新增") @PostMapping("/addBatchOrder") @@ -97,6 +103,9 @@ public class AppOrderController { Long userId = Long.parseLong(BaseContextHandler.getUserId()); if (faceId == null) { FaceRespVO lastFaceByUserId = faceMapper.findLastFaceByUserId(BaseContextHandler.getUserId()); + if (lastFaceByUserId == null) { + return ApiResponse.fail("您还未上传人脸"); + } faceId = lastFaceByUserId.getId(); } IsBuyBatchRespVO buy = priceBiz.isBuy(userId, faceId, scenicId, type, goodsIds); diff --git a/src/main/java/com/ycwl/basic/mapper/DeviceMapper.java b/src/main/java/com/ycwl/basic/mapper/DeviceMapper.java index b30570d..79bde93 100644 --- a/src/main/java/com/ycwl/basic/mapper/DeviceMapper.java +++ b/src/main/java/com/ycwl/basic/mapper/DeviceMapper.java @@ -30,7 +30,7 @@ public interface DeviceMapper { DeviceEntity getByDeviceId(Long deviceId); List listByScenicIdWithWVP(Long scenicId); - ScenicDeviceCountVO deviceCountByScenicId(@Param("scenicId") Long scenicId,@Param("userId") Long userId); + ScenicDeviceCountVO deviceCountByScenicId(@Param("scenicId") Long scenicId); DeviceConfigEntity getConfigByDeviceId(Long deviceId); int addConfig(DeviceConfigEntity deviceConfigEntity); diff --git a/src/main/java/com/ycwl/basic/service/mobile/WxPayService.java b/src/main/java/com/ycwl/basic/service/mobile/WxPayService.java index 46fd70c..20992ba 100644 --- a/src/main/java/com/ycwl/basic/service/mobile/WxPayService.java +++ b/src/main/java/com/ycwl/basic/service/mobile/WxPayService.java @@ -3,6 +3,7 @@ package com.ycwl.basic.service.mobile; import com.ycwl.basic.model.wx.WXPayOrderReqVO; import com.ycwl.basic.model.wx.WechatCallbackSuccessData; +import com.ycwl.basic.pay.entity.PayResponse; import jakarta.servlet.http.HttpServletRequest; import java.io.IOException; import java.util.Map; @@ -19,7 +20,7 @@ public interface WxPayService { */ void payNotify(HttpServletRequest request); - void payNotify(Long scenicId, HttpServletRequest request); + PayResponse payNotify(Long scenicId, HttpServletRequest request); /** diff --git a/src/main/java/com/ycwl/basic/service/mobile/impl/AppScenicServiceImpl.java b/src/main/java/com/ycwl/basic/service/mobile/impl/AppScenicServiceImpl.java index 14f5977..61ba225 100644 --- a/src/main/java/com/ycwl/basic/service/mobile/impl/AppScenicServiceImpl.java +++ b/src/main/java/com/ycwl/basic/service/mobile/impl/AppScenicServiceImpl.java @@ -51,14 +51,14 @@ public class AppScenicServiceImpl implements AppScenicService { @Override public ApiResponse deviceCountByScenicId(Long scenicId) { JwtInfo worker = JwtTokenUtil.getWorker(); - ScenicDeviceCountVO scenicDeviceCountVO = deviceMapper.deviceCountByScenicId(scenicId, worker.getUserId()); + ScenicDeviceCountVO scenicDeviceCountVO = deviceMapper.deviceCountByScenicId(scenicId); return ApiResponse.success(scenicDeviceCountVO); } @Override public ApiResponse getDetails(Long id) { ScenicRespVO scenicRespVO = scenicMapper.getAppById(id); - ScenicDeviceCountVO scenicDeviceCountVO = deviceMapper.deviceCountByScenicId(id, -1L); + ScenicDeviceCountVO scenicDeviceCountVO = deviceMapper.deviceCountByScenicId(id); scenicRespVO.setLensNum(scenicDeviceCountVO.getTotalDeviceCount()); return ApiResponse.success(scenicRespVO); } diff --git a/src/main/java/com/ycwl/basic/service/mobile/impl/WxPayServiceImpl.java b/src/main/java/com/ycwl/basic/service/mobile/impl/WxPayServiceImpl.java index c60e3cf..3580a2e 100644 --- a/src/main/java/com/ycwl/basic/service/mobile/impl/WxPayServiceImpl.java +++ b/src/main/java/com/ycwl/basic/service/mobile/impl/WxPayServiceImpl.java @@ -80,6 +80,7 @@ public class WxPayServiceImpl implements WxPayService { CreateOrderResponse order = scenicPayAdapter.createOrder(request); Map paymentParams = scenicPayAdapter.getPaymentParams(order); paymentParams.put("needPay", !order.isSkipPay()); + paymentParams.put("orderId", req.getOrderSn()); return paymentParams; } catch (Exception e) { log.error("[微信支付]createOrder error", e); @@ -88,7 +89,7 @@ public class WxPayServiceImpl implements WxPayService { } @Override - public void payNotify(Long scenicId, HttpServletRequest request) { + public PayResponse payNotify(Long scenicId, HttpServletRequest request) { IPayAdapter scenicPayAdapter = scenicService.getScenicPayAdapter(scenicId); try { PayResponse callbackResponse = scenicPayAdapter.handleCallback(request); @@ -108,6 +109,7 @@ public class WxPayServiceImpl implements WxPayService { } catch (Exception e) { throw new AppException(BizCodeEnum.ADVANCE_PAYMENT_CALLBACK_FAILED, e.toString()); } + return null; } @Override diff --git a/src/main/java/com/ycwl/basic/service/pc/OrderService.java b/src/main/java/com/ycwl/basic/service/pc/OrderService.java index 60602df..60f308e 100644 --- a/src/main/java/com/ycwl/basic/service/pc/OrderService.java +++ b/src/main/java/com/ycwl/basic/service/pc/OrderService.java @@ -11,6 +11,7 @@ import com.ycwl.basic.model.pc.order.req.OrderUpdateReq; import com.ycwl.basic.model.pc.order.req.OrderReqQuery; import com.ycwl.basic.model.pc.order.resp.OrderAppRespVO; import com.ycwl.basic.model.pc.order.resp.OrderRespVO; +import com.ycwl.basic.pay.entity.PayResponse; import com.ycwl.basic.utils.ApiResponse; import java.util.List; @@ -65,4 +66,6 @@ public interface OrderService { ApiResponse> createOrder(Long userId, CreateOrderReqVO orderAddReq) throws Exception; ApiResponse> createBatchOrder(Long userId, CreateBatchOrderReqVO batchOrderReqVO) throws Exception; + + PayResponse queryOrder(Long orderId); } diff --git a/src/main/java/com/ycwl/basic/service/pc/impl/OrderServiceImpl.java b/src/main/java/com/ycwl/basic/service/pc/impl/OrderServiceImpl.java index 2b65cc0..964c40b 100644 --- a/src/main/java/com/ycwl/basic/service/pc/impl/OrderServiceImpl.java +++ b/src/main/java/com/ycwl/basic/service/pc/impl/OrderServiceImpl.java @@ -11,6 +11,7 @@ import com.ycwl.basic.constant.BaseContextHandler; import com.ycwl.basic.constant.NumberConstant; import com.ycwl.basic.enums.*; import com.ycwl.basic.exception.AppException; +import com.ycwl.basic.exception.BaseException; import com.ycwl.basic.mapper.*; import com.ycwl.basic.model.mobile.goods.GoodsDetailVO; import com.ycwl.basic.model.mobile.order.IsBuyRespVO; @@ -38,6 +39,8 @@ import com.ycwl.basic.model.pc.task.entity.TaskEntity; import com.ycwl.basic.model.pc.template.resp.TemplateRespVO; import com.ycwl.basic.model.pc.video.entity.VideoEntity; import com.ycwl.basic.model.wx.WXPayOrderReqVO; +import com.ycwl.basic.pay.adapter.IPayAdapter; +import com.ycwl.basic.pay.entity.PayResponse; import com.ycwl.basic.repository.FaceRepository; import com.ycwl.basic.repository.PriceRepository; import com.ycwl.basic.repository.TemplateRepository; @@ -45,6 +48,7 @@ import com.ycwl.basic.repository.VideoRepository; import com.ycwl.basic.repository.VideoTaskRepository; import com.ycwl.basic.service.mobile.WxPayService; import com.ycwl.basic.service.pc.OrderService; +import com.ycwl.basic.service.pc.ScenicService; import com.ycwl.basic.service.task.impl.TaskTaskServiceImpl; import com.ycwl.basic.utils.ApiResponse; import com.ycwl.basic.utils.SnowFlakeUtil; @@ -104,6 +108,8 @@ public class OrderServiceImpl implements OrderService { private TaskTaskServiceImpl taskTaskService; @Autowired private PrinterMapper printerMapper; + @Autowired + private ScenicService scenicService; @Override public ApiResponse> pageQuery(OrderReqQuery query) { @@ -611,4 +617,15 @@ public class OrderServiceImpl implements OrderService { } } + @Override + public PayResponse queryOrder(Long orderId) { + OrderRespVO order = orderMapper.getById(orderId); + if (order == null) { + throw new BaseException("订单不存在"); + } + IPayAdapter scenicPayAdapter = scenicService.getScenicPayAdapter(order.getScenicId()); + PayResponse payResponse = scenicPayAdapter.queryOrder(orderId.toString()); + return payResponse; + } + }