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.service.CompanyService;
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;
/**
*
* @param user
* 参数:account 账号 password 密码
* @return
*/
@ApiOperation(value = "普通用户登录", notes = "登录方法")
@RequestMapping("login")
@ResponseBody
public HttpRespMsg sysLogin(User user, HttpServletRequest request,
HttpServletResponse response) {
log.info("user"+user);
HttpRespMsg msg = userService.login(user,request);
return msg;
}
/**
* 创建账号是所获取的公司列表
* @return
*/
@ApiOperation(value = "获取公司列表")
@RequestMapping("getCompanyList")
@ResponseBody
public HttpRespMsg getCompanyList(){
HttpRespMsg msg = new HttpRespMsg();
List list = companyService.list();
msg.data = list;
return msg;
}
/**
* 添加/修改用户
*
* 参数:account 账号 username 用户名(账号使用者的名字)
* password 密码 ,mobile 手机号 ,roleType 角色类型, companyId 所属公司id
* team_name 团体名称 :客户方、供应方
* flag 0-添加,1-修改
* @return
*/
@ApiOperation("添加/修改用户")
@RequestMapping("/add")
@ResponseBody
public HttpRespMsg addAndUpdateUser(User user, HttpServletRequest request, Integer flag,
HttpServletResponse response) {
HttpRespMsg msg = userService.addAndUpdateUser(user, flag);
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;
}
/**
* 删除角色
* @param user
* 参数 id 角色id
* @return
*/
@ApiOperation("删除用户")
@RequestMapping("/delete")
@ResponseBody
public HttpRespMsg deleteUser(User user, HttpServletRequest request,
HttpServletResponse response) {
HttpRespMsg msg = new HttpRespMsg();
msg.data = userService.removeById(user.getId());
return msg;
}
@ApiOperation("用户列表")
@RequestMapping("/list")
@ResponseBody
public HttpRespMsg list(@RequestParam(required = false) String account, HttpServletRequest request,String token,
HttpServletResponse response, PageUtil page,@RequestParam(required = false)String keyName) {
HttpRespMsg msg = new HttpRespMsg();
User newUser = userService.getOne(new QueryWrapper().eq("head_imgurl", token));
if(newUser != null){
msg = userService.pageList(page,account,keyName);
}else{
msg.setError("当前用户不存,或涉及到权限问题,请重新登录");
}
return msg;
}
}