|
@@ -421,6 +421,43 @@ public class PosOrderShOprateController extends BaseController {
|
|
|
return AjaxResult.success();
|
|
return AjaxResult.success();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 商家确认转账收款:payType=6 的订单 payStatus 从 0 置 1(用户线下转账、商家核对到账后触发)
|
|
|
|
|
+ * 外送单确认后推送附近骑手开放接单;与现金确认(confirmCashPayment)相互独立
|
|
|
|
|
+ */
|
|
|
|
|
+ @Anonymous
|
|
|
|
|
+ @Auth(session = true)
|
|
|
|
|
+ @GetMapping("/confirmTransferPayment")
|
|
|
|
|
+ public AjaxResult confirmTransferPayment(@RequestHeader String token, @RequestParam Long id) {
|
|
|
|
|
+ PosOrder order = posOrderService.getOne(new LambdaQueryWrapper<PosOrder>().eq(PosOrder::getId, id));
|
|
|
|
|
+ requireMerchantOrderAccess(order);
|
|
|
|
|
+ if (order == null) {
|
|
|
|
|
+ throw new ServiceException(MessageUtils.message("no.order.not.exist"));
|
|
|
|
|
+ }
|
|
|
|
|
+ if (!OrderLifecycleService.PAY_TYPE_TRANSFER.equals(order.getPayType())) {
|
|
|
|
|
+ throw new ServiceException(MessageUtils.message("no.order.paytype.not.transfer"));
|
|
|
|
|
+ }
|
|
|
|
|
+ // 已取消订单不允许确认收款:避免出现已取消+已支付的不可恢复状态(同现金确认)
|
|
|
|
|
+ if (order.getState() != null && order.getState() == 4L) {
|
|
|
|
|
+ throw new ServiceException(MessageUtils.message("no.order.transfer.cancelled"));
|
|
|
|
|
+ }
|
|
|
|
|
+ if (Long.valueOf(1L).equals(order.getPayStatus())) {
|
|
|
|
|
+ throw new ServiceException(MessageUtils.message("no.order.transfer.already.paid"));
|
|
|
|
|
+ }
|
|
|
|
|
+ PosOrder update = new PosOrder();
|
|
|
|
|
+ update.setId(order.getId());
|
|
|
|
|
+ update.setPayStatus(1L);
|
|
|
|
|
+ posOrderService.saveOrUpdate(update);
|
|
|
|
|
+ InfoUser shUser = infoUserService.getOne(new LambdaQueryWrapper<InfoUser>().eq(InfoUser::getUserId, Long.valueOf(new JwtUtil().getusid(token))));
|
|
|
|
|
+ String shName = shUser != null ? shUser.getNickName() : "";
|
|
|
|
|
+ orderLogHelper.log(String.valueOf(order.getDdId()), 2, Long.valueOf(new JwtUtil().getusid(token)), shName, "商家" + shName + "确认转账收款");
|
|
|
|
|
+ // 外送单:确认收款即支付完成,通知附近骑手开放接单(同 OMG 支付成功链路)
|
|
|
|
|
+ if (Long.valueOf(0L).equals(order.getType())) {
|
|
|
|
|
+ deliveryOrderNotificationService.notifyOrderAvailable(order);
|
|
|
|
|
+ }
|
|
|
|
|
+ return AjaxResult.success();
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
/**
|
|
/**
|
|
|
* 商家取消订单:校验 state IN (0,1),设 state=4
|
|
* 商家取消订单:校验 state IN (0,1),设 state=4
|
|
|
*/
|
|
*/
|