...
|
...
|
@@ -4,13 +4,13 @@ import com.alibaba.fastjson.JSONObject; |
|
|
import com.yoho.error.ServiceError;
|
|
|
import com.yoho.error.exception.ServiceException;
|
|
|
import com.yohobuy.ufo.model.order.bo.SoldPrdComputeBo;
|
|
|
import com.yohobuy.ufo.model.order.resp.ExpressInfoDetail;
|
|
|
import com.yohobuy.ufo.model.order.resp.ExpressInfoRespBo;
|
|
|
import com.yohoufo.common.constant.ExpressInfoConstant;
|
|
|
import com.yohoufo.common.utils.DateUtil;
|
|
|
import com.yohoufo.dal.order.*;
|
|
|
import com.yohoufo.dal.order.model.*;
|
|
|
import com.yohoufo.order.common.ActionStatusHold;
|
|
|
import com.yohoufo.order.common.OrderCodeType;
|
|
|
import com.yohoufo.order.common.Payment;
|
|
|
import com.yohoufo.order.common.SkupStatus;
|
|
|
import com.yohoufo.order.common.*;
|
|
|
import com.yohoufo.order.constants.MetaKey;
|
|
|
import com.yohoufo.order.convert.SellerOrderConvertor;
|
|
|
import com.yohoufo.order.model.AddressInfo;
|
...
|
...
|
@@ -91,15 +91,22 @@ public class SellerOrderDetailService extends AbsOrderDetailService implements I |
|
|
SellerOrderGoods sellerOrderGoods = sellerOrderGoodsMapper.selectByPrimaryKey(skup);
|
|
|
Integer skupStatusCode = sellerOrderGoods.getStatus();
|
|
|
SkupStatus skupStatus = SkupStatus.getSkupStatus(skupStatusCode);
|
|
|
|
|
|
|
|
|
SellerOrderMeta addressMeta = somMapper.selectByMetaKey(uid, skup, MetaKey.BACK_2_SELLER_DELIVERY_ADDRESS);
|
|
|
AddressInfo addressInfo = JSONObject.parseObject(addressMeta.getMetaValue(), AddressInfo.class);
|
|
|
|
|
|
AddressInfo addressInfo = getAddressInfo(uid, skup);
|
|
|
return buildOrderDetail(sellerOrder, skupStatus, sellerOrderGoods, addressInfo);
|
|
|
}
|
|
|
OrderDetailInfo orderDetailInfo = super.getOrderDetail(orderRequest);
|
|
|
BuyerOrder buyerOrder = buyerOrderMapper.selectByOrderCode(orderCode);
|
|
|
BuyerOrderGoods buyerOrderGoods = buyerOrderGoodsMapper.selectByOrderCode(buyerOrder.getUid(), orderCode);
|
|
|
AddressInfo addressInfo = getAddressInfo(buyerOrder.getSellerUid(), buyerOrderGoods.getSkup());
|
|
|
orderDetailInfo.setUserAddress(addressInfo);
|
|
|
return orderDetailInfo;
|
|
|
}
|
|
|
|
|
|
|
|
|
return super.getOrderDetail(orderRequest);
|
|
|
private AddressInfo getAddressInfo(int uid, int skup){
|
|
|
SellerOrderMeta addressMeta = somMapper.selectByMetaKey(uid, skup, MetaKey.BACK_2_SELLER_DELIVERY_ADDRESS);
|
|
|
AddressInfo addressInfo = JSONObject.parseObject(addressMeta.getMetaValue(), AddressInfo.class);
|
|
|
return addressInfo;
|
|
|
}
|
|
|
|
|
|
@Override
|
...
|
...
|
@@ -119,6 +126,35 @@ public class SellerOrderDetailService extends AbsOrderDetailService implements I |
|
|
orderDetailInfo.setIncome(computeBo.getIncome());
|
|
|
}
|
|
|
}
|
|
|
private final static List<Integer> sellerViewExpressStatus = Arrays.asList(OrderStatus.SELLER_SEND_OUT.getCode(),
|
|
|
OrderStatus.PLATFORM_CHECKING.getCode(), OrderStatus.CHECKING_FAKE.getCode());
|
|
|
|
|
|
@Override
|
|
|
ExpressInfoDetail getExpressInfoDetail(OrderStatus orderStatus, long orderCode) {
|
|
|
|
|
|
|
|
|
if (!sellerViewExpressStatus.contains(orderStatus.getCode())){
|
|
|
return null;
|
|
|
}
|
|
|
Integer type ;
|
|
|
if (Objects.equals(OrderStatus.CHECKING_FAKE.getCode(), orderStatus.getCode())){
|
|
|
type = ExpressInfoConstant.EXPRESS_TYPE_3;
|
|
|
}else{
|
|
|
type = ExpressInfoConstant.EXPRESS_TYPE_1;
|
|
|
}
|
|
|
ExpressInfoDetail lastEID = null;
|
|
|
ExpressInfoRespBo expressInfoResp = expressInfoService.queryLastExpressDetailInfo(orderCode, type);
|
|
|
List<ExpressInfoDetail> eidList;
|
|
|
if (Objects.nonNull(expressInfoResp)
|
|
|
&& Objects.nonNull(eidList=expressInfoResp.getExpressInfoDetailList())
|
|
|
&& eidList.size() > 0
|
|
|
){
|
|
|
|
|
|
lastEID = eidList.get(0);
|
|
|
}
|
|
|
|
|
|
return lastEID;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* @see AbsOrderDetailService
|
...
|
...
|
|