Authored by mali

更新鉴定室

@@ -525,7 +525,7 @@ public class BuyerOrderController { @@ -525,7 +525,7 @@ public class BuyerOrderController {
525 if(StringUtils.isEmpty(req.getSellerWaybillCode())) { 525 if(StringUtils.isEmpty(req.getSellerWaybillCode())) {
526 return new ApiResponse.ApiResponseBuilder().code(500).message("卖家快递单号不能为空").build(); 526 return new ApiResponse.ApiResponseBuilder().code(500).message("卖家快递单号不能为空").build();
527 } 527 }
528 - int result = buyerOrderService.addAbnormalPackage(req.getSellerWaybillCode()); 528 + int result = buyerOrderService.addAbnormalPackage(req);
529 if(result > 0) { 529 if(result > 0) {
530 return new ApiResponse.ApiResponseBuilder().code(200).message("添加异常包裹成功").build(); 530 return new ApiResponse.ApiResponseBuilder().code(200).message("添加异常包裹成功").build();
531 }else { 531 }else {
@@ -116,7 +116,7 @@ public interface IBuyerOrderService { @@ -116,7 +116,7 @@ public interface IBuyerOrderService {
116 116
117 PageResponseBO<String> queryPackage(Integer depotNo, String sellerWaybillCode, Integer date); 117 PageResponseBO<String> queryPackage(Integer depotNo, String sellerWaybillCode, Integer date);
118 118
119 - int addAbnormalPackage(String sellerWaybillCode); 119 + int addAbnormalPackage(BuyerOrderReq req);
120 120
121 PageResponseBO<String> queryAbnormalPackage(BuyerOrderReq req); 121 PageResponseBO<String> queryAbnormalPackage(BuyerOrderReq req);
122 122
  1 +package com.yoho.ufo.order.service.event;
  2 +
  3 +import com.alibaba.fastjson.JSONObject;
  4 +import com.yoho.order.model.BuyerOrderReq;
  5 +import com.yohobuy.ufo.model.order.bo.AppraiseExpressInfoBo;
  6 +import org.springframework.context.ApplicationEvent;
  7 +
  8 +/**
  9 + * Created by li.ma on 2019/6/27.
  10 + */
  11 +public class DepotNumUpdateEvent extends ApplicationEvent {
  12 + private AppraiseExpressInfoBo record;
  13 + /**
  14 + * Create a new ApplicationEvent.
  15 + *
  16 + * @param record the object on which the event initially occurred (never {@code null})
  17 + */
  18 + public DepotNumUpdateEvent(AppraiseExpressInfoBo record) {
  19 + super(record);
  20 + this.record = record;
  21 + }
  22 +
  23 + public AppraiseExpressInfoBo getRecord() {
  24 + return record;
  25 + }
  26 +
  27 + public void setRecord(AppraiseExpressInfoBo record) {
  28 + this.record = record;
  29 + }
  30 +
  31 + @Override
  32 + public String toString() {
  33 + return JSONObject.toJSONString(this);
  34 + }
  35 +}
  1 +package com.yoho.ufo.order.service.event;
  2 +
  3 +import com.alibaba.fastjson.JSONObject;
  4 +import com.yoho.core.rest.client.ServiceCaller;
  5 +import com.yoho.ufo.util.DateUtil;
  6 +import com.yohobuy.ufo.model.order.bo.AppraiseExpressInfoBo;
  7 +import org.apache.commons.lang3.StringUtils;
  8 +import org.slf4j.Logger;
  9 +import org.slf4j.LoggerFactory;
  10 +import org.springframework.beans.factory.annotation.Autowired;
  11 +import org.springframework.context.ApplicationListener;
  12 +import org.springframework.stereotype.Component;
  13 +
  14 +import java.util.concurrent.TimeUnit;
  15 +
  16 +/**
  17 + * Created by li.ma on 2019/6/27.
  18 + */
  19 +@Component
  20 +public class DepotNumUpdateListener implements ApplicationListener<DepotNumUpdateEvent> {
  21 + private static final Logger LOGGER = LoggerFactory.getLogger(DepotNumUpdateListener.class);
  22 +
  23 + @Autowired
  24 + private ServiceCaller serviceCaller;
  25 +
  26 + @Override
  27 + public void onApplicationEvent(DepotNumUpdateEvent event) {
  28 + AppraiseExpressInfoBo record = event.getRecord();
  29 + LOGGER.info("updateDeptNo begin, AppraiseExpressInfoBo is {}", record);
  30 +
  31 + JSONObject jsonObject = serviceCaller.asyncCall("ufo-gateway.updateDeptNo", record, JSONObject.class).get(5, TimeUnit.SECONDS);
  32 +
  33 + LOGGER.info("updateDeptNo end , record is {} , result is {}", record, jsonObject);
  34 + }
  35 +}
@@ -16,6 +16,7 @@ import java.util.stream.Collectors; @@ -16,6 +16,7 @@ import java.util.stream.Collectors;
16 16
17 import javax.annotation.Resource; 17 import javax.annotation.Resource;
18 18
  19 +import com.yoho.ufo.order.service.event.DepotNumUpdateEvent;
19 import org.apache.commons.collections.CollectionUtils; 20 import org.apache.commons.collections.CollectionUtils;
20 import org.apache.commons.lang3.StringUtils; 21 import org.apache.commons.lang3.StringUtils;
21 import org.elasticsearch.common.collect.Lists; 22 import org.elasticsearch.common.collect.Lists;
@@ -25,6 +26,8 @@ import org.slf4j.Logger; @@ -25,6 +26,8 @@ import org.slf4j.Logger;
25 import org.slf4j.LoggerFactory; 26 import org.slf4j.LoggerFactory;
26 import org.springframework.beans.factory.annotation.Autowired; 27 import org.springframework.beans.factory.annotation.Autowired;
27 import org.springframework.beans.factory.annotation.Value; 28 import org.springframework.beans.factory.annotation.Value;
  29 +import org.springframework.context.ApplicationContext;
  30 +import org.springframework.context.ApplicationContextAware;
28 import org.springframework.http.HttpEntity; 31 import org.springframework.http.HttpEntity;
29 import org.springframework.http.HttpHeaders; 32 import org.springframework.http.HttpHeaders;
30 import org.springframework.http.MediaType; 33 import org.springframework.http.MediaType;
@@ -130,7 +133,7 @@ import com.yohobuy.ufo.model.resp.product.SecondDetailResp; @@ -130,7 +133,7 @@ import com.yohobuy.ufo.model.resp.product.SecondDetailResp;
130 * @date 2018/9/13 133 * @date 2018/9/13
131 */ 134 */
132 @Service 135 @Service
133 -public class BuyerOrderServiceImpl implements IBuyerOrderService { 136 +public class BuyerOrderServiceImpl implements IBuyerOrderService, ApplicationContextAware {
134 137
135 private static final Logger LOGGER = LoggerFactory.getLogger(BuyerOrderServiceImpl.class); 138 private static final Logger LOGGER = LoggerFactory.getLogger(BuyerOrderServiceImpl.class);
136 139
@@ -888,6 +891,8 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { @@ -888,6 +891,8 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService {
888 //记录操作日志 891 //记录操作日志
889 int operateType =OperateTypeEnum.OPERATE_TYPE_CONFIRM_RECEIVE.getCode(); 892 int operateType =OperateTypeEnum.OPERATE_TYPE_CONFIRM_RECEIVE.getCode();
890 UserHelper userHelper = new UserHelper(); 893 UserHelper userHelper = new UserHelper();
  894 +
  895 + updateDeptNo(Long.valueOf(buyerOrder.getOrderCode()), null, req.getPhoneUid());
891 saveOrderOperateRecord(buyerOrder.getOrderCode(),userHelper, operateType, ""); 896 saveOrderOperateRecord(buyerOrder.getOrderCode(),userHelper, operateType, "");
892 LOGGER.info("confirmReceive saveOrderOperateRecord operateType={} ,order code ={} ,userHelper = {} ,result json {}",operateType,buyerOrder.getOrderCode() ,userHelper,jsonObject); 897 LOGGER.info("confirmReceive saveOrderOperateRecord operateType={} ,order code ={} ,userHelper = {} ,result json {}",operateType,buyerOrder.getOrderCode() ,userHelper,jsonObject);
893 898
@@ -920,6 +925,9 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { @@ -920,6 +925,9 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService {
920 if(jsonObject == null || jsonObject.getIntValue("code") != 200) { 925 if(jsonObject == null || jsonObject.getIntValue("code") != 200) {
921 throw new ServiceException(400,"错误:订单"+orderCode +"确认收货失败"); 926 throw new ServiceException(400,"错误:订单"+orderCode +"确认收货失败");
922 } 927 }
  928 +
  929 + updateDeptNo(null, sellerWaybillCode, req.getPhoneUid());
  930 +
923 saveOrderOperateRecord(buyerOrder.getOrderCode(),userHelper, operateType, ""); //记录操作日志 931 saveOrderOperateRecord(buyerOrder.getOrderCode(),userHelper, operateType, ""); //记录操作日志
924 LOGGER.info("confirmReceive saveOrderOperateRecord operateType={} ,order code ={} ,userHelper = {} ,result json {}",operateType,buyerOrder.getOrderCode() ,userHelper,jsonObject); 932 LOGGER.info("confirmReceive saveOrderOperateRecord operateType={} ,order code ={} ,userHelper = {} ,result json {}",operateType,buyerOrder.getOrderCode() ,userHelper,jsonObject);
925 } 933 }
@@ -1627,7 +1635,8 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { @@ -1627,7 +1635,8 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService {
1627 ||buyerOrder.getStatus().byteValue() == Constant.CANCEL_MINI_FAULT_REJECT.getByteVal() 1635 ||buyerOrder.getStatus().byteValue() == Constant.CANCEL_MINI_FAULT_REJECT.getByteVal()
1628 ||buyerOrder.getStatus().byteValue() == Constant.CANCEL_MINI_FAULT_OUT_TIME_REJECT.getByteVal() 1636 ||buyerOrder.getStatus().byteValue() == Constant.CANCEL_MINI_FAULT_OUT_TIME_REJECT.getByteVal()
1629 ||buyerOrder.getStatus().byteValue() == Constant.BUYER_ORDER_STATUS_BUYER_CANCEL_AFTER_SELLER_DELIVERY.getByteVal() 1637 ||buyerOrder.getStatus().byteValue() == Constant.BUYER_ORDER_STATUS_BUYER_CANCEL_AFTER_SELLER_DELIVERY.getByteVal()
1630 - ||buyerOrder.getStatus().byteValue() == Constant.BUYER_ORDER_STATUS_APPRAISE_UNSURE.getByteVal()){ 1638 + ||buyerOrder.getStatus().byteValue() == Constant.BUYER_ORDER_STATUS_APPRAISE_UNSURE.getByteVal()
  1639 + ||buyerOrder.getStatus().byteValue() == Constant.CS_CANCEL_BEFORE_DEPOT_RECEIVE.getByteVal()){
1631 //卖家地址 1640 //卖家地址
1632 LOGGER.info("getDeliveryAddressByOrderCode call seller address ,req is {}", req); 1641 LOGGER.info("getDeliveryAddressByOrderCode call seller address ,req is {}", req);
1633 return this.getSendBackInfoByOrderCode(req); 1642 return this.getSendBackInfoByOrderCode(req);
@@ -2531,7 +2540,9 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { @@ -2531,7 +2540,9 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService {
2531 } 2540 }
2532 2541
2533 @Override 2542 @Override
2534 - public int addAbnormalPackage(String sellerWaybillCode) { 2543 + public int addAbnormalPackage(BuyerOrderReq req) {
  2544 + String sellerWaybillCode = req.getSellerWaybillCode();
  2545 +
2535 //数据库已存在 2546 //数据库已存在
2536 AbnormalPackage pkg = abnormalPackageMapper.selectBySellerWaybillCode(sellerWaybillCode); 2547 AbnormalPackage pkg = abnormalPackageMapper.selectBySellerWaybillCode(sellerWaybillCode);
2537 if(null != pkg) { 2548 if(null != pkg) {
@@ -2543,6 +2554,10 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { @@ -2543,6 +2554,10 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService {
2543 pkg.setIsDel(0); 2554 pkg.setIsDel(0);
2544 pkg.setCreateTime(DateUtil.getCurrentTimeSeconds()); 2555 pkg.setCreateTime(DateUtil.getCurrentTimeSeconds());
2545 pkg.setOperateUid(new UserHelper().getUserId()); 2556 pkg.setOperateUid(new UserHelper().getUserId());
  2557 +
  2558 + // 校验鉴定中心是否是当前的鉴定室
  2559 + updateDeptNo(null, sellerWaybillCode, req.getPhoneUid());
  2560 +
2546 return abnormalPackageMapper.insert(pkg); 2561 return abnormalPackageMapper.insert(pkg);
2547 } 2562 }
2548 2563
@@ -3028,5 +3043,23 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService { @@ -3028,5 +3043,23 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService {
3028 } 3043 }
3029 } 3044 }
3030 } 3045 }
3031 - 3046 +
  3047 + private void updateDeptNo(Long orderCode, String wayBillCode, String phoneUid) {
  3048 + LOGGER.error("method. updateDeptNo begin orderCode is {} , wayBillCode is {}, phoneUid is {}", orderCode, wayBillCode, phoneUid);
  3049 +
  3050 + PhoneUidDepot phoneUidDepot = phoneUidDepotMapper.selectByphoneUid(phoneUid);
  3051 +
  3052 + if (null == phoneUidDepot) {
  3053 + LOGGER.error("phoneUidDepotMapper.selectByphoneUid is null phoneUid is {}", phoneUid);
  3054 + return;
  3055 + }
  3056 +
  3057 + applicationContext.publishEvent(new DepotNumUpdateEvent(new AppraiseExpressInfoBo(null , orderCode, wayBillCode, phoneUidDepot.getDepotNo(), null)));
  3058 + }
  3059 +
  3060 + private ApplicationContext applicationContext;
  3061 +
  3062 + public void setApplicationContext(ApplicationContext applicationContext) {
  3063 + this.applicationContext = applicationContext;
  3064 + }
3032 } 3065 }