提交修改

This commit is contained in:
quyixiao 2025-08-27 00:09:20 +08:00
parent 0d66330a49
commit bd8569770f
12 changed files with 571 additions and 78 deletions

View File

@ -0,0 +1,13 @@
package com.heyu.api.common;
import java.io.Serializable;
@FunctionalInterface
public interface LBiFunction0<T1,R> extends Serializable {
R apply(T1 t1);
}

View File

@ -0,0 +1,201 @@
package com.heyu.api.common;
import com.alibaba.fastjson.JSON;
import com.heyu.api.common.test.AriseUser;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.ClassUtils;
import java.lang.invoke.SerializedLambda;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Slf4j
public class SanUtils {
public static <T, R, V> Map<R, V> list2Map(List<V> values, LBiFunction0<T, R> function) {
try {
if (CollectionUtils.isEmpty(values)) {
return new HashMap<>();
}
Map<R, V> map = new HashMap<>();
Method method = getMethod(function);
for (V value : values) {
map.put((R) method.invoke(value), value);
}
return map;
} catch (Exception e) {
e.printStackTrace();
}
return new HashMap<>();
}
public static <T, R, V> List<R> list2listFilterNull(List<V> values, LBiFunction0<T, R> function) {
List<R> list = list2list(values, function);
List<R> result = new ArrayList<>();
if(CollectionUtils.isEmpty(list)){
for (R r : list) {
if(r!=null){
result.add(r);
}
}
}
return result;
}
public static <T, R, V> List<R> list2list(List<V> values, LBiFunction0<T, R> function) {
List<R> list = new ArrayList<>();
try {
if (CollectionUtils.isEmpty(values)) {
return list;
}
Map<R, V> map = new HashMap<>();
Method method = getMethod(function);
for (V value : values) {
list.add((R) method.invoke(value));
}
return list;
} catch (Exception e) {
e.printStackTrace();
}
return list;
}
public static <T, R, V> Map<R, List<V>> list2GroupBy(List<V> values, LBiFunction0<T, R> function) {
Map<R, List<V>> listmap = new HashMap<>();
Method method = getMethod(function);
try {
for (int i = 0; i < values.size(); i++) {
V v = values.get(i);
R r = (R) method.invoke(v);
List<V> list = listmap.get(r);
if (list == null) {
list = new ArrayList<>();
}
list.add(v);
listmap.put(r, list);
}
} catch (Exception e) {
e.printStackTrace();
}
return listmap;
}
private static <T, R> Method getMethod(LBiFunction0<T, R> function) {
try {
Method method = function.getClass().getDeclaredMethods()[1];
method.setAccessible(true);
SerializedLambda serializedLambda = (SerializedLambda) method.invoke(function);
String methodName = serializedLambda.getImplMethodName();
String className = serializedLambda.getImplClass().replace("/", ".");
Class<?> clazz = Class.forName(className);
Method methods[] = clazz.getDeclaredMethods();
for (Method m : methods) {
if (m.getName().equals(methodName)) {
return m;
}
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
private static <T, R> List<Method> getMethods(LBiFunction0<T, R> function) {
try {
Method method = function.getClass().getDeclaredMethods()[1];
method.setAccessible(true);
SerializedLambda serializedLambda = (SerializedLambda) method.invoke(function);
String methodName = serializedLambda.getImplMethodName();
String className = serializedLambda.getImplClass().replace("/", ".");
Class<?> clazz = Class.forName(className);
List<Method> list = new ArrayList<>();
Method methods[] = clazz.getDeclaredMethods();
for (Method m : methods) {
if (m.getName().equals(methodName)) {
list.add(m);
}
}
return list;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
private static Method getRealMethod(List<Method> methods, Class paramClazz) {
for (Method method : methods) {
Class<?>[] parameterTypes = method.getParameterTypes();
if (parameterTypes != null
&& parameterTypes.length == 1
&& ClassUtils.isAssignable(paramClazz, parameterTypes[0])) {
return method;
}
}
return null;
}
public static <T, R, V> List<R> convert(List<V> list, LBiFunction0<T, R> function) {
List<Method> methods = getMethods(function);
List result = new ArrayList<>();
for (V v : list) {
try {
Class clazz = v.getClass();
Method method = getRealMethod(methods, clazz);
int modifiers = method.getModifiers();
Object object = null;
if (Modifier.isStatic(modifiers)) {
object = method.invoke(null, v);
} else {
object = method.invoke(v);
}
result.add(object);
} catch (Exception e) {
log.error("convert exception", e);
}
}
return result;
}
public static void main(String[] args) {
AriseUser ai = new AriseUser();
ai.setName("张三");
ai.setAge(13);
AriseUser ai2 = new AriseUser();
ai2.setName("李四");
ai2.setAge(23);
AriseUser ai3 = new AriseUser();
ai3.setName("李四");
ai3.setAge(25);
List<AriseUser> list = new ArrayList<>();
list.add(ai);
list.add(ai2);
list.add(ai3);
Map<String, List<AriseUser>> map = list2GroupBy(list, AriseUser::getName);
System.out.println(JSON.toJSONString(map));
}
}

View File

@ -0,0 +1,11 @@
package com.heyu.api.common.test;
import lombok.Data;
@Data
public class AriseUser {
private String name;
private Integer age;
}

View File

@ -65,4 +65,6 @@ 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

@ -1,76 +1,116 @@
package com.heyu.api.data.dao.vv;
/**
* <p>
* 购物车 服务类
* </p>
*
* @author quyixiao
* @since 2025-08-23
*/
* <p>
* 购物车 服务类
* </p>
*
* @author quyixiao
* @since 2025-08-23
*/
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.heyu.api.data.entity.vv.VvTradeOrderLineEntity;
import com.lz.mybatis.plugin.annotations.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.math.BigDecimal;
import java.util.List;
@Mapper
public interface VvTradeOrderLineDao extends BaseMapper<VvTradeOrderLineEntity> {
VvTradeOrderLineEntity selectVvTradeOrderLineById(@Param("id")Long id);
VvTradeOrderLineEntity selectVvTradeOrderLineById(@Param("id") Long id);
Long insertVvTradeOrderLine(VvTradeOrderLineEntity vvTradeOrderLine);
Long insertVvTradeOrderLine(VvTradeOrderLineEntity vvTradeOrderLine);
Long insertOrUpdateVvTradeOrderLine(VvTradeOrderLineEntity vvTradeOrderLine);
Long insertOrUpdateVvTradeOrderLine(VvTradeOrderLineEntity vvTradeOrderLine);
int updateVvTradeOrderLineById(VvTradeOrderLineEntity vvTradeOrderLine);
int updateVvTradeOrderLineById(VvTradeOrderLineEntity vvTradeOrderLine);
int updateCoverVvTradeOrderLineById(VvTradeOrderLineEntity vvTradeOrderLine);
int updateCoverVvTradeOrderLineById(VvTradeOrderLineEntity vvTradeOrderLine);
int deleteVvTradeOrderLineById(@Param("id")Long id);
int deleteVvTradeOrderLineById(@Param("id") Long id);
@OrderBy(VvTradeOrderLineEntity.id_)
@GroupBy(VvTradeOrderLineEntity.trade_order_id)
List<VvTradeOrderLineEntity> selectVvTradeOrderLineByProductName(@LIKE String productName);
@OrderBy(VvTradeOrderLineEntity.id_)
@GroupBy(VvTradeOrderLineEntity.trade_order_id)
List<VvTradeOrderLineEntity> selectVvTradeOrderLineByProductName(@LIKE String productName);
List<VvTradeOrderLineEntity> selectVvTradeOrderLineByTradeOrderIds(@IN List<Long> tradeOrderId,
@IF String status);
List<VvTradeOrderLineEntity> selectVvTradeOrderLineByTradeOrderIds(@IN List<Long> tradeOrderId,
@IF String status);
List<VvTradeOrderLineEntity> selectVvTradeOrderLineByTradeOrderIdSkuId(Long tradeOrderId, Long skuId);
List<VvTradeOrderLineEntity> selectVvTradeOrderLineByIds(@IN List<Long> id);
List<VvTradeOrderLineEntity> selectVvTradeOrderLineByIds(@IN List<Long> id);
List<VvTradeOrderLineEntity> selectVvTradeOrderLineByTradeOrderId(Long tradeOrderId);
List<VvTradeOrderLineEntity> selectVvTradeOrderLineByTradeOrderIdNEStatus(Long tradeOrderId,
@IF @NE String status);
List<VvTradeOrderLineEntity> selectVvTradeOrderLineByTradeOrderIdNEStatusList(Long tradeOrderId,
@IF @NE List<String> status);
List<VvTradeOrderLineEntity> selectVvTradeOrderLineByTradeOrderIdStatus(Long tradeOrderId,
@IF String status);
List<VvTradeOrderLineEntity> selectVvTradeOrderLineByTradeOrderIdStatusAndReverseStatus(Long tradeOrderId,
@LBracket String status,
@RBracket @IN List<String> reverseStatus);
@OrderBy(VvTradeOrderLineEntity.id_)
@GroupBy(VvTradeOrderLineEntity.trade_order_id)
List<VvTradeOrderLineEntity> selectByAdminCondition(IPage page,
@IF @IN List<Long> tradeOrderIds,
@IF @LIKE String buyerPhone,
@IF @LIKE String buyerName,
@IF @LIKE String buyerWeixin,
@IF @GE @Column(VvTradeOrderLineEntity.sale_price) BigDecimal minSalePrice,
@IF @LE @Column(VvTradeOrderLineEntity.sale_price) BigDecimal maxSalePrice,
@IF String status,
@IF Integer settleStatus,
@IF @GE @Column(VvTradeOrderLineEntity.create_timestamp) Long minCreateTimestamp,
@IF @LE @Column(VvTradeOrderLineEntity.create_timestamp) Long maxCreateTimestamp,
@IF @LIKE String productName,
@IF Long sellerId,
@IF @LIKE String sellerName,
@IF Long buyerId,
@IF String reverseStatus,
@IF @OrderBy(VvTradeOrderLineEntity.create_timestamp) String createTimestampSort);
List<VvTradeOrderLineEntity> selectVvTradeOrderLineByTradeOrderId(Long tradeOrderId);
List<VvTradeOrderLineEntity> selectByAdminConditionList(
@IF @IN List<Long> tradeOrderIds,
@IF @LIKE String buyerPhone,
@IF @LIKE String buyerName,
@IF @LIKE String buyerWeixin,
@IF @GE @Column(VvTradeOrderLineEntity.sale_price) BigDecimal minSalePrice,
@IF @LE @Column(VvTradeOrderLineEntity.sale_price) BigDecimal maxSalePrice,
@IF String status,
@IF Integer settleStatus,
@IF @GE @Column(VvTradeOrderLineEntity.create_timestamp) Long minCreateTimestamp,
@IF @LE @Column(VvTradeOrderLineEntity.create_timestamp) Long maxCreateTimestamp,
@IF @LIKE String productName,
@IF Long sellerId,
@IF @LIKE String sellerName,
@IF Long buyerId,
@IF String reverseStatus,
@IF @OrderBy(VvTradeOrderLineEntity.create_timestamp) String createTimestampSort);
List<VvTradeOrderLineEntity> selectVvTradeOrderLineByTradeOrderIdNEStatus(Long tradeOrderId,
@IF @NE String status);
List<VvTradeOrderLineEntity> selectVvTradeOrderLineByTradeOrderIdNEStatusList(Long tradeOrderId,
@IF @NE List<String> status);
List<VvTradeOrderLineEntity> selectVvTradeOrderLineByTradeOrderIdStatus(Long tradeOrderId,
@IF String status);
List<VvTradeOrderLineEntity> selectVvTradeOrderLineByTradeOrderIdStatusAndReverseStatus(Long tradeOrderId,
@LBracket String status,
@RBracket @IN List<String> reverseStatus);
}

View File

@ -50,6 +50,15 @@ private static final long serialVersionUID = 1L;
public final static String reverse_status = CLASS_NAME + "reverse_status"; // 逆向状态
public final static String profit_amount = CLASS_NAME + "profit_amount"; // 这笔子单获得利益
public final static String origin_price = CLASS_NAME + "origin_price"; // 原来价格
public final static String buyer_id = CLASS_NAME + "buyer_id"; // 订单id
public final static String create_timestamp = CLASS_NAME + "create_timestamp"; // 创建时间
public final static String modify_timestamp = CLASS_NAME + "modify_timestamp"; // 修改时间
public final static String buyer_phone = CLASS_NAME + "buyer_phone"; // 买家手机号
public final static String buyer_name = CLASS_NAME + "buyer_name"; // 买家名称
public final static String buyer_weixin = CLASS_NAME + "buyer_weixin"; // 买家微信
public final static String province_ = CLASS_NAME + "province"; //
public final static String city_ = CLASS_NAME + "city"; //
public final static String district_ = CLASS_NAME + "district"; //
//
@TableId(value = "id", type = IdType.AUTO)
private Long id;
@ -109,6 +118,24 @@ private static final long serialVersionUID = 1L;
private BigDecimal profitAmount;
//原来价格
private BigDecimal originPrice;
//订单id
private Long buyerId;
//创建时间
private Long createTimestamp;
//修改时间
private Date modifyTimestamp;
//买家手机号
private String buyerPhone;
//买家名称
private String buyerName;
//买家微信
private String buyerWeixin;
//
private String province;
//
private String city;
//
private String district;
/**
*
* @return
@ -544,6 +571,141 @@ private static final long serialVersionUID = 1L;
this.originPrice = originPrice;
}
/**
* 订单id
* @return
*/
public Long getBuyerId() {
return buyerId;
}
/**
* 订单id
* @param buyerId
*/
public void setBuyerId(Long buyerId) {
this.buyerId = buyerId;
}
/**
* 创建时间
* @return
*/
public Long getCreateTimestamp() {
return createTimestamp;
}
/**
* 创建时间
* @param createTimestamp
*/
public void setCreateTimestamp(Long createTimestamp) {
this.createTimestamp = createTimestamp;
}
/**
* 修改时间
* @return
*/
public Date getModifyTimestamp() {
return modifyTimestamp;
}
/**
* 修改时间
* @param modifyTimestamp
*/
public void setModifyTimestamp(Date modifyTimestamp) {
this.modifyTimestamp = modifyTimestamp;
}
/**
* 买家手机号
* @return
*/
public String getBuyerPhone() {
return buyerPhone;
}
/**
* 买家手机号
* @param buyerPhone
*/
public void setBuyerPhone(String buyerPhone) {
this.buyerPhone = buyerPhone;
}
/**
* 买家名称
* @return
*/
public String getBuyerName() {
return buyerName;
}
/**
* 买家名称
* @param buyerName
*/
public void setBuyerName(String buyerName) {
this.buyerName = buyerName;
}
/**
* 买家微信
* @return
*/
public String getBuyerWeixin() {
return buyerWeixin;
}
/**
* 买家微信
* @param buyerWeixin
*/
public void setBuyerWeixin(String buyerWeixin) {
this.buyerWeixin = buyerWeixin;
}
/**
*
* @return
*/
public String getProvince() {
return province;
}
/**
*
* @param province
*/
public void setProvince(String province) {
this.province = province;
}
/**
*
* @return
*/
public String getCity() {
return city;
}
/**
*
* @param city
*/
public void setCity(String city) {
this.city = city;
}
/**
*
* @return
*/
public String getDistrict() {
return district;
}
/**
*
* @param district
*/
public void setDistrict(String district) {
this.district = district;
}
@Override
public String toString() {
return "VvTradeOrderLineEntity{" +
@ -576,6 +738,15 @@ private static final long serialVersionUID = 1L;
",reverseStatus=" + reverseStatus +
",profitAmount=" + profitAmount +
",originPrice=" + originPrice +
",buyerId=" + buyerId +
",createTimestamp=" + createTimestamp +
",modifyTimestamp=" + modifyTimestamp +
",buyerPhone=" + buyerPhone +
",buyerName=" + buyerName +
",buyerWeixin=" + buyerWeixin +
",province=" + province +
",city=" + city +
",district=" + district +
"}";
}
}

View File

@ -49,7 +49,7 @@ public class MysqlMain_update {
List<TablesBean> list = new ArrayList<TablesBean>();
String a = "vv_trade_order";
String a = "vv_trade_order_line";
for (String s : a.split(",")) {
list.add(new TablesBean(s));
}

View File

@ -1,6 +1,6 @@
package com.test.xxx.mysql;
import com.heyu.api.data.dao.vv.VvCommentDao;
import com.heyu.api.data.dao.vv.VvTradeOrderLineDao;
import com.lz.mybatis.plugin.utils.TestParseUtils;
import com.lz.mybatis.plugin.utils.t.Tuple2;
import org.junit.Test;
@ -12,7 +12,7 @@ SqlParseUtilsTest {
public void test1() {
Tuple2<Boolean, String> tuple = TestParseUtils.testSql(VvCommentDao::selectLogin).getData();
Tuple2<Boolean, String> tuple = TestParseUtils.testSql(VvTradeOrderLineDao::selectByAdminCondition).getData();

View File

@ -5,6 +5,7 @@ public enum OrderStatusEnums {
wait_pay("wait_pay","待支付"),
wait_shipping("wait_shipping","待发货"),
cancel("cancel","取消"),
shipping("shipping","已发货"),
delivered("delivered","已签收"),
all_refund("all_refund","全部退款"),

View File

@ -10,6 +10,7 @@ public enum ReverseStatusEnums {
// agree_refunded 同意退款 ,
// refunded 退款完成
// close 退款关闭
cancel("cancel","订单取消"),
wait_seller_agree("wait_seller_agree","等待卖家同意"),
wait_buyer_post("wait_buyer_post","买家邮寄"),
shipping("shipping","运送中"),
@ -17,9 +18,7 @@ public enum ReverseStatusEnums {
reject_delivered("reject_delivered","拒绝接收"),
agree_refunded("agree_refunded","同意退款"),
refunded("refunded","退款完成"),
close("close","退款关闭"),;
close("close","退款关闭");
ReverseStatusEnums(String status, String desc) {
this.status = status;

View File

@ -11,39 +11,80 @@ public class VVOrderRequest {
/**
* 订单id
*/
private List<Long> orderIds;
private List<Long> tradeOrderIds;
private Integer pageNum = 1 ;
private Integer pageNum = 1;
private Integer pageSize = 10 ;
private Integer pageSize = 10;
//买家手机号
private String buyerPhone;
//买家名
private String buyerName;
//买家微信
private String buyerWeixin;
//总价
private BigDecimal minAllPrice;
//总价
private BigDecimal maxAllPrice;
private BigDecimal minSalePrice;
//wait_pay:待支付,待发货wait_shipping, 已经发货: shipping , 已接收delivered all_refund:全部退款part_refund,部分退款
//总价
private BigDecimal maxSalePrice;
//wait_pay:待支付,待发货wait_shipping, 已经发货: shipping , 已接收delivered
private String status;
// 结算状态
private Integer settleStatus;
//创建时间撮最大
private Long minCreateTimestamp;
//创建时间撮 最小
private Long maxCreateTimestamp;
//商品名称 , 子单维度
private String productName;
/***
* 卖家id
*/
private Long sellerId;
/***
* 卖家名称
*/
private String sellerName;
/***
* 买家id
*/
private Long buyerId;
/***
* 逆向状态 状态
* close 取消
* wait_seller_agree 等待卖家同意 ,
* wait_buyer_post 等待买家寄东西,
* shipping 运送中, delivered 妥投,
* reject_delivered 拒绝妥投,
* agree_refunded 同意退款 ,
* refunded 退款完成
* close 退款关闭
*
*/
private String reverseStatus;
/**
*
* 按时间排序
*/
private String createTimestampSort;
}

View File

@ -7,6 +7,7 @@ import com.heyu.api.alibaba.request.mm.enums.OrderStatusEnums;
import com.heyu.api.alibaba.request.mm.order.*;
import com.heyu.api.alibaba.request.mm.order.resp.PackageDTO;
import com.heyu.api.alibaba.request.mm.order.resp.VVOrderListResp;
import com.heyu.api.common.SanUtils;
import com.heyu.api.data.dao.vv.*;
import com.heyu.api.data.entity.vv.*;
import com.heyu.api.data.utils.BigDecimalUtil;
@ -58,51 +59,66 @@ public class OrderController {
*/
@RequestMapping("/list")
public R list(@RequestBody VVOrderRequest vvOrderRequest) {
if (StringUtils.isNotBlank(vvOrderRequest.getProductName())) {
List<VvTradeOrderLineEntity> list = vvTradeOrderLineDao.selectVvTradeOrderLineByProductName(vvOrderRequest.getProductName());
List<Long> orderIds = new ArrayList<>();
if (CollectionUtils.isNotEmpty(vvOrderRequest.getOrderIds())) {
orderIds.addAll(vvOrderRequest.getOrderIds());
}
for (VvTradeOrderLineEntity tradeOrderLineEntity : list) {
orderIds.add(tradeOrderLineEntity.getTradeOrderId());
}
vvOrderRequest.setOrderIds(orderIds);
}
PPageUtils pageUtils = PPageUtils.startPage(vvOrderRequest.getPageNum(), vvOrderRequest.getPageSize())
.doSelect(new ISelect() {
@Override
public List doSelect(IPage page) {
return vvTradeOrderDao.selectByCondition(page,
vvOrderRequest.getOrderIds(),
return vvTradeOrderLineDao.selectByAdminCondition(page,
vvOrderRequest.getTradeOrderIds(),
vvOrderRequest.getBuyerPhone(),
vvOrderRequest.getBuyerWeixin(),
vvOrderRequest.getBuyerName(),
vvOrderRequest.getMinAllPrice(),
vvOrderRequest.getMaxAllPrice(),
vvOrderRequest.getBuyerWeixin(),
vvOrderRequest.getMinSalePrice(),
vvOrderRequest.getMaxSalePrice(),
vvOrderRequest.getStatus(),
vvOrderRequest.getSettleStatus(),
vvOrderRequest.getMinCreateTimestamp(),
vvOrderRequest.getMaxCreateTimestamp(),
vvOrderRequest.getProductName(),
vvOrderRequest.getSellerId(),
vvOrderRequest.getSellerName(),
vvOrderRequest.getBuyerId(),
vvOrderRequest.getReverseStatus(),
vvOrderRequest.getCreateTimestampSort()
);
}
});
List<VvTradeOrderEntity> vvTradeOrderEntities = pageUtils.getRows();
List<Long> tradeOrderIds = new ArrayList<>();
// 获取子单
List<VvTradeOrderLineEntity> vvTradeOrderLineEntities = pageUtils.getRows();
for (VvTradeOrderEntity vvTradeOrderEntity : vvTradeOrderEntities) {
tradeOrderIds.add(vvTradeOrderEntity.getId());
// 获取订单
List<Long> tradeOrderIds = SanUtils.list2listFilterNull(vvTradeOrderLineEntities,VvTradeOrderLineEntity::getTradeOrderId );
List<VvTradeOrderEntity> tradeOrderEntities = vvTradeOrderDao.selectVvTradeOrderByTradeOrderIds(tradeOrderIds);
// 对订单进行排序必须按照子单的顺序
Map<Long, VvTradeOrderEntity> vvTradeOrderEntityMap = SanUtils.list2Map(tradeOrderEntities, VvTradeOrderEntity::getId);
List<VvTradeOrderEntity> vvTradeOrderEntities = new ArrayList<>();
for (VvTradeOrderLineEntity vvTradeOrderLineEntity : vvTradeOrderLineEntities) {
vvTradeOrderEntities.add(vvTradeOrderEntityMap.get(vvTradeOrderLineEntity.getTradeOrderId()));
}
List<VvTradeOrderLineEntity> list = vvTradeOrderLineDao.selectVvTradeOrderLineByTradeOrderIds(tradeOrderIds, vvOrderRequest.getStatus());
// 重新获取子单
List<VvTradeOrderLineEntity> list = vvTradeOrderLineDao.selectByAdminConditionList(
vvOrderRequest.getTradeOrderIds(),
vvOrderRequest.getBuyerPhone(),
vvOrderRequest.getBuyerName(),
vvOrderRequest.getBuyerWeixin(),
vvOrderRequest.getMinSalePrice(),
vvOrderRequest.getMaxSalePrice(),
vvOrderRequest.getStatus(),
vvOrderRequest.getSettleStatus(),
vvOrderRequest.getMinCreateTimestamp(),
vvOrderRequest.getMaxCreateTimestamp(),
vvOrderRequest.getProductName(),
vvOrderRequest.getSellerId(),
vvOrderRequest.getSellerName(),
vvOrderRequest.getBuyerId(),
vvOrderRequest.getReverseStatus(),
vvOrderRequest.getCreateTimestampSort());
List<String> trackNumbers = new ArrayList<>();
for (VvTradeOrderLineEntity vvTradeOrderLineEntity : list) {
trackNumbers.add(vvTradeOrderLineEntity.getTrackNumber());
}
List<String> trackNumbers = SanUtils.list2listFilterNull(list, VvTradeOrderLineEntity::getTrackNumber);
Map<String, VvPackageEntity> vvPackageEntityMap = new HashMap<>();
if (CollectionUtils.isNotEmpty(trackNumbers)) {
List<VvPackageEntity> packageEntities = vvPackageDao.selectVvPackageByTrackNumbers(trackNumbers);
@ -117,8 +133,6 @@ public class OrderController {
BeanUtils.copyProperties(vvTradeOrderEntity, vvOrderListResp);
List<VvTradeOrderLineEntity> vvTradeOrderLineEntityList = new ArrayList<>();
for (VvTradeOrderLineEntity tradeOrderLineEntity : list) {
if (vvTradeOrderEntity.getId().equals(tradeOrderLineEntity.getTradeOrderId())) {
vvTradeOrderLineEntityList.add(tradeOrderLineEntity);