forked from elunez/eladmin
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
10 changed files
with
369 additions
and
9 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
41 changes: 41 additions & 0 deletions
41
eladmin-system/src/main/java/me/zhengjie/gen/domain/GenTest.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
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 java.sql.Timestamp; | ||
import java.io.Serializable; | ||
|
||
/** | ||
* @author Zheng Jie | ||
* @date 2020-03-07 | ||
*/ | ||
@Entity | ||
@Data | ||
@Table(name="gen_test") | ||
public class GenTest implements Serializable { | ||
|
||
/** ID */ | ||
@Id | ||
@GeneratedValue(strategy = GenerationType.IDENTITY) | ||
@Column(name = "id") | ||
private Integer id; | ||
|
||
/** 名称 */ | ||
@Column(name = "name",nullable = false) | ||
@NotBlank | ||
private String name; | ||
|
||
/** 性别 */ | ||
@Column(name = "sex") | ||
private Integer sex; | ||
|
||
@Column(name = "create_time") | ||
private Timestamp createTime; | ||
|
||
public void copy(GenTest source){ | ||
BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true)); | ||
} | ||
} |
12 changes: 12 additions & 0 deletions
12
eladmin-system/src/main/java/me/zhengjie/gen/repository/GenTestRepository.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
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 2020-03-07 | ||
*/ | ||
public interface GenTestRepository extends JpaRepository<GenTest, Integer>, JpaSpecificationExecutor<GenTest> { | ||
} |
73 changes: 73 additions & 0 deletions
73
eladmin-system/src/main/java/me/zhengjie/gen/rest/GenTestController.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,73 @@ | ||
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 2020-03-07 | ||
*/ | ||
@Api(tags = "测试生成管理") | ||
@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("查询测试生成") | ||
@ApiOperation("查询测试生成") | ||
@PreAuthorize("@el.check('genTest:list')") | ||
public ResponseEntity<Object> getGenTests(GenTestQueryCriteria criteria, Pageable pageable){ | ||
return new ResponseEntity<>(genTestService.queryAll(criteria,pageable),HttpStatus.OK); | ||
} | ||
|
||
@PostMapping | ||
@Log("新增测试生成") | ||
@ApiOperation("新增测试生成") | ||
@PreAuthorize("@el.check('genTest:add')") | ||
public ResponseEntity<Object> create(@Validated @RequestBody GenTest resources){ | ||
return new ResponseEntity<>(genTestService.create(resources),HttpStatus.CREATED); | ||
} | ||
|
||
@PutMapping | ||
@Log("修改测试生成") | ||
@ApiOperation("修改测试生成") | ||
@PreAuthorize("@el.check('genTest:edit')") | ||
public ResponseEntity<Object> update(@Validated @RequestBody GenTest resources){ | ||
genTestService.update(resources); | ||
return new ResponseEntity<>(HttpStatus.NO_CONTENT); | ||
} | ||
|
||
@Log("删除测试生成") | ||
@ApiOperation("删除测试生成") | ||
@PreAuthorize("@el.check('genTest:del')") | ||
@DeleteMapping | ||
public ResponseEntity<Object> deleteAll(@RequestBody Integer[] ids) { | ||
genTestService.deleteAll(ids); | ||
return new ResponseEntity<>(HttpStatus.OK); | ||
} | ||
} |
66 changes: 66 additions & 0 deletions
66
eladmin-system/src/main/java/me/zhengjie/gen/service/GenTestService.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,66 @@ | ||
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 2020-03-07 | ||
*/ | ||
public interface GenTestService { | ||
|
||
/** | ||
* 查询数据分页 | ||
* @param criteria 条件 | ||
* @param pageable 分页参数 | ||
* @return Map<String,Object> | ||
*/ | ||
Map<String,Object> queryAll(GenTestQueryCriteria criteria, Pageable pageable); | ||
|
||
/** | ||
* 查询所有数据不分页 | ||
* @param criteria 条件参数 | ||
* @return List<GenTestDto> | ||
*/ | ||
List<GenTestDto> queryAll(GenTestQueryCriteria criteria); | ||
|
||
/** | ||
* 根据ID查询 | ||
* @param id ID | ||
* @return GenTestDto | ||
*/ | ||
GenTestDto findById(Integer id); | ||
|
||
/** | ||
* 创建 | ||
* @param resources / | ||
* @return GenTestDto | ||
*/ | ||
GenTestDto create(GenTest resources); | ||
|
||
/** | ||
* 编辑 | ||
* @param resources / | ||
*/ | ||
void update(GenTest resources); | ||
|
||
/** | ||
* 多选删除 | ||
* @param ids / | ||
*/ | ||
void deleteAll(Integer[] ids); | ||
|
||
/** | ||
* 导出数据 | ||
* @param all 待导出的数据 | ||
* @param response / | ||
* @throws IOException / | ||
*/ | ||
void download(List<GenTestDto> all, HttpServletResponse response) throws IOException; | ||
} |
24 changes: 24 additions & 0 deletions
24
eladmin-system/src/main/java/me/zhengjie/gen/service/dto/GenTestDto.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
package me.zhengjie.gen.service.dto; | ||
|
||
import lombok.Data; | ||
import java.sql.Timestamp; | ||
import java.io.Serializable; | ||
|
||
/** | ||
* @author Zheng Jie | ||
* @date 2020-03-07 | ||
*/ | ||
@Data | ||
public class GenTestDto implements Serializable { | ||
|
||
/** ID */ | ||
private Integer id; | ||
|
||
/** 名称 */ | ||
private String name; | ||
|
||
/** 性别 */ | ||
private Integer sex; | ||
|
||
private Timestamp createTime; | ||
} |
25 changes: 25 additions & 0 deletions
25
eladmin-system/src/main/java/me/zhengjie/gen/service/dto/GenTestQueryCriteria.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
package me.zhengjie.gen.service.dto; | ||
|
||
import lombok.Data; | ||
import java.sql.Timestamp; | ||
import java.util.List; | ||
import me.zhengjie.annotation.Query; | ||
|
||
/** | ||
* @author Zheng Jie | ||
* @date 2020-03-07 | ||
*/ | ||
@Data | ||
public class GenTestQueryCriteria{ | ||
|
||
/** 模糊 */ | ||
@Query(type = Query.Type.INNER_LIKE) | ||
private String name; | ||
|
||
/** 不为空 */ | ||
@Query(type = Query.Type.NOT_NULL) | ||
private Integer sex; | ||
/** BETWEEN */ | ||
@Query(type = Query.Type.BETWEEN) | ||
private List<Timestamp> createTime; | ||
} |
105 changes: 105 additions & 0 deletions
105
eladmin-system/src/main/java/me/zhengjie/gen/service/impl/GenTestServiceImpl.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,105 @@ | ||
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 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 2020-03-07 | ||
*/ | ||
@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<String,Object> queryAll(GenTestQueryCriteria criteria, Pageable pageable){ | ||
Page<GenTest> page = genTestRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder),pageable); | ||
return PageUtil.toPage(page.map(genTestMapper::toDto)); | ||
} | ||
|
||
@Override | ||
//@Cacheable | ||
public List<GenTestDto> queryAll(GenTestQueryCriteria criteria){ | ||
return genTestMapper.toDto(genTestRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder))); | ||
} | ||
|
||
@Override | ||
//@Cacheable(key = "#p0") | ||
public GenTestDto findById(Integer 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) { | ||
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) | ||
public void deleteAll(Integer[] ids) { | ||
for (Integer id : ids) { | ||
genTestRepository.deleteById(id); | ||
} | ||
} | ||
|
||
@Override | ||
public void download(List<GenTestDto> all, HttpServletResponse response) throws IOException { | ||
List<Map<String, Object>> list = new ArrayList<>(); | ||
for (GenTestDto genTest : all) { | ||
Map<String,Object> map = new LinkedHashMap<>(); | ||
map.put("名称", genTest.getName()); | ||
map.put("性别", genTest.getSex()); | ||
map.put(" createTime", genTest.getCreateTime()); | ||
list.add(map); | ||
} | ||
FileUtil.downloadExcel(list, response); | ||
} | ||
} |
16 changes: 16 additions & 0 deletions
16
eladmin-system/src/main/java/me/zhengjie/gen/service/mapper/GenTestMapper.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
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 2020-03-07 | ||
*/ | ||
@Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE) | ||
public interface GenTestMapper extends BaseMapper<GenTestDto, GenTest> { | ||
|
||
} |
Oops, something went wrong.