提交修改
This commit is contained in:
parent
02140012bb
commit
829db74798
@ -152,7 +152,6 @@ public interface VvTradeOrderLineDao extends BaseMapper<VvTradeOrderLineEntity>
|
|||||||
|
|
||||||
|
|
||||||
@OrderBy(VvTradeOrderLineEntity.id_)
|
@OrderBy(VvTradeOrderLineEntity.id_)
|
||||||
@GroupBy(VvTradeOrderLineEntity.trade_order_id)
|
|
||||||
@ExludeColumn({
|
@ExludeColumn({
|
||||||
VvTradeOrderLineEntity.profit_amount,
|
VvTradeOrderLineEntity.profit_amount,
|
||||||
VvTradeOrderLineEntity.settle_status,
|
VvTradeOrderLineEntity.settle_status,
|
||||||
|
|||||||
@ -4,25 +4,19 @@ import com.heyu.api.data.entity.vv.VvPackageEntity;
|
|||||||
import com.heyu.api.data.entity.vv.VvTradeOrderEntity;
|
import com.heyu.api.data.entity.vv.VvTradeOrderEntity;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public class AppPackageDTO extends VvPackageEntity {
|
public class AppPackageDTO extends VvPackageEntity {
|
||||||
|
|
||||||
/***
|
private List<VvTradeOrderLineDO> vvTradeOrderLineDOList = new ArrayList<>();
|
||||||
* 子单信息
|
|
||||||
*/
|
|
||||||
private List<VvTradeOrderLineDO> vvTradeOrderLineDOList;
|
|
||||||
|
|
||||||
/***
|
|
||||||
* 操作相关的信息
|
|
||||||
*/
|
|
||||||
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<Long> mergeIdList ;
|
||||||
|
|
||||||
|
|
||||||
/***
|
|
||||||
* 数据合并
|
|
||||||
*/
|
|
||||||
private List<BigDecimal> mergeSalePriceList ;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,16 +1,13 @@
|
|||||||
package com.heyu.api.service;
|
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.alibaba.request.mm.order.resp.VVOrderListResp;
|
||||||
import com.heyu.api.data.entity.vv.VvTradeOrderEntity;
|
import com.heyu.api.data.entity.vv.VvTradeOrderEntity;
|
||||||
import com.heyu.api.data.entity.vv.VvTradeOrderLineEntity;
|
import com.heyu.api.data.entity.vv.VvTradeOrderLineEntity;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
public interface VvTradeOrderConvertService {
|
public interface VvTradeOrderConvertService {
|
||||||
List<VVOrderListResp> convertTradeOrderLineResp(List<VvTradeOrderEntity> vvTradeOrderEntities,
|
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;
|
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.AdminPackageDTO;
|
||||||
import com.heyu.api.alibaba.request.mm.order.resp.OrderActionDTO;
|
import com.heyu.api.alibaba.request.mm.order.resp.OrderActionDTO;
|
||||||
import com.heyu.api.alibaba.request.mm.order.resp.VVOrderListResp;
|
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.VvTradeOrderEntity;
|
||||||
import com.heyu.api.data.entity.vv.VvTradeOrderLineEntity;
|
import com.heyu.api.data.entity.vv.VvTradeOrderLineEntity;
|
||||||
import com.heyu.api.data.utils.SanUtils;
|
import com.heyu.api.data.utils.SanUtils;
|
||||||
import com.heyu.api.data.utils.StringUtils;
|
|
||||||
import com.heyu.api.service.VvTradeOrderConvertService;
|
import com.heyu.api.service.VvTradeOrderConvertService;
|
||||||
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
public class VvTradeOrderConvertServiceImpl implements VvTradeOrderConvertService {
|
public class VvTradeOrderConvertServiceImpl implements VvTradeOrderConvertService {
|
||||||
@ -27,7 +27,7 @@ public class VvTradeOrderConvertServiceImpl implements VvTradeOrderConvertServic
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<VVOrderListResp> convertTradeOrderLineResp(List<VvTradeOrderEntity> vvTradeOrderEntities,
|
public List<VVOrderListResp> convertTradeOrderLineResp(List<VvTradeOrderEntity> vvTradeOrderEntities,
|
||||||
List<VvTradeOrderLineEntity> list) {
|
List<VvTradeOrderLineEntity> list,boolean isApp) {
|
||||||
List<String> trackNumbers = SanUtils.list2listFilterNull(list, VvTradeOrderLineEntity::getTrackNumber);
|
List<String> trackNumbers = SanUtils.list2listFilterNull(list, VvTradeOrderLineEntity::getTrackNumber);
|
||||||
List<VvPackageEntity> packageEntities = vvPackageDao.selectVvPackageByTrackNumbers(trackNumbers);
|
List<VvPackageEntity> packageEntities = vvPackageDao.selectVvPackageByTrackNumbers(trackNumbers);
|
||||||
Map<String, VvPackageEntity> vvPackageEntityMap = SanUtils.list2Map(packageEntities, VvPackageEntity::getTrackNumber);
|
Map<String, VvPackageEntity> vvPackageEntityMap = SanUtils.list2Map(packageEntities, VvPackageEntity::getTrackNumber);
|
||||||
@ -64,9 +64,8 @@ public class VvTradeOrderConvertServiceImpl implements VvTradeOrderConvertServic
|
|||||||
if(vvPackage != null){
|
if(vvPackage != null){
|
||||||
BeanUtils.copyProperties(vvPackage,adminPackageDTO);
|
BeanUtils.copyProperties(vvPackage,adminPackageDTO);
|
||||||
}
|
}
|
||||||
|
|
||||||
adminPackageDTO.setVvTradeOrderLineDOList(mergeTradeOrderLine);
|
adminPackageDTO.setVvTradeOrderLineDOList(mergeTradeOrderLine);
|
||||||
List<OrderActionDTO> orderActionList = AbstractAction.getOrderActionDTO(mergeTradeOrderLine.get(0), false);
|
List<OrderActionDTO> orderActionList = AbstractAction.getOrderActionDTO(mergeTradeOrderLine.get(0), isApp);
|
||||||
adminPackageDTO.setOrderActionList(orderActionList);
|
adminPackageDTO.setOrderActionList(orderActionList);
|
||||||
packageList.add(adminPackageDTO);
|
packageList.add(adminPackageDTO);
|
||||||
|
|
||||||
@ -77,31 +76,4 @@ public class VvTradeOrderConvertServiceImpl implements VvTradeOrderConvertServic
|
|||||||
return vvOrderListResps;
|
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()
|
vvOrderRequest.getModifyTimestampSort()
|
||||||
);
|
);
|
||||||
|
|
||||||
List<VVOrderListResp> vvOrderListResps = vvTradeOrderConvertService.convertTradeOrderLineResp(tradeOrderEntities, list);
|
List<VVOrderListResp> vvOrderListResps = vvTradeOrderConvertService.convertTradeOrderLineResp(tradeOrderEntities, list,false);
|
||||||
|
|
||||||
return R.ok().setData(vvOrderListResps);
|
return R.ok().setData(vvOrderListResps);
|
||||||
}
|
}
|
||||||
@ -181,7 +181,7 @@ public class AdminOrderController {
|
|||||||
|
|
||||||
List<VvTradeOrderEntity> vvTradeOrderEntities = SanUtils.asList(vvTradeOrderEntity);
|
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 vvOrderDetailResp = new VVOrderDetailResp();
|
||||||
vvOrderDetailResp.setVvTradeOrderEntity(vvTradeOrderEntity);
|
vvOrderDetailResp.setVvTradeOrderEntity(vvTradeOrderEntity);
|
||||||
|
|||||||
@ -5,7 +5,6 @@ import com.alibaba.fastjson.JSON;
|
|||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.heyu.api.alibaba.request.mm.order.AppCloseDTO;
|
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.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.mm.order.resp.*;
|
||||||
import com.heyu.api.alibaba.request.vv.AppOrderRequest;
|
import com.heyu.api.alibaba.request.vv.AppOrderRequest;
|
||||||
import com.heyu.api.common.annotation.Describe;
|
import com.heyu.api.common.annotation.Describe;
|
||||||
@ -26,6 +25,7 @@ import com.heyu.api.utils.PPageUtils;
|
|||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.amqp.core.MessageDeliveryMode;
|
import org.springframework.amqp.core.MessageDeliveryMode;
|
||||||
import org.springframework.amqp.rabbit.core.RabbitTemplate;
|
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.Autowired;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
@ -127,8 +127,6 @@ public class AppOrderController {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
// 获取子单
|
// 获取子单
|
||||||
List<VvTradeOrderLineEntity> vvTradeOrderLineEntitiesGroupByTradeOrderId = pageUtils.getRows();
|
List<VvTradeOrderLineEntity> vvTradeOrderLineEntitiesGroupByTradeOrderId = pageUtils.getRows();
|
||||||
// 获取订单
|
// 获取订单
|
||||||
@ -137,60 +135,26 @@ public class AppOrderController {
|
|||||||
List<VvTradeOrderEntity> tradeOrderEntities = vvTradeOrderDao.selectVvTradeOrderByTradeOrderIds(tradeOrderIds);
|
List<VvTradeOrderEntity> tradeOrderEntities = vvTradeOrderDao.selectVvTradeOrderByTradeOrderIds(tradeOrderIds);
|
||||||
// 拿到所有的子订单
|
// 拿到所有的子订单
|
||||||
List<VvTradeOrderLineEntity> vvTradeOrderLineEntities = vvTradeOrderLineDao.selectAppTradeOrderByTradeOrderIds(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<>();
|
appPackageDTO.setVvTradeOrderLineDOList(adminPackageDTO.getVvTradeOrderLineDOList());
|
||||||
for (Long tradeOrderId : tradeOrderIds) {
|
appPackageDTO.setOrderActionList(adminPackageDTO.getOrderActionList());
|
||||||
Map<String, VvTradeOrderLineTrackNumberDTO> stringVvTradeOrderLineTrackNumberDTOMap = groupBytraderOrderIdSkuId.get(tradeOrderId);
|
appPackageDTO.setTradeOrderEntity(vvTradeOrderEntity);
|
||||||
VvTradeOrderEntity vvTradeOrderEntity = vvTradeOrderEntityMap.get(tradeOrderId);
|
|
||||||
|
|
||||||
|
appPackageDTOList.add(appPackageDTO);
|
||||||
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());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
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