提交修改
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;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.heyu.api.common.LBiFunction0;
|
||||
import com.heyu.api.common.test.AriseUser;
|
||||
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) {
|
||||
List<R> list = new ArrayList<>();
|
||||
try {
|
||||
@ -134,6 +162,34 @@ public class SanUtils {
|
||||
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) {
|
||||
try {
|
||||
Method method = function.getClass().getDeclaredMethods()[1];
|
||||
@ -319,9 +375,9 @@ public class SanUtils {
|
||||
list.add(ai2);
|
||||
list.add(ai3);
|
||||
|
||||
int age = sum(list, AriseUser::getAge);
|
||||
System.out.println(age);
|
||||
setNull(list, AriseUser::getAge);
|
||||
|
||||
System.out.println(JSON.toJSONString(list));
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -92,6 +92,9 @@ public class OrderController {
|
||||
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<>();
|
||||
@ -121,6 +124,9 @@ public class OrderController {
|
||||
vvOrderRequest.getReverseStatus(),
|
||||
vvOrderRequest.getCreateTimestampSort());
|
||||
|
||||
|
||||
SanUtils.setNull(list,VvTradeOrderLineEntity::getProfitAmount);
|
||||
|
||||
List<String> trackNumbers = SanUtils.list2listFilterNull(list, VvTradeOrderLineEntity::getTrackNumber);
|
||||
Map<String, VvPackageEntity> vvPackageEntityMap = new HashMap<>();
|
||||
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.entity.vv.*;
|
||||
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.PPageUtils;
|
||||
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);
|
||||
}
|
||||
|
||||
@ -88,7 +99,9 @@ public class AppIndexPageController {
|
||||
List<VvProductDetailEntity> productDetailEntities = vvProductDetailDao.selectVvProductDetailByProductId(vvProductDetailRequest.getProductId());
|
||||
|
||||
vvProductDTO.setVvProductDetailList(productDetailEntities);
|
||||
|
||||
List<VvSkuEntity> vvSkuEntities = vvSkuDao.selectVvSkuByProductId(vvProductDetailRequest.getProductId());
|
||||
|
||||
List<VvSkuDTO> vvSkuDTOS = new ArrayList<>();
|
||||
|
||||
List<VvSkuPropertyValueEntity> vvSkuPropertyValueList = vvSkuPropertyValueDao.selectVvSkuPropertyValueByProductId(vvProduct.getId());
|
||||
@ -120,6 +133,12 @@ public class AppIndexPageController {
|
||||
vvSkuDTOS.add(vvSkuDTO);
|
||||
}
|
||||
|
||||
SanUtils.setNull(vvSkuDTOS,
|
||||
VvSkuDTO::getRealSaleCount,
|
||||
VvSkuDTO::getOriginPrice
|
||||
);
|
||||
|
||||
|
||||
vvProductDTO.setVvSkuList(vvSkuDTOS);
|
||||
|
||||
List<VvProductPropertyEntity> vvProductPropertyEntities = vvProductPropertyDao.selectVvProductPropertyByProductId(vvProductDetailRequest.getProductId());
|
||||
|
||||
@ -96,12 +96,16 @@ public class AppOrderController {
|
||||
// 获取子单
|
||||
List<VvTradeOrderLineEntity> vvTradeOrderLineEntities = pageUtils.getRows();
|
||||
|
||||
|
||||
// 获取订单
|
||||
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()));
|
||||
@ -125,6 +129,14 @@ public class AppOrderController {
|
||||
vvOrderRequest.getReverseStatus(),
|
||||
vvOrderRequest.getCreateTimestampSort());
|
||||
|
||||
|
||||
SanUtils.setNull(list,
|
||||
VvTradeOrderLineEntity::getProfitAmount,
|
||||
VvTradeOrderLineEntity::getModifyTime,
|
||||
VvTradeOrderLineEntity::getIsDelete,
|
||||
VvTradeOrderLineEntity::getCreateTime
|
||||
);
|
||||
|
||||
List<String> trackNumbers = SanUtils.list2listFilterNull(list, VvTradeOrderLineEntity::getTrackNumber);
|
||||
Map<String, VvPackageEntity> vvPackageEntityMap = new HashMap<>();
|
||||
if (CollectionUtils.isNotEmpty(trackNumbers)) {
|
||||
@ -138,7 +150,6 @@ public class AppOrderController {
|
||||
for (VvTradeOrderEntity vvTradeOrderEntity : vvTradeOrderEntities) {
|
||||
VVOrderListResp vvOrderListResp = new VVOrderListResp();
|
||||
BeanUtils.copyProperties(vvTradeOrderEntity, vvOrderListResp);
|
||||
|
||||
List<VvTradeOrderLineEntity> vvTradeOrderLineEntityList = new ArrayList<>();
|
||||
|
||||
for (VvTradeOrderLineEntity tradeOrderLineEntity : list) {
|
||||
@ -146,7 +157,6 @@ public class AppOrderController {
|
||||
vvTradeOrderLineEntityList.add(tradeOrderLineEntity);
|
||||
}
|
||||
}
|
||||
|
||||
/***
|
||||
* 订单行信息
|
||||
*/
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user