@PostMapping("/add") @ResponseBody public R addInfo(Teams teams,String token) { Users user = usersService.getOne(cacheHandle.getUserInfoCache(token)); if(teamsService.isCanManage(teams.getManager())){ teams.setId(IDUtils.makeIDByCurrent()); teams.setCreateTime(DateUtils.getNowDate("yyyy-MM-dd")); teams.setTotal(1); if(user.getType().intValue() == 2){ teams.setManager(user.getId()); } Log.info("添加社团信息,传入参数:{}", teams); teamsService.add(teams); if(user.getType().equals("0")){ user = usersService.getOne(teams.getManager()); user.setType(1); usersService.update(user); } return R.success(); }else{ return R.warn("已加入其他社团"); } }
时间: 2024-02-19 19:01:57 浏览: 79
这是一个使用 Spring MVC 框架开发的 Java 后端接口,用于添加社团信息。该接口使用 @PostMapping 注解,表示接受 HTTP POST 请求;使用 @ResponseBody 注解,将返回值以 JSON 格式输出。
该接口接受两个参数,分别是 Teams 和 token。其中,Teams 是一个 Java Bean,包含了需要添加的社团信息,例如社团名称、管理员等;token 是一个字符串,表示用户的身份认证信息。
该接口首先通过 token 获取用户信息,然后判断当前用户是否有管理该社团的权限。如果有权限,则生成一个唯一的社团 ID,设置创建时间、总人数等信息,并将该社团信息添加到数据库中。如果用户的类型为 0,则将其类型修改为 1,表示该用户已加入社团。
如果当前用户已经加入了其他社团,则接口返回一个警告信息,表示不能加入多个社团。如果添加成功,则返回一个成功信息。
相关问题
@Controller @RequestMapping("/activeLogs") public class ActiveLogsController extends BaseController { protected static final Logger Log = LoggerFactory.getLogger(ActiveLogsController.class); @Autowired private CacheHandle cacheHandle; @Autowired private UsersService usersService; @Autowired private ActiveLogsService activeLogsService; @RequestMapping("") public String index() { return "pages/ActiveLogs"; } @GetMapping("/info") @ResponseBody public R getInfo(String id) { Log.info("查找指定报名记录,ID:{}", id); ActiveLogs activeLogs = activeLogsService.getOne(id); return R.successData(activeLogs); } @GetMapping("/list") @ResponseBody public R getList(String activeId) { Log.info("获取指定活动的报名记录,活动ID:{}", activeId); List<Map<String, Object>> list = activeLogsService.getListByActiveId(activeId); return R.successData(list); } @PostMapping("/add") @ResponseBody public R addInfo(String token, ActiveLogs activeLogs) { Users user = usersService.getOne(cacheHandle.getUserInfoCache(token)); if(activeLogsService.isActive(activeLogs.getActiveId(), user.getId())){ activeLogs.setId(IDUtils.makeIDByCurrent()); activeLogs.setUserId(user.getId()); activeLogs.setCreateTime(DateUtils.getNowDate()); Log.info("添加报名记录,传入参数:{}", activeLogs); activeLogsService.add(activeLogs); return R.success(); }else{ return R.warn("该活动您已参与,请勿重复报名"); } } @PostMapping("/upd") @ResponseBody public R updInfo(ActiveLogs activeLogs) { Log.info("修改报名记录,传入参数:{}", activeLogs); activeLogsService.update(activeLogs); return R.success(); } @PostMapping("/del") @ResponseBody public R delInfo(String id) { Log.info("删除报名记录, ID:{}", id); ActiveLogs activeLogs = activeLogsService.getOne(id); activeLogsService.delete(activeLogs); return R.success(); } }
这段代码定义了一个名为ActiveLogsController的控制器类,使用了@Controller和@RequestMapping注解来声明该类为一个控制器,其中@RequestMapping("/activeLogs")注解表示该控制器处理的请求路径以/activeLogs开头。
该类继承了BaseController类,并声明了三个私有变量,分别是CacheHandle、UsersService和ActiveLogsService的实例,使用@Autowired注解自动注入这三个实例。
该类定义了多个请求处理方法,分别对应不同的HTTP请求方法和请求路径。其中,@GetMapping("/info")和@GetMapping("/list")注解表示这两个方法分别处理HTTP的GET请求,并返回JSON格式的数据。@PostMapping("/add")和@PostMapping("/upd")注解表示这两个方法分别处理HTTP的POST请求,并返回JSON格式的数据。
在这些方法中,使用了Log.info()方法输出日志信息,方便在控制台中查看请求的处理情况。同时,这些方法还使用了ActiveLogsService和UsersService中的方法来完成业务逻辑,例如添加、修改和删除报名记录等操作。最后,这些方法使用R.success()或R.successData()方法返回成功的响应结果或响应数据。
package self.cases.teams.controller; import org.slf4j.Logger; import org.slf4j.LoggerFactory; 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.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.ResponseBody; import self.cases.teams.utils.DateUtils; import self.cases.teams.utils.IDUtils; import self.cases.teams.msg.R; import self.cases.teams.msg.PageData; import self.cases.teams.entity.Users; import self.cases.teams.service.UsersService; /** * 系统请求响应控制器 * 系统用户 */ @Controller @RequestMapping("/users") public class UsersController extends BaseController { protected static final Logger Log = LoggerFactory.getLogger(UsersController.class); @Autowired private UsersService usersService; @RequestMapping("") public String index() { return "pages/Users"; } @GetMapping("/info") @ResponseBody public R getInfo(String id) { Log.info("查找指定系统用户,ID:{}", id); Users users = usersService.getOne(id); return R.successData(users); } @GetMapping("/page") @ResponseBody public R getPageInfos(Long pageIndex, Long pageSize, Users users) { Log.info("分页查找系统用户,当前页码:{}," + "每页数据量:{}, 模糊查询,附加参数:{}", pageIndex, pageSize, users); PageData page = usersService.getPageInfo(pageIndex, pageSize, users); return R.successData(page); } @PostMapping("/add") @ResponseBody public R addInfo(Users users) { if(usersService.getUserByUserName(users.getUserName()) == null){ users.setId(IDUtils.makeIDByCurrent()); users.setCreateTime(DateUtils.getNowDate()); Log.info("添加系统用户,传入参数:{}", users); users
,usersService.add(users); return R.successMsg("添加成功!"); }else{ return R.failMsg("用户名已存在,请重新输入!"); } } @PostMapping("/update") @ResponseBody public R updateInfo(Users users) { Log.info("更新系统用户,传入参数:{}", users); usersService.update(users); return R.successMsg("更新成功!"); } @GetMapping("/delete") @ResponseBody public R deleteInfo(String id) { Log.info("删除系统用户,ID:{}", id); usersService.delete(id); return R.successMsg("删除成功!"); } @ExceptionHandler @ResponseBody public R handleException(Exception e) { Log.error("系统用户请求异常:{}", e.getMessage()); return R.errorMsg("系统异常,请联系管理员!"); } }
请问这段代码是做什么的?
阅读全文