Browse Source

add AppBaseController

Alex 4 years ago
parent
commit
68efecccee

+ 0 - 2
ruoyi-app/src/main/java/com/ruoyi/app/controller/AppLoginController.java

@@ -39,8 +39,6 @@ import java.util.Map;
 public class AppLoginController {
 
     @Autowired
-    private RedisCache redisCache;
-    @Autowired
     AppTokenService appTokenService;
     @Autowired
     private ITbAppUserService userService;

+ 98 - 0
ruoyi-app/src/main/java/com/ruoyi/app/controller/base/AppBaseController.java

@@ -0,0 +1,98 @@
+package com.ruoyi.app.controller.base;
+
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import com.ruoyi.app.base.AppLoginUser;
+import com.ruoyi.app.base.AppTokenService;
+import com.ruoyi.common.constant.HttpStatus;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.core.page.PageDomain;
+import com.ruoyi.common.core.page.TableDataInfo;
+import com.ruoyi.common.core.page.TableSupport;
+import com.ruoyi.common.utils.DateUtils;
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.common.utils.sql.SqlUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.WebDataBinder;
+import org.springframework.web.bind.annotation.InitBinder;
+
+import javax.servlet.http.HttpServletRequest;
+import java.beans.PropertyEditorSupport;
+import java.util.Date;
+import java.util.List;
+
+public class AppBaseController {
+
+
+    protected final Logger logger = LoggerFactory.getLogger(AppBaseController.class);
+
+    @Autowired
+    AppTokenService appTokenService;
+
+    /**
+     * 将前台传递过来的日期格式的字符串,自动转化为Date类型
+     */
+    @InitBinder
+    public void initBinder(WebDataBinder binder)
+    {
+        // Date 类型转换
+        binder.registerCustomEditor(Date.class, new PropertyEditorSupport()
+        {
+            @Override
+            public void setAsText(String text)
+            {
+                setValue(DateUtils.parseDate(text));
+            }
+        });
+    }
+
+    /**
+     * 设置请求分页数据
+     */
+    protected void startPage()
+    {
+        PageDomain pageDomain = TableSupport.buildPageRequest();
+        Integer pageNum = pageDomain.getPageNum();
+        Integer pageSize = pageDomain.getPageSize();
+        if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize))
+        {
+            String orderBy = SqlUtil.escapeOrderBySql(pageDomain.getOrderBy());
+            PageHelper.startPage(pageNum, pageSize, orderBy);
+        }
+    }
+
+    /**
+     * 响应请求分页数据
+     */
+    @SuppressWarnings({ "rawtypes", "unchecked" })
+    protected TableDataInfo getDataTable(List<?> list)
+    {
+        TableDataInfo rspData = new TableDataInfo();
+        rspData.setCode(HttpStatus.SUCCESS);
+        rspData.setMsg("查询成功");
+        rspData.setRows(list);
+        rspData.setTotal(new PageInfo(list).getTotal());
+        return rspData;
+    }
+
+    /**
+     * 响应返回结果
+     *
+     * @param rows 影响行数
+     * @return 操作结果
+     */
+    protected AjaxResult toAjax(int rows)
+    {
+        return rows > 0 ? AjaxResult.success() : AjaxResult.error();
+    }
+
+    /**
+     * 根据token获取登录用户
+     * @return
+     */
+    protected AppLoginUser getLoginUser(HttpServletRequest request){
+        return appTokenService.getLoginUser(request);
+    }
+}

+ 6 - 6
ruoyi-app/src/main/java/com/ruoyi/app/controller/CommonController.java → ruoyi-app/src/main/java/com/ruoyi/app/controller/base/AppCommonController.java

@@ -1,4 +1,4 @@
-package com.ruoyi.app.controller;
+package com.ruoyi.app.controller.base;
 
 import com.ruoyi.common.config.RuoYiConfig;
 import com.ruoyi.common.constant.Constants;
@@ -12,6 +12,7 @@ import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.multipart.MultipartFile;
 import org.springframework.web.multipart.MultipartHttpServletRequest;
@@ -21,12 +22,11 @@ import javax.servlet.http.HttpServletResponse;
 
 /**
  * 通用请求处理
- * 
- * @author ruoyi
  */
 @RestController
-public class CommonController {
-    private static final Logger log = LoggerFactory.getLogger(CommonController.class);
+@RequestMapping("/app" )
+public class AppCommonController {
+    private static final Logger log = LoggerFactory.getLogger(AppCommonController.class);
 
     @Autowired
     private ServerConfig serverConfig;
@@ -37,7 +37,7 @@ public class CommonController {
      * @param fileName 文件名称
      * @param delete 是否删除
      */
-    @GetMapping("common/download")
+    @GetMapping("/common/download")
     public void fileDownload(String fileName, Boolean delete, HttpServletResponse response, HttpServletRequest request)
     {
         try