package com.moral.api.controller; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletRequest; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; import com.moral.api.entity.Group; import com.moral.api.entity.User; import com.moral.api.service.GroupService; import com.moral.api.service.UserService; import com.moral.constant.ResultMessage; import com.moral.redis.RedisUtil; @Slf4j @Api(tags = {"大屏"}) @RestController @RequestMapping("/api") public class WebController { @Autowired private UserService userService; @Autowired private GroupService groupService; /** * @param account 账户 * @param password 密码 * @Auther jinpengyong * @Description web登陆 */ @ApiOperation(value = "登陆", notes = "登陆") @ApiImplicitParams({ @ApiImplicitParam(name = "account", value = "账户", required = true, paramType = "path", dataType = "String"), @ApiImplicitParam(name = "password", value = "密码", required = true, paramType = "path", dataType = "String") }) @RequestMapping(value = "login/{account}/{password}", method = RequestMethod.GET) public ResultMessage login(@PathVariable("account") String account, @PathVariable("password") String password) { if (account == null || password == null) { return ResultMessage.fail("账户和密码不能为空"); } Map map = userService.login(account, password); if (map.get("token") == null) { return ResultMessage.fail(map.get("msg").toString()); } return ResultMessage.ok(map.get("token")); } @ApiOperation(value = "注销", notes = "注销") @RequestMapping(value = "logout", method = RequestMethod.POST) public ResultMessage logout(HttpServletRequest request) { String token = request.getHeader("token"); if (token == null) { return ResultMessage.fail("未登陆"); } RedisUtil.del(token); return ResultMessage.ok(); } @ApiOperation(value = "添加账户", notes = "添加账户") @ApiImplicitParams({ @ApiImplicitParam(name = "account", value = "账户", required = true, paramType = "query", dataType = "String"), @ApiImplicitParam(name = "password", value = "密码", required = true, paramType = "query", dataType = "String"), @ApiImplicitParam(name = "userName", value = "账户名称", required = false, paramType = "query", dataType = "String"), @ApiImplicitParam(name = "email", value = "邮箱", required = false, paramType = "query", dataType = "String"), @ApiImplicitParam(name = "mobile", value = "手机号", required = false, paramType = "query", dataType = "String"), @ApiImplicitParam(name = "wechat", value = "微信", required = false, paramType = "query", dataType = "String") }) @RequestMapping(value = "addUser", method = RequestMethod.POST) public ResultMessage addUser(User user, HttpServletRequest request) { Integer currentUserId = Integer.parseInt(request.getHeader("uid")); Map map = userService.addUser(user, currentUserId); String msg = map.get("msg").toString(); boolean flag = Boolean.parseBoolean(map.get("flag").toString()); if (flag) { return ResultMessage.ok(msg); } return ResultMessage.fail(msg); } @ApiOperation(value = "删除账户", notes = "删除账户") @ApiImplicitParams({ @ApiImplicitParam(name = "userId", value = "用户id", required = true, paramType = "path", dataType = "String") }) @RequestMapping(value = "deleteUser/{userId}", method = RequestMethod.GET) public ResultMessage deleteUser(@PathVariable("userId") String userId, HttpServletRequest request) { Integer currentUserId = Integer.parseInt(request.getHeader("uid")); Map map = userService.deleteUser(Integer.parseInt(userId), currentUserId); String msg = map.get("msg").toString(); boolean flag = Boolean.parseBoolean(map.get("flag").toString()); if (flag) { return ResultMessage.ok(msg); } return ResultMessage.fail(msg); } @ApiOperation(value = "修改用户信息", notes = "修改用户信息") @ApiImplicitParams({ @ApiImplicitParam(name = "account", value = "账户", required = false, paramType = "query", dataType = "String"), @ApiImplicitParam(name = "password", value = "密码", required = false, paramType = "query", dataType = "String"), @ApiImplicitParam(name = "userName", value = "账户名称", required = false, paramType = "query", dataType = "String"), @ApiImplicitParam(name = "email", value = "邮箱", required = false, paramType = "query", dataType = "String"), @ApiImplicitParam(name = "mobile", value = "手机号", required = false, paramType = "query", dataType = "String"), @ApiImplicitParam(name = "wechat", value = "微信", required = false, paramType = "query", dataType = "String") }) @RequestMapping(value = "updateUser", method = RequestMethod.POST) public ResultMessage updateUser(User user, HttpServletRequest request) { Integer currentUserId = Integer.parseInt(request.getHeader("uid")); Map map = userService.updateUser(user, currentUserId); String msg = map.get("msg").toString(); boolean flag = Boolean.parseBoolean(map.get("flag").toString()); if (flag) { return ResultMessage.ok(msg); } return ResultMessage.fail(msg); } @ApiOperation(value = "查询用户信息", notes = "查询用户信息") @ApiImplicitParams({ @ApiImplicitParam(name = "userId", value = "用户id", required = false, paramType = "path", dataType = "String") }) @RequestMapping(value = "getUserInfo/{userId}", method = RequestMethod.GET) public ResultMessage getUserInfo(@PathVariable("userId") String userId, HttpServletRequest request) { Integer currentUserId = Integer.parseInt(request.getHeader("uid")); if (userId == null) { List users = userService.getUsersByOrgId(currentUserId); return ResultMessage.ok(users); } User user = userService.getUserById(Integer.parseInt(userId), currentUserId); return ResultMessage.ok(user); } @ApiOperation(value = "添加组", notes = "添加组") @ApiImplicitParams({ @ApiImplicitParam(name = "groupName", value = "组名", required = true, paramType = "query", dataType = "String") }) @RequestMapping(value = "addGroup", method = RequestMethod.POST) private ResultMessage addGroup(Group group, HttpServletRequest request) { String currentUserId = request.getHeader("uid"); Map map = groupService.addGroup(group, currentUserId); String msg = map.get("msg").toString(); boolean flag = Boolean.parseBoolean(map.get("flag").toString()); if (flag) { return ResultMessage.ok(msg); } return ResultMessage.fail(msg); } }