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 @@ + \ No newline at end of file diff --git a/springboota009社团管理系统/代码/AssociationManagerApi - idea/.idea/runConfigurations.xml b/springboota009社团管理系统/代码/AssociationManagerApi - idea/.idea/runConfigurations.xml new file mode 100644 index 0000000..5b76539 --- /dev/null +++ b/springboota009社团管理系统/代码/AssociationManagerApi - idea/.idea/runConfigurations.xml @@ -0,0 +1,10 @@ + + + + + + \ No newline at end of file diff --git a/springboota009社团管理系统/代码/AssociationManagerApi - idea/.idea/vcs.xml b/springboota009社团管理系统/代码/AssociationManagerApi - idea/.idea/vcs.xml new file mode 100644 index 0000000..7ef1e0e --- /dev/null +++ b/springboota009社团管理系统/代码/AssociationManagerApi - idea/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + // + + \ No newline at end of file diff --git a/springboota009社团管理系统/代码/AssociationManagerApi - idea/src/main/java/com/rabbiter/association/controller/IndexController.java b/springboota009社团管理系统/代码/AssociationManagerApi - idea/src/main/java/com/rabbiter/association/controller/IndexController.java index a9c49d9..8018637 100644 --- a/springboota009社团管理系统/代码/AssociationManagerApi - idea/src/main/java/com/rabbiter/association/controller/IndexController.java +++ b/springboota009社团管理系统/代码/AssociationManagerApi - idea/src/main/java/com/rabbiter/association/controller/IndexController.java @@ -1,149 +1,206 @@ package com.rabbiter.association.controller; + 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.*; +// 导入Spring Web注解 import com.rabbiter.association.entity.Notices; +// 导入通知实体类 import com.rabbiter.association.handle.CacheHandle; +// 导入缓存处理类 import com.rabbiter.association.msg.R; +// 导入响应消息类 import com.rabbiter.association.entity.Users; +// 导入用户实体类 import com.rabbiter.association.service.NoticesService; +// 导入通知服务类 import com.rabbiter.association.utils.IDUtils; +// 导入ID工具类 import javax.servlet.http.HttpSession; +// 导入HTTP会话类 import java.util.List; +// 导入列表类 -@Controller -@RequestMapping("/") -public class IndexController extends BaseController { +// 此代码实现了一个登录功能 +@Controller // 声明这是一个控制器类 +@RequestMapping("/") // 定义请求映射的根路径 +public class IndexController extends BaseController { // 继承自基础控制器 private static final Logger Log = LoggerFactory.getLogger(IndexController.class); + // 创建日志记录器 - @Autowired + @Autowired // 自动注入用户服务 private UsersService usersService; - @Autowired + @Autowired // 自动注入缓存处理类 private CacheHandle cacheHandle; - @Autowired + @Autowired // 自动注入通知服务 private NoticesService noticesService; - @GetMapping("/sys/notices") - @ResponseBody + // 获取通知列表的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("登录信息不存在,请重新登录"); + // 检查用户是否为空 + return R.error("登录信息不存在,请重新登录"); // 返回错误信息 } + // 根据用户类型获取不同的通知列表 if(user.getType() == 0){ - + // 管理员类型 List list = noticesService.getSysNotices(); - + // 获取系统通知 return R.successData(list); + // 返回成功响应和通知列表 }else if(user.getType() == 1){ - + // 管理员类型 List list = noticesService.getManNotices(user.getId()); - + // 获取管理员通知 return R.successData(list); + // 返回成功响应和通知列表 }else{ - + // 普通用户类型 List list = noticesService.getMemNotices(user.getId()); - + // 获取普通用户通知 return R.successData(list); + // 返回成功响应和通知列表 } } - @PostMapping("/login") - @ResponseBody + // 用户登录的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 { - + // 返回错误信息 + }else { // 用户存在 if(passWord.equals(user.getPassWord().trim())) { - - + // 检查密码是否匹配 String token = IDUtils.makeIDByUUID(); + // 生成唯一的token cacheHandle.addUserCache(token, user.getId()); - + // 将用户信息存入缓存 return R.success("登录成功", token); - }else { - + // 返回成功响应和token + }else { // 密码不匹配 return R.error("输入的密码错误"); + // 返回错误信息 } } } - @RequestMapping("/exit") - @ResponseBody + // 用户退出的请求 + @RequestMapping("/exit") // 映射请求到/exit + @ResponseBody // 返回JSON格式的响应 public R exit(String token) { + // 方法接收token参数 Log.info("用户退出系统并移除登录信息"); + // 记录退出信息 cacheHandle.removeUserCache(token); + // 从缓存中移除用户信息 - return R.success(); + return R.success(); // 返回成功响应 } - @GetMapping("/info") - @ResponseBody + // 获取用户信息的GET请求 + @GetMapping("/info") // 映射GET请求到/info + @ResponseBody // 返回JSON格式的响应 public R info(String token){ + // 方法接收token参数 Users user = usersService.getOne(cacheHandle.getUserInfoCache(token)); + // 从缓存中获取用户信息 return R.successData(user); + // 返回成功响应和用户信息 } - @PostMapping("/info") - @ResponseBody + // 修改用户信息的POST请求 + @PostMapping("/info") // 映射POST请求到/info + @ResponseBody // 返回JSON格式的响应 public R info(Users user){ + // 方法接收用户对象 Log.info("修改用户信息,{}", user); + // 记录用户信息修改 usersService.update(user); + // 更新用户信息 return R.success(); + // 返回成功响应 } - @RequestMapping("/checkPwd") - @ResponseBody + // 检查密码的请求 + @RequestMapping("/checkPwd") // 映射请求到/checkPwd + @ResponseBody // 返回JSON格式的响应 public R checkPwd(String oldPwd, String token) { + // 方法接收旧密码和token参数 Users user = usersService.getOne(cacheHandle.getUserInfoCache(token)); + // 从缓存中获取用户信息 if(oldPwd.equals(user.getPassWord())) { - + // 检查旧密码是否匹配 return R.success(); + // 返回成功响应 }else { - + // 密码不匹配 return R.warn("原始密码和输入密码不一致"); + // 返回警告信息 } } - @PostMapping("/pwd") - @ResponseBody + // 修改用户密码的POST请求 + @PostMapping("/pwd") // 映射POST请求到/pwd + @ResponseBody // 返回JSON格式的响应 public R pwd(String token, String password) { + // 方法接收token和新密码 Log.info("修改用户密码,{}", password); + // 记录密码修改信息 + 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 e906f2f..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,138 +1,189 @@ package com.rabbiter.association.controller; + import com.rabbiter.association.service.PayLogsService; +// 导入缴费记录服务类 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.PayLogs; +// 导入缴费记录实体类 /** * 系统请求响应控制器 - * 缴费记录 + * 处理缴费记录相关请求 */ -@Controller -@RequestMapping("/payLogs") +@Controller // 声明该类为控制器 +@RequestMapping("/payLogs") // 定义请求路径前缀为 /payLogs public class PayLogsController extends BaseController { + // 定义 PayLogsController 类,继承自 BaseController protected static final Logger Log = LoggerFactory.getLogger(PayLogsController.class); + // 创建日志记录器 - @Autowired + @Autowired // 自动注入 CacheHandle 实例 private CacheHandle cacheHandle; - @Autowired + @Autowired // 自动注入 UsersService 实例 private UsersService usersService; - @Autowired + @Autowired // 自动注入 PayLogsService 实例 private PayLogsService payLogsService; - - @RequestMapping("") + @RequestMapping("") // 处理根路径请求 public String index() { + // 定义 index 方法 return "pages/PayLogs"; + // 返回视图名称,渲染缴费记录页面 } - @GetMapping("/info") - @ResponseBody + @GetMapping("/info") // 处理 GET 请求,路径为 /info + @ResponseBody // 返回 JSON 格式的响应 public R getInfo(String id) { + // 定义获取缴费记录信息的方法,接收 ID 参数 Log.info("查找指定缴费记录,ID:{}", id); + // 记录查找缴费记录的日志 PayLogs payLogs = payLogsService.getOne(id); + // 根据 ID 获取缴费记录 return R.successData(payLogs); + // 返回成功响应,包含缴费记录数据 } - @GetMapping("/page") - @ResponseBody + @GetMapping("/page") // 处理 GET 请求,路径为 /page + @ResponseBody // 返回 JSON 格式的响应 public R getPageInfos(Long pageIndex, Long pageSize, + // 定义获取分页信息的方法,接收页码和每页大小 String token, String teamName, String userName) { Users user = usersService.getOne(cacheHandle.getUserInfoCache(token)); + // 从缓存中获取用户信息 if(ObjectUtils.isEmpty(user)) { + // 检查用户是否存在 return R.error("登录信息不存在,请重新登录"); + // 返回错误响应 } if (user.getType() == 0) { + // 如果用户类型为 0(普通用户) Log.info("分页查看全部缴费记录,当前页码:{}," + "每页数据量:{}, 模糊查询,团队名称:{},用户姓名:{}", pageIndex, - pageSize, teamName, userName); + pageSize, teamName, userName); // 记录日志 PageData page = payLogsService.getPageInfo(pageIndex, pageSize, null, teamName, userName); + // 获取分页数据 return R.successData(page); + // 返回成功响应,包含分页数据 } else if (user.getType() == 1) { + // 如果用户类型为 1(团队管理员) Log.info("团队管理员查看缴费记录,当前页码:{}," + "每页数据量:{}, 模糊查询,团队名称:{},用户姓名:{}", pageIndex, - pageSize, teamName, userName); + pageSize, teamName, userName); // 记录日志 - PageData page = payLogsService.getManPageInfo(pageIndex, pageSize, user.getId(), teamName, userName); + PageData page = payLogsService.getManPageInfo(pageIndex, pageSize, user.getId(), teamName, userName); // 获取团队管理员的分页数据 return R.successData(page); - } else { + // 返回成功响应,包含分页数据 + } else { // 其他用户类型 Log.info("分页用户相关缴费记录,当前页码:{}," + "每页数据量:{}, 模糊查询,团队名称:{},用户姓名:{}", pageIndex, - pageSize, teamName, userName); + pageSize, teamName, userName); // 记录日志 PageData page = payLogsService.getPageInfo(pageIndex, pageSize, user.getId(), teamName, null); + // 获取用户相关的分页数据 - return R.successData(page); + return R.successData(page); // 返回成功响应,包含分页数据 } } - @PostMapping("/add") - @ResponseBody - public R addInfo( PayLogs payLogs) { + @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(payLogs); + // 调用服务层方法添加缴费记录 return R.success(); + // 返回成功响应 } - @PostMapping("/upd") - @ResponseBody + @PostMapping("/upd") // 处理 POST 请求,路径为 /upd + @ResponseBody // 返回 JSON 格式的响应 public R updInfo(PayLogs payLogs) { + // 定义更新缴费记录的方法,接收 PayLogs 对象 Log.info("修改缴费记录,传入参数:{}", payLogs); + // 记录修改缴费记录的日志 payLogsService.update(payLogs); + // 调用服务层方法更新缴费记录 return R.success(); + // 返回成功响应 } - @PostMapping("/del") - @ResponseBody + @PostMapping("/del") // 处理 POST 请求,路径为 /del + @ResponseBody // 返回 JSON 格式的响应 public R delInfo(String id) { + // 定义删除缴费记录的方法,接收 ID 参数 Log.info("删除缴费记录, ID:{}", id); + // 记录删除缴费记录的日志 PayLogs payLogs = payLogsService.getOne(id); + // 根据 ID 获取缴费记录 payLogsService.delete(payLogs); + // 调用服务层方法删除缴费记录 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 list = teamsService.getAll(); + // 获取所有社团信息 return R.successData(list); + // 返回成功响应,包含社团列表 } - @GetMapping("/man") - @ResponseBody - public R getListByManId(String manId){ + @GetMapping("/man") // 处理 GET 请求,路径为 /man + @ResponseBody // 返回 JSON 格式的响应 + public R getListByManId(String manId) { + // 定义根据管理员 ID 获取社团列表的方法 Log.info("获取指定社团管理员相关的社团列表"); + // 记录获取社团管理员相关社团的日志 List list = teamsService.getListByManId(manId); + // 根据管理员 ID 获取社团列表 return R.successData(list); + // 返回成功响应,包含社团列表 } - @GetMapping("/page") - @ResponseBody - public R getPageInfos(Long pageIndex, Long pageSize, - String token, Teams teams) { + @GetMapping("/page") // 处理 GET 请求,路径为 /page + @ResponseBody // 返回 JSON 格式的响应 + public R getPageInfos(Long pageIndex, Long pageSize, // 定义获取分页信息的方法,接收页码和每页大小 + String token, Teams teams) { // 还接收 token 和 Teams 对象 Users user = usersService.getOne(cacheHandle.getUserInfoCache(token)); + // 从缓存中获取用户信息 if(ObjectUtils.isEmpty(user)) { + // 检查用户是否存在 return R.error("登录信息不存在,请重新登录"); + // 返回错误响应 } - if(user.getType() == 1){ + if(user.getType() == 1) { + // 如果用户类型为 1(社团管理员) teams.setManager(user.getId()); + // 设置社团的管理员 ID } Log.info("分页查找社团信息,当前页码:{}," + "每页数据量:{}, 模糊查询,附加参数:{}", pageIndex, pageSize, teams); + // 记录分页查找社团信息的日志 - PageData page = teamsService.getPageInfo(pageIndex, pageSize, teams); + PageData page = teamsService.getPageInfo(pageIndex, pageSize, teams); // 获取分页数据 return R.successData(page); + // 返回成功响应,包含分页数据 } - @PostMapping("/add") - @ResponseBody + @PostMapping("/add") // 处理 POST 请求,路径为 /add + @ResponseBody // 返回 JSON 格式的响应 public R addInfo(Teams teams) { + // 定义添加社团信息的方法,接收 Teams 对象 teams.setId(IDUtils.makeIDByCurrent()); + // 生成并设置社团 ID teams.setCreateTime(DateUtils.getNowDate("yyyy-MM-dd")); + // 设置当前日期为创建时间 Log.info("添加社团信息,传入参数:{}", teams); + // 记录添加社团信息的日志 int count = teamsService.addTeams(teams); + // 调用服务层方法添加社团信息 if(count == 0) { + // 检查添加结果 return R.error("社团团长ID无效"); + // 返回错误响应 } return R.success(); + // 返回成功响应 } - @PostMapping("/upd") - @ResponseBody + @PostMapping("/upd") // 处理 POST 请求,路径为 /upd + @ResponseBody // 返回 JSON 格式的响应 public R updInfo(Teams teams) { + // 定义更新社团信息的方法,接收 Teams 对象 Log.info("修改社团信息,传入参数:{}", teams); + // 记录修改社团信息的日志 int count = teamsService.updateTeams(teams); + // 调用服务层方法更新社团信息 if(count == 0) { + // 检查更新结果 return R.error("社团团长ID无效"); + // 返回错误响应 } return R.success(); + // 返回成功响应 } - @PostMapping("/del") - @ResponseBody + @PostMapping("/del") // 处理 POST 请求,路径为 /del + @ResponseBody // 返回 JSON 格式的响应 public R delInfo(String id) { + // 定义删除社团信息的方法,接收 ID 参数 Log.info("删除社团信息, ID:{}", id); + // 记录删除社团信息的日志 Teams teams = teamsService.getOne(id); + // 根据 ID 获取社团信息 teamsService.delete(teams); + // 调用服务层方法删除社团信息 return R.success(); + // 返回成功响应 } } \ No newline at end of file diff --git a/springboota009社团管理系统/代码/AssociationManagerApi - idea/src/main/java/com/rabbiter/association/dao/MembersDao.java b/springboota009社团管理系统/代码/AssociationManagerApi - idea/src/main/java/com/rabbiter/association/dao/MembersDao.java index 651f4dd..67c67a1 100644 --- a/springboota009社团管理系统/代码/AssociationManagerApi - idea/src/main/java/com/rabbiter/association/dao/MembersDao.java +++ b/springboota009社团管理系统/代码/AssociationManagerApi - idea/src/main/java/com/rabbiter/association/dao/MembersDao.java @@ -1,15 +1,23 @@ package com.rabbiter.association.dao; +// 定义包名,表示该接口属于 com.rabbiter.association.dao 包 import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +// 导入 MyBatis-Plus 的分页类 import org.apache.ibatis.annotations.Param; +// 导入 MyBatis 的参数注解 import org.apache.ibatis.annotations.Select; +// 导入 MyBatis 的选择注解 import org.springframework.stereotype.Repository; +// 导入 Spring 的仓库注解 import com.baomidou.mybatisplus.core.mapper.BaseMapper; +// 导入 MyBatis-Plus 的基础映射器接口 import com.rabbiter.association.entity.Members; +// 导入成员实体类 import java.util.Map; +// 导入 Map 接口 /** * 数据层处理接口 @@ -41,9 +49,12 @@ public interface MembersDao extends BaseMapper { "" + "ORDER BY m.create_time DESC" + "") + // 选择成员的 ID、创建时间、社团 ID 和用户 ID + // 选择社团名称、总人数、用户姓名、性别、年龄和电话 + // 连接条件,确保成员的用户 ID 和社团 ID 匹配 public Page> qryPageAll(Page> page, - @Param("teamName") String teamName, - @Param("userName") String userName); + @Param("teamName") String teamName, + @Param("userName") String userName); /** * 依据社团管理员ID获取社团成员信息 @@ -69,8 +80,14 @@ public interface MembersDao extends BaseMapper { "" + "ORDER BY m.create_time DESC" + "") + // 选择成员的 ID、创建时间、社团 ID 和用户 ID + // 选择社团名称、总人数、用户姓名、性别、年龄和电话 + // 连接条件,确保成员的用户 ID 和社团 ID 匹配 public Page> qryPageByManId(Page> page, @Param("manId") String manId, + // 接收管理员 ID 参数 @Param("teamName") String teamName, + // 接收社团名称参数 @Param("userName") String userName); + // 接收用户姓名参数 } \ No newline at end of file diff --git a/springboota009社团管理系统/代码/AssociationManagerApi - idea/src/main/java/com/rabbiter/association/dao/TeamsDao.java b/springboota009社团管理系统/代码/AssociationManagerApi - idea/src/main/java/com/rabbiter/association/dao/TeamsDao.java index 8f444e8..e4ad264 100644 --- a/springboota009社团管理系统/代码/AssociationManagerApi - idea/src/main/java/com/rabbiter/association/dao/TeamsDao.java +++ b/springboota009社团管理系统/代码/AssociationManagerApi - idea/src/main/java/com/rabbiter/association/dao/TeamsDao.java @@ -1,17 +1,21 @@ package com.rabbiter.association.dao; +// 定义包名,表示该接口属于 com.rabbiter.association.dao 包 import org.springframework.stereotype.Repository; +// 导入 Spring 的仓库注解 import com.baomidou.mybatisplus.core.mapper.BaseMapper; +// 导入 MyBatis-Plus 的基础映射器接口 import com.rabbiter.association.entity.Teams; +// 导入社团实体类 /** * 数据层处理接口 - * 社团信息 + * 处理社团信息相关的数据库操作 */ -@Repository("teamsDao") +@Repository("teamsDao") // 声明该接口为 Spring 的仓库组件,并指定 bean 名称为 teamsDao public interface TeamsDao extends BaseMapper { - - + // 定义 TeamsDao 接口,继承自 BaseMapper,提供基本的 CRUD 操作 + // 该接口不需要额外的方法,BaseMapper 已经提供了基本的 CRUD 操作 } \ No newline at end of file diff --git a/springboota009社团管理系统/代码/AssociationManagerApi - idea/src/main/java/com/rabbiter/association/entity/Members.java b/springboota009社团管理系统/代码/AssociationManagerApi - idea/src/main/java/com/rabbiter/association/entity/Members.java index 1ddb8f3..c580e39 100644 --- a/springboota009社团管理系统/代码/AssociationManagerApi - idea/src/main/java/com/rabbiter/association/entity/Members.java +++ b/springboota009社团管理系统/代码/AssociationManagerApi - idea/src/main/java/com/rabbiter/association/entity/Members.java @@ -1,97 +1,111 @@ package com.rabbiter.association.entity; +// 定义包名,表示该类属于 com.rabbiter.association.entity 包 import com.baomidou.mybatisplus.annotation.TableField; +// 导入 MyBatis-Plus 的表字段注解 import com.baomidou.mybatisplus.annotation.TableId; +// 导入 MyBatis-Plus 的表主键注解 import com.baomidou.mybatisplus.annotation.TableName; +// 导入 MyBatis-Plus 的表名注解 import java.io.Serializable; +// 导入可序列化接口 /** * 数据实体类 - * 成员信息 + * 表示成员信息 */ -@TableName(value = "members") +@TableName(value = "members") // 指定该类对应的数据库表名为 members public class Members implements Serializable { + // 定义 Members 类,实现 Serializable 接口以支持序列化 private static final long serialVersionUID = 1L; + // 定义序列化版本号 /** * 记录ID */ - @TableId(value = "id") + @TableId(value = "id") // 指定该字段为表的主键,映射到数据库中的 id 字段 private String id; + // 定义成员的 ID - /** + /** * 入团时间 */ - @TableField(value = "create_time") + @TableField(value = "create_time") // 指定该字段映射到数据库中的 create_time 字段 private String createTime; + // 定义成员的入团时间 - /** + /** * 加入社团 */ - @TableField(value = "team_id") + @TableField(value = "team_id") // 指定该字段映射到数据库中的 team_id 字段 private String teamId; + // 定义成员所属社团的 ID - /** + /** * 申请用户 */ - @TableField(value = "user_id") + @TableField(value = "user_id") // 指定该字段映射到数据库中的 user_id 字段 private String userId; + // 定义申请加入社团的用户 ID - - public String getId(){ - + // 获取成员 ID + public String getId() { return id; + // 返回成员 ID } - public void setId(String id){ - + // 设置成员 ID + public void setId(String id) { this.id = id; + // 设置成员 ID } - - public String getCreateTime(){ - + // 获取入团时间 + public String getCreateTime() { return createTime; + // 返回入团时间 } - public void setCreateTime(String createTime){ - + // 设置入团时间 + public void setCreateTime(String createTime) { this.createTime = createTime; + // 设置入团时间 } - - public String getTeamId(){ - + // 获取社团 ID + public String getTeamId() { return teamId; + // 返回社团 ID } - public void setTeamId(String teamId){ - + // 设置社团 ID + public void setTeamId(String teamId) { this.teamId = teamId; + // 设置社团 ID } - - public String getUserId(){ - + // 获取用户 ID + public String getUserId() { return userId; + // 返回用户 ID } - public void setUserId(String userId){ - + // 设置用户 ID + public void setUserId(String userId) { this.userId = userId; + // 设置用户 ID } - + // 重写 toString 方法,返回成员信息的字符串表示 @Override public String toString() { - - return "Members [id=" + id + return "Members [id=" + id + ", createTime=" + createTime + ", teamId=" + teamId + ", userId=" + userId + "]"; + // 返回包含成员 ID、入团时间、社团 ID 和用户 ID 的字符串 } - } \ No newline at end of file diff --git a/springboota009社团管理系统/代码/AssociationManagerApi - idea/src/main/java/com/rabbiter/association/entity/Teams.java b/springboota009社团管理系统/代码/AssociationManagerApi - idea/src/main/java/com/rabbiter/association/entity/Teams.java index ced36fc..d97ce8b 100644 --- a/springboota009社团管理系统/代码/AssociationManagerApi - idea/src/main/java/com/rabbiter/association/entity/Teams.java +++ b/springboota009社团管理系统/代码/AssociationManagerApi - idea/src/main/java/com/rabbiter/association/entity/Teams.java @@ -1,133 +1,152 @@ package com.rabbiter.association.entity; +// 定义包名,表示该类属于 com.rabbiter.association.entity 包 import com.baomidou.mybatisplus.annotation.TableField; +// 导入 MyBatis-Plus 的表字段注解 import com.baomidou.mybatisplus.annotation.TableId; +// 导入 MyBatis-Plus 的表主键注解 import com.baomidou.mybatisplus.annotation.TableName; +// 导入 MyBatis-Plus 的表名注解 import java.io.Serializable; +// 导入可序列化接口 /** * 数据实体类 - * 社团信息 + * 表示社团信息 */ -@TableName(value = "teams") +@TableName(value = "teams") // 指定该类对应的数据库表名为 teams public class Teams implements Serializable { + // 定义 Teams 类,实现 Serializable 接口以支持序列化 private static final long serialVersionUID = 1L; + // 定义序列化版本号 /** * 记录ID */ @TableId(value = "id") + // 指定该字段为表的主键,映射到数据库中的 id 字段 private String id; + // 定义社团的 ID - /** + /** * 社团名称 */ - @TableField(value = "name") + @TableField(value = "name") // 指定该字段映射到数据库中的 name 字段 private String name; + // 定义社团的名称 - /** + /** * 建立时间 */ - @TableField(value = "create_time") + @TableField(value = "create_time") // 指定该字段映射到数据库中的 create_time 字段 private String createTime; + // 定义社团的建立时间 - /** + /** * 社团人数 */ - @TableField(value = "total") + @TableField(value = "total") // 指定该字段映射到数据库中的 total 字段 private Integer total; + // 定义社团的总人数 - /** + /** * 社团团长 */ - @TableField(value = "manager") + @TableField(value = "manager") // 指定该字段映射到数据库中的 manager 字段 private String manager; + // 定义社团的团长 ID - /** + /** * 社团编号 */ - @TableField(value = "type_id") + @TableField(value = "type_id") // 指定该字段映射到数据库中的 type_id 字段 private String typeId; + // 定义社团的类型 ID - - public String getId(){ - + // 获取社团 ID + public String getId() { return id; + // 返回社团 ID } - public void setId(String id){ - + // 设置社团 ID + public void setId(String id) { this.id = id; + // 设置社团 ID } - - public String getName(){ - + // 获取社团名称 + public String getName() { return name; + // 返回社团名称 } - public void setName(String name){ - + // 设置社团名称 + public void setName(String name) { this.name = name; + // 设置社团名称 } - - public String getCreateTime(){ - + // 获取建立时间 + public String getCreateTime() { return createTime; + // 返回建立时间 } - public void setCreateTime(String createTime){ - + // 设置建立时间 + public void setCreateTime(String createTime) { this.createTime = createTime; + // 设置建立时间 } - - public Integer getTotal(){ - + // 获取社团人数 + public Integer getTotal() { return total; + // 返回社团人数 } - public void setTotal(Integer total){ - + // 设置社团人数 + public void setTotal(Integer total) { this.total = total; + // 设置社团人数 } - - public String getManager(){ - + // 获取社团团长 + public String getManager() { return manager; + // 返回社团团长 ID } - public void setManager(String manager){ - + // 设置社团团长 + public void setManager(String manager) { this.manager = manager; + // 设置社团团长 ID } - - public String getTypeId(){ - + // 获取社团类型 ID + public String getTypeId() { return typeId; + // 返回社团类型 ID } - public void setTypeId(String typeId){ - + // 设置社团类型 ID + public void setTypeId(String typeId) { this.typeId = typeId; + // 设置社团类型 ID } - + // 重写 toString 方法,返回社团信息的字符串表示 @Override public String toString() { - - return "Teams [id=" + id + return "Teams [id=" + id + ", name=" + name + ", createTime=" + createTime + ", total=" + total + ", manager=" + manager + ", typeId=" + typeId + "]"; + // 返回包含社团 ID、名称、建立时间、人数、团长和类型 ID 的字符串 } - } \ No newline at end of file diff --git a/springboota009社团管理系统/代码/AssociationManagerApi - idea/src/main/java/com/rabbiter/association/service/MembersService.java b/springboota009社团管理系统/代码/AssociationManagerApi - idea/src/main/java/com/rabbiter/association/service/MembersService.java index da64dd4..4bafbcd 100644 --- a/springboota009社团管理系统/代码/AssociationManagerApi - idea/src/main/java/com/rabbiter/association/service/MembersService.java +++ b/springboota009社团管理系统/代码/AssociationManagerApi - idea/src/main/java/com/rabbiter/association/service/MembersService.java @@ -1,41 +1,48 @@ package com.rabbiter.association.service; +// 定义包名,表示该接口属于 com.rabbiter.association.service 包 import com.rabbiter.association.msg.PageData; +// 导入分页数据类 import com.rabbiter.association.entity.Members; +// 导入成员实体类 /** * 业务层处理 - * 成员信息 + * 处理成员信息相关的业务逻辑 */ public interface MembersService extends BaseService { + // 定义 MembersService 接口,继承自 BaseService,提供成员信息的业务处理 /** * 指定用户是否是管理员 * @param userId 指定用户ID * @param teamId 团队ID - * @return + * @return 返回用户是否为管理员的布尔值 */ public Boolean isManager(String teamId, String userId); + // 定义方法,检查指定用户是否是指定团队的管理员 /** - * 分页查询成员信息信息 + * 分页查询成员信息 * @param pageIndex 当前页码 * @param pageSize 每页数据量 * @param teamName 社团名称 * @param userName 成员姓名 - * @return - */ + * @return 返回分页数据 + */ public PageData getPageAll(Long pageIndex, Long pageSize, String teamName, String userName); + // 定义方法,分页查询所有成员信息 /** - * 分页查询成员信息信息 + * 分页查询成员信息 * @param pageIndex 当前页码 * @param pageSize 每页数据量 * @param manId 管理员ID * @param teamName 社团名称 * @param userName 成员姓名 - * @return + * @return 返回分页数据 */ public PageData getPageByManId(Long pageIndex, Long pageSize, String manId, String teamName, String userName); + // 定义方法,分页查询指定管理员管理的成员信息 } \ No newline at end of file diff --git a/springboota009社团管理系统/代码/AssociationManagerApi - idea/src/main/java/com/rabbiter/association/service/TeamsService.java b/springboota009社团管理系统/代码/AssociationManagerApi - idea/src/main/java/com/rabbiter/association/service/TeamsService.java index 5797592..75ef23d 100644 --- a/springboota009社团管理系统/代码/AssociationManagerApi - idea/src/main/java/com/rabbiter/association/service/TeamsService.java +++ b/springboota009社团管理系统/代码/AssociationManagerApi - idea/src/main/java/com/rabbiter/association/service/TeamsService.java @@ -1,40 +1,50 @@ package com.rabbiter.association.service; +// 定义包名,表示该接口属于 com.rabbiter.association.service 包 import com.rabbiter.association.msg.PageData; +// 导入分页数据类 import com.rabbiter.association.entity.Teams; +// 导入社团实体类 import java.util.List; +// 导入 List 接口 /** * 业务层处理 - * 社团信息 + * 处理社团信息相关的业务逻辑 */ public interface TeamsService extends BaseService { + // 定义 TeamsService 接口,继承自 BaseService,提供社团信息的业务处理 /** * 获取全部的社团信息列表 - * @return + * @return 返回社团信息列表 */ public List getAll(); + // 定义方法,获取所有社团信息 /** * 获取指定管理人员相关的社团列表 * @param manId 指定管理员编号 - * @return + * @return 返回与指定管理员相关的社团列表 */ public List getListByManId(String manId); + // 定义方法,获取指定管理员管理的社团列表 /** - * 分页查询社团信息信息 + * 分页查询社团信息 * @param pageIndex 当前页码 * @param pageSize 每页数据量 * @param teams 模糊查询条件 - * @return - */ + * @return 返回分页数据 + */ public PageData getPageInfo(Long pageIndex, Long pageSize, Teams teams); + // 定义方法,分页查询社团信息,支持模糊查询条件 Integer addTeams(Teams teams); + // 定义方法,添加社团信息,返回操作结果 Integer updateTeams(Teams teams); + // 定义方法,更新社团信息,返回操作结果 } \ No newline at end of file diff --git a/springboota009社团管理系统/代码/AssociationManagerVue/.idea/AssociationManagerVue.iml b/springboota009社团管理系统/代码/AssociationManagerVue/.idea/AssociationManagerVue.iml new file mode 100644 index 0000000..d6ebd48 --- /dev/null +++ b/springboota009社团管理系统/代码/AssociationManagerVue/.idea/AssociationManagerVue.iml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/springboota009社团管理系统/代码/AssociationManagerVue/src/views/login.vue b/springboota009社团管理系统/代码/AssociationManagerVue/src/views/login.vue index 134f7b6..6bc7c67 100644 --- a/springboota009社团管理系统/代码/AssociationManagerVue/src/views/login.vue +++ b/springboota009社团管理系统/代码/AssociationManagerVue/src/views/login.vue @@ -1,85 +1,77 @@