提交修改
This commit is contained in:
parent
afb46513ae
commit
f55ccaf182
@ -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);
|
||||
}
|
||||
@ -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);
|
||||
}
|
||||
@ -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);
|
||||
|
||||
|
||||
}
|
||||
@ -20,4 +20,8 @@ public class AppTradeOrderLineResp extends VvTradeOrderLineEntity {
|
||||
*
|
||||
*/
|
||||
private VvPackageEntity vvPackageEntity;
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -94,7 +94,6 @@ public class OrderController {
|
||||
|
||||
|
||||
|
||||
|
||||
// 对订单进行排序,必须按照子单的顺序
|
||||
Map<Long, VvTradeOrderEntity> vvTradeOrderEntityMap = SanUtils.list2Map(tradeOrderEntities, VvTradeOrderEntity::getId);
|
||||
List<VvTradeOrderEntity> vvTradeOrderEntities = new ArrayList<>();
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user