代码生成器改造完成
This commit is contained in:
@ -1,19 +0,0 @@
|
||||
package co.yixiang.repository;
|
||||
|
||||
import co.yixiang.domain.ColumnInfo;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author Zheng Jie
|
||||
* @date 2019-01-14
|
||||
*/
|
||||
public interface ColumnInfoRepository extends JpaRepository<ColumnInfo,Long> {
|
||||
|
||||
/**
|
||||
* 查询表信息
|
||||
* @param tableName 表格名
|
||||
* @return 表信息
|
||||
*/
|
||||
List<ColumnInfo> findByTableNameOrderByIdAsc(String tableName);
|
||||
}
|
@ -1,18 +0,0 @@
|
||||
package co.yixiang.repository;
|
||||
|
||||
import co.yixiang.domain.GenConfig;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
|
||||
/**
|
||||
* @author Zheng Jie
|
||||
* @date 2019-01-14
|
||||
*/
|
||||
public interface GenConfigRepository extends JpaRepository<GenConfig,Long> {
|
||||
|
||||
/**
|
||||
* 查询表配置
|
||||
* @param tableName 表名
|
||||
* @return /
|
||||
*/
|
||||
GenConfig findByTableName(String tableName);
|
||||
}
|
@ -1,9 +1,11 @@
|
||||
package co.yixiang.service.impl;
|
||||
|
||||
import co.yixiang.common.service.impl.BaseServiceImpl;
|
||||
import co.yixiang.domain.GenConfig;
|
||||
import co.yixiang.repository.GenConfigRepository;
|
||||
import co.yixiang.service.GenConfigService;
|
||||
import co.yixiang.service.mapper.GenConfigMapper;
|
||||
import co.yixiang.utils.StringUtils;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import org.springframework.cache.annotation.CacheConfig;
|
||||
import org.springframework.cache.annotation.CachePut;
|
||||
import org.springframework.cache.annotation.Cacheable;
|
||||
@ -15,19 +17,13 @@ import java.io.File;
|
||||
* @date 2019-01-14
|
||||
*/
|
||||
@Service
|
||||
@CacheConfig(cacheNames = "genConfig")
|
||||
public class GenConfigServiceImpl implements GenConfigService {
|
||||
|
||||
private final GenConfigRepository genConfigRepository;
|
||||
|
||||
public GenConfigServiceImpl(GenConfigRepository genConfigRepository) {
|
||||
this.genConfigRepository = genConfigRepository;
|
||||
}
|
||||
//@CacheConfig(cacheNames = "genConfig")
|
||||
public class GenConfigServiceImpl extends BaseServiceImpl<GenConfigMapper, GenConfig> implements GenConfigService {
|
||||
|
||||
@Override
|
||||
@Cacheable(key = "#p0")
|
||||
// @Cacheable(key = "#p0")
|
||||
public GenConfig find(String tableName) {
|
||||
GenConfig genConfig = genConfigRepository.findByTableName(tableName);
|
||||
GenConfig genConfig = this.getOne(new QueryWrapper<GenConfig>().eq("table_name",tableName));
|
||||
if(genConfig == null){
|
||||
return new GenConfig(tableName);
|
||||
}
|
||||
@ -35,7 +31,7 @@ public class GenConfigServiceImpl implements GenConfigService {
|
||||
}
|
||||
|
||||
@Override
|
||||
@CachePut(key = "#p0")
|
||||
// @CachePut(key = "#p0")
|
||||
public GenConfig update(String tableName, GenConfig genConfig) {
|
||||
// 如果 api 路径为空,则自动生成路径
|
||||
if(StringUtils.isBlank(genConfig.getApiPath())){
|
||||
@ -58,6 +54,7 @@ public class GenConfigServiceImpl implements GenConfigService {
|
||||
}
|
||||
genConfig.setApiPath(api.toString());
|
||||
}
|
||||
return genConfigRepository.save(genConfig);
|
||||
this.save(genConfig);
|
||||
return genConfig;
|
||||
}
|
||||
}
|
||||
|
@ -3,16 +3,19 @@ package co.yixiang.service.impl;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.ZipUtil;
|
||||
import co.yixiang.common.service.impl.BaseServiceImpl;
|
||||
import co.yixiang.domain.ColumnInfo;
|
||||
import co.yixiang.domain.GenConfig;
|
||||
import co.yixiang.service.mapper.ColumnInfoMapper;
|
||||
import co.yixiang.service.mapper.GenConfigMapper;
|
||||
import co.yixiang.utils.GenUtil;
|
||||
import co.yixiang.domain.vo.TableInfo;
|
||||
import co.yixiang.exception.BadRequestException;
|
||||
import co.yixiang.repository.ColumnInfoRepository;
|
||||
import co.yixiang.service.GeneratorService;
|
||||
import co.yixiang.utils.FileUtil;
|
||||
import co.yixiang.utils.PageUtil;
|
||||
import co.yixiang.utils.StringUtils;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.stereotype.Service;
|
||||
@ -34,16 +37,11 @@ import java.util.stream.Collectors;
|
||||
*/
|
||||
@Service
|
||||
@SuppressWarnings({"unchecked","all"})
|
||||
public class GeneratorServiceImpl implements GeneratorService {
|
||||
public class GeneratorServiceImpl extends BaseServiceImpl<ColumnInfoMapper, ColumnInfo> implements GeneratorService {
|
||||
|
||||
@PersistenceContext
|
||||
private EntityManager em;
|
||||
|
||||
private final ColumnInfoRepository columnInfoRepository;
|
||||
|
||||
public GeneratorServiceImpl(ColumnInfoRepository columnInfoRepository) {
|
||||
this.columnInfoRepository = columnInfoRepository;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getTables() {
|
||||
@ -78,12 +76,14 @@ public class GeneratorServiceImpl implements GeneratorService {
|
||||
|
||||
@Override
|
||||
public List<ColumnInfo> getColumns(String tableName) {
|
||||
List<ColumnInfo> columnInfos = columnInfoRepository.findByTableNameOrderByIdAsc(tableName);
|
||||
List<ColumnInfo> columnInfos = this.list(new QueryWrapper<ColumnInfo>()
|
||||
.eq("table_name",tableName).orderByAsc("id"));
|
||||
if(CollectionUtil.isNotEmpty(columnInfos)){
|
||||
return columnInfos;
|
||||
} else {
|
||||
columnInfos = query(tableName);
|
||||
return columnInfoRepository.saveAll(columnInfos);
|
||||
this.saveBatch(columnInfos);
|
||||
return columnInfos;
|
||||
}
|
||||
}
|
||||
|
||||
@ -127,10 +127,10 @@ public class GeneratorServiceImpl implements GeneratorService {
|
||||
if(StringUtils.isBlank(column.getRemark())){
|
||||
column.setRemark(columnInfo.getRemark());
|
||||
}
|
||||
columnInfoRepository.save(column);
|
||||
this.save(column);
|
||||
} else {
|
||||
// 如果找不到,则保存新字段信息
|
||||
columnInfoRepository.save(columnInfo);
|
||||
this.save(columnInfo);
|
||||
}
|
||||
}
|
||||
// 第二种情况,数据库字段删除了
|
||||
@ -139,14 +139,14 @@ public class GeneratorServiceImpl implements GeneratorService {
|
||||
List<ColumnInfo> columns = new ArrayList<ColumnInfo>(columnInfoList.stream().filter(c-> c.getColumnName().equals(columnInfo.getColumnName())).collect(Collectors.toList()));
|
||||
// 如果找不到,就代表字段被删除了,则需要删除该字段
|
||||
if(CollectionUtil.isEmpty(columns)){
|
||||
columnInfoRepository.delete(columnInfo);
|
||||
this.removeById(columnInfo.getId());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void save(List<ColumnInfo> columnInfos) {
|
||||
columnInfoRepository.saveAll(columnInfos);
|
||||
this.saveBatch(columnInfos);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -0,0 +1,12 @@
|
||||
package co.yixiang.service.mapper;
|
||||
|
||||
import co.yixiang.common.mapper.CoreMapper;
|
||||
import co.yixiang.domain.ColumnInfo;
|
||||
import co.yixiang.domain.GenConfig;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
@Repository
|
||||
@Mapper
|
||||
public interface ColumnInfoMapper extends CoreMapper<ColumnInfo> {
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
package co.yixiang.service.mapper;
|
||||
|
||||
import co.yixiang.common.mapper.CoreMapper;
|
||||
import co.yixiang.domain.GenConfig;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
@Repository
|
||||
@Mapper
|
||||
public interface GenConfigMapper extends CoreMapper<GenConfig> {
|
||||
}
|
Reference in New Issue
Block a user