From aaeb67b28091099e9b94400b4e0b66a038ec6059 Mon Sep 17 00:00:00 2001 From: dqjdda <201507802@qq.com> Date: Tue, 19 Nov 2019 13:09:22 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E7=94=9F=E6=88=90=E5=99=A8?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=A4=9A=E9=80=89=E5=88=A0=E9=99=A4=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/me/zhengjie/gen/domain/GenTest.java | 51 -------- .../gen/repository/GenTestRepository.java | 12 -- .../zhengjie/gen/rest/GenTestController.java | 73 ------------ .../zhengjie/gen/service/GenTestService.java | 47 -------- .../zhengjie/gen/service/dto/GenTestDTO.java | 33 ------ .../gen/service/dto/GenTestQueryCriteria.java | 35 ------ .../gen/service/impl/GenTestServiceImpl.java | 109 ------------------ .../gen/service/mapper/GenTestMapper.java | 16 --- .../template/generator/admin/Controller.ftl | 9 ++ .../template/generator/admin/Service.ftl | 2 + .../template/generator/admin/ServiceImpl.ftl | 7 ++ .../template/generator/front/api.ftl | 7 ++ .../template/generator/front/eForm.ftl | 2 +- .../template/generator/front/index.ftl | 48 +++++++- 14 files changed, 71 insertions(+), 380 deletions(-) delete mode 100644 eladmin-system/src/main/java/me/zhengjie/gen/domain/GenTest.java delete mode 100644 eladmin-system/src/main/java/me/zhengjie/gen/repository/GenTestRepository.java delete mode 100644 eladmin-system/src/main/java/me/zhengjie/gen/rest/GenTestController.java delete mode 100644 eladmin-system/src/main/java/me/zhengjie/gen/service/GenTestService.java delete mode 100644 eladmin-system/src/main/java/me/zhengjie/gen/service/dto/GenTestDTO.java delete mode 100644 eladmin-system/src/main/java/me/zhengjie/gen/service/dto/GenTestQueryCriteria.java delete mode 100644 eladmin-system/src/main/java/me/zhengjie/gen/service/impl/GenTestServiceImpl.java delete mode 100644 eladmin-system/src/main/java/me/zhengjie/gen/service/mapper/GenTestMapper.java diff --git a/eladmin-system/src/main/java/me/zhengjie/gen/domain/GenTest.java b/eladmin-system/src/main/java/me/zhengjie/gen/domain/GenTest.java deleted file mode 100644 index f16ebea0..00000000 --- a/eladmin-system/src/main/java/me/zhengjie/gen/domain/GenTest.java +++ /dev/null @@ -1,51 +0,0 @@ -package me.zhengjie.gen.domain; - -import lombok.Data; -import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.bean.copier.CopyOptions; -import javax.persistence.*; -import javax.validation.constraints.*; -import javax.persistence.Entity; -import javax.persistence.Table; -import org.hibernate.annotations.*; -import java.sql.Timestamp; -import java.io.Serializable; - -/** -* @author Zheng Jie -* @date 2019-11-19 -*/ -@Entity -@Data -@Table(name="gen_test") -public class GenTest implements Serializable { - - // ID - @Id - @Column(name = "id") - private Long id; - - // 名称 - @Column(name = "name",nullable = false) - @NotBlank - private String name; - - // 状态 - @Column(name = "status",nullable = false) - @NotNull - private Boolean status; - - // 日期 - @Column(name = "date",nullable = false) - @NotNull - private Timestamp date; - - // 创建日期 - @Column(name = "create_time") - @CreationTimestamp - private Timestamp createTime; - - public void copy(GenTest source){ - BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true)); - } -} \ No newline at end of file diff --git a/eladmin-system/src/main/java/me/zhengjie/gen/repository/GenTestRepository.java b/eladmin-system/src/main/java/me/zhengjie/gen/repository/GenTestRepository.java deleted file mode 100644 index e52586d0..00000000 --- a/eladmin-system/src/main/java/me/zhengjie/gen/repository/GenTestRepository.java +++ /dev/null @@ -1,12 +0,0 @@ -package me.zhengjie.gen.repository; - -import me.zhengjie.gen.domain.GenTest; -import org.springframework.data.jpa.repository.JpaRepository; -import org.springframework.data.jpa.repository.JpaSpecificationExecutor; - -/** -* @author Zheng Jie -* @date 2019-11-19 -*/ -public interface GenTestRepository extends JpaRepository, JpaSpecificationExecutor { -} \ No newline at end of file diff --git a/eladmin-system/src/main/java/me/zhengjie/gen/rest/GenTestController.java b/eladmin-system/src/main/java/me/zhengjie/gen/rest/GenTestController.java deleted file mode 100644 index d5a37a85..00000000 --- a/eladmin-system/src/main/java/me/zhengjie/gen/rest/GenTestController.java +++ /dev/null @@ -1,73 +0,0 @@ -package me.zhengjie.gen.rest; - -import me.zhengjie.aop.log.Log; -import me.zhengjie.gen.domain.GenTest; -import me.zhengjie.gen.service.GenTestService; -import me.zhengjie.gen.service.dto.GenTestQueryCriteria; -import org.springframework.data.domain.Pageable; -import org.springframework.http.HttpStatus; -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.*; -import java.io.IOException; -import javax.servlet.http.HttpServletResponse; - -/** -* @author Zheng Jie -* @date 2019-11-19 -*/ -@Api(tags = "GenTest管理") -@RestController -@RequestMapping("/api/genTest") -public class GenTestController { - - private final GenTestService genTestService; - - public GenTestController(GenTestService genTestService) { - this.genTestService = genTestService; - } - - @Log("导出数据") - @ApiOperation("导出数据") - @GetMapping(value = "/download") - @PreAuthorize("@el.check('genTest:list')") - public void download(HttpServletResponse response, GenTestQueryCriteria criteria) throws IOException { - genTestService.download(genTestService.queryAll(criteria), response); - } - - @GetMapping - @Log("查询GenTest") - @ApiOperation("查询GenTest") - @PreAuthorize("@el.check('genTest:list')") - public ResponseEntity getGenTests(GenTestQueryCriteria criteria, Pageable pageable){ - return new ResponseEntity<>(genTestService.queryAll(criteria,pageable),HttpStatus.OK); - } - - @PostMapping - @Log("新增GenTest") - @ApiOperation("新增GenTest") - @PreAuthorize("@el.check('genTest:add')") - public ResponseEntity create(@Validated @RequestBody GenTest resources){ - return new ResponseEntity<>(genTestService.create(resources),HttpStatus.CREATED); - } - - @PutMapping - @Log("修改GenTest") - @ApiOperation("修改GenTest") - @PreAuthorize("@el.check('genTest:edit')") - public ResponseEntity update(@Validated @RequestBody GenTest resources){ - genTestService.update(resources); - return new ResponseEntity(HttpStatus.NO_CONTENT); - } - - @DeleteMapping(value = "/{id}") - @Log("删除GenTest") - @ApiOperation("删除GenTest") - @PreAuthorize("@el.check('genTest:del')") - public ResponseEntity delete(@PathVariable Long id){ - genTestService.delete(id); - return new ResponseEntity(HttpStatus.OK); - } -} \ No newline at end of file diff --git a/eladmin-system/src/main/java/me/zhengjie/gen/service/GenTestService.java b/eladmin-system/src/main/java/me/zhengjie/gen/service/GenTestService.java deleted file mode 100644 index 4c6c6123..00000000 --- a/eladmin-system/src/main/java/me/zhengjie/gen/service/GenTestService.java +++ /dev/null @@ -1,47 +0,0 @@ -package me.zhengjie.gen.service; - -import me.zhengjie.gen.domain.GenTest; -import me.zhengjie.gen.service.dto.GenTestDTO; -import me.zhengjie.gen.service.dto.GenTestQueryCriteria; -import org.springframework.data.domain.Pageable; -import java.util.Map; -import java.util.List; -import java.io.IOException; -import javax.servlet.http.HttpServletResponse; - -/** -* @author Zheng Jie -* @date 2019-11-19 -*/ -public interface GenTestService { - - /** - * 查询数据分页 - * @param criteria 条件参数 - * @param pageable 分页参数 - * @return Map - */ - Map queryAll(GenTestQueryCriteria criteria, Pageable pageable); - - /** - * 查询所有数据不分页 - * @param criteria 条件参数 - * @return List - */ - List queryAll(GenTestQueryCriteria criteria); - - /** - * 根据ID查询 - * @param id ID - * @return GenTestDTO - */ - GenTestDTO findById(Long id); - - GenTestDTO create(GenTest resources); - - void update(GenTest resources); - - void delete(Long id); - - void download(List all, HttpServletResponse response) throws IOException; -} \ No newline at end of file diff --git a/eladmin-system/src/main/java/me/zhengjie/gen/service/dto/GenTestDTO.java b/eladmin-system/src/main/java/me/zhengjie/gen/service/dto/GenTestDTO.java deleted file mode 100644 index d1239b58..00000000 --- a/eladmin-system/src/main/java/me/zhengjie/gen/service/dto/GenTestDTO.java +++ /dev/null @@ -1,33 +0,0 @@ -package me.zhengjie.gen.service.dto; - -import lombok.Data; -import java.sql.Timestamp; -import java.io.Serializable; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; - - -/** -* @author Zheng Jie -* @date 2019-11-19 -*/ -@Data -public class GenTestDTO implements Serializable { - - // ID - // 处理精度丢失问题 - @JsonSerialize(using= ToStringSerializer.class) - private Long id; - - // 名称 - private String name; - - // 状态 - private Boolean status; - - // 日期 - private Timestamp date; - - // 创建日期 - private Timestamp createTime; -} \ No newline at end of file diff --git a/eladmin-system/src/main/java/me/zhengjie/gen/service/dto/GenTestQueryCriteria.java b/eladmin-system/src/main/java/me/zhengjie/gen/service/dto/GenTestQueryCriteria.java deleted file mode 100644 index 55b00ecc..00000000 --- a/eladmin-system/src/main/java/me/zhengjie/gen/service/dto/GenTestQueryCriteria.java +++ /dev/null @@ -1,35 +0,0 @@ -package me.zhengjie.gen.service.dto; - -import lombok.Data; -import java.sql.Timestamp; -import me.zhengjie.annotation.Query; - -/** -* @author Zheng Jie -* @date 2019-11-19 -*/ -@Data -public class GenTestQueryCriteria{ - - // 模糊 - @Query(type = Query.Type.INNER_LIKE) - private String name; - - // 精确 - @Query - private Boolean status; - - // 时间段查询 - @Query(type = Query.Type.GREATER_THAN, propName = "date") - private Timestamp dateStart; - - @Query(type = Query.Type.LESS_THAN, propName = "date") - private Timestamp dateEnd; - - // 时间段查询 - @Query(type = Query.Type.GREATER_THAN, propName = "createTime") - private Timestamp createTimeStart; - - @Query(type = Query.Type.LESS_THAN, propName = "createTime") - private Timestamp createTimeEnd; -} \ No newline at end of file diff --git a/eladmin-system/src/main/java/me/zhengjie/gen/service/impl/GenTestServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/gen/service/impl/GenTestServiceImpl.java deleted file mode 100644 index 6f65d306..00000000 --- a/eladmin-system/src/main/java/me/zhengjie/gen/service/impl/GenTestServiceImpl.java +++ /dev/null @@ -1,109 +0,0 @@ -package me.zhengjie.gen.service.impl; - -import me.zhengjie.gen.domain.GenTest; -import me.zhengjie.utils.ValidationUtil; -import me.zhengjie.utils.FileUtil; -import me.zhengjie.gen.repository.GenTestRepository; -import me.zhengjie.gen.service.GenTestService; -import me.zhengjie.gen.service.dto.GenTestDTO; -import me.zhengjie.gen.service.dto.GenTestQueryCriteria; -import me.zhengjie.gen.service.mapper.GenTestMapper; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Propagation; -import org.springframework.transaction.annotation.Transactional; -import cn.hutool.core.lang.Snowflake; -import cn.hutool.core.util.IdUtil; -import org.springframework.cache.annotation.CacheConfig; -import org.springframework.cache.annotation.CacheEvict; -import org.springframework.cache.annotation.Cacheable; -import org.springframework.data.domain.Page; -import org.springframework.data.domain.Pageable; -import me.zhengjie.utils.PageUtil; -import me.zhengjie.utils.QueryHelp; -import java.util.List; -import java.util.Map; -import java.io.IOException; -import javax.servlet.http.HttpServletResponse; -import java.util.ArrayList; -import java.util.LinkedHashMap; - -/** -* @author Zheng Jie -* @date 2019-11-19 -*/ -@Service -@CacheConfig(cacheNames = "genTest") -@Transactional(propagation = Propagation.SUPPORTS, readOnly = true, rollbackFor = Exception.class) -public class GenTestServiceImpl implements GenTestService { - - private final GenTestRepository genTestRepository; - - private final GenTestMapper genTestMapper; - - public GenTestServiceImpl(GenTestRepository genTestRepository, GenTestMapper genTestMapper) { - this.genTestRepository = genTestRepository; - this.genTestMapper = genTestMapper; - } - - @Override - @Cacheable - public Map queryAll(GenTestQueryCriteria criteria, Pageable pageable){ - Page page = genTestRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder),pageable); - return PageUtil.toPage(page.map(genTestMapper::toDto)); - } - - @Override - @Cacheable - public List queryAll(GenTestQueryCriteria criteria){ - return genTestMapper.toDto(genTestRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder))); - } - - @Override - @Cacheable(key = "#p0") - public GenTestDTO findById(Long id) { - GenTest genTest = genTestRepository.findById(id).orElseGet(GenTest::new); - ValidationUtil.isNull(genTest.getId(),"GenTest","id",id); - return genTestMapper.toDto(genTest); - } - - @Override - @CacheEvict(allEntries = true) - @Transactional(rollbackFor = Exception.class) - public GenTestDTO create(GenTest resources) { - Snowflake snowflake = IdUtil.createSnowflake(1, 1); - resources.setId(snowflake.nextId()); - return genTestMapper.toDto(genTestRepository.save(resources)); - } - - @Override - @CacheEvict(allEntries = true) - @Transactional(rollbackFor = Exception.class) - public void update(GenTest resources) { - GenTest genTest = genTestRepository.findById(resources.getId()).orElseGet(GenTest::new); - ValidationUtil.isNull( genTest.getId(),"GenTest","id",resources.getId()); - genTest.copy(resources); - genTestRepository.save(genTest); - } - - @Override - @CacheEvict(allEntries = true) - @Transactional(rollbackFor = Exception.class) - public void delete(Long id) { - genTestRepository.deleteById(id); - } - - - @Override - public void download(List all, HttpServletResponse response) throws IOException { - List> list = new ArrayList<>(); - for (GenTestDTO genTest : all) { - Map map = new LinkedHashMap<>(); - map.put("名称", genTest.getName()); - map.put("状态", genTest.getStatus()); - map.put("日期", genTest.getDate()); - map.put("创建日期", genTest.getCreateTime()); - list.add(map); - } - FileUtil.downloadExcel(list, response); - } -} \ No newline at end of file diff --git a/eladmin-system/src/main/java/me/zhengjie/gen/service/mapper/GenTestMapper.java b/eladmin-system/src/main/java/me/zhengjie/gen/service/mapper/GenTestMapper.java deleted file mode 100644 index 4ffcebe4..00000000 --- a/eladmin-system/src/main/java/me/zhengjie/gen/service/mapper/GenTestMapper.java +++ /dev/null @@ -1,16 +0,0 @@ -package me.zhengjie.gen.service.mapper; - -import me.zhengjie.base.BaseMapper; -import me.zhengjie.gen.domain.GenTest; -import me.zhengjie.gen.service.dto.GenTestDTO; -import org.mapstruct.Mapper; -import org.mapstruct.ReportingPolicy; - -/** -* @author Zheng Jie -* @date 2019-11-19 -*/ -@Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE) -public interface GenTestMapper extends BaseMapper { - -} \ No newline at end of file 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 3ea9a093..88704414 100644 --- a/eladmin-system/src/main/resources/template/generator/admin/Controller.ftl +++ b/eladmin-system/src/main/resources/template/generator/admin/Controller.ftl @@ -70,4 +70,13 @@ public class ${className}Controller { ${changeClassName}Service.delete(${pkChangeColName}); return new ResponseEntity(HttpStatus.OK); } + + @Log("多选删除${className}") + @ApiOperation("多选删除${className}") + @PreAuthorize("@el.check('${changeClassName}:del')") + @DeleteMapping + public ResponseEntity deleteAll(@RequestBody ${pkColumnType}[] ids) { + ${changeClassName}Service.deleteAll(ids); + return new ResponseEntity(HttpStatus.OK); + } } \ 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 18264298..ecac0ab8 100644 --- a/eladmin-system/src/main/resources/template/generator/admin/Service.ftl +++ b/eladmin-system/src/main/resources/template/generator/admin/Service.ftl @@ -43,5 +43,7 @@ public interface ${className}Service { void delete(${pkColumnType} ${pkChangeColName}); + void deleteAll(${pkColumnType}[] ids); + void download(List<${className}DTO> all, HttpServletResponse response) throws IOException; } \ 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 29cd908b..e093128a 100644 --- a/eladmin-system/src/main/resources/template/generator/admin/ServiceImpl.ftl +++ b/eladmin-system/src/main/resources/template/generator/admin/ServiceImpl.ftl @@ -133,6 +133,13 @@ public class ${className}ServiceImpl implements ${className}Service { ${changeClassName}Repository.deleteById(${pkChangeColName}); } + @Override + @CacheEvict(allEntries = true) + public void deleteAll(${pkColumnType}[] ids) { + for (${pkColumnType} id : ids) { + ${changeClassName}Repository.deleteById(${pkChangeColName}); + } + } @Override public void download(List<${className}DTO> all, HttpServletResponse response) throws IOException { diff --git a/eladmin-system/src/main/resources/template/generator/front/api.ftl b/eladmin-system/src/main/resources/template/generator/front/api.ftl index a848db14..5a49e1be 100644 --- a/eladmin-system/src/main/resources/template/generator/front/api.ftl +++ b/eladmin-system/src/main/resources/template/generator/front/api.ftl @@ -14,6 +14,13 @@ export function del(${pkChangeColName}) { method: 'delete' }) } +export function delAll(ids) { + return request({ + url: 'api/${changeClassName}/', + method: 'delete', + data: ids + }) +} export function edit(data) { return request({ 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 4a1d9339..fd881ec4 100644 --- a/eladmin-system/src/main/resources/template/generator/front/eForm.ftl +++ b/eladmin-system/src/main/resources/template/generator/front/eForm.ftl @@ -51,7 +51,7 @@ export default { required: true }<#if hasDict>, dicts: { - type: Array, + type: Object, required: true } 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 89d6d8ce..ef2ab00f 100644 --- a/eladmin-system/src/main/resources/template/generator/front/index.ftl +++ b/eladmin-system/src/main/resources/template/generator/front/index.ftl @@ -47,11 +47,23 @@ icon="el-icon-download" @click="download">导出 + +
+ 删除 +
:dicts="dict"/> - + + <#if columns??> <#list columns as column> <#if column.columnShow> @@ -105,7 +117,7 @@