提交修改
This commit is contained in:
parent
5ee2b01bab
commit
bba5c8904c
37
api-mapper/src/main/java/com/heyu/api/data/utils/Person.java
Normal file
37
api-mapper/src/main/java/com/heyu/api/data/utils/Person.java
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
|
||||||
|
package com.heyu.api.data.utils;
|
||||||
|
|
||||||
|
import java.lang.reflect.Method;
|
||||||
|
|
||||||
|
public class Person {
|
||||||
|
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
public void setName(String name) {
|
||||||
|
this.name = name;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
try {
|
||||||
|
// 创建 Person 类的实例
|
||||||
|
Person person = new Person();
|
||||||
|
// 获取 Person 类的 Class 对象
|
||||||
|
Class<?> personClass = person.getClass();
|
||||||
|
// 获取 setName 方法
|
||||||
|
Method setNameMethod = personClass.getDeclaredMethod("setName", String.class);
|
||||||
|
// 调用方法,设置 name 属性
|
||||||
|
setNameMethod.invoke(person, "John Doe");
|
||||||
|
//验址 name 属性是否被设置
|
||||||
|
System.out.println("Person's name: " + person.getName());
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
@ -1,5 +1,6 @@
|
|||||||
package com.heyu.api.data.utils;
|
package com.heyu.api.data.utils;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.heyu.api.common.LBiFunction0;
|
import com.heyu.api.common.LBiFunction0;
|
||||||
import com.heyu.api.common.test.AriseUser;
|
import com.heyu.api.common.test.AriseUser;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
@ -53,6 +54,33 @@ public class SanUtils {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public static <T, R, V> List<R> setNull(List<V> values, LBiFunction0<T, R> ... functions ) {
|
||||||
|
List<R> list = new ArrayList<>();
|
||||||
|
try {
|
||||||
|
if (CollectionUtils.isEmpty(values)) {
|
||||||
|
return list;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
for (LBiFunction0<T, R> function : functions) {
|
||||||
|
Method method = getSetMethod(function);
|
||||||
|
for (V value : values) {
|
||||||
|
Object [] objects= new Object[]{null};
|
||||||
|
method.invoke(value,objects);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return list;
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public static <T, R, V> List<R> list2list(List<V> values, LBiFunction0<T, R> function) {
|
public static <T, R, V> List<R> list2list(List<V> values, LBiFunction0<T, R> function) {
|
||||||
List<R> list = new ArrayList<>();
|
List<R> list = new ArrayList<>();
|
||||||
try {
|
try {
|
||||||
@ -134,6 +162,34 @@ public class SanUtils {
|
|||||||
return (R) parseBasicTypeWrapper(clazz, sum);
|
return (R) parseBasicTypeWrapper(clazz, sum);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
private static <T, R> Method getSetMethod(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("/", ".");
|
||||||
|
|
||||||
|
methodName = "set"+methodName.substring(3);
|
||||||
|
|
||||||
|
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> Method getMethod(LBiFunction0<T, R> function) {
|
private static <T, R> Method getMethod(LBiFunction0<T, R> function) {
|
||||||
try {
|
try {
|
||||||
Method method = function.getClass().getDeclaredMethods()[1];
|
Method method = function.getClass().getDeclaredMethods()[1];
|
||||||
@ -319,9 +375,9 @@ public class SanUtils {
|
|||||||
list.add(ai2);
|
list.add(ai2);
|
||||||
list.add(ai3);
|
list.add(ai3);
|
||||||
|
|
||||||
int age = sum(list, AriseUser::getAge);
|
setNull(list, AriseUser::getAge);
|
||||||
System.out.println(age);
|
|
||||||
|
|
||||||
|
System.out.println(JSON.toJSONString(list));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -92,6 +92,9 @@ public class OrderController {
|
|||||||
List<Long> tradeOrderIds = SanUtils.list2listFilterNull(vvTradeOrderLineEntities,VvTradeOrderLineEntity::getTradeOrderId );
|
List<Long> tradeOrderIds = SanUtils.list2listFilterNull(vvTradeOrderLineEntities,VvTradeOrderLineEntity::getTradeOrderId );
|
||||||
List<VvTradeOrderEntity> tradeOrderEntities = vvTradeOrderDao.selectVvTradeOrderByTradeOrderIds(tradeOrderIds);
|
List<VvTradeOrderEntity> tradeOrderEntities = vvTradeOrderDao.selectVvTradeOrderByTradeOrderIds(tradeOrderIds);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// 对订单进行排序,必须按照子单的顺序
|
// 对订单进行排序,必须按照子单的顺序
|
||||||
Map<Long, VvTradeOrderEntity> vvTradeOrderEntityMap = SanUtils.list2Map(tradeOrderEntities, VvTradeOrderEntity::getId);
|
Map<Long, VvTradeOrderEntity> vvTradeOrderEntityMap = SanUtils.list2Map(tradeOrderEntities, VvTradeOrderEntity::getId);
|
||||||
List<VvTradeOrderEntity> vvTradeOrderEntities = new ArrayList<>();
|
List<VvTradeOrderEntity> vvTradeOrderEntities = new ArrayList<>();
|
||||||
@ -121,6 +124,9 @@ public class OrderController {
|
|||||||
vvOrderRequest.getReverseStatus(),
|
vvOrderRequest.getReverseStatus(),
|
||||||
vvOrderRequest.getCreateTimestampSort());
|
vvOrderRequest.getCreateTimestampSort());
|
||||||
|
|
||||||
|
|
||||||
|
SanUtils.setNull(list,VvTradeOrderLineEntity::getProfitAmount);
|
||||||
|
|
||||||
List<String> trackNumbers = SanUtils.list2listFilterNull(list, VvTradeOrderLineEntity::getTrackNumber);
|
List<String> trackNumbers = SanUtils.list2listFilterNull(list, VvTradeOrderLineEntity::getTrackNumber);
|
||||||
Map<String, VvPackageEntity> vvPackageEntityMap = new HashMap<>();
|
Map<String, VvPackageEntity> vvPackageEntityMap = new HashMap<>();
|
||||||
if (CollectionUtils.isNotEmpty(trackNumbers)) {
|
if (CollectionUtils.isNotEmpty(trackNumbers)) {
|
||||||
|
|||||||
@ -11,6 +11,7 @@ import com.heyu.api.data.dto.vv.VvProductPropertyDTO;
|
|||||||
import com.heyu.api.data.dto.vv.VvSkuDTO;
|
import com.heyu.api.data.dto.vv.VvSkuDTO;
|
||||||
import com.heyu.api.data.entity.vv.*;
|
import com.heyu.api.data.entity.vv.*;
|
||||||
import com.heyu.api.data.utils.R;
|
import com.heyu.api.data.utils.R;
|
||||||
|
import com.heyu.api.data.utils.SanUtils;
|
||||||
import com.heyu.api.utils.ISelect;
|
import com.heyu.api.utils.ISelect;
|
||||||
import com.heyu.api.utils.PPageUtils;
|
import com.heyu.api.utils.PPageUtils;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
@ -73,6 +74,16 @@ public class AppIndexPageController {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
List<VvProductEntity> vvProductEntities = pageUtils.getRows();
|
||||||
|
|
||||||
|
SanUtils.setNull(vvProductEntities, VvProductEntity::getRealSaleCount);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return R.ok().setData(pageUtils);
|
return R.ok().setData(pageUtils);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -88,7 +99,9 @@ public class AppIndexPageController {
|
|||||||
List<VvProductDetailEntity> productDetailEntities = vvProductDetailDao.selectVvProductDetailByProductId(vvProductDetailRequest.getProductId());
|
List<VvProductDetailEntity> productDetailEntities = vvProductDetailDao.selectVvProductDetailByProductId(vvProductDetailRequest.getProductId());
|
||||||
|
|
||||||
vvProductDTO.setVvProductDetailList(productDetailEntities);
|
vvProductDTO.setVvProductDetailList(productDetailEntities);
|
||||||
|
|
||||||
List<VvSkuEntity> vvSkuEntities = vvSkuDao.selectVvSkuByProductId(vvProductDetailRequest.getProductId());
|
List<VvSkuEntity> vvSkuEntities = vvSkuDao.selectVvSkuByProductId(vvProductDetailRequest.getProductId());
|
||||||
|
|
||||||
List<VvSkuDTO> vvSkuDTOS = new ArrayList<>();
|
List<VvSkuDTO> vvSkuDTOS = new ArrayList<>();
|
||||||
|
|
||||||
List<VvSkuPropertyValueEntity> vvSkuPropertyValueList = vvSkuPropertyValueDao.selectVvSkuPropertyValueByProductId(vvProduct.getId());
|
List<VvSkuPropertyValueEntity> vvSkuPropertyValueList = vvSkuPropertyValueDao.selectVvSkuPropertyValueByProductId(vvProduct.getId());
|
||||||
@ -120,6 +133,12 @@ public class AppIndexPageController {
|
|||||||
vvSkuDTOS.add(vvSkuDTO);
|
vvSkuDTOS.add(vvSkuDTO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SanUtils.setNull(vvSkuDTOS,
|
||||||
|
VvSkuDTO::getRealSaleCount,
|
||||||
|
VvSkuDTO::getOriginPrice
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
vvProductDTO.setVvSkuList(vvSkuDTOS);
|
vvProductDTO.setVvSkuList(vvSkuDTOS);
|
||||||
|
|
||||||
List<VvProductPropertyEntity> vvProductPropertyEntities = vvProductPropertyDao.selectVvProductPropertyByProductId(vvProductDetailRequest.getProductId());
|
List<VvProductPropertyEntity> vvProductPropertyEntities = vvProductPropertyDao.selectVvProductPropertyByProductId(vvProductDetailRequest.getProductId());
|
||||||
|
|||||||
@ -96,12 +96,16 @@ public class AppOrderController {
|
|||||||
// 获取子单
|
// 获取子单
|
||||||
List<VvTradeOrderLineEntity> vvTradeOrderLineEntities = pageUtils.getRows();
|
List<VvTradeOrderLineEntity> vvTradeOrderLineEntities = pageUtils.getRows();
|
||||||
|
|
||||||
|
|
||||||
// 获取订单
|
// 获取订单
|
||||||
List<Long> tradeOrderIds = SanUtils.list2listFilterNull(vvTradeOrderLineEntities, VvTradeOrderLineEntity::getTradeOrderId);
|
List<Long> tradeOrderIds = SanUtils.list2listFilterNull(vvTradeOrderLineEntities, VvTradeOrderLineEntity::getTradeOrderId);
|
||||||
|
|
||||||
List<VvTradeOrderEntity> tradeOrderEntities = vvTradeOrderDao.selectVvTradeOrderByTradeOrderIds(tradeOrderIds);
|
List<VvTradeOrderEntity> tradeOrderEntities = vvTradeOrderDao.selectVvTradeOrderByTradeOrderIds(tradeOrderIds);
|
||||||
|
|
||||||
|
|
||||||
// 对订单进行排序,必须按照子单的顺序
|
// 对订单进行排序,必须按照子单的顺序
|
||||||
Map<Long, VvTradeOrderEntity> vvTradeOrderEntityMap = SanUtils.list2Map(tradeOrderEntities, VvTradeOrderEntity::getId);
|
Map<Long, VvTradeOrderEntity> vvTradeOrderEntityMap = SanUtils.list2Map(tradeOrderEntities, VvTradeOrderEntity::getId);
|
||||||
|
|
||||||
List<VvTradeOrderEntity> vvTradeOrderEntities = new ArrayList<>();
|
List<VvTradeOrderEntity> vvTradeOrderEntities = new ArrayList<>();
|
||||||
for (VvTradeOrderLineEntity vvTradeOrderLineEntity : vvTradeOrderLineEntities) {
|
for (VvTradeOrderLineEntity vvTradeOrderLineEntity : vvTradeOrderLineEntities) {
|
||||||
vvTradeOrderEntities.add(vvTradeOrderEntityMap.get(vvTradeOrderLineEntity.getTradeOrderId()));
|
vvTradeOrderEntities.add(vvTradeOrderEntityMap.get(vvTradeOrderLineEntity.getTradeOrderId()));
|
||||||
@ -125,6 +129,14 @@ public class AppOrderController {
|
|||||||
vvOrderRequest.getReverseStatus(),
|
vvOrderRequest.getReverseStatus(),
|
||||||
vvOrderRequest.getCreateTimestampSort());
|
vvOrderRequest.getCreateTimestampSort());
|
||||||
|
|
||||||
|
|
||||||
|
SanUtils.setNull(list,
|
||||||
|
VvTradeOrderLineEntity::getProfitAmount,
|
||||||
|
VvTradeOrderLineEntity::getModifyTime,
|
||||||
|
VvTradeOrderLineEntity::getIsDelete,
|
||||||
|
VvTradeOrderLineEntity::getCreateTime
|
||||||
|
);
|
||||||
|
|
||||||
List<String> trackNumbers = SanUtils.list2listFilterNull(list, VvTradeOrderLineEntity::getTrackNumber);
|
List<String> trackNumbers = SanUtils.list2listFilterNull(list, VvTradeOrderLineEntity::getTrackNumber);
|
||||||
Map<String, VvPackageEntity> vvPackageEntityMap = new HashMap<>();
|
Map<String, VvPackageEntity> vvPackageEntityMap = new HashMap<>();
|
||||||
if (CollectionUtils.isNotEmpty(trackNumbers)) {
|
if (CollectionUtils.isNotEmpty(trackNumbers)) {
|
||||||
@ -138,7 +150,6 @@ public class AppOrderController {
|
|||||||
for (VvTradeOrderEntity vvTradeOrderEntity : vvTradeOrderEntities) {
|
for (VvTradeOrderEntity vvTradeOrderEntity : vvTradeOrderEntities) {
|
||||||
VVOrderListResp vvOrderListResp = new VVOrderListResp();
|
VVOrderListResp vvOrderListResp = new VVOrderListResp();
|
||||||
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) {
|
||||||
@ -146,7 +157,6 @@ public class AppOrderController {
|
|||||||
vvTradeOrderLineEntityList.add(tradeOrderLineEntity);
|
vvTradeOrderLineEntityList.add(tradeOrderLineEntity);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/***
|
/***
|
||||||
* 订单行信息
|
* 订单行信息
|
||||||
*/
|
*/
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user