易课寄在线购课系统开发笔记(二十八)--完成用户注册功能
用户注册
功能分析
请求的 url:/user/register
参数:表单的数据:username、password、phone、email
返回值:JSON 数据。ECoursesResult
接收参数:使用 EcoursesUser 对象接收。
请求的方法:post
业务逻辑:
1、使用 EcoursesUser 接收提交的请求;
2、补全 EcoursesUser 其他属性;
3、密码要进行 MD5 加密;
4、把用户信息插入到数据库中;
5、返回 ECoursesResult。
Dao层
可以使用逆向工程。
Service层
参数:EcoursesUser
返回值:ECoursesResult
@Override
public ECoursesResult register(EcoursesUser user) {//数据有效性校验if (StringUtils.isBlank(user.getUsername()) || StringUtils.isBlank(user.getPassword()) || StringUtils.isBlank(user.getPhone())) {return ECoursesResult.build(400, "用户数据不完整,注册失败");}//1:用户名 2:手机号 3:邮箱ECoursesResult result = checkData(user.getUsername(), 1);if (!(boolean) result.getData()) {return ECoursesResult.build(400, "此用户名已经被占用");}result = checkData(user.getPhone(), 2);if (!(boolean)result.getData()) {return ECoursesResult.build(400, "手机号已经被占用");}//补全pojo的属性final long userId = IDUtils.genUserId();user.setId(userId);user.setCreated(new Date());user.setUpdated(new Date());//对密码进行md5加密String md5Pass = DigestUtils.md5DigestAsHex(user.getPassword().getBytes());user.setPassword(md5Pass);//把用户数据插入到数据库中userMapper.insert(user);//返回添加成功return ECoursesResult.ok();
}
发布服务
<dubbo:service interface="cn.ecourses.sso.service.RegisterService" ref="registerServiceImpl" timeout="600000"/>
表现层
引用服务。
<dubbo:reference interface="cn.ecourses.sso.service.RegisterService" id="registerService" />
Controller:
请求的 url:/user/register
参数:表单的数据:username、password、phone、email
返回值:JSON 数据。ECoursesResult
接收参数:使用 EcoursesUser 对象接收。
请求的方法:post
@RequestMapping(value="/user/register", method=RequestMethod.POST)
@ResponseBody
public ECoursesResult register(EcoursesUser user) {ECoursesResult ecoursesResult = registerService.register(user);return ecoursesResult;
}
易课寄在线购课系统开发笔记(二十八)--完成用户注册功能相关推荐
- 易课寄在线购课系统开发笔记(二十五)--完成课程详情页面展示相关功能(应用Redis缓存)
课程详情页面展示 创建一个课程详情页面展示的工程,是一个表现层工程. 工程搭建 ecourses-item-web.打包方式 war. 可以参考 易课寄在线购课系统开发笔记(七)–后台管理系统工程搭建 ...
- 易课寄在线购课系统开发笔记(十五)--完成购课系统门户的工程搭建
购课系统门户首页 工程搭建 可以参考 易课寄在线购课系统开发笔记(七)–后台管理系统工程搭建分析 ecourses-bms-web 工程的搭建过程. 功能分析 请求的 url:/index web.x ...
- 易课寄在线购课系统开发笔记(三十三)--完成购物车系统的开发
购物车的实现 功能分析 1.购物车是一个独立的表现层工程: 2.添加购物车不要求登录,可以指定购买课程的数量: 3.展示购物车列表页面: 4.修改购物车课程数量: 5.删除购物车课程. 工程搭建 ec ...
- 易课寄在线购课系统开发笔记(十六)--完成内容服务系统的工程搭建
首页动态展示分析 内容信息要从数据库中获得. 动态展示分析 内容需要进行分类. 分类下有子分类,需要动态管理. 分类下有内容列表. 单点的内容信息: 有图片 有链接 有标题 有价格 包含大文本类型,可 ...
- 易课寄在线购课系统开发笔记(三)--数据库设计
概念结构设计 ER 图如图所示. 表的详细设计 通过对领域对象.业务对象及对象间关联的分析,对本系统的数据库表进行了设计.本系统数据库管理采用 MySQL. 管理员信息表 ( ecourses_adm ...
- 易课寄在线购课系统开发笔记(十一)--完成课程列表查询的功能
展示后台首页 功能分析 请求的url:/ 参数:无 返回值:逻辑视图String Controller package cn.ecourses.controller; //页面跳转Controller ...
- 易课寄在线购课系统开发笔记(三十一)--登录注册页面实现
登录注册页面实现 注册功能 第一步:把静态页面添加到工程中. 第二步:展示页面. 请求的url: 登录:/page/login 注册:/page/register 参数:无 返回结果:逻辑视图 Str ...
- 易课寄在线购课系统开发笔记(二十九)--完成用户登录功能
用户登录 功能分析 请求的 url:/user/login 请求的方法:POST 参数:username.password,表单提交的数据,可以使用方法的形参接收. 返回值:JSON 数据,使用 EC ...
- 嵌入式系统设计师学习笔记二十八:嵌入式程序设计③——高级程序设计语言
嵌入式系统设计师学习笔记二十八:嵌入式程序设计③--高级程序设计语言 解释程序和编译程序 编译器的工作阶段示意图 语法错误:非法字符,关键字或标识符拼写错误 语法错误:语法结构出错,if--endif ...
最新文章
- 客快物流大数据项目(十五):DockeFile常用命令
- 计算机考试那些专业知识点,计算机考研专业课考试知识点分析
- 用 Flask 来写个轻博客 (36) — 使用 Flask-RESTful 来构建 RESTful API 之五
- 《jQuery基础》总结
- JanusGraph(HugeGraph通用): 可视化 GraphEXP 插件安装
- asp.net core系列 67 Web压力测试工具WCAT
- 指数温度20190804
- vim常用命令(二)
- 超像素分割 SLIC算法 使用示例
- 反编译android sdk,反编译apk,修改sdk文件,重新签名
- 常见的API接口管理工具
- JAVA实现FTP上传与下载
- Jquery监听input回车事件
- 微时刻视频创意小视频广告怎么制作下载?
- 使用PHP输出学生名单
- galaxy s6 android8,这些三星机型确认可以升级Android 8.0
- faker.js生成手机号
- 2020-09-15 ubuntu安装
- java wate_Water.java
- element-ui改变树形菜单小箭头
热门文章
- 联想价格乌龙损失1亿 1888平板标成999
- 第六天啦,最近忙的不行,休息时间都很少了,不过收获蛮大的,继续加油秃头吧,小吴
- 六一儿童节:虽然小时候吹过的牛没实现,幸亏喜欢的零食玩具还买得起
- 7-3 拼题 A 是真爱 (20 分)
- 如何用excel制作xy曲线图_如何用Excel计算百分比?
- w10系统服务器属性在哪,win10系统中Windows 设置各项设置详细介绍
- 0x01 D-Link路由器漏洞研究分享
- 计算机硬件 — 计算机简介
- 06- OpenCV查找图像轮廓 (OpenCV系列) (机器视觉)
- 自己写富文本编辑器jss_JSS选择器和语法规则