From 0f28c38f1a978a47b8221dff56eeebf26a9e6fac Mon Sep 17 00:00:00 2001 From: fengjin <1435304038@qq.com> Date: 星期四, 20 十月 2022 14:39:36 +0800 Subject: [PATCH] 修改bug --- flower_city/src/main/java/com/dg/core/controller/UserController.java | 182 +++++++++++++++++++++++++++++++++------------ 1 files changed, 132 insertions(+), 50 deletions(-) diff --git a/flower_city/src/main/java/com/dg/core/controller/UserController.java b/flower_city/src/main/java/com/dg/core/controller/UserController.java index 7c7ee15..d9d759b 100644 --- a/flower_city/src/main/java/com/dg/core/controller/UserController.java +++ b/flower_city/src/main/java/com/dg/core/controller/UserController.java @@ -4,20 +4,21 @@ 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.data.repository.query.Param; 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; @@ -27,17 +28,21 @@ @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") @@ -45,31 +50,91 @@ 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) + { + HuaChengSysUser huaChengSysUser=iHuaChengSysUserService.selectData("",account,""); + if(huaChengSysUser==null || !password.equals(huaChengSysUser.getPassword())) + { + //提示用户名或密码错误 + return ResultData.fail(HttpStatus.UNAUTHORIZED, "用户名或密码错误"); + } + + //本地表查询用户 + user = IUserService.selectData(huaChengSysUser.getUserId()+"",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); + + 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()); + + return ResultData.success(map); + } + else + { + 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()); + + 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") @@ -77,10 +142,23 @@ 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); } /** @@ -92,14 +170,15 @@ @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,"3",keyword); - int num=IUserService.selectNum("1"); + int num=IUserService.selectNum("3",keyword); return getDataTable(list,num); } @@ -113,7 +192,7 @@ @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"); @@ -132,13 +211,21 @@ return error("昵称不能为空"); } - SysUser user = IUserService.getUserByAccount(config.getLoginName()); + if(StringUtils.isEmpty(config.getPhonenumber())) + { + return error("手机号不能为空"); + } + + SysUser user = IUserService.selectData("",config.getPhonenumber()); if (user != null) { //提示用户名或密码错误 return error("该账户已存在!"); } - config.setUserType("1"); + + config.setCreateBy(sysUser.getUserId()+""); + config.setUserId(Snowflake.getId()); + config.setUserType("3"); config.setCreateTime(LocalDateTime.now()); config.setUpdateTime(LocalDateTime.now()); @@ -155,11 +242,11 @@ @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())) @@ -167,7 +254,9 @@ return error("账户不能为空"); } - config.setUserType("1"); + config.setUserType("3"); + + config.setUpdateBy(sys.getUserId()+""); return toAjax(IUserService.updateConfig(config)); } @@ -206,7 +295,7 @@ return error("userId不能为空"); } - SysUser sysUser=IUserService.getUserById(Long.valueOf(userId)); + SysUser sysUser=IUserService.selectData(userId,null); //删除标志(0代表存在 2代表删除) sysUser.setDelFlag("2"); return toAjax(IUserService.updateConfig(sysUser)); @@ -234,7 +323,7 @@ return error("密码不能为空"); } - SysUser sysUser=IUserService.getUserById(config.getUserId()); + SysUser sysUser=IUserService.selectData(config.getUserId()+"",null); if(sysUser==null) { return error("用户不存在"); @@ -245,19 +334,12 @@ return error("输入密码与原密码不能相同!"); } + + return toAjax(IUserService.updateConfig(config)); } - /** - * 根据部门id及分类id获取导办用户 - * - * @return 结果 - */ - @ApiOperation("根据部门id及分类id获取导办用户") - @GetMapping("/selectListByDepartmentId") - public ResultData selectListByDepartmentId(@RequestParam("departmentId") String departmentId, @RequestParam("classifyId") String classifyId){ - return ResultData.success(IUserService.selectListByDepartmentId(departmentId,classifyId)); - } + -- Gitblit v1.7.1