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 |   54 ++++++++++++++++++++++++++++++++----------------------
 1 files changed, 32 insertions(+), 22 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 9ba8a2a..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,9 +47,9 @@
      * 鏌ヨ娴嬭瘯鍗曡〃鍒楄〃
      */
     @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);
     }
 
@@ -52,9 +57,9 @@
 	 * 鑷畾涔夊垎椤垫煡璇�
 	 */
 	@ApiOperation("鑷畾涔夊垎椤垫煡璇�")
-	@PreAuthorize("@ss.hasPermi('demo:demo:list')")
+	@SaCheckPermission("demo:demo:list")
 	@GetMapping("/page")
-	public TableDataInfo<TestDemoVo> page(@Validated TestDemoQueryBo bo) {
+	public TableDataInfo<TestDemoVo> page(@Validated(QueryGroup.class) TestDemoBo bo) {
 		return iTestDemoService.customPageList(bo);
 	}
 
@@ -62,20 +67,23 @@
      * 瀵煎嚭娴嬭瘯鍗曡〃鍒楄〃
      */
     @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) {
@@ -86,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