diff --git a/dev-web/dev-web-bbs/src/main/java/com/dev/framework/util/ShiroUtils.java b/dev-web/dev-web-bbs/src/main/java/com/dev/framework/util/ShiroUtils.java index 8b7f58d5b863e00aaa1de8669550c9e9f2c76637..58cc4ffa8d4340df9b0931e23e8eb9b39d2cff82 100644 --- a/dev-web/dev-web-bbs/src/main/java/com/dev/framework/util/ShiroUtils.java +++ b/dev-web/dev-web-bbs/src/main/java/com/dev/framework/util/ShiroUtils.java @@ -47,7 +47,7 @@ public class ShiroUtils return user; } - public static void setSysUser(BbsUser user) + public static void setBbsUser(BbsUser user) { Subject subject = getSubject(); PrincipalCollection principalCollection = subject.getPrincipals(); diff --git a/dev-web/dev-web-bbs/src/main/java/com/dev/web/controller/BbsUserController.java b/dev-web/dev-web-bbs/src/main/java/com/dev/web/controller/BbsUserController.java index 4d7a5bbdc286890307de119debb489bd708468f0..7e964036e854c46f19f0f04c3fd1ed4cbfb7b454 100644 --- a/dev-web/dev-web-bbs/src/main/java/com/dev/web/controller/BbsUserController.java +++ b/dev-web/dev-web-bbs/src/main/java/com/dev/web/controller/BbsUserController.java @@ -1,7 +1,13 @@ package com.dev.web.controller; -import java.util.List; - +import com.dev.bbs.domain.BbsUser; +import com.dev.bbs.service.IBbsUserService; +import com.dev.common.annotation.Log; +import com.dev.common.core.controller.BaseController; +import com.dev.common.core.domain.AjaxResult; +import com.dev.common.core.page.TableDataInfo; +import com.dev.common.enums.BusinessType; +import com.dev.common.utils.poi.ExcelUtil; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -13,14 +19,7 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; -import com.dev.bbs.domain.BbsUser; -import com.dev.bbs.service.IBbsUserService; -import com.dev.common.annotation.Log; -import com.dev.common.core.controller.BaseController; -import com.dev.common.core.domain.AjaxResult; -import com.dev.common.core.page.TableDataInfo; -import com.dev.common.enums.BusinessType; -import com.dev.common.utils.poi.ExcelUtil; +import java.util.List; /** * 社区用户Controller @@ -32,6 +31,8 @@ import com.dev.common.utils.poi.ExcelUtil; @RequestMapping("user") public class BbsUserController extends BaseController { + + private String prefix = "user"; @Autowired @@ -133,4 +134,6 @@ public class BbsUserController extends BaseController { return toAjax(bbsUserService.deleteBbsUserByIds(ids)); } + + } diff --git a/dev-web/dev-web-bbs/src/main/java/com/dev/web/controller/safe/SafeUserController.java b/dev-web/dev-web-bbs/src/main/java/com/dev/web/controller/safe/SafeUserController.java index c9028e56b2148089bcf321dd657cdf4f21355249..f1709b8c5bd703e4eee278b37f4a87b0887f1d27 100644 --- a/dev-web/dev-web-bbs/src/main/java/com/dev/web/controller/safe/SafeUserController.java +++ b/dev-web/dev-web-bbs/src/main/java/com/dev/web/controller/safe/SafeUserController.java @@ -5,29 +5,34 @@ */ package com.dev.web.controller.safe; -import javax.servlet.http.HttpServletRequest; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Controller; -import org.springframework.ui.Model; -import org.springframework.validation.annotation.Validated; -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.ResponseBody; - import com.dev.bbs.bean.BbsSignInfo; import com.dev.bbs.domain.BbsUser; import com.dev.bbs.form.UserForm; import com.dev.bbs.service.IBbsUserService; import com.dev.bbs.service.IBbsUserSignService; import com.dev.common.annotation.Log; +import com.dev.common.config.Global; import com.dev.common.constant.ShiroConstants; import com.dev.common.core.controller.BaseController; import com.dev.common.core.domain.AjaxResult; import com.dev.common.enums.BusinessType; +import com.dev.common.utils.file.FileUploadUtils; import com.dev.framework.shiro.service.BbsPasswordService; import com.dev.framework.util.ShiroUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.validation.annotation.Validated; +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.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletRequest; /** *

File:SafeUserController.java

@@ -42,6 +47,8 @@ import com.dev.framework.util.ShiroUtils; @RequestMapping("safe/user") public class SafeUserController extends BaseController { + private static final Logger log = LoggerFactory.getLogger(SafeUserController.class); + private String prefix = "safe/user"; @Autowired @@ -107,7 +114,7 @@ public class SafeUserController extends BaseController { bbsUser = bbsUserService.selectBbsUserById(bbsUser.getUserId()); request.getSession().setAttribute(ShiroConstants.CURRENT_USER, bbsUser); - ShiroUtils.setSysUser(bbsUser); + ShiroUtils.setBbsUser(bbsUser); return success(); } return error("更新失败"); @@ -136,7 +143,7 @@ public class SafeUserController extends BaseController passwordService.encryptPassword(bbsUser.getUsername(), userForm.getNewpass(), bbsUser.getSalt())); if (bbsUserService.resetUserPwd(bbsUser) > 0) { - ShiroUtils.setSysUser(bbsUserService.selectBbsUserById(bbsUser.getUserId())); + ShiroUtils.setBbsUser(bbsUserService.selectBbsUserById(bbsUser.getUserId())); return success(); } return error(); @@ -147,4 +154,34 @@ public class SafeUserController extends BaseController { return prefix + "/message"; } + + /** + * 保存头像 + */ + @Log(title = "个人信息", businessType = BusinessType.UPDATE) + @PostMapping("/upload") + @ResponseBody + public AjaxResult updateAvatar(@RequestParam("file") MultipartFile file) + { + BbsUser user = ShiroUtils.getBbsUser(); + try + { + if (!file.isEmpty()) + { + String avatar = FileUploadUtils.upload(Global.getAvatarPath(), file); + user.setAvatar(avatar); + if (bbsUserService.updateBbsUser(user) > 0) + { + ShiroUtils.setBbsUser(bbsUserService.selectBbsUserById(user.getUserId())); + return success(); + } + } + return error(); + } + catch (Exception e) + { + log.error("修改头像失败!", e); + return error(e.getMessage()); + } + } } diff --git a/dev-web/dev-web-bbs/src/main/resources/static/fly/mods/user.js b/dev-web/dev-web-bbs/src/main/resources/static/fly/mods/user.js index 4282946c8b1a0d0104eb688c5f6a66ba40ff8c19..a646fd0bc66222da1bd069473c2fbc0cb553a031 100644 --- a/dev-web/dev-web-bbs/src/main/resources/static/fly/mods/user.js +++ b/dev-web/dev-web-bbs/src/main/resources/static/fly/mods/user.js @@ -192,21 +192,23 @@ layui.define(['laypage', 'fly', 'element', 'flow', 'table'], function(exports){ if($('.upload-img')[0]){ layui.use('upload', function(upload){ var avatarAdd = $('.avatar-add'); - upload.render({ elem: '.upload-img' - ,url: '/user/upload/' + ,url: '/safe/user/upload/' ,size: 50 ,before: function(){ avatarAdd.find('.loading').show(); } ,done: function(res){ - if(res.status == 0){ - $.post('/user/set/', { - avatar: res.url - }, function(res){ - location.reload(); - }); + if(res.code == 0){ + layer.msg("保存成功,正在刷新数据请稍后……", { + icon: 1, + time: 500, + shade: [0.1, '#8F8F8F'] + }, + function() { + location.reload(); + }); } else { layer.msg(res.msg, {icon: 5}); }