提交修改

This commit is contained in:
quyixiao 2025-11-16 00:17:53 +08:00
parent 02140012bb
commit 829db74798
7 changed files with 28 additions and 107 deletions

View File

@ -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,

View File

@ -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;
}

View File

@ -16,9 +16,4 @@ public class VvTradeOrderLineDO extends VvTradeOrderLineEntity {
private List<Long> mergeIdList ;
/***
* 数据合并
*/
private List<BigDecimal> mergeSalePriceList ;
}

View File

@ -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);
}

View File

@ -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;
}
}

View File

@ -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);

View File

@ -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);
}
/***