From c82afc8c461956e45be0aa29ca2a7fe3f18ee6f7 Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期二, 28 十二月 2021 11:23:33 +0800 Subject: [PATCH] update RedisUtils 迁移到 utils/redis 包下 --- ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestDemoController.java | 82 ++++++++++++++++++++++++++++------------ 1 files changed, 57 insertions(+), 25 deletions(-) diff --git a/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestDemoController.java b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestDemoController.java index ade20f8..2d0f43a 100644 --- a/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestDemoController.java +++ b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestDemoController.java @@ -1,29 +1,38 @@ package com.ruoyi.demo.controller; +import cn.hutool.core.bean.BeanUtil; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.annotation.RepeatSubmit; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.domain.PageQuery; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.core.validate.AddGroup; import com.ruoyi.common.core.validate.EditGroup; +import com.ruoyi.common.core.validate.QueryGroup; import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.ValidatorUtils; +import com.ruoyi.common.excel.ExcelResult; import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.demo.domain.TestDemo; import com.ruoyi.demo.domain.bo.TestDemoBo; +import com.ruoyi.demo.domain.bo.TestDemoImportVo; import com.ruoyi.demo.domain.vo.TestDemoVo; import com.ruoyi.demo.service.ITestDemoService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.*; import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import javax.servlet.http.HttpServletResponse; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; import java.util.Arrays; import java.util.List; +import java.util.concurrent.TimeUnit; /** * 娴嬭瘯鍗曡〃Controller @@ -46,31 +55,49 @@ @ApiOperation("鏌ヨ娴嬭瘯鍗曡〃鍒楄〃") @PreAuthorize("@ss.hasPermi('demo:demo:list')") @GetMapping("/list") - public TableDataInfo<TestDemoVo> list(@Validated TestDemoBo bo) { - return iTestDemoService.queryPageList(bo); + public TableDataInfo<TestDemoVo> list(@Validated(QueryGroup.class) TestDemoBo bo, PageQuery pageQuery) { + return iTestDemoService.queryPageList(bo, pageQuery); } - /** - * 鑷畾涔夊垎椤垫煡璇� - */ - @ApiOperation("鑷畾涔夊垎椤垫煡璇�") - @PreAuthorize("@ss.hasPermi('demo:demo:list')") - @GetMapping("/page") - public TableDataInfo<TestDemoVo> page(@Validated TestDemoBo bo) { - return iTestDemoService.customPageList(bo); - } + /** + * 鑷畾涔夊垎椤垫煡璇� + */ + @ApiOperation("鑷畾涔夊垎椤垫煡璇�") + @PreAuthorize("@ss.hasPermi('demo:demo:list')") + @GetMapping("/page") + public TableDataInfo<TestDemoVo> page(@Validated(QueryGroup.class) TestDemoBo bo, PageQuery pageQuery) { + return iTestDemoService.customPageList(bo, pageQuery); + } - /** + @ApiOperation("瀵煎叆娴嬭瘯-鏍¢獙") + @ApiImplicitParams({ + @ApiImplicitParam(name = "file", value = "瀵煎叆鏂囦欢", dataType = "java.io.File", required = true), + }) + @Log(title = "娴嬭瘯鍗曡〃", businessType = BusinessType.IMPORT) + @PreAuthorize("@ss.hasPermi('demo:demo:import')") + @PostMapping("/importData") + public AjaxResult<Void> importData(@RequestPart("file") MultipartFile file) throws Exception { + ExcelResult<TestDemoImportVo> excelResult = ExcelUtil.importExcel(file.getInputStream(), TestDemoImportVo.class, true); + List<TestDemoImportVo> volist = excelResult.getList(); + List<TestDemo> list = BeanUtil.copyToList(volist, TestDemo.class); + iTestDemoService.saveAll(list); + return AjaxResult.success(excelResult.getAnalysis()); + } + + /** * 瀵煎嚭娴嬭瘯鍗曡〃鍒楄〃 */ @ApiOperation("瀵煎嚭娴嬭瘯鍗曡〃鍒楄〃") @PreAuthorize("@ss.hasPermi('demo:demo:export')") @Log(title = "娴嬭瘯鍗曡〃", businessType = BusinessType.EXPORT) - @GetMapping("/export") - public AjaxResult<TestDemoVo> export(@Validated TestDemoBo bo) { + @PostMapping("/export") + public void export(@Validated TestDemoBo bo, HttpServletResponse response) { List<TestDemoVo> list = iTestDemoService.queryList(bo); - ExcelUtil<TestDemoVo> util = new ExcelUtil<TestDemoVo>(TestDemoVo.class); - return util.exportExcel(list, "娴嬭瘯鍗曡〃"); + // 娴嬭瘯闆姳id瀵煎嚭 +// for (TestDemoVo vo : list) { +// vo.setId(1234567891234567893L); +// } + ExcelUtil.exportExcel(list, "娴嬭瘯鍗曡〃", TestDemoVo.class, response); } /** @@ -79,8 +106,9 @@ @ApiOperation("鑾峰彇娴嬭瘯鍗曡〃璇︾粏淇℃伅") @PreAuthorize("@ss.hasPermi('demo:demo:query')") @GetMapping("/{id}") - public AjaxResult<TestDemoVo> getInfo(@NotNull(message = "涓婚敭涓嶈兘涓虹┖") - @PathVariable("id") Long id) { + public AjaxResult<TestDemoVo> getInfo(@ApiParam("娴嬭瘯ID") + @NotNull(message = "涓婚敭涓嶈兘涓虹┖") + @PathVariable("id") Long id) { return AjaxResult.success(iTestDemoService.queryById(id)); } @@ -90,9 +118,12 @@ @ApiOperation("鏂板娴嬭瘯鍗曡〃") @PreAuthorize("@ss.hasPermi('demo:demo:add')") @Log(title = "娴嬭瘯鍗曡〃", businessType = BusinessType.INSERT) - @RepeatSubmit + @RepeatSubmit(interval = 2, timeUnit = TimeUnit.SECONDS, message = "涓嶅厑璁搁噸澶嶆彁浜�") @PostMapping() - public AjaxResult<Void> add(@Validated(AddGroup.class) @RequestBody TestDemoBo bo) { + public AjaxResult<Void> add(@RequestBody TestDemoBo bo) { + // 浣跨敤鏍¢獙宸ュ叿瀵规爣 @Validated(AddGroup.class) 娉ㄨВ + // 鐢ㄤ簬鍦ㄩ潪 Controller 鐨勫湴鏂规牎楠屽璞� + ValidatorUtils.validate(bo, AddGroup.class); return toAjax(iTestDemoService.insertByBo(bo) ? 1 : 0); } @@ -113,10 +144,11 @@ */ @ApiOperation("鍒犻櫎娴嬭瘯鍗曡〃") @PreAuthorize("@ss.hasPermi('demo:demo:remove')") - @Log(title = "娴嬭瘯鍗曡〃" , businessType = BusinessType.DELETE) + @Log(title = "娴嬭瘯鍗曡〃", businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") - public AjaxResult<Void> remove(@NotEmpty(message = "涓婚敭涓嶈兘涓虹┖") - @PathVariable Long[] ids) { + public AjaxResult<Void> remove(@ApiParam("娴嬭瘯ID涓�") + @NotEmpty(message = "涓婚敭涓嶈兘涓虹┖") + @PathVariable Long[] ids) { return toAjax(iTestDemoService.deleteWithValidByIds(Arrays.asList(ids), true) ? 1 : 0); } } -- Gitblit v1.9.3