提交修改
This commit is contained in:
parent
02140012bb
commit
829db74798
@ -152,7 +152,6 @@ public interface VvTradeOrderLineDao extends BaseMapper<VvTradeOrderLineEntity>
|
||||
|
||||
|
||||
@OrderBy(VvTradeOrderLineEntity.id_)
|
||||
@GroupBy(VvTradeOrderLineEntity.trade_order_id)
|
||||
@ExludeColumn({
|
||||
VvTradeOrderLineEntity.profit_amount,
|
||||
VvTradeOrderLineEntity.settle_status,
|
||||
|
||||
@ -4,25 +4,19 @@ import com.heyu.api.data.entity.vv.VvPackageEntity;
|
||||
import com.heyu.api.data.entity.vv.VvTradeOrderEntity;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@Data
|
||||
public class AppPackageDTO extends VvPackageEntity {
|
||||
|
||||
/***
|
||||
* 子单信息
|
||||
*/
|
||||
private List<VvTradeOrderLineDO> vvTradeOrderLineDOList;
|
||||
private List<VvTradeOrderLineDO> vvTradeOrderLineDOList = new ArrayList<>();
|
||||
|
||||
/***
|
||||
* 操作相关的信息
|
||||
*/
|
||||
private List<OrderActionDTO> orderActionList;
|
||||
/***
|
||||
* 订单信息
|
||||
*/
|
||||
private VvTradeOrderEntity vvTradeOrderEntity;
|
||||
|
||||
private List<OrderActionDTO> orderActionList;
|
||||
|
||||
|
||||
private VvTradeOrderEntity tradeOrderEntity;
|
||||
|
||||
}
|
||||
|
||||
@ -16,9 +16,4 @@ public class VvTradeOrderLineDO extends VvTradeOrderLineEntity {
|
||||
private List<Long> mergeIdList ;
|
||||
|
||||
|
||||
/***
|
||||
* 数据合并
|
||||
*/
|
||||
private List<BigDecimal> mergeSalePriceList ;
|
||||
|
||||
}
|
||||
|
||||
@ -1,16 +1,13 @@
|
||||
package com.heyu.api.service;
|
||||
|
||||
import com.heyu.api.alibaba.request.mm.order.VvTradeOrderLineTrackNumberDTO;
|
||||
import com.heyu.api.alibaba.request.mm.order.resp.VVOrderListResp;
|
||||
import com.heyu.api.data.entity.vv.VvTradeOrderEntity;
|
||||
import com.heyu.api.data.entity.vv.VvTradeOrderLineEntity;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public interface VvTradeOrderConvertService {
|
||||
List<VVOrderListResp> convertTradeOrderLineResp(List<VvTradeOrderEntity> vvTradeOrderEntities,
|
||||
List<VvTradeOrderLineEntity> list) ;
|
||||
List<VvTradeOrderLineEntity> list,boolean isApp) ;
|
||||
|
||||
Map<Long, Map<String, VvTradeOrderLineTrackNumberDTO>> groupBytraderOrderIdSkuId(List<VvTradeOrderLineEntity> vvTradeOrderLineEntities);
|
||||
}
|
||||
|
||||
@ -1,6 +1,5 @@
|
||||
package com.heyu.api.service.impl;
|
||||
|
||||
import com.heyu.api.alibaba.request.mm.order.VvTradeOrderLineTrackNumberDTO;
|
||||
import com.heyu.api.alibaba.request.mm.order.resp.AdminPackageDTO;
|
||||
import com.heyu.api.alibaba.request.mm.order.resp.OrderActionDTO;
|
||||
import com.heyu.api.alibaba.request.mm.order.resp.VVOrderListResp;
|
||||
@ -10,13 +9,14 @@ import com.heyu.api.data.entity.vv.VvPackageEntity;
|
||||
import com.heyu.api.data.entity.vv.VvTradeOrderEntity;
|
||||
import com.heyu.api.data.entity.vv.VvTradeOrderLineEntity;
|
||||
import com.heyu.api.data.utils.SanUtils;
|
||||
import com.heyu.api.data.utils.StringUtils;
|
||||
import com.heyu.api.service.VvTradeOrderConvertService;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@Service
|
||||
public class VvTradeOrderConvertServiceImpl implements VvTradeOrderConvertService {
|
||||
@ -27,7 +27,7 @@ public class VvTradeOrderConvertServiceImpl implements VvTradeOrderConvertServic
|
||||
|
||||
@Override
|
||||
public List<VVOrderListResp> convertTradeOrderLineResp(List<VvTradeOrderEntity> vvTradeOrderEntities,
|
||||
List<VvTradeOrderLineEntity> list) {
|
||||
List<VvTradeOrderLineEntity> list,boolean isApp) {
|
||||
List<String> trackNumbers = SanUtils.list2listFilterNull(list, VvTradeOrderLineEntity::getTrackNumber);
|
||||
List<VvPackageEntity> packageEntities = vvPackageDao.selectVvPackageByTrackNumbers(trackNumbers);
|
||||
Map<String, VvPackageEntity> vvPackageEntityMap = SanUtils.list2Map(packageEntities, VvPackageEntity::getTrackNumber);
|
||||
@ -64,9 +64,8 @@ public class VvTradeOrderConvertServiceImpl implements VvTradeOrderConvertServic
|
||||
if(vvPackage != null){
|
||||
BeanUtils.copyProperties(vvPackage,adminPackageDTO);
|
||||
}
|
||||
|
||||
adminPackageDTO.setVvTradeOrderLineDOList(mergeTradeOrderLine);
|
||||
List<OrderActionDTO> orderActionList = AbstractAction.getOrderActionDTO(mergeTradeOrderLine.get(0), false);
|
||||
List<OrderActionDTO> orderActionList = AbstractAction.getOrderActionDTO(mergeTradeOrderLine.get(0), isApp);
|
||||
adminPackageDTO.setOrderActionList(orderActionList);
|
||||
packageList.add(adminPackageDTO);
|
||||
|
||||
@ -77,31 +76,4 @@ public class VvTradeOrderConvertServiceImpl implements VvTradeOrderConvertServic
|
||||
return vvOrderListResps;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<Long, Map<String, VvTradeOrderLineTrackNumberDTO>> groupBytraderOrderIdSkuId(List<VvTradeOrderLineEntity> vvTradeOrderLineEntities) {
|
||||
// 如果有tracknumber ,则以 trader_order_id_sku_id 分组, 如果有trackNumber ,则以 trader_order_id_track_number_sku_id 分组
|
||||
Map<Long, Map<String, VvTradeOrderLineTrackNumberDTO>> groupBytrader_order_id_sku_id = new LinkedHashMap<>();
|
||||
for (VvTradeOrderLineEntity vvTradeOrderLineEntity : vvTradeOrderLineEntities) {
|
||||
Long tradeOrderId = vvTradeOrderLineEntity.getTradeOrderId();
|
||||
Map<String, VvTradeOrderLineTrackNumberDTO> groupByTradeOrderIdTrackNumberSkudIdMap = groupBytrader_order_id_sku_id.get(tradeOrderId);
|
||||
if (groupByTradeOrderIdTrackNumberSkudIdMap == null) {
|
||||
groupByTradeOrderIdTrackNumberSkudIdMap = new HashMap<>();
|
||||
}
|
||||
String key = tradeOrderId + "_" + vvTradeOrderLineEntity.getSkuId();
|
||||
|
||||
if (StringUtils.isNotEmpty(vvTradeOrderLineEntity.getTrackNumber())) {
|
||||
key = tradeOrderId + "_" + vvTradeOrderLineEntity.getTrackNumber() + "_" + vvTradeOrderLineEntity.getSkuId();
|
||||
}
|
||||
|
||||
VvTradeOrderLineTrackNumberDTO vvTradeOrderLineTrackNumberDTO = groupByTradeOrderIdTrackNumberSkudIdMap.get(key);
|
||||
if (vvTradeOrderLineTrackNumberDTO == null) {
|
||||
vvTradeOrderLineTrackNumberDTO = new VvTradeOrderLineTrackNumberDTO();
|
||||
}
|
||||
vvTradeOrderLineTrackNumberDTO.getVvTradeOrderLineEntities().add(vvTradeOrderLineEntity);
|
||||
vvTradeOrderLineTrackNumberDTO.setTrackNumber(vvTradeOrderLineEntity.getTrackNumber());
|
||||
groupByTradeOrderIdTrackNumberSkudIdMap.put(key, vvTradeOrderLineTrackNumberDTO);
|
||||
groupBytrader_order_id_sku_id.put(tradeOrderId, groupByTradeOrderIdTrackNumberSkudIdMap);
|
||||
}
|
||||
return groupBytrader_order_id_sku_id;
|
||||
}
|
||||
}
|
||||
|
||||
@ -162,7 +162,7 @@ public class AdminOrderController {
|
||||
vvOrderRequest.getModifyTimestampSort()
|
||||
);
|
||||
|
||||
List<VVOrderListResp> vvOrderListResps = vvTradeOrderConvertService.convertTradeOrderLineResp(tradeOrderEntities, list);
|
||||
List<VVOrderListResp> vvOrderListResps = vvTradeOrderConvertService.convertTradeOrderLineResp(tradeOrderEntities, list,false);
|
||||
|
||||
return R.ok().setData(vvOrderListResps);
|
||||
}
|
||||
@ -181,7 +181,7 @@ public class AdminOrderController {
|
||||
|
||||
List<VvTradeOrderEntity> vvTradeOrderEntities = SanUtils.asList(vvTradeOrderEntity);
|
||||
|
||||
List<VVOrderListResp> vvOrderListResps = vvTradeOrderConvertService.convertTradeOrderLineResp(vvTradeOrderEntities, vvTradeOrderLineEntityList);
|
||||
List<VVOrderListResp> vvOrderListResps = vvTradeOrderConvertService.convertTradeOrderLineResp(vvTradeOrderEntities, vvTradeOrderLineEntityList,false);
|
||||
|
||||
VVOrderDetailResp vvOrderDetailResp = new VVOrderDetailResp();
|
||||
vvOrderDetailResp.setVvTradeOrderEntity(vvTradeOrderEntity);
|
||||
|
||||
@ -5,7 +5,6 @@ import com.alibaba.fastjson.JSON;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.heyu.api.alibaba.request.mm.order.AppCloseDTO;
|
||||
import com.heyu.api.alibaba.request.mm.order.AppDeliveredDTO;
|
||||
import com.heyu.api.alibaba.request.mm.order.VvTradeOrderLineTrackNumberDTO;
|
||||
import com.heyu.api.alibaba.request.mm.order.resp.*;
|
||||
import com.heyu.api.alibaba.request.vv.AppOrderRequest;
|
||||
import com.heyu.api.common.annotation.Describe;
|
||||
@ -26,6 +25,7 @@ import com.heyu.api.utils.PPageUtils;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.amqp.core.MessageDeliveryMode;
|
||||
import org.springframework.amqp.rabbit.core.RabbitTemplate;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
@ -127,8 +127,6 @@ public class AppOrderController {
|
||||
);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
// 获取子单
|
||||
List<VvTradeOrderLineEntity> vvTradeOrderLineEntitiesGroupByTradeOrderId = pageUtils.getRows();
|
||||
// 获取订单
|
||||
@ -137,60 +135,26 @@ public class AppOrderController {
|
||||
List<VvTradeOrderEntity> tradeOrderEntities = vvTradeOrderDao.selectVvTradeOrderByTradeOrderIds(tradeOrderIds);
|
||||
// 拿到所有的子订单
|
||||
List<VvTradeOrderLineEntity> vvTradeOrderLineEntities = vvTradeOrderLineDao.selectAppTradeOrderByTradeOrderIds(tradeOrderIds);
|
||||
// 对订单进行排序,必须按照子单的顺序
|
||||
Map<Long, VvTradeOrderEntity> vvTradeOrderEntityMap = SanUtils.list2Map(tradeOrderEntities, VvTradeOrderEntity::getId);
|
||||
// 拿到所有的trackNumbers
|
||||
List<String> trackNumbers = SanUtils.list2listFilterNull(vvTradeOrderLineEntities, VvTradeOrderLineEntity::getTrackNumber);
|
||||
List<VvPackageEntity> packageEntities = vvPackageDao.selectVvPackageByTrackNumbers(trackNumbers);
|
||||
|
||||
Map<String, VvPackageEntity> vvPackageEntityMap = SanUtils.list2Map(packageEntities, VvPackageEntity::getTrackNumber);
|
||||
List<VVOrderListResp> vvOrderListResps = vvTradeOrderConvertService.convertTradeOrderLineResp(tradeOrderEntities, vvTradeOrderLineEntities, true);
|
||||
List<AppPackageDTO> appPackageDTOList = new ArrayList<>();
|
||||
for (VVOrderListResp vvOrderListResp : vvOrderListResps) {
|
||||
VvTradeOrderEntity vvTradeOrderEntity = new VvTradeOrderEntity();
|
||||
BeanUtils.copyProperties(vvOrderListResp, vvTradeOrderEntity);
|
||||
|
||||
Map<Long, Map<String, VvTradeOrderLineTrackNumberDTO>> groupBytraderOrderIdSkuId = vvTradeOrderConvertService.groupBytraderOrderIdSkuId(vvTradeOrderLineEntities);
|
||||
if (CollectionUtils.isNotEmpty(vvOrderListResp.getPackageList())) {
|
||||
for (AdminPackageDTO adminPackageDTO : vvOrderListResp.getPackageList()) {
|
||||
AppPackageDTO appPackageDTO = new AppPackageDTO();
|
||||
|
||||
List<AppTradeOrderPackageDTO> appTradeOrderPackageDTOList = new ArrayList<>();
|
||||
for (Long tradeOrderId : tradeOrderIds) {
|
||||
Map<String, VvTradeOrderLineTrackNumberDTO> stringVvTradeOrderLineTrackNumberDTOMap = groupBytraderOrderIdSkuId.get(tradeOrderId);
|
||||
VvTradeOrderEntity vvTradeOrderEntity = vvTradeOrderEntityMap.get(tradeOrderId);
|
||||
appPackageDTO.setVvTradeOrderLineDOList(adminPackageDTO.getVvTradeOrderLineDOList());
|
||||
appPackageDTO.setOrderActionList(adminPackageDTO.getOrderActionList());
|
||||
appPackageDTO.setTradeOrderEntity(vvTradeOrderEntity);
|
||||
|
||||
|
||||
for (Map.Entry<String, VvTradeOrderLineTrackNumberDTO> mapEntry : stringVvTradeOrderLineTrackNumberDTOMap.entrySet()) {
|
||||
AppTradeOrderPackageDTO appTradeOrderPackageDTO = new AppTradeOrderPackageDTO();
|
||||
VvTradeOrderLineTrackNumberDTO vvTradeOrderLineTrackNumberDTO = mapEntry.getValue();
|
||||
List<VvTradeOrderLineEntity> vvTradeOrderLineEntityList = vvTradeOrderLineTrackNumberDTO.getVvTradeOrderLineEntities();
|
||||
List<Long> tradeOrderLineIdList = SanUtils.getFieldList(vvTradeOrderLineEntityList, VvTradeOrderLineEntity::getId);
|
||||
VvPackageEntity packageDTO = null;
|
||||
|
||||
VvTradeOrderLineEntity vvTradeOrderLine = SanUtils.merge(vvTradeOrderLineEntityList,
|
||||
VvTradeOrderLineEntity::getSalePrice,
|
||||
VvTradeOrderLineEntity::getPromotionPrice,
|
||||
VvTradeOrderLineEntity::getNum
|
||||
);
|
||||
|
||||
List<AppTradeOrderLineDTO> appTradeOrderLineDTOList = new ArrayList<>();
|
||||
|
||||
// for (VvTradeOrderLineEntity vvTradeOrderLine : vvTradeOrderLineEntityList) {
|
||||
// AppTradeOrderLineDTO appTradeOrderLineResp = new AppTradeOrderLineDTO();
|
||||
// BeanUtils.copyProperties(vvTradeOrderLine, appTradeOrderLineResp);
|
||||
// appTradeOrderLineResp.setTradeOrderLineIdList(tradeOrderLineIdList);
|
||||
// appTradeOrderLineDTOList.add(appTradeOrderLineResp);
|
||||
// }
|
||||
|
||||
// 如果有tracknumber ,则以 trader_order_id_sku_id 分组, 如果有trackNumber ,则以 trader_order_id_track_number_sku_id 分组
|
||||
if (StringUtils.isNotEmpty(vvTradeOrderLineTrackNumberDTO.getTrackNumber())) {
|
||||
packageDTO = vvPackageEntityMap.get(vvTradeOrderLineTrackNumberDTO.getTrackNumber());
|
||||
appPackageDTOList.add(appPackageDTO);
|
||||
}
|
||||
|
||||
appTradeOrderPackageDTO.setAppTradeOrderLineDTOList(appTradeOrderLineDTOList);
|
||||
|
||||
appTradeOrderPackageDTO.setVvPackageEntity(packageDTO);
|
||||
|
||||
appTradeOrderPackageDTO.setTradeOrderEntity(vvTradeOrderEntity);
|
||||
|
||||
appTradeOrderPackageDTOList.add(appTradeOrderPackageDTO);
|
||||
}
|
||||
|
||||
}
|
||||
return R.ok().setData(appTradeOrderPackageDTOList);
|
||||
return R.ok().setData(appPackageDTOList);
|
||||
}
|
||||
|
||||
/***
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user