作者 钟来

完善通用mapper

... ... @@ -49,5 +49,6 @@
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
</dependency>
</dependencies>
</project>
\ No newline at end of file
... ...
package com.zhonglai.luhui.util.sql;
import java.util.HashMap;
import java.util.Map;
/**
... ... @@ -11,10 +11,12 @@ import java.util.Map;
public class BaseEntity
{
private Map<String,Object[]> timeMap; //时间条件(如:{"create_time":[开始时间,结束时间]})
private String[] keyValue; //模糊匹配的关键字(如:["value","name,no"])
private Map<String, QueryType> params; //字段对应的比较符号(如:{"id":"EQ"})
private String orderBy; //排序(如:"id,name")
private String orderBy; //排序(如:"id desc,name asc")
public Map<String, Object[]> getTimeMap() {
return timeMap;
... ... @@ -37,6 +39,14 @@ public class BaseEntity
return params;
}
public String getOrderBy() {
return orderBy;
}
public void setOrderBy(String orderBy) {
this.orderBy = orderBy;
}
public void setParams(Map<String, QueryType> params) {
this.params = params;
}
... ...
package com.zhonglai.luhui.util.sql;
public enum QueryType {
EQ,NE,GT,GTE,LT,LTE,LIKE
/**
* 等于
*/
EQ,
/**
* 不等于
*/
NE,
/**
* 大于
*/
GT,
/**
* 大于等于
*/
GTE,
/**
* 小于
*/
LT,
/**
* 小于等于
*/
LTE,
/**
* 模糊匹配
*/
LIKE
}
... ...
... ... @@ -24,18 +24,9 @@
<artifactId>lh-common-util</artifactId>
</dependency>
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper</artifactId>
<!-- 建议使用最新版本,最新版本请从项目首页查找 -->
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId>
</dependency>
<!-- <dependency>-->
<!-- <groupId>org.mybatis.spring.boot</groupId>-->
<!-- <artifactId>mybatis-spring-boot-starter</artifactId>-->
<!-- </dependency>-->
<!--常用工具类 -->
<dependency>
<groupId>org.apache.commons</groupId>
... ...
package com.zhonglai.luhui.dao.dto;
import com.zhonglai.luhui.dao.annotation.PublicSQLConfig;
import com.zhonglai.luhui.dao.util.Sqlutil;
import com.zhonglai.luhui.util.DateUtils;
import com.zhonglai.luhui.util.sql.BaseEntity;
import com.zhonglai.luhui.util.sql.QueryType;
import org.apache.commons.lang3.StringUtils;
import tk.mybatis.mapper.entity.Example;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.text.MessageFormat;
import java.util.Date;
import java.util.List;
import java.util.Map;
... ... @@ -31,11 +31,12 @@ public class PublicSQL {
sb.append("INSERT INTO "+tableName);
String values = "";
String mfStr = "";
Field[] fields = list.get(0).getClass().getDeclaredFields( );
Method[] methods = list.get(0).getClass().getMethods();
for(Field field:fields)
{
PublicSQLConfig publicSQLConfig = field.getAnnotation(PublicSQLConfig.class);
if(null != publicSQLConfig && !publicSQLConfig.isSelect())
if(!haveGetMethod(methods,field))
{
continue;
}
... ... @@ -87,11 +88,12 @@ public class PublicSQL {
String tableName = changTableNameFromObject(object);
stringBuffer.append(tableName + "(");
Field[] fields = object.getClass().getDeclaredFields( );
Method[] methods = object.getClass().getMethods( );
StringBuffer values = new StringBuffer("(");
for(Field field:fields)
{//
PublicSQLConfig publicSQLConfig = field.getAnnotation(PublicSQLConfig.class);
if(null != publicSQLConfig && !publicSQLConfig.isSelect())
if(!haveGetMethod(methods,field))
{
continue;
}
... ... @@ -151,11 +153,10 @@ public class PublicSQL {
sql.append(tableName + "(");
Field[] fields = object.getClass().getDeclaredFields( );
String values = "(";
Method[] methods = object.getClass().getMethods();
for(Field field:fields)
{
PublicSQLConfig publicSQLConfig = field.getAnnotation(PublicSQLConfig.class);
if(null != publicSQLConfig && !publicSQLConfig.isSelect())
if(!haveGetMethod(methods,field))
{
continue;
}
... ... @@ -214,6 +215,7 @@ public class PublicSQL {
String sql = "update ";
sql += tableName;
Field[] fields = object.getClass().getDeclaredFields();
Method[] methods = object.getClass().getMethods();
if(null != fields && fields.length !=0 )
{
sql += " set ";
... ... @@ -221,8 +223,7 @@ public class PublicSQL {
for(int i=0;i<fields.length;i++)
{
Field field = fields[i];
PublicSQLConfig publicSQLConfig = field.getAnnotation(PublicSQLConfig.class);
if(null != publicSQLConfig && !publicSQLConfig.isSelect())
if(!haveGetMethod(methods,field))
{
continue;
}
... ... @@ -416,12 +417,12 @@ public class PublicSQL {
String like = "";
Field[] fields = object.getClass().getDeclaredFields();
Method[] methods = object.getClass().getMethods();
if(null != fields && fields.length !=0 )
{
for(Field field:fields)
{
PublicSQLConfig publicSQLConfig = field.getAnnotation(PublicSQLConfig.class);
if(null != publicSQLConfig && !publicSQLConfig.isSelect())
if(!haveGetMethod(methods,field))
{
continue;
}
... ... @@ -523,14 +524,14 @@ public class PublicSQL {
String where = " where 1=1 ";
String like = "";
Method[] methods = object.getClass().getMethods();
Field[] fields = object.getClass().getDeclaredFields();
if(null != fields && fields.length !=0 )
{
for(int i=0;i<fields.length;i++)
{
Field field = fields[i];
PublicSQLConfig publicSQLConfig = field.getAnnotation(PublicSQLConfig.class);
if(null != publicSQLConfig && !publicSQLConfig.isSelect())
if(!haveGetMethod(methods,field))
{
continue;
}
... ... @@ -612,12 +613,12 @@ public class PublicSQL {
String tableName = changTableNameFromObject(object);
sql += tableName + "(";
Field[] fields = object.getClass().getDeclaredFields( );
Method[] methods = object.getClass().getMethods( );
String values = "(";
String update = "";
for(Field field:fields)
{//
PublicSQLConfig publicSQLConfig = field.getAnnotation(PublicSQLConfig.class);
if(null != publicSQLConfig && !publicSQLConfig.isSelect())
if(!haveGetMethod(methods,field))
{
continue;
}
... ... @@ -676,6 +677,7 @@ public class PublicSQL {
Object object = objectlist.get(i);
Field[] fields = object.getClass().getDeclaredFields( );
Method[] methods = object.getClass().getMethods( );
if(i==0)
{
String tableName = changTableNameFromObject(object);
... ... @@ -683,8 +685,7 @@ public class PublicSQL {
sb.append("(");
for(Field field:fields)
{
PublicSQLConfig publicSQLConfig = field.getAnnotation(PublicSQLConfig.class);
if(null != publicSQLConfig && !publicSQLConfig.isSelect())
if(!haveGetMethod(methods,field))
{
continue;
}
... ... @@ -706,8 +707,7 @@ public class PublicSQL {
Field field = fields[j];
Method method;
try {
PublicSQLConfig publicSQLConfig = field.getAnnotation(PublicSQLConfig.class);
if(null != publicSQLConfig && !publicSQLConfig.isSelect())
if(!haveGetMethod(methods,field))
{
continue;
}
... ... @@ -784,10 +784,10 @@ public class PublicSQL {
{
String select = "";
Field[] fields = clas.getDeclaredFields();
Method[] methods = clas.getMethods();
for(Field field:fields)
{
PublicSQLConfig publicSQLConfig = field.getAnnotation(PublicSQLConfig.class);
if(null != publicSQLConfig && !publicSQLConfig.isSelect())
if(!haveGetMethod(methods,field))
{
continue;
}
... ... @@ -813,23 +813,28 @@ public class PublicSQL {
stringBuffer.append("`");
stringBuffer.append(tableName);
stringBuffer.append("`");
StringBuffer orderbyStringBuffer = new StringBuffer();
StringBuffer whereStringBuffer = new StringBuffer();
if(t instanceof BaseEntity)
{
BaseEntity baseEntity = (BaseEntity) t;
Map<String, Object[]> timeMap = baseEntity.getTimeMap();
String[] keyValues = baseEntity.getKeyValue();
Map<String, QueryType> params = baseEntity.getParams();
String orderBy = baseEntity.getOrderBy();
if(com.zhonglai.luhui.util.StringUtils.isNotEmpty(timeMap)) //时间条件
{
for (String time:timeMap.keySet())
{
stringBuffer.append("`"+time+"`");
stringBuffer.append(">=");
stringBuffer.append(timeMap.get(time)[0]);
// andcriteria.andGreaterThanOrEqualTo(time, timeMap.get(time)[0]) // 开始时间
// .andLessThan(time, timeMap.get(time)[1]); // 结束时间
whereStringBuffer.append(" AND ");
whereStringBuffer.append(setObject(time,QueryType.GTE,timeMap.get(time)[0]));// 开始时间
whereStringBuffer.append(" AND ");
whereStringBuffer.append(setObject(time,QueryType.LTE,timeMap.get(time)[1]));// 结束时间
}
}
... ... @@ -846,30 +851,8 @@ public class PublicSQL {
if(com.zhonglai.luhui.util.StringUtils.isNotNull(value))
{
QueryType queryType = params.get(key);
switch (queryType)
{
// case EQ:
// andcriteria.andEqualTo(key,value); //等于
// break;
// case NE:
// andcriteria.andNotEqualTo(key,value); //不等于
// break;
// case GT:
// andcriteria.andGreaterThan(key,value); //大于
// break;
// case GTE:
// andcriteria.andGreaterThanOrEqualTo(key,value); //大于等于
// break;
// case LT:
// andcriteria.andLessThan(key,value); //小于
// break;
// case LTE:
// andcriteria.andLessThanOrEqualTo(key,value); //小于等于
// break;
// case LIKE:
// andcriteria.andLike(key,value+""); //模糊查询
// break;
}
whereStringBuffer.append(" AND ");
whereStringBuffer.append(setObject(key,queryType,value));
}
} catch (NoSuchMethodException e) {
throw new RuntimeException(e);
... ... @@ -885,16 +868,122 @@ public class PublicSQL {
if(com.zhonglai.luhui.util.StringUtils.isNotEmpty(keyValues)) //模糊匹配添加
{
Example.Criteria orcriteria = example.createCriteria();
StringBuffer likeString = new StringBuffer();
String value = keyValues[0];
String[] keys = keyValues[1].split(",");
for(String key:keys)
{
orcriteria.orLike(key, "%" + value + "%");
likeString.append(" OR ");
likeString.append(setObject(key,QueryType.LIKE,value));
}
if(likeString.length() >0)
{
whereStringBuffer.append(" AND (");
whereStringBuffer.append(likeString.substring(3));
whereStringBuffer.append(")");
}
}
if(com.zhonglai.luhui.util.StringUtils.isNotEmpty(orderBy)) //排序
{
orderbyStringBuffer.append(" ORDER BY ");
orderbyStringBuffer.append(orderBy);
}
}
getValuseWhere(t,whereStringBuffer); //不带条件的有值参数
if(whereStringBuffer.length()>0)
{
stringBuffer.append(" WHERE ").append(whereStringBuffer.substring(4));
}
if(orderbyStringBuffer.length()>0)
{
stringBuffer.append(orderbyStringBuffer);
}
return stringBuffer.toString();
}
private String setObject(String key,QueryType queryType,Object o)
{
String dengshi = "=";
String yingyong = "'{}'";
switch (queryType)
{
case EQ:
dengshi = " = ";
break;
case NE:
dengshi = " != ";
break;
case GT:
dengshi = " > ";
break;
case GTE:
dengshi = " >= ";
break;
case LT:
dengshi = " < ";
break;
case LTE:
dengshi = " <= ";
break;
case LIKE:
dengshi = " like ";
yingyong = "'%{}%'";
break;
}
if(o instanceof Number)
{
yingyong = "{}";
}else if(o instanceof Date)
{
yingyong = "'"+DateUtils.parseDateToStr(DateUtils.getTime(), (Date) o)+"'";
}
example.and(orcriteria);
return " `"+Sqlutil.toUnderScoreCase(key)+"`"+dengshi+ com.zhonglai.luhui.util.StringUtils.format(yingyong,o) +" ";
}
private <T> void getValuseWhere(T t,StringBuffer stringBuffer)
{
Class clas = t.getClass();
Field[] fields = clas.getDeclaredFields(); //获取所有属性
Method[] methods = clas.getMethods(); //获取所有方法
for (Field field:fields)
{
field.setAccessible(true);
try {
Object value = field.get(t);
if(null != value && haveGetMethod(methods,field))
{
stringBuffer.append(" AND ");
stringBuffer.append(setObject(field.getName(),QueryType.EQ,value));
}
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
}
private boolean haveGetMethod(Method[] methods,Field field)
{
for (Method method:methods) //如何没有get方法就过滤掉
{
if(method.getName().equals("get"+ org.apache.commons.lang3.StringUtils.capitalize(field.getName())))
{
return true;
}
}
return false;
}
}
... ...
... ... @@ -63,7 +63,7 @@ public interface PublicMapper {
* @return
*/
@SelectProvider(type = PublicSQL.class, method = "getObject")
<T> T getObject(@Param("class") Class<T> clas, @Param("idName") String idName, @Param("values") String values);
Map<String,Object> getObject(@Param("class") Class<?> clas, @Param("idName") String idName, @Param("values") String values);
@SelectProvider(type = PublicSQL.class, method = "selectCountBySql")
Long selectCountBySql(@Param("sql") String sql);
... ... @@ -154,6 +154,6 @@ public interface PublicMapper {
int insertIntoBySql(@Param("sql") String sql);
@SelectProvider(type = PublicSQL.class, method = "selectTList")
public <T> List<T> selectTList(T t);
List<Map<String,Object>> selectTList(Object t);
}
... ...
//package com.zhonglai.luhui.dao.mapper;
//
//import org.springframework.stereotype.Component;
//import tk.mybatis.mapper.common.Mapper;
//
//
//@org.apache.ibatis.annotations.Mapper
//public interface PublicTemplateMapper<T> extends Mapper<T> {
//}
... ... @@ -2,20 +2,20 @@ package com.zhonglai.luhui.dao.service;
import java.util.List;
public interface PublicTemplateService<T> {
public interface PublicTemplateService{
/**
* 查询表
*
* @return 表
*/
public List<T> selectTList(T t);
<T> List<T> selectTList(T t);
public T getTById(Object id,Class<T> clas);
<T> T getTById(Object id,Class<T> clas);
public int add(T t);
int add(Object t);
public int edit(T t);
int edit(Object t);
public int removeByIds(Class<T> clas,Object... id);
int removeByIds(Class<?> clas,Object... id);
}
... ...
package com.zhonglai.luhui.dao.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.zhonglai.luhui.dao.mapper.PublicMapper;
import com.zhonglai.luhui.dao.service.PublicService;
import com.zhonglai.luhui.util.bean.MapToObjectConverter;
... ... @@ -91,7 +92,12 @@ public class PublicServiceImpl implements PublicService {
*/
public <T> T getObject(Class<T> clas, String idName, String values)
{
return publicMapper.getObject(clas,idName,values);
Object object = publicMapper.getObject(clas,idName,values);
if(null == object)
{
return null;
}
return BeanUtil.toBean(object,clas);
}
/**
... ...
//package com.zhonglai.luhui.dao.service.impl;
//
//import com.zhonglai.luhui.dao.mapper.PublicTemplateMapper;
//import com.zhonglai.luhui.dao.service.PublicTemplateService;
//import com.zhonglai.luhui.util.StringUtils;
//import com.zhonglai.luhui.util.sql.BaseEntity;
//import com.zhonglai.luhui.util.sql.QueryType;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.stereotype.Service;
//import tk.mybatis.mapper.common.Mapper;
//import tk.mybatis.mapper.entity.Example;
//
//import java.lang.reflect.InvocationTargetException;
//import java.lang.reflect.Method;
//import java.util.Arrays;
//import java.util.List;
//import java.util.Map;
//
///**
// * 公共模板服务
// */
//@Service
//public class PublicTemplateServiceImpl<T> implements PublicTemplateService<T> {
// @Autowired
// private PublicTemplateMapper<T> publicTemplateMapper;
//
// @Override
// public List<T> selectTList(T t) {
// Example example = new Example(t.getClass());
// Example.Criteria andcriteria = example.createCriteria();
//
// if(t instanceof BaseEntity)
// {
// BaseEntity baseEntity = (BaseEntity) t;
// Map<String, Object[]> timeMap = baseEntity.getTimeMap();
// String[] keyValues = baseEntity.getKeyValue();
// Map<String, QueryType> params = baseEntity.getParams();
//
// if(StringUtils.isNotEmpty(timeMap)) //时间条件
// {
// for (String time:timeMap.keySet())
// {
// andcriteria.andGreaterThanOrEqualTo(time, timeMap.get(time)[0]) // 开始时间
// .andLessThan(time, timeMap.get(time)[1]); // 结束时间
// }
// }
//
//
// if(StringUtils.isNotEmpty(params)) //自定义条件
// {
// Class clas = t.getClass();
// for (String key:params.keySet())
// {
// String getterMethodName = "get"+ org.apache.commons.lang3.StringUtils.capitalize(key);
// try {
// Method method = clas.getMethod(getterMethodName);
// Object value = method.invoke(t);
// if(StringUtils.isNotNull(value))
// {
// QueryType queryType = params.get(key);
// switch (queryType)
// {
// case EQ:
// andcriteria.andEqualTo(key,value); //等于
// break;
// case NE:
// andcriteria.andNotEqualTo(key,value); //不等于
// break;
// case GT:
// andcriteria.andGreaterThan(key,value); //大于
// break;
// case GTE:
// andcriteria.andGreaterThanOrEqualTo(key,value); //大于等于
// break;
// case LT:
// andcriteria.andLessThan(key,value); //小于
// break;
// case LTE:
// andcriteria.andLessThanOrEqualTo(key,value); //小于等于
// break;
// case LIKE:
// andcriteria.andLike(key,value+""); //模糊查询
// break;
// }
// }
// } catch (NoSuchMethodException e) {
// throw new RuntimeException(e);
// } catch (InvocationTargetException e) {
// throw new RuntimeException(e);
// } catch (IllegalAccessException e) {
// throw new RuntimeException(e);
// }
//
//
// }
// }
//
// if(StringUtils.isNotEmpty(keyValues)) //模糊匹配添加
// {
// Example.Criteria orcriteria = example.createCriteria();
//
// String value = keyValues[0];
// String[] keys = keyValues[1].split(",");
// for(String key:keys)
// {
// orcriteria.orLike(key, "%" + value + "%");
// }
// example.and(orcriteria);
// }
// }
//
// List<T> list = publicTemplateMapper.selectByExample(example);
// return list;
// }
//
// @Override
// public T getTById(Object id,Class<T> clas) {
// Example example = new Example(clas);
// Example.Criteria criteria = example.createCriteria();
// criteria.andEqualTo("id", id);
// return (T) publicTemplateMapper.selectOneByExample(criteria);
// }
//
// @Override
// public int add(T t) {
// return publicTemplateMapper.insert(t);
// }
//
// @Override
// public int edit(T t) {
// return publicTemplateMapper.updateByPrimaryKey(t);
// }
//
// @Override
// public int removeByIds(Class<T> clas, Object... ids) {
// Example example = new Example(clas);
// Example.Criteria criteria = example.createCriteria();
// criteria.andIn("id", Arrays.asList(ids));
// return publicTemplateMapper.deleteByExample(example);
// }
//
//
//}
package com.zhonglai.luhui.dao.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.zhonglai.luhui.dao.mapper.PublicMapper;
import com.zhonglai.luhui.dao.service.PublicTemplateService;
import com.zhonglai.luhui.util.bean.MapToObjectConverter;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
* 公共模板服务
*/
@Service
public class PublicTemplateServiceImpl implements PublicTemplateService {
@Autowired
private PublicMapper publicMapper;
@Override
public <T> List<T> selectTList(T t) {
List<Map<String,Object>> list = publicMapper.selectTList(t);
List<T> rList = null;
if(null != list && list.size() != 0)
{
rList = new ArrayList<T>();
for (Map<String,Object> map:list)
{
T at = null;
try {
at = (T) MapToObjectConverter.convert(map,t.getClass());
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InstantiationException e) {
e.printStackTrace();
}
rList.add(at);
}
}
return rList;
}
@Override
public <T> T getTById(Object id,Class<T> clas) {
Map<String,Object> object = publicMapper.getObject(clas,"id", String.valueOf(id));
if(null != object)
{
try {
return MapToObjectConverter.convert(object,clas);
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InstantiationException e) {
e.printStackTrace();
}
}
return null;
}
@Override
public int add(Object t) {
return publicMapper.insert(t);
}
@Override
public int edit(Object t) {
return publicMapper.updateObject(t,"id");
}
@Override
public int removeByIds(Class<?> clas, Object... ids) {
int i = 0;
for (Object o:ids)
{
i+=publicMapper.deleteObjectById(clas,o+"");
}
return i;
}
}
... ...
... ... @@ -39,11 +39,6 @@
</exclusions>
</dependency>
<!-- <dependency>-->
<!-- <groupId>tk.mybatis</groupId>-->
<!-- <artifactId>mapper-spring-boot-starter</artifactId>-->
<!-- </dependency>-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
... ...
... ... @@ -2,7 +2,6 @@ package com.zhonglai.luhui.springboot.druid.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.EnableAspectJAutoProxy;
import tk.mybatis.spring.annotation.MapperScan;
/**
* 程序注解配置
... ...
package com.zhonglai.luhui.admin.controller.cb;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.zhonglai.luhui.dao.service.PublicService;
import com.zhonglai.luhui.dao.service.PublicTemplateService;
... ... @@ -35,12 +34,22 @@ import com.zhonglai.luhui.sprngboot.common.core.page.TableDataInfo;
public class CbBoldClosingCostController extends BaseController
{
@Autowired
private PublicTemplateService<CbBoldClosingCost> publicTemplateService;
private PublicTemplateService publicTemplateService;
/**
* 查询标粗结转成本表列表
*/
@ApiOperation("查询标粗结转成本表列表")
@ApiOperation(value = "查询标粗结转成本表列表",notes="\n" +
"公共参数描述:\n" +
"条件参数:\n" +
"timeMap; //时间条件(如:{\"create_time\":[开始时间,结束时间]})\n" +
"keyValue; //模糊匹配的关键字(如:[\"value\",\"name,no\"])\n" +
"params; //字段对应的比较符号(如:{\"id\":\"EQ\"})\n" +
"orderBy; //排序(如:\"id desc,name asc\")\n" +
"\n" +
"分页参数:\n" +
"pageNum; //当前记录起始索引,从1开始\n" +
"pageSize; //每页显示记录数")
@GetMapping("/list")
public TableDataInfo list(CbBoldClosingCost cbBoldClosingCost)
{
... ... @@ -92,4 +101,5 @@ public class CbBoldClosingCostController extends BaseController
{
return toAjax(publicTemplateService.removeByIds(CbBoldClosingCost.class,ids));
}
}
... ...
... ... @@ -3,6 +3,7 @@ package ${packageName}.${projectName}.controller.${moduleName};
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.zhonglai.luhui.dao.service.PublicTemplateService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
##import org.springframework.security.access.prepost.PreAuthorize;
... ... @@ -39,19 +40,29 @@ import com.zhonglai.luhui.sprngboot.common.core.page.TableDataInfo;
public class ${ClassName}Controller extends BaseController
{
@Autowired
private I${ClassName}Service ${className}Service;
private PublicTemplateService publicTemplateService;
/**
* 查询${functionName}列表
*/
@ApiOperation("查询${functionName}列表")
@ApiOperation(value ="查询${functionName}列表",notes="\n" +
"公共参数描述:\n" +
"条件参数:\n" +
"timeMap; //时间条件(如:{\"create_time\":[开始时间,结束时间]})\n" +
"keyValue; //模糊匹配的关键字(如:[\"value\",\"name,no\"])\n" +
"params; //字段对应的比较符号(如:{\"id\":\"EQ\"})\n" +
"orderBy; //排序(如:\"id desc,name asc\")\n" +
"\n" +
"分页参数:\n" +
"pageNum; //当前记录起始索引,从1开始\n" +
"pageSize; //每页显示记录数")
## @PreAuthorize("@ss.hasPermi('${permissionPrefix}:list')")
@GetMapping("/list")
#if($table.crud || $table.sub)
public TableDataInfo list(${ClassName} ${className})
{
startPage();
List<${ClassName}> list = ${className}Service.select${ClassName}List(${className});
List<${ClassName}> list = publicTemplateService.selectTList(${className});
return getDataTable(list);
}
#elseif($table.tree)
... ... @@ -84,7 +95,7 @@ public class ${ClassName}Controller extends BaseController
@GetMapping(value = "/{${pkColumn.javaField}}")
public AjaxResult getInfo(@PathVariable("${pkColumn.javaField}") ${pkColumn.javaType} ${pkColumn.javaField})
{
return AjaxResult.success(${className}Service.select${ClassName}By${pkColumn.capJavaField}(${pkColumn.javaField}));
return AjaxResult.success(publicTemplateService.getTById(${pkColumn.javaField},${ClassName}.class));
}
/**
... ... @@ -96,7 +107,7 @@ public class ${ClassName}Controller extends BaseController
@PostMapping
public AjaxResult add(@RequestBody ${ClassName} ${className})
{
return toAjax(${className}Service.insert${ClassName}(${className}));
return toAjax(publicTemplateService.add(${className}));
}
/**
... ... @@ -108,7 +119,7 @@ public class ${ClassName}Controller extends BaseController
@PutMapping
public AjaxResult edit(@RequestBody ${ClassName} ${className})
{
return toAjax(${className}Service.update${ClassName}(${className}));
return toAjax(publicTemplateService.edit(${className}));
}
/**
... ... @@ -120,6 +131,6 @@ public class ${ClassName}Controller extends BaseController
@DeleteMapping("/{${pkColumn.javaField}s}")
public AjaxResult remove(@PathVariable ${pkColumn.javaType}[] ${pkColumn.javaField}s)
{
return toAjax(${className}Service.delete${ClassName}By${pkColumn.capJavaField}s(${pkColumn.javaField}s));
return toAjax(publicTemplateService.removeByIds(${pkColumn.javaField}s));
}
}
... ...
... ... @@ -162,19 +162,6 @@
</dependency>
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper</artifactId>
<!-- 建议使用最新版本,最新版本请从项目首页查找 -->
<version>${tkmapper.version}</version>
</dependency>
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId>
<version>${tkmapper.version}</version>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
... ...