用户注册

功能分析

请求的 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;
}

易课寄在线购课系统开发笔记(二十八)--完成用户注册功能相关推荐

  1. 易课寄在线购课系统开发笔记(二十五)--完成课程详情页面展示相关功能(应用Redis缓存)

    课程详情页面展示 创建一个课程详情页面展示的工程,是一个表现层工程. 工程搭建 ecourses-item-web.打包方式 war. 可以参考 易课寄在线购课系统开发笔记(七)–后台管理系统工程搭建 ...

  2. 易课寄在线购课系统开发笔记(十五)--完成购课系统门户的工程搭建

    购课系统门户首页 工程搭建 可以参考 易课寄在线购课系统开发笔记(七)–后台管理系统工程搭建分析 ecourses-bms-web 工程的搭建过程. 功能分析 请求的 url:/index web.x ...

  3. 易课寄在线购课系统开发笔记(三十三)--完成购物车系统的开发

    购物车的实现 功能分析 1.购物车是一个独立的表现层工程: 2.添加购物车不要求登录,可以指定购买课程的数量: 3.展示购物车列表页面: 4.修改购物车课程数量: 5.删除购物车课程. 工程搭建 ec ...

  4. 易课寄在线购课系统开发笔记(十六)--完成内容服务系统的工程搭建

    首页动态展示分析 内容信息要从数据库中获得. 动态展示分析 内容需要进行分类. 分类下有子分类,需要动态管理. 分类下有内容列表. 单点的内容信息: 有图片 有链接 有标题 有价格 包含大文本类型,可 ...

  5. 易课寄在线购课系统开发笔记(三)--数据库设计

    概念结构设计 ER 图如图所示. 表的详细设计 通过对领域对象.业务对象及对象间关联的分析,对本系统的数据库表进行了设计.本系统数据库管理采用 MySQL. 管理员信息表 ( ecourses_adm ...

  6. 易课寄在线购课系统开发笔记(十一)--完成课程列表查询的功能

    展示后台首页 功能分析 请求的url:/ 参数:无 返回值:逻辑视图String Controller package cn.ecourses.controller; //页面跳转Controller ...

  7. 易课寄在线购课系统开发笔记(三十一)--登录注册页面实现

    登录注册页面实现 注册功能 第一步:把静态页面添加到工程中. 第二步:展示页面. 请求的url: 登录:/page/login 注册:/page/register 参数:无 返回结果:逻辑视图 Str ...

  8. 易课寄在线购课系统开发笔记(二十九)--完成用户登录功能

    用户登录 功能分析 请求的 url:/user/login 请求的方法:POST 参数:username.password,表单提交的数据,可以使用方法的形参接收. 返回值:JSON 数据,使用 EC ...

  9. 嵌入式系统设计师学习笔记二十八:嵌入式程序设计③——高级程序设计语言

    嵌入式系统设计师学习笔记二十八:嵌入式程序设计③--高级程序设计语言 解释程序和编译程序 编译器的工作阶段示意图 语法错误:非法字符,关键字或标识符拼写错误 语法错误:语法结构出错,if--endif ...

最新文章

  1. 客快物流大数据项目(十五):DockeFile常用命令
  2. 计算机考试那些专业知识点,计算机考研专业课考试知识点分析
  3. 用 Flask 来写个轻博客 (36) — 使用 Flask-RESTful 来构建 RESTful API 之五
  4. 《jQuery基础》总结
  5. JanusGraph(HugeGraph通用): 可视化 GraphEXP 插件安装
  6. asp.net core系列 67 Web压力测试工具WCAT
  7. 指数温度20190804
  8. vim常用命令(二)
  9. 超像素分割 SLIC算法 使用示例
  10. 反编译android sdk,反编译apk,修改sdk文件,重新签名
  11. 常见的API接口管理工具
  12. JAVA实现FTP上传与下载
  13. Jquery监听input回车事件
  14. 微时刻视频创意小视频广告怎么制作下载?
  15. 使用PHP输出学生名单
  16. galaxy s6 android8,这些三星机型确认可以升级Android 8.0
  17. faker.js生成手机号
  18. 2020-09-15 ubuntu安装
  19. java wate_Water.java
  20. element-ui改变树形菜单小箭头

热门文章

  1. 联想价格乌龙损失1亿 1888平板标成999
  2. 第六天啦,最近忙的不行,休息时间都很少了,不过收获蛮大的,继续加油秃头吧,小吴
  3. 六一儿童节:虽然小时候吹过的牛没实现,幸亏喜欢的零食玩具还买得起
  4. 7-3 拼题 A 是真爱 (20 分)
  5. 如何用excel制作xy曲线图_如何用Excel计算百分比?
  6. w10系统服务器属性在哪,win10系统中Windows 设置各项设置详细介绍
  7. 0x01 D-Link路由器漏洞研究分享
  8. 计算机硬件 — 计算机简介
  9. 06- OpenCV查找图像轮廓 (OpenCV系列) (机器视觉)
  10. 自己写富文本编辑器jss_JSS选择器和语法规则