• SpringBoot+Vue项目漫画之家系统


    文末获取源码

    开发语言:Java
    开发工具:IDEA /Eclipse
    数据库:MYSQL5.7/8.0
    应用服务:Tomcat7/Tomcat8
    是否Maven项目:是
    后端框架:SpringBoot
    前端框架:vue+element等
    JDK版本:jdk1.8
    项目架构:B/S架构

    目录

    前言介绍

    功能需求分析 

    系统设计 

    数据表 

    商品评论表

    用户

    漫画活动评论表

    漫画评论表

    系统功能模块 

    首页

    用户注册

    漫画

    个人中心

    后台模块 

    管理员功能模块 

    用户管理

    漫画管理

    同人插画管理

    漫画活动管理

    论坛管理

    订单管理

    用户功能模块 

    同人插画管理

    商品管理

    我的收藏管理

    部分核心代码: 


     


    前言介绍

    随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息。为了迎合时代需求,优化管理效率,各种各样的管理系统应运而生,各行各业相继进入信息管理时代,“漫画之家”系统就是信息时代变革中的产物之一。

    任何系统都要遵循系统设计的基本流程,本系统也不例外,同样需要经过市场进行调研,漫画需求进行分析,概要设计,系统详细设计,测试和编码等步骤,设计并实现了“漫画之家”系统 。系统选用B/S模式,应用java技术, MySQL为后台数据库。系统主要包括首页,个人中心,用户管理,漫画管理,同人插画管理,漫画活动管理,商品管理,论坛管理,我的收藏管理,留言板管理,系统管理,订单管理等功能模块。

    本文首先介绍了“漫画之家”系统的技术发展背景与发展现状,然后遵循软件常规开发流程,首先针对系统选取适用的语言和开发平台,根据需求分析制定模块并设计数据库结构,再根据系统总体功能模块的设计绘制系统的功能模块图,流程图以及E/R图。然后,设计框架并根据设计的框架编写代码以实现系统的各个功能模块。最后,对初步完成的系统进行测试,对功能、单元和性能进行测试。测试结果表明,该系统能够实现所需的功能,运行状况尚可并无明显缺点。

    功能需求分析 

    系统功能需求分析是通过软件开发者在参与市场调研,与用户及管理者经过详细缜密的思考,再讨论研究后得出的初步系统开发所需实现功能。这是开发系统的开始,也是相当关键的一步,如果不在这个阶段制定系统所需模块,日后会带来不必要的麻烦。因此,必须严肃认真,全身心投入去做好这个步骤。

    本系统采用从上往下的步骤开发,基本功能如下:

    本课题要求实现一套“漫画之家”系统 ,系统主要包括(管理员和用户)两个模块等功能。

    1)管理员用例图如下所示:

    (2)用户用例图如下所示:

    系统设计 

    数据表 

    本系统采用的是MySQL存储数据,系统中使用到的主要数据表的具体展示部分如下所示

    商品评论表

    字段名称

    类型

    长度

    字段说明

    主键

    默认值

    id

    bigint

    主键

    主键

    addtime

    timestamp

    创建时间

    CURRENT_TIMESTAMP

    refid

    bigint

    关联表id

    userid

    bigint

    用户id

    nickname

    varchar

    200

    用户名

    content

    longtext

    4294967295

    评论内容

    reply

    longtext

    4294967295

    回复内容

    用户

    字段名称

    类型

    长度

    字段说明

    主键

    默认值

    id

    bigint

    主键

     主键

    addtime

    timestamp

    创建时间

    CURRENT_TIMESTAMP

    yonghuzhanghao

    varchar

    200

    用户账号

    yonghuxingming

    varchar

    200

    用户姓名

    mima

    varchar

    200

    密码

    xingbie

    varchar

    200

    性别

    lianxifangshi

    varchar

    200

    联系方式

    touxiang

    varchar

    200

    头像

    money

    float

    余额

    0

    漫画活动评论表

    字段名称

    类型

    长度

    字段说明

    主键

    默认值

    id

    bigint

    主键

    主键

    addtime

    timestamp

    创建时间

    CURRENT_TIMESTAMP

    refid

    bigint

    关联表id

    userid

    bigint

    用户id

    nickname

    varchar

    200

    用户名

    content

    longtext

    4294967295

    评论内容

    reply

    longtext

    4294967295

    回复内容

    漫画评论表

    字段名称

    类型

    长度

    字段说明

    主键

    默认值

    id

    bigint

    主键

    主键

    addtime

    timestamp

    创建时间

    CURRENT_TIMESTAMP

    refid

    bigint

    关联表id

    userid

    bigint

    用户id

    nickname

    varchar

    200

    用户名

    content

    longtext

    4294967295

    评论内容

    reply

    longtext

    4294967295

    回复内容

    系统功能模块 

    “漫画之家”系统 ,在系统首页可以查看首页,漫画,同人插画,漫画活动,商品,论坛,新闻资讯,留言板,个人中心,后台管理,购物车,在线客服等内容,并进行详细操作;如图

    首页

    用户注册

    在用户注册页面通过填写用户账号,姓名,密码,确认密码,联系方式等信息进行注册操作,如图 

    漫画

    在漫画页面可以查看漫画名称,漫画类型,分类,时间等内容,并可以进行赞一下,踩一下,点我收藏等操作,如图

    个人中心

    在个人中心页面通过填写用户账号,用户姓名,密码,性别,联系方式,图片,余额等内容进行更新信息,还可以根据需要对我的发布,我的订单,我的地址,我的收藏进行相对应操作,如图 

    后台模块 

    系统登录,通过填写注册时输入的用户名、密码、选择角色等信息进行登录操作,如图

    管理员功能模块 

    管理员登录进入系统可以查看首页,个人中心,用户管理,漫画管理,同人插画管理,漫画活动管理,商品管理,论坛管理,我的收藏管理,留言板管理,系统管理,订单管理等功能,并进行详细操作,如图

    用户管理

    在用户管理页面中可以查看索引,用户账号,用户姓名,性别,联系方式,头像等内容,并进行详情,修改和删除等操作;如图 

    漫画管理

    在漫画管理页面中可以查看索引,漫画名称,漫画类型,分类,图片等内容,并进行详情,修改,查看评论和删除操作;如图 

    同人插画管理

    在同人插画管理页面中可以查看索引,名称,图片,发布时间等内容,并进行详情,修改,查看评论和删除操作;如图 

    漫画活动管理

    在漫画活动管理页面中可以查看 索引,标题,封面,发布时间等内容,并进行详情,修改,查看评论和删除操作;如图 

    论坛管理

    在论坛管理页面中可以查看索引,帖子标题,用户名,状态等内容,并进行详情,修改,查看评论和删除操作;如图 

    订单管理

    在已支付订单页面中可以查看索引,订单编号,商品名称,商品图片,购买数量,价格/积分,折扣价格,总价格/总积分,折扣总价格,支付类型,状态,地址,电话,收货人,下单时间等内容,并进行详情,发货,删除等操作;还可对已完成订单、已发货订单、未支付订单、已取消订单、已退款订单进行相对应操作;如图 

    用户功能模块 

    用户登录进入系统可以查看首页,个人中心,漫画管理,同人插画管理,漫画活动管理,商品管理,我的收藏管理等功能,并根据需要进行详细操作,如图

    同人插画管理

    在同人插画管理页面中可以查看索引,名称,图片,发布时间等内容,并进行详情,查看评论等操作;如图 

    商品管理

    在商品管理页面中可以查看索引,商品编号,商品名称,图片,数量,发布时间,价格等内容,并进行详情,查看评论操作;如图 

    我的收藏管理

    在我的收藏管理页面中可以查看索引,收藏名称,收藏图片,推荐类型等内容,并进行详情,修改和删除操作;如图 

    部分核心代码: 

    1. /**
    2. * 漫画活动评论表
    3. * 后端接口
    4. * @author
    5. * @email
    6. * @date 2022-04-13 11:40:48
    7. */
    8. @RestController
    9. @RequestMapping("/discussmanhuahuodong")
    10. public class DiscussmanhuahuodongController {
    11. @Autowired
    12. private DiscussmanhuahuodongService discussmanhuahuodongService;
    13. /**
    14. * 后端列表
    15. */
    16. @RequestMapping("/page")
    17. public R page(@RequestParam Map<String, Object> params,DiscussmanhuahuodongEntity discussmanhuahuodong,
    18. HttpServletRequest request){
    19. EntityWrapper<DiscussmanhuahuodongEntity> ew = new EntityWrapper<DiscussmanhuahuodongEntity>();
    20. PageUtils page = discussmanhuahuodongService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, discussmanhuahuodong), params), params));
    21. return R.ok().put("data", page);
    22. }
    23. /**
    24. * 前端列表
    25. */
    26. @IgnoreAuth
    27. @RequestMapping("/list")
    28. public R list(@RequestParam Map<String, Object> params,DiscussmanhuahuodongEntity discussmanhuahuodong,
    29. HttpServletRequest request){
    30. EntityWrapper<DiscussmanhuahuodongEntity> ew = new EntityWrapper<DiscussmanhuahuodongEntity>();
    31. PageUtils page = discussmanhuahuodongService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, discussmanhuahuodong), params), params));
    32. return R.ok().put("data", page);
    33. }
    34. /**
    35. * 列表
    36. */
    37. @RequestMapping("/lists")
    38. public R list( DiscussmanhuahuodongEntity discussmanhuahuodong){
    39. EntityWrapper<DiscussmanhuahuodongEntity> ew = new EntityWrapper<DiscussmanhuahuodongEntity>();
    40. ew.allEq(MPUtil.allEQMapPre( discussmanhuahuodong, "discussmanhuahuodong"));
    41. return R.ok().put("data", discussmanhuahuodongService.selectListView(ew));
    42. }
    43. /**
    44. * 查询
    45. */
    46. @RequestMapping("/query")
    47. public R query(DiscussmanhuahuodongEntity discussmanhuahuodong){
    48. EntityWrapper< DiscussmanhuahuodongEntity> ew = new EntityWrapper< DiscussmanhuahuodongEntity>();
    49. ew.allEq(MPUtil.allEQMapPre( discussmanhuahuodong, "discussmanhuahuodong"));
    50. DiscussmanhuahuodongView discussmanhuahuodongView = discussmanhuahuodongService.selectView(ew);
    51. return R.ok("查询漫画活动评论表成功").put("data", discussmanhuahuodongView);
    52. }
    53. /**
    54. * 后端详情
    55. */
    56. @RequestMapping("/info/{id}")
    57. public R info(@PathVariable("id") Long id){
    58. DiscussmanhuahuodongEntity discussmanhuahuodong = discussmanhuahuodongService.selectById(id);
    59. return R.ok().put("data", discussmanhuahuodong);
    60. }
    61. /**
    62. * 前端详情
    63. */
    64. @IgnoreAuth
    65. @RequestMapping("/detail/{id}")
    66. public R detail(@PathVariable("id") Long id){
    67. DiscussmanhuahuodongEntity discussmanhuahuodong = discussmanhuahuodongService.selectById(id);
    68. return R.ok().put("data", discussmanhuahuodong);
    69. }
    70. /**
    71. * 后端保存
    72. */
    73. @RequestMapping("/save")
    74. public R save(@RequestBody DiscussmanhuahuodongEntity discussmanhuahuodong, HttpServletRequest request){
    75. discussmanhuahuodong.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    76. //ValidatorUtils.validateEntity(discussmanhuahuodong);
    77. discussmanhuahuodongService.insert(discussmanhuahuodong);
    78. return R.ok();
    79. }
    80. /**
    81. * 前端保存
    82. */
    83. @RequestMapping("/add")
    84. public R add(@RequestBody DiscussmanhuahuodongEntity discussmanhuahuodong, HttpServletRequest request){
    85. discussmanhuahuodong.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    86. //ValidatorUtils.validateEntity(discussmanhuahuodong);
    87. discussmanhuahuodongService.insert(discussmanhuahuodong);
    88. return R.ok();
    89. }
    90. /**
    91. * 修改
    92. */
    93. @RequestMapping("/update")
    94. public R update(@RequestBody DiscussmanhuahuodongEntity discussmanhuahuodong, HttpServletRequest request){
    95. //ValidatorUtils.validateEntity(discussmanhuahuodong);
    96. discussmanhuahuodongService.updateById(discussmanhuahuodong);//全部更新
    97. return R.ok();
    98. }
    99. /**
    100. * 删除
    101. */
    102. @RequestMapping("/delete")
    103. public R delete(@RequestBody Long[] ids){
    104. discussmanhuahuodongService.deleteBatchIds(Arrays.asList(ids));
    105. return R.ok();
    106. }
    107. /**
    108. * 提醒接口
    109. */
    110. @RequestMapping("/remind/{columnName}/{type}")
    111. public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request,
    112. @PathVariable("type") String type,@RequestParam Map<String, Object> map) {
    113. map.put("column", columnName);
    114. map.put("type", type);
    115. if(type.equals("2")) {
    116. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    117. Calendar c = Calendar.getInstance();
    118. Date remindStartDate = null;
    119. Date remindEndDate = null;
    120. if(map.get("remindstart")!=null) {
    121. Integer remindStart = Integer.parseInt(map.get("remindstart").toString());
    122. c.setTime(new Date());
    123. c.add(Calendar.DAY_OF_MONTH,remindStart);
    124. remindStartDate = c.getTime();
    125. map.put("remindstart", sdf.format(remindStartDate));
    126. }
    127. if(map.get("remindend")!=null) {
    128. Integer remindEnd = Integer.parseInt(map.get("remindend").toString());
    129. c.setTime(new Date());
    130. c.add(Calendar.DAY_OF_MONTH,remindEnd);
    131. remindEndDate = c.getTime();
    132. map.put("remindend", sdf.format(remindEndDate));
    133. }
    134. }
    135. Wrapper<DiscussmanhuahuodongEntity> wrapper = new EntityWrapper<DiscussmanhuahuodongEntity>();
    136. if(map.get("remindstart")!=null) {
    137. wrapper.ge(columnName, map.get("remindstart"));
    138. }
    139. if(map.get("remindend")!=null) {
    140. wrapper.le(columnName, map.get("remindend"));
    141. }
    142. int count = discussmanhuahuodongService.selectCount(wrapper);
    143. return R.ok().put("count", count);
    144. }
    145. }
    1. /**
    2. * 用户
    3. * 后端接口
    4. * @author
    5. * @email
    6. * @date 2022-03-12 10:22:35
    7. */
    8. @RestController
    9. @RequestMapping("/yonghu")
    10. public class YonghuController {
    11. @Autowired
    12. private YonghuService yonghuService;
    13. @Autowired
    14. private TokenService tokenService;
    15. /**
    16. * 登录
    17. */
    18. @IgnoreAuth
    19. @RequestMapping(value = "/login")
    20. public R login(String username, String password, String captcha, HttpServletRequest request) {
    21. YonghuEntity user = yonghuService.selectOne(new EntityWrapper<YonghuEntity>().eq("yonghuzhanghao", username));
    22. if(user==null || !user.getMima().equals(password)) {
    23. return R.error("账号或密码不正确");
    24. }
    25. String token = tokenService.generateToken(user.getId(), username,"yonghu", "用户" );
    26. return R.ok().put("token", token);
    27. }
    28. /**
    29. * 注册
    30. */
    31. @IgnoreAuth
    32. @RequestMapping("/register")
    33. public R register(@RequestBody YonghuEntity yonghu){
    34. //ValidatorUtils.validateEntity(yonghu);
    35. YonghuEntity user = yonghuService.selectOne(new EntityWrapper<YonghuEntity>().eq("yonghuzhanghao", yonghu.getYonghuzhanghao()));
    36. if(user!=null) {
    37. return R.error("注册用户已存在");
    38. }
    39. Long uId = new Date().getTime();
    40. yonghu.setId(uId);
    41. yonghuService.insert(yonghu);
    42. return R.ok();
    43. }
    44. /**
    45. * 退出
    46. */
    47. @RequestMapping("/logout")
    48. public R logout(HttpServletRequest request) {
    49. request.getSession().invalidate();
    50. return R.ok("退出成功");
    51. }
    52. /**
    53. * 获取用户的session用户信息
    54. */
    55. @RequestMapping("/session")
    56. public R getCurrUser(HttpServletRequest request){
    57. Long id = (Long)request.getSession().getAttribute("userId");
    58. YonghuEntity user = yonghuService.selectById(id);
    59. return R.ok().put("data", user);
    60. }
    61. /**
    62. * 密码重置
    63. */
    64. @IgnoreAuth
    65. @RequestMapping(value = "/resetPass")
    66. public R resetPass(String username, HttpServletRequest request){
    67. YonghuEntity user = yonghuService.selectOne(new EntityWrapper<YonghuEntity>().eq("yonghuzhanghao", username));
    68. if(user==null) {
    69. return R.error("账号不存在");
    70. }
    71. user.setMima("123456");
    72. yonghuService.updateById(user);
    73. return R.ok("密码已重置为:123456");
    74. }
    75. /**
    76. * 后端列表
    77. */
    78. @RequestMapping("/page")
    79. public R page(@RequestParam Map<String, Object> params,YonghuEntity yonghu,
    80. HttpServletRequest request){
    81. EntityWrapper<YonghuEntity> ew = new EntityWrapper<YonghuEntity>();
    82. PageUtils page = yonghuService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, yonghu), params), params));
    83. return R.ok().put("data", page);
    84. }
    85. /**
    86. * 前端列表
    87. */
    88. @IgnoreAuth
    89. @RequestMapping("/list")
    90. public R list(@RequestParam Map<String, Object> params,YonghuEntity yonghu,
    91. HttpServletRequest request){
    92. EntityWrapper<YonghuEntity> ew = new EntityWrapper<YonghuEntity>();
    93. PageUtils page = yonghuService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, yonghu), params), params));
    94. return R.ok().put("data", page);
    95. }
    96. /**
    97. * 列表
    98. */
    99. @RequestMapping("/lists")
    100. public R list( YonghuEntity yonghu){
    101. EntityWrapper<YonghuEntity> ew = new EntityWrapper<YonghuEntity>();
    102. ew.allEq(MPUtil.allEQMapPre( yonghu, "yonghu"));
    103. return R.ok().put("data", yonghuService.selectListView(ew));
    104. }
    105. /**
    106. * 查询
    107. */
    108. @RequestMapping("/query")
    109. public R query(YonghuEntity yonghu){
    110. EntityWrapper< YonghuEntity> ew = new EntityWrapper< YonghuEntity>();
    111. ew.allEq(MPUtil.allEQMapPre( yonghu, "yonghu"));
    112. YonghuView yonghuView = yonghuService.selectView(ew);
    113. return R.ok("查询用户成功").put("data", yonghuView);
    114. }
    115. /**
    116. * 后端详情
    117. */
    118. @RequestMapping("/info/{id}")
    119. public R info(@PathVariable("id") Long id){
    120. YonghuEntity yonghu = yonghuService.selectById(id);
    121. return R.ok().put("data", yonghu);
    122. }
    123. /**
    124. * 前端详情
    125. */
    126. @IgnoreAuth
    127. @RequestMapping("/detail/{id}")
    128. public R detail(@PathVariable("id") Long id){
    129. YonghuEntity yonghu = yonghuService.selectById(id);
    130. return R.ok().put("data", yonghu);
    131. }
    132. /**
    133. * 后端保存
    134. */
    135. @RequestMapping("/save")
    136. public R save(@RequestBody YonghuEntity yonghu, HttpServletRequest request){
    137. yonghu.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    138. //ValidatorUtils.validateEntity(yonghu);
    139. YonghuEntity user = yonghuService.selectOne(new EntityWrapper<YonghuEntity>().eq("yonghuzhanghao", yonghu.getYonghuzhanghao()));
    140. if(user!=null) {
    141. return R.error("用户已存在");
    142. }
    143. yonghu.setId(new Date().getTime());
    144. yonghuService.insert(yonghu);
    145. return R.ok();
    146. }
    147. /**
    148. * 前端保存
    149. */
    150. @RequestMapping("/add")
    151. public R add(@RequestBody YonghuEntity yonghu, HttpServletRequest request){
    152. yonghu.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    153. //ValidatorUtils.validateEntity(yonghu);
    154. YonghuEntity user = yonghuService.selectOne(new EntityWrapper<YonghuEntity>().eq("yonghuzhanghao", yonghu.getYonghuzhanghao()));
    155. if(user!=null) {
    156. return R.error("用户已存在");
    157. }
    158. yonghu.setId(new Date().getTime());
    159. yonghuService.insert(yonghu);
    160. return R.ok();
    161. }
    162. /**
    163. * 修改
    164. */
    165. @RequestMapping("/update")
    166. public R update(@RequestBody YonghuEntity yonghu, HttpServletRequest request){
    167. //ValidatorUtils.validateEntity(yonghu);
    168. yonghuService.updateById(yonghu);//全部更新
    169. return R.ok();
    170. }
    171. /**
    172. * 删除
    173. */
    174. @RequestMapping("/delete")
    175. public R delete(@RequestBody Long[] ids){
    176. yonghuService.deleteBatchIds(Arrays.asList(ids));
    177. return R.ok();
    178. }
    179. /**
    180. * 提醒接口
    181. */
    182. @RequestMapping("/remind/{columnName}/{type}")
    183. public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request,
    184. @PathVariable("type") String type,@RequestParam Map<String, Object> map) {
    185. map.put("column", columnName);
    186. map.put("type", type);
    187. if(type.equals("2")) {
    188. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    189. Calendar c = Calendar.getInstance();
    190. Date remindStartDate = null;
    191. Date remindEndDate = null;
    192. if(map.get("remindstart")!=null) {
    193. Integer remindStart = Integer.parseInt(map.get("remindstart").toString());
    194. c.setTime(new Date());
    195. c.add(Calendar.DAY_OF_MONTH,remindStart);
    196. remindStartDate = c.getTime();
    197. map.put("remindstart", sdf.format(remindStartDate));
    198. }
    199. if(map.get("remindend")!=null) {
    200. Integer remindEnd = Integer.parseInt(map.get("remindend").toString());
    201. c.setTime(new Date());
    202. c.add(Calendar.DAY_OF_MONTH,remindEnd);
    203. remindEndDate = c.getTime();
    204. map.put("remindend", sdf.format(remindEndDate));
    205. }
    206. }
    207. Wrapper<YonghuEntity> wrapper = new EntityWrapper<YonghuEntity>();
    208. if(map.get("remindstart")!=null) {
    209. wrapper.ge(columnName, map.get("remindstart"));
    210. }
    211. if(map.get("remindend")!=null) {
    212. wrapper.le(columnName, map.get("remindend"));
    213. }
    214. int count = yonghuService.selectCount(wrapper);
    215. return R.ok().put("count", count);
    216. }
    217. }
    1. /**
    2. * 登录相关
    3. */
    4. @RequestMapping("users")
    5. @RestController
    6. public class UserController{
    7. @Autowired
    8. private UserService userService;
    9. @Autowired
    10. private TokenService tokenService;
    11. /**
    12. * 登录
    13. */
    14. @IgnoreAuth
    15. @PostMapping(value = "/login")
    16. public R login(String username, String password, String captcha, HttpServletRequest request) {
    17. UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
    18. if(user==null || !user.getPassword().equals(password)) {
    19. return R.error("账号或密码不正确");
    20. }
    21. String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
    22. return R.ok().put("token", token);
    23. }
    24. /**
    25. * 注册
    26. */
    27. @IgnoreAuth
    28. @PostMapping(value = "/register")
    29. public R register(@RequestBody UserEntity user){
    30. // ValidatorUtils.validateEntity(user);
    31. if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
    32. return R.error("用户已存在");
    33. }
    34. userService.insert(user);
    35. return R.ok();
    36. }
    37. /**
    38. * 退出
    39. */
    40. @GetMapping(value = "logout")
    41. public R logout(HttpServletRequest request) {
    42. request.getSession().invalidate();
    43. return R.ok("退出成功");
    44. }
    45. /**
    46. * 密码重置
    47. */
    48. @IgnoreAuth
    49. @RequestMapping(value = "/resetPass")
    50. public R resetPass(String username, HttpServletRequest request){
    51. UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
    52. if(user==null) {
    53. return R.error("账号不存在");
    54. }
    55. user.setPassword("123456");
    56. userService.update(user,null);
    57. return R.ok("密码已重置为:123456");
    58. }
    59. /**
    60. * 列表
    61. */
    62. @RequestMapping("/page")
    63. public R page(@RequestParam Map<String, Object> params,UserEntity user){
    64. EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
    65. PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
    66. return R.ok().put("data", page);
    67. }
    68. /**
    69. * 列表
    70. */
    71. @RequestMapping("/list")
    72. public R list( UserEntity user){
    73. EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
    74. ew.allEq(MPUtil.allEQMapPre( user, "user"));
    75. return R.ok().put("data", userService.selectListView(ew));
    76. }
    77. /**
    78. * 信息
    79. */
    80. @RequestMapping("/info/{id}")
    81. public R info(@PathVariable("id") String id){
    82. UserEntity user = userService.selectById(id);
    83. return R.ok().put("data", user);
    84. }
    85. /**
    86. * 获取用户的session用户信息
    87. */
    88. @RequestMapping("/session")
    89. public R getCurrUser(HttpServletRequest request){
    90. Long id = (Long)request.getSession().getAttribute("userId");
    91. UserEntity user = userService.selectById(id);
    92. return R.ok().put("data", user);
    93. }
    94. /**
    95. * 保存
    96. */
    97. @PostMapping("/save")
    98. public R save(@RequestBody UserEntity user){
    99. // ValidatorUtils.validateEntity(user);
    100. if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
    101. return R.error("用户已存在");
    102. }
    103. userService.insert(user);
    104. return R.ok();
    105. }
    106. /**
    107. * 修改
    108. */
    109. @RequestMapping("/update")
    110. public R update(@RequestBody UserEntity user){
    111. // ValidatorUtils.validateEntity(user);
    112. UserEntity u = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername()));
    113. if(u!=null && u.getId()!=user.getId() && u.getUsername().equals(user.getUsername())) {
    114. return R.error("用户名已存在。");
    115. }
    116. userService.updateById(user);//全部更新
    117. return R.ok();
    118. }
    119. /**
    120. * 删除
    121. */
    122. @RequestMapping("/delete")
    123. public R delete(@RequestBody Long[] ids){
    124. userService.deleteBatchIds(Arrays.asList(ids));
    125. return R.ok();
    126. }
    127. }

  • 相关阅读:
    HTML+CSS+JS宠物商城网页设计期末课程大作业 web前端开发技术 web课程设计 网页规划与设计
    提高测试覆盖率的四大步骤
    IT创业项目-赚钱项目-网赚项目:月入2W+的视频号创业项目
    基于java+springmvc+mybatis+vue+mysql的大学生健康管理系统
    leaflet:个性化配置,利用Leaflet-Geoman绘制多种图形(136)
    计算机操作系统:进程的同步和互斥
    MySQL十秒插入百万条数据
    6款原型产品设计软件
    ROS机器人更换新雷达需要重新配置哪些参数
    钉钉旧版服务端SDK支持异步方法的升级改造
  • 原文地址:https://blog.csdn.net/m0_49113107/article/details/125618119