|
@@ -152,9 +152,10 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
|
@@ -152,9 +152,10 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
152
|
|
152
|
|
153
|
/**
|
153
|
/**
|
154
|
* 提交订单
|
154
|
* 提交订单
|
|
|
155
|
+ *
|
155
|
* @param orderRequest
|
156
|
* @param orderRequest
|
156
|
*/
|
157
|
*/
|
157
|
- public void confirm(OrderRequest orderRequest){
|
158
|
+ public void confirm(OrderRequest orderRequest) {
|
158
|
|
159
|
|
159
|
// 参数检查 ![待收货] 不合法
|
160
|
// 参数检查 ![待收货] 不合法
|
160
|
DataNode node = checkBase(orderRequest);
|
161
|
DataNode node = checkBase(orderRequest);
|
|
@@ -162,12 +163,12 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
|
@@ -162,12 +163,12 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
162
|
OrderStatus buyerOrderStatus = OrderStatus.getOrderStatus(buyerOrder.getStatus());
|
163
|
OrderStatus buyerOrderStatus = OrderStatus.getOrderStatus(buyerOrder.getStatus());
|
163
|
OrderStatus expectStatus;
|
164
|
OrderStatus expectStatus;
|
164
|
// 如果当前订单状态为待寄存或待收货
|
165
|
// 如果当前订单状态为待寄存或待收货
|
165
|
- if(buyerOrderStatus == OrderStatus.JUDGE_PASS_WAIT_WAREHOUSE){
|
166
|
+ if (buyerOrderStatus == OrderStatus.JUDGE_PASS_WAIT_WAREHOUSE) {
|
166
|
expectStatus = OrderStatus.JUDGE_PASS_WAIT_WAREHOUSE;
|
167
|
expectStatus = OrderStatus.JUDGE_PASS_WAIT_WAREHOUSE;
|
167
|
} else {
|
168
|
} else {
|
168
|
expectStatus = OrderStatus.WAITING_RECEIVE;
|
169
|
expectStatus = OrderStatus.WAITING_RECEIVE;
|
169
|
}
|
170
|
}
|
170
|
- checkStatus(node,orderRequest, expectStatus);
|
171
|
+ checkStatus(node, orderRequest, expectStatus);
|
171
|
int uid = buyerOrder.getUid();
|
172
|
int uid = buyerOrder.getUid();
|
172
|
long orderCode = buyerOrder.getOrderCode();
|
173
|
long orderCode = buyerOrder.getOrderCode();
|
173
|
int sellerUid = buyerOrder.getSellerUid();
|
174
|
int sellerUid = buyerOrder.getSellerUid();
|
|
@@ -189,8 +190,8 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
|
@@ -189,8 +190,8 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
189
|
.build());
|
190
|
.build());
|
190
|
|
191
|
|
191
|
//记录状态信息
|
192
|
//记录状态信息
|
192
|
- logger.info("in seller confirm record status change, orderCode {},uid {} ,sellerUid {}", orderCode,uid,sellerUid);
|
|
|
193
|
- orderStatusFlowService.addAsy(orderCode,OrderStatus.DONE.getCode());
|
193
|
+ logger.info("in seller confirm record status change, orderCode {},uid {} ,sellerUid {}", orderCode, uid, sellerUid);
|
|
|
194
|
+ orderStatusFlowService.addAsy(orderCode, OrderStatus.DONE.getCode());
|
194
|
cacheCleaner.cleanSellerAndBuyerOrderDetailAndList(sellerUid, uid, orderCode);
|
195
|
cacheCleaner.cleanSellerAndBuyerOrderDetailAndList(sellerUid, uid, orderCode);
|
195
|
|
196
|
|
196
|
ErpBuyerOrderEvent event = new ErpBuyerOrderEvent(uid); // 清理有货个人中心接口缓存的UFO订单数量的缓存
|
197
|
ErpBuyerOrderEvent event = new ErpBuyerOrderEvent(uid); // 清理有货个人中心接口缓存的UFO订单数量的缓存
|
|
@@ -201,8 +202,6 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
|
@@ -201,8 +202,6 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
201
|
}
|
202
|
}
|
202
|
|
203
|
|
203
|
|
204
|
|
204
|
-
|
|
|
205
|
-
|
|
|
206
|
/**
|
205
|
/**
|
207
|
* 买家修改收货地址:
|
206
|
* 买家修改收货地址:
|
208
|
* 鉴定中心确定收货之前,都可以修改地址
|
207
|
* 鉴定中心确定收货之前,都可以修改地址
|
|
@@ -211,45 +210,42 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
|
@@ -211,45 +210,42 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
211
|
@Override
|
210
|
@Override
|
212
|
public boolean buyerModifyAddress(int uid, long orderCode,
|
211
|
public boolean buyerModifyAddress(int uid, long orderCode,
|
213
|
AddressInfo changedAddress,
|
212
|
AddressInfo changedAddress,
|
214
|
- final boolean fromPlatform){
|
213
|
+ final boolean fromPlatform) {
|
215
|
|
214
|
|
216
|
- boolean result = buyerOrderMetaService.buyerSelfModifyAddress(uid, orderCode,changedAddress, fromPlatform);
|
215
|
+ boolean result = buyerOrderMetaService.buyerSelfModifyAddress(uid, orderCode, changedAddress, fromPlatform);
|
217
|
return result;
|
216
|
return result;
|
218
|
}
|
217
|
}
|
219
|
|
218
|
|
220
|
|
219
|
|
221
|
-
|
|
|
222
|
-
|
|
|
223
|
-
|
|
|
224
|
-
|
|
|
225
|
-
|
|
|
226
|
-
|
|
|
227
|
/**
|
220
|
/**
|
228
|
* 取消订单
|
221
|
* 取消订单
|
|
|
222
|
+ *
|
229
|
* @param orderRequest
|
223
|
* @param orderRequest
|
230
|
*/
|
224
|
*/
|
231
|
@Override
|
225
|
@Override
|
232
|
- public void cancel(OrderRequest orderRequest){
|
226
|
+ public void cancel(OrderRequest orderRequest) {
|
233
|
logger.info("Buyer Order cancel (OrderRequest) {}", orderRequest);
|
227
|
logger.info("Buyer Order cancel (OrderRequest) {}", orderRequest);
|
234
|
doCancel(orderRequest);
|
228
|
doCancel(orderRequest);
|
235
|
}
|
229
|
}
|
236
|
|
230
|
|
237
|
@Override
|
231
|
@Override
|
238
|
public void cancelByCS(BuyerOrderCancelReq request) {
|
232
|
public void cancelByCS(BuyerOrderCancelReq request) {
|
239
|
- logger.info("in buyer order cancelByCS, req {}",request);
|
233
|
+ logger.info("in buyer order cancelByCS, req {}", request);
|
240
|
int uid = request.getUid();
|
234
|
int uid = request.getUid();
|
241
|
long orderCode = request.getOrderCode();
|
235
|
long orderCode = request.getOrderCode();
|
242
|
int cancelType = request.getCancelType();
|
236
|
int cancelType = request.getCancelType();
|
243
|
BuyerOrderCancelType boct = BuyerOrderCancelType.getBuyerOrderCancelType(cancelType);
|
237
|
BuyerOrderCancelType boct = BuyerOrderCancelType.getBuyerOrderCancelType(cancelType);
|
244
|
- if (Objects.isNull(boct)){
|
238
|
+ if (Objects.isNull(boct)) {
|
245
|
buyerOrderCancelService.cancelForSellerShamSendOut(uid, orderCode, OrderStatus.SELLER_SHAM_SEND_OUT);
|
239
|
buyerOrderCancelService.cancelForSellerShamSendOut(uid, orderCode, OrderStatus.SELLER_SHAM_SEND_OUT);
|
246
|
return;
|
240
|
return;
|
247
|
}
|
241
|
}
|
248
|
- switch (boct){
|
242
|
+ switch (boct) {
|
249
|
case PULL_WOOL:
|
243
|
case PULL_WOOL:
|
250
|
- logger.info("in buyer order cancelByCS because pull wool, req {}",request);
|
244
|
+ logger.info("in buyer order cancelByCS because pull wool, req {}", request);
|
251
|
buyerOrderCancelService.cancelForBuyerPullWool(request);
|
245
|
buyerOrderCancelService.cancelForBuyerPullWool(request);
|
252
|
break;
|
246
|
break;
|
|
|
247
|
+ case SELLER_CAN_NOT_SEND_OUT:
|
|
|
248
|
+ buyerOrderCancelService.cancelForSellerCanNotSendOut(uid, orderCode);
|
253
|
default:
|
249
|
default:
|
254
|
logger.warn("in buyer order cancelByCS not match any BuyerOrderCancelType, req {}", request);
|
250
|
logger.warn("in buyer order cancelByCS not match any BuyerOrderCancelType, req {}", request);
|
255
|
break;
|
251
|
break;
|
|
@@ -299,28 +295,29 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
|
@@ -299,28 +295,29 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
299
|
|
295
|
|
300
|
/**
|
296
|
/**
|
301
|
* protect hack action
|
297
|
* protect hack action
|
|
|
298
|
+ *
|
302
|
* @param buyerOrder
|
299
|
* @param buyerOrder
|
303
|
* @param pbog
|
300
|
* @param pbog
|
304
|
*/
|
301
|
*/
|
305
|
- private void checkCancelable(BuyerOrder buyerOrder, BuyerOrderGoods pbog){
|
302
|
+ private void checkCancelable(BuyerOrder buyerOrder, BuyerOrderGoods pbog) {
|
306
|
boolean isDepositOrder = BuyerOrderUtils.isDeposit(buyerOrder);
|
303
|
boolean isDepositOrder = BuyerOrderUtils.isDeposit(buyerOrder);
|
307
|
SellerOrderGoods psog = sellerOrderGoodsMapper.selectByPrimaryKey(pbog.getSkup());
|
304
|
SellerOrderGoods psog = sellerOrderGoodsMapper.selectByPrimaryKey(pbog.getSkup());
|
308
|
SkupType skupType = SkupType.getSkupType(psog.getAttributes());
|
305
|
SkupType skupType = SkupType.getSkupType(psog.getAttributes());
|
309
|
boolean isQuickDeliverGoods = SellerGoodsHelper.isQuickDeliver(skupType);
|
306
|
boolean isQuickDeliverGoods = SellerGoodsHelper.isQuickDeliver(skupType);
|
310
|
|
307
|
|
311
|
- if (isDepositOrder && isQuickDeliverGoods){
|
308
|
+ if (isDepositOrder && isQuickDeliverGoods) {
|
312
|
logger.warn("checkCancelable find illegal action, uid {} orderCode {}", buyerOrder.getUid(), buyerOrder.getOrderCode());
|
309
|
logger.warn("checkCancelable find illegal action, uid {} orderCode {}", buyerOrder.getUid(), buyerOrder.getOrderCode());
|
313
|
throw new UfoServiceException(400, "闪购商品订单不允许取消");
|
310
|
throw new UfoServiceException(400, "闪购商品订单不允许取消");
|
314
|
}
|
311
|
}
|
315
|
}
|
312
|
}
|
316
|
|
313
|
|
317
|
- private void doCancel(OrderRequest orderRequest){
|
314
|
+ private void doCancel(OrderRequest orderRequest) {
|
318
|
DataNode node = checkBase(orderRequest);
|
315
|
DataNode node = checkBase(orderRequest);
|
319
|
BuyerOrder buyerOrder = node.buyerOrderInDB;
|
316
|
BuyerOrder buyerOrder = node.buyerOrderInDB;
|
320
|
Integer orderStatus = buyerOrder.getStatus();
|
317
|
Integer orderStatus = buyerOrder.getStatus();
|
321
|
- OrderStatus expectStatus = null ;
|
|
|
322
|
- if (orderStatus == null || (expectStatus = OrderStatus.getOrderStatus(orderStatus))== null){
|
|
|
323
|
- logger.warn("in buyer cancel check orderStatus fail, orderStatus {} expectStatus {}", orderStatus,expectStatus );
|
318
|
+ OrderStatus expectStatus = null;
|
|
|
319
|
+ if (orderStatus == null || (expectStatus = OrderStatus.getOrderStatus(orderStatus)) == null) {
|
|
|
320
|
+ logger.warn("in buyer cancel check orderStatus fail, orderStatus {} expectStatus {}", orderStatus, expectStatus);
|
324
|
throw new ServiceException(ServiceError.ORDER_STATUS_INVALIDATE);
|
321
|
throw new ServiceException(ServiceError.ORDER_STATUS_INVALIDATE);
|
325
|
}
|
322
|
}
|
326
|
logger.info("in buyer cancel, req {} expectStatus {}", orderRequest, expectStatus);
|
323
|
logger.info("in buyer cancel, req {} expectStatus {}", orderRequest, expectStatus);
|
|
@@ -332,7 +329,7 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
|
@@ -332,7 +329,7 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
332
|
Long orderCode = buyerOrder.getOrderCode();
|
329
|
Long orderCode = buyerOrder.getOrderCode();
|
333
|
|
330
|
|
334
|
boolean useDepositGoods = node.useDepositGoods;
|
331
|
boolean useDepositGoods = node.useDepositGoods;
|
335
|
- switch (expectStatus){
|
332
|
+ switch (expectStatus) {
|
336
|
case WAITING_PAY_DEPOSIT:
|
333
|
case WAITING_PAY_DEPOSIT:
|
337
|
targetStatus = OrderStatus.BUYER_CANCEL_BEFORE_DEPOSIT_PAY;
|
334
|
targetStatus = OrderStatus.BUYER_CANCEL_BEFORE_DEPOSIT_PAY;
|
338
|
buyerOrderStateChangers.selectOneToChange(buyerOrder, OrderStatus.WAITING_PAY_DEPOSIT, targetStatus);
|
335
|
buyerOrderStateChangers.selectOneToChange(buyerOrder, OrderStatus.WAITING_PAY_DEPOSIT, targetStatus);
|
|
@@ -372,18 +369,18 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
|
@@ -372,18 +369,18 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
372
|
.useDepositGoods(useDepositGoods)
|
369
|
.useDepositGoods(useDepositGoods)
|
373
|
.build();
|
370
|
.build();
|
374
|
int updateOrderFlag = buyerOrderCancelService.cancel(bsde);
|
371
|
int updateOrderFlag = buyerOrderCancelService.cancel(bsde);
|
375
|
- if (updateOrderFlag>0){
|
|
|
376
|
- if (node.isDepositGoods){
|
372
|
+ if (updateOrderFlag > 0) {
|
|
|
373
|
+ if (node.isDepositGoods) {
|
377
|
asyncUnlockDepositGoods(buyerOrder.getSellerUid(), node.depositCodeOfSkup);
|
374
|
asyncUnlockDepositGoods(buyerOrder.getSellerUid(), node.depositCodeOfSkup);
|
378
|
}
|
375
|
}
|
379
|
}
|
376
|
}
|
380
|
//取消事件
|
377
|
//取消事件
|
381
|
orderChangeListenerContainer.fireAsyncEvent(new BuyerOrderChangeEvent(buyerOrder, BuyerOrderChangeEvent.BizCase.CANCEL_BYBUYER, targetStatus));
|
378
|
orderChangeListenerContainer.fireAsyncEvent(new BuyerOrderChangeEvent(buyerOrder, BuyerOrderChangeEvent.BizCase.CANCEL_BYBUYER, targetStatus));
|
382
|
- orderStatusFlowService.addAsy(orderCode,targetStatus.getCode());
|
379
|
+ orderStatusFlowService.addAsy(orderCode, targetStatus.getCode());
|
383
|
break;
|
380
|
break;
|
384
|
case SELLER_SEND_OUT:
|
381
|
case SELLER_SEND_OUT:
|
385
|
bog = buyerOrderGoodsMapper.selectByOrderCode(uid = orderRequest.getUid(),
|
382
|
bog = buyerOrderGoodsMapper.selectByOrderCode(uid = orderRequest.getUid(),
|
386
|
- orderCode=orderRequest.getOrderCode());
|
383
|
+ orderCode = orderRequest.getOrderCode());
|
387
|
skup = bog.getSkup();
|
384
|
skup = bog.getSkup();
|
388
|
targetStatus = useDepositGoods ? OrderStatus.BUYER_CANCEL_BEFORE_DEPOT_RECEIVE_USE_DEPOSIT_GOODS
|
385
|
targetStatus = useDepositGoods ? OrderStatus.BUYER_CANCEL_BEFORE_DEPOT_RECEIVE_USE_DEPOSIT_GOODS
|
389
|
: OrderStatus.BUYER_CANCEL_BEFORE_DEPOT_RECEIVE;
|
386
|
: OrderStatus.BUYER_CANCEL_BEFORE_DEPOT_RECEIVE;
|
|
@@ -397,18 +394,18 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
|
@@ -397,18 +394,18 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
397
|
buyerOrderCancelService.cancel(bdre);
|
394
|
buyerOrderCancelService.cancel(bdre);
|
398
|
//取消事件
|
395
|
//取消事件
|
399
|
orderChangeListenerContainer.fireAsyncEvent(new BuyerOrderChangeEvent(buyerOrder, BuyerOrderChangeEvent.BizCase.CANCEL_BYBUYER, targetStatus));
|
396
|
orderChangeListenerContainer.fireAsyncEvent(new BuyerOrderChangeEvent(buyerOrder, BuyerOrderChangeEvent.BizCase.CANCEL_BYBUYER, targetStatus));
|
400
|
- orderStatusFlowService.addAsy(orderCode,targetStatus.getCode());
|
397
|
+ orderStatusFlowService.addAsy(orderCode, targetStatus.getCode());
|
401
|
break;
|
398
|
break;
|
402
|
default:
|
399
|
default:
|
403
|
logger.warn("in buyer cancel fail uid {} order code {} expectStatus {}",
|
400
|
logger.warn("in buyer cancel fail uid {} order code {} expectStatus {}",
|
404
|
- buyerOrder.getUid(),buyerOrder.getOrderCode(), expectStatus);
|
401
|
+ buyerOrder.getUid(), buyerOrder.getOrderCode(), expectStatus);
|
405
|
throw new UfoServiceException(401, "订单状态已变更,不能取消");
|
402
|
throw new UfoServiceException(401, "订单状态已变更,不能取消");
|
406
|
}
|
403
|
}
|
407
|
//记录状态变更信息
|
404
|
//记录状态变更信息
|
408
|
logger.info("in doCancel record status {} change to {}, orderRequest {}", expectStatus, targetStatus, orderRequest);
|
405
|
logger.info("in doCancel record status {} change to {}, orderRequest {}", expectStatus, targetStatus, orderRequest);
|
409
|
}
|
406
|
}
|
410
|
|
407
|
|
411
|
- private void asyncUnlockDepositGoods(Integer sellerUid,String depositCode){
|
408
|
+ private void asyncUnlockDepositGoods(Integer sellerUid, String depositCode) {
|
412
|
Callable<Integer> depositGoodsTask = () -> depositService.updateSellLock(sellerUid, depositCode, 0);
|
409
|
Callable<Integer> depositGoodsTask = () -> depositService.updateSellLock(sellerUid, depositCode, 0);
|
413
|
Future<Integer> future = ThreadPoolFactory.getCommomExecutorService().submit(depositGoodsTask);
|
410
|
Future<Integer> future = ThreadPoolFactory.getCommomExecutorService().submit(depositGoodsTask);
|
414
|
logger.info("asyncUnlockDepositGoodsIf depositCode {} future.isDone {}", depositCode, future.isDone());
|
411
|
logger.info("asyncUnlockDepositGoodsIf depositCode {} future.isDone {}", depositCode, future.isDone());
|
|
@@ -416,13 +413,12 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
|
@@ -416,13 +413,12 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
416
|
}
|
413
|
}
|
417
|
|
414
|
|
418
|
|
415
|
|
419
|
-
|
|
|
420
|
- public void cancelBeforePaid(OrderRequest orderRequest, DataNode dataNode, OrderStatus exceptStatus, OrderStatus targetStatus){
|
416
|
+ public void cancelBeforePaid(OrderRequest orderRequest, DataNode dataNode, OrderStatus exceptStatus, OrderStatus targetStatus) {
|
421
|
// 状态 ![待付款] 不合法
|
417
|
// 状态 ![待付款] 不合法
|
422
|
checkStatus(dataNode, orderRequest, exceptStatus);
|
418
|
checkStatus(dataNode, orderRequest, exceptStatus);
|
423
|
|
419
|
|
424
|
// 近一分钟内有预支付记录
|
420
|
// 近一分钟内有预支付记录
|
425
|
- if (orderRequest.getOrderCancelEvent()!=null && !orderRequest.getOrderCancelEvent().isFinalRetry()){
|
421
|
+ if (orderRequest.getOrderCancelEvent() != null && !orderRequest.getOrderCancelEvent().isFinalRetry()) {
|
426
|
paymentService.checkPrePay(orderRequest.getUid(), orderRequest.getOrderCode());
|
422
|
paymentService.checkPrePay(orderRequest.getUid(), orderRequest.getOrderCode());
|
427
|
}
|
423
|
}
|
428
|
final BuyerOrder buyerOrder = dataNode.buyerOrderInDB;
|
424
|
final BuyerOrder buyerOrder = dataNode.buyerOrderInDB;
|
|
@@ -437,13 +433,13 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
|
@@ -437,13 +433,13 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
437
|
tbo.setOrderCode(orderCode = orderRequest.getOrderCode());
|
433
|
tbo.setOrderCode(orderCode = orderRequest.getOrderCode());
|
438
|
tbo.setUpdateTime(DateUtil.getCurrentTimeSecond());
|
434
|
tbo.setUpdateTime(DateUtil.getCurrentTimeSecond());
|
439
|
buyerOrderMapper.updateByOrderCode(tbo);
|
435
|
buyerOrderMapper.updateByOrderCode(tbo);
|
440
|
- if (dataNode.isDepositGoods){
|
436
|
+ if (dataNode.isDepositGoods) {
|
441
|
asyncUnlockDepositGoods(sellerUid, dataNode.depositCodeOfSkup);
|
437
|
asyncUnlockDepositGoods(sellerUid, dataNode.depositCodeOfSkup);
|
442
|
}
|
438
|
}
|
443
|
// 更新skup的状态[出售中] 卖家订单为[可售]
|
439
|
// 更新skup的状态[出售中] 卖家订单为[可售]
|
444
|
BuyerOrderGoods bog = buyerOrderGoodsMapper.selectByOrderCode(orderRequest.getUid(), orderCode);
|
440
|
BuyerOrderGoods bog = buyerOrderGoodsMapper.selectByOrderCode(orderRequest.getUid(), orderCode);
|
445
|
int skup = bog.getSkup();
|
441
|
int skup = bog.getSkup();
|
446
|
- SellerOrderGoods psog= sellerOrderGoodsMapper.selectByPrimaryKey(skup);
|
442
|
+ SellerOrderGoods psog = sellerOrderGoodsMapper.selectByPrimaryKey(skup);
|
447
|
Integer skupStatus = psog.getStatus();
|
443
|
Integer skupStatus = psog.getStatus();
|
448
|
//todo check skupStatus
|
444
|
//todo check skupStatus
|
449
|
SellerOrderGoods tsog = new SellerOrderGoods();
|
445
|
SellerOrderGoods tsog = new SellerOrderGoods();
|
|
@@ -455,7 +451,7 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
|
@@ -455,7 +451,7 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
455
|
boolean isReturnSuccess = productProxyService.returnStorage(skup);
|
451
|
boolean isReturnSuccess = productProxyService.returnStorage(skup);
|
456
|
|
452
|
|
457
|
// 急速发货的场合,释放库存
|
453
|
// 急速发货的场合,释放库存
|
458
|
- if (fastDeliveryProxyService.isFastDeliveryGoods(skup)){
|
454
|
+ if (fastDeliveryProxyService.isFastDeliveryGoods(skup)) {
|
459
|
fastDeliveryProxyService.cancel(psog.getUid(), skup);
|
455
|
fastDeliveryProxyService.cancel(psog.getUid(), skup);
|
460
|
}
|
456
|
}
|
461
|
|
457
|
|
|
@@ -476,7 +472,7 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
|
@@ -476,7 +472,7 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
476
|
}
|
472
|
}
|
477
|
|
473
|
|
478
|
|
474
|
|
479
|
- class DataNode{
|
475
|
+ class DataNode {
|
480
|
BuyerOrder buyerOrderInDB;
|
476
|
BuyerOrder buyerOrderInDB;
|
481
|
String depositCodeOfSellerUsingDeliver;
|
477
|
String depositCodeOfSellerUsingDeliver;
|
482
|
boolean useDepositGoods;
|
478
|
boolean useDepositGoods;
|
|
@@ -484,12 +480,12 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
|
@@ -484,12 +480,12 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
484
|
boolean isDepositGoods;
|
480
|
boolean isDepositGoods;
|
485
|
}
|
481
|
}
|
486
|
|
482
|
|
487
|
- DataNode checkBase(OrderRequest orderRequest){
|
483
|
+ DataNode checkBase(OrderRequest orderRequest) {
|
488
|
int uid;
|
484
|
int uid;
|
489
|
long orderCode;
|
485
|
long orderCode;
|
490
|
// 参数检查
|
486
|
// 参数检查
|
491
|
- if ((uid=orderRequest.getUid()) < 0
|
|
|
492
|
- || (orderCode=orderRequest.getOrderCode()) < 0){
|
487
|
+ if ((uid = orderRequest.getUid()) < 0
|
|
|
488
|
+ || (orderCode = orderRequest.getOrderCode()) < 0) {
|
493
|
logger.warn("check uid or orderCode empty");
|
489
|
logger.warn("check uid or orderCode empty");
|
494
|
throw new ServiceException(ServiceError.ORDER_REQUEST_PARM_IS_EMPTY);
|
490
|
throw new ServiceException(ServiceError.ORDER_REQUEST_PARM_IS_EMPTY);
|
495
|
}
|
491
|
}
|
|
@@ -497,16 +493,16 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
|
@@ -497,16 +493,16 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
497
|
// 订单存在 & 待付款的状态
|
493
|
// 订单存在 & 待付款的状态
|
498
|
// 查询订单状态
|
494
|
// 查询订单状态
|
499
|
BuyerOrder buyerOrder = buyerOrderMapper.selectByOrderCodeUid(orderRequest.getOrderCode(), orderRequest.getUid());
|
495
|
BuyerOrder buyerOrder = buyerOrderMapper.selectByOrderCodeUid(orderRequest.getOrderCode(), orderRequest.getUid());
|
500
|
- if (buyerOrder == null){
|
496
|
+ if (buyerOrder == null) {
|
501
|
logger.warn("check orderCode exist, uid is {}, orderCode is {}",
|
497
|
logger.warn("check orderCode exist, uid is {}, orderCode is {}",
|
502
|
- orderRequest.getUid(), orderRequest.getOrderCode() );
|
498
|
+ orderRequest.getUid(), orderRequest.getOrderCode());
|
503
|
throw new ServiceException(ServiceError.ORDER_NULL);
|
499
|
throw new ServiceException(ServiceError.ORDER_NULL);
|
504
|
}
|
500
|
}
|
505
|
DataNode node = new DataNode();
|
501
|
DataNode node = new DataNode();
|
506
|
BuyerOrderGoods buyerOrderGoods = buyerOrderGoodsMapper.selectOnlyByOrderCode(orderCode);
|
502
|
BuyerOrderGoods buyerOrderGoods = buyerOrderGoodsMapper.selectOnlyByOrderCode(orderCode);
|
507
|
SellerOrderGoods sellerOrderGoods = sellerOrderGoodsMapper.selectByPrimaryKey(buyerOrderGoods.getSkup());
|
503
|
SellerOrderGoods sellerOrderGoods = sellerOrderGoodsMapper.selectByPrimaryKey(buyerOrderGoods.getSkup());
|
508
|
SkupType skupType = SkupType.getSkupType(sellerOrderGoods.getAttributes());
|
504
|
SkupType skupType = SkupType.getSkupType(sellerOrderGoods.getAttributes());
|
509
|
- if(skupType == SkupType.QUICK_DELIVER) {
|
505
|
+ if (skupType == SkupType.QUICK_DELIVER) {
|
510
|
String depositCode = findDepoistGoods(buyerOrder.getSellerUid(), buyerOrderGoods.getSkup());
|
506
|
String depositCode = findDepoistGoods(buyerOrder.getSellerUid(), buyerOrderGoods.getSkup());
|
511
|
node.depositCodeOfSkup = depositCode;
|
507
|
node.depositCodeOfSkup = depositCode;
|
512
|
node.isDepositGoods = true;
|
508
|
node.isDepositGoods = true;
|
|
@@ -520,33 +516,32 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
|
@@ -520,33 +516,32 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
520
|
}
|
516
|
}
|
521
|
|
517
|
|
522
|
|
518
|
|
523
|
-
|
|
|
524
|
- private String findDepositCodeOfSellerUsingDeliver(Integer uid, Long orderCode){
|
519
|
+ private String findDepositCodeOfSellerUsingDeliver(Integer uid, Long orderCode) {
|
525
|
|
520
|
|
526
|
String depositCode = buyerOrderMetaService.getDepositCode(uid, orderCode);
|
521
|
String depositCode = buyerOrderMetaService.getDepositCode(uid, orderCode);
|
527
|
return depositCode;
|
522
|
return depositCode;
|
528
|
}
|
523
|
}
|
|
|
524
|
+
|
529
|
@Autowired
|
525
|
@Autowired
|
530
|
private SellerOrderMetaService sellerOrderMetaService;
|
526
|
private SellerOrderMetaService sellerOrderMetaService;
|
531
|
|
527
|
|
532
|
- private String findDepoistGoods(Integer sellerUid, Integer skup){
|
528
|
+ private String findDepoistGoods(Integer sellerUid, Integer skup) {
|
533
|
String depoistCode = sellerOrderMetaService.getDepoistCode(sellerUid, skup);
|
529
|
String depoistCode = sellerOrderMetaService.getDepoistCode(sellerUid, skup);
|
534
|
|
530
|
|
535
|
return depoistCode;
|
531
|
return depoistCode;
|
536
|
}
|
532
|
}
|
537
|
|
533
|
|
538
|
/**
|
534
|
/**
|
539
|
- *
|
|
|
540
|
* @param orderRequest
|
535
|
* @param orderRequest
|
541
|
* @param orderStatusEx
|
536
|
* @param orderStatusEx
|
542
|
*/
|
537
|
*/
|
543
|
- private void checkStatus(DataNode node, OrderRequest orderRequest, OrderStatus orderStatusEx ) {
|
538
|
+ private void checkStatus(DataNode node, OrderRequest orderRequest, OrderStatus orderStatusEx) {
|
544
|
|
539
|
|
545
|
BuyerOrder buyerOrder = node.buyerOrderInDB;
|
540
|
BuyerOrder buyerOrder = node.buyerOrderInDB;
|
546
|
// 检查 订单状态
|
541
|
// 检查 订单状态
|
547
|
int status = buyerOrder.getStatus() == null ? -1 : buyerOrder.getStatus().intValue();
|
542
|
int status = buyerOrder.getStatus() == null ? -1 : buyerOrder.getStatus().intValue();
|
548
|
OrderStatus orderStatus = OrderStatus.getOrderStatus(status);
|
543
|
OrderStatus orderStatus = OrderStatus.getOrderStatus(status);
|
549
|
- if (orderStatus == null || orderStatus.getCode() != orderStatusEx.getCode()){
|
544
|
+ if (orderStatus == null || orderStatus.getCode() != orderStatusEx.getCode()) {
|
550
|
logger.warn("check status invalidate, uid is {}, orderCode is {}, status is {}",
|
545
|
logger.warn("check status invalidate, uid is {}, orderCode is {}, status is {}",
|
551
|
orderRequest.getUid(), orderRequest.getOrderCode(), buyerOrder.getStatus());
|
546
|
orderRequest.getUid(), orderRequest.getOrderCode(), buyerOrder.getStatus());
|
552
|
throw new ServiceException(ServiceError.ORDER_STATUS_INVALIDATE);
|
547
|
throw new ServiceException(ServiceError.ORDER_STATUS_INVALIDATE);
|
|
@@ -554,11 +549,11 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
|
@@ -554,11 +549,11 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
554
|
|
549
|
|
555
|
// 状态是待支付的场合,到第三方检查是否支付过了
|
550
|
// 状态是待支付的场合,到第三方检查是否支付过了
|
556
|
Payment payment = Payment.getPayment(buyerOrder.getPayment());
|
551
|
Payment payment = Payment.getPayment(buyerOrder.getPayment());
|
557
|
- if (payment != null && status == OrderStatus.WAITING_PAY.getCode()){
|
552
|
+ if (payment != null && status == OrderStatus.WAITING_PAY.getCode()) {
|
558
|
AbstractPayService payService = paymentService.getPayService(payment.getCode());
|
553
|
AbstractPayService payService = paymentService.getPayService(payment.getCode());
|
559
|
PayQueryBo payQueryBo = payService.payQuery(String.valueOf(buyerOrder.getOrderCode()), buyerOrder.getCreateTime());
|
554
|
PayQueryBo payQueryBo = payService.payQuery(String.valueOf(buyerOrder.getOrderCode()), buyerOrder.getCreateTime());
|
560
|
|
555
|
|
561
|
- if (payQueryBo != null && payQueryBo.isPayStatus()){
|
556
|
+ if (payQueryBo != null && payQueryBo.isPayStatus()) {
|
562
|
logger.warn("check status failed ,confirm paid, uid is {}, orderCode is {}, status is {}",
|
557
|
logger.warn("check status failed ,confirm paid, uid is {}, orderCode is {}, status is {}",
|
563
|
orderRequest.getUid(), orderRequest.getOrderCode(), buyerOrder.getStatus());
|
558
|
orderRequest.getUid(), orderRequest.getOrderCode(), buyerOrder.getStatus());
|
564
|
// 主动触发支付结果确认
|
559
|
// 主动触发支付结果确认
|
|
@@ -571,23 +566,21 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
|
@@ -571,23 +566,21 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
571
|
}
|
566
|
}
|
572
|
|
567
|
|
573
|
|
568
|
|
574
|
-
|
|
|
575
|
-
|
|
|
576
|
-
|
|
|
577
|
/**
|
569
|
/**
|
578
|
* 查询订单数量
|
570
|
* 查询订单数量
|
|
|
571
|
+ *
|
579
|
* @param uid
|
572
|
* @param uid
|
580
|
* @return
|
573
|
* @return
|
581
|
*/
|
574
|
*/
|
582
|
- public BuyerOrderNums getBuyerOrderNums(int uid){
|
575
|
+ public BuyerOrderNums getBuyerOrderNums(int uid) {
|
583
|
|
576
|
|
584
|
- if (uid < 0){
|
577
|
+ if (uid < 0) {
|
585
|
logger.warn("buyer delete, uid or orderCode empty, uid {}", uid);
|
578
|
logger.warn("buyer delete, uid or orderCode empty, uid {}", uid);
|
586
|
throw new ServiceException(ServiceError.ORDER_REQUEST_PARM_IS_EMPTY);
|
579
|
throw new ServiceException(ServiceError.ORDER_REQUEST_PARM_IS_EMPTY);
|
587
|
}
|
580
|
}
|
588
|
|
581
|
|
589
|
BuyerOrderNums buyerOrderNumsCache = orderCacheService.getBuyerOrderNums(uid);
|
582
|
BuyerOrderNums buyerOrderNumsCache = orderCacheService.getBuyerOrderNums(uid);
|
590
|
- if (buyerOrderNumsCache != null){
|
583
|
+ if (buyerOrderNumsCache != null) {
|
591
|
logger.info("getBuyerOrderNums result uid is {}, result is {}", uid, buyerOrderNumsCache);
|
584
|
logger.info("getBuyerOrderNums result uid is {}, result is {}", uid, buyerOrderNumsCache);
|
592
|
return buyerOrderNumsCache;
|
585
|
return buyerOrderNumsCache;
|
593
|
}
|
586
|
}
|
|
@@ -595,7 +588,7 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
|
@@ -595,7 +588,7 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
595
|
|
588
|
|
596
|
List<BuyOrderNums> buyOrderNumList = buyerOrderMapper.selectCntByUidStatusAll(uid);
|
589
|
List<BuyOrderNums> buyOrderNumList = buyerOrderMapper.selectCntByUidStatusAll(uid);
|
597
|
|
590
|
|
598
|
- if (CollectionUtils.isEmpty(buyOrderNumList)){
|
591
|
+ if (CollectionUtils.isEmpty(buyOrderNumList)) {
|
599
|
return BuyerOrderNums.builder().build();
|
592
|
return BuyerOrderNums.builder().build();
|
600
|
}
|
593
|
}
|
601
|
|
594
|
|
|
@@ -618,12 +611,12 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
|
@@ -618,12 +611,12 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
618
|
return buyerOrderNums;
|
611
|
return buyerOrderNums;
|
619
|
}
|
612
|
}
|
620
|
|
613
|
|
621
|
- private int getValueDefalutZero(Map<Integer, Integer> map, List<Integer> status){
|
614
|
+ private int getValueDefalutZero(Map<Integer, Integer> map, List<Integer> status) {
|
622
|
|
615
|
|
623
|
int sum = 0;
|
616
|
int sum = 0;
|
624
|
- for(Integer key : status){
|
617
|
+ for (Integer key : status) {
|
625
|
int num = Objects.isNull(map.get(key)) ? 0 : map.get(key);
|
618
|
int num = Objects.isNull(map.get(key)) ? 0 : map.get(key);
|
626
|
- sum+=num;
|
619
|
+ sum += num;
|
627
|
}
|
620
|
}
|
628
|
|
621
|
|
629
|
return sum;
|
622
|
return sum;
|
|
@@ -633,54 +626,52 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
|
@@ -633,54 +626,52 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
633
|
@Override
|
626
|
@Override
|
634
|
public boolean delete(int uid, long orderCode) {
|
627
|
public boolean delete(int uid, long orderCode) {
|
635
|
if (uid < 0
|
628
|
if (uid < 0
|
636
|
- || orderCode < 0){
|
629
|
+ || orderCode < 0) {
|
637
|
logger.warn("buyer delete, uid or orderCode empty, uid {}, orderCode {}", uid, orderCode);
|
630
|
logger.warn("buyer delete, uid or orderCode empty, uid {}, orderCode {}", uid, orderCode);
|
638
|
throw new ServiceException(ServiceError.ORDER_REQUEST_PARM_IS_EMPTY);
|
631
|
throw new ServiceException(ServiceError.ORDER_REQUEST_PARM_IS_EMPTY);
|
639
|
}
|
632
|
}
|
640
|
BuyerOrder buyerOrder = buyerOrderMapper.selectByOrderCodeUid(orderCode, uid);
|
633
|
BuyerOrder buyerOrder = buyerOrderMapper.selectByOrderCodeUid(orderCode, uid);
|
641
|
- if (Objects.isNull(buyerOrder) || buyerOrder.getBuyerOrderStatus() == DelStatus.IS_DEL.getCode()){
|
634
|
+ if (Objects.isNull(buyerOrder) || buyerOrder.getBuyerOrderStatus() == DelStatus.IS_DEL.getCode()) {
|
642
|
logger.warn("buyer delete, order not exist, uid {}, orderCode {}", uid, orderCode);
|
635
|
logger.warn("buyer delete, order not exist, uid {}, orderCode {}", uid, orderCode);
|
643
|
return false;
|
636
|
return false;
|
644
|
}
|
637
|
}
|
645
|
Integer status;
|
638
|
Integer status;
|
646
|
- if(ActionStatusHold.getBuyerCanDelStatusList().contains(status=buyerOrder.getStatus())){
|
639
|
+ if (ActionStatusHold.getBuyerCanDelStatusList().contains(status = buyerOrder.getStatus())) {
|
647
|
BuyerOrder target = new BuyerOrder();
|
640
|
BuyerOrder target = new BuyerOrder();
|
648
|
target.setId(buyerOrder.getId());
|
641
|
target.setId(buyerOrder.getId());
|
649
|
target.setBuyerOrderStatus(DelStatus.IS_DEL.getCode());
|
642
|
target.setBuyerOrderStatus(DelStatus.IS_DEL.getCode());
|
650
|
boolean result = buyerOrderMapper.updateByPrimaryKeySelective(target) == 1;
|
643
|
boolean result = buyerOrderMapper.updateByPrimaryKeySelective(target) == 1;
|
651
|
- if(result){
|
644
|
+ if (result) {
|
652
|
cacheCleaner.cleanList(uid, TabType.BUY.getValue());
|
645
|
cacheCleaner.cleanList(uid, TabType.BUY.getValue());
|
653
|
}
|
646
|
}
|
654
|
return result;
|
647
|
return result;
|
655
|
- }else{
|
648
|
+ } else {
|
656
|
logger.warn("buyer delete fail, order status {}", status);
|
649
|
logger.warn("buyer delete fail, order status {}", status);
|
657
|
}
|
650
|
}
|
658
|
return false;
|
651
|
return false;
|
659
|
}
|
652
|
}
|
660
|
|
653
|
|
661
|
|
654
|
|
662
|
-
|
|
|
663
|
-
|
|
|
664
|
@Override
|
655
|
@Override
|
665
|
public void confirmReceive(long orderCode) {
|
656
|
public void confirmReceive(long orderCode) {
|
666
|
logger.info("in confirmReceive, orderCode {}", orderCode);
|
657
|
logger.info("in confirmReceive, orderCode {}", orderCode);
|
667
|
- if(serviceOrderProcessor.isGoodsServiceOrder(orderCode)){
|
658
|
+ if (serviceOrderProcessor.isGoodsServiceOrder(orderCode)) {
|
668
|
logger.info("in confirmReceive isGoodsServiceOrder, orderCode {}", orderCode);
|
659
|
logger.info("in confirmReceive isGoodsServiceOrder, orderCode {}", orderCode);
|
669
|
|
660
|
|
670
|
ServiceOrderProcessor.ExistenceNode existenceNode = serviceOrderProcessor.findGoodsServiceInstanceAndExt(orderCode);
|
661
|
ServiceOrderProcessor.ExistenceNode existenceNode = serviceOrderProcessor.findGoodsServiceInstanceAndExt(orderCode);
|
671
|
int rows = existenceNode.getGoodsService().platformReceiveGoods(existenceNode.appraiseOrder);
|
662
|
int rows = existenceNode.getGoodsService().platformReceiveGoods(existenceNode.appraiseOrder);
|
672
|
- if (rows==0){
|
663
|
+ if (rows == 0) {
|
673
|
return;
|
664
|
return;
|
674
|
}
|
665
|
}
|
675
|
// 确认收货过来的是子订单号
|
666
|
// 确认收货过来的是子订单号
|
676
|
int uid = existenceNode.getAppraiseOrder().getUid();
|
667
|
int uid = existenceNode.getAppraiseOrder().getUid();
|
677
|
Long parentOrderCode = existenceNode.getAppraiseOrder().getParentOrderCode();
|
668
|
Long parentOrderCode = existenceNode.getAppraiseOrder().getParentOrderCode();
|
678
|
- if (parentOrderCode == null){
|
669
|
+ if (parentOrderCode == null) {
|
679
|
// 平台收货 内部调拨信息
|
670
|
// 平台收货 内部调拨信息
|
680
|
EnumExpressType expressType = EnumExpressType.EXPRESS_TYPE_JUDGE_CENTER;
|
671
|
EnumExpressType expressType = EnumExpressType.EXPRESS_TYPE_JUDGE_CENTER;
|
681
|
EnumExpressDataType expressDataType = EnumExpressDataType.operate_transfer;
|
672
|
EnumExpressDataType expressDataType = EnumExpressDataType.operate_transfer;
|
682
|
EnumExpressDataOperateTransferCode operateTransferCode = EnumExpressDataOperateTransferCode.platform_receive;
|
673
|
EnumExpressDataOperateTransferCode operateTransferCode = EnumExpressDataOperateTransferCode.platform_receive;
|
683
|
- expressInfoService.saveOperateTransferExpressInfo(existenceNode.getAppraiseOrder().getUid(), orderCode ,expressType.getCode(),expressDataType,operateTransferCode);
|
674
|
+ expressInfoService.saveOperateTransferExpressInfo(existenceNode.getAppraiseOrder().getUid(), orderCode, expressType.getCode(), expressDataType, operateTransferCode);
|
684
|
return;
|
675
|
return;
|
685
|
}
|
676
|
}
|
686
|
// 上一个状态是[卖家已发货] 该父订单下状态为[卖家已发货]的子订单数量为0,代表父订单状态应该为 [已收货]
|
677
|
// 上一个状态是[卖家已发货] 该父订单下状态为[卖家已发货]的子订单数量为0,代表父订单状态应该为 [已收货]
|
|
@@ -689,28 +680,28 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
|
@@ -689,28 +680,28 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
689
|
logger.info("no confirm delivery sub order cnt is {}, parentOrderCode {}", cnt, parentOrderCode);
|
680
|
logger.info("no confirm delivery sub order cnt is {}, parentOrderCode {}", cnt, parentOrderCode);
|
690
|
int cdt = DateUtil.getCurrentTimeSecond();
|
681
|
int cdt = DateUtil.getCurrentTimeSecond();
|
691
|
//
|
682
|
//
|
692
|
- if (cnt == 0){
|
683
|
+ if (cnt == 0) {
|
693
|
// 平台收货 内部调拨信息
|
684
|
// 平台收货 内部调拨信息
|
694
|
try {
|
685
|
try {
|
695
|
EnumExpressType expressType = EnumExpressType.EXPRESS_TYPE_JUDGE_CENTER;
|
686
|
EnumExpressType expressType = EnumExpressType.EXPRESS_TYPE_JUDGE_CENTER;
|
696
|
EnumExpressDataType expressDataType = EnumExpressDataType.operate_transfer;
|
687
|
EnumExpressDataType expressDataType = EnumExpressDataType.operate_transfer;
|
697
|
EnumExpressDataOperateTransferCode operateTransferCode = EnumExpressDataOperateTransferCode.platform_receive;
|
688
|
EnumExpressDataOperateTransferCode operateTransferCode = EnumExpressDataOperateTransferCode.platform_receive;
|
698
|
expressInfoService.saveOperateTransferExpressInfo(existenceNode.getAppraiseOrder().getUid(), parentOrderCode, expressType.getCode(), expressDataType, operateTransferCode);
|
689
|
expressInfoService.saveOperateTransferExpressInfo(existenceNode.getAppraiseOrder().getUid(), parentOrderCode, expressType.getCode(), expressDataType, operateTransferCode);
|
699
|
- }catch (Exception ex){
|
690
|
+ } catch (Exception ex) {
|
700
|
logger.warn("in confirmReceive isGoodsServiceOrder saveOperateTransferExpressInfo fail ,orderCode {} ", orderCode, ex);
|
691
|
logger.warn("in confirmReceive isGoodsServiceOrder saveOperateTransferExpressInfo fail ,orderCode {} ", orderCode, ex);
|
701
|
}
|
692
|
}
|
702
|
//update
|
693
|
//update
|
703
|
sellerDepositOrderService.platformFinishReceiveGoods(uid, parentOrderCode);
|
694
|
sellerDepositOrderService.platformFinishReceiveGoods(uid, parentOrderCode);
|
704
|
}
|
695
|
}
|
705
|
|
696
|
|
706
|
- }else{
|
697
|
+ } else {
|
707
|
|
698
|
|
708
|
confirmReceive4BuyerOrder(orderCode);
|
699
|
confirmReceive4BuyerOrder(orderCode);
|
709
|
}
|
700
|
}
|
710
|
|
701
|
|
711
|
}
|
702
|
}
|
712
|
|
703
|
|
713
|
- private void confirmReceive4BuyerOrder(long orderCode){
|
704
|
+ private void confirmReceive4BuyerOrder(long orderCode) {
|
714
|
|
705
|
|
715
|
OrderStatus expectStatus = OrderStatus.SELLER_SEND_OUT;
|
706
|
OrderStatus expectStatus = OrderStatus.SELLER_SEND_OUT;
|
716
|
OrderStatus targetStatus = OrderStatus.PLATFORM_RECEIVE;
|
707
|
OrderStatus targetStatus = OrderStatus.PLATFORM_RECEIVE;
|
|
@@ -718,40 +709,41 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
|
@@ -718,40 +709,41 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
718
|
BuyerOrderAssistant.PreparedData preparedData = buyerOrderAssistant.prepare(orderCode);
|
709
|
BuyerOrderAssistant.PreparedData preparedData = buyerOrderAssistant.prepare(orderCode);
|
719
|
BuyerOrder buyerOrder = preparedData.getBuyerOrder();
|
710
|
BuyerOrder buyerOrder = preparedData.getBuyerOrder();
|
720
|
|
711
|
|
721
|
- if (buyerOrder != null && buyerOrder.getStatus() == expectStatus.getCode()){
|
712
|
+ if (buyerOrder != null && buyerOrder.getStatus() == expectStatus.getCode()) {
|
722
|
int uid = buyerOrder.getUid();
|
713
|
int uid = buyerOrder.getUid();
|
723
|
int sellerUid = buyerOrder.getSellerUid();
|
714
|
int sellerUid = buyerOrder.getSellerUid();
|
724
|
- logger.info("in confirmReceive begin update status orderCode {},uid {} ,sellerUid {}", orderCode,uid,sellerUid);
|
715
|
+ logger.info("in confirmReceive begin update status orderCode {},uid {} ,sellerUid {}", orderCode, uid, sellerUid);
|
725
|
int num = buyerOrderMapper.updateStatusByOrderCode(orderCode, uid, expectStatus.getCode(),
|
716
|
int num = buyerOrderMapper.updateStatusByOrderCode(orderCode, uid, expectStatus.getCode(),
|
726
|
targetStatus.getCode(), DateUtil.getCurrentTimeSecond());
|
717
|
targetStatus.getCode(), DateUtil.getCurrentTimeSecond());
|
727
|
|
718
|
|
728
|
//记录订单的状态变更信息
|
719
|
//记录订单的状态变更信息
|
729
|
- if(num>=1){
|
|
|
730
|
- logger.info("in confirmReceive record status change, orderCode {},uid {} ,sellerUid {}", orderCode,uid,sellerUid);
|
720
|
+ if (num >= 1) {
|
|
|
721
|
+ logger.info("in confirmReceive record status change, orderCode {},uid {} ,sellerUid {}", orderCode, uid, sellerUid);
|
731
|
buyerNoticeFacade.platformReceiveGoods(buyerOrder);
|
722
|
buyerNoticeFacade.platformReceiveGoods(buyerOrder);
|
732
|
- orderStatusFlowService.addAsy(buyerOrder.getOrderCode(),targetStatus.getCode());
|
723
|
+ orderStatusFlowService.addAsy(buyerOrder.getOrderCode(), targetStatus.getCode());
|
733
|
//
|
724
|
//
|
734
|
finishDepositGoodsIf(preparedData);
|
725
|
finishDepositGoodsIf(preparedData);
|
735
|
- }else{
|
|
|
736
|
- logger.warn("in confirmReceive not record status change cause of update empty num , orderCode {},uid {} ,sellerUid {}", orderCode,uid,sellerUid);
|
726
|
+ } else {
|
|
|
727
|
+ logger.warn("in confirmReceive not record status change cause of update empty num , orderCode {},uid {} ,sellerUid {}", orderCode, uid, sellerUid);
|
737
|
}
|
728
|
}
|
738
|
|
729
|
|
739
|
//记录调拨信息(只保存卖家一条)
|
730
|
//记录调拨信息(只保存卖家一条)
|
740
|
EnumExpressType expressType = EnumExpressType.EXPRESS_TYPE_JUDGE_CENTER;
|
731
|
EnumExpressType expressType = EnumExpressType.EXPRESS_TYPE_JUDGE_CENTER;
|
741
|
EnumExpressDataType expressDataType = EnumExpressDataType.operate_transfer;
|
732
|
EnumExpressDataType expressDataType = EnumExpressDataType.operate_transfer;
|
742
|
EnumExpressDataOperateTransferCode operateTransferCode = EnumExpressDataOperateTransferCode.platform_receive;
|
733
|
EnumExpressDataOperateTransferCode operateTransferCode = EnumExpressDataOperateTransferCode.platform_receive;
|
743
|
- expressInfoService.saveOperateTransferExpressInfo(sellerUid,orderCode,expressType.getCode(),expressDataType,operateTransferCode);
|
734
|
+ expressInfoService.saveOperateTransferExpressInfo(sellerUid, orderCode, expressType.getCode(), expressDataType, operateTransferCode);
|
744
|
|
735
|
|
745
|
- cleanCacheAfterUpdateStatus(orderCode,uid,sellerUid);
|
736
|
+ cleanCacheAfterUpdateStatus(orderCode, uid, sellerUid);
|
746
|
}
|
737
|
}
|
747
|
}
|
738
|
}
|
748
|
|
739
|
|
749
|
/**
|
740
|
/**
|
750
|
* 现货寄存订单
|
741
|
* 现货寄存订单
|
751
|
* 卖家使用寄存商品发货
|
742
|
* 卖家使用寄存商品发货
|
|
|
743
|
+ *
|
752
|
* @param preparedData
|
744
|
* @param preparedData
|
753
|
*/
|
745
|
*/
|
754
|
- private void finishDepositGoodsIf(BuyerOrderAssistant.PreparedData preparedData){
|
746
|
+ private void finishDepositGoodsIf(BuyerOrderAssistant.PreparedData preparedData) {
|
755
|
BuyerOrder buyerOrder = preparedData.getBuyerOrder();
|
747
|
BuyerOrder buyerOrder = preparedData.getBuyerOrder();
|
756
|
int uid = buyerOrder.getUid();
|
748
|
int uid = buyerOrder.getUid();
|
757
|
Long orderCode = buyerOrder.getOrderCode();
|
749
|
Long orderCode = buyerOrder.getOrderCode();
|
|
@@ -759,11 +751,11 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
|
@@ -759,11 +751,11 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
759
|
SkupType skupType = SkupType.getSkupType(psog.getAttributes());
|
751
|
SkupType skupType = SkupType.getSkupType(psog.getAttributes());
|
760
|
boolean isInstockDepositOrder = BuyerOrderUtils.isInstockDeposit(skupType, buyerOrder.getAttributes());
|
752
|
boolean isInstockDepositOrder = BuyerOrderUtils.isInstockDeposit(skupType, buyerOrder.getAttributes());
|
761
|
logger.info("platform confirmReceive orderCode {} buyerUid {} isInstockDepositOrder {}", orderCode, uid, isInstockDepositOrder);
|
753
|
logger.info("platform confirmReceive orderCode {} buyerUid {} isInstockDepositOrder {}", orderCode, uid, isInstockDepositOrder);
|
762
|
- if(isInstockDepositOrder){
|
754
|
+ if (isInstockDepositOrder) {
|
763
|
String depositCode = buyerOrderMetaService.getDepositCode(uid, orderCode);
|
755
|
String depositCode = buyerOrderMetaService.getDepositCode(uid, orderCode);
|
764
|
logger.info("platform confirmReceive orderCode {} buyerUid {} isInstockDepositOrder {} depositCode {}",
|
756
|
logger.info("platform confirmReceive orderCode {} buyerUid {} isInstockDepositOrder {} depositCode {}",
|
765
|
orderCode, uid, isInstockDepositOrder, depositCode);
|
757
|
orderCode, uid, isInstockDepositOrder, depositCode);
|
766
|
- if (StringUtils.isNotBlank(depositCode)){
|
758
|
+ if (StringUtils.isNotBlank(depositCode)) {
|
767
|
int depositUpdate = depositService.updateDelStatus(psog.getUid(), depositCode);
|
759
|
int depositUpdate = depositService.updateDelStatus(psog.getUid(), depositCode);
|
768
|
logger.info("platform confirmReceive update deposit DelStatus {} orderCode {} buyerUid {} depositCode {}",
|
760
|
logger.info("platform confirmReceive update deposit DelStatus {} orderCode {} buyerUid {} depositCode {}",
|
769
|
depositUpdate, orderCode, uid, depositCode);
|
761
|
depositUpdate, orderCode, uid, depositCode);
|
|
@@ -775,65 +767,64 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
|
@@ -775,65 +767,64 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
775
|
// 质检通过,不需要记录物流调拨信息
|
767
|
// 质检通过,不需要记录物流调拨信息
|
776
|
@Override
|
768
|
@Override
|
777
|
@Deprecated
|
769
|
@Deprecated
|
778
|
- public void qualityCheckPass(long orderCode){
|
770
|
+ public void qualityCheckPass(long orderCode) {
|
779
|
logger.info("in qualityCheckPass, orderCode {}", orderCode);
|
771
|
logger.info("in qualityCheckPass, orderCode {}", orderCode);
|
780
|
|
772
|
|
781
|
|
773
|
|
782
|
-
|
|
|
783
|
OrderStatus expectStatus = OrderStatus.PLATFORM_RECEIVE;
|
774
|
OrderStatus expectStatus = OrderStatus.PLATFORM_RECEIVE;
|
784
|
OrderStatus targetStatus = OrderStatus.PLATFORM_CHECKING;
|
775
|
OrderStatus targetStatus = OrderStatus.PLATFORM_CHECKING;
|
785
|
BuyerOrder buyerOrder = buyerOrderMapper.selectByOrderCode(orderCode);
|
776
|
BuyerOrder buyerOrder = buyerOrderMapper.selectByOrderCode(orderCode);
|
786
|
|
777
|
|
787
|
- if (buyerOrder != null && buyerOrder.getStatus() == expectStatus.getCode()){
|
778
|
+ if (buyerOrder != null && buyerOrder.getStatus() == expectStatus.getCode()) {
|
788
|
int uid = buyerOrder.getUid();
|
779
|
int uid = buyerOrder.getUid();
|
789
|
int sellerUid = buyerOrder.getSellerUid();
|
780
|
int sellerUid = buyerOrder.getSellerUid();
|
790
|
- logger.info("in qualityCheckPass begin update status orderCode {},uid {} ,sellerUid {}", orderCode,uid,sellerUid);
|
|
|
791
|
- int num=buyerOrderMapper.updateStatusByOrderCode(orderCode, uid, expectStatus.getCode(),
|
781
|
+ logger.info("in qualityCheckPass begin update status orderCode {},uid {} ,sellerUid {}", orderCode, uid, sellerUid);
|
|
|
782
|
+ int num = buyerOrderMapper.updateStatusByOrderCode(orderCode, uid, expectStatus.getCode(),
|
792
|
targetStatus.getCode(), DateUtil.getCurrentTimeSecond());
|
783
|
targetStatus.getCode(), DateUtil.getCurrentTimeSecond());
|
793
|
|
784
|
|
794
|
//记录订单的状态变更信息
|
785
|
//记录订单的状态变更信息
|
795
|
- if(num>=1){
|
|
|
796
|
- logger.info("in qualityCheckPass record status change, orderCode {},uid {} ,sellerUid {}", orderCode,uid,sellerUid);
|
|
|
797
|
- orderStatusFlowService.addAsy(buyerOrder.getOrderCode(),targetStatus.getCode());
|
786
|
+ if (num >= 1) {
|
|
|
787
|
+ logger.info("in qualityCheckPass record status change, orderCode {},uid {} ,sellerUid {}", orderCode, uid, sellerUid);
|
|
|
788
|
+ orderStatusFlowService.addAsy(buyerOrder.getOrderCode(), targetStatus.getCode());
|
798
|
|
789
|
|
799
|
//记录调拨信息(只保存卖家一条)
|
790
|
//记录调拨信息(只保存卖家一条)
|
800
|
EnumExpressType expressType = EnumExpressType.EXPRESS_TYPE_JUDGE_CENTER;
|
791
|
EnumExpressType expressType = EnumExpressType.EXPRESS_TYPE_JUDGE_CENTER;
|
801
|
EnumExpressDataType expressDataType = EnumExpressDataType.operate_transfer;
|
792
|
EnumExpressDataType expressDataType = EnumExpressDataType.operate_transfer;
|
802
|
EnumExpressDataOperateTransferCode operateTransferCode = EnumExpressDataOperateTransferCode.judging;
|
793
|
EnumExpressDataOperateTransferCode operateTransferCode = EnumExpressDataOperateTransferCode.judging;
|
803
|
- expressInfoService.saveOperateTransferExpressInfo(sellerUid,orderCode,expressType.getCode(),expressDataType,operateTransferCode);
|
794
|
+ expressInfoService.saveOperateTransferExpressInfo(sellerUid, orderCode, expressType.getCode(), expressDataType, operateTransferCode);
|
804
|
|
795
|
|
805
|
|
796
|
|
806
|
- }else{
|
|
|
807
|
- logger.warn("in qualityCheckPass not record status change cause of update empty num , orderCode {},uid {} ,sellerUid {}", orderCode,uid,sellerUid);
|
797
|
+ } else {
|
|
|
798
|
+ logger.warn("in qualityCheckPass not record status change cause of update empty num , orderCode {},uid {} ,sellerUid {}", orderCode, uid, sellerUid);
|
808
|
}
|
799
|
}
|
809
|
|
800
|
|
810
|
- cleanCacheAfterUpdateStatus(orderCode,uid,sellerUid);
|
801
|
+ cleanCacheAfterUpdateStatus(orderCode, uid, sellerUid);
|
811
|
}
|
802
|
}
|
812
|
}
|
803
|
}
|
813
|
|
804
|
|
814
|
// 瑕疵创建
|
805
|
// 瑕疵创建
|
815
|
@Override
|
806
|
@Override
|
816
|
- public void miniFaultCreate(SaveQualityCheckInfoRequest request){
|
807
|
+ public void miniFaultCreate(SaveQualityCheckInfoRequest request) {
|
817
|
logger.info("in miniFaultCreate, orderCode {}", request);
|
808
|
logger.info("in miniFaultCreate, orderCode {}", request);
|
818
|
long orderCode = request.getOrderCode();
|
809
|
long orderCode = request.getOrderCode();
|
819
|
QualityCheck qualityCheck = request.getQualityCheck();
|
810
|
QualityCheck qualityCheck = request.getQualityCheck();
|
820
|
OrderStatus expectStatus = OrderStatus.PLATFORM_RECEIVE;
|
811
|
OrderStatus expectStatus = OrderStatus.PLATFORM_RECEIVE;
|
821
|
OrderStatus targetStatus = OrderStatus.MINI_FAULT_WAITING;
|
812
|
OrderStatus targetStatus = OrderStatus.MINI_FAULT_WAITING;
|
822
|
BuyerOrder buyerOrder = buyerOrderMapper.selectByOrderCode(orderCode);
|
813
|
BuyerOrder buyerOrder = buyerOrderMapper.selectByOrderCode(orderCode);
|
823
|
- if (buyerOrder == null ){
|
|
|
824
|
- throw new ServiceException(400,"订单为空");
|
814
|
+ if (buyerOrder == null) {
|
|
|
815
|
+ throw new ServiceException(400, "订单为空");
|
825
|
}
|
816
|
}
|
826
|
|
817
|
|
827
|
- if( buyerOrder.getStatus() != expectStatus.getCode()){
|
|
|
828
|
- throw new ServiceException(400,"订单状态发生变化");
|
818
|
+ if (buyerOrder.getStatus() != expectStatus.getCode()) {
|
|
|
819
|
+ throw new ServiceException(400, "订单状态发生变化");
|
829
|
}
|
820
|
}
|
830
|
int uid = buyerOrder.getUid();
|
821
|
int uid = buyerOrder.getUid();
|
831
|
int sellerUid = buyerOrder.getSellerUid();
|
822
|
int sellerUid = buyerOrder.getSellerUid();
|
832
|
|
823
|
|
833
|
//保存质检有问题的图片信息
|
824
|
//保存质检有问题的图片信息
|
834
|
- if(qualityCheck==null){
|
|
|
835
|
- logger.warn("in miniFaultCreate qualityCheck is null, orderCode {},uid {} ,sellerUid {}", orderCode,uid,sellerUid);
|
|
|
836
|
- throw new ServiceException(400,"瑕疵信息为空");
|
825
|
+ if (qualityCheck == null) {
|
|
|
826
|
+ logger.warn("in miniFaultCreate qualityCheck is null, orderCode {},uid {} ,sellerUid {}", orderCode, uid, sellerUid);
|
|
|
827
|
+ throw new ServiceException(400, "瑕疵信息为空");
|
837
|
}
|
828
|
}
|
838
|
qualityCheckMapper.insert(qualityCheck);
|
829
|
qualityCheckMapper.insert(qualityCheck);
|
839
|
|
830
|
|
|
@@ -845,24 +836,24 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
|
@@ -845,24 +836,24 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
845
|
EnumExpressType expressType = EnumExpressType.EXPRESS_TYPE_JUDGE_CENTER;
|
836
|
EnumExpressType expressType = EnumExpressType.EXPRESS_TYPE_JUDGE_CENTER;
|
846
|
EnumExpressDataType expressDataType = EnumExpressDataType.operate_transfer;
|
837
|
EnumExpressDataType expressDataType = EnumExpressDataType.operate_transfer;
|
847
|
EnumExpressDataOperateTransferCode operateTransferCode = EnumExpressDataOperateTransferCode.judging;
|
838
|
EnumExpressDataOperateTransferCode operateTransferCode = EnumExpressDataOperateTransferCode.judging;
|
848
|
- expressInfoService.saveOperateTransferExpressInfo(sellerUid,orderCode,expressType.getCode(),expressDataType,operateTransferCode);
|
839
|
+ expressInfoService.saveOperateTransferExpressInfo(sellerUid, orderCode, expressType.getCode(), expressDataType, operateTransferCode);
|
849
|
|
840
|
|
850
|
//记录调拨信息(只保存卖家一条)
|
841
|
//记录调拨信息(只保存卖家一条)
|
851
|
expressType = EnumExpressType.EXPRESS_TYPE_JUDGE_CENTER;
|
842
|
expressType = EnumExpressType.EXPRESS_TYPE_JUDGE_CENTER;
|
852
|
expressDataType = EnumExpressDataType.operate_transfer;
|
843
|
expressDataType = EnumExpressDataType.operate_transfer;
|
853
|
operateTransferCode = EnumExpressDataOperateTransferCode.mini_fault_create;
|
844
|
operateTransferCode = EnumExpressDataOperateTransferCode.mini_fault_create;
|
854
|
- expressInfoService.saveOperateTransferExpressInfo(sellerUid,orderCode,expressType.getCode(),expressDataType,operateTransferCode);
|
845
|
+ expressInfoService.saveOperateTransferExpressInfo(sellerUid, orderCode, expressType.getCode(), expressDataType, operateTransferCode);
|
855
|
|
846
|
|
856
|
//TODO 产生一个延时队列(24小时后,超时确认)
|
847
|
//TODO 产生一个延时队列(24小时后,超时确认)
|
857
|
BuyerMiniFaultOuterTimeEvent miniFaultOuterTimeEvent = BuyerMiniFaultOuterTimeEvent.builder().uid(uid).orderCode(orderCode).build();
|
848
|
BuyerMiniFaultOuterTimeEvent miniFaultOuterTimeEvent = BuyerMiniFaultOuterTimeEvent.builder().uid(uid).orderCode(orderCode).build();
|
858
|
- logger.info("in miniFaultCreate, push event uid {} ,order code {} ", miniFaultOuterTimeEvent.getUid(),miniFaultOuterTimeEvent.getOrderCode());
|
849
|
+ logger.info("in miniFaultCreate, push event uid {} ,order code {} ", miniFaultOuterTimeEvent.getUid(), miniFaultOuterTimeEvent.getOrderCode());
|
859
|
EventBusPublisher.publishEvent(miniFaultOuterTimeEvent);
|
850
|
EventBusPublisher.publishEvent(miniFaultOuterTimeEvent);
|
860
|
|
851
|
|
861
|
|
852
|
|
862
|
- SellerOrderGoods sellerOrderGoods = cleanCacheAfterUpdateStatus(orderCode,uid,sellerUid);
|
853
|
+ SellerOrderGoods sellerOrderGoods = cleanCacheAfterUpdateStatus(orderCode, uid, sellerUid);
|
863
|
Product product = Optional.ofNullable(sellerOrderGoods).map(SellerOrderGoods::getProductId).map(productMapper::selectByPrimaryKey).orElse(null);
|
854
|
Product product = Optional.ofNullable(sellerOrderGoods).map(SellerOrderGoods::getProductId).map(productMapper::selectByPrimaryKey).orElse(null);
|
864
|
//消息
|
855
|
//消息
|
865
|
- buyerNoticeFacade.miniFaultCreated(buyerOrder,sellerOrderGoods,product);
|
856
|
+ buyerNoticeFacade.miniFaultCreated(buyerOrder, sellerOrderGoods, product);
|
866
|
|
857
|
|
867
|
//记录订单的状态变更信息
|
858
|
//记录订单的状态变更信息
|
868
|
logger.info("in miniFaultCreate record status change, orderCode {},uid {} ,sellerUid {}", orderCode, uid, sellerUid);
|
859
|
logger.info("in miniFaultCreate record status change, orderCode {},uid {} ,sellerUid {}", orderCode, uid, sellerUid);
|
|
@@ -871,29 +862,27 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
|
@@ -871,29 +862,27 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
871
|
}
|
862
|
}
|
872
|
|
863
|
|
873
|
|
864
|
|
874
|
-
|
|
|
875
|
-
|
|
|
876
|
@Override
|
865
|
@Override
|
877
|
public void modifyAddressOfDepositOrder(int uid, Long orderCode, String addressIdstr) {
|
866
|
public void modifyAddressOfDepositOrder(int uid, Long orderCode, String addressIdstr) {
|
878
|
- if (serviceOrderProcessor.isGoodsServiceOrder(orderCode)){
|
867
|
+ if (serviceOrderProcessor.isGoodsServiceOrder(orderCode)) {
|
879
|
sellerDepositOrderService.addOrModifyAddress(uid, orderCode, addressIdstr);
|
868
|
sellerDepositOrderService.addOrModifyAddress(uid, orderCode, addressIdstr);
|
880
|
return;
|
869
|
return;
|
881
|
}
|
870
|
}
|
882
|
|
871
|
|
883
|
int addressId = AddressUtil.getDecryptStr(addressIdstr);
|
872
|
int addressId = AddressUtil.getDecryptStr(addressIdstr);
|
884
|
- if (addressId < 0){
|
873
|
+ if (addressId < 0) {
|
885
|
logger.warn("modifyAddressOfDepositOrder addressId invalidate, uid {}, orderCode {}, addressId is {}",
|
874
|
logger.warn("modifyAddressOfDepositOrder addressId invalidate, uid {}, orderCode {}, addressId is {}",
|
886
|
uid, orderCode, addressIdstr);
|
875
|
uid, orderCode, addressIdstr);
|
887
|
throw new ServiceException(ServiceError.ORDER_ADDRESSID_INVALIDATE);
|
876
|
throw new ServiceException(ServiceError.ORDER_ADDRESSID_INVALIDATE);
|
888
|
}
|
877
|
}
|
889
|
BuyerOrder pbo = buyerOrderMapper.selectOnlyByOrderCode(orderCode);
|
878
|
BuyerOrder pbo = buyerOrderMapper.selectOnlyByOrderCode(orderCode);
|
890
|
- if (pbo == null ){
|
879
|
+ if (pbo == null) {
|
891
|
logger.warn("in modifyAddressOfDepositOrder BuyerOrder is null,uid {} orderCode {} addressIdstr {}",
|
880
|
logger.warn("in modifyAddressOfDepositOrder BuyerOrder is null,uid {} orderCode {} addressIdstr {}",
|
892
|
uid, orderCode, addressIdstr);
|
881
|
uid, orderCode, addressIdstr);
|
893
|
return;
|
882
|
return;
|
894
|
}
|
883
|
}
|
895
|
Integer oa;
|
884
|
Integer oa;
|
896
|
- if (OrderAttributes.DEPOSITE.getCode() != (oa=pbo.getAttributes())){
|
885
|
+ if (OrderAttributes.DEPOSITE.getCode() != (oa = pbo.getAttributes())) {
|
897
|
logger.warn("in modifyAddressOfDepositOrder BuyerOrder.Attributes is {},uid {} orderCode {} addressIdstr {}",
|
886
|
logger.warn("in modifyAddressOfDepositOrder BuyerOrder.Attributes is {},uid {} orderCode {} addressIdstr {}",
|
898
|
oa, uid, orderCode, addressIdstr);
|
887
|
oa, uid, orderCode, addressIdstr);
|
899
|
return;
|
888
|
return;
|
|
@@ -936,7 +925,7 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
|
@@ -936,7 +925,7 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
936
|
|
925
|
|
937
|
@Override
|
926
|
@Override
|
938
|
public BuyerOrderMeta buildnoHiddenAddressMeta(int uid, long orderCode, String key, AddressInfo noHiddenBackAddress) {
|
927
|
public BuyerOrderMeta buildnoHiddenAddressMeta(int uid, long orderCode, String key, AddressInfo noHiddenBackAddress) {
|
939
|
- BuyerOrderMeta noHiddenAddressMeta=new BuyerOrderMeta();
|
928
|
+ BuyerOrderMeta noHiddenAddressMeta = new BuyerOrderMeta();
|
940
|
noHiddenAddressMeta.setUid(uid);
|
929
|
noHiddenAddressMeta.setUid(uid);
|
941
|
noHiddenAddressMeta.setOrderCode(orderCode);
|
930
|
noHiddenAddressMeta.setOrderCode(orderCode);
|
942
|
noHiddenAddressMeta.setMetaKey(key);
|
931
|
noHiddenAddressMeta.setMetaKey(key);
|
|
@@ -946,7 +935,7 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
|
@@ -946,7 +935,7 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
946
|
|
935
|
|
947
|
@Override
|
936
|
@Override
|
948
|
public BuyerOrderMeta buildHiddenAddressMeta(int uid, long orderCode, String hiddenKey, AddressInfo hiddenBackAddress) {
|
937
|
public BuyerOrderMeta buildHiddenAddressMeta(int uid, long orderCode, String hiddenKey, AddressInfo hiddenBackAddress) {
|
949
|
- BuyerOrderMeta hiddenAddressMeta=new BuyerOrderMeta();
|
938
|
+ BuyerOrderMeta hiddenAddressMeta = new BuyerOrderMeta();
|
950
|
hiddenAddressMeta.setUid(uid);
|
939
|
hiddenAddressMeta.setUid(uid);
|
951
|
hiddenAddressMeta.setOrderCode(orderCode);
|
940
|
hiddenAddressMeta.setOrderCode(orderCode);
|
952
|
hiddenAddressMeta.setMetaKey(hiddenKey);
|
941
|
hiddenAddressMeta.setMetaKey(hiddenKey);
|
|
@@ -968,13 +957,11 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
|
@@ -968,13 +957,11 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
968
|
}
|
957
|
}
|
969
|
|
958
|
|
970
|
|
959
|
|
971
|
-
|
|
|
972
|
-
|
|
|
973
|
//清理缓存
|
960
|
//清理缓存
|
974
|
- private SellerOrderGoods cleanCacheAfterUpdateStatus(long orderCode,int uid,int sellerUid){
|
961
|
+ private SellerOrderGoods cleanCacheAfterUpdateStatus(long orderCode, int uid, int sellerUid) {
|
975
|
BuyerOrderGoods bog = buyerOrderGoodsMapper.selectByOrderCode(uid, orderCode);
|
962
|
BuyerOrderGoods bog = buyerOrderGoodsMapper.selectByOrderCode(uid, orderCode);
|
976
|
SellerOrderGoods sellerOrderGoods = sellerOrderGoodsMapper.selectByPrimaryKey(bog.getSkup());
|
963
|
SellerOrderGoods sellerOrderGoods = sellerOrderGoodsMapper.selectByPrimaryKey(bog.getSkup());
|
977
|
- logger.info("in cleanCacheAfterUpdateStatus begin clean cache orderCode {},uid {} ,sellerUid {}", orderCode,uid,sellerUid);
|
964
|
+ logger.info("in cleanCacheAfterUpdateStatus begin clean cache orderCode {},uid {} ,sellerUid {}", orderCode, uid, sellerUid);
|
978
|
|
965
|
|
979
|
cacheCleaner.cleanSellerAndBuyerOrderDetailAndList(sellerUid, uid, orderCode);
|
966
|
cacheCleaner.cleanSellerAndBuyerOrderDetailAndList(sellerUid, uid, orderCode);
|
980
|
|
967
|
|
|
@@ -984,12 +971,11 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
|
@@ -984,12 +971,11 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
984
|
}
|
971
|
}
|
985
|
|
972
|
|
986
|
|
973
|
|
987
|
-
|
|
|
988
|
@Override
|
974
|
@Override
|
989
|
public int processOrderDeliverByDepositGoods(BuyerOrderAssistant.PreparedData preparedData,
|
975
|
public int processOrderDeliverByDepositGoods(BuyerOrderAssistant.PreparedData preparedData,
|
990
|
- BuyerOrderAssistant.DepositSkuCheckNode dscNode){
|
976
|
+ BuyerOrderAssistant.DepositSkuCheckNode dscNode) {
|
991
|
|
977
|
|
992
|
- if (!dscNode.isExistDepositGoods()){
|
978
|
+ if (!dscNode.isExistDepositGoods()) {
|
993
|
return 0;
|
979
|
return 0;
|
994
|
}
|
980
|
}
|
995
|
BuyerOrderGoods pbog = preparedData.getBuyerOrderGoods();
|
981
|
BuyerOrderGoods pbog = preparedData.getBuyerOrderGoods();
|
|
@@ -1001,7 +987,7 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
|
@@ -1001,7 +987,7 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
1001
|
Integer ownerUid = psd.getOwnerUid();
|
987
|
Integer ownerUid = psd.getOwnerUid();
|
1002
|
Integer sellerUid = buyerOrder.getSellerUid();
|
988
|
Integer sellerUid = buyerOrder.getSellerUid();
|
1003
|
Integer skup;
|
989
|
Integer skup;
|
1004
|
- boolean isExistSkup = Objects.nonNull(skup = psd.getNewSkup()) && skup>0;
|
990
|
+ boolean isExistSkup = Objects.nonNull(skup = psd.getNewSkup()) && skup > 0;
|
1005
|
logger.info("processOrderDeliverByDepositGoods orderCode {} depositCode {} skup {}", orderCode, depositCode, skup);
|
991
|
logger.info("processOrderDeliverByDepositGoods orderCode {} depositCode {} skup {}", orderCode, depositCode, skup);
|
1006
|
|
992
|
|
1007
|
//寄存商品 出库准备
|
993
|
//寄存商品 出库准备
|
|
@@ -1031,7 +1017,7 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
|
@@ -1031,7 +1017,7 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
1031
|
logger.info("processOrderDeliverByDepositGoods orderCode {} depositCode {} updateDepositWaitToPick {}", orderCode, depositCode, rows);
|
1017
|
logger.info("processOrderDeliverByDepositGoods orderCode {} depositCode {} updateDepositWaitToPick {}", orderCode, depositCode, rows);
|
1032
|
|
1018
|
|
1033
|
|
1019
|
|
1034
|
- if (rows>0){
|
1020
|
+ if (rows > 0) {
|
1035
|
//bind deposit code 2 buyer order
|
1021
|
//bind deposit code 2 buyer order
|
1036
|
buyerOrderMetaService.saveDepositCode(depositCode, buyerUid, orderCode);
|
1022
|
buyerOrderMetaService.saveDepositCode(depositCode, buyerUid, orderCode);
|
1037
|
//check
|
1023
|
//check
|
|
@@ -1041,7 +1027,7 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
|
@@ -1041,7 +1027,7 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
1041
|
|
1027
|
|
1042
|
//skup 下架
|
1028
|
//skup 下架
|
1043
|
//skup 竟然在数据库有默认值0,什么鬼!!!
|
1029
|
//skup 竟然在数据库有默认值0,什么鬼!!!
|
1044
|
- if (isExistSkup){
|
1030
|
+ if (isExistSkup) {
|
1045
|
// 减库存
|
1031
|
// 减库存
|
1046
|
asyncExecutePrdTask(psd);
|
1032
|
asyncExecutePrdTask(psd);
|
1047
|
//
|
1033
|
//
|
|
@@ -1052,11 +1038,11 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
|
@@ -1052,11 +1038,11 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
1052
|
}
|
1038
|
}
|
1053
|
|
1039
|
|
1054
|
|
1040
|
|
1055
|
- private Future<Boolean> asyncExecutePrdTask(StorageDeposit psd){
|
1041
|
+ private Future<Boolean> asyncExecutePrdTask(StorageDeposit psd) {
|
1056
|
Integer skup = psd.getNewSkup();
|
1042
|
Integer skup = psd.getNewSkup();
|
1057
|
Integer productId = psd.getProductId();
|
1043
|
Integer productId = psd.getProductId();
|
1058
|
final ExecutorService executorService = ThreadPoolFactory.getCommomExecutorService();
|
1044
|
final ExecutorService executorService = ThreadPoolFactory.getCommomExecutorService();
|
1059
|
- FutureTask<Boolean> futureTask = new FutureTask<>(()->productProxyService.subtractStorage(productId, skup));
|
1045
|
+ FutureTask<Boolean> futureTask = new FutureTask<>(() -> productProxyService.subtractStorage(productId, skup));
|
1060
|
executorService.submit(futureTask);
|
1046
|
executorService.submit(futureTask);
|
1061
|
logger.info("asyncExecutePrdTask submit task, skup {} productId {}", skup, productId);
|
1047
|
logger.info("asyncExecutePrdTask submit task, skup {} productId {}", skup, productId);
|
1062
|
return futureTask;
|
1048
|
return futureTask;
|
|
@@ -1065,6 +1051,7 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
|
@@ -1065,6 +1051,7 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
1065
|
/**
|
1051
|
/**
|
1066
|
* 这个方法请尽量保持单一原则
|
1052
|
* 这个方法请尽量保持单一原则
|
1067
|
* 如果有复杂的业务逻辑 如入参数据需要动态判定时 请在调用前处理
|
1053
|
* 如果有复杂的业务逻辑 如入参数据需要动态判定时 请在调用前处理
|
|
|
1054
|
+ *
|
1068
|
* @param preparedData (include buyerOrder)
|
1055
|
* @param preparedData (include buyerOrder)
|
1069
|
* @param req4Log
|
1056
|
* @param req4Log
|
1070
|
* @return
|
1057
|
* @return
|
|
@@ -1074,7 +1061,7 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
|
@@ -1074,7 +1061,7 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
1074
|
OrderStatus targetOrderStatus,
|
1061
|
OrderStatus targetOrderStatus,
|
1075
|
SellerDeliverToDepotReq req4Log
|
1062
|
SellerDeliverToDepotReq req4Log
|
1076
|
|
1063
|
|
1077
|
- ){
|
1064
|
+ ) {
|
1078
|
/*Integer expressCompanyId,
|
1065
|
/*Integer expressCompanyId,
|
1079
|
Integer expressType,
|
1066
|
Integer expressType,
|
1080
|
String wayBillCode,*/
|
1067
|
String wayBillCode,*/
|
|
@@ -1085,7 +1072,7 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
|
@@ -1085,7 +1072,7 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
1085
|
final OrderStatus expectOrderStatus = OrderStatus.HAS_PAYED;
|
1072
|
final OrderStatus expectOrderStatus = OrderStatus.HAS_PAYED;
|
1086
|
|
1073
|
|
1087
|
logger.info("processBuyerOrderWhenSellerDeliver req {}, orderCode {},expectOrderStatus {} ,targetOrderStatus {} ",
|
1074
|
logger.info("processBuyerOrderWhenSellerDeliver req {}, orderCode {},expectOrderStatus {} ,targetOrderStatus {} ",
|
1088
|
- new Object[]{req4Log, orderCode, expectOrderStatus, targetOrderStatus});
|
1075
|
+ new Object[]{req4Log, orderCode, expectOrderStatus, targetOrderStatus});
|
1089
|
Integer orderStatus = buyerOrder.getStatus();
|
1076
|
Integer orderStatus = buyerOrder.getStatus();
|
1090
|
if (orderStatus != expectOrderStatus.getCode()) {
|
1077
|
if (orderStatus != expectOrderStatus.getCode()) {
|
1091
|
logger.warn("deliverToDepot order status changed , orderCode {} orderStatus {}", orderCode, orderStatus);
|
1078
|
logger.warn("deliverToDepot order status changed , orderCode {} orderStatus {}", orderCode, orderStatus);
|
|
@@ -1103,7 +1090,7 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
|
@@ -1103,7 +1090,7 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
1103
|
int updateBuyerCnt = buyerOrderMapper.updateStatusByOrderCode(orderCode, buyerOrder.getUid(),
|
1090
|
int updateBuyerCnt = buyerOrderMapper.updateStatusByOrderCode(orderCode, buyerOrder.getUid(),
|
1104
|
expectOrderStatus.getCode(), targetOrderStatus.getCode(), DateUtil.getCurrentTimeSecond());
|
1091
|
expectOrderStatus.getCode(), targetOrderStatus.getCode(), DateUtil.getCurrentTimeSecond());
|
1105
|
logger.info("processBuyerOrderWhenSellerDeliver updateBuyerCnt {}, orderCode {}", updateBuyerCnt, orderCode);
|
1092
|
logger.info("processBuyerOrderWhenSellerDeliver updateBuyerCnt {}, orderCode {}", updateBuyerCnt, orderCode);
|
1106
|
- if (updateBuyerCnt>0){
|
1093
|
+ if (updateBuyerCnt > 0) {
|
1107
|
//根据skup ,更新鉴定中心
|
1094
|
//根据skup ,更新鉴定中心
|
1108
|
int skup;
|
1095
|
int skup;
|
1109
|
skupService.setDepotNum(skup = buyerOrderGoods.getSkup(), depotNum);
|
1096
|
skupService.setDepotNum(skup = buyerOrderGoods.getSkup(), depotNum);
|
|
@@ -1112,12 +1099,12 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
|
@@ -1112,12 +1099,12 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
1112
|
final SellerOrderGoods psog = preparedData.getSellerOrderGoods();
|
1099
|
final SellerOrderGoods psog = preparedData.getSellerOrderGoods();
|
1113
|
|
1100
|
|
1114
|
// 极速: 无需再向买家发一遍[卖家发货]消息 & 虚拟单号无物流
|
1101
|
// 极速: 无需再向买家发一遍[卖家发货]消息 & 虚拟单号无物流
|
1115
|
- if (psog.getAttributes() == OrderAttributes.FAST_DELIVERY.getCode()){
|
1102
|
+ if (psog.getAttributes() == OrderAttributes.FAST_DELIVERY.getCode()) {
|
1116
|
|
1103
|
|
1117
|
// 物流直接更新成1
|
1104
|
// 物流直接更新成1
|
1118
|
- buyerOrderMapper.updateSellerDeliveryStatusByOrderCode(orderCode, buyerUid,1);
|
|
|
1119
|
- }else{
|
|
|
1120
|
- if (targetOrderStatus == OrderStatus.SELLER_SEND_OUT){
|
1105
|
+ buyerOrderMapper.updateSellerDeliveryStatusByOrderCode(orderCode, buyerUid, 1);
|
|
|
1106
|
+ } else {
|
|
|
1107
|
+ if (targetOrderStatus == OrderStatus.SELLER_SEND_OUT) {
|
1121
|
buyerNoticeFacade.sellerDeliver2Depot(buyerOrder, psog);
|
1108
|
buyerNoticeFacade.sellerDeliver2Depot(buyerOrder, psog);
|
1122
|
//卖家物流检查
|
1109
|
//卖家物流检查
|
1123
|
BuyerOrderSellerDeliveryCheckEvent sellerDeliveryCheckEvent = BuyerOrderSellerDeliveryCheckEvent.builder().uid(buyerUid).sellerUid(sellerUid).orderCode(orderCode).build();
|
1110
|
BuyerOrderSellerDeliveryCheckEvent sellerDeliveryCheckEvent = BuyerOrderSellerDeliveryCheckEvent.builder().uid(buyerUid).sellerUid(sellerUid).orderCode(orderCode).build();
|
|
@@ -1127,7 +1114,7 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
|
@@ -1127,7 +1114,7 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { |
1127
|
//
|
1114
|
//
|
1128
|
try {
|
1115
|
try {
|
1129
|
cacheCleaner.cleanSellerAndBuyerOrderDetailAndList(sellerUid, buyerUid, orderCode);
|
1116
|
cacheCleaner.cleanSellerAndBuyerOrderDetailAndList(sellerUid, buyerUid, orderCode);
|
1130
|
- }catch (Exception ex){
|
1117
|
+ } catch (Exception ex) {
|
1131
|
logger.warn("{}.processBuyerOrder clean cache fail, {}", getClass().getSimpleName(), orderCode, ex);
|
1118
|
logger.warn("{}.processBuyerOrder clean cache fail, {}", getClass().getSimpleName(), orderCode, ex);
|
1132
|
}
|
1119
|
}
|
1133
|
|
1120
|
|