소스 검색

头像上传

6 년 전
부모
커밋
3feeda5539

+ 29 - 8
pcbms/src/main/java/com/hssx/pcbms/controller/UserController.java

@@ -11,12 +11,14 @@ import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.multipart.MultipartFile;
+
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
 /**
  * <p>
- *  前端控制器
+ * 前端控制器
  * </p>
  *
  * @author 吴涛涛
@@ -32,20 +34,22 @@ public class UserController {
     /**
      * 注册
      * 参数:phone 账号 password 密码 name 姓名
-     *      code 验证码
+     * code 验证码
+     *
      * @return
      */
     @ApiOperation(value = "注册", notes = "注册方法")
     @RequestMapping("/regist")
     @ResponseBody
-    public HttpRespMsg regist(User user,@RequestParam(required = false) String code) {
-        HttpRespMsg msg = userService.regist(user,code);
+    public HttpRespMsg regist(User user, @RequestParam(required = false) String code) {
+        HttpRespMsg msg = userService.regist(user, code);
         return msg;
     }
 
     /**
      * 登录
      * 参数:phone 账号 password 密码
+     *
      * @return
      */
     @ApiOperation(value = "登录", notes = "登录方法")
@@ -53,13 +57,14 @@ public class UserController {
     @ResponseBody
     public HttpRespMsg sysLogin(User user, HttpServletRequest request,
                                 HttpServletResponse response) {
-        HttpRespMsg msg = userService.login(user,request);
+        HttpRespMsg msg = userService.login(user, request);
         return msg;
     }
 
     /**
      * 用户列表
      * 参数:deptId 部门id ,roleId 角色id,isPass 审核是否通过 0-未通过 1-通过(以上参数查什么传什么)
+     *
      * @return
      */
     @ApiOperation(value = "用户列表", notes = "用户列表方法")
@@ -73,14 +78,30 @@ public class UserController {
     /**
      * 用户修改/审核接口
      * 参数:id:用户id(必传)
-     * 要修改的参数:isPass 审核 0-不通过 1-通过,roleId修改角色,deptId 部门id ,phone 修改手机号
+     * 要修改的参数:isPass 审核 0-不通过 1-通过,roleId修改角色,deptId 部门id ,phone 修改手机号,file 头像文件
+     *
      * @return
      */
     @ApiOperation(value = "用户修改", notes = "用户修改方法")
     @RequestMapping("/update")
     @ResponseBody
-    public HttpRespMsg update(User user) {
-        HttpRespMsg msg = userService.updateUser(user);
+    public HttpRespMsg update(User user, @RequestParam(required = false) MultipartFile file) {
+        HttpRespMsg msg = userService.updateUser(user,file);
+        return msg;
+    }
+
+    /**
+     * 忘记密码/修改密码接口
+     * 参数:id:用户id(必传)password:密码,type :0-修改密码 1-忘记密码
+     * type = 1 需要传手机号 phone:手机号,code:验证码
+     *
+     * @return
+     */
+    @ApiOperation(value = "忘记密码/修改密码接口", notes = "忘记密码/修改密码接口方法")
+    @RequestMapping("/updateAndForgetPwd")
+    @ResponseBody
+    public HttpRespMsg updateAndForgetPwd(User user, Integer type, @RequestParam(required = false) String code) {
+        HttpRespMsg msg = userService.updateAndForgetPwd(user, type, code);
         return msg;
     }
 

+ 4 - 1
pcbms/src/main/java/com/hssx/pcbms/service/UserService.java

@@ -4,6 +4,7 @@ import com.hssx.pcbms.entity.User;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.hssx.pcbms.entity.vo.UserVO;
 import com.hssx.pcbms.util.HttpRespMsg;
+import org.springframework.web.multipart.MultipartFile;
 
 import javax.servlet.http.HttpServletRequest;
 
@@ -23,5 +24,7 @@ public interface UserService extends IService<User> {
 
     HttpRespMsg getList(UserVO userVO);
 
-    HttpRespMsg updateUser(User user);
+    HttpRespMsg updateUser(User user,MultipartFile file);
+
+    HttpRespMsg updateAndForgetPwd(User user, Integer type,String code);
 }

+ 25 - 1
pcbms/src/main/java/com/hssx/pcbms/service/impl/UserServiceImpl.java

@@ -8,9 +8,11 @@ import com.hssx.pcbms.service.UserService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.hssx.pcbms.util.HttpRespMsg;
 import com.hssx.pcbms.util.MD5Util;
+import com.hssx.pcbms.util.UploadFileToFileNameUtil;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
+import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
@@ -33,6 +35,8 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
     private UserMapper userMapper;
     @Value("${sysPwd}")
     private String sysPwd;
+    @Value("${upload.path}")
+    private String path;
 
     @Override
     public HttpRespMsg login(User user, HttpServletRequest request) {
@@ -90,7 +94,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
     }
 
     @Override
-    public HttpRespMsg updateUser(User user) {
+    public HttpRespMsg updateUser(User user,MultipartFile file) {
         HttpRespMsg msg = new HttpRespMsg();
         User currentUser = userMapper.selectById(user.getId());
         if (currentUser == null) {
@@ -107,7 +111,27 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
                 }
             }
         }
+        if(file != null){
+            String headUrl = UploadFileToFileNameUtil.uploadFile(file, path);
+            user.setHeadUrl(headUrl);
+        }
         userMapper.updateById(user);
         return msg;
     }
+
+    @Override
+    public HttpRespMsg updateAndForgetPwd(User user, Integer type, String code) {
+        HttpRespMsg msg = new HttpRespMsg();
+        if (0 == type) {
+            //修改密码
+            user.setPassword(MD5Util.getPassword(user.getPassword()));
+            userMapper.updateById(user);
+        } else if (1 == type) {
+            //验证手机号验证码todo
+            User oldUser = userMapper.selectOne(new QueryWrapper<>(user));
+            oldUser.setPassword(MD5Util.getPassword(user.getPassword()));
+            userMapper.updateById(oldUser);
+        }
+        return msg;
+    }
 }

+ 48 - 0
pcbms/src/main/java/com/hssx/pcbms/util/UploadFileToFileNameUtil.java

@@ -0,0 +1,48 @@
+package com.hssx.pcbms.util;
+
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.UUID;
+
+/**
+ * Author: 吴涛涛 cuiyi@itany.com
+ * Date : 2019 - 10 - 16 13:47
+ * Description:<描述>
+ * Version: 1.0
+ */
+public class UploadFileToFileNameUtil {
+
+    public static String uploadFile(MultipartFile file, String path) {
+        String afterUploadFileName = "";
+        if (file != null) {
+            File dir = null;
+            dir = new File(path);
+            // D://dolphin/upload 文件上传后所存储的位置,部署到服务器上时配置服务器地址即可
+            if (!dir.exists()) {
+                dir.mkdirs();
+            }
+            String fileName = "";
+            if (file != null) {
+                fileName = file.getOriginalFilename();
+                System.out.println("上传文件名称" + file.getName() + ", dir = " + dir.getAbsolutePath());
+                int pos = fileName.lastIndexOf(".");
+                String rand = UUID.randomUUID().toString().replaceAll("-", "");
+                String sufix = fileName.substring(pos);
+                fileName = rand + sufix;
+                afterUploadFileName = "/upload/" + fileName;
+                File saveFile = new File(dir, fileName);
+                try {
+                    saveFile.createNewFile();
+                    file.transferTo(saveFile);
+                } catch (IOException e) {
+                    e.printStackTrace();
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+            }
+        }
+        return afterUploadFileName;
+    }
+}