From 8c189b243bfbbacb2ab1ce79f4e1ff22708f125a Mon Sep 17 00:00:00 2001
From: whycxzp <perryhsu@163.com>
Date: 星期一, 26 七月 2021 16:45:09 +0800
Subject: [PATCH] 修复接口

---
 src/main/java/com/whyc/controller/UserController.java |  197 ++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 185 insertions(+), 12 deletions(-)

diff --git a/src/main/java/com/whyc/controller/UserController.java b/src/main/java/com/whyc/controller/UserController.java
index 1632b0a..774c958 100644
--- a/src/main/java/com/whyc/controller/UserController.java
+++ b/src/main/java/com/whyc/controller/UserController.java
@@ -1,18 +1,33 @@
 package com.whyc.controller;
 
+import cn.afterturn.easypoi.excel.ExcelImportUtil;
+import cn.afterturn.easypoi.excel.entity.ImportParams;
+import cn.afterturn.easypoi.excel.entity.result.ExcelImportResult;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.api.R;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.whyc.dto.Response;
+import com.whyc.pojo.Dept;
+import com.whyc.pojo.Job;
 import com.whyc.pojo.User;
+import com.whyc.service.DeptService;
+import com.whyc.service.JobService;
 import com.whyc.service.LoginService;
 import com.whyc.service.UserService;
+import com.whyc.util.DigestsUtil;
+import com.whyc.util.UserExcelVerify;
 import io.swagger.annotations.*;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.shiro.authz.annotation.Logical;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
+import java.io.IOException;
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 
@@ -25,40 +40,95 @@
     @Resource
     private UserService userService;
 
+    @Resource
+    private DeptService deptService;
+
+    @Resource
+    private JobService jobService;
+
+    @Resource
+    private UserExcelVerify userExcelVerify;
+
     @PostMapping
-    @ApiOperation(value = "娣诲姞")
+    @ApiOperation(value = "娣诲姞鐢ㄦ埛")
+    //@RequiresPermissions(value = {"user:add","user:update"},logical = Logical.OR)
     public Response add(@RequestBody User user){
         return userService.add(user);
     }
 
     @GetMapping
