diff --git a/springboota009社团管理系统/代码/AssociationManagerApi - idea/.idea/compiler.xml b/springboota009社团管理系统/代码/AssociationManagerApi - idea/.idea/compiler.xml
index 1c7e0f6..fe2eee7 100644
--- a/springboota009社团管理系统/代码/AssociationManagerApi - idea/.idea/compiler.xml
+++ b/springboota009社团管理系统/代码/AssociationManagerApi - idea/.idea/compiler.xml
@@ -7,12 +7,14 @@
根据用户类型获取不同的通知列表。
- * - * @param token 用户token - * @return 返回包含通知列表的响应对象 - */ - @GetMapping("/sys/notices") - @ResponseBody - public R getNoticeList(String token) { - Users user = usersService.getOne(cacheHandle.getUserInfoCache(token)); // 通过token获取用户信息 - if (ObjectUtils.isEmpty(user)) { // 检查用户信息是否存在 - return R.error("登录信息不存在,请重新登录"); // 用户信息不存在时返回错误响应 + // 获取通知列表的GET请求 + @GetMapping("/sys/notices")// 映射GET请求到/sys/notices + @ResponseBody // 返回JSON格式的响应 + public R getNoticeList(String token){ + // 方法接收token参数 + + Users user = usersService.getOne(cacheHandle.getUserInfoCache(token)); + // 从缓存中获取用户信息 + if(ObjectUtils.isEmpty(user)) { + // 检查用户是否为空 + return R.error("登录信息不存在,请重新登录"); // 返回错误信息 } - // 根据用户类型获取通知列表 - List处理用户登录请求,验证用户名和密码。
- * - * @param userName 用户名 - * @param passWord 密码 - * @param session HttpSession对象 - * @return 返回登录结果的响应对象 - */ - @PostMapping("/login") - @ResponseBody - public R login(String userName, String passWord, HttpSession session) { - Log.info("用户登录,用户名:{}, 用户密码:{}", userName, passWord); // 记录日志 - - Users user = usersService.getUserByUserName(userName); // 根据用户名获取用户信息 - - if (user == null) { - return R.error("输入的用户名不存在"); // 用户不存在时返回错误响应 - } else { - if (passWord.equals(user.getPassWord().trim())) { // 验证密码 - String token = IDUtils.makeIDByUUID(); // 生成token - cacheHandle.addUserCache(token, user.getId()); // 将用户信息存储到缓存 - - return R.success("登录成功", token); // 返回成功响应,包含token - } else { - return R.error("输入的密码错误"); // 密码错误时返回错误响应 + // 用户登录的POST请求 + @PostMapping("/login") // 映射POST请求到/login + @ResponseBody // 返回JSON格式的响应 + public R login(String userName, String passWord, HttpSession session){ + // 方法接收用户名、密码和会话 + + Log.info("用户登录,用户名:{}, 用户密码:{}", userName, passWord); + // 记录登录信息 + + Users user = usersService.getUserByUserName(userName); + // 根据用户名获取用户信息 + + if(user == null) { + // 如果用户不存在 + return R.error("输入的用户名不存在"); + // 返回错误信息 + }else { // 用户存在 + if(passWord.equals(user.getPassWord().trim())) { + // 检查密码是否匹配 + String token = IDUtils.makeIDByUUID(); + // 生成唯一的token + cacheHandle.addUserCache(token, user.getId()); + // 将用户信息存入缓存 + return R.success("登录成功", token); + // 返回成功响应和token + }else { // 密码不匹配 + return R.error("输入的密码错误"); + // 返回错误信息 } } } - /** - * 用户退出。 - *处理用户退出请求,移除缓存中的用户信息。
- * - * @param token 用户token - * @return 返回操作结果的响应对象 - */ - @RequestMapping("/exit") - @ResponseBody + // 用户退出的请求 + @RequestMapping("/exit") // 映射请求到/exit + @ResponseBody // 返回JSON格式的响应 public R exit(String token) { - Log.info("用户退出系统并移除登录信息"); // 记录日志 + // 方法接收token参数 - cacheHandle.removeUserCache(token); // 从缓存中移除用户信息 + Log.info("用户退出系统并移除登录信息"); + // 记录退出信息 + + cacheHandle.removeUserCache(token); + // 从缓存中移除用户信息 return R.success(); // 返回成功响应 } - /** - * 获取用户信息。 - *根据token获取用户信息。
- * - * @param token 用户token - * @return 返回包含用户信息的响应对象 - */ - @GetMapping("/info") - @ResponseBody - public R info(String token) { - Users user = usersService.getOne(cacheHandle.getUserInfoCache(token)); // 通过token获取用户信息 - - return R.successData(user); // 返回成功响应,包含用户信息 + // 获取用户信息的GET请求 + @GetMapping("/info") // 映射GET请求到/info + @ResponseBody // 返回JSON格式的响应 + public R info(String token){ + // 方法接收token参数 + + Users user = usersService.getOne(cacheHandle.getUserInfoCache(token)); + // 从缓存中获取用户信息 + + return R.successData(user); + // 返回成功响应和用户信息 } - /** - * 修改用户信息。 - *根据用户信息更新用户数据。
- * - * @param user 用户信息 - * @return 返回操作结果的响应对象 - */ - @PostMapping("/info") - @ResponseBody - public R info(Users user) { - Log.info("修改用户信息,{}", user); // 记录日志 + // 修改用户信息的POST请求 + @PostMapping("/info") // 映射POST请求到/info + @ResponseBody // 返回JSON格式的响应 + public R info(Users user){ + // 方法接收用户对象 - usersService.update(user); // 更新用户信息 + Log.info("修改用户信息,{}", user); + // 记录用户信息修改 - return R.success(); // 返回成功响应 + usersService.update(user); + // 更新用户信息 + + return R.success(); + // 返回成功响应 } - /** - * 检查密码。 - *验证原始密码是否正确。
- * - * @param oldPwd 原始密码 - * @param token 用户token - * @return 返回密码验证结果的响应对象 - */ - @RequestMapping("/checkPwd") - @ResponseBody + // 检查密码的请求 + @RequestMapping("/checkPwd") // 映射请求到/checkPwd + @ResponseBody // 返回JSON格式的响应 public R checkPwd(String oldPwd, String token) { - Users user = usersService.getOne(cacheHandle.getUserInfoCache(token)); // 通过token获取用户信息 - - if (oldPwd.equals(user.getPassWord())) { // 验证密码 - return R.success(); // 密码正确时返回成功响应 - } else { - return R.warn("原始密码和输入密码不一致"); // 密码错误时返回警告响应 + // 方法接收旧密码和token参数 + + Users user = usersService.getOne(cacheHandle.getUserInfoCache(token)); + // 从缓存中获取用户信息 + + if(oldPwd.equals(user.getPassWord())) { + // 检查旧密码是否匹配 + return R.success(); + // 返回成功响应 + }else { + // 密码不匹配 + return R.warn("原始密码和输入密码不一致"); + // 返回警告信息 } } - /** - * 修改密码。 - *根据新密码更新用户密码。
- * - * @param token 用户token - * @param password 新密码 - * @return 返回操作结果的响应对象 - */ - @PostMapping("/pwd") - @ResponseBody + // 修改用户密码的POST请求 + @PostMapping("/pwd") // 映射POST请求到/pwd + @ResponseBody // 返回JSON格式的响应 public R pwd(String token, String password) { - Log.info("修改用户密码,{}", password); // 记录日志 + // 方法接收token和新密码 - Users user = usersService.getOne(cacheHandle.getUserInfoCache(token)); // 通过token获取用户信息 - user.setPassWord(password); // 设置新密码 - usersService.update(user); // 更新用户信息 + Log.info("修改用户密码,{}", password); + // 记录密码修改信息 - return R.success(); // 返回成功响应 + + Users user = usersService.getOne(cacheHandle.getUserInfoCache(token)); + // 从缓存中获取用户信息 + + user.setPassWord(password); + // 设置新密码 + usersService.update(user); + // 更新用户信息 + + return R.success(); + // 返回成功响应 } } \ No newline at end of file diff --git a/springboota009社团管理系统/代码/AssociationManagerApi - idea/src/main/java/com/rabbiter/association/controller/PayLogsController.java b/springboota009社团管理系统/代码/AssociationManagerApi - idea/src/main/java/com/rabbiter/association/controller/PayLogsController.java index eaa0b39..0edad47 100644 --- a/springboota009社团管理系统/代码/AssociationManagerApi - idea/src/main/java/com/rabbiter/association/controller/PayLogsController.java +++ b/springboota009社团管理系统/代码/AssociationManagerApi - idea/src/main/java/com/rabbiter/association/controller/PayLogsController.java @@ -1,157 +1,189 @@ package com.rabbiter.association.controller; -//声明该Java类所在的包名为com.rabbiter.association.controller。 + + import com.rabbiter.association.service.PayLogsService; +// 导入缴费记录服务类 import com.rabbiter.association.service.UsersService; -//导入UsersService类,用于处理用户相关的业务逻辑。 +// 导入用户服务类 import org.slf4j.Logger; +// 导入日志记录接口 import org.slf4j.LoggerFactory; -//导入slf4j日志框架的Logger和LoggerFactory,用于记录日志。 +// 导入日志记录工厂类 + import org.springframework.beans.factory.annotation.Autowired; -////导入Autowired注解,用于自动装配依赖。 +// 导入自动注入注解 import org.springframework.stereotype.Controller; -//导入Controller注解,表明该类是一个Spring MVC中的控制器。 +// 导入控制器注解 import org.springframework.util.ObjectUtils; -//用于对象工具操作 +// 导入对象工具类 import org.springframework.web.bind.annotation.GetMapping; -//等用于处理Web请求映射 +// 导入 GET 请求映射注解 import org.springframework.web.bind.annotation.PostMapping; -//专门用于处理HTTP POST请求的映射 +// 导入 POST 请求映射注解 import org.springframework.web.bind.annotation.RequestMapping; -//用来处理请求映射的注解 +// 导入请求映射注解 import org.springframework.web.bind.annotation.ResponseBody; -//用于将方法的返回值直接作为响应体写入HTTP响应中 +// 导入响应体注解 import com.rabbiter.association.entity.Users; -//等导入实体类和工具类。 +// 导入用户实体类 import com.rabbiter.association.handle.CacheHandle; -//用于处理缓存相关操作 +// 导入缓存处理类 import com.rabbiter.association.utils.DateUtils; -//这里的import用于引入名为DateUtils的类,这个类位于com.rabbiter.association.utils包下 -// 通常这个DateUtils类可能包含一些与日期操作相关的工具方法,例如日期格式化、日期计算等 +// 导入日期工具类 import com.rabbiter.association.utils.IDUtils; -//用于处理各种标识符 +// 导入 ID 生成工具类 import com.rabbiter.association.msg.R; -//R类用于资源的引用管理 +// 导入响应消息类 import com.rabbiter.association.msg.PageData; -//用于表示页面数据相关的结构 +// 导入分页数据类 import com.rabbiter.association.entity.PayLogs; -//导入com.rabbiter.association.entity包下的PayLogs类 - //系统请求响应控制器 - // 缴费记录 +// 导入缴费记录实体类 -@Controller -@RequestMapping("/payLogs") +/** + * 系统请求响应控制器 + * 处理缴费记录相关请求 + */ +@Controller // 声明该类为控制器 +@RequestMapping("/payLogs") // 定义请求路径前缀为 /payLogs public class PayLogsController extends BaseController { - // 创建一个日志记录器,用于记录PayLogsController类中的日志信息 + // 定义 PayLogsController 类,继承自 BaseController + protected static final Logger Log = LoggerFactory.getLogger(PayLogsController.class); - // 使用Spring的自动装配功能,将CacheHandle注入到这个类中 - @Autowired + // 创建日志记录器 + + @Autowired // 自动注入 CacheHandle 实例 private CacheHandle cacheHandle; - // 使用Spring的自动装配功能,将UsersService注入到这个类中 - @Autowired + + @Autowired // 自动注入 UsersService 实例 private UsersService usersService; - //使用Spring的自动装配功能,将PayLogsService注入到这个类中 - @Autowired + + @Autowired // 自动注入 PayLogsService 实例 private PayLogsService payLogsService; -// 处理根路径("/payLogs")的请求,返回一个视图名称,用于显示缴费记录页面 - @RequestMapping("") + @RequestMapping("") // 处理根路径请求 public String index() { + // 定义 index 方法 return "pages/PayLogs"; + // 返回视图名称,渲染缴费记录页面 } - // 处理"/payLogs/info"的GET请求,根据传入的id查找指定缴费记录,并以JSON格式返回结果 - @GetMapping("/info") - @ResponseBody + + @GetMapping("/info") // 处理 GET 请求,路径为 /info + @ResponseBody // 返回 JSON 格式的响应 public R getInfo(String id) { - // 在日志中记录查找指定缴费记录的操作和传入的id + // 定义获取缴费记录信息的方法,接收 ID 参数 + Log.info("查找指定缴费记录,ID:{}", id); + // 记录查找缴费记录的日志 PayLogs payLogs = payLogsService.getOne(id); + // 根据 ID 获取缴费记录 + return R.successData(payLogs); + // 返回成功响应,包含缴费记录数据 } -//处理"/payLogs/page"的GET请求,根据不同用户类型进行分页查询缴费记录,并以JSON格式返回结果 - @GetMapping("/page") - @ResponseBody + + @GetMapping("/page") // 处理 GET 请求,路径为 /page + @ResponseBody // 返回 JSON 格式的响应 public R getPageInfos(Long pageIndex, Long pageSize, + // 定义获取分页信息的方法,接收页码和每页大小 String token, String teamName, String userName) { -//根据token获取用户信息 + Users user = usersService.getOne(cacheHandle.getUserInfoCache(token)); - //如果用户信息为空,返回错误信息,表示登录信息不存在,请重新登录 + // 从缓存中获取用户信息 if(ObjectUtils.isEmpty(user)) { + // 检查用户是否存在 return R.error("登录信息不存在,请重新登录"); + // 返回错误响应 } - //如果用户类型为0(普通用户) if (user.getType() == 0) { -//在日志中记录分页查看全部缴费记录的操作和相关参数 + // 如果用户类型为 0(普通用户) + Log.info("分页查看全部缴费记录,当前页码:{}," + "每页数据量:{}, 模糊查询,团队名称:{},用户姓名:{}", pageIndex, - pageSize, teamName, userName); -//调用payLogsService的getPageInfo方法进行分页查询 + pageSize, teamName, userName); // 记录日志 + PageData page = payLogsService.getPageInfo(pageIndex, pageSize, null, teamName, userName); + // 获取分页数据 return R.successData(page); + // 返回成功响应,包含分页数据 } else if (user.getType() == 1) { -// 如果用户类型为1(团队管理员) -// 在日志中记录团队管理员查看缴费记录的操作和相关参数 + // 如果用户类型为 1(团队管理员) + Log.info("团队管理员查看缴费记录,当前页码:{}," + "每页数据量:{}, 模糊查询,团队名称:{},用户姓名:{}", pageIndex, - pageSize, teamName, userName); -//调用payLogsService的getManPageInfo方法进行分页查询 - PageData page = payLogsService.getManPageInfo(pageIndex, pageSize, user.getId(), teamName, userName); + pageSize, teamName, userName); // 记录日志 + + PageData page = payLogsService.getManPageInfo(pageIndex, pageSize, user.getId(), teamName, userName); // 获取团队管理员的分页数据 return R.successData(page); - } else { - // 其他类型用户 - // 在日志中记录分页查询用户相关缴费记录的操作和相关参数 + // 返回成功响应,包含分页数据 + } else { // 其他用户类型 Log.info("分页用户相关缴费记录,当前页码:{}," + "每页数据量:{}, 模糊查询,团队名称:{},用户姓名:{}", pageIndex, - pageSize, teamName, userName); -//调用payLogsService的getPageInfo方法进行分页查询 + pageSize, teamName, userName); // 记录日志 + PageData page = payLogsService.getPageInfo(pageIndex, pageSize, user.getId(), teamName, null); + // 获取用户相关的分页数据 - return R.successData(page); + return R.successData(page); // 返回成功响应,包含分页数据 } } -//处理"/payLogs/add"的POST请求,添加缴费记录,并返回操作成功的结果 - @PostMapping("/add") - @ResponseBody - public R addInfo( PayLogs payLogs) { -//为缴费记录生成一个唯一的id + + @PostMapping("/add") // 处理 POST 请求,路径为 /add + @ResponseBody // 返回 JSON 格式的响应 + public R addInfo(PayLogs payLogs) { + // 定义添加缴费记录的方法,接收 PayLogs 对象 + payLogs.setId(IDUtils.makeIDByCurrent()); - //设置缴费记录的创建时间为当前时间 + // 生成并设置缴费记录 ID payLogs.setCreateTime(DateUtils.getNowDate()); -//在日志中记录添加缴费记录的操作和传入的参数 + // 设置当前时间为创建时间 + Log.info("添加缴费记录,传入参数:{}", payLogs); -//调用payLogsService的add方法添加缴费记录 + // 记录添加缴费记录的日志 + payLogsService.add(payLogs); + // 调用服务层方法添加缴费记录 return R.success(); + // 返回成功响应 } -//处理"/payLogs/upd"的POST请求,修改缴费记录,并返回操作成功的结果 - @PostMapping("/upd") - @ResponseBody + + @PostMapping("/upd") // 处理 POST 请求,路径为 /upd + @ResponseBody // 返回 JSON 格式的响应 public R updInfo(PayLogs payLogs) { -//在日志中记录修改缴费记录的操作和传入的参数 + // 定义更新缴费记录的方法,接收 PayLogs 对象 + Log.info("修改缴费记录,传入参数:{}", payLogs); -//调用payLogsService的update方法修改缴费记录 + // 记录修改缴费记录的日志 + payLogsService.update(payLogs); + // 调用服务层方法更新缴费记录 return R.success(); + // 返回成功响应 } -//处理"/payLogs/del"的POST请求,根据传入的id删除缴费记录,并返回操作成功的结果 - @PostMapping("/del") - @ResponseBody + + @PostMapping("/del") // 处理 POST 请求,路径为 /del + @ResponseBody // 返回 JSON 格式的响应 public R delInfo(String id) { + // 定义删除缴费记录的方法,接收 ID 参数 Log.info("删除缴费记录, ID:{}", id); -//在日志中记录删除缴费记录的操作和传入的id + // 记录删除缴费记录的日志 + PayLogs payLogs = payLogsService.getOne(id); + // 根据 ID 获取缴费记录 payLogsService.delete(payLogs); -//调用payLogsService的delete方法删除缴费记录 + // 调用服务层方法删除缴费记录 + return R.success(); + // 返回成功响应 } } \ No newline at end of file diff --git a/springboota009社团管理系统/代码/AssociationManagerApi - idea/src/main/java/com/rabbiter/association/controller/TeamsController.java b/springboota009社团管理系统/代码/AssociationManagerApi - idea/src/main/java/com/rabbiter/association/controller/TeamsController.java index eef4b64..460a59a 100644 --- a/springboota009社团管理系统/代码/AssociationManagerApi - idea/src/main/java/com/rabbiter/association/controller/TeamsController.java +++ b/springboota009社团管理系统/代码/AssociationManagerApi - idea/src/main/java/com/rabbiter/association/controller/TeamsController.java @@ -1,153 +1,215 @@ package com.rabbiter.association.controller; +// 定义包名,表示该类属于 com.rabbiter.association.controller 包 import com.rabbiter.association.service.TeamsService; +// 导入社团服务类 import com.rabbiter.association.service.UsersService; +// 导入用户服务类 import org.slf4j.Logger; +// 导入日志记录接口 import org.slf4j.LoggerFactory; +// 导入日志记录工厂类 import org.springframework.beans.factory.annotation.Autowired; +// 导入自动注入注解 import org.springframework.stereotype.Controller; +// 导入控制器注解 import org.springframework.util.ObjectUtils; +// 导入对象工具类 import org.springframework.web.bind.annotation.GetMapping; +// 导入 GET 请求映射注解 import org.springframework.web.bind.annotation.PostMapping; +// 导入 POST 请求映射注解 import org.springframework.web.bind.annotation.RequestMapping; +// 导入请求映射注解 import org.springframework.web.bind.annotation.ResponseBody; +// 导入响应体注解 import com.rabbiter.association.entity.Users; +// 导入用户实体类 import com.rabbiter.association.handle.CacheHandle; +// 导入缓存处理类 import com.rabbiter.association.utils.DateUtils; +// 导入日期工具类 import com.rabbiter.association.utils.IDUtils; +// 导入 ID 生成工具类 import com.rabbiter.association.msg.R; +// 导入响应消息类 import com.rabbiter.association.msg.PageData; +// 导入分页数据类 import com.rabbiter.association.entity.Teams; +// 导入社团实体类 import java.util.List; +// 导入 List 接口 /** * 系统请求响应控制器 - * 社团信息 + * 处理社团信息相关请求 */ -@Controller -@RequestMapping("/teams") +@Controller // 声明该类为控制器 +@RequestMapping("/teams") // 定义请求路径前缀为 /teams public class TeamsController extends BaseController { + // 定义 TeamsController 类,继承自 BaseController protected static final Logger Log = LoggerFactory.getLogger(TeamsController.class); + // 创建日志记录器 - @Autowired + @Autowired // 自动注入 CacheHandle 实例 private CacheHandle cacheHandle; - @Autowired + @Autowired // 自动注入 UsersService 实例 private UsersService usersService; - @Autowired + @Autowired // 自动注入 TeamsService 实例 private TeamsService teamsService; - @RequestMapping("") + @RequestMapping("") // 处理根路径请求 public String index() { + // 定义 index 方法 return "pages/Teams"; + // 返回视图名称,渲染社团页面 } - @GetMapping("/info") - @ResponseBody + @GetMapping("/info") // 处理 GET 请求,路径为 /info + @ResponseBody // 返回 JSON 格式的响应 public R getInfo(String id) { + // 定义获取社团信息的方法,接收 ID 参数 Log.info("查找指定社团信息,ID:{}", id); + // 记录查找社团信息的日志 Teams teams = teamsService.getOne(id); + // 根据 ID 获取社团信息 return R.successData(teams); + // 返回成功响应,包含社团信息 } - @GetMapping("/all") - @ResponseBody - public R getAll(){ + @GetMapping("/all") // 处理 GET 请求,路径为 /all + @ResponseBody // 返回 JSON 格式的响应 + public R getAll() { + // 定义获取所有社团信息的方法 Log.info("获取全部的社团"); + // 记录获取所有社团的日志 List