博主介绍:👉全网个人号和企业号粉丝40W+,每年辅导几千名大学生较好的完成毕业设计,专注计算机软件领域的项目研发,不断的进行新技术的项目实战👈
⭐进主页热门专栏推荐订阅⭐ 订阅收藏起来,防止下次找不到
🔎千套Java / PHP / nod.js / asp.net/ Python等项目实战更新中~
🔎百套小程序APP项目实战更新中~
有需求的各位可以先收藏起来,还有大家在毕设选题,开题报告有疑惑的都可以找我,给你参考意见,需要开题模板的可以私信留言告诉我❤️文末获取源码联系❤️ ⚠️一定要先收藏⚠️
第四章 系统设计
4.1系统设计原理
设计原理,是指一个系统的设计由来,其将需求合理拆解成功能,抽象的描述系统的模块,以模块下的功能。功能模块化后,变成可组合、可拆解的单元,在设计时,会将所有信息分解存储在各个表中,界面不会显示所有定义的字段。在设计时,会有几大要求,抽象、模块化、信息隐藏、耦合低、内聚等特性,本系统的设计也符合以上几大特性。制作和显示流程都属于程序员需要分析研究的一部分[13]。每个模块都是相对独立的,系统前台不显示账号操作权限范围外的信息。
4.2功能模块设计
该章节的功能模块设计,只是大概描述了系统的所有功能模块,将功能按权限来讲解。系统总体功能如图4-1所示。
图4-1 系统总体结构图
4.3 数据库设计
4.3.1数据库设计原则
学习程序设计,如果想要了解数据库管理系统或者是按照系统接口的要求制作的,就必须创建一个数据库管理系统模型,用来存储数据,这样在进行应用程序编程的过程中,就不需要加载操作系统页面的信息,从而提高整个系统的工作效率。在数据库管理系统中承载着众多的数据,应该说,一个管理信息系统的建设中心和基地,也为建设管理信息系统和信息管理系统提出了新的查询、删除、修改和操作功能,使管理信息系统建设可以快速查询需要的数据,而不是直接从代码中查找。信息库管理系统由各个组成部分的信息表按照具体的方法进行准确的归并、排序和组成信息库管理系统。
4.3.2数据库E-R图设计
E-R图即实体-联系图,主要作用是提供了解显示数据类型存在的联系的途径,是藐视现实世界的概念模型,其关键要素是实体型、属性、联系。以下是本系统主要的实体属性图如下所示。
4.3.3数据库表结构设计
该系统采用的数据库是MySQL,根据该系统的数据存储特点进行数据库关系表的设计。下面是该系统中关键部分关系表的详细信息。
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
shangpinbianhao | varchar | 200 | 商品编号 | ||
shangpinmingcheng | varchar | 200 | 商品名称 | ||
shangpinleixing | varchar | 200 | 商品类型 | ||
tupian | longtext | 4294967295 | 图片 | ||
jiage | float | 价格 | |||
shuliang | int | 数量 | |||
fabushijian | datetime | 发布时间 | |||
shangpinxiangqing | longtext | 4294967295 | 商品详情 |
表4-2:美食信息评论表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
refid | bigint | 关联表id | |||
userid | bigint | 用户id | |||
avatarurl | longtext | 4294967295 | 头像 | ||
nickname | varchar | 200 | 用户名 | ||
content | longtext | 4294967295 | 评论内容 | ||
reply | longtext | 4294967295 | 回复内容 |
表4-3:用户表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
username | varchar | 100 | 用户名 | ||
password | varchar | 100 | 密码 | ||
role | varchar | 100 | 角色 | 管理员 | |
addtime | timestamp | 新增时间 | CURRENT_TIMESTAMP |
表4-4:一卡通
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
yikatonghao | varchar | 200 | 一卡通号 | ||
mima | varchar | 200 | 密码 | ||
xuehao | varchar | 200 | 学号 | ||
xingming | varchar | 200 | 姓名 | ||
jine | float | 金额 | |||
banlishijian | datetime | 办理时间 | |||
crossuserid | bigint | 跨表用户id | |||
crossrefid | bigint | 跨表主键id | |||
sfsh | varchar | 200 | 是否审核 | 待审核 | |
shhf | longtext | 4294967295 | 审核回复 |
表4-5:器材借用
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
qicaimingcheng | varchar | 200 | 器材名称 | ||
qicaileixing | varchar | 200 | 器材类型 | ||
shuliang | int | 数量 | |||
jieyongshizhang | varchar | 200 | 借用时长 | ||
jieyongshijian | datetime | 借用时间 | |||
jieyongshuoming | varchar | 200 | 借用说明 | ||
xuehao | varchar | 200 | 学号 | ||
xingming | varchar | 200 | 姓名 | ||
shouji | varchar | 200 | 手机 | ||
sfsh | varchar | 200 | 是否审核 | 待审核 | |
shhf | longtext | 4294967295 | 审核回复 |
表4-6:商品类型
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
shangpinleixing | varchar | 200 | 商品类型 |
表4-7:订单信息
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
dingdanbianhao | varchar | 200 | 订单编号 | ||
shangpinmingcheng | varchar | 200 | 商品名称 | ||
shangpinleixing | varchar | 200 | 商品类型 | ||
jiage | varchar | 200 | 价格 | ||
shuliang | int | 数量 | |||
zongjiage | varchar | 200 | 总价格 | ||
goumaishijian | datetime | 购买时间 | |||
xuehao | varchar | 200 | 学号 | ||
xingming | varchar | 200 | 姓名 | ||
shouji | varchar | 200 | 手机 |
表4-8:图书信息
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
tushubianhao | varchar | 200 | 图书编号 | ||
tushumingcheng | varchar | 200 | 图书名称 | ||
tushuleixing | varchar | 200 | 图书类型 | ||
tupian | longtext | 4294967295 | 图片 | ||
shuliang | int | 数量 | |||
kejieshuliang | int | 可借数量 | |||
zuozhe | varchar | 200 | 作者 | ||
chubanshe | varchar | 200 | 出版社 | ||
jieyuexuzhi | longtext | 4294967295 | 借阅须知 | ||
tushujieshao | longtext | 4294967295 | 图书介绍 |
表4-9:器材归还
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
qicaimingcheng | varchar | 200 | 器材名称 | ||
qicaileixing | varchar | 200 | 器材类型 | ||
guihaishuliang | int | 归还数量 | |||
guihaishuoming | varchar | 200 | 归还说明 | ||
guihaishijian | datetime | 归还时间 | |||
xuehao | varchar | 200 | 学号 | ||
xingming | varchar | 200 | 姓名 | ||
shouji | varchar | 200 | 手机 | ||
sfsh | varchar | 200 | 是否审核 | 待审核 | |
shhf | longtext | 4294967295 | 审核回复 |
表4-10:上机记录
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
mingcheng | varchar | 200 | 名称 | ||
shangjiriqi | date | 上机日期 | |||
xuehao | varchar | 200 | 学号 | ||
xingming | varchar | 200 | 姓名 | ||
shangjishizhang | varchar | 200 | 上机时长 | ||
shangjifeiyong | float | 上机费用 | |||
shangjishuoming | longtext | 4294967295 | 上机说明 |
表4-11:配置文件
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
name | varchar | 100 | 配置参数名称 | ||
value | varchar | 100 | 配置参数值 |
表4-12:图书类型
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
tushuleixing | varchar | 200 | 图书类型 |
表4-13:校园资讯
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
title | varchar | 200 | 标题 | ||
introduction | longtext | 4294967295 | 简介 | ||
picture | longtext | 4294967295 | 图片 | ||
content | longtext | 4294967295 | 内容 |
表4-14:充值信息
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
yikatonghao | varchar | 200 | 一卡通号 | ||
xuehao | varchar | 200 | 学号 | ||
xingming | varchar | 200 | 姓名 | ||
jine | int | 金额 | |||
chongzhishijian | datetime | 充值时间 | |||
ispay | varchar | 200 | 是否支付 | 未支付 |
表4-15:图书借阅
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
tushumingcheng | varchar | 200 | 图书名称 | ||
tushuleixing | varchar | 200 | 图书类型 | ||
kejieshuliang | int | 可借数量 | |||
shuliang | int | 数量 | |||
jieyueriqi | date | 借阅日期 | |||
guihairiqi | date | 归还日期 | |||
jieyueshuoming | longtext | 4294967295 | 借阅说明 | ||
xuehao | varchar | 200 | 学号 | ||
xingming | varchar | 200 | 姓名 | ||
shouji | varchar | 200 | 手机 | ||
sfsh | varchar | 200 | 是否审核 | 待审核 | |
shhf | longtext | 4294967295 | 审核回复 |
表4-16:美食信息
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
shitangmingcheng | varchar | 200 | 食堂名称 | ||
caipinmingcheng | varchar | 200 | 菜品名称 | ||
caipinleixing | varchar | 200 | 菜品类型 | ||
tupian | longtext | 4294967295 | 图片 | ||
kouwei | varchar | 200 | 口味 | ||
jiage | float | 价格 | |||
shuliang | int | 数量 | |||
caipinjieshao | longtext | 4294967295 | 菜品介绍 |
表4-17:图书归还
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
tushumingcheng | varchar | 200 | 图书名称 | ||
tushuleixing | varchar | 200 | 图书类型 | ||
shuliang | int | 数量 | |||
guihaishijian | date | 归还时间 | |||
guihaishuoming | longtext | 4294967295 | 归还说明 | ||
xuehao | varchar | 200 | 学号 | ||
xingming | varchar | 200 | 姓名 | ||
shouji | varchar | 200 | 手机 | ||
crossuserid | bigint | 跨表用户id | |||
crossrefid | bigint | 跨表主键id | |||
sfsh | varchar | 200 | 是否审核 | 待审核 | |
shhf | longtext | 4294967295 | 审核回复 |
表4-18:扣费信息
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
yikatonghao | varchar | 200 | 一卡通号 | ||
xuehao | varchar | 200 | 学号 | ||
xingming | varchar | 200 | 姓名 | ||
jine | int | 金额 | |||
koufeishuoming | longtext | 4294967295 | 扣费说明 | ||
koufeishijian | datetime | 扣费时间 |
表4-19:通知信息
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
biaoti | varchar | 200 | 标题 | ||
xuehao | varchar | 200 | 学号 | ||
xingming | varchar | 200 | 姓名 | ||
tongzhineirong | longtext | 4294967295 | 通知内容 | ||
tongzhishijian | datetime | 通知时间 |
表4-20:缴费信息
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
dingdanbianhao | varchar | 200 | 订单编号 | ||
jiaofeixiangmu | varchar | 200 | 缴费项目 | ||
xuehao | varchar | 200 | 学号 | ||
xingming | varchar | 200 | 姓名 | ||
jiaofeijine | float | 缴费金额 | |||
fabushijian | datetime | 发布时间 | |||
jiaofeishuoming | varchar | 200 | 缴费说明 |
表4-21:token表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
userid | bigint | 用户id | |||
username | varchar | 100 | 用户名 | ||
tablename | varchar | 100 | 表名 | ||
role | varchar | 100 | 角色 | ||
token | varchar | 200 | 密码 | ||
addtime | timestamp | 新增时间 | CURRENT_TIMESTAMP | ||
expiratedtime | timestamp | 过期时间 | CURRENT_TIMESTAMP |
表4-22:会议签到
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
huiyimingcheng | varchar | 200 | 会议名称 | ||
xuehao | varchar | 200 | 学号 | ||
xingming | varchar | 200 | 姓名 | ||
qiandaoshuoming | varchar | 200 | 签到说明 | ||
qiandaoshijian | datetime | 签到时间 | |||
longitude | float | 经度 | |||
latitude | float | 纬度 | |||
fulladdress | varchar | 200 | 地址 |
表4-23:体育器材
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
qicaimingcheng | varchar | 200 | 器材名称 | ||
qicaileixing | varchar | 200 | 器材类型 | ||
tupian | longtext | 4294967295 | 图片 | ||
shuliang | int | 数量 | |||
qicaijieshao | longtext | 4294967295 | 器材介绍 |
表4-24:挂失申请
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
yikatonghao | varchar | 200 | 一卡通号 | ||
xuehao | varchar | 200 | 学号 | ||
xingming | varchar | 200 | 姓名 | ||
guashineirong | longtext | 4294967295 | 挂失内容 | ||
guashishijian | datetime | 挂失时间 | |||
sfsh | varchar | 200 | 是否审核 | 待审核 | |
shhf | longtext | 4294967295 | 审核回复 |
表4-25:收藏表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
userid | bigint | 用户id | |||
refid | bigint | 商品id | |||
tablename | varchar | 200 | 表名 | ||
name | varchar | 200 | 名称 | ||
picture | longtext | 4294967295 | 图片 | ||
type | varchar | 200 | 类型(1:收藏,21:赞,22:踩,31:竞拍参与,41:关注) | 1 | |
inteltype | varchar | 200 | 推荐类型 | ||
remark | varchar | 200 | 备注 |
表4-26:论坛表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
title | varchar | 200 | 帖子标题 | ||
content | longtext | 4294967295 | 帖子内容 | ||
parentid | bigint | 父节点id | |||
userid | bigint | 用户id | |||
username | varchar | 200 | 用户名 | ||
avatarurl | longtext | 4294967295 | 头像 | ||
isdone | varchar | 200 | 状态 |
表4-27:食堂就餐
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
dingdanbianhao | varchar | 200 | 订单编号 | ||
caipinmingcheng | varchar | 200 | 菜品名称 | ||
caipinleixing | varchar | 200 | 菜品类型 | ||
jiage | float | 价格 | |||
shuliang | int | 数量 | |||
zongjiage | float | 总价格 | |||
beizhu | varchar | 200 | 备注 | ||
xiadanshijian | date | 下单时间 | |||
xuehao | varchar | 200 | 学号 | ||
xingming | varchar | 200 | 姓名 | ||
shouji | varchar | 200 | 手机 |
表4-28:体育器材评论表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
refid | bigint | 关联表id | |||
userid | bigint | 用户id | |||
avatarurl | longtext | 4294967295 | 头像 | ||
nickname | varchar | 200 | 用户名 | ||
content | longtext | 4294967295 | 评论内容 | ||
reply | longtext | 4294967295 | 回复内容 |
表4-29:学生
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
xuehao | varchar | 200 | 学号 | ||
mima | varchar | 200 | 密码 | ||
xingming | varchar | 200 | 姓名 | ||
xingbie | varchar | 200 | 性别 | ||
xuexiao | varchar | 200 | 学校 | ||
banji | varchar | 200 | 班级 | ||
shouji | varchar | 200 | 手机 | ||
sfsh | varchar | 200 | 是否审核 | 待审核 | |
shhf | longtext | 4294967295 | 审核回复 |
第五章 系统功能实现
5.1系统功能实现
当人们打开系统的网址后,首先看到的就是首页界面。在这里,人们能够看到校园一卡通的导航条,通过导航条进入各信息展示页面进行操作。系统首页界面如图5-1所示:
图5-1 系统首页界面
系统注册:在系统注册页面的输入用户注册信息进行注册操作,系统注册界面如图5-2所示:
图5-2 系统注册界面
商品信息:在商品信页面输入商品名称和选择商品类型进行查询,可以查看到商品详细信息,并根据需要进行购买操作;商品信息详细页面如图5-3所示:
图5-3商品信息详细页面
图书信息:在图书信息页面输入图书名称,选择图书类型和作者进行查询,可以查看到图书详细信息,并根据需要进行借阅操作;图书信息详细页面如图5-4所示:
图5-4图书信息详细页面
5.2后台模块实现
后台登录,在登录页面正确输入账号、密码和验证后,进入操作系统进行操作;如图5-5所示。
图5-5 后台登录界面
5.2.1管理员功能实现
管理员进入主页面,主要功能包括对系统首页,个人中心,学生管理,一卡通管理,充值信息管理,扣费信息管理,挂失申请管理,商品类型管理,商品信息管理,订单信息管理,图书类型管理,图书信息管理,图书借阅管理,图书归还管理,通知信息管理,美食信息管理,食堂就餐管理,体育器材管理,器材借用管理,器材归还管理,会议签到管理,缴费信息管理,上机记录管理,论坛管理,系统管理等进行操作。管理员主页面如图5-6所示:
图5-6 管理员主界面
JAVA后端代码实现
package com.controller;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import com.annotation.IgnoreAuth;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.entity.TokenEntity;
import com.entity.UserEntity;
import com.service.TokenService;
import com.service.UserService;
import com.utils.CommonUtil;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.ValidatorUtils;
/**
* 登录相关
*/
@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);
UserEntity u = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername()));
if(u!=null && u.getId()!=user.getId() && u.getUsername().equals(user.getUsername())) {
return R.error("用户名已存在。");
}
userService.updateById(user);//全部更新
return R.ok();
}
/**
* 删除
*/
@RequestMapping("/delete")
public R delete(@RequestBody Long[] ids){
userService.deleteBatchIds(Arrays.asList(ids));
return R.ok();
}
}
源码获取
大家点赞、收藏、关注 ,让更多需要的同学看到
⭐进主页热门专栏推荐订阅⭐ 订阅收藏起来,防止下次找不到
🔎千套Java / PHP / nod.js / asp.net/ Python等项目实战更新中~
🔎百套小程序APP项目实战更新中~👇下方有我的微信名片👇