Commit ad9edf08 authored by liuyang's avatar liuyang

完成个人信息传改和上传头像功能

parent 7c603f42
......@@ -11,6 +11,7 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.qiankun.utils.JwtTokenUtil;
import com.qiankun.utils.UserUtils;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
......@@ -232,7 +233,7 @@ public class UserController extends BaseController<Object>{
user.getContacts().add(contacts2);
User u = userService.save(user);
map.put("user", u);
map.put("user", UserUtils.converToVo(u));
map.put("sKey",tokenUtil.generateToken(u.getOpenid()));
return map;
}
......
......@@ -9,6 +9,7 @@ import com.google.common.collect.Maps;
import com.qiankun.annotation.Auth;
import com.qiankun.config.WxMaConfiguration;
import com.qiankun.config.WxMaProperties;
import com.qiankun.dao.UserDao;
import com.qiankun.entity.User;
import com.qiankun.service.UserService;
import com.qiankun.utils.JwtTokenUtil;
......@@ -16,13 +17,22 @@ import com.qiankun.utils.UserUtils;
import com.qiankun.vo.DecryptedDataVo;
import com.qiankun.vo.PaperIdLoginVo;
import com.qiankun.vo.UserVo;
import com.sun.mail.imap.ResyncData;
import me.chanjar.weixin.common.error.WxErrorException;
import org.apache.commons.io.FileUtils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.io.IOException;
import java.util.Map;
import java.util.ResourceBundle;
......@@ -40,7 +50,7 @@ public class MdpController {
private String getAppid(){
return propertis.getConfigs().get(1).getAppid();
}
private Map<String,String> wxSessionKeyCache = Maps.newConcurrentMap();
private String uploadAvatarPath = File.separator + "mdp" + File.separator + "uploadAvatar";
@Auth(verifyLogin = false,verifyURL = false)
@RequestMapping(value = "/login",method = RequestMethod.GET)
......@@ -55,7 +65,6 @@ public class MdpController {
WxMaJscode2SessionResult session = wxService.getUserService().getSessionInfo(code);
this.logger.info(session.getSessionKey());
this.logger.info(session.getOpenid());
wxSessionKeyCache.put(session.getOpenid(),session.getSessionKey());
Map<String,Object> result = Maps.newConcurrentMap();
User userInfo = userService.findByOpenid(session.getOpenid());
......@@ -129,5 +138,51 @@ public class MdpController {
}
return result;
}
@Auth(verifyLogin = false,verifyURL = false)
@RequestMapping(value = "/uploadAvatar",method = RequestMethod.POST)
public Map<String,String> uploadAvatar(MultipartFile file,@RequestHeader String sKey){
Map<String,String> result = Maps.newConcurrentMap();
if (Strings.isNullOrEmpty(sKey)){
result.put("status","error");
result.put("errorMsg","请求参数错误");
return result;
}
String openid = tokenUtil.getUsernameFromToken(sKey);
User user = userService.findByOpenid(openid);
if (user == null){
result.put("status","error");
result.put("errorMsg","用户不存在");
return result;
}
try{
if (file != null && !file.isEmpty()){
String originalFileName = file.getOriginalFilename();
String rootPath = rb.getString("file_path");
File destFile = new File(rootPath + uploadAvatarPath,originalFileName);
FileUtils.writeByteArrayToFile(destFile,file.getBytes());
user.setAvatarImage(uploadAvatarPath + File.separator + originalFileName);
userService.save(user);
result.put("status","ok");
result.put("avatarImage",user.getAvatarImage());
}else {
result.put("status","error");
result.put("errorMsg","上传文件不存在");
return result;
}
}catch (IOException e){
logger.error(e.getMessage(),e);
result.put("status","error");
result.put("errorMsg","上传文件失败");
}
return result;
}
@Auth(verifyLogin = false,verifyURL = false)
@RequestMapping(value = "/loadResource",method = RequestMethod.GET)
public ResponseEntity<byte[]> loadResource(@RequestParam String imageName) throws IOException {
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
File file = new File(rb.getString("file_path"),imageName);
return new ResponseEntity<>(FileUtils.readFileToByteArray(file),headers, HttpStatus.OK);
}
}
......@@ -60,6 +60,7 @@ public class UserVo {
private String searchStr;
private String order;
private String sort;
private String avatarImage; //头像
public String getId() {
return id;
......@@ -359,8 +360,11 @@ public class UserVo {
this.userCode = userCode;
}
public String getAvatarImage() {
return avatarImage;
}
public void setAvatarImage(String avatarImage) {
this.avatarImage = avatarImage;
}
}
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