package com.hssx.cloudmodel.controller; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.hssx.cloudmodel.entity.Company; import com.hssx.cloudmodel.entity.User; import com.hssx.cloudmodel.entity.vo.UserVO; import com.hssx.cloudmodel.service.CompanyService; import com.hssx.cloudmodel.service.ProjectService; import com.hssx.cloudmodel.service.UserService; import com.hssx.cloudmodel.util.HttpRespMsg; import com.hssx.cloudmodel.util.MD5Util; import com.hssx.cloudmodel.util.PageUtil; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.List; /** * @author 吴涛涛 * @since 2019-07-26 */ @RestController @RequestMapping("/user") @Slf4j public class UserController { @Autowired private UserService userService; @Autowired private CompanyService companyService; @Autowired private ProjectService projectService; /** * * @param userVO * 参数:account 账号 password 密码 * @return */ @ApiOperation(value = "普通用户登录", notes = "登录方法") @RequestMapping("/login") @ResponseBody public HttpRespMsg sysLogin(UserVO userVO, HttpServletRequest request, HttpServletResponse response) { log.info("user"+userVO); HttpRespMsg msg = userService.login(userVO,request); return msg; } /** * 添加/修改用户 * * 参数:account 账号 username 用户名(账号使用者的名字)parentId 创建此用户的创建者id * password 密码 ,mobile 手机号 ,roleName 角色名称, companyId 所属公司id,projectId 项目id * flag 0-添加,1-修改 * 注意:创建公司管理员的时候 ,addType 0 * @return */ @ApiOperation("添加/修改用户") @RequestMapping("/add") @ResponseBody public HttpRespMsg addAndUpdateUser(User user, HttpServletRequest request, Integer flag,@RequestParam(required = false) Integer projectId, HttpServletResponse response,@RequestParam(required = false)Integer addType) { HttpRespMsg msg = userService.addAndUpdateUser(user, flag,addType,projectId); return msg; } /** * 添加/修改用户 * @param user * 参数:id 用户id account 账号 password 密码 * @return */ @ApiOperation("修改用户密码") @RequestMapping("/updatePassword") @ResponseBody public HttpRespMsg updatePassword(User user, HttpServletRequest request, HttpServletResponse response) { HttpRespMsg msg = new HttpRespMsg(); user.setPassword(MD5Util.getPassword(user.getPassword())); msg.data = userService.updateById(user); return msg; } /** * 删除角色 * 参数 id 角色id * @return */ @ApiOperation("删除用户") @RequestMapping("/delete") @ResponseBody public HttpRespMsg deleteUser(User user, HttpServletRequest request, HttpServletResponse response) { HttpRespMsg msg = new HttpRespMsg(); msg = userService.deleteUser(user); return msg; } /** *用户列表 * 参数:pageNum 当前页码,pageSize 每页条数 keyName 关键字查询 * account 用户账号 token 用户凭证 roleType 角色类型 companyId 公司id(默认-1) * flag 账号或者名字筛选 (默认0)按名字筛选,1-按账号筛选 * @return */ @ApiOperation("用户列表") @RequestMapping("/list") @ResponseBody public HttpRespMsg list(@RequestParam(required = false) Integer roleType,@RequestParam(required = false) Integer companyId, HttpServletRequest request,String token, HttpServletResponse response, PageUtil page,@RequestParam(required = false)String keyName,@RequestParam Integer flag) { HttpRespMsg msg = new HttpRespMsg(); User newUser = userService.getOne(new QueryWrapper().eq("head_imgurl", token)); if(newUser != null){ msg = userService.pageList(page,companyId,flag,keyName,newUser,roleType); }else{ msg.setError("当前用户不存,或涉及到权限问题,请重新登录"); } return msg; } /** * 给项目分配参与人的时候根据公司id获取公司下的人员 * 参数:companyIds 公司ids ,id当前操作人的id,projectId 项目id * * @return */ @ApiOperation("根据公司id获取公司下的人员") @RequestMapping("/getUserListByCompanyIds") @ResponseBody public HttpRespMsg getUserListByCompanyIds(String companyIds,Integer id,@RequestParam(required = false) Integer projectId){ System.out.println("companyIds"+companyIds); HttpRespMsg msg = projectService.getUserListByCompanyIds(companyIds,id,projectId); return msg; } /** * 获取用户列表 * 参数: companyId 公司id,subordinateType 所属方 0-供应商 1-客户 * 以上两参数可以都不传,或者选择传其中一个 * @return */ @ApiOperation("获取用户列表") @RequestMapping("/getUserList") @ResponseBody public HttpRespMsg getUserByCompanyIdOrSubordinateType(User user) { HttpRespMsg msg = projectService.getUserByCompanyIdOrSubordinateType(user); return msg; } }