diff --git a/eladmin-common/src/main/java/me/zhengjie/annotation/Query.java b/eladmin-common/src/main/java/me/zhengjie/annotation/Query.java index c1a3160d..ac38cd62 100644 --- a/eladmin-common/src/main/java/me/zhengjie/annotation/Query.java +++ b/eladmin-common/src/main/java/me/zhengjie/annotation/Query.java @@ -31,6 +31,7 @@ public @interface Query { Join join() default Join.LEFT; enum Type { + /** jie 2019/6/4 相等 */ EQUAL /** Dong ZhaoYang 2017/8/7 大于等于 */ , GREATER_THAN diff --git a/eladmin-common/src/main/java/me/zhengjie/utils/QueryHelp.java b/eladmin-common/src/main/java/me/zhengjie/utils/QueryHelp.java index 5fd841e3..c0c945ea 100644 --- a/eladmin-common/src/main/java/me/zhengjie/utils/QueryHelp.java +++ b/eladmin-common/src/main/java/me/zhengjie/utils/QueryHelp.java @@ -101,7 +101,9 @@ public class QueryHelp { private static Expression getExpression(String attributeName, Join join, Root root) { if (ObjectUtil.isNotEmpty(join)) { return join.get(attributeName); - } else return root.get(attributeName); + } else { + return root.get(attributeName); + } } @SuppressWarnings("unchecked") diff --git a/eladmin-generator/src/main/java/me/zhengjie/domain/vo/TableInfo.java b/eladmin-generator/src/main/java/me/zhengjie/domain/vo/TableInfo.java index 46559dfd..92712d75 100644 --- a/eladmin-generator/src/main/java/me/zhengjie/domain/vo/TableInfo.java +++ b/eladmin-generator/src/main/java/me/zhengjie/domain/vo/TableInfo.java @@ -19,4 +19,15 @@ public class TableInfo { /** 创建日期 **/ private Object createTime; + + // 数据库引擎 + private Object engine; + + // 编码集 + private Object coding; + + // 备注 + private Object remark; + + } diff --git a/eladmin-generator/src/main/java/me/zhengjie/service/GenConfigService.java b/eladmin-generator/src/main/java/me/zhengjie/service/GenConfigService.java index 14213617..34276545 100644 --- a/eladmin-generator/src/main/java/me/zhengjie/service/GenConfigService.java +++ b/eladmin-generator/src/main/java/me/zhengjie/service/GenConfigService.java @@ -23,6 +23,7 @@ public interface GenConfigService { /** * update * @param genConfig + * @return */ @CacheEvict(allEntries = true) GenConfig update(GenConfig genConfig); diff --git a/eladmin-generator/src/main/java/me/zhengjie/service/impl/GeneratorServiceImpl.java b/eladmin-generator/src/main/java/me/zhengjie/service/impl/GeneratorServiceImpl.java index 434e76b4..49e4e1c5 100644 --- a/eladmin-generator/src/main/java/me/zhengjie/service/impl/GeneratorServiceImpl.java +++ b/eladmin-generator/src/main/java/me/zhengjie/service/impl/GeneratorServiceImpl.java @@ -1,5 +1,6 @@ package me.zhengjie.service.impl; +import cn.hutool.core.util.ObjectUtil; import me.zhengjie.domain.GenConfig; import me.zhengjie.domain.vo.ColumnInfo; import me.zhengjie.domain.vo.TableInfo; @@ -7,8 +8,8 @@ import me.zhengjie.exception.BadRequestException; import me.zhengjie.service.GeneratorService; import me.zhengjie.utils.GenUtil; import me.zhengjie.utils.PageUtil; +import me.zhengjie.utils.StringUtils; import org.springframework.stereotype.Service; -import org.springframework.util.ObjectUtils; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; import javax.persistence.Query; @@ -28,20 +29,18 @@ public class GeneratorServiceImpl implements GeneratorService { @Override public Object getTables(String name, int[] startEnd) { - StringBuilder sql = new StringBuilder("select table_name tableName,create_time createTime from information_schema.tables where table_schema = (select database()) "); - if(!ObjectUtils.isEmpty(name)){ - sql.append("and table_name like '%"+name+"%' "); - } - sql.append("order by table_name"); - Query query = em.createNativeQuery(sql.toString()); + // 使用预编译防止sql注入 + String sql = "select table_name ,create_time , engine, table_collation, table_comment from information_schema.tables " + + "where table_schema = (select database()) " + + "and table_name like ? order by create_time desc"; + Query query = em.createNativeQuery(sql); query.setFirstResult(startEnd[0]); query.setMaxResults(startEnd[1]-startEnd[0]); - - System.out.println(sql.toString()); + query.setParameter(1, StringUtils.isNotBlank(name) ? ("%" + name + "%") : "%%"); List result = query.getResultList(); List tableInfos = new ArrayList<>(); for (Object[] obj : result) { - tableInfos.add(new TableInfo(obj[0],obj[1])); + tableInfos.add(new TableInfo(obj[0],obj[1],obj[2],obj[3], ObjectUtil.isNotEmpty(obj[4])? obj[4] : "-")); } Query query1 = em.createNativeQuery("SELECT COUNT(*) from information_schema.tables where table_schema = (select database())"); Object totalElements = query1.getSingleResult(); @@ -50,12 +49,11 @@ public class GeneratorServiceImpl implements GeneratorService { @Override public Object getColumns(String name) { - StringBuilder sql = new StringBuilder("select column_name, is_nullable, data_type, column_comment, column_key, extra from information_schema.columns where "); - if(!ObjectUtils.isEmpty(name)){ - sql.append("table_name = '"+name+"' "); - } - sql.append("and table_schema = (select database()) order by ordinal_position"); - Query query = em.createNativeQuery(sql.toString()); + // 使用预编译防止sql注入 + String sql = "select column_name, is_nullable, data_type, column_comment, column_key, extra from information_schema.columns " + + "where table_name = ? and table_schema = (select database()) order by ordinal_position"; + Query query = em.createNativeQuery(sql); + query.setParameter(1, StringUtils.isNotBlank(name) ? name : null); List result = query.getResultList(); List columnInfos = new ArrayList<>(); for (Object[] obj : result) { diff --git a/eladmin-generator/src/main/java/me/zhengjie/utils/GenUtil.java b/eladmin-generator/src/main/java/me/zhengjie/utils/GenUtil.java index 45e7f306..2c60b7cd 100644 --- a/eladmin-generator/src/main/java/me/zhengjie/utils/GenUtil.java +++ b/eladmin-generator/src/main/java/me/zhengjie/utils/GenUtil.java @@ -57,8 +57,6 @@ public class GenUtil { List templateNames = new ArrayList<>(); templateNames.add("api"); templateNames.add("index"); - templateNames.add("header"); - templateNames.add("edit"); templateNames.add("eForm"); return templateNames; } @@ -174,8 +172,8 @@ public class GenUtil { * 定义后端文件路径以及名称 */ public static String getAdminFilePath(String templateName, GenConfig genConfig, String className) { - String ProjectPath = System.getProperty("user.dir") + File.separator + genConfig.getModuleName(); - String packagePath = ProjectPath + File.separator + "src" +File.separator+ "main" + File.separator + "java" + File.separator; + String projectPath = System.getProperty("user.dir") + File.separator + genConfig.getModuleName(); + String packagePath = projectPath + File.separator + "src" +File.separator+ "main" + File.separator + "java" + File.separator; if (!ObjectUtils.isEmpty(genConfig.getPack())) { packagePath += genConfig.getPack().replace(".", File.separator) + File.separator; } @@ -229,16 +227,8 @@ public class GenUtil { return path + File.separator + "index.vue"; } - if ("header".equals(templateName)) { - return path + File.separator + "module" + File.separator + "header.vue"; - } - - if ("edit".equals(templateName)) { - return path + File.separator + "module" + File.separator + "edit.vue"; - } - if ("eForm".equals(templateName)) { - return path + File.separator + "module" + File.separator + "form.vue"; + return path + File.separator + File.separator + "form.vue"; } return null; } diff --git a/eladmin-logging/src/main/java/me/zhengjie/repository/LogRepository.java b/eladmin-logging/src/main/java/me/zhengjie/repository/LogRepository.java index 1f190ae7..e557f8c6 100644 --- a/eladmin-logging/src/main/java/me/zhengjie/repository/LogRepository.java +++ b/eladmin-logging/src/main/java/me/zhengjie/repository/LogRepository.java @@ -22,6 +22,11 @@ public interface LogRepository extends JpaRepository, JpaSpecification @Query(value = "select count(*) FROM (select request_ip FROM log where create_time between ?1 and ?2 GROUP BY request_ip) as s",nativeQuery = true) Long findIp(String date1, String date2); + /** + * findExceptionById + * @param id + * @return + */ @Query(value = "select exception_detail FROM log where id = ?1",nativeQuery = true) String findExceptionById(Long id); } diff --git a/eladmin-logging/src/main/java/me/zhengjie/service/LogService.java b/eladmin-logging/src/main/java/me/zhengjie/service/LogService.java index fde7a6b3..3eb69de9 100644 --- a/eladmin-logging/src/main/java/me/zhengjie/service/LogService.java +++ b/eladmin-logging/src/main/java/me/zhengjie/service/LogService.java @@ -30,6 +30,8 @@ public interface LogService { /** * 新增日志 + * @param username + * @param ip * @param joinPoint * @param log */ diff --git a/eladmin-logging/src/main/java/me/zhengjie/service/dto/LogQueryCriteria.java b/eladmin-logging/src/main/java/me/zhengjie/service/dto/LogQueryCriteria.java index 4d583995..e4f0b64a 100644 --- a/eladmin-logging/src/main/java/me/zhengjie/service/dto/LogQueryCriteria.java +++ b/eladmin-logging/src/main/java/me/zhengjie/service/dto/LogQueryCriteria.java @@ -16,4 +16,7 @@ public class LogQueryCriteria { @Query private String logType; + + @Query(type = Query.Type.INNER_LIKE) + private String description; } diff --git a/eladmin-logging/src/main/java/me/zhengjie/service/impl/LogServiceImpl.java b/eladmin-logging/src/main/java/me/zhengjie/service/impl/LogServiceImpl.java index d5d42971..208e1a02 100644 --- a/eladmin-logging/src/main/java/me/zhengjie/service/impl/LogServiceImpl.java +++ b/eladmin-logging/src/main/java/me/zhengjie/service/impl/LogServiceImpl.java @@ -42,7 +42,7 @@ public class LogServiceImpl implements LogService { @Override public Object queryAll(LogQueryCriteria criteria, Pageable pageable){ Page page = logRepository.findAll(((root, criteriaQuery, cb) -> QueryHelp.getPredicate(root, criteria, cb)),pageable); - if (criteria.getLogType().equals("ERROR")) { + if ("ERROR".equals(criteria.getLogType())) { return PageUtil.toPage(page.map(logErrorMapper::toDto)); } return page; diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/monitor/service/impl/RedisServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/monitor/service/impl/RedisServiceImpl.java index e85294ae..f0ef3e89 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/monitor/service/impl/RedisServiceImpl.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/monitor/service/impl/RedisServiceImpl.java @@ -25,7 +25,7 @@ public class RedisServiceImpl implements RedisService { @Override public Page findByKey(String key, Pageable pageable){ List redisVos = new ArrayList<>(); - if(!key.equals("*")){ + if(!"*".equals(key)){ key = "*" + key + "*"; } for (Object s : redisTemplate.keys(key)) { diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/quartz/service/impl/QuartzJobServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/quartz/service/impl/QuartzJobServiceImpl.java index b0681e06..b38c6c59 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/quartz/service/impl/QuartzJobServiceImpl.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/quartz/service/impl/QuartzJobServiceImpl.java @@ -40,6 +40,7 @@ public class QuartzJobServiceImpl implements QuartzJobService { return PageUtil.toPage(quartzJobRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder),pageable)); } + @Override public Object queryAllLog(JobQueryCriteria criteria, Pageable pageable){ return PageUtil.toPage(quartzLogRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder),pageable)); } diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/domain/Menu.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/domain/Menu.java index 082edba1..b9f684f0 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/system/domain/Menu.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/domain/Menu.java @@ -9,6 +9,7 @@ import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import java.io.Serializable; import java.sql.Timestamp; +import java.util.Objects; import java.util.Set; /** @@ -61,4 +62,17 @@ public class Menu implements Serializable { private Timestamp createTime; public interface Update{} + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Menu menu = (Menu) o; + return Objects.equals(id, menu.id); + } + + @Override + public int hashCode() { + return Objects.hash(id); + } } diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/DictDetailController.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/DictDetailController.java index 0b775e8c..a15107fa 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/DictDetailController.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/DictDetailController.java @@ -15,6 +15,11 @@ import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import java.util.Arrays; +import java.util.HashMap; +import java.util.Map; +import java.util.stream.Collectors; + /** * @author Zheng Jie * @date 2019-04-10 @@ -32,9 +37,23 @@ public class DictDetailController { @GetMapping(value = "/dictDetail") public ResponseEntity getDictDetails(DictDetailQueryCriteria criteria, @PageableDefault(value = 10, sort = {"sort"}, direction = Sort.Direction.ASC) Pageable pageable){ + String[] names = criteria.getDictName().split(","); return new ResponseEntity(dictDetailService.queryAll(criteria,pageable),HttpStatus.OK); } + @Log("查询多个字典详情") + @GetMapping(value = "/dictDetail/map") + public ResponseEntity getDictDetailMaps(DictDetailQueryCriteria criteria, + @PageableDefault(value = 10, sort = {"sort"}, direction = Sort.Direction.ASC) Pageable pageable){ + String[] names = criteria.getDictName().split(","); + Map map = new HashMap(names.length); + for (String name : names) { + criteria.setDictName(name); + map.put(name,dictDetailService.queryAll(criteria,pageable).get("content")); + } + return new ResponseEntity(map,HttpStatus.OK); + } + @Log("新增字典详情") @PostMapping(value = "/dictDetail") @PreAuthorize("hasAnyRole('ADMIN','DICT_ALL','DICT_CREATE')") diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/UserController.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/UserController.java index 6bc4337b..37313d04 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/UserController.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/UserController.java @@ -121,22 +121,6 @@ public class UserController { return new ResponseEntity(HttpStatus.OK); } - /** - * 验证密码 - * @param user - * @return - */ - @PostMapping(value = "/users/validPass") - public ResponseEntity validPass(@RequestBody User user){ - UserDetails userDetails = SecurityUtils.getUserDetails(); - Map map = new HashMap(); - map.put("status",200); - if(!userDetails.getPassword().equals(EncryptUtils.encryptPassword(user.getPassword()))){ - map.put("status",400); - } - return new ResponseEntity(map,HttpStatus.OK); - } - /** * 修改密码 * @param user @@ -145,6 +129,9 @@ public class UserController { @PostMapping(value = "/users/updatePass") public ResponseEntity updatePass(@RequestBody User user){ UserDetails userDetails = SecurityUtils.getUserDetails(); + if(!userDetails.getPassword().equals(EncryptUtils.encryptPassword(user.getPassword()))){ + throw new BadRequestException("修改失败,旧密码错误"); + } if(userDetails.getPassword().equals(EncryptUtils.encryptPassword(user.getPassword()))){ throw new BadRequestException("新密码不能与旧密码相同"); } diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/DictDetailService.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/DictDetailService.java index 6c4d3dcd..2566984b 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/DictDetailService.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/DictDetailService.java @@ -8,6 +8,8 @@ import org.springframework.cache.annotation.CacheEvict; import org.springframework.cache.annotation.Cacheable; import org.springframework.data.domain.Pageable; +import java.util.Map; + /** * @author Zheng Jie * @date 2019-04-10 @@ -46,5 +48,5 @@ public interface DictDetailService { void delete(Long id); @Cacheable(keyGenerator = "keyGenerator") - Object queryAll(DictDetailQueryCriteria criteria, Pageable pageable); + Map queryAll(DictDetailQueryCriteria criteria, Pageable pageable); } \ No newline at end of file diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/DictDetailDTO.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/DictDetailDTO.java index bf2bb433..b39fbb26 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/DictDetailDTO.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/DictDetailDTO.java @@ -26,9 +26,4 @@ public class DictDetailDTO implements Serializable { * 排序 */ private String sort; - - /** - * 字典id - */ - private String dictName; } \ No newline at end of file diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DictDetailServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DictDetailServiceImpl.java index dc4de1c4..049c7a34 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DictDetailServiceImpl.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DictDetailServiceImpl.java @@ -15,6 +15,8 @@ import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; + +import java.util.Map; import java.util.Optional; /** @@ -32,7 +34,7 @@ public class DictDetailServiceImpl implements DictDetailService { private DictDetailMapper dictDetailMapper; @Override - public Object queryAll(DictDetailQueryCriteria criteria, Pageable pageable) { + public Map queryAll(DictDetailQueryCriteria criteria, Pageable pageable) { Page page = dictDetailRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder),pageable); return PageUtil.toPage(page.map(dictDetailMapper::toDto)); } diff --git a/eladmin-system/src/main/resources/template/generator/admin/Controller.ftl b/eladmin-system/src/main/resources/template/generator/admin/Controller.ftl index 005c0d4a..9ec0b10c 100644 --- a/eladmin-system/src/main/resources/template/generator/admin/Controller.ftl +++ b/eladmin-system/src/main/resources/template/generator/admin/Controller.ftl @@ -11,12 +11,13 @@ import org.springframework.http.ResponseEntity; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; - +import io.swagger.annotations.*; /** * @author ${author} * @date ${date} */ +@Api(tags = "${className}管理") @RestController @RequestMapping("api") public class ${className}Controller { @@ -25,6 +26,7 @@ public class ${className}Controller { private ${className}Service ${changeClassName}Service; @Log("查询${className}") + @ApiOperation(value = "查询${className}") @GetMapping(value = "/${changeClassName}") @PreAuthorize("hasAnyRole('ADMIN','${upperCaseClassName}_ALL','${upperCaseClassName}_SELECT')") public ResponseEntity get${className}s(${className}QueryCriteria criteria, Pageable pageable){ @@ -32,6 +34,7 @@ public class ${className}Controller { } @Log("新增${className}") + @ApiOperation(value = "新增${className}") @PostMapping(value = "/${changeClassName}") @PreAuthorize("hasAnyRole('ADMIN','${upperCaseClassName}_ALL','${upperCaseClassName}_CREATE')") public ResponseEntity create(@Validated @RequestBody ${className} resources){ @@ -39,6 +42,7 @@ public class ${className}Controller { } @Log("修改${className}") + @ApiOperation(value = "修改${className}") @PutMapping(value = "/${changeClassName}") @PreAuthorize("hasAnyRole('ADMIN','${upperCaseClassName}_ALL','${upperCaseClassName}_EDIT')") public ResponseEntity update(@Validated @RequestBody ${className} resources){ @@ -47,6 +51,7 @@ public class ${className}Controller { } @Log("删除${className}") + @ApiOperation(value = "删除${className}") @DeleteMapping(value = "/${changeClassName}/{${pkChangeColName}}") @PreAuthorize("hasAnyRole('ADMIN','${upperCaseClassName}_ALL','${upperCaseClassName}_DELETE')") public ResponseEntity delete(@PathVariable ${pkColumnType} ${pkChangeColName}){ diff --git a/eladmin-system/src/main/resources/template/generator/admin/Entity.ftl b/eladmin-system/src/main/resources/template/generator/admin/Entity.ftl index 195c40e3..5bf7eab4 100644 --- a/eladmin-system/src/main/resources/template/generator/admin/Entity.ftl +++ b/eladmin-system/src/main/resources/template/generator/admin/Entity.ftl @@ -1,6 +1,8 @@ package ${package}.domain; import lombok.Data; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.bean.copier.CopyOptions; import javax.persistence.*; <#if hasTimestamp> import java.sql.Timestamp; @@ -34,4 +36,8 @@ public class ${className} implements Serializable { private ${column.columnType} ${column.changeColumnName}; + + public void copy(${className} source){ + BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true)); + } } \ No newline at end of file diff --git a/eladmin-system/src/main/resources/template/generator/admin/Service.ftl b/eladmin-system/src/main/resources/template/generator/admin/Service.ftl index f692446e..e6aa6b9e 100644 --- a/eladmin-system/src/main/resources/template/generator/admin/Service.ftl +++ b/eladmin-system/src/main/resources/template/generator/admin/Service.ftl @@ -3,16 +3,16 @@ package ${package}.service; import ${package}.domain.${className}; import ${package}.service.dto.${className}DTO; import ${package}.service.dto.${className}QueryCriteria; -import org.springframework.cache.annotation.CacheConfig; -import org.springframework.cache.annotation.CacheEvict; -import org.springframework.cache.annotation.Cacheable; +//import org.springframework.cache.annotation.CacheConfig; +//import org.springframework.cache.annotation.CacheEvict; +//import org.springframework.cache.annotation.Cacheable; import org.springframework.data.domain.Pageable; /** * @author ${author} * @date ${date} */ -@CacheConfig(cacheNames = "${changeClassName}") +//@CacheConfig(cacheNames = "${changeClassName}") public interface ${className}Service { /** @@ -21,7 +21,7 @@ public interface ${className}Service { * @param pageable * @return */ - @Cacheable(keyGenerator = "keyGenerator") + //@Cacheable(keyGenerator = "keyGenerator") Object queryAll(${className}QueryCriteria criteria, Pageable pageable); /** @@ -29,7 +29,7 @@ public interface ${className}Service { * @param criteria * @return */ - @Cacheable(keyGenerator = "keyGenerator") + //@Cacheable(keyGenerator = "keyGenerator") public Object queryAll(${className}QueryCriteria criteria); /** @@ -37,7 +37,7 @@ public interface ${className}Service { * @param ${pkChangeColName} * @return */ - @Cacheable(key = "#p0") + //@Cacheable(key = "#p0") ${className}DTO findById(${pkColumnType} ${pkChangeColName}); /** @@ -45,20 +45,20 @@ public interface ${className}Service { * @param resources * @return */ - @CacheEvict(allEntries = true) + //@CacheEvict(allEntries = true) ${className}DTO create(${className} resources); /** * update * @param resources */ - @CacheEvict(allEntries = true) + //@CacheEvict(allEntries = true) void update(${className} resources); /** * delete * @param ${pkChangeColName} */ - @CacheEvict(allEntries = true) + //@CacheEvict(allEntries = true) void delete(${pkColumnType} ${pkChangeColName}); } \ No newline at end of file diff --git a/eladmin-system/src/main/resources/template/generator/admin/ServiceImpl.ftl b/eladmin-system/src/main/resources/template/generator/admin/ServiceImpl.ftl index 9f447c27..efa5e89b 100644 --- a/eladmin-system/src/main/resources/template/generator/admin/ServiceImpl.ftl +++ b/eladmin-system/src/main/resources/template/generator/admin/ServiceImpl.ftl @@ -92,7 +92,6 @@ public class ${className}ServiceImpl implements ${className}Service { public void update(${className} resources) { Optional<${className}> optional${className} = ${changeClassName}Repository.findById(resources.get${pkCapitalColName}()); ValidationUtil.isNull( optional${className},"${className}","id",resources.get${pkCapitalColName}()); - ${className} ${changeClassName} = optional${className}.get(); <#if columns??> <#list columns as column> @@ -107,9 +106,8 @@ public class ${className}ServiceImpl implements ${className}Service { - // 此处需自己修改 - resources.set${pkCapitalColName}(${changeClassName}.get${pkCapitalColName}()); - ${changeClassName}Repository.save(resources); + ${changeClassName}.copy(resources); + ${changeClassName}Repository.save(${changeClassName}); } @Override diff --git a/eladmin-system/src/main/resources/template/generator/front/eForm.ftl b/eladmin-system/src/main/resources/template/generator/front/eForm.ftl index e58ac821..84acd88f 100644 --- a/eladmin-system/src/main/resources/template/generator/front/eForm.ftl +++ b/eladmin-system/src/main/resources/template/generator/front/eForm.ftl @@ -25,10 +25,6 @@ export default { isAdd: { type: Boolean, required: true - }, - sup_this: { - type: Object, - default: null } }, data() { @@ -71,7 +67,7 @@ export default { duration: 2500 }) this.loading = false - this.$parent.$parent.init() + this.$parent.init() }).catch(err => { this.loading = false console.log(err.response.data.message) @@ -86,7 +82,7 @@ export default { duration: 2500 }) this.loading = false - this.sup_this.init() + this.$parent.init() }).catch(err => { this.loading = false console.log(err.response.data.message) diff --git a/eladmin-system/src/main/resources/template/generator/front/edit.ftl b/eladmin-system/src/main/resources/template/generator/front/edit.ftl deleted file mode 100644 index c486b0c5..00000000 --- a/eladmin-system/src/main/resources/template/generator/front/edit.ftl +++ /dev/null @@ -1,42 +0,0 @@ - - - - diff --git a/eladmin-system/src/main/resources/template/generator/front/header.ftl b/eladmin-system/src/main/resources/template/generator/front/header.ftl deleted file mode 100644 index 81c72e98..00000000 --- a/eladmin-system/src/main/resources/template/generator/front/header.ftl +++ /dev/null @@ -1,56 +0,0 @@ - - - diff --git a/eladmin-system/src/main/resources/template/generator/front/index.ftl b/eladmin-system/src/main/resources/template/generator/front/index.ftl index 72f79407..cff66db1 100644 --- a/eladmin-system/src/main/resources/template/generator/front/index.ftl +++ b/eladmin-system/src/main/resources/template/generator/front/index.ftl @@ -1,7 +1,29 @@ <#--noinspection ALL-->