提交修改
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);
|
||||
|
||||
List<VvTradeOrderEntity> selectVvTradeOrderByTradeOrderIds(@IN List<Long> id);
|
||||
}
|
||||
@ -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);
|
||||
}
|
||||
@ -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 +
|
||||
"}";
|
||||
}
|
||||
}
|
||||
@ -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));
|
||||
}
|
||||
|
||||
@ -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();
|
||||
|
||||
|
||||
|
||||
|
||||
@ -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","全部退款"),
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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;
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -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);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user