前台用户模块包括:
1:首页:网站打开的第一个页面,显示网站的最新信息。
2:用户注册/登录:实现用户的注册和登录。
3:遗传病:实现遗传病的列表显示,可以按:遗传病名称、类型、临床特征进行搜索,可以按:类型进行浏览,点击可以查看遗传病详情,用户登录后可以收藏或取消收藏,可以发表评论。
4:遗传病药方:实现遗传病药方的列表显示,可以按:遗传病名称、类型、临床特征进行搜索,点击可以查看遗传病药方详情,用户登录后可以收藏或取消收藏,可以发表评论。
5:系统公告:实现系统公告的列表显示,点击可以查看系统公告详情。
6:个人后台:用户必须登录后才能进入个人中心,在个人中心可以修改自己的信息,修改自己的登录密码,可以对自己的收藏信息进行查看或删除。
7:在线客服:实现用户登录后可以联系客服。
后台管理员模块包括:
1:个人中心:管理员可以修改自己的登录密码,修改自己的信息。
2:类型管理:管理员可以对类型信息进行添加、查看、修改或删除。
3:用户管理:管理员可以对用户信息进行添加、查看、修改或删除。
4. 遗传病管理:管理员可以对遗传病信息进行添加、查看、修改或删除,可以开药方,可以对评论信息进行查看、回复或删除。
5. 遗传病药方管理:管理员可以对遗传病药方信息进行查看、修改或删除,对评论信息进行查看、回复或删除。
6. 系统管理:管理员可以对轮播图信息进行查看或修改,对系统公告信息进行添加、查看、修改或删除,对在线客服信息进行回复。
目录
1 绪论 5
1.1 系统开发目的 5
1.2 系统开发意义 5
2 系统开发工具介绍 6
3 需求分析与设计 10
3.1 可行性分析 10
3.1.1技术可行性 10
3.1.2 经济可行性 10
3.1.3操作可行性 10
3.2 系统功能分析 10
3.3 系统功能结构图 11
3.4 系统流程图 12
3.5 系统运行环境 13
3.6系统设计原则 13
4 数据库设计 15
4.1 数据库逻辑结构设计 15
4.2 数据库物理结构设计 17
5 系统的详细设计与实现 21
5.1 网站首页页面 21
5.2 用户注册页面 21
5.3 遗传病页面 22
5.4 遗传病药方页面 23
5.5 系统公告页面 23
5.6 个人信息页面 24
5.7 类型管理信息页面 24
5.8 用户管理信息页面 24
5.9 遗传病管理信息页面 25
5.10 遗传病药方管理信息页面 25
5.11 系统公告管理信息页面 26
6 系统测试 27
6.1 测试的目的 27
6.2 测试的步骤 27
6.3 测试的主要内容 27
结束语 29
致 谢 30
参考文献 31
/**
* 登录相关
*/
@RequestMapping("users")
@RestController
public class UserController{
@Autowired
private UserService userService;
@Autowired
private TokenService tokenService;
/**
* 登录
*/
@IgnoreAuth
@PostMapping(value = "/login")
public R login(String username, String password, String captcha, HttpServletRequest request) {
UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
if(user==null || !user.getPassword().equals(password)) {
return R.error("账号或密码不正确");
}
String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
return R.ok().put("token", token);
}
/**
* 注册
*/
@IgnoreAuth
@PostMapping(value = "/register")
public R register(@RequestBody UserEntity user){
// ValidatorUtils.validateEntity(user);
if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
return R.error("用户已存在");
}
userService.insert(user);
return R.ok();
}
/**
* 退出
*/
@GetMapping(value = "logout")
public R logout(HttpServletRequest request) {
request.getSession().invalidate();
return R.ok("退出成功");
}
/**
* 密码重置
*/
@IgnoreAuth
@RequestMapping(value = "/resetPass")
public R resetPass(String username, HttpServletRequest request){
UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
if(user==null) {
return R.error("账号不存在");
}
user.setPassword("123456");
userService.update(user,null);
return R.ok("密码已重置为:123456");
}
/**
* 列表
*/
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params,UserEntity user){
EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
return R.ok().put("data", page);
}
/**
* 列表
*/
@RequestMapping("/list")
public R list( UserEntity user){
EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
ew.allEq(MPUtil.allEQMapPre( user, "user"));
return R.ok().put("data", userService.selectListView(ew));
}
/**
* 信息
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") String id){
UserEntity user = userService.selectById(id);
return R.ok().put("data", user);
}
/**
* 获取用户的session用户信息
*/
@RequestMapping("/session")
public R getCurrUser(HttpServletRequest request){
Long id = (Long)request.getSession().getAttribute("userId");
UserEntity user = userService.selectById(id);
return R.ok().put("data", user);
}
/**
* 保存
*/
@PostMapping("/save")
public R save(@RequestBody UserEntity user){
// ValidatorUtils.validateEntity(user);
if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
return R.error("用户已存在");
}
userService.insert(user);
return R.ok();
}
/**
* 修改
*/
@RequestMapping("/update")
public R update(@RequestBody UserEntity user){
// ValidatorUtils.validateEntity(user);
userService.updateById(user);//全部更新
return R.ok();
}
/**
* 删除
*/
@RequestMapping("/delete")
public R delete(@RequestBody Long[] ids){
userService.deleteBatchIds(Arrays.asList(ids));
return R.ok();
}
}
目录
1 绪论 1
1.1课题背景 1
1.2课题研究现状 1
1.3初步设计方法与实施方案 2
1.4本文研究内容 2
2 系统开发环境 4
2.1 使用工具简介 4
2.2 环境配置 4
2.3 B/S结构简介 4
2.4 MySQL数据库 5
2.5 框架介绍 5
3 系统分析 6
3.1系统可行性分析 6
3.1.1经济可行性 6
3.1.2技术可行性 6
3.1.3运行可行性 6
3.2系统现状分析 6
3.3功能需求分析 7
3.4系统设计规则与运行环境 8
3.5系统流程分析 8
3.5.1操作流程 8
3.5.2添加信息流程 9
3.5.3删除信息流程 10
4 系统设计 11
4.1系统设计主要功能 11
4.2数据库设计 11
4.2.1数据库设计规范 11
4.2.2 E/R图 11
4.2.3数据表 12
5 系统实现 25
5.1系统功能模块 25
5.2后台模块 27
5.2.1管理员功能模块 27
5.2.2用户功能模块 30
6 系统测试 33
6.1功能测试 33
6.2可用性测试 33
6.3性能测试 34
6.4测试结果分析 34
7结 论 35
参考文献 36
致 谢 37