Commit 796fbe50 by fsn

上传头像完成

parent 63297c0c
...@@ -18,4 +18,9 @@ public interface Const { ...@@ -18,4 +18,9 @@ public interface Const {
*/ */
String ADMIN_NAME = "administrator"; String ADMIN_NAME = "administrator";
/**
* 默认头像
*/
String DEFAULT_AVATAR = "profile_small.jpg";
} }
package com.stylefeng.guns.modular.system.controller; package com.stylefeng.guns.modular.system.controller;
import com.google.code.kaptcha.Constants; import com.google.code.kaptcha.Constants;
import com.stylefeng.guns.common.constant.Const;
import com.stylefeng.guns.common.controller.BaseController; import com.stylefeng.guns.common.controller.BaseController;
import com.stylefeng.guns.common.exception.InvalidKaptchaException; import com.stylefeng.guns.common.exception.InvalidKaptchaException;
import com.stylefeng.guns.common.node.MenuNode; import com.stylefeng.guns.common.node.MenuNode;
...@@ -10,6 +11,8 @@ import com.stylefeng.guns.core.shiro.ShiroKit; ...@@ -10,6 +11,8 @@ import com.stylefeng.guns.core.shiro.ShiroKit;
import com.stylefeng.guns.core.shiro.ShiroUser; import com.stylefeng.guns.core.shiro.ShiroUser;
import com.stylefeng.guns.core.util.ToolUtil; import com.stylefeng.guns.core.util.ToolUtil;
import com.stylefeng.guns.modular.system.dao.MenuDao; import com.stylefeng.guns.modular.system.dao.MenuDao;
import com.stylefeng.guns.persistence.dao.UserMapper;
import com.stylefeng.guns.persistence.model.User;
import org.apache.shiro.authc.UsernamePasswordToken; import org.apache.shiro.authc.UsernamePasswordToken;
import org.apache.shiro.subject.Subject; import org.apache.shiro.subject.Subject;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -34,6 +37,9 @@ public class LoginController extends BaseController { ...@@ -34,6 +37,9 @@ public class LoginController extends BaseController {
@Autowired @Autowired
MenuDao menuDao; MenuDao menuDao;
@Autowired
UserMapper userMapper;
/** /**
* 跳转到主页 * 跳转到主页
*/ */
...@@ -45,6 +51,15 @@ public class LoginController extends BaseController { ...@@ -45,6 +51,15 @@ public class LoginController extends BaseController {
List<MenuNode> titles = MenuNode.buildTitle(menus); List<MenuNode> titles = MenuNode.buildTitle(menus);
model.addAttribute("titles", titles); model.addAttribute("titles", titles);
//获取用户头像
Integer id = ShiroKit.getUser().getId();
User user = userMapper.selectById(id);
String avatar = user.getAvatar();
if(ToolUtil.isEmpty(avatar)){
avatar = Const.DEFAULT_AVATAR;
}
model.addAttribute("avatar", avatar);
return "/index.html"; return "/index.html";
} }
......
...@@ -10,6 +10,7 @@ import com.stylefeng.guns.common.controller.BaseController; ...@@ -10,6 +10,7 @@ import com.stylefeng.guns.common.controller.BaseController;
import com.stylefeng.guns.common.exception.BizExceptionEnum; import com.stylefeng.guns.common.exception.BizExceptionEnum;
import com.stylefeng.guns.common.exception.BussinessException; import com.stylefeng.guns.common.exception.BussinessException;
import com.stylefeng.guns.core.db.Db; import com.stylefeng.guns.core.db.Db;
import com.stylefeng.guns.core.listener.ConfigListener;
import com.stylefeng.guns.core.log.LogObjectHolder; import com.stylefeng.guns.core.log.LogObjectHolder;
import com.stylefeng.guns.core.shiro.ShiroKit; import com.stylefeng.guns.core.shiro.ShiroKit;
import com.stylefeng.guns.core.shiro.ShiroUser; import com.stylefeng.guns.core.shiro.ShiroUser;
...@@ -34,6 +35,7 @@ import java.io.File; ...@@ -34,6 +35,7 @@ import java.io.File;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.UUID;
/** /**
* 系统管理员控制器 * 系统管理员控制器
...@@ -111,6 +113,7 @@ public class UserMgrController extends BaseController { ...@@ -111,6 +113,7 @@ public class UserMgrController extends BaseController {
model.addAttribute(user); model.addAttribute(user);
model.addAttribute("roleName", ConstantFactory.me().getRoleName(user.getRoleid())); model.addAttribute("roleName", ConstantFactory.me().getRoleName(user.getRoleid()));
model.addAttribute("deptName", ConstantFactory.me().getDeptName(user.getDeptid())); model.addAttribute("deptName", ConstantFactory.me().getDeptName(user.getDeptid()));
LogObjectHolder.me().set(user);
return PREFIX + "user_view.html"; return PREFIX + "user_view.html";
} }
...@@ -300,16 +303,17 @@ public class UserMgrController extends BaseController { ...@@ -300,16 +303,17 @@ public class UserMgrController extends BaseController {
} }
/** /**
* 上传图片 * 上传图片(上传到项目的webapp/static/img)
* @return
*/ */
@RequestMapping(method = RequestMethod.POST, path = "/upload") @RequestMapping(method = RequestMethod.POST, path = "/upload")
public @ResponseBody String upload(@RequestPart("file") MultipartFile picture){ public @ResponseBody String upload(@RequestPart("file") MultipartFile picture){
String pictureName = UUID.randomUUID().toString() + ".jpg";
try { try {
picture.transferTo(new File("e:/tmp/" + picture.getOriginalFilename())); String fileSavePath = ConfigListener.getConf().get("realPath") + "static\\img\\";
picture.transferTo(new File(fileSavePath + pictureName));
} catch (Exception e) { } catch (Exception e) {
throw new BussinessException(BizExceptionEnum.UPLOAD_ERROR); throw new BussinessException(BizExceptionEnum.UPLOAD_ERROR);
} }
return "succesPic"; return pictureName;
} }
} }
...@@ -28,6 +28,7 @@ public class UserDto{ ...@@ -28,6 +28,7 @@ public class UserDto{
private Integer status; private Integer status;
private Date createtime; private Date createtime;
private Integer version; private Integer version;
private String avatar;
public Integer getId() { public Integer getId() {
...@@ -142,4 +143,11 @@ public class UserDto{ ...@@ -142,4 +143,11 @@ public class UserDto{
this.version = version; this.version = version;
} }
public String getAvatar() {
return avatar;
}
public void setAvatar(String avatar) {
this.avatar = avatar;
}
} }
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
<ul class="nav" id="side-menu"> <ul class="nav" id="side-menu">
<li class="nav-header"> <li class="nav-header">
<div class="dropdown profile-element"> <div class="dropdown profile-element">
<span><img alt="image" class="img-circle" src="${ctxPath}/static/img/profile_small.jpg" /></span> <span><img alt="image" class="img-circle" src="${ctxPath}/static/img/${avatar}" width="64px" height="64px"/></span>
<a data-toggle="dropdown" class="dropdown-toggle" href="#"> <a data-toggle="dropdown" class="dropdown-toggle" href="#">
<span class="clear"> <span class="clear">
<span class="block m-t-xs"><strong class="font-bold">${shiro.getUser().name}</strong></span> <span class="block m-t-xs"><strong class="font-bold">${shiro.getUser().name}</strong></span>
......
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
<i class="fa fa-upload"></i>&nbsp;上传 <i class="fa fa-upload"></i>&nbsp;上传
</div> </div>
</div> </div>
<input type="hidden" id="${id}" /> <input type="hidden" id="${id}" value="${avatarImg!}"/>
</div> </div>
@if(isNotEmpty(underline) && underline == 'true'){ @if(isNotEmpty(underline) && underline == 'true'){
<div class="hr-line-dashed"></div> <div class="hr-line-dashed"></div>
......
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
<div class="row"> <div class="row">
<div class="col-sm-6 b-r"> <div class="col-sm-6 b-r">
<#avatar id="avatar" name="头像" underline="true" avatarImg="boy.gif"/> <#avatar id="avatar" name="头像" underline="true" avatarImg="${user.avatar}"/>
<#input id="account" name="账户" underline="true" value="${user.account}" disabled="disabled" /> <#input id="account" name="账户" underline="true" value="${user.account}" disabled="disabled" />
......
...@@ -97,7 +97,7 @@ UserInfoDlg.hideDeptSelectTree = function () { ...@@ -97,7 +97,7 @@ UserInfoDlg.hideDeptSelectTree = function () {
* 收集数据 * 收集数据
*/ */
UserInfoDlg.collectData = function () { UserInfoDlg.collectData = function () {
this.set('id').set('account').set('sex').set('password') this.set('id').set('account').set('sex').set('password').set('avatar')
.set('email').set('name').set('birthday').set('rePassword').set('deptid').set('phone'); .set('email').set('name').set('birthday').set('rePassword').set('deptid').set('phone');
}; };
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment