代码生成器改造完成
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;
|
package co.yixiang.service.impl;
|
||||||
|
|
||||||
|
import co.yixiang.common.service.impl.BaseServiceImpl;
|
||||||
import co.yixiang.domain.GenConfig;
|
import co.yixiang.domain.GenConfig;
|
||||||
import co.yixiang.repository.GenConfigRepository;
|
|
||||||
import co.yixiang.service.GenConfigService;
|
import co.yixiang.service.GenConfigService;
|
||||||
|
import co.yixiang.service.mapper.GenConfigMapper;
|
||||||
import co.yixiang.utils.StringUtils;
|
import co.yixiang.utils.StringUtils;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import org.springframework.cache.annotation.CacheConfig;
|
import org.springframework.cache.annotation.CacheConfig;
|
||||||
import org.springframework.cache.annotation.CachePut;
|
import org.springframework.cache.annotation.CachePut;
|
||||||
import org.springframework.cache.annotation.Cacheable;
|
import org.springframework.cache.annotation.Cacheable;
|
||||||
@ -15,19 +17,13 @@ import java.io.File;
|
|||||||
* @date 2019-01-14
|
* @date 2019-01-14
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
@CacheConfig(cacheNames = "genConfig")
|
//@CacheConfig(cacheNames = "genConfig")
|
||||||
public class GenConfigServiceImpl implements GenConfigService {
|
public class GenConfigServiceImpl extends BaseServiceImpl<GenConfigMapper, GenConfig> implements GenConfigService {
|
||||||
|
|
||||||
private final GenConfigRepository genConfigRepository;
|
|
||||||
|
|
||||||
public GenConfigServiceImpl(GenConfigRepository genConfigRepository) {
|
|
||||||
this.genConfigRepository = genConfigRepository;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Cacheable(key = "#p0")
|
// @Cacheable(key = "#p0")
|
||||||
public GenConfig find(String tableName) {
|
public GenConfig find(String tableName) {
|
||||||
GenConfig genConfig = genConfigRepository.findByTableName(tableName);
|
GenConfig genConfig = this.getOne(new QueryWrapper<GenConfig>().eq("table_name",tableName));
|
||||||
if(genConfig == null){
|
if(genConfig == null){
|
||||||
return new GenConfig(tableName);
|
return new GenConfig(tableName);
|
||||||
}
|
}
|
||||||
@ -35,7 +31,7 @@ public class GenConfigServiceImpl implements GenConfigService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@CachePut(key = "#p0")
|
// @CachePut(key = "#p0")
|
||||||
public GenConfig update(String tableName, GenConfig genConfig) {
|
public GenConfig update(String tableName, GenConfig genConfig) {
|
||||||
// 如果 api 路径为空,则自动生成路径
|
// 如果 api 路径为空,则自动生成路径
|
||||||
if(StringUtils.isBlank(genConfig.getApiPath())){
|
if(StringUtils.isBlank(genConfig.getApiPath())){
|
||||||
@ -58,6 +54,7 @@ public class GenConfigServiceImpl implements GenConfigService {
|
|||||||
}
|
}
|
||||||
genConfig.setApiPath(api.toString());
|
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.collection.CollectionUtil;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import cn.hutool.core.util.ZipUtil;
|
import cn.hutool.core.util.ZipUtil;
|
||||||
|
import co.yixiang.common.service.impl.BaseServiceImpl;
|
||||||
import co.yixiang.domain.ColumnInfo;
|
import co.yixiang.domain.ColumnInfo;
|
||||||
import co.yixiang.domain.GenConfig;
|
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.utils.GenUtil;
|
||||||
import co.yixiang.domain.vo.TableInfo;
|
import co.yixiang.domain.vo.TableInfo;
|
||||||
import co.yixiang.exception.BadRequestException;
|
import co.yixiang.exception.BadRequestException;
|
||||||
import co.yixiang.repository.ColumnInfoRepository;
|
|
||||||
import co.yixiang.service.GeneratorService;
|
import co.yixiang.service.GeneratorService;
|
||||||
import co.yixiang.utils.FileUtil;
|
import co.yixiang.utils.FileUtil;
|
||||||
import co.yixiang.utils.PageUtil;
|
import co.yixiang.utils.PageUtil;
|
||||||
import co.yixiang.utils.StringUtils;
|
import co.yixiang.utils.StringUtils;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import org.springframework.http.HttpStatus;
|
import org.springframework.http.HttpStatus;
|
||||||
import org.springframework.http.ResponseEntity;
|
import org.springframework.http.ResponseEntity;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
@ -34,16 +37,11 @@ import java.util.stream.Collectors;
|
|||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
@SuppressWarnings({"unchecked","all"})
|
@SuppressWarnings({"unchecked","all"})
|
||||||
public class GeneratorServiceImpl implements GeneratorService {
|
public class GeneratorServiceImpl extends BaseServiceImpl<ColumnInfoMapper, ColumnInfo> implements GeneratorService {
|
||||||
|
|
||||||
@PersistenceContext
|
@PersistenceContext
|
||||||
private EntityManager em;
|
private EntityManager em;
|
||||||
|
|
||||||
private final ColumnInfoRepository columnInfoRepository;
|
|
||||||
|
|
||||||
public GeneratorServiceImpl(ColumnInfoRepository columnInfoRepository) {
|
|
||||||
this.columnInfoRepository = columnInfoRepository;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Object getTables() {
|
public Object getTables() {
|
||||||
@ -78,12 +76,14 @@ public class GeneratorServiceImpl implements GeneratorService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<ColumnInfo> getColumns(String tableName) {
|
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)){
|
if(CollectionUtil.isNotEmpty(columnInfos)){
|
||||||
return columnInfos;
|
return columnInfos;
|
||||||
} else {
|
} else {
|
||||||
columnInfos = query(tableName);
|
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())){
|
if(StringUtils.isBlank(column.getRemark())){
|
||||||
column.setRemark(columnInfo.getRemark());
|
column.setRemark(columnInfo.getRemark());
|
||||||
}
|
}
|
||||||
columnInfoRepository.save(column);
|
this.save(column);
|
||||||
} else {
|
} 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()));
|
List<ColumnInfo> columns = new ArrayList<ColumnInfo>(columnInfoList.stream().filter(c-> c.getColumnName().equals(columnInfo.getColumnName())).collect(Collectors.toList()));
|
||||||
// 如果找不到,就代表字段被删除了,则需要删除该字段
|
// 如果找不到,就代表字段被删除了,则需要删除该字段
|
||||||
if(CollectionUtil.isEmpty(columns)){
|
if(CollectionUtil.isEmpty(columns)){
|
||||||
columnInfoRepository.delete(columnInfo);
|
this.removeById(columnInfo.getId());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void save(List<ColumnInfo> columnInfos) {
|
public void save(List<ColumnInfo> columnInfos) {
|
||||||
columnInfoRepository.saveAll(columnInfos);
|
this.saveBatch(columnInfos);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@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