学业实习笔记

Day1

1.开发步骤

1.需求分析

1.参与者
2.实施对象
3.实施规则
4.规则阈值
5.对象行为

需求说明书

1.目的 (甲方书面需求)
2.业务场景(实现哪些功能)
3.业务流程(描述各个流程)
4.使用用户(参与者 实施对象 对象行为 实施规则)

2.概要设计

2.1.概要设计说明书
2.2.数据库设计说明书

3.编码

3.1.代码输出
3.2.版本控制
3.3.开发环境搭建

4.测试

4.1.黑盒测试
用例
4.1.1.测试
4.1.2.测试报告
4.2.白盒测试

5.上线部署

5.1部署测试环境
5.2.部署生产环境
5.2.2.部署手册
5.2.3.产品使用说明书

Day2

一、分销系统需求分析

1.需求:

  1. 用户在注册系统之后输入邀请人,邀请人与被邀请人形成绑定关系
  2. 用户可以在系统中付费购买商品,购买成功后,邀请人获得付费的10%
  3. 二级邀请人可以获得用户付费的5%作为佣金

2.需求分析

  1. 用户群体:系统管理员,用户

  2. 实施对象:用户

  3. 实施规则:一级分销10%,二级分销5%

  4. 对象行为:注册,登陆,绑定邀请人,付费,查看账单,推广定制,客户活跃度

  5. 业务场景:
    5.1 用户注册:用户之前没有登陆过本系统或注册过本系统,已注册不能重复注册,用户注册时,填写邀请人ID,注册成功即绑定邀请人

    5.2 用户登陆:用户注册成功后,可以用用户名密码登陆

    5.3 用户付费:选定商品(需对接商品系统,本系统暂不支持)缴纳费用,完成购买(分销功能在后台实现,用户在前段付费时无感知

  6. 业务流程:
    6.1用户注册-用户登陆-用户付费-付费分销-计入账单
    6.2用户登陆-用户分享-新用户登陆-付费分销-计入账单

二、分销系统概要设计

1.技术选型

  1. 前端:vue+elemenUI
  2. 后端:springBoot + myBatis
  3. 数据库:mysql18.0
  4. 缓存:redis
  5. 前端部署:nginx
  6. 服务器:centOS7
  7. 开发工具:Idea2022.3 、mysql for windows、Navicat

2.开发规范

  1. 模块命名规范
  2. 接口命名规范
  3. 数据库表命名规范
  4. 接口开发代码规范
  5. 接口开发格式规范(驼峰命名,不允许使用拼音)

3.数据库设计

账单id
用户id(外键)
账单类型(1收入、2支出)账单金额
账单说明创建人修改人创建时间
是家25E日
H险标去( 1正常.2

  1. 用户表
    用户id
    用户登录名
    用户登录密码
    用户余额(单位为分
    裂变路径(用户1_用户2_用户3)
    创建人
    修改人
    创建时间
    修改时间
    删除标志(1正常,2删除)

  2. 账单表
    账单id
    用户id(外键)
    账单类型(1收入、2支出)
    账单金额(单位为分
    账单说明
    创建人
    修改人
    创建时间
    删除标志( 1正常.2删除)

  3. 分销记录表

4.接口设计

4.1.注册接口
  1. url:/user/v1/register
  2. 参数:用户表Users的实体类
  3. 接口逻辑:(伪代码,作为注释)
    1.获取Users.id
    2.判断id是否存在,存在则返回已注册,不存在则继续
    3.将User.pwd进行MD5加密
    4.插入users表
    5.获取参数Users.fissionPathway
    6.判断参数是否为空,为空则没有邀请人,为空说明没有邀请人,直接返回
    7.若fissionPathway不为空,则查询Users表,判断fissionPathway是否正确
    8.如果fissionPathway不正确,直接返回注册成功(用户填错了邀请人id)
    9.如果fissionPathway正确,回填fission_pathway字段,内容为fissionPathway+“_”+user.id
    10.返回注册成功
4.2.登陆接口
  1. url:/user/v1/login
  2. 参数:用户表Users的实体类
  3. 接口逻辑:
    1.获取参数
    2.将User.pwd进行MD5加密
    3.匹配User.name和加密过的User.pwd与数据库是否匹配
    4.若不匹配,直接返回失败
    5.如果匹配,返回成功,返回值:Users
4.3.付费接口
  1. url:/bill/v1/pay

  2. 参数:
    PayMoneyVo:
    User.id 、money

  3. 接口逻辑:
    1.获取参数,将money*100,变为分
    2.通过User.id获取裂变路径倒数2,3级
    3.修改users表,更新余额字段
    4.修改bill表,新增一条记录(充值)

    当存在邀请人时
    5.修改users表,给邀请人更新余额字段
    6.修改bill表,给邀请人新增一条记录(佣金10%)

    当存在上级邀请人时
    7.修改users表,给上级邀请人更新余额字段
    8.修改bill表,给邀请人新增一条记录(佣金5%)

4.4.查询账单
  1. url:/bill/v1/selectBill
  2. 参数:User.id
    Page(用于分页查询)
  3. 接口逻辑
    1.获取参数
    2.执行查询
    3.分页查询sql:
    4.返回值:SelectBillVo
    用户名
    账单类型(1收入,2支出)
    账单金额
    账单说明
    创建时间
4.5.详细设计
  1. Controller 设计

    UsersController
    1.requestMapping:/user/v1/register
    2.requestMapping: /user/v1/ login

    BillController
    1.requestMapping:/bill/v1/pay
    2.requestMappina:/bill/v2/selectBill

  2. entity设计:
    (Do与数据库表对应的实体类,用于对数据进行持久化,一般包括了对应表的所有字段)
    UsersDo
    BillDo
    (Vo视图对象,用于展示层,它的作用是把某个指定页面(或组件)的所有数据封装起来。)
    PayMoneyVo
    selectBillVo

  3. dao设计(interface ):

(将数据库操作都封装起来。对外提供相应的接口)

UsersDao
1.getCountByUserId(判断id是否存在)

sql: select count (1) from users where user_id = ?

2.insertUsers(插入用户)

sql :insert into users(user_name, user_pwd......values

3.getInfoByUserId(通过用户id获取信息)

sql:select * from users where user_id = ?

4.updateUserById(通过用户Id更新用户)

sql: update users set. .......... where user id = ?

BillDao
1.insertBill(插入账单)

sql: insert into bill (.......values (?,?,?)

2.getBillInfoByUserId(通过用户id获取账单)

sql:select * from users a, bill b
where a.user id = b.user_id
and a.delflag = 1
and b.delflag = 1
and a.user_id = ?
  1. service设计( interface)
    (具体实现)
  • UserService
  • Users register (Users u)
  • Users login(Users u)
  • Billservice
  • int pay ( PayMoneyVo p)
  • selectBillVo selectBill(Users u)
  1. serviceImpl设计

service的实现类

  • UserServicel
    Users register (Users u)
    Users login (Users u)

  • Billservice
    int pay ( PayMoneyvo p)
    SelectBillVo selectBill (Users u)

util:
MD5加密算法

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值