首页>代码>springboot+mybatis+mysql高仿mini综合性B2C天猫商城>/why_demo/src/main/java/com/why/controller/admin/AccountController.java
package com.why.controller.admin; import com.alibaba.fastjson.JSONObject; import com.why.controller.BaseController; import com.why.service.AdminService; import com.why.entity.Admin; import org.springframework.stereotype.Controller; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; import javax.servlet.http.HttpSession; import java.io.File; import java.io.IOException; import java.util.Map; import java.util.UUID; /** * 后台管理-账户页 * @author 贤趣项目小组 */ @Controller public class AccountController extends BaseController { @Resource(name = "adminService") private AdminService adminService; //转到后台管理-账户页-ajax @RequestMapping(value = "admin/account", method = RequestMethod.GET) public String goToPage(HttpSession session, Map<String, Object> map){ logger.info("获取管理员信息"); Object adminId = checkAdmin(session); if(adminId == null){ return "admin/include/loginMessage"; } logger.info("获取目前登录的管理员信息,管理员ID:{}",adminId); Admin admin = adminService.get(null,Integer.parseInt(adminId.toString())); map.put("admin",admin); logger.info("转到后台管理-账户页-ajax方式"); return "admin/accountManagePage"; } //退出当前账号 @RequestMapping(value = "admin/account/logout", method = RequestMethod.GET) public String logout(HttpSession session) { Object o = session.getAttribute("adminId"); if (o == null) { logger.info("无相关信息,返回管理员登陆页"); } else { session.removeAttribute("adminId"); session.invalidate(); logger.info("登录信息已清除,返回管理员登陆页"); } return "redirect:/admin/login"; } //管理员头像上传 @ResponseBody @RequestMapping(value = "admin/uploadAdminHeadImage", method = RequestMethod.POST, produces = "application/json;charset=UTF-8") public String uploadAdminHeadImage(@RequestParam MultipartFile file, HttpSession session) { String originalFileName = file.getOriginalFilename(); logger.info("获取图片原始文件名:{}", originalFileName); assert originalFileName != null; String extension = originalFileName.substring(originalFileName.lastIndexOf('.')); //生成随机名 String fileName = UUID.randomUUID() + extension; //获取上传路径 String filePath = session.getServletContext().getRealPath("/") + "res/images/item/adminProfilePicture/" + fileName; logger.info("文件上传路径:{}", filePath); JSONObject jsonObject = new JSONObject(); try { logger.info("文件上传中..."); file.transferTo(new File(filePath)); logger.info("文件上传成功!"); jsonObject.put("success", true); jsonObject.put("fileName", fileName); } catch (IOException e) { logger.warn("文件上传失败!"); e.printStackTrace(); jsonObject.put("success", false); } return jsonObject.toJSONString(); } //更新管理员信息 @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) @ResponseBody @RequestMapping(value = "admin/account/{admin_id}", method = RequestMethod.PUT, produces = "application/json;charset=UTF-8") public String updateAdmin(HttpSession session, @RequestParam String admin_nickname/*管理员昵称*/, @RequestParam(required = false) String admin_password/*管理员当前密码*/, @RequestParam(required = false) String admin_newPassword/*管理员新密码*/, @RequestParam(required = false) String admin_profile_picture_src/*管理员头像路径*/, @PathVariable("admin_id") String admin_id/*管理员编号*/) { logger.info("获取管理员信息"); Object adminId = checkAdmin(session); if (adminId == null) { return "admin/include/loginMessage"; } JSONObject jsonObject = new JSONObject(); Admin putAdmin = new Admin(); putAdmin.setAdmin_id(Integer.valueOf(admin_id)); putAdmin.setAdmin_nickname(admin_nickname); if (admin_password != null && !"".equals(admin_password) && admin_newPassword != null && !"".equals(admin_newPassword)) { logger.info("获取需要修改的管理员信息"); Admin admin = adminService.get(null, Integer.valueOf(adminId.toString())); if (adminService.login(admin.getAdmin_name(), admin_password) != null) { logger.info("原密码正确"); putAdmin.setAdmin_password(admin_newPassword); } else { logger.info("原密码错误,返回错误信息"); jsonObject.put("success", false); jsonObject.put("message", "原密码输入有误!"); return jsonObject.toJSONString(); } } if (admin_profile_picture_src != null && !"".equals(admin_profile_picture_src)) { logger.info("管理员头像路径为{}", admin_profile_picture_src); putAdmin.setAdmin_profile_picture_src(admin_profile_picture_src.substring(admin_profile_picture_src.lastIndexOf("/") + 1)); } logger.info("更新管理员信息,管理员ID值为:{}", admin_id); Boolean yn = adminService.update(putAdmin); if (yn) { logger.info("更新成功!"); jsonObject.put("success", true); session.removeAttribute("adminId"); session.invalidate(); logger.info("登录信息已清除"); } else { jsonObject.put("success", false); logger.warn("更新失败!事务回滚"); throw new RuntimeException(); } return jsonObject.toJSONString(); } }
最近下载更多
zolscy LV24
11月27日
唐唐丶 LV34
11月19日
y1214435276 LV9
9月26日
失空斩 LV23
9月6日
曾显示 LV6
7月7日
abcadmin123 LV2
6月23日
TY0165 LV20
6月18日
lesuer LV11
5月28日
微信网友_6927932988952576 LV12
3月31日
LusiLi LV9
1月17日
最近浏览更多
yimaoermao LV1
11月28日
唐唐丶 LV34
11月19日
kfq33122 LV4
11月13日
WHY-small LV15
11月11日
wjwwjw
10月20日
暂无贡献等级
Peny_ZH LV5
9月21日
颜菜菜 LV2
9月13日
失空斩 LV23
9月6日
1260669501 LV1
8月31日
zz123456ZWJ
7月12日
暂无贡献等级