提交修改

This commit is contained in:
quyixiao 2025-08-29 09:18:50 +08:00
parent afb46513ae
commit f55ccaf182
6 changed files with 39 additions and 76 deletions

View File

@ -10,7 +10,7 @@ package com.heyu.api.data.dao.vv;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.heyu.api.data.entity.vv.VvPackageEntity;
import com.lz.mybatis.plugin.annotations.IFNull;
import com.lz.mybatis.plugin.annotations.IFNullReturnEmptyList;
import com.lz.mybatis.plugin.annotations.IN;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -39,5 +39,5 @@ public interface VvPackageDao extends BaseMapper<VvPackageEntity> {
int deleteVvPackageById(@Param("id")Long id);
List<VvPackageEntity> selectVvPackageByTrackNumbers(@IFNull @IN List<String> trackNumber);
List<VvPackageEntity> selectVvPackageByTrackNumbers(@IFNullReturnEmptyList @IN List<String> trackNumber);
}

View File

@ -66,5 +66,7 @@ public interface VvTradeOrderDao extends BaseMapper<VvTradeOrderEntity> {
void updateByBuerIdAndIds(String status,@By Long buyerId,@By List<Long> ids);
List<VvTradeOrderEntity> selectVvTradeOrderByTradeOrderIds(@IN List<Long> id);
}

View File

@ -113,4 +113,21 @@ public interface VvTradeOrderLineDao extends BaseMapper<VvTradeOrderLineEntity>
@IF @OrderBy(VvTradeOrderLineEntity.create_timestamp) String createTimestampSort);
@OrderBy(VvTradeOrderLineEntity.id_)
@GroupBy(VvTradeOrderLineEntity.trade_order_id)
List<VvTradeOrderLineEntity> selectByAppCondition(IPage page,
@IF @IN List<Long> tradeOrderIds,
@IF String status,
@IF @GE @Column(VvTradeOrderLineEntity.create_timestamp) Long minCreateTimestamp,
@IF @LE @Column(VvTradeOrderLineEntity.create_timestamp) Long maxCreateTimestamp,
@IF @LIKE String productName,
@IF Long buyerId,
@IF String reverseStatus,
@IF @OrderBy(VvTradeOrderLineEntity.create_timestamp) String createTimestampSort);
}

View File

@ -20,4 +20,8 @@ public class AppTradeOrderLineResp extends VvTradeOrderLineEntity {
*
*/
private VvPackageEntity vvPackageEntity;
}

View File

