| | |
| | | import com.dg.core.HttpStatus; |
| | | import com.dg.core.ResultData; |
| | | import com.dg.core.annotation.Authorization; |
| | | import com.dg.core.annotation.CurrentUser; |
| | | import com.dg.core.db.gen.entity.HuaChengSysUser; |
| | | import com.dg.core.db.gen.entity.SysUser; |
| | | import com.dg.core.manager.TokenManager; |
| | | import com.dg.core.service.IHuaChengSysUserService; |
| | | import com.dg.core.util.SmsUtil; |
| | | import com.dg.core.util.Snowflake; |
| | | import com.dg.core.util.TableDataInfo; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.data.redis.core.RedisTemplate; |
| | | import org.springframework.util.Assert; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.annotation.Resource; |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import java.time.LocalDateTime; |
| | | import java.util.HashMap; |
| | |
| | | @Api(tags = {"用户接口"}) |
| | | @RestController |
| | | @RequestMapping("/user") |
| | | public class UserController extends BaseController{ |
| | | public class UserController extends BaseController { |
| | | @Autowired |
| | | com.dg.core.service.ISysUserService IUserService; |
| | | |
| | | @Autowired |
| | | SmsUtil smsUtil; |
| | | |
| | | |
| | | |
| | | @Autowired |
| | | TokenManager tokenManager; |
| | | |
| | | /** |
| | | * 花城e+用户接口 |
| | | */ |
| | | @Autowired |
| | | IHuaChengSysUserService iHuaChengSysUserService; |
| | | |
| | | @ApiOperation("登录接口") |
| | | @PostMapping(path = "/login") |
| | |
| | | Assert.notNull(account, "username can not be empty"); |
| | | Assert.notNull(password, "password can not be empty"); |
| | | |
| | | SysUser user = IUserService.getUserByAccount(account); |
| | | if (user == null || !password.equals(user.getPassword())) { |
| | | //提示用户名或密码错误 |
| | | return ResultData.fail(HttpStatus.UNAUTHORIZED, "用户名或密码错误"); |
| | | SysUser user=null; |
| | | //管理员登录 |
| | | user= IUserService.getUserByAccount(account); |
| | | |
| | | if(user==null) |
| | | { |
| | | List<HuaChengSysUser> list=iHuaChengSysUserService.selectData("",account,""); |
| | | HuaChengSysUser huaChengSysUser=null; |
| | | |
| | | if(list!=null && list.size()>0 ) |
| | | { |
| | | huaChengSysUser=list.get(0); |
| | | } |
| | | |
| | | if(huaChengSysUser==null || !password.equals(huaChengSysUser.getPassword())) |
| | | { |
| | | //提示用户名或密码错误 |
| | | return ResultData.fail(HttpStatus.UNAUTHORIZED, "用户名或密码错误"); |
| | | } |
| | | |
| | | //本地表查询用户 |
| | | user = IUserService.selectData(huaChengSysUser.getUserId()+"",null,null); |
| | | if (user == null) { |
| | | //本地没有此用户 新用户 |
| | | SysUser newSysUser=new SysUser(); |
| | | //默认 1系统后台用户 |
| | | newSysUser.setUserType("3"); |
| | | newSysUser.setPhonenumber(huaChengSysUser.getPhone()); |
| | | newSysUser.setUserId(huaChengSysUser.getUserId()); |
| | | newSysUser.setUserName(huaChengSysUser.getNickName()); |
| | | newSysUser.setSex(huaChengSysUser.getSex()); |
| | | newSysUser.setAvatar(huaChengSysUser.getImageUrl()); |
| | | newSysUser.setCreateTime(LocalDateTime.now()); |
| | | newSysUser.setUpdateTime(LocalDateTime.now()); |
| | | newSysUser.setOpenid(huaChengSysUser.getOpenid()); |
| | | IUserService.insertConfig(newSysUser); |
| | | } |
| | | |
| | | user = IUserService.selectData(huaChengSysUser.getUserId()+"",null,null); |
| | | |
| | | if (user == null) { |
| | | return ResultData.error("用户不存在!请联系管理员"); |
| | | } |
| | | |
| | | String token = tokenManager.getTokenByUserId(user.getUserId()); |
| | | System.out.println("token "+token); |
| | | if (token == null) { |
| | | //生成一个token,保存用户登录状态 |
| | | token = tokenManager.createToken(user.getUserId(), user.getUserId()); |
| | | } |
| | | |
| | | user.setLoginDate(LocalDateTime.now()); |
| | | //更新登录时间 |
| | | IUserService.updateConfig(user); |
| | | |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("token", token); |
| | | map.put("userId", user.getUserId()); |
| | | map.put("userName", user.getUserName()); |
| | | map.put("permission", user.getPermission()); |
| | | map.put("userType", user.getUserType()); |
| | | map.put("departmentId", user.getDepartmentId()); |
| | | map.put("departmentName", user.getDepartmentName()); |
| | | map.put("moreDepartmentIds", user.getMoreDepartmentIds()); |
| | | |
| | | return ResultData.success(map); |
| | | } |
| | | else |
| | | { |
| | | if(StringUtils.equals("4",user.getUserType())) |
| | | { |
| | | //提示用户名或密码错误 |
| | | return ResultData.fail(HttpStatus.UNAUTHORIZED, "账户不存在"); |
| | | } |
| | | |
| | | if(!password.equals(user.getPassword())) |
| | | { |
| | | //提示用户名或密码错误 |
| | | return ResultData.fail(HttpStatus.UNAUTHORIZED, "用户名或密码错误"); |
| | | } |
| | | String token = tokenManager.getTokenByUserId(user.getUserId()); |
| | | System.out.println("token "+token); |
| | | if (token == null) { |
| | | //生成一个token,保存用户登录状态 |
| | | token = tokenManager.createToken(user.getUserId(), user.getUserId()); |
| | | } |
| | | |
| | | user.setLoginDate(LocalDateTime.now()); |
| | | //更新登录时间 |
| | | IUserService.updateConfig(user); |
| | | |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("token", token); |
| | | map.put("userId", user.getUserId()); |
| | | map.put("userName", user.getUserName()); |
| | | map.put("permission", user.getPermission()); |
| | | map.put("userType", user.getUserType()); |
| | | map.put("departmentId", user.getDepartmentId()); |
| | | map.put("departmentName", user.getDepartmentName()); |
| | | map.put("moreDepartmentIds", user.getMoreDepartmentIds()); |
| | | |
| | | return ResultData.success(map); |
| | | } |
| | | |
| | | String token = tokenManager.getTokenByUserId(user.getUserId()); |
| | | // String token = tokenManager.createToken(user.getUserId(), user.getRoleId()); |
| | | System.out.println("token "+token); |
| | | if (token == null) { |
| | | //生成一个token,保存用户登录状态 |
| | | token = tokenManager.createToken(user.getUserId(), user.getUserId()); |
| | | } |
| | | |
| | | user.setLoginDate(LocalDateTime.now()); |
| | | //更新登录时间 |
| | | IUserService.updateConfig(user); |
| | | |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("token", token); |
| | | map.put("userId", user.getUserId()); |
| | | map.put("userName", user.getUserName()); |
| | | |
| | | return ResultData.success(map); |
| | | } |
| | | |
| | | |
| | | @ApiOperation("发送登录短信验证码") |
| | | @PostMapping(value = "/sendSms", consumes = "application/json") |
| | |
| | | return IUserService.smsSend(user); |
| | | } |
| | | |
| | | |
| | | @ApiOperation("账号密码验证登录") |
| | | @GetMapping(value = "/loginByAccount") |
| | | public ResultData loginByAccount(@RequestParam String phonenumber,@RequestParam String code) { |
| | | return IUserService.loginByAccount(phonenumber,code); |
| | | } |
| | | |
| | | |
| | | @ApiOperation("通过手机号获取用户信息 登录") |
| | | @PostMapping(value = "/loginPhionne") |
| | | public ResultData loginPhionne(@RequestParam String phonenumber) |
| | | { |
| | | if(StringUtils.isEmpty(phonenumber)) |
| | | { |
| | | return ResultData.error("请输入手机号"); |
| | | } |
| | | return IUserService.loginByPhonenumber(phonenumber); |
| | | } |
| | | |
| | | /** |
| | |
| | | @GetMapping("/getlist") |
| | | @Authorization |
| | | public TableDataInfo selectConfigList(@RequestParam(value = "pageNum",required = false) Integer pageNum, |
| | | @RequestParam(value = "pageSize",required = false) Integer pageSize) |
| | | @RequestParam(value = "pageSize",required = false) Integer pageSize, |
| | | @RequestParam(value = "keyword",required = false) String keyword) |
| | | { |
| | | Assert.notNull(pageNum, "pageNum can not be empty"); |
| | | Assert.notNull(pageSize, "pageSize can not be empty"); |
| | | Page<SysUser> pageParam = new Page<>(pageNum,pageSize); |
| | | List<SysUser> list = IUserService.selectConfigList(pageParam,pageSize,"1"); |
| | | List<SysUser> list = IUserService.selectConfigList(pageParam,pageSize,null,keyword,null,"1"); |
| | | |
| | | int num=IUserService.selectNum("1"); |
| | | int num=IUserService.selectNum(null,keyword,null,"1"); |
| | | return getDataTable(list,num); |
| | | } |
| | | |
| | |
| | | @ApiOperation("新增用户接口") |
| | | @PostMapping("/add") |
| | | @Authorization |
| | | public ResultData insertConfig(@RequestBody SysUser config) |
| | | public ResultData insertConfig(@RequestBody SysUser config, @CurrentUser SysUser sysUser) |
| | | { |
| | | Assert.notNull(config, "parameter can not be empty"); |
| | | |
| | |
| | | return error("昵称不能为空"); |
| | | } |
| | | |
| | | SysUser user = IUserService.getUserByAccount(config.getLoginName()); |
| | | if (user != null) { |
| | | //提示用户名或密码错误 |
| | | return error("该账户已存在!"); |
| | | if(StringUtils.isEmpty(config.getPhonenumber())) |
| | | { |
| | | return error("手机号不能为空"); |
| | | } |
| | | |
| | | config.setUserType("1"); |
| | | |
| | | |
| | | |
| | | SysUser user = IUserService.selectData("",config.getPhonenumber(),""); |
| | | SysUser user2 = IUserService.selectData("","",config.getLoginName()); |
| | | if (user != null) { |
| | | if(StringUtils.equals("4",user.getUserType())) |
| | | { |
| | | config.setUserId(user.getUserId()); |
| | | config.setCreateBy(user.getUserId()+""); |
| | | config.setUserType("3"); |
| | | config.setIsDivisionHead("1"); |
| | | config.setUpdateTime(LocalDateTime.now()); |
| | | config.setMasterIds(user2.getMasterIds()); |
| | | config.setDepartmentIds(config.getDepartmentIds()); |
| | | config.setDepartmentIdStr(config.getDepartmentIdStr()); |
| | | config.setMattersIds(config.getMattersIds()); |
| | | config.setMasterNames(config.getMasterNames()); |
| | | config.setMattersNames(config.getMattersNames()); |
| | | return toAjax(IUserService.updateConfig(config)); |
| | | } |
| | | else |
| | | { |
| | | //提示用户名或密码错误 |
| | | return error("该用户已存在!"); |
| | | } |
| | | } |
| | | |
| | | if(user2 != null) |
| | | { |
| | | if(StringUtils.equals("4",user2.getUserType())) |
| | | { |
| | | config.setUserId(user2.getUserId()); |
| | | config.setCreateBy(user2.getUserId()+""); |
| | | config.setUserType("3"); |
| | | config.setIsDivisionHead("1"); |
| | | config.setUpdateTime(LocalDateTime.now()); |
| | | config.setMasterIds(user2.getMasterIds()); |
| | | config.setDepartmentIds(config.getDepartmentIds()); |
| | | config.setDepartmentIdStr(config.getDepartmentIdStr()); |
| | | config.setMattersIds(config.getMattersIds()); |
| | | config.setMasterNames(config.getMasterNames()); |
| | | config.setMattersNames(config.getMattersNames()); |
| | | return toAjax(IUserService.updateConfig(config)); |
| | | } |
| | | else |
| | | { |
| | | //提示用户名或密码错误 |
| | | return error("该用户已存在!"); |
| | | } |
| | | } |
| | | |
| | | config.setCreateBy(sysUser.getUserId()+""); |
| | | config.setUserId(Snowflake.getId()+""); |
| | | config.setUserType("3"); |
| | | config.setIsDivisionHead("1"); |
| | | config.setMoreDepartmentIds(config.getDepartmentId()); |
| | | config.setCreateTime(LocalDateTime.now()); |
| | | config.setUpdateTime(LocalDateTime.now()); |
| | | |
| | |
| | | @ApiOperation("修改用户接口") |
| | | @PostMapping("/update") |
| | | @Authorization |
| | | public ResultData updateConfig(@RequestBody SysUser config) |
| | | public ResultData updateConfig(@RequestBody SysUser config,@CurrentUser SysUser sys) |
| | | { |
| | | if(config.getUserId()==null) |
| | | if(config.getId()==null) |
| | | { |
| | | return error("userId不能为空"); |
| | | return error("Id不能为空"); |
| | | } |
| | | |
| | | if(StringUtils.isEmpty(config.getLoginName())) |
| | | { |
| | | return error("账户不能为空"); |
| | | } |
| | | |
| | | config.setUserType("1"); |
| | | config.setPassword(null); |
| | | config.setUpdateBy(sys.getUserId()+""); |
| | | |
| | | return toAjax(IUserService.updateConfig(config)); |
| | | } |
| | |
| | | return error("userId不能为空"); |
| | | } |
| | | |
| | | SysUser sysUser=IUserService.getUserById(Long.valueOf(userId)); |
| | | SysUser sysUser=IUserService.selectData(userId,null,null); |
| | | //删除标志(0代表存在 2代表删除) |
| | | sysUser.setDelFlag("2"); |
| | | return toAjax(IUserService.updateConfig(sysUser)); |
| | |
| | | return error("密码不能为空"); |
| | | } |
| | | |
| | | SysUser sysUser=IUserService.getUserById(config.getUserId()); |
| | | SysUser sysUser=IUserService.selectData(config.getUserId()+"",null,null); |
| | | if(sysUser==null) |
| | | { |
| | | return error("用户不存在"); |
| | |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 获取登录人员信息 |
| | | * |
| | | * @return 结果 |
| | | */ |
| | | @ApiOperation(value = "获取登录人员信息,userType=1 为超级管理员 isDivisionHead=1 为部门领导",response = SysUser.class) |
| | | @PostMapping("/getLoginInformation") |
| | | @Authorization |
| | | public ResultData getLoginInformation(@CurrentUser SysUser sysUse) |
| | | { |
| | | return ResultData.success(sysUse); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | @ApiOperation("切换部门接口") |
| | | @GetMapping(value = "/switch/department") |
| | | public ResultData switchDepartment(@RequestParam(value = "departmentId",required = false) String departmentId, |
| | | @CurrentUser SysUser sysUse) |
| | | { |
| | | sysUse.setDepartmentId(departmentId); |
| | | return toAjax(IUserService.updateConfig(sysUse)); |
| | | } |
| | | |
| | | |
| | | |
| | | } |