package com.fuzamei.web; import java.util.ArrayList; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletRequest; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpRequest; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import com.alibaba.fastjson.JSON; import com.fuzamei.constant.HintMSG; import com.fuzamei.constant.RegexConstant; import com.fuzamei.constant.Roles; import com.fuzamei.entity.Role; import com.fuzamei.entity.User; import com.fuzamei.service.UserAuthoricationService; import com.fuzamei.service.UserService; import com.fuzamei.util.JSONUtil; import com.fuzamei.util.ValidationUtil; @RestController @RequestMapping(path = "/user") public class UserAction { @Autowired private UserService userService; @Autowired private UserAuthoricationService userAuthoricationService; @Autowired private HttpServletRequest request; /** * 查询*得到所有的角色 * * @return */ @PostMapping(value = "getAllRoles") public Map getAllRoles(@RequestBody String data) { try { @SuppressWarnings("unchecked") Map map = JSON.parseObject(data, Map.class); //Integer user_id = ValidationUtil.checkAndAssignInt(map.get("user_id")); //String tokenId= (String) map.get("tokenId"); Integer user_id = ValidationUtil.checkAndAssignInt(request.getHeader("Authorization")); userAuthoricationService.queryUserAuthority(user_id, Roles.ADMIN); List roles = userService.getAllRoles(); return JSONUtil.getJsonMap(200, true, HintMSG.QUERY_SUCCESS, roles); } catch (Exception e) { e.printStackTrace(); return JSONUtil.getJsonMap(500, false, HintMSG.QUERY_FAIL+":"+e.getMessage(), null); } } /** * { "user_id":"1001", "roleId":"3", "username":"", "personName":"" } 查看账户列表 * * @param data * @return */ @PostMapping(value = "/queryUsers") public Map queryUsers(@RequestBody String data) { try { @SuppressWarnings("unchecked") Map map = JSON.parseObject(data, Map.class); //Integer user_id = ValidationUtil.checkAndAssignInt(map.get("user_id")); //String tokenId= (String) map.get("tokenId"); Integer user_id = ValidationUtil.checkAndAssignInt(request.getHeader("Authorization")); userAuthoricationService.queryUserAuthority(user_id, Roles.ADMIN); Integer roleId = ValidationUtil.checkAndAssignNullIntegerIfIsBlank(map.get("roleId")); String username = ValidationUtil.checkBlankStringAndAssignEmptyIfIsBlank(map.get("username")); String personName = ValidationUtil.checkBlankStringAndAssignEmptyIfIsBlank(map.get("personName")); Map mapToService = new LinkedHashMap(); mapToService.put("user_id", user_id); mapToService.put("roleId", roleId); mapToService.put("username", username); mapToService.put("personName", personName); List list = userService.queryUsers(mapToService); return JSONUtil.getJsonMap(200, true, HintMSG.QUERY_SUCCESS, list); } catch (Exception e) { return JSONUtil.getJsonMap(500, false, HintMSG.QUERY_FAIL + ":" + e.getMessage(), null); } } /** * 编辑修改 根据用户id修改账号,密码,名称,角色,信息 * * @param data * @return * { "tokenId":"Bearer8df740431cd24b81ad34dce61177efe6&1001",//管理员 "userId": "5556", "username": "王五998", "password": "123456", "roleId": "1", "personName": "张三7" } */ @PostMapping(value = "/updateAccountByUserId") public Map updateAccountByUserId(@RequestBody User user) { try { String userId = request.getHeader("Authorization"); userAuthoricationService.queryUserAuthority(ValidationUtil.checkAndAssignInt(userId), Roles.ADMIN); //userAuthoricationService.queryUserAuthority(ValidationUtil.checkAndAssignInt(user.getUserId())); ////userAuthoricationService.queryUserAuthority(ValidationUtil.checkAndAssignInt(user.getUserId()),Roles.ADMIN); List us = userService.findUserByuserIdandusername(user); if (us == null || us.size() < 1) { userService.updateAccountByUserId(user); return JSONUtil.getJsonMap(200, true, "修改成功", null); } else { return JSONUtil.getJsonMap(500, false, "修改失败,该账号已存在了", null); } } catch (Exception e) { return JSONUtil.getJsonMap(500, false, "修改失败", null); } } /** * 添加用户 * * @param user * @param result * @return { "tokenId":"Bearer8df740431cd24b81ad34dce61177efe6&1001",//管理员 "userId": "xxx", "username": "王五998", "password": "123456", "roleId": "1", "personName": "张三7" } */ @PostMapping(value = "/insertUsers") public Map insertUsers(@RequestBody User user) { try { //ValidationUtil.checkAndAssignInt(user.getUserId()); String userId = request.getHeader("Authorization"); userAuthoricationService.queryUserAuthority(ValidationUtil.checkAndAssignInt(userId), Roles.ADMIN); List us = userService.findUserById(user); if (us == null || us.size() < 1) { userService.insertUsers(user); return JSONUtil.getJsonMap(200, true, "添加成功", null); } else { return JSONUtil.getJsonMap(500, false, "用户已存在,添加失败", null); } } catch (Exception e) { return JSONUtil.getJsonMap(500, false, "添加失败", null); } } /** * 让前端传过来Id{1001,1002,1003,1004}以逗号隔开 "userids" ——》1,2,3,4,5,6 * * @param userIds * @return */ /* @PostMapping(value="/deleteFromUserId2") public Map deleteFromUserId2(String userIds){ try { userService.deleteFromUserId(userIds); return JSONUtil.getJsonMap(200,true, "删除成功", null); }catch (Exception e) { return JSONUtil.getJsonMap(500, false, "删除失败", null); } }*/ @PostMapping(value = "/deleteFromUserId") public Map deleteFromUserId(@RequestBody String data) { try { @SuppressWarnings("unchecked") Map map = JSON.parseObject(data, Map.class); String tokenId= (String) map.get("tokenId"); Integer user_id = ValidationUtil.checkAndAssignInt(tokenId.split("&")[1]); userAuthoricationService.queryUserAuthority(user_id, Roles.ADMIN); String userIds = ValidationUtil.checkBlankStringAndAssignEmptyIfIsBlank(map.get("userIds"),RegexConstant.NUMBER_NO);// 校验前端传来的参数是不是数字(userIds)正则表达式 XXX userService.deleteFromUserId(userIds); return JSONUtil.getJsonMap(200, true, "删除成功", null); } catch (Exception e) { return JSONUtil.getJsonMap(500, false, "删除失败", null); } } }