(资料图片)
好家伙,
代码已开源(Gitee)
PH-planewar: 个人开发的全栈小游戏 前端:vue2 + element-ui 后端: Springboot + mybatis-plus 数据库: mysql 目前实现功能: 1.注册登陆 2.游戏数据保存 3.游戏运行 (gitee.com)
后端这边update方法改了一下
controller类:
package com.wulaoda.loginhouduan.controller;import com.wulaoda.loginhouduan.entity.SysUserEntity;import com.wulaoda.loginhouduan.req.SysUserLoginReq;import com.wulaoda.loginhouduan.req.SysUserSaveReq;import com.wulaoda.loginhouduan.req.SysUserUpdateReq;import com.wulaoda.loginhouduan.resp.CommonResp;import com.wulaoda.loginhouduan.resp.SysUserLoginResp;import com.wulaoda.loginhouduan.service.SysUserService;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.util.DigestUtils;import org.springframework.web.bind.annotation.*;@RestController//绑定数据库表名@RequestMapping("/sys-user")public class SysUserController { @Autowired private SysUserService sysUserService; @PostMapping("register")// zxcv1234 //@RequestBody主要用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的); public CommonResp register(@RequestBody SysUserSaveReq req){ //对密码进行md5加密 req.setPassword(DigestUtils.md5DigestAsHex(req.getPassword().getBytes())); //resp为返回数据 CommonResp resp = new CommonResp<>(); //真正的注册 SysUserEntity saveResp = sysUserService.register(req); if(saveResp ==null){ resp.setSuccess(false); } return resp; } @PostMapping("login") public CommonResp login(@RequestBody SysUserLoginReq req){// zxcv1234 req.setPassword(DigestUtils.md5DigestAsHex(req.getPassword().getBytes())); CommonResp resp = new CommonResp<>(); SysUserLoginResp loginResp = sysUserService.login(req); if (loginResp == null) { resp.setSuccess(false); } resp.setContent(loginResp); return resp; } @PostMapping("update") public CommonResp update(@RequestBody SysUserUpdateReq req){ CommonResp resp = new CommonResp<>(); sysUserService.update(req); return resp; } @GetMapping("getallscore") public CommonResp getallscore(){ CommonResp resp = new CommonResp<>(); sysUserService.getallscore(); return resp; }}
service类
package com.wulaoda.loginhouduan.service.impl;import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;import com.wulaoda.loginhouduan.entity.SysUserEntity;import com.wulaoda.loginhouduan.mapper.SysUserMapper;import com.wulaoda.loginhouduan.req.SysUserLoginReq;import com.wulaoda.loginhouduan.req.SysUserSaveReq;import com.wulaoda.loginhouduan.req.SysUserUpdateReq;import com.wulaoda.loginhouduan.resp.SysUserLoginResp;import com.wulaoda.loginhouduan.resp.SysUserUpdateResp;import com.wulaoda.loginhouduan.service.SysUserService;import com.wulaoda.loginhouduan.utils.CopyUtil;import com.wulaoda.loginhouduan.utils.SnowFlake;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;import org.springframework.util.CollectionUtils;import org.springframework.util.ObjectUtils;import javax.annotation.Resource;import java.util.List;@Service//implements表示接口的实现,必须实现接口中的所有方法//此处继承SysUserService的方法并改写public class SysUserServiceImpl extends ServiceImplimplements SysUserService { @Resource @Autowired private SysUserMapper sysUserMapper; @Autowired private SnowFlake snowFlake;//注册 @Override public SysUserEntity register(SysUserSaveReq req) { // SysUserEntity user = CopyUtil.copy(req, SysUserEntity.class); //ObjectUtils.isEmpty判断对象是否为空 if(ObjectUtils.isEmpty(req.getId())){ //查看用户名是否已注册 SysUserEntity userDb = selectByLoginName(req.getLoginName()); //用户名未被注册 if(ObjectUtils.isEmpty(userDb)){ //用算法给帮它设置一个新id user.setId(snowFlake.nextId()); //这步是真正的往数据库里插数据了 sysUserMapper.insert(user); //哈哈,没东西返回了 }else{ //用户名已被注册,返回null return null; } } //无用返回 return user; }//登陆 @Override public SysUserLoginResp login(SysUserLoginReq req) { SysUserEntity userDb = selectByLoginName(req.getLoginName()); QueryWrapper wrapper = new QueryWrapper<>(); if(ObjectUtils.isEmpty(userDb)){ //用户不存在 return null; }else { String s1 = userDb.getPassword(); String s2 = req.getPassword(); //进行字符串校验 if(s1.equals(s2)){ //密码验证成功 int a = userDb.getLife(); SysUserLoginResp userLoginResp = CopyUtil.copy(userDb, SysUserLoginResp.class); return userLoginResp; }else { //密码校验失败 return null; } } }//数据更新 @Override public SysUserUpdateResp update(SysUserUpdateReq req){// SysUserEntity userDb = selectByLoginName(req.getLoginName());// QueryWrapper wrapper = new QueryWrapper<>();// LambdaUpdateWrapper wrapper1 = new LambdaUpdateWrapper<>();// wrapper1.set(SysUserEntity::getLife, req.getLife());// sysUserMapper.update(userDb,wrapper1); //重写 //网上的例子// LambdaUpdateWrapper lambdaUpdateWrapper = new LambdaUpdateWrapper<>();// lambdaUpdateWrapper.eq(User::getName, "rhb").set(User::getAge, 18);// Integer rows = userMapper.update(null, lambdaUpdateWrapper); //以下版本只能修改单项数据// LambdaUpdateWrapper wrapper1 = new LambdaUpdateWrapper<>();// wrapper1.eq(SysUserEntity::getLoginName, req.getLoginName()).set(SysUserEntity::getLife, req.getLife());// sysUserMapper.update(null,wrapper1); LambdaUpdateWrapper wrapper1 = new LambdaUpdateWrapper<>(); wrapper1.eq(SysUserEntity::getLoginName, req.getLoginName()).set(SysUserEntity::getLife, req.getLife()); wrapper1.eq(SysUserEntity::getLoginName, req.getLoginName()).set(SysUserEntity::getScore, req.getScore()); sysUserMapper.update(null,wrapper1); return null; }//获取所有分数getallscore// @Override// public void getallscore(){// // 查询多个字段,其它不需要查询的字段则为null//// List
对象实体类:
package com.wulaoda.loginhouduan.resp;public class SysUserUpdateResp { private String LoginName; private int life; private int score; public String getLoginName() { return LoginName; } public void setLoginName(String loginName) { LoginName = loginName; } public int getLife() { return life; } public void setLife(int life) { this.life = life; } public int getScore() { return score; } public void setScore(int score) { this.score = score; } @Override public String toString() { return "SysUserUpdateReq{" + "LoginName="" + LoginName + "\"" + ", life=" + life + ", score=" + score + "}"; }}
上一篇:特一药业:公司已布局医疗服务
下一篇:最后一页
X 关闭
-
广西考试招生院官网_广西考试招生院登录密码 每日看点
1、首先密码忘记了,可以登录广西招生考试院网站点击忘记密码,然后收入手机号发送验证码来修改。2、重要设
-
世界观察:长江航运迈入“北斗时代”!长江干线北斗卫星地基增强系统正式投运
6月1日,记者从交通运输部长江通信管理局获悉,近日,长江干线北斗卫星地基增强系统工程顺利通过交通运
-
天天播报:巴特勒:我们需要更多地冲击篮筐 包括我自己在内
直播吧6月2日讯NBA总决赛G1,热火93-104不敌掘金,大比分0-1落后。赛后,热火球星巴特勒接受了记者的采访。
-
护航“三夏”|信阳银保监分局全力做好夏收减灾减损工作|全球时讯
大河网讯近期,全市出现大范围连阴雨天气,对辖内夏收农作物产生较大不利影响。信阳银保监分局坚决扛稳粮食
-
热门看点:中国人民大学首次以第一完成单位发《科学》
在最新一期《科学》中,《SrCu2(BO3)2中的近似去精细量子临界点》一文在线发表。这是中国人民大学首次以第
-
今日播报!沪深股市交易提示(6月2日)
多股今日派息(除权 停复牌)速览,有你关注的么?
-
全球快讯:贡多拉正向你驶来,乐高IDEAS作品《威尼斯》获得万票支持!
威尼斯水上城市作为世上唯一没有汽车的城市,仿佛是上帝将眼泪流在了这里,让它更加晶莹和富有柔情,就似一
-
世界快播:吉林2部作品参评第十一届茅盾文学奖
吉林2部作品参评第十一届茅盾文学奖
-
三亚印发《三亚市推进金融业发展若干扶持奖励措施》
三亚市人民政府印发《三亚市推进金融业发展若干扶持奖励措施》,其中提出,鼓励企业在京、沪、深交易所首次
-
风浪越大鱼越贵?还得来点压舱石|当前热门
最近的A股市场又跌麻了,有投资者苦中作乐,拿出高启强的台词“风浪越大鱼越贵”来宽慰自己。话说这确实有