|
|
@@ -442,12 +442,18 @@ public class LinePayOfflineService {
|
|
|
}
|
|
|
PosOrder order = orderService.getOne(new QueryWrapper<PosOrder>().eq("dd_id", ddId));
|
|
|
if (order == null || !"MERCHANT".equals(order.getOrderSource())) {
|
|
|
+ // 三个 forbidden 抛点对商家展示同一消息,靠日志区分具体哪条不满足
|
|
|
+ log.warn("LINE Pay offline order rejected: null or not merchant-sourced, merchantId={}, ddId={}, orderSource={}, shId={}, mdId={}",
|
|
|
+ merchantId, ddId, order == null ? null : order.getOrderSource(),
|
|
|
+ order == null ? null : order.getShId(), order == null ? null : order.getMdId());
|
|
|
throw new ServiceException(MessageUtils.message("line.pay.offline.order.forbidden"));
|
|
|
}
|
|
|
boolean directMerchant = "1".equals(merchant.getUserType())
|
|
|
|| "3".equals(merchant.getUserType());
|
|
|
PosStore store = storeService.getById(order.getMdId());
|
|
|
if (store == null) {
|
|
|
+ log.warn("LINE Pay offline order rejected: store missing, merchantId={}, ddId={}, mdId={}",
|
|
|
+ merchantId, ddId, order.getMdId());
|
|
|
throw new ServiceException(MessageUtils.message("line.pay.offline.order.forbidden"));
|
|
|
}
|
|
|
boolean owned = directMerchant
|
|
|
@@ -455,6 +461,9 @@ public class LinePayOfflineService {
|
|
|
&& merchant.getUserId().equals(store.getUserId())
|
|
|
: merchant.getStoreId() != null && merchant.getStoreId().equals(order.getMdId());
|
|
|
if (!owned) {
|
|
|
+ log.warn("LINE Pay offline order rejected: not owned, merchantId={}, userType={}, merchantStoreId={}, ddId={}, orderShId={}, orderMdId={}, storeUserId={}",
|
|
|
+ merchantId, merchant.getUserType(), merchant.getStoreId(), ddId,
|
|
|
+ order.getShId(), order.getMdId(), store.getUserId());
|
|
|
throw new ServiceException(MessageUtils.message("line.pay.offline.order.forbidden"));
|
|
|
}
|
|
|
String parentDdId = order.getParentDdId() == null
|
|
|
@@ -468,6 +477,9 @@ public class LinePayOfflineService {
|
|
|
|| order.getState() == null || order.getState() == 3L || order.getState() == 4L
|
|
|
|| order.getAmount() == null || order.getAmount() <= 0 || order.getMdId() == null
|
|
|
|| order.getAfterSaleStatus() != null && order.getAfterSaleStatus() != 0L)) {
|
|
|
+ log.warn("LINE Pay offline order rejected: not payable, merchantId={}, ddId={}, payType={}, payStatus={}, state={}, amount={}, afterSaleStatus={}",
|
|
|
+ merchantId, ddId, order.getPayType(), order.getPayStatus(), order.getState(),
|
|
|
+ order.getAmount(), order.getAfterSaleStatus());
|
|
|
throw new ServiceException(MessageUtils.message("line.pay.offline.order.invalid"));
|
|
|
}
|
|
|
return order;
|