@ -94,7 +94,6 @@ public class OrderController {
// 对订单进行排序必须按照子单的顺序
Map<Long, VvTradeOrderEntity> vvTradeOrderEntityMap = SanUtils.list2Map(tradeOrderEntities, VvTradeOrderEntity::getId);
List<VvTradeOrderEntity> vvTradeOrderEntities = new ArrayList<>();

View File

@ -7,16 +7,14 @@ import com.heyu.api.alibaba.request.mm.enums.OrderStatusEnums;
import com.heyu.api.alibaba.request.mm.order.AppDeliveredDTO;
import com.heyu.api.alibaba.request.mm.order.resp.*;
import com.heyu.api.alibaba.request.vv.AppOrderRequest;
import com.heyu.api.data.utils.SanUtils;
import com.heyu.api.data.dao.vv.*;
import com.heyu.api.data.entity.vv.*;
import com.heyu.api.data.utils.BigDecimalUtil;
import com.heyu.api.data.utils.R;
import com.heyu.api.data.utils.StringUtils;
import com.heyu.api.data.utils.SanUtils;
import com.heyu.api.utils.ISelect;
import com.heyu.api.utils.PPageUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
@ -71,20 +69,12 @@ public class AppOrderController {
.doSelect(new ISelect() {
@Override
public List doSelect(IPage page) {
return vvTradeOrderLineDao.selectByAdminCondition(page,
return vvTradeOrderLineDao.selectByAppCondition(page,
vvOrderRequest.getTradeOrderIds(),
null,
null,
null,
null,
null,
vvOrderRequest.getStatus(),
null,
vvOrderRequest.getMinCreateTimestamp(),
vvOrderRequest.getMaxCreateTimestamp(),
vvOrderRequest.getProductName(),
null,
null,
vvOrderRequest.getBuyerId(),
vvOrderRequest.getReverseStatus(),
vvOrderRequest.getCreateTimestampSort()
@ -95,7 +85,6 @@ public class AppOrderController {
// 获取子单
List<VvTradeOrderLineEntity> vvTradeOrderLineEntities = pageUtils.getRows();
// 获取订单
List<Long> tradeOrderIds = SanUtils.list2listFilterNull(vvTradeOrderLineEntities, VvTradeOrderLineEntity::getTradeOrderId);
@ -105,76 +94,28 @@ public class AppOrderController {
Map<Long, VvTradeOrderEntity> vvTradeOrderEntityMap = SanUtils.list2Map(tradeOrderEntities, VvTradeOrderEntity::getId);
SanUtils.setNull(vvTradeOrderLineEntities,
VvTradeOrderLineEntity::getProfitAmount,
VvTradeOrderLineEntity::getModifyTime,
VvTradeOrderLineEntity::getIsDelete,
VvTradeOrderLineEntity::getCreateTime
);
List<String> trackNumbers = SanUtils.list2listFilterNull(vvTradeOrderLineEntities, VvTradeOrderLineEntity::getTrackNumber);
Map<String, VvPackageEntity> vvPackageEntityMap = new HashMap<>();
List<VvPackageEntity> packageEntities = vvPackageDao.selectVvPackageByTrackNumbers(trackNumbers);
if (CollectionUtils.isNotEmpty(trackNumbers)) {
List<VvPackageEntity> packageEntities = vvPackageDao.selectVvPackageByTrackNumbers(trackNumbers);
vvPackageEntityMap = SanUtils.list2Map(packageEntities, VvPackageEntity::getTrackNumber);
}
Map<String, VvPackageEntity> vvPackageEntityMap = SanUtils.list2Map(packageEntities, VvPackageEntity::getTrackNumber);
List<VVOrderListResp> vvOrderListResps = new ArrayList<>();
List<AppTradeOrderLineResp> vvOrderListResps = new ArrayList<>();
for (VvTradeOrderLineEntity vvTradeOrderLineEntity : vvTradeOrderLineEntities) {
AppTradeOrderLineResp appTradeOrderLineResp = new AppTradeOrderLineResp();
BeanUtils.copyProperties(vvTradeOrderLineEntity, appTradeOrderLineResp);
VvPackageEntity packageDTO = vvPackageEntityMap.get(vvTradeOrderLineEntity.getTrackNumber());
for (VvTradeOrderEntity vvTradeOrderEntity : vvTradeOrderEntities) {
VVOrderListResp vvOrderListResp = new VVOrderListResp();
BeanUtils.copyProperties(vvTradeOrderEntity, vvOrderListResp);
List<VvTradeOrderLineEntity> vvTradeOrderLineEntityList = new ArrayList<>();
VvTradeOrderEntity vvTradeOrderEntity = vvTradeOrderEntityMap.get(vvTradeOrderLineEntity.getTradeOrderId());
for (VvTradeOrderLineEntity tradeOrderLineEntity : vvTradeOrderLineEntities) {
if (vvTradeOrderEntity.getId().equals(tradeOrderLineEntity.getTradeOrderId())) {
vvTradeOrderLineEntityList.add(tradeOrderLineEntity);
}
}
/***
* 订单行信息
*/
List<VvTradeOrderLineEntity> vvTradeOrderLineList = new ArrayList<>();
Map<String, PackageDTO> packageDTOMap = new HashMap();
appTradeOrderLineResp.setVvPackageEntity(packageDTO);
appTradeOrderLineResp.setTradeOrderEntity(vvTradeOrderEntity);
for (VvTradeOrderLineEntity tradeOrderLineEntity : vvTradeOrderLineEntityList) {
if (StringUtils.isNotBlank(tradeOrderLineEntity.getTrackNumber())) {
PackageDTO packageDTO = packageDTOMap.get(tradeOrderLineEntity.getTrackNumber());
if (packageDTO == null) {
VvPackageEntity vvPackage = vvPackageEntityMap.get(tradeOrderLineEntity.getTrackNumber());
packageDTO = new PackageDTO();
BeanUtils.copyProperties(vvPackage, packageDTO);
}
List<VvTradeOrderLineEntity> vvTradeOrderLineEntitys = packageDTO.getVvTradeOrderLineEntityList();
if (vvTradeOrderLineEntitys == null) {
vvTradeOrderLineEntitys = new ArrayList<>();
}
vvTradeOrderLineEntitys.add(tradeOrderLineEntity);
packageDTO.setVvTradeOrderLineEntityList(vvTradeOrderLineEntitys);
packageDTOMap.put(tradeOrderLineEntity.getTrackNumber(), packageDTO);
} else {
vvTradeOrderLineList.add(tradeOrderLineEntity);
}
}
List<PackageDTO> packageList = new ArrayList<>();
for (Map.Entry<String, PackageDTO> entry : packageDTOMap.entrySet()) {
packageList.add(entry.getValue());
}
vvOrderListResp.setVvTradeOrderLineList(vvTradeOrderLineList);
vvOrderListResp.setPackageList(packageList);
vvOrderListResps.add(vvOrderListResp);
vvOrderListResps.add(appTradeOrderLineResp);
}
return R.ok().setData(vvOrderListResps);
}