|
|
@@ -3,8 +3,6 @@ package com.kym.service.miniapp.impl;
|
|
|
import cn.hutool.core.util.ClassUtil;
|
|
|
import cn.hutool.core.util.ReflectUtil;
|
|
|
import com.baomidou.dynamic.datasource.annotation.DS;
|
|
|
-import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
|
|
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.extension.conditions.query.QueryChainWrapper;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.github.pagehelper.PageHelper;
|
|
|
@@ -18,6 +16,7 @@ import org.springframework.stereotype.Service;
|
|
|
|
|
|
import java.lang.reflect.Field;
|
|
|
import java.lang.reflect.Modifier;
|
|
|
+import java.util.List;
|
|
|
|
|
|
|
|
|
/**
|
|
|
@@ -32,31 +31,42 @@ import java.lang.reflect.Modifier;
|
|
|
@DS("db-miniapp")
|
|
|
public class DataDictServiceImpl extends ServiceImpl<DataDictMapper, DataDict> implements DataDictService {
|
|
|
|
|
|
+
|
|
|
@Override
|
|
|
public Object list(IQuery<DataDict> query) {
|
|
|
PageHelper.startPage(query.pageNum, query.pageSize);
|
|
|
- Wrapper wrapper = getWrapper(query);
|
|
|
- return new PageInfo<>(list(wrapper));
|
|
|
+ List<DataDict> list = list();
|
|
|
+ return new PageInfo<>(list);
|
|
|
}
|
|
|
|
|
|
- public Wrapper<?> getWrapper(IQuery<?> query) {
|
|
|
- Object queryObject = query.query;
|
|
|
- if (null == queryObject) {
|
|
|
- return new QueryWrapper<>();
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Object listV2(IQuery<DataDict> query) {
|
|
|
+ QueryChainWrapper<DataDict> wrapper = getWrapper(query.query, DataDict.class);
|
|
|
+ Long count = wrapper.count();
|
|
|
+ List<DataDict> list = wrapper.list();
|
|
|
+ return IQuery.newPageBean(count,list);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ public <T> QueryChainWrapper<T> getWrapper(Object query, Class<T> clz) {
|
|
|
+ QueryChainWrapper<T> wrapper = new QueryChainWrapper<>(clz);
|
|
|
+ if (null == query) {
|
|
|
+ return wrapper;
|
|
|
}
|
|
|
|
|
|
- QueryChainWrapper<?> wrapper = new QueryChainWrapper<>(queryObject.getClass());
|
|
|
|
|
|
- Field[] fields = ClassUtil.getDeclaredFields(queryObject.getClass());
|
|
|
- if(!CommUtil.isEmptyOrNull(fields)){
|
|
|
+ Field[] fields = ClassUtil.getDeclaredFields(query.getClass());
|
|
|
+ if (!CommUtil.isEmptyOrNull(fields)) {
|
|
|
for (Field field : fields) {
|
|
|
int modifiers = field.getModifiers();
|
|
|
- if(Modifier.isFinal(modifiers)||Modifier.isStatic(modifiers)){
|
|
|
+ if (Modifier.isFinal(modifiers) || Modifier.isStatic(modifiers)) {
|
|
|
continue;
|
|
|
}
|
|
|
- Object fieldValue = ReflectUtil.getFieldValue(queryObject, field);
|
|
|
- if(!CommUtil.isEmptyOrNull(fieldValue)){
|
|
|
- wrapper.eq(CommUtil.toDbColumn(field.getName()),fieldValue);
|
|
|
+ Object fieldValue = ReflectUtil.getFieldValue(query, field);
|
|
|
+ if (!CommUtil.isEmptyOrNull(fieldValue)) {
|
|
|
+ wrapper.eq(CommUtil.toDbColumn(field.getName()), fieldValue);
|
|
|
}
|
|
|
}
|
|
|
}
|