基于javaweb+mysql的springboot在线游戏商城系统(java+springboot+mybatis+mysql+maven+layui+thymeleaf+html)
运行环境
Java≥8、MySQL≥5.7
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb+mysql的SpringBoot在线游戏商城系统(java+springboot+mybatis+mysql+maven+layui+thymeleaf+html)
一、项目简述功能包括: 用户管理,游戏商品管理,在线购买,上传,售卖记录,商品审核等等。
二、项目运行环境配置:
Jdk1.8 + Tomcat8.5 + mysql + Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)
项目技术:
JSP +Spring + SpringBoot + MyBatis + html+ css + JavaScript + JQuery + Ajax + layui+ maven等等
commodityList = commodityService.queryAllCommodity((page - 1) * limit, limit, userid,commstatus);
dataNumber = commodityService.queryCommodityCount(userid,commstatus);
}
return new LayuiPageVo("",0,dataNumber,commodityList);
}
/**
* 个人对商品的操作
* 前端传入商品id(commid)
* 前端传入操作的商品状态(commstatus)-->删除:2 已完成:4
* */
@ResponseBody
@GetMapping("/user/changecommstatus/{commid}/{commstatus}")
public ResultVo ChangeCommstatus( @PathVariable("commid") String commid, @PathVariable("commstatus") Integer commstatus, HttpSession session) {
Integer i = commodityService.ChangeCommstatus(commid, commstatus);
if (i == 1){
/**如果商品已售出*/
// dddd
if (commstatus == 4){
/**查询售出商品的信息*/
Commodity commodity = commodityService.LookCommodity(new Commodity().setCommid(commid));
Soldrecord soldrecord = new Soldrecord();
// String userid1 = (String) session.getAttribute("userid");
String userid2 = (String) commodity.getUserid();
// /**将商品信息添加到售出记录中 —— 买家1*/
// 没有设置买家数据位置,暂时不做功能
// soldrecord.setId(KeyUtil.genUniqueKey()).setCommid(commid).setCommname(commodity.getCommname()).setCommdesc(commodity.getCommdesc())
// .setThinkmoney(commodity.getThinkmoney()).setUserid(userid1);
/**将商品信息添加到售出记录中 —— 卖家2*/
soldrecord.setId(KeyUtil.genUniqueKey()).setCommid(commid).setCommname(commodity.getCommname()).setCommdesc(commodity.getCommdesc())
.setThinkmoney(commodity.getThinkmoney()).setUserid(userid2);
/**添加售出记录*/
soldrecordService.insertSold(soldrecord);
/**发出评论通知消息*/
Notices notices = new Notices().setId(KeyUtil.genUniqueKey()).setUserid(userid2).setTpname("购买")
.setWhys("您的商品 <a href=/product-detail/"+commid+" style=\"color:#08bf91\" target=\"_blank\" >"+commodity.getCommname()+"</a> 被购买了,快去看看吧。");
noticesService.insertNotices(notices);
}
return new ResultVo(true,StatusCode.OK,"操作成功");
}
return new ResultVo(false,StatusCode.ERROR,"操作失败");
}
}
// // 处理完请求,返回内容
// log.info("RESPONSE : " + ret);
// }
//}
@Component
public class LoginHandlerInterceptor implements HandlerInterceptor {
//目标方法执行之前
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
Object user = request.getSession().getAttribute("userid");
Object admin = request.getSession().getAttribute("admin");
if (StringUtils.isEmpty(user) && StringUtils.isEmpty(admin)) {
//未登陆,返回首页
request.setAttribute("msg", "没有权限请先登陆");
response.sendRedirect(request.getContextPath() + "/");//重定向
// request.getRequestDispatcher("/").forward(request,response);//转发
return false;
} else {
//已登陆,放行请求
return true;
}
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
}
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
}
}
/**
/**
* <p>
* 公告控制器
* </p>
*
*/
@Controller
public class NewsController {
@Autowired
private NewsService newsService;
/**
* 发布公告
* 1.传入公告标题(newstitle),公告简介(newsdesc)、公告内容(newscontent),简介图(image)
* 2.填写session获取的发布者
* */
@ResponseBody
@PostMapping("/news/insert")
public ResultVo insertNews(@RequestBody News news, HttpSession session){
String username=(String) session.getAttribute("username");
news.setId(KeyUtil.genUniqueKey()).setUsername(username);
Integer i = newsService.insertNews(news);
/**
* 分页管理员查看各类商品信息
*前端传入页码、分页数量
*前端传入商品信息状态码(commstatus)-->全部:100,违规:0,已审核:1,待审核:3 已完成:4
* 因为是管理员查询,将userid设置为空
*/
@GetMapping("/admin/commodity/{commstatus}")
@ResponseBody
public LayuiPageVo userCommodity(@PathVariable("commstatus") Integer commstatus, int limit, int page) {
if(commstatus==100){
List<Commodity> commodityList = commodityService.queryAllCommodity((page - 1) * limit, limit, null, null);
Integer dataNumber = commodityService.queryCommodityCount(null, null);
return new LayuiPageVo("",0,dataNumber,commodityList);
}else{
List<Commodity> commodityList = commodityService.queryAllCommodity((page - 1) * limit, limit, null, commstatus);
Integer dataNumber = commodityService.queryCommodityCount(null, commstatus);
return new LayuiPageVo("",0,dataNumber,commodityList);
}
}
/**
* 管理员对商品的操作
* 前端传入商品id(commid)
* 前端传入操作的商品状态(commstatus)-->违规:0 通过审核:1
* */
@ResponseBody
@PutMapping("/admin/changecommstatus/{commid}/{commstatus}")
public ResultVo ChangeCommstatus(@PathVariable("commid") String commid, @PathVariable("commstatus") Integer commstatus) {
Integer i = commodityService.ChangeCommstatus(commid, commstatus);
if (i == 1){
/**发出商品审核结果的系统通知*/
Commodity commodity = commodityService.LookCommodity(new Commodity().setCommid(commid));
if (commstatus == 0){
Notices notices = new Notices().setId(KeyUtil.genUniqueKey()).setUserid(commodity.getUserid()).setTpname("商品审核")
.setWhys("您的商品 <a href=/product-detail/"+commodity.getCommid()+" style=\"color:#08bf91\" target=\"_blank\" >"+commodity.getCommname()+"</a> 未通过审核,目前不支持公开发布。");
noticesService.insertNotices(notices);
}else if (commstatus == 1){
Notices notices = new Notices().setId(KeyUtil.genUniqueKey()).setUserid(commodity.getUserid()).setTpname("商品审核")
.setWhys("您的商品 <a href=/product-detail/"+commodity.getCommid()+" style=\"color:#08bf91\" target=\"_blank\" >"+commodity.getCommname()+"</a> 已通过审核,快去看看吧。");
noticesService.insertNotices(notices);
}
private CommentService commentService;
@Autowired
private ReplyService replyService;
@Autowired
private UserInfoService userInfoService;
@Autowired
private NoticesService noticesService;
/**
* 查询商品下的评论和回复
* */
@ResponseBody
@GetMapping("/comment/query/{commid}")
public ResultVo queryCommentReply(@PathVariable("commid") String commid){
System.out.println("DJLdebug:查询商品下的评论和回复");
/**查询评论*/
List<Comment> commentsList = commentService.queryComments(commid);
for (Comment comment : commentsList) {
/**查询对应评论下的回复*/
List<Reply> repliesList = replyService.queryReply(comment.getCid());
for (Reply reply : repliesList) {
/**查询回复者的昵称和头像信息*/
UserInfo ruser = userInfoService.queryPartInfo(reply.getRuserid());
/**查询被回复者的昵称信息*/
UserInfo cuser = userInfoService.queryPartInfo(reply.getCuserid());
/**添加回复中涉及到的用户昵称及头像信息*/
reply.setRusername(ruser.getUsername()).setRuimage(ruser.getUimage()).setCusername(cuser.getUsername());
}
/**查询评论者的昵称和头像信息*/
System.out.println("评论者ID:" + comment.getCuserid());
UserInfo userInfo = userInfoService.queryPartInfo(comment.getCuserid());
/**添加评论下的回复及评论者昵称和头像信息*/
comment.setReplyLsit(repliesList).setCusername(userInfo.getUsername()).setCuimage(userInfo.getUimage());
}
System.out.println("DJLdebug:查询评论结束");
return new ResultVo(true, StatusCode.OK,"查询评论回复成功",commentsList);
}
/**
* 评论
* 1.前端传入:商品id(commid)、商品发布者id(spuserid)、评论内容(content)
}
/**
* 后台分页查看公告列表
* 1.前端传入页码、分页数量
* 2.查询分页数据
*/
@ResponseBody
@GetMapping("/news/queryall")
public LayuiPageVo queryAllNews(int limit, int page) {
List<News> newsList = newsService.queryAllNews((page - 1) * limit, limit);
Integer dataNumber = newsService.LookNewsCount();
return new LayuiPageVo("",0,dataNumber,newsList);
}
/**
* 首页公告分页数据
* */
@GetMapping("/news/index/number")
@ResponseBody
public PageVo newsNumber(){
Integer dataNumber = newsService.LookNewsCount();
return new PageVo(StatusCode.OK,"查询成功",dataNumber);
}
/**
* 首页网站公告
* 1.前端传入页码、分页数量
* 2.查询分页数据
* */
@GetMapping("/news/index/{page}")
@ResponseBody
public ResultVo newsIndex(@PathVariable("page") Integer page){
List<News> newsList = newsService.queryAllNews((page - 1) * 9, 9);
return new ResultVo(true,StatusCode.OK,"查询成功",newsList);
}
}
// @AfterReturning(returning = "ret", pointcut = "webLog()")
// public void doAfterReturning(Object ret) throws Throwable {
// // 处理完请求,返回内容
// log.info("RESPONSE : " + ret);
// }
//}
@Component
public class LoginHandlerInterceptor implements HandlerInterceptor {
//目标方法执行之前
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
Object user = request.getSession().getAttribute("userid");
Object admin = request.getSession().getAttribute("admin");
if (StringUtils.isEmpty(user) && StringUtils.isEmpty(admin)) {
//未登陆,返回首页
request.setAttribute("msg", "没有权限请先登陆");
response.sendRedirect(request.getContextPath() + "/");//重定向
// request.getRequestDispatcher("/").forward(request,response);//转发
return false;
} else {
//已登陆,放行请求
return true;
}
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
}
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
}
@ResponseBody
@GetMapping("/news/queryall")
public LayuiPageVo queryAllNews(int limit, int page) {
List<News> newsList = newsService.queryAllNews((page - 1) * limit, limit);
Integer dataNumber = newsService.LookNewsCount();
return new LayuiPageVo("",0,dataNumber,newsList);
}
/**
* 首页公告分页数据
* */
@GetMapping("/news/index/number")
@ResponseBody
public PageVo newsNumber(){
Integer dataNumber = newsService.LookNewsCount();
return new PageVo(StatusCode.OK,"查询成功",dataNumber);
}
/**
* 首页网站公告
* 1.前端传入页码、分页数量
* 2.查询分页数据
* */
@GetMapping("/news/index/{page}")
@ResponseBody
public ResultVo newsIndex(@PathVariable("page") Integer page){
List<News> newsList = newsService.queryAllNews((page - 1) * 9, 9);
return new ResultVo(true,StatusCode.OK,"查询成功",newsList);
}
}
*/
@Controller
public class CommodityController {
@Autowired
private CommodityService commodityService;
@Autowired
private CommimagesService commimagesService;
@Autowired
private LoginService loginService;
@Autowired
private UserInfoService userInfoService;
@Autowired
private SoldrecordService soldrecordService;
@Autowired
private CollectService collectService;
@Autowired
private NoticesService noticesService;
/**
* 跳转到发布商品
*/
@GetMapping("/user/relgoods")
public String torelgoods(HttpSession session){
/*String userid = (String)session.getAttribute("userid");
if(userid==null){
return "redirect:/:";
}*/
return "/user/product/relgoods";
}
/**
* 跳转到修改商品
* --不能修改已删除、已完成的商品
* 1、查询商品详情
* 2、查询商品得其他图
*/
@GetMapping("/user/editgoods/{commid}")
public String toeditgoods(@PathVariable("commid")String commid, HttpSession session, ModelMap modelMap){
/*String userid = (String)session.getAttribute("userid");
if(userid==null){
return "redirect:/:";
}*/
Commodity commodity=commodityService.LookCommodity(new Commodity().setCommid(commid));
if(commodity.getCommstatus().equals(2) || commodity.getCommstatus().equals(4)){
return "/error/404";//商品已被删除或已完成交易
}
String[] commons=commodity.getCommon().split("、");
commodity.setCommon(commons[0]);
}
/**
* 用户忘记密码
* */
@GetMapping("/forget")
public String forget(){
return "user/forget";
}
/**
* 个人中心
* */
@GetMapping("/user/center")
public String usercenter(HttpSession session, HttpServletRequest request, HttpServletResponse response) throws IOException {
String userid = (String) session.getAttribute("userid");
/**拦截器:如果不是用户角色登录,则进行重定向*/
if (StringUtils.isEmpty(userid)){
response.sendRedirect(request.getContextPath() + "/");//重定向
}
return "/user/user-center";
}
/**
* 用户修改密码
* */
@RequiresPermissions("user:userinfo")
@GetMapping("/user/pass")
public String userinfo(){
return "/user/updatepass";
}
/**
* 用户更换手机号
* */
@RequiresPermissions("user:userinfo")
@GetMapping("/user/phone")
public String userphone(){
return "/user/updatephone";
}
/**
* 用户商品列表
* */
@GetMapping("/user/product")
public String userproduct(){
public ResultVo updatepwd(HttpSession session, HttpServletRequest request) throws IOException {
JSONObject json = JsonReader.receivePost(request);
String oldpwd = json.getString("oldpwd");
String newpwd = json.getString("newpwd");
String userid = (String) session.getAttribute("userid");
Login login = new Login();
UserInfo userInfo = new UserInfo();
login.setUserid(userid);
Login login1 = loginService.userLogin(login);
String oldpwds = new Md5Hash(oldpwd, "Game-shops").toString();
//如果旧密码相等
if (oldpwds.equals(login1.getPassword())){
//盐加密
String passwords = new Md5Hash(newpwd, "Game-shops").toString();
login.setPassword(passwords);
userInfo.setPassword(passwords).setUserid(login1.getUserid());
Integer integer = loginService.updateLogin(login);
Integer integer1 = userInfoService.UpdateUserInfo(userInfo);
if (integer == 1 && integer1 == 1) {
return new ResultVo(true, StatusCode.OK, "修改密码成功");
}
return new ResultVo(false, StatusCode.ERROR, "修改密码失败");
}
return new ResultVo(false, StatusCode.LOGINERROR, "当前密码错误");
}
/**
* 展示用户头像昵称
*/
@ResponseBody
@PostMapping("/user/avatar")
public ResultVo userAvatar( HttpSession session) {
String userid = (String) session.getAttribute("userid");
UserInfo userInfo = userInfoService.queryPartInfo(userid);
return new ResultVo(true, StatusCode.OK, "查询头像成功",userInfo);
}
/**
* 修改头像
* */
@PostMapping(value = "/user/updateuimg")
@ResponseBody
public JSONObject updateuimg(@RequestParam(value = "file", required = false) MultipartFile file, HttpSession session) throws IOException {
JSONObject res = new JSONObject();
JSONObject resUrl = new JSONObject();
String filename = UUID.randomUUID().toString().replaceAll("-", "");
String ext = FilenameUtils.getExtension(file.getOriginalFilename());//获得文件扩展名
@GetMapping("/admin/commodity/{commstatus}")
@ResponseBody
public LayuiPageVo userCommodity(@PathVariable("commstatus") Integer commstatus, int limit, int page) {
if(commstatus==100){
List<Commodity> commodityList = commodityService.queryAllCommodity((page - 1) * limit, limit, null, null);
Integer dataNumber = commodityService.queryCommodityCount(null, null);
return new LayuiPageVo("",0,dataNumber,commodityList);
}else{
List<Commodity> commodityList = commodityService.queryAllCommodity((page - 1) * limit, limit, null, commstatus);
Integer dataNumber = commodityService.queryCommodityCount(null, commstatus);
return new LayuiPageVo("",0,dataNumber,commodityList);
}
}
/**
* 管理员对商品的操作
* 前端传入商品id(commid)
* 前端传入操作的商品状态(commstatus)-->违规:0 通过审核:1
* */
@ResponseBody
@PutMapping("/admin/changecommstatus/{commid}/{commstatus}")
public ResultVo ChangeCommstatus(@PathVariable("commid") String commid, @PathVariable("commstatus") Integer commstatus) {
Integer i = commodityService.ChangeCommstatus(commid, commstatus);
if (i == 1){
/**发出商品审核结果的系统通知*/
Commodity commodity = commodityService.LookCommodity(new Commodity().setCommid(commid));
if (commstatus == 0){
Notices notices = new Notices().setId(KeyUtil.genUniqueKey()).setUserid(commodity.getUserid()).setTpname("商品审核")
.setWhys("您的商品 <a href=/product-detail/"+commodity.getCommid()+" style=\"color:#08bf91\" target=\"_blank\" >"+commodity.getCommname()+"</a> 未通过审核,目前不支持公开发布。");
noticesService.insertNotices(notices);
}else if (commstatus == 1){
Notices notices = new Notices().setId(KeyUtil.genUniqueKey()).setUserid(commodity.getUserid()).setTpname("商品审核")
.setWhys("您的商品 <a href=/product-detail/"+commodity.getCommid()+" style=\"color:#08bf91\" target=\"_blank\" >"+commodity.getCommname()+"</a> 已通过审核,快去看看吧。");
noticesService.insertNotices(notices);
}
return new ResultVo(true,StatusCode.OK,"操作成功");
}
return new ResultVo(false,StatusCode.ERROR,"操作失败");
}
}
modelMap.put("goods",commodity);
modelMap.put("otherimg",commimagesService.LookGoodImages(commid));
return "/user/product/changegoods";
}
/**
* 修改商品
* 1、修改商品信息
* 2、修改商品的其他图的状态
* 3、插入商品的其他图
*/
@PostMapping("/changegoods/rel")
@ResponseBody
public String changegoods(@RequestBody Commodity commodity, HttpSession session){
String userid = (String) session.getAttribute("userid");
commodity.setUpdatetime(new Date()).setCommstatus(3);
//commodity.setCommon(commodity.getCommon()+"、"+commodity.getCommon2());//常用选项拼接
commodityService.ChangeCommodity(commodity);
commimagesService.DelGoodImages(commodity.getCommid());
List<Commimages> commimagesList=new ArrayList<>();
for (String list:commodity.getOtherimg()) {
commimagesList.add(new Commimages().setId(KeyUtil.genUniqueKey()).setCommid(commodity.getCommid()).setImage(list));
}
commimagesService.InsertGoodImages(commimagesList);
/**发出待审核系统通知*/
Notices notices = new Notices().setId(KeyUtil.genUniqueKey()).setUserid(userid).setTpname("商品审核")
.setWhys("您的商品 <a href=/product-detail/"+commodity.getCommid()+" style=\"color:#08bf91\" target=\"_blank\" >"+commodity.getCommname()+"</a> 进入待审核队列,请您耐心等待。");
noticesService.insertNotices(notices);
return "0";
}
/**
* 发布商品
* 1、插入商品信息
* 2、插入商品其他图
*/
@PostMapping("/relgoods/rel")
@ResponseBody
public String relgoods(@RequestBody Commodity commodity, HttpSession session){
String userid = (String) session.getAttribute("userid");
UserInfo userInfo = userInfoService.LookUserinfo(userid);
String commid = KeyUtil.genUniqueKey();
commodity.setCommid(commid).setUserid(userid).setServer(userInfo.getServer());//商品id
//commodity.setCommon(commodity.getCommon()+"、"+commodity.getCommon2());//常用选项拼接
return new LayuiPageVo("",0,dataNumber,soldrecordList);
}
}
/**
* @Description: 个人主页
*/
@Controller
public class UserHomeController {
@Autowired
private UserInfoService userInfoService;
@Autowired
private CommodityService commodityService;
/**
* 个人简介
* 前端传入用户id(userid)
*/
@ResponseBody
@GetMapping("/user/userinfo/{userid}")
public ResultVo userinfo(@PathVariable("userid") String userid) {
UserInfo userInfo = userInfoService.LookUserinfo(userid);
if (!StringUtils.isEmpty(userInfo)){
return new ResultVo(true, StatusCode.OK, "查询成功",userInfo);
}
return new ResultVo(false, StatusCode.ERROR, "查询失败");
}
public ResultVo queryCommentReply(@PathVariable("commid") String commid){
System.out.println("DJLdebug:查询商品下的评论和回复");
/**查询评论*/
List<Comment> commentsList = commentService.queryComments(commid);
for (Comment comment : commentsList) {
/**查询对应评论下的回复*/
List<Reply> repliesList = replyService.queryReply(comment.getCid());
for (Reply reply : repliesList) {
/**查询回复者的昵称和头像信息*/
UserInfo ruser = userInfoService.queryPartInfo(reply.getRuserid());
/**查询被回复者的昵称信息*/
UserInfo cuser = userInfoService.queryPartInfo(reply.getCuserid());
/**添加回复中涉及到的用户昵称及头像信息*/
reply.setRusername(ruser.getUsername()).setRuimage(ruser.getUimage()).setCusername(cuser.getUsername());
}
/**查询评论者的昵称和头像信息*/
System.out.println("评论者ID:" + comment.getCuserid());
UserInfo userInfo = userInfoService.queryPartInfo(comment.getCuserid());
/**添加评论下的回复及评论者昵称和头像信息*/
comment.setReplyLsit(repliesList).setCusername(userInfo.getUsername()).setCuimage(userInfo.getUimage());
}
System.out.println("DJLdebug:查询评论结束");
return new ResultVo(true, StatusCode.OK,"查询评论回复成功",commentsList);
}
/**
* 评论
* 1.前端传入:商品id(commid)、商品发布者id(spuserid)、评论内容(content)
* 2.session获取:评论者id(cuserid)
* 3.过滤评论内容后,插入评论
*/
@ResponseBody
@PostMapping("/comment/insert")
public ResultVo insertcomment(@RequestBody Comment comment,HttpSession session) {
String cuserid = (String) session.getAttribute("userid");
String content = comment.getContent();
if (StringUtils.isEmpty(cuserid)) {
return new ResultVo(false,StatusCode.ACCESSERROR,"请登录后再评论");
}
content = content.replace("<", "<");
content = content.replace(">", ">");
content = content.replace("'", "\"");
String password=login.getPassword();
String vercode=login.getVercode();
UsernamePasswordToken token;
if(!ValidateCode.code.equalsIgnoreCase(vercode)){
return new ResultVo(false,StatusCode.ERROR,"请输入正确的验证码");
}
//判断输入的账号是否手机号
if (!JustPhone.justPhone(account)) {
//输入的是用户名
String username = account;
//盐加密
token = new UsernamePasswordToken(username, new Md5Hash(password,"Game-shops").toString());
// System.out.println("1password : "+new Md5Hash(password,"Game-shops").toString());
}else {
//输入的是手机号
String mobilephone = account;
login.setMobilephone(mobilephone);
//将封装的login中username变为null
login.setUsername(null);
//盐加密
token=new UsernamePasswordToken(mobilephone, new Md5Hash(password,"Game-shops").toString());
System.out.println("2password :"+ token);
}
Subject subject= SecurityUtils.getSubject();
try {
subject.login(token);
//盐加密
String passwords = new Md5Hash(password, "Game-shops").toString();
System.out.println("3password :"+ passwords);
login.setPassword(passwords);
Login login1 = loginService.userLogin(login);
session.setAttribute("userid",login1.getUserid());
session.setAttribute("username",login1.getUsername());
return new ResultVo(true,StatusCode.OK,"登录成功");
}catch (UnknownAccountException e){
return new ResultVo(true,StatusCode.LOGINERROR,"用户名不存在");
}catch (IncorrectCredentialsException e){
return new ResultVo(true,StatusCode.LOGINERROR,"密码错误");
}
}
/**重置密码时发送短信验证码
* 1.判断是否为重置密码类型验证码
* 2.判断手机号格式是否正确
* 3.查询账号是否存在
* 4.发送验证码
* */
@ResponseBody
@PostMapping("/user/sendresetpwd")
public ResultVo sendresetpwd(HttpServletRequest request) throws IOException {
JSONObject json = JsonReader.receivePost(request);
final String mobilephone = json.getString("mobilephone");
Integer type = json.getInt("type");
/**
* 分页展示个人已审核的商品信息(状态码:1)
*前端传入用户id(userid)、当前页码(nowPaging)、
*/
@ResponseBody
@GetMapping("/user/usercommodity/{userid}")
public LayuiPageVo userHomeCommodity(@PathVariable("userid") String userid,int limit, int page) {
List<Commodity> commodityList = commodityService.queryAllCommodity((page - 1) * limit, limit, userid,1);
Integer dataNumber = commodityService.queryCommodityCount(userid,1);
return new LayuiPageVo("", 0,dataNumber,commodityList);
}
}
//package com.log;
//
//
//
///**
// */
全局日志管理
//@Aspect
//@Component
//@Slf4j
//public class WebLogAspect {
//
// @Pointcut("execution(public * com.controller..*.*(..))")
// public void webLog() {
// }
//
// @Before("webLog()")
// public void doBefore(JoinPoint joinPoint) throws Throwable {
@ResponseBody
public LayuiPageVo userlist(int limit, int page,@PathVariable("roleid") Integer roleid,@PathVariable("userstatus") Integer userstatus) {
List<UserInfo> userInfoList = userInfoService.queryAllUserInfo((page - 1) * limit, limit,roleid,userstatus);
Integer dataNumber = userInfoService.queryAllUserCount(roleid);
return new LayuiPageVo("",0,dataNumber,userInfoList);
}
/**
* 设置为管理员或普通成员(roleid)
* 1:普通成员 2:管理员
*/
@PutMapping("/admin/set/administrator/{userid}/{roleid}")
@ResponseBody
public ResultVo setadmin(@PathVariable("userid") String userid,@PathVariable("roleid") Integer roleid) {
if (roleid == 2){
Integer i = loginService.updateLogin(new Login().setUserid(userid).setRoleid(roleid));
if (i == 1){
userRoleService.UpdateUserRole(new UserRole().setUserid(userid).setRoleid(2).setIdentity("网站管理员"));
/**发出设置为管理员的系统通知*/
Notices notices = new Notices().setId(KeyUtil.genUniqueKey()).setUserid(userid).setTpname("系统通知")
.setWhys("恭喜您已被设置为网站管理员,努力维护网站的良好氛围。");
noticesService.insertNotices(notices);
return new ResultVo(true, StatusCode.OK, "设置管理员成功");
}
return new ResultVo(true, StatusCode.ERROR, "设置管理员失败");
}else if (roleid == 1){
Integer i = loginService.updateLogin(new Login().setUserid(userid).setRoleid(roleid));
if (i == 1){
userRoleService.UpdateUserRole(new UserRole().setUserid(userid).setRoleid(1).setIdentity("网站用户"));
/**发出设置为网站用户的系统通知*/
Notices notices = new Notices().setId(KeyUtil.genUniqueKey()).setUserid(userid).setTpname("系统通知")
.setWhys("您已被设置为网站用户,希望您再接再厉。");
noticesService.insertNotices(notices);
return new ResultVo(true, StatusCode.OK, "设置成员成功");
}
return new ResultVo(true, StatusCode.ERROR, "设置成员失败");
}
return new ResultVo(false,StatusCode.ACCESSERROR,"违规操作");
}
/**