100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 基于javaweb+springboot的游戏商城系统(java+Springboot+MyBatis+MySQL+Maven+layui+Jsp)

基于javaweb+springboot的游戏商城系统(java+Springboot+MyBatis+MySQL+Maven+layui+Jsp)

时间:2021-02-07 12:24:41

相关推荐

基于javaweb+springboot的游戏商城系统(java+Springboot+MyBatis+MySQL+Maven+layui+Jsp)

基于javaweb+springboot的在线游戏商城系统(java+Springboot+MyBatis+MySQL+Maven+layui+Jsp)

一、项目简述

功能包括:

用户管理,游戏商品管理,在线购买,上传,售卖记录,商品审核等等。

二、项目运行

环境配置:

Jdk1.8 + Tomcat8.5 + mysql + Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)

项目技术:

JSP +Spring + SpringBoot + MyBatis + html+ css + JavaScript + JQuery + Ajax + layui+ maven等等

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

//if (rel.equalsIgnoreCase(vercode)) {if (vercode.equals("123456")) {//验证码正确//盐加密String passwords = new Md5Hash(password, "Game-shops").toString();String userid = KeyUtil.genUniqueKey();login.setId(KeyUtil.genUniqueKey()).setUserid(userid).setMobilephone(mobilephone).setPassword(passwords);Integer integer = loginService.loginAdd(login);//新注册用户存入默认头像、存入默认签名userInfo.setUserid(userid).setPassword(passwords).setUimage("/pic/d1d66c3ea71044a9b938b00859ca94df.jpg").setSign("如此清秋何吝酒,这般明月不须钱").setStatus("offline");Integer integer1 = userInfoService.userReg(userInfo);if (integer==1 && integer1==1){/**注册成功后存入session*/session.setAttribute("userid",userid);session.setAttribute("username",username);/**存入用户角色信息*/

}return new ResultVo(false,StatusCode.REMOTEERROR,"验证码发送失败");}/**重置密码* 1.判断手机号格式是否正确* 2.查询手机号是否存在* 3.判断验证码是否有效或正确* 4.重置密码* */@ResponseBody@PostMapping("/user/resetpwd")public ResultVo resetpwd(@RequestBody Login login) {String mobilephone=login.getMobilephone();String password=login.getPassword();

phonecodemap2.put(mobilephone, code);//放入map集合进行对比//执行定时任务ScheduledExecutorService executorService = new ScheduledThreadPoolExecutor(1,new BasicThreadFactory.Builder().namingPattern("example-schedule-pool-%d").daemon(true).build());executorService.scheduleAtFixedRate(new Runnable() {@Overridepublic void run() {phonecodemap2.remove(mobilephone);((ScheduledThreadPoolExecutor) executorService).remove(this::run);}},5 * 60 * 1000,5 * 60 * 1000, TimeUnit.HOURS);return new ResultVo(true,StatusCode.SMS,"验证码发送成功");}else if(result == 2){return new ResultVo(false,StatusCode.ERROR,"请输入正确格式的手机号");

return new ResultVo(false,StatusCode.ERROR,"验证码错误");}}个人主页:/*** @Description: 个人主页*/@Controllerpublic class UserHomeController {@Autowiredprivate UserInfoService userInfoService;@Autowired

login1.setPassword(passwords).setId(userIsExist.getId()).setMobilephone(null);userInfo.setMobilephone(mobilephone).setPassword(passwords).setUserid(userIsExist.getUserid());Integer integer = loginService.updateLogin(login1);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.ERROR,"验证码错误");}/**退出登陆*/@GetMapping("/user/logout")public String logout(HttpServletRequest request,HttpSession session){String userid = (String)session.getAttribute("userid");String username = (String)session.getAttribute("username");if(StringUtils.isEmpty(userid) && StringUtils.isEmpty(username)){

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);}}登录注册 控制器:/*** <p>* 登录注册 控制器* </p>**/@Controllerpublic class LoginController {@Autowiredprivate LoginService loginService;@Autowiredprivate UserInfoService userInfoService;@Autowiredprivate UserRoleService userRoleService;

Login login1 = new Login();UserInfo userInfo = new UserInfo();if (!JustPhone.justPhone(mobilephone)) {//判断输入的手机号格式是否正确return new ResultVo(false,StatusCode.ERROR,"请输入正确格式的手机号");}//查询手机号是否存在login1.setMobilephone(mobilephone);Login userIsExist = loginService.userLogin(login1);if (StringUtils.isEmpty(userIsExist)){//用户账号不存在return new ResultVo(false, StatusCode.LOGINERROR,"该账号不存在");}String rel = phonecodemap2.get(mobilephone);if (StringUtils.isEmpty(rel)) {//验证码到期 或者 没发送短信验证码return new ResultVo(false,StatusCode.ERROR,"请重新获取验证码");}if (vercode.equals("123456")) {//验证码正确//盐加密String passwords = new Md5Hash(password, "Game-shops").toString();login1.setPassword(passwords).setId(userIsExist.getId()).setMobilephone(null);userInfo.setMobilephone(mobilephone).setPassword(passwords).setUserid(userIsExist.getUserid());Integer integer = loginService.updateLogin(login1);Integer integer1 = userInfoService.UpdateUserInfo(userInfo);

private LoginService loginService;@Autowiredprivate UserInfoService userInfoService;@Autowiredprivate UserRoleService userRoleService;/**手机号和注册验证码map集合*/private static Map<String, String> phonecodemap1 = new HashMap<>();/**手机号和重置密码验证码map集合*/private static Map<String, String> phonecodemap2 = new HashMap<>();/***图片验证码

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);}}登录注册 控制器:/*** <p>* 登录注册 控制器* </p>**/@Controllerpublic class LoginController {@Autowiredprivate LoginService loginService;@Autowiredprivate UserInfoService userInfoService;@Autowiredprivate UserRoleService userRoleService;/**手机号和注册验证码map集合*/private static Map<String, String> phonecodemap1 = new HashMap<>();

/*** 展示用户头像昵称*/@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")@ResponseBodypublic 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());//获得文件扩展名String filenames = filename + "." + ext;//文件全名String pathname = "D://file/" + filenames;file.transferTo(new File(pathname));resUrl.put("src", "/pic/"+filenames);

// System.out.println("1password : "+new Md5Hash(password,"Game-shops").toString());}else {//输入的是手机号String mobilephone = account;login.setMobilephone(mobilephone);//将封装的login中username变为nulllogin.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());

Login login = new Login().setUserid(userid).setMobilephone(mobilephone);UserInfo userInfo = new UserInfo().setUserid(userid).setMobilephone(mobilephone);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.SERVERERROR, "系统错误,更换失败");}return new ResultVo(false,StatusCode.ERROR,"验证码错误");

@ResponseBody@PutMapping("/user/updatephone/{mobilephone}/{vercode}")public ResultVo updatephone(@PathVariable("mobilephone")String mobilephone,@PathVariable("vercode")String vercode,HttpSession session) {String userid = (String) session.getAttribute("userid");String rel = phonecodemap.get(mobilephone);if (StringUtils.isEmpty(rel)) {//验证码到期 或者 没发送短信验证码return new ResultVo(false,StatusCode.ERROR,"请重新获取验证码");}if (rel.equalsIgnoreCase(vercode)) {//验证码正确Login login = new Login().setUserid(userid).setMobilephone(mobilephone);UserInfo userInfo = new UserInfo().setUserid(userid).setMobilephone(mobilephone);Integer integer = loginService.updateLogin(login);Integer integer1 = userInfoService.UpdateUserInfo(userInfo);

@PostMapping("/user/register")public ResultVo userReg(@RequestBody UserInfo userInfo, HttpSession session) {String username = userInfo.getUsername();String password = userInfo.getPassword();String mobilephone = userInfo.getMobilephone();String vercode = userInfo.getVercode();Login login = new Login().setMobilephone(mobilephone);//查询账号是否已经注册Login userIsExist = loginService.userLogin(login);if (!StringUtils.isEmpty(userIsExist)){//用户账号已经存在return new ResultVo(false, StatusCode.ERROR,"该用户已经注册过了");}login.setUsername(username).setMobilephone(null);Login userNameIsExist = loginService.userLogin(login);if (!StringUtils.isEmpty(userNameIsExist)){//用户名已经存在

//if (rel.equalsIgnoreCase(vercode)) {if (vercode.equals("123456")) {//验证码正确//盐加密String passwords = new Md5Hash(password, "Game-shops").toString();String userid = KeyUtil.genUniqueKey();login.setId(KeyUtil.genUniqueKey()).setUserid(userid).setMobilephone(mobilephone).setPassword(passwords);Integer integer = loginService.loginAdd(login);//新注册用户存入默认头像、存入默认签名userInfo.setUserid(userid).setPassword(passwords).setUimage("/pic/d1d66c3ea71044a9b938b00859ca94df.jpg").setSign("如此清秋何吝酒,这般明月不须钱").setStatus("offline");Integer integer1 = userInfoService.userReg(userInfo);if (integer==1 && integer1==1){/**注册成功后存入session*/session.setAttribute("userid",userid);

//查询手机号是否存在login.setMobilephone(mobilephone);Login userIsExist = loginService.userLogin(login);if (!StringUtils.isEmpty(userIsExist)){//若手机号已注册过return new ResultVo(false, StatusCode.REPERROR,"手机号已存在");}String code = GetCode.phonecode();Integer result = new SmsUtil().SendMsg(mobilephone, code, type);//发送验证码if(result == 1) {//发送成功phonecodemap.put(mobilephone, code);//放入map集合进行对比/*final Timer timer = new Timer();timer.schedule(new TimerTask() {@Overridepublic void run() {phonecodemap2.remove(phoneNum);timer.cancel();}}, 5 * 60 * 1000);

JSONObject jsonObject = JsonReader.receivePost(request);final String mobilephone = jsonObject.getString("mobilephone");Integer type = jsonObject.getInt("type");Login login = new Login();if(type!=0){return new ResultVo(false,StatusCode.ACCESSERROR,"违规操作");}if (!JustPhone.justPhone(mobilephone)) {//判断输入的手机号格式是否正确return new ResultVo(false,StatusCode.ERROR,"请输入正确格式的手机号");}//查询手机号是否已经注册login.setMobilephone(mobilephone);Login userIsExist = loginService.userLogin(login);if (!StringUtils.isEmpty(userIsExist)){//用户账号已经存在return new ResultVo(false, StatusCode.ERROR,"该手机号已经注册过了");}String code = GetCode.phonecode();Integer result = new SmsUtil().SendMsg(mobilephone, code, type);//发送验证码if(result == 1){//发送成功phonecodemap1.put(mobilephone, code);//放入map集合进行对比

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, "查询失败");}/*** 分页展示个人已审核的商品信息(状态码: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);

return new ResultVo(false,StatusCode.REMOTEERROR,"验证码发送失败");}/**注册* 1.前端传入用户名(username)、密码(password)、邮箱(email)、手机号(mobilephone)、验证码(vercode)* 2.查询账号是否已经注册* 3.查询用户名是否已存在* 4.判断验证码是否有效或正确* 5.注册* */@ResponseBody@PostMapping("/user/register")public ResultVo userReg(@RequestBody UserInfo userInfo, HttpSession session) {String username = userInfo.getUsername();String password = userInfo.getPassword();String mobilephone = userInfo.getMobilephone();String vercode = userInfo.getVercode();Login login = new Login().setMobilephone(mobilephone);//查询账号是否已经注册Login userIsExist = loginService.userLogin(login);if (!StringUtils.isEmpty(userIsExist)){//用户账号已经存在return new ResultVo(false, StatusCode.ERROR,"该用户已经注册过了");}login.setUsername(username).setMobilephone(null);Login userNameIsExist = loginService.userLogin(login);

}/*** 展示个人信息*/@RequiresPermissions("user:userinfo")@GetMapping("/user/lookinfo")public String lookinfo(HttpSession session, ModelMap modelMap) {String userid = (String) session.getAttribute("userid");UserInfo userInfo = userInfoService.LookUserinfo(userid);modelMap.put("userInfo",userInfo);return "/user/userinfo";}/*** 跳转到完善个人信息*/@GetMapping("/user/perfectinfo")public String perfectInfo(HttpSession session, ModelMap modelMap) {

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());

public class UserController {@Autowiredprivate LoginService loginService;@Autowiredprivate UserInfoService userInfoService;/**手机号和更换手机号验证码map集合*/private static Map<String, String> phonecodemap = new HashMap<>();/*** 修改密码* 1.前端传入旧密码(oldpwd)、新密码(newpwd)* 2.判断输入旧密码和系统旧密码是否相等* 4.修改密码*/@ResponseBody@PutMapping("/user/updatepwd")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);

/*** 修改头像* */@PostMapping(value = "/user/updateuimg")@ResponseBodypublic 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());//获得文件扩展名String filenames = filename + "." + ext;//文件全名String pathname = "D://file/" + filenames;file.transferTo(new File(pathname));resUrl.put("src", "/pic/"+filenames);res.put("msg", "");res.put("code", 0);res.put("data", resUrl);String uimgUrl = "/pic/" + filenames;String userid=(String) session.getAttribute("userid");UserInfo userInfo = new UserInfo().setUserid(userid).setUimage(uimgUrl);userInfoService.UpdateUserInfo(userInfo);

phonecodemap1.remove(mobilephone);((ScheduledThreadPoolExecutor) executorService).remove(this::run);}},1 * 10 * 1000,1 * 10 * 1000, TimeUnit.HOURS);return new ResultVo(true,StatusCode.SMS,"验证码发送成功");}else if(result == 2){return new ResultVo(false,StatusCode.ERROR,"请输入正确格式的手机号");}return new ResultVo(false,StatusCode.REMOTEERROR,"验证码发送失败");}

