|
|
package com.yohoufo.order.service.seller.deposit;
|
|
|
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.google.common.collect.Lists;
|
|
|
import com.yohobuy.ufo.model.order.bo.OrderInfo;
|
|
|
import com.yohobuy.ufo.model.order.bo.TimeoutBo;
|
|
|
import com.yohobuy.ufo.model.order.common.AppraiseOrderStatus;
|
|
|
import com.yohobuy.ufo.model.order.common.OrderAttributes;
|
|
|
import com.yohobuy.ufo.model.order.common.OrderCodeType;
|
|
|
import com.yohobuy.ufo.model.order.common.TabType;
|
|
|
import com.yohobuy.ufo.model.order.constants.DepotType;
|
|
|
import com.yohobuy.ufo.model.order.constants.SellerDepositOrderListType;
|
|
|
import com.yohobuy.ufo.model.order.constants.SkupType;
|
|
|
import com.yohobuy.ufo.model.order.req.*;
|
|
|
import com.yohobuy.ufo.model.order.resp.*;
|
|
|
import com.yohobuy.ufo.model.order.vo.AddressInfo;
|
|
|
import com.yohobuy.ufo.model.order.vo.GoodsVo;
|
|
|
import com.yohobuy.ufo.model.order.vo.ProductVo;
|
|
|
import com.yohoufo.common.helper.ImageUrlAssist;
|
...
|
...
|
@@ -24,32 +16,28 @@ import com.yohoufo.dal.order.AppraiseOrderMetaMapper; |
|
|
import com.yohoufo.dal.order.AppraiseOrderStorageMapper;
|
|
|
import com.yohoufo.dal.order.model.AppraiseOrder;
|
|
|
import com.yohoufo.dal.order.model.AppraiseOrderGoods;
|
|
|
import com.yohoufo.dal.order.model.AppraiseOrderMeta;
|
|
|
import com.yohoufo.dal.order.model.AppraiseOrderStorage;
|
|
|
import com.yohoufo.order.common.ClientType;
|
|
|
import com.yohoufo.order.constants.MetaKey;
|
|
|
import com.yohoufo.order.convert.SellerOrderConvertor;
|
|
|
import com.yohoufo.order.model.dto.SellerDepositOrderContext;
|
|
|
import com.yohoufo.order.model.dto.SellerDepositSubOrderContext;
|
|
|
import com.yohoufo.order.model.dto.SellerOrderComputeResult;
|
|
|
import com.yohoufo.order.model.response.AppraiseAddressResp;
|
|
|
import com.yohoufo.order.service.impl.AbsOrderViewService;
|
|
|
import com.yohoufo.order.service.IGoodsService;
|
|
|
import com.yohoufo.order.service.impl.AppraiseAddressService;
|
|
|
import com.yohoufo.order.service.impl.AppraiseOrderCreateService;
|
|
|
import com.yohoufo.order.service.proxy.OrderStatusFlowService;
|
|
|
import com.yohoufo.order.service.support.codegenerator.OrderCodeGenerator;
|
|
|
import com.yohoufo.order.utils.LoggerUtils;
|
|
|
import lombok.Builder;
|
|
|
import org.slf4j.Logger;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
|
import java.util.*;
|
|
|
import java.util.function.Function;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
@Service
|
|
|
public class SellerDepositOrderService extends AbsOrderViewService {
|
|
|
public class SellerDepositOrderService implements IGoodsService {
|
|
|
private final Logger logger = LoggerUtils.getSellerOrderLogger();
|
|
|
|
|
|
@Autowired
|
...
|
...
|
@@ -79,30 +67,11 @@ public class SellerDepositOrderService extends AbsOrderViewService { |
|
|
@Autowired
|
|
|
private AppraiseOrderMetaService appraiseOrderMetaService;
|
|
|
|
|
|
@Autowired
|
|
|
private SellerDepositOrderListService sellerDepositOrderListService;
|
|
|
|
|
|
private static final List<Integer> showEXpressInfoStatusList = Lists.newArrayList(AppraiseOrderStatus.SELLER_SEND_OUT.getCode(),
|
|
|
AppraiseOrderStatus.WAITING_RECEIVE.getCode(),
|
|
|
AppraiseOrderStatus.PLATFORM_RECEIVE.getCode(),
|
|
|
AppraiseOrderStatus.JUDGE_PASS.getCode(),
|
|
|
AppraiseOrderStatus.CHECKING_FAKE.getCode(),
|
|
|
AppraiseOrderStatus.PLATFORM_APPRAISE_UNSURE.getCode()
|
|
|
);
|
|
|
private static final List<Integer> showUserAddressStatusList = Lists.newArrayList(AppraiseOrderStatus.SELLER_SEND_OUT.getCode(),
|
|
|
AppraiseOrderStatus.WAITING_RECEIVE.getCode(),
|
|
|
AppraiseOrderStatus.PLATFORM_RECEIVE.getCode(),
|
|
|
AppraiseOrderStatus.JUDGE_PASS.getCode(),
|
|
|
AppraiseOrderStatus.CHECKING_FAKE.getCode(),
|
|
|
AppraiseOrderStatus.PLATFORM_APPRAISE_UNSURE.getCode()
|
|
|
);
|
|
|
private static final List<Integer> showAppraiseAddressStatusList = Lists.newArrayList(AppraiseOrderStatus.SELLER_SEND_OUT.getCode(),
|
|
|
AppraiseOrderStatus.WAITING_RECEIVE.getCode(),
|
|
|
AppraiseOrderStatus.PLATFORM_RECEIVE.getCode(),
|
|
|
AppraiseOrderStatus.JUDGE_PASS.getCode(),
|
|
|
AppraiseOrderStatus.CHECKING_FAKE.getCode(),
|
|
|
AppraiseOrderStatus.PLATFORM_APPRAISE_UNSURE.getCode()
|
|
|
);
|
|
|
|
|
|
private static final List<Integer> addressUpgradableStatusList = Lists.newArrayList(AppraiseOrderStatus.HAS_PAYED.getCode());
|
|
|
@Autowired
|
|
|
private OrderStatusFlowService orderStatusFlowService;
|
|
|
|
|
|
|
|
|
|
...
|
...
|
@@ -140,8 +109,8 @@ public class SellerDepositOrderService extends AbsOrderViewService { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
OrderAttributes getOrderAttributes(){
|
|
|
@Override
|
|
|
public OrderAttributes getOrderAttributes(){
|
|
|
return OrderAttributes.DEPOSITE;
|
|
|
}
|
|
|
|
...
|
...
|
@@ -182,291 +151,35 @@ public class SellerDepositOrderService extends AbsOrderViewService { |
|
|
}
|
|
|
|
|
|
|
|
|
public PageResp<SellerDepositOrderListResp> getOrderList(SellerDepositOrderListReq req ){
|
|
|
PageResp.PageRespBuilder<SellerDepositOrderListResp> respBuilder = PageResp.builder();
|
|
|
SellerDepositOrderListType sellerDepositOrderListType = SellerDepositOrderListType.getByCode(req.getListType());
|
|
|
if (Objects.isNull(sellerDepositOrderListType)){
|
|
|
return respBuilder.build();
|
|
|
}
|
|
|
|
|
|
int uid = req.getUid();
|
|
|
OrderAttributes orderAttributes = getOrderAttributes();
|
|
|
final List<Integer> statusList = sellerDepositOrderListType.statusList();
|
|
|
int total = appraiseOrderMapper.selectCntByOrderType(uid, orderAttributes.getCode(), statusList);
|
|
|
int limit = req.getLimit();
|
|
|
if (total == 0){
|
|
|
return respBuilder
|
|
|
.pageSize(limit)
|
|
|
.total(total)
|
|
|
.page(req.getPage())
|
|
|
.build();
|
|
|
}
|
|
|
|
|
|
int offset = (req.getPage() - 1) * limit;
|
|
|
|
|
|
List<AppraiseOrder> orderList = appraiseOrderMapper.selectOrderListByOrderType(uid, orderAttributes.getCode(), statusList, offset, limit);
|
|
|
|
|
|
List<Long> orderCodes = orderList.stream().map(AppraiseOrder::getOrderCode).collect(Collectors.toList());
|
|
|
List<AppraiseOrderGoods> paogs = appraiseOrderGoodsMapper.selectByOrderCodes(orderCodes);
|
|
|
|
|
|
|
|
|
Map<Long,List<AppraiseOrderGoods>> orderCodeAOGMap = new HashMap<>(paogs.size());
|
|
|
for (AppraiseOrderGoods paog : paogs){
|
|
|
long orderCode;
|
|
|
List<AppraiseOrderGoods> list;
|
|
|
if (!orderCodeAOGMap.containsKey(orderCode=paog.getOrderCode())){
|
|
|
list = new ArrayList(16);
|
|
|
orderCodeAOGMap.put(orderCode, list);
|
|
|
}else{
|
|
|
list = orderCodeAOGMap.get(orderCode);
|
|
|
}
|
|
|
list.add(paog);
|
|
|
}
|
|
|
|
|
|
|
|
|
List<SellerDepositOrderListResp> aolrList = orderList.parallelStream()
|
|
|
.map(pao-> buildSellerDepositOrderListResp(pao, orderCodeAOGMap.get(pao.getOrderCode())))
|
|
|
.collect(Collectors.toList());
|
|
|
|
|
|
respBuilder.page(req.getPage())
|
|
|
.pageSize(limit)
|
|
|
.total(total)
|
|
|
.pagetotal((total % limit == 0) ? (total / limit) : (total / limit + 1))
|
|
|
.data(aolrList);
|
|
|
return respBuilder.build();
|
|
|
}
|
|
|
|
|
|
SellerDepositOrderListResp buildSellerDepositOrderListResp(AppraiseOrder pao, List<AppraiseOrderGoods> aogList){
|
|
|
int uid = pao.getUid();
|
|
|
long orderCode = pao.getOrderCode();
|
|
|
int status = pao.getStatus();
|
|
|
AppraiseOrderStatus appraiseOrderStatus = AppraiseOrderStatus.getByCode(status);
|
|
|
OrderAttributes oa = getOrderAttributes();
|
|
|
List<ProductVo> productList = aogList.parallelStream()
|
|
|
.sorted(Comparator.comparing(AppraiseOrderGoods::getOrderBy))
|
|
|
.map(paog -> ProductVo.builder()
|
|
|
.imgUrl(ImageUrlAssist.getAllProductPicUrl(paog.getImageUrl(), "goodsimg", "center", "d2hpdGU="))
|
|
|
.build())
|
|
|
.collect(Collectors.toCollection(()->new ArrayList<>(aogList.size())));
|
|
|
return SellerDepositOrderListResp.builder()
|
|
|
.uid(uid)
|
|
|
.orderCode(orderCode)
|
|
|
.status(status)
|
|
|
.statuStr(appraiseOrderStatus.statusStr(oa))
|
|
|
.buttons(appraiseOrderStatus.listButtons(oa))
|
|
|
.productList(productList)
|
|
|
.build();
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public SellerDepositOrderDetailResp getOrderDetail(SellerDepositOrderDetailReq req){
|
|
|
Long orderCode = req.getOrderCode();
|
|
|
int uid = req.getUid();
|
|
|
AppraiseOrder pao = appraiseOrderMapper.selectByOrderCode(orderCode);
|
|
|
OrderAttributes oa = OrderAttributes.getOrderAttributes(pao.getAttributes());
|
|
|
|
|
|
//todo use another page list query
|
|
|
List<AppraiseOrderGoods> paogList = appraiseOrderGoodsMapper.selectByOrderCodes(Arrays.asList(orderCode));
|
|
|
//
|
|
|
TimeoutBo timeout = calTimeout(TabType.BUY, uid, orderCode, pao.getStatus(),
|
|
|
pao.getCreateTime(), oa);
|
|
|
boolean expressShow = showEXpressInfoStatusList.contains(pao.getStatus());
|
|
|
//
|
|
|
AppraiseOrderStatus aos = AppraiseOrderStatus.getByCode(pao.getStatus());
|
|
|
OrderDetailInfo.StatusDetail statusDetail = OrderDetailInfo.StatusDetail
|
|
|
.builder()
|
|
|
.statuStr(aos.statusStr(oa))
|
|
|
.detailDesc(aos.detailDesc(oa))
|
|
|
.expressShow(expressShow)
|
|
|
.build();
|
|
|
//
|
|
|
AppraiseAddressInfo appraiseAddressInfo = null;
|
|
|
if(showAppraiseAddressStatusList.contains(pao.getStatus())){
|
|
|
AppraiseAddressResp aaResp = appraiseAddressService.findByDepotType(DepotType.NJ.getCode());
|
|
|
appraiseAddressInfo = AppraiseAddressService.convert2AppraiseAddressInfo(aaResp);
|
|
|
}
|
|
|
AddressInfo userAddress = null;
|
|
|
if (showUserAddressStatusList.contains(pao.getStatus())){
|
|
|
userAddress = appraiseOrderMetaService.getHidderUserAddress(orderCode);
|
|
|
}
|
|
|
boolean addressUpgradable = addressUpgradableStatusList.contains(pao.getStatus());
|
|
|
SellerDepositOrderPrdListReq sknListReq = SellerDepositOrderPrdListReq.builder()
|
|
|
.orderCode(orderCode)
|
|
|
.page(1).limit(10).uid(uid).build();
|
|
|
PageResp<ProductVo> sknListPageResp = getSknList(sknListReq);
|
|
|
return SellerDepositOrderDetailResp.builder()
|
|
|
.orderCode(orderCode)
|
|
|
.uid(uid)
|
|
|
.earnestMoney(SellerOrderConvertor.formatFee(pao.getAmount()))
|
|
|
.createTime(DateUtil.formatDate(pao.getCreateTime(), DateUtil.yyyy_MM_dd_HH_mm_SS))
|
|
|
.timeout(timeout)
|
|
|
.statusDetail(statusDetail)
|
|
|
.productList(sknListPageResp.getData())
|
|
|
.userAddress(userAddress)
|
|
|
.appraiseAddress(appraiseAddressInfo)
|
|
|
.addressUpgradable(addressUpgradable)
|
|
|
.build()
|
|
|
;
|
|
|
}
|
|
|
|
|
|
public PageResp<ProductVo> getSknList(SellerDepositOrderPrdListReq req){
|
|
|
Long orderCode = req.getOrderCode();
|
|
|
int total = appraiseOrderGoodsMapper.selectCntByOrderCode(orderCode);
|
|
|
int limit = req.getLimit();
|
|
|
PageResp.PageRespBuilder<ProductVo> respBuilder = PageResp.builder();
|
|
|
respBuilder.page(req.getPage()).pageSize(limit).total(total);
|
|
|
if (total == 0){
|
|
|
return respBuilder.build();
|
|
|
}
|
|
|
int offset = (req.getPage() - 1) * limit;
|
|
|
List<AppraiseOrderGoods> paogs = appraiseOrderGoodsMapper.selectAllByOrderCode(orderCode, offset, limit);
|
|
|
|
|
|
List<ProductVo> productVoList = buildProductVoListWithSkuSummary(paogs);
|
|
|
|
|
|
respBuilder.data(productVoList);
|
|
|
return respBuilder.build();
|
|
|
}
|
|
|
|
|
|
List<ProductVo> buildProductVoListWithSkuSummary(List<AppraiseOrderGoods> paogs){
|
|
|
|
|
|
return paogs.parallelStream().map(paog-> convertProductVo(paog, null))
|
|
|
.collect(Collectors.toCollection(()->new ArrayList<>(paogs.size())));
|
|
|
}
|
|
|
@Builder
|
|
|
private class OrderDataNode{
|
|
|
int sknNum;
|
|
|
List<AppraiseOrderGoods> paogs;
|
|
|
Map<Integer,List<AppraiseOrderStorage>> prdIdAOSListMap;
|
|
|
Map<Integer,SellerOrderComputeResult> storageIdSOCRMap;
|
|
|
Map<Integer, AppraiseOrderMeta> storageIdFeeMetaMap;
|
|
|
}
|
|
|
|
|
|
OrderDataNode buildDataSourceOfParentOrder(long orderCode, List<AppraiseOrderGoods> paogs){
|
|
|
Map<Integer,List<AppraiseOrderStorage>> prdIdAOSListMap = new HashMap<>(paogs.size());
|
|
|
Map<Integer,SellerOrderComputeResult> storageIdSOCRMap = new HashMap<>(128);
|
|
|
|
|
|
Function<AppraiseOrderMeta, SellerOrderComputeResult> socrFunction = aom -> {
|
|
|
SellerOrderComputeResult socr = null;
|
|
|
String metaVal = null;
|
|
|
try {
|
|
|
socr = JSONObject.parseObject(metaVal=aom.getMetaValue(), SellerOrderComputeResult.class);
|
|
|
}catch (Exception ex){
|
|
|
logger.warn("in convert SellerOrderComputeResult fail, ordercode {} metaVal {}", orderCode, metaVal);
|
|
|
}finally {
|
|
|
return socr;
|
|
|
}
|
|
|
};
|
|
|
Map<Integer, AppraiseOrderMeta> storageIdFeeMetaMap = new HashMap<>(128);
|
|
|
for(AppraiseOrderGoods paog : paogs){
|
|
|
Integer prdId;
|
|
|
List<AppraiseOrderStorage> paosList = appraiseOrderStorageMapper.selectAllByOrderCodePrdId(orderCode, prdId=paog.getProductId());
|
|
|
prdIdAOSListMap.put(prdId, paosList);
|
|
|
List<Integer> storageIds = paosList.parallelStream().map(AppraiseOrderStorage::getStorageId).collect(Collectors.toList());
|
|
|
//
|
|
|
AppraiseOrderMeta aomc = new AppraiseOrderMeta();
|
|
|
aomc.setOrderCode(orderCode);
|
|
|
aomc.setMetaKey(MetaKey.SELLER_FEE);
|
|
|
List<AppraiseOrderMeta> paomList = appraiseOrderMetaMapper.selectByOrderCodeStorageIds(aomc, storageIds);
|
|
|
//
|
|
|
storageIdFeeMetaMap.putAll(paomList.parallelStream().collect(Collectors.toMap(AppraiseOrderMeta::getStorageId, Function.identity())));
|
|
|
storageIdSOCRMap.putAll(paomList.parallelStream().collect(Collectors.toMap(AppraiseOrderMeta::getStorageId, socrFunction::apply)));
|
|
|
}
|
|
|
return OrderDataNode.builder().paogs(paogs)
|
|
|
.prdIdAOSListMap(prdIdAOSListMap)
|
|
|
.storageIdFeeMetaMap(storageIdFeeMetaMap)
|
|
|
.storageIdSOCRMap(storageIdSOCRMap)
|
|
|
.build();
|
|
|
}
|
|
|
|
|
|
|
|
|
public PageResp<ProductVo> getSkuList(SellerDepositOrderPrdListReq req){
|
|
|
final Long orderCode = req.getOrderCode();
|
|
|
int total = appraiseOrderGoodsMapper.selectCntByOrderCode(orderCode);
|
|
|
int limit = req.getLimit();
|
|
|
PageResp.PageRespBuilder<ProductVo> respBuilder = PageResp.builder();
|
|
|
respBuilder.page(req.getPage()).pageSize(limit).total(total);
|
|
|
if (total == 0){
|
|
|
return respBuilder.build();
|
|
|
}
|
|
|
int offset = (req.getPage() - 1) * limit;
|
|
|
List<AppraiseOrderGoods> paogs = appraiseOrderGoodsMapper.selectAllByOrderCode(orderCode, offset, limit);
|
|
|
OrderDataNode node = buildDataSourceOfParentOrder(orderCode, paogs);
|
|
|
Map<Integer,List<AppraiseOrderStorage>> prdIdAOSListMap = node.prdIdAOSListMap;
|
|
|
Map<Integer,SellerOrderComputeResult> storageIdSOCRMap = node.storageIdSOCRMap;
|
|
|
|
|
|
List<ProductVo> productVoList = buildProductVoListWithSkuDetail(paogs, prdIdAOSListMap, storageIdSOCRMap);
|
|
|
|
|
|
respBuilder.data(productVoList);
|
|
|
return respBuilder.build();
|
|
|
public PageResp<DepositOrderInStorePrdListResp> getDepositOrderListInStore(SellerDepositOrderPrdListReq req){
|
|
|
return null;
|
|
|
}
|
|
|
|
|
|
List<ProductVo> buildProductVoListWithSkuDetail(List<AppraiseOrderGoods> paogs,
|
|
|
Map<Integer,List<AppraiseOrderStorage>> prdIdAOSListMap,
|
|
|
Map<Integer,SellerOrderComputeResult> storageIdSOCRMap){
|
|
|
|
|
|
|
|
|
|
|
|
Map<Integer,ProductVo> tempProductMap = new HashMap<>(paogs.size());
|
|
|
for(Map.Entry<Integer,List<AppraiseOrderStorage>> prdIdAOSListEntry : prdIdAOSListMap.entrySet()){
|
|
|
Integer prdId = prdIdAOSListEntry.getKey();
|
|
|
List<AppraiseOrderStorage> aosList = prdIdAOSListEntry.getValue();
|
|
|
int sizeNum = aosList.size();
|
|
|
List<GoodsVo> goodsList = new ArrayList<>(sizeNum);
|
|
|
for (AppraiseOrderStorage aos : aosList){
|
|
|
Integer storageId;
|
|
|
SellerOrderComputeResult socr = storageIdSOCRMap.get(storageId=aos.getStorageId());
|
|
|
if (Objects.isNull(socr)){
|
|
|
logger.warn("in buildProductVoListWithSkuDetail ComputeResult null ,AppraiseOrderStorage {}", aos);
|
|
|
continue;
|
|
|
}
|
|
|
Integer storageNum;
|
|
|
BigDecimal emOfSku = socr.getEarnestMoney().getEarnestMoney().multiply(new BigDecimal(storageNum=aos.getNum()));
|
|
|
GoodsVo goodsVo = GoodsVo.builder().sizeName(aos.getSizeName()).num(storageNum)
|
|
|
.earnestMoney(SellerOrderConvertor.formatFee(emOfSku)).build();
|
|
|
goodsList.add(goodsVo);
|
|
|
}
|
|
|
|
|
|
tempProductMap.put(prdId, ProductVo.builder().sizeNum(sizeNum).goodsList(goodsList).build());
|
|
|
}
|
|
|
|
|
|
|
|
|
return paogs.parallelStream().map(paog-> convertProductVo(paog, tempProductMap.get(paog.getProductId())))
|
|
|
.collect(Collectors.toCollection(()->new ArrayList<>(paogs.size())));
|
|
|
}
|
|
|
public void cancel(SellerDepositOrderDetailReq req){
|
|
|
|
|
|
ProductVo convertProductVo(AppraiseOrderGoods paog, ProductVo temp){
|
|
|
ProductVo productVo = ProductVo.builder()
|
|
|
.imgUrl(ImageUrlAssist.getAllProductPicUrl(paog.getImageUrl(), "goodsimg", "center", "d2hpdGU="))
|
|
|
.productName(paog.getProductName())
|
|
|
.productId(paog.getProductId())
|
|
|
.total(paog.getNum()).build();
|
|
|
if (Objects.nonNull(temp)){
|
|
|
productVo.setSizeNum(temp.getSizeNum());
|
|
|
productVo.setGoodsList(temp.getGoodsList());
|
|
|
}
|
|
|
return productVo;
|
|
|
}
|
|
|
|
|
|
|
|
|
public PageResp<DepositOrderInStorePrdListResp> getDepositOrderListInStore(SellerDepositOrderPrdListReq req){
|
|
|
return null;
|
|
|
}
|
|
|
|
|
|
public void deliverToDepot(DeliverToDepotReq req){
|
|
|
@Override
|
|
|
public int deliver2Depot(DeliverToDepotReq req) {
|
|
|
//
|
|
|
Long orderCode = req.getOrderCode();
|
|
|
AppraiseOrderStatus targetStatus = AppraiseOrderStatus.SELLER_SEND_OUT,
|
|
|
expectedStatus = AppraiseOrderStatus.HAS_PAYED;
|
|
|
expectedStatus = AppraiseOrderStatus.HAS_PAYED;
|
|
|
int cdt = DateUtil.getCurrentTimeSecond();
|
|
|
int rows = appraiseOrderMapper.updateStatusByOrderCode(orderCode, targetStatus.getCode(), expectedStatus.getCode(), cdt);
|
|
|
if (rows==0){
|
|
|
logger.warn("appraise order deliverToDepot no need update status, req {}", req);
|
|
|
return;
|
|
|
return 0;
|
|
|
}
|
|
|
orderStatusFlowService.addAsy(orderCode, targetStatus.getCode());
|
|
|
//split sku 2 order
|
|
|
List<AppraiseOrderGoods> paogList = appraiseOrderGoodsMapper.selectByOrderCode(orderCode);
|
|
|
OrderDataNode node = buildDataSourceOfParentOrder(orderCode, paogList);
|
|
|
SellerDepositOrderListService.OrderDataNode node = sellerDepositOrderListService.buildDataSourceOfParentOrder(orderCode, paogList);
|
|
|
Map<Integer,List<AppraiseOrderStorage>> prdIdAOSListMap = node.prdIdAOSListMap;
|
|
|
Map<Integer,SellerOrderComputeResult> storageIdSOCRMap = node.storageIdSOCRMap;
|
|
|
|
...
|
...
|
@@ -482,19 +195,42 @@ public class SellerDepositOrderService extends AbsOrderViewService { |
|
|
|
|
|
|
|
|
//todo add express info
|
|
|
return rows;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 平台收货
|
|
|
* @param orderCode
|
|
|
*/
|
|
|
@Override
|
|
|
public void platformReceiveGoods(long orderCode){
|
|
|
|
|
|
public void cancel(SellerDepositOrderDetailReq req){
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 鉴定通过
|
|
|
* @param orderCode
|
|
|
*/
|
|
|
@Override
|
|
|
public void appraisePass(long orderCode){
|
|
|
|
|
|
}
|
|
|
|
|
|
public Logger getLogger() {
|
|
|
return logger;
|
|
|
/**
|
|
|
* 鉴别为假
|
|
|
* @param orderCode
|
|
|
*/
|
|
|
@Override
|
|
|
public void appraiseFake(long orderCode){
|
|
|
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 无法鉴别
|
|
|
* @param orderCode
|
|
|
*/
|
|
|
@Override
|
|
|
protected String buildOrderTypeTag(Integer orderAttr, SkupType skupType) {
|
|
|
return null;
|
|
|
public void unsure(long orderCode){
|
|
|
|
|
|
}
|
|
|
} |
...
|
...
|
|