2017学脚本语言做网站,厦门网站制作,找工作的网站,工信网企业查询创建队伍
用户可以 创建 一个队伍#xff0c;设置队伍的人数、队伍名称#xff08;标题#xff09;、描述、超时时间 P0 队长、剩余的人数 聊天#xff1f; 公开 或 private 或加密 信息流中不展示已过期的队伍
请求参数是否为空#xff1f;是否登录#xff0c;未登录不…创建队伍
用户可以 创建 一个队伍设置队伍的人数、队伍名称标题、描述、超时时间 P0 队长、剩余的人数 聊天 公开 或 private 或加密 信息流中不展示已过期的队伍
请求参数是否为空是否登录未登录不允许创建校验信息队伍人数 1 且 20队伍标题 20描述 512status 是否公开int不传默认为 0公开如果 status 是加密状态一定要有密码且密码 32超时时间 当前时间校验用户最多创建 5 个队伍插入队伍信息到队伍表插入用户队伍关系 关系表 这边我们会运用到队伍的状态,即公开0私有1,加密2所以我们提前写一个队伍状态枚举类 package com.calmthinker.youjian.common; /**
* 队伍状态枚举类
*/
public enum TeamStatusEnum {
PUBLIC(0,公开),
PRIVATE(1,私有),
SECRET(2,加密); private int value;
private String text; public static TeamStatusEnum getEnumByValue(Integer value){
if (value null){
return null;
}
TeamStatusEnum[] values TeamStatusEnum.values();
for (TeamStatusEnum teamStatusEnum: values){
if (teamStatusEnum.getValue()value){
return teamStatusEnum;
}
}
return null;
} TeamStatusEnum(int value, String text) {
this.value value;
this.text text;
} public int getValue() {
return value;
} public void setValue(int value) {
this.value value;
} public String getText() {
return text;
} public void setText(String text) {
this.text text;
}
}业务层 — 添加事务 抛异常后,事务自动回滚 controller层 我们需要新建一个队伍添加请求封装类便于前端知道该输入哪些参数 新的请求封装类位于model包里的request包 接口文档测试 bug 文档的添加请求参数是封装的请求包装类 但是测试的时候又是Team 自己改一下,然后重启就解决了! ! bug 添加后数据库 加了8小时 debug 发现,和数据库没关系,传入的时候就已经加了八小时 解决: 修改传入的参数,获取绝对时间 这里过期时间的获取可从控制台输入一下代码来实现单单的输入年月日会导致数据库里的时间增加8小时应该是时区的问题 查询队伍列表 新建 包装类 系统设计: 分页展示队伍列表根据名称、简介等搜索队伍 P0信息流中不展示已过期的队伍
从请求参数中取出队伍名称等查询条件如果存在则作为查询条件不展示已过期的队伍根据过期时间筛选可以通过某个关键词同时对名称和描述查询只有管理员才能查看加密还有非公开的房间todo **关联查询已加入队伍的用户信息可能会很耗费性能建议大家用自己写 SQL 的方式实现
// 1. 自己写sql
// 查询队伍与创建人的信息:
select * from team left join user on team.userId user.id (left join,表示左表数据必须存在,右表数据可有可无)
// 查询队伍与已加入队伍成员信息: (userTeam表)
select * from team join user_team on team.id user_team.teamId 这里暂时没实现 入队用户,只实现了关联插叙创建用户的信息 测试,查看拼接的sql 安装插件,查看完整的sql(控制台输出的是预编译的sql) 安装 mybatis-log
修改队伍信息 系统设计: 判断请求参数是否为空查询队伍是否存在只有管理员或者队伍的创建者可以修改todo : 如果用户传入的新值和老值一致就不用 update 了可自行实现降低数据库使用次数如果队伍状态改为加密必须要有密码,反之则清除密码字段更新成功 新建请求包装类 用户加入队伍 系统设计 其他人、未满、未过期允许加入多个队伍但是要有个上限 P0
用户最多加入 5 个队伍只能加入未满、未过期,存在的队伍不能加入自己的队伍不能重复加入已加入的队伍幂等性禁止加入私有的队伍如果加入的队伍是加密的必须密码匹配才可以新增队伍 - 用户关联信息 新建请求包装类 用户退出队伍 系统设计 请求参数队伍 id 业务流程:
校验请求参数校验队伍是否存在校验我是否已加入队伍如果队伍 只剩一人队伍解散还有其他人 如果是队长退出队伍权限转移给第二早加入的用户 —— 先来后到(只用取 id 最小的 2 条数据,先加入的id小) 非队长自己退出队伍
ⅱ 新建请求包装类 队长解散队伍 系统设计 请求参数队伍 id 业务流程
校验请求参数校验队伍是否存在校验你是不是队伍的队长移除所有加入队伍的关联信息user-team删除队伍team 添加事务注解 注意这里涉及两张表的改动,且必须同步,加上事务,当抛出错误时,事务回滚 todo 分享队伍 业务流程: 生成分享链接(分享二维码)用户访问链接,可以点击加入