-    @ApiOperation(value = "鏌ヨbyId")
-    public User getById(@RequestParam int id){
-        return userService.getById(id);
+    @ApiOperation(value = "鏌ヨ鐢ㄦ埛byId")
+    //@RequiresPermissions(value = {"user:get"})
+    public Response getById(@RequestParam int id){
+        User user = userService.getById(id);
+        if (user==null){
+            return new Response().set(0,null,"姝ょ敤鎴蜂笉瀛樺湪");
+        }
+        return new Response().set(1,user);
     }
 
     @GetMapping("/all")
-    @ApiOperation(value = "鏌ヨ鎵�鏈�")
+    @ApiOperation(value = "鏌ヨ鎵�鏈夌敤鎴�")
+    //@RequiresPermissions(value = {"user:get"})
     public List<User> getAll(){
         return userService.getAll();
     }
 
     @GetMapping("/page")
-    @ApiOperation(value = "鏌ヨ鍒嗛〉")
-    public IPage<User> getPage(@RequestParam int pageNum,int pageSize){
+    @ApiOperation(value = "鏌ヨ鐢ㄦ埛鍒嗛〉")
+    //@RequiresPermissions(value = {"user:get"})
+    public IPage<User> getPage(@RequestParam int pageNum,@RequestParam int pageSize){
         Page<Object> page = new Page<>(pageNum, pageSize);
         return userService.getAllWithPage(page);
     }
+    @PostMapping("/search")
+    @ApiOperation(value = "鏌ヨ鐢ㄦ埛鍒嗛〉-鏍规嵁绛涢�夋潯浠�")
+    //@RequiresPermissions(value = {"user:get"})
+    public Response<IPage<User>> getPageByCondition(@RequestParam int pageNum,@RequestParam int pageSize,@RequestBody User user){
+        return userService.getPageByCondition(pageNum,pageSize,user);
+    }
+
+    @GetMapping("validatePassword")
+    @ApiOperation(value = "楠岃瘉瀵嗙爜")
+    public boolean validatePassword(@RequestParam int id, @RequestParam String password){
+        return userService.validatePassword(id,password);
+    }
+    @GetMapping("getSaltPassword")
+    @ApiOperation(value = "鑾峰彇鍔犲瘑瀵嗙爜")
+    public String getSaltPassword(@RequestParam String password,@RequestParam String salt){
+        return DigestsUtil.sha1(password,salt);
+    }
+    @PutMapping("updatePassword")
+    @ApiOperation(value = "淇敼瀵嗙爜")
+    public Response updatePassword(@RequestParam int id,@RequestParam String password){
+        return userService.updatePassword(id,password);
+    }
+
+    @PutMapping("resetPassword")
+    @ApiOperation(value = "閲嶇疆瀵嗙爜")
+    public Response resetPassword(@RequestParam int id){
+        return userService.resetPassword(id);
+    }
+
 
     @PutMapping
-    @ApiOperation(value = "缂栬緫")
-    public boolean update(@RequestBody User user){
+    @ApiOperation(value = "缂栬緫鐢ㄦ埛")
+    //@RequiresPermissions(value = {"user:update"})
+    public Response update(@RequestBody User user){
         return userService.update(user);
     }
 
-    @DeleteMapping
-    @ApiOperation(value = "鍒犻櫎")
-    public boolean delete(@RequestParam int id){
+    @PutMapping("freezeUser")
+    @ApiOperation(value = "鍚姩/鍐荤粨鐢ㄦ埛")
+    //@RequiresPermissions(value = {"user:update"})
+    public Response updateUserFreeze(@RequestParam int id,@RequestParam int state){
+        return userService.updateUserFreeze(id,state);
+    }
+
+    @PutMapping("deleteUser")
+    @ApiOperation(value = "鍒犻櫎鐢ㄦ埛")
+    //@RequiresPermissions(value = {"user:delete"})
+    public Response delete(@RequestParam int id){
         return userService.delete(id);
     }
 
@@ -71,4 +141,107 @@
         return userService.loginCheck(request);
     }
 
+
+
+    @GetMapping("/getDepts")
+    @ApiOperation(value = "鑾峰彇閮ㄩ棬")
+    public List<Dept> getDepts(){
+        return deptService.getAll();
+    }
+    @PostMapping("addDept")
+    @ApiOperation(value = "娣诲姞閮ㄩ棬")
+    public Response addDept(@RequestBody Dept dept){
+        return deptService.add(dept);
+    }
+
+    @PutMapping("updateDept")
+    @ApiOperation(value = "缂栬緫閮ㄩ棬")
+    public Response update(@RequestBody Dept dept){
+        return deptService.update(dept);
+    }
+
+    @DeleteMapping("deleteDept")
+    @ApiOperation(value = "鍒犻櫎閮ㄩ棬")
+    public Response deleteDept(@RequestParam int id){
+        return deptService.delete(id);
+    }
+
+
+    @GetMapping("/getJobs")
+    @ApiOperation(value = "鑾峰彇鑱屽姟")
+    public List<Job> getJobs(){
+        return jobService.getAll();
+    }
+
+    @PostMapping("addJob")
+    @ApiOperation(value = "娣诲姞鑱屽姟")
+    public Response addJob(@RequestBody Job job){
+        return jobService.add(job);
+    }
+    @PutMapping("updateJob")
+    @ApiOperation(value = "缂栬緫鑱屽姟")
+    public Response update(@RequestBody Job job){
+        return jobService.update(job);
+    }
+
+    @DeleteMapping("deleteJob")
+    @ApiOperation(value = "鍒犻櫎鑱屽姟")
+    public Response deleteJob(@RequestParam int id){
+        return jobService.delete(id);
+    }
+
+
+    @SuppressWarnings("AlibabaRemoveCommentedCode")
+    @PostMapping("/importUserExcel")
+    @ApiOperation(value = "瀵煎叆鐢ㄦ埛鏁版嵁")
+    public Response importExcel2(@RequestParam("file") MultipartFile file) {
+        Response response = new Response();
+        ImportParams importParams = new ImportParams();
+        // 鏁版嵁澶勭悊
+        //璁剧疆鏍囬绗�1琛屽紑濮�
+        importParams.setTitleRows(0);
+        //璁剧疆寮�濮嬭浠庣2琛屽紑濮�
+        importParams.setHeadRows(1);
+        // 闇�瑕侀獙璇�
+        importParams.setNeedVerify(true);
+        //璁惧強涓�涓嚜瀹氫箟鏍¢獙 锛堣嚜瀹氫箟鏍¢獙鍚嶅瓧涓嶅彲閲嶅锛�  浣跨敤娉ㄨВ娉ㄥ叆
+        //UserExcelVerify userExcelVerify = new UserExcelVerify();
+        importParams.setVerifyHandler(userExcelVerify);
+        try {
+            ExcelImportResult<User> result = ExcelImportUtil.importExcelMore(file.getInputStream(), User.class,
+                    importParams);
+            List<User> successList = result.getList();
+            //澶辫触缁撴灉闆�
+            List<User> failList = result.getFailList();
+            /*failList.forEach(user -> {
+                System.out.println("楠岃瘉澶辫触鐨勪俊鎭細"+user+userExcelVerify.verifyHandler(user).getMsg());
+            });
+            successList.forEach(x->{
+                System.out.println("閫氳繃楠岃瘉鐨勬暟鎹細"+x.toString());
+            });*/
+            String msg = "";
+            for (User entity : result.getFailList()) {
+                msg += "绗�" + entity.getRowNum() + "琛岀殑閿欒鏄細" + entity.getErrorMsg()+";\n";
+                //System.out.println(msg);
+            }
+            if (!successList.isEmpty()){
+                boolean success = userService.addBatch(successList);
+                if (success && failList.isEmpty()){
+                    response.set(1,"鎴愬姛瀵煎叆"+successList.size()+"鏉℃暟鎹�;");
+                }
+            }else{
+                response.set(1,failList,"鎴愬姛瀵煎叆"+successList.size()+"鏉℃暟鎹�"+";瀵煎叆澶辫触"+failList.size()+"鏉℃暟鎹�;\n"+msg);
+            }
+
+
+        } catch (IOException e) {
+            e.printStackTrace();
+            response.setMsg(0,"瀵煎叆澶辫触");
+        } catch (Exception e) {
+            e.printStackTrace();
+            response.setMsg(0,"瀵煎叆澶辫触");
+        }
+        return response;
+    }
+
 }

--
Gitblit v1.9.1