提交修改
This commit is contained in:
parent
0d66330a49
commit
bd8569770f
@ -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);
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
201
api-common/src/main/java/com/heyu/api/common/SanUtils.java
Normal file
201
api-common/src/main/java/com/heyu/api/common/SanUtils.java
Normal 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));
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,11 @@
|
|||||||
|
package com.heyu.api.common.test;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class AriseUser {
|
||||||
|
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
private Integer age;
|
||||||
|
}
|
||||||
@ -65,4 +65,6 @@ public interface VvTradeOrderDao extends BaseMapper<VvTradeOrderEntity> {
|
|||||||
|
|
||||||
|
|
||||||
void updateByBuerIdAndIds(String status,@By Long buyerId,@By List<Long> ids);
|
void updateByBuerIdAndIds(String status,@By Long buyerId,@By List<Long> ids);
|
||||||
|
|
||||||
|
List<VvTradeOrderEntity> selectVvTradeOrderByTradeOrderIds(@IN List<Long> id);
|
||||||
}
|
}
|
||||||
@ -1,76 +1,116 @@
|
|||||||
package com.heyu.api.data.dao.vv;
|
package com.heyu.api.data.dao.vv;
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
* 购物车 服务类
|
* 购物车 服务类
|
||||||
* </p>
|
* </p>
|
||||||
*
|
*
|
||||||
* @author quyixiao
|
* @author quyixiao
|
||||||
* @since 2025-08-23
|
* @since 2025-08-23
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.heyu.api.data.entity.vv.VvTradeOrderLineEntity;
|
import com.heyu.api.data.entity.vv.VvTradeOrderLineEntity;
|
||||||
import com.lz.mybatis.plugin.annotations.*;
|
import com.lz.mybatis.plugin.annotations.*;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@Mapper
|
@Mapper
|
||||||
public interface VvTradeOrderLineDao extends BaseMapper<VvTradeOrderLineEntity> {
|
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_)
|
@OrderBy(VvTradeOrderLineEntity.id_)
|
||||||
@GroupBy(VvTradeOrderLineEntity.trade_order_id)
|
@GroupBy(VvTradeOrderLineEntity.trade_order_id)
|
||||||
List<VvTradeOrderLineEntity> selectVvTradeOrderLineByProductName(@LIKE String productName);
|
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> 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> selectByAdminConditionList(
|
||||||
List<VvTradeOrderLineEntity> selectVvTradeOrderLineByTradeOrderId(Long tradeOrderId);
|
@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);
|
|
||||||
}
|
}
|
||||||
@ -50,6 +50,15 @@ private static final long serialVersionUID = 1L;
|
|||||||
public final static String reverse_status = CLASS_NAME + "reverse_status"; // 逆向状态。
|
public final static String reverse_status = CLASS_NAME + "reverse_status"; // 逆向状态。
|
||||||
public final static String profit_amount = CLASS_NAME + "profit_amount"; // 这笔子单获得利益
|
public final static String profit_amount = CLASS_NAME + "profit_amount"; // 这笔子单获得利益
|
||||||
public final static String origin_price = CLASS_NAME + "origin_price"; // 原来价格
|
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)
|
@TableId(value = "id", type = IdType.AUTO)
|
||||||
private Long id;
|
private Long id;
|
||||||
@ -109,6 +118,24 @@ private static final long serialVersionUID = 1L;
|
|||||||
private BigDecimal profitAmount;
|
private BigDecimal profitAmount;
|
||||||
//原来价格
|
//原来价格
|
||||||
private BigDecimal originPrice;
|
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
|
* @return
|
||||||
@ -544,6 +571,141 @@ private static final long serialVersionUID = 1L;
|
|||||||
this.originPrice = originPrice;
|
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
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "VvTradeOrderLineEntity{" +
|
return "VvTradeOrderLineEntity{" +
|
||||||
@ -576,6 +738,15 @@ private static final long serialVersionUID = 1L;
|
|||||||
",reverseStatus=" + reverseStatus +
|
",reverseStatus=" + reverseStatus +
|
||||||
",profitAmount=" + profitAmount +
|
",profitAmount=" + profitAmount +
|
||||||
",originPrice=" + originPrice +
|
",originPrice=" + originPrice +
|
||||||
|
",buyerId=" + buyerId +
|
||||||
|
",createTimestamp=" + createTimestamp +
|
||||||
|
",modifyTimestamp=" + modifyTimestamp +
|
||||||
|
",buyerPhone=" + buyerPhone +
|
||||||
|
",buyerName=" + buyerName +
|
||||||
|
",buyerWeixin=" + buyerWeixin +
|
||||||
|
",province=" + province +
|
||||||
|
",city=" + city +
|
||||||
|
",district=" + district +
|
||||||
"}";
|
"}";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -49,7 +49,7 @@ public class MysqlMain_update {
|
|||||||
List<TablesBean> list = new ArrayList<TablesBean>();
|
List<TablesBean> list = new ArrayList<TablesBean>();
|
||||||
|
|
||||||
|
|
||||||
String a = "vv_trade_order";
|
String a = "vv_trade_order_line";
|
||||||
for (String s : a.split(",")) {
|
for (String s : a.split(",")) {
|
||||||
list.add(new TablesBean(s));
|
list.add(new TablesBean(s));
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
package com.test.xxx.mysql;
|
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.TestParseUtils;
|
||||||
import com.lz.mybatis.plugin.utils.t.Tuple2;
|
import com.lz.mybatis.plugin.utils.t.Tuple2;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
@ -12,7 +12,7 @@ SqlParseUtilsTest {
|
|||||||
public void test1() {
|
public void test1() {
|
||||||
|
|
||||||
|
|
||||||
Tuple2<Boolean, String> tuple = TestParseUtils.testSql(VvCommentDao::selectLogin).getData();
|
Tuple2<Boolean, String> tuple = TestParseUtils.testSql(VvTradeOrderLineDao::selectByAdminCondition).getData();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -5,6 +5,7 @@ public enum OrderStatusEnums {
|
|||||||
|
|
||||||
wait_pay("wait_pay","待支付"),
|
wait_pay("wait_pay","待支付"),
|
||||||
wait_shipping("wait_shipping","待发货"),
|
wait_shipping("wait_shipping","待发货"),
|
||||||
|
cancel("cancel","取消"),
|
||||||
shipping("shipping","已发货"),
|
shipping("shipping","已发货"),
|
||||||
delivered("delivered","已签收"),
|
delivered("delivered","已签收"),
|
||||||
all_refund("all_refund","全部退款"),
|
all_refund("all_refund","全部退款"),
|
||||||
|
|||||||
@ -10,6 +10,7 @@ public enum ReverseStatusEnums {
|
|||||||
// agree_refunded 同意退款 ,
|
// agree_refunded 同意退款 ,
|
||||||
// refunded 退款完成 ,
|
// refunded 退款完成 ,
|
||||||
// close 退款关闭
|
// close 退款关闭
|
||||||
|
cancel("cancel","订单取消"),
|
||||||
wait_seller_agree("wait_seller_agree","等待卖家同意"),
|
wait_seller_agree("wait_seller_agree","等待卖家同意"),
|
||||||
wait_buyer_post("wait_buyer_post","买家邮寄"),
|
wait_buyer_post("wait_buyer_post","买家邮寄"),
|
||||||
shipping("shipping","运送中"),
|
shipping("shipping","运送中"),
|
||||||
@ -17,9 +18,7 @@ public enum ReverseStatusEnums {
|
|||||||
reject_delivered("reject_delivered","拒绝接收"),
|
reject_delivered("reject_delivered","拒绝接收"),
|
||||||
agree_refunded("agree_refunded","同意退款"),
|
agree_refunded("agree_refunded","同意退款"),
|
||||||
refunded("refunded","退款完成"),
|
refunded("refunded","退款完成"),
|
||||||
close("close","退款关闭"),;
|
close("close","退款关闭");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
ReverseStatusEnums(String status, String desc) {
|
ReverseStatusEnums(String status, String desc) {
|
||||||
this.status = status;
|
this.status = status;
|
||||||
|
|||||||
@ -11,39 +11,80 @@ public class VVOrderRequest {
|
|||||||
/**
|
/**
|
||||||
* 订单id
|
* 订单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 buyerPhone;
|
||||||
|
|
||||||
//买家名
|
//买家名
|
||||||
private String buyerName;
|
private String buyerName;
|
||||||
|
|
||||||
//买家微信
|
//买家微信
|
||||||
private String buyerWeixin;
|
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 String status;
|
||||||
|
|
||||||
|
// 结算状态
|
||||||
|
private Integer settleStatus;
|
||||||
|
|
||||||
//创建时间撮,最大
|
//创建时间撮,最大
|
||||||
private Long minCreateTimestamp;
|
private Long minCreateTimestamp;
|
||||||
|
|
||||||
//创建时间撮 最小
|
//创建时间撮 最小
|
||||||
private Long maxCreateTimestamp;
|
private Long maxCreateTimestamp;
|
||||||
|
|
||||||
//商品名称 , 子单维度
|
//商品名称 , 子单维度
|
||||||
private String productName;
|
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;
|
private String createTimestampSort;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -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.*;
|
||||||
import com.heyu.api.alibaba.request.mm.order.resp.PackageDTO;
|
import com.heyu.api.alibaba.request.mm.order.resp.PackageDTO;
|
||||||
import com.heyu.api.alibaba.request.mm.order.resp.VVOrderListResp;
|
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.dao.vv.*;
|
||||||
import com.heyu.api.data.entity.vv.*;
|
import com.heyu.api.data.entity.vv.*;
|
||||||
import com.heyu.api.data.utils.BigDecimalUtil;
|
import com.heyu.api.data.utils.BigDecimalUtil;
|
||||||
@ -58,51 +59,66 @@ public class OrderController {
|
|||||||
*/
|
*/
|
||||||
@RequestMapping("/list")
|
@RequestMapping("/list")
|
||||||
public R list(@RequestBody VVOrderRequest vvOrderRequest) {
|
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())
|
PPageUtils pageUtils = PPageUtils.startPage(vvOrderRequest.getPageNum(), vvOrderRequest.getPageSize())
|
||||||
.doSelect(new ISelect() {
|
.doSelect(new ISelect() {
|
||||||
@Override
|
@Override
|
||||||
public List doSelect(IPage page) {
|
public List doSelect(IPage page) {
|
||||||
return vvTradeOrderDao.selectByCondition(page,
|
return vvTradeOrderLineDao.selectByAdminCondition(page,
|
||||||
vvOrderRequest.getOrderIds(),
|
vvOrderRequest.getTradeOrderIds(),
|
||||||
vvOrderRequest.getBuyerPhone(),
|
vvOrderRequest.getBuyerPhone(),
|
||||||
vvOrderRequest.getBuyerWeixin(),
|
|
||||||
vvOrderRequest.getBuyerName(),
|
vvOrderRequest.getBuyerName(),
|
||||||
vvOrderRequest.getMinAllPrice(),
|
vvOrderRequest.getBuyerWeixin(),
|
||||||
vvOrderRequest.getMaxAllPrice(),
|
vvOrderRequest.getMinSalePrice(),
|
||||||
|
vvOrderRequest.getMaxSalePrice(),
|
||||||
vvOrderRequest.getStatus(),
|
vvOrderRequest.getStatus(),
|
||||||
|
vvOrderRequest.getSettleStatus(),
|
||||||
vvOrderRequest.getMinCreateTimestamp(),
|
vvOrderRequest.getMinCreateTimestamp(),
|
||||||
vvOrderRequest.getMaxCreateTimestamp(),
|
vvOrderRequest.getMaxCreateTimestamp(),
|
||||||
|
vvOrderRequest.getProductName(),
|
||||||
|
vvOrderRequest.getSellerId(),
|
||||||
|
vvOrderRequest.getSellerName(),
|
||||||
|
vvOrderRequest.getBuyerId(),
|
||||||
|
vvOrderRequest.getReverseStatus(),
|
||||||
vvOrderRequest.getCreateTimestampSort()
|
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<>();
|
List<String> trackNumbers = SanUtils.list2listFilterNull(list, VvTradeOrderLineEntity::getTrackNumber);
|
||||||
for (VvTradeOrderLineEntity vvTradeOrderLineEntity : list) {
|
|
||||||
trackNumbers.add(vvTradeOrderLineEntity.getTrackNumber());
|
|
||||||
}
|
|
||||||
Map<String, VvPackageEntity> vvPackageEntityMap = new HashMap<>();
|
Map<String, VvPackageEntity> vvPackageEntityMap = new HashMap<>();
|
||||||
if (CollectionUtils.isNotEmpty(trackNumbers)) {
|
if (CollectionUtils.isNotEmpty(trackNumbers)) {
|
||||||
List<VvPackageEntity> packageEntities = vvPackageDao.selectVvPackageByTrackNumbers(trackNumbers);
|
List<VvPackageEntity> packageEntities = vvPackageDao.selectVvPackageByTrackNumbers(trackNumbers);
|
||||||
@ -117,8 +133,6 @@ public class OrderController {
|
|||||||
BeanUtils.copyProperties(vvTradeOrderEntity, vvOrderListResp);
|
BeanUtils.copyProperties(vvTradeOrderEntity, vvOrderListResp);
|
||||||
|
|
||||||
List<VvTradeOrderLineEntity> vvTradeOrderLineEntityList = new ArrayList<>();
|
List<VvTradeOrderLineEntity> vvTradeOrderLineEntityList = new ArrayList<>();
|
||||||
|
|
||||||
|
|
||||||
for (VvTradeOrderLineEntity tradeOrderLineEntity : list) {
|
for (VvTradeOrderLineEntity tradeOrderLineEntity : list) {
|
||||||
if (vvTradeOrderEntity.getId().equals(tradeOrderLineEntity.getTradeOrderId())) {
|
if (vvTradeOrderEntity.getId().equals(tradeOrderLineEntity.getTradeOrderId())) {
|
||||||
vvTradeOrderLineEntityList.add(tradeOrderLineEntity);
|
vvTradeOrderLineEntityList.add(tradeOrderLineEntity);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user