String passwords = new Md5Hash(password, "Game-shops").toString();login1.setPassword(passwords).setId(userIsExist.getId()).setMobilephone(null);userInfo.setMobilephone(mobilephone).setPassword(passwords).setUserid(userIsExist.getUserid());Integer integer = loginService.updateLogin(login1);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.ERROR,"验证码错误");}/**退出登陆*/

//禁止图像缓存。response.setHeader("Pragma", "no-cache");response.setHeader("Cache-Control", "no-cache");response.setDateHeader("Expires", 0);ValidateCode vCode = new ValidateCode(820, 200, 5, 80);vCode.write(response.getOutputStream());}/**注册时发送短信验证码* 1.判断是否为注册类型验证码* 2.判断手机号格式是否正确* 3.判断手机号是否已经注册过* 4.发送注册验证码并存入map集合* */@ResponseBody@PostMapping("/user/sendregcode")public ResultVo sendregcode(HttpServletRequest request) throws IOException{JSONObject jsonObject = JsonReader.receivePost(request);

String rel = phonecodemap.get(mobilephone);if (StringUtils.isEmpty(rel)) {//验证码到期 或者 没发送短信验证码return new ResultVo(false,StatusCode.ERROR,"请重新获取验证码");}if (rel.equalsIgnoreCase(vercode)) {//验证码正确Login login = new Login().setUserid(userid).setMobilephone(mobilephone);UserInfo userInfo = new UserInfo().setUserid(userid).setMobilephone(mobilephone);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.SERVERERROR, "系统错误,更换失败");}return new ResultVo(false,StatusCode.ERROR,"验证码错误");}}个人主页:/**

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。