From 695cb6d76b838b1e4cb161bae335faa948dca12a Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期三, 27 十月 2021 13:16:19 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into satoken --- ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestDemoController.java | 62 ++++++++++++++++++++---------- 1 files changed, 41 insertions(+), 21 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 2ac99d6..a137a3d 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,35 +1,40 @@ package com.ruoyi.demo.controller; +import cn.dev33.satoken.annotation.SaCheckPermission; 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.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.poi.ExcelUtil; -import com.ruoyi.demo.bo.TestDemoAddBo; -import com.ruoyi.demo.bo.TestDemoEditBo; -import com.ruoyi.demo.bo.TestDemoQueryBo; +import com.ruoyi.demo.domain.bo.TestDemoBo; +import com.ruoyi.demo.domain.vo.TestDemoVo; import com.ruoyi.demo.service.ITestDemoService; -import com.ruoyi.demo.vo.TestDemoVo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; 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 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 * * @author Lion Li - * @date 2021-05-30 + * @date 2021-07-26 */ +@Validated @Api(value = "娴嬭瘯鍗曡〃鎺у埗鍣�", tags = {"娴嬭瘯鍗曡〃绠$悊"}) @RequiredArgsConstructor(onConstructor_ = @Autowired) @RestController @@ -42,30 +47,43 @@ * 鏌ヨ娴嬭瘯鍗曡〃鍒楄〃 */ @ApiOperation("鏌ヨ娴嬭瘯鍗曡〃鍒楄〃") - @PreAuthorize("@ss.hasPermi('demo:demo:list')") + @SaCheckPermission("demo:demo:list") @GetMapping("/list") - public TableDataInfo<TestDemoVo> list(@Validated TestDemoQueryBo bo) { + public TableDataInfo<TestDemoVo> list(@Validated(QueryGroup.class) TestDemoBo bo) { return iTestDemoService.queryPageList(bo); } - /** + /** + * 鑷畾涔夊垎椤垫煡璇� + */ + @ApiOperation("鑷畾涔夊垎椤垫煡璇�") + @SaCheckPermission("demo:demo:list") + @GetMapping("/page") + public TableDataInfo<TestDemoVo> page(@Validated(QueryGroup.class) TestDemoBo bo) { + return iTestDemoService.customPageList(bo); + } + + /** * 瀵煎嚭娴嬭瘯鍗曡〃鍒楄〃 */ @ApiOperation("瀵煎嚭娴嬭瘯鍗曡〃鍒楄〃") - @PreAuthorize("@ss.hasPermi('demo:demo:export')") + @SaCheckPermission("demo:demo:export") @Log(title = "娴嬭瘯鍗曡〃", businessType = BusinessType.EXPORT) @GetMapping("/export") - public AjaxResult<TestDemoVo> export(@Validated TestDemoQueryBo bo) { + 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); } /** * 鑾峰彇娴嬭瘯鍗曡〃璇︾粏淇℃伅 */ @ApiOperation("鑾峰彇娴嬭瘯鍗曡〃璇︾粏淇℃伅") - @PreAuthorize("@ss.hasPermi('demo:demo:query')") + @SaCheckPermission("demo:demo:query") @GetMapping("/{id}") public AjaxResult<TestDemoVo> getInfo(@NotNull(message = "涓婚敭涓嶈兘涓虹┖") @PathVariable("id") Long id) { @@ -76,29 +94,31 @@ * 鏂板娴嬭瘯鍗曡〃 */ @ApiOperation("鏂板娴嬭瘯鍗曡〃") - @PreAuthorize("@ss.hasPermi('demo:demo:add')") + @SaCheckPermission("demo:demo:add") @Log(title = "娴嬭瘯鍗曡〃", businessType = BusinessType.INSERT) + @RepeatSubmit(interval = 2, timeUnit = TimeUnit.SECONDS, message = "涓嶅厑璁搁噸澶嶆彁浜�") @PostMapping() - public AjaxResult<Void> add(@Validated @RequestBody TestDemoAddBo bo) { - return toAjax(iTestDemoService.insertByAddBo(bo) ? 1 : 0); + public AjaxResult<Void> add(@Validated(AddGroup.class) @RequestBody TestDemoBo bo) { + return toAjax(iTestDemoService.insertByBo(bo) ? 1 : 0); } /** * 淇敼娴嬭瘯鍗曡〃 */ @ApiOperation("淇敼娴嬭瘯鍗曡〃") - @PreAuthorize("@ss.hasPermi('demo:demo:edit')") + @SaCheckPermission("demo:demo:edit") @Log(title = "娴嬭瘯鍗曡〃", businessType = BusinessType.UPDATE) + @RepeatSubmit @PutMapping() - public AjaxResult<Void> edit(@Validated @RequestBody TestDemoEditBo bo) { - return toAjax(iTestDemoService.updateByEditBo(bo) ? 1 : 0); + public AjaxResult<Void> edit(@Validated(EditGroup.class) @RequestBody TestDemoBo bo) { + return toAjax(iTestDemoService.updateByBo(bo) ? 1 : 0); } /** * 鍒犻櫎娴嬭瘯鍗曡〃 */ @ApiOperation("鍒犻櫎娴嬭瘯鍗曡〃") - @PreAuthorize("@ss.hasPermi('demo:demo:remove')") + @SaCheckPermission("demo:demo:remove") @Log(title = "娴嬭瘯鍗曡〃" , businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") public AjaxResult<Void> remove(@NotEmpty(message = "涓婚敭涓嶈兘涓虹┖") -- Gitblit v1.9.3