From 1fb23cbeeaaeda0a66cf8fe8977c3f5915743cc7 Mon Sep 17 00:00:00 2001 From: fengjin <1435304038@qq.com> Date: 星期五, 21 十月 2022 15:13:10 +0800 Subject: [PATCH] Merge branch 'zigonggao_dev' into huacheng_test --- flower_city/src/main/java/com/dg/core/controller/UserController.java | 167 +++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 129 insertions(+), 38 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 4dfe743..7128a75 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,7 +28,7 @@ @Api(tags = {"用户接口"}) @RestController @RequestMapping("/user") -public class UserController extends BaseController{ +public class UserController extends BaseController { @Autowired com.dg.core.service.ISysUserService IUserService; @@ -37,37 +38,103 @@ @Autowired TokenManager tokenManager; + /** + * 花城e+用户接口 + */ + @Autowired + IHuaChengSysUserService iHuaChengSysUserService; + @ApiOperation("登录接口") @PostMapping(path = "/login") public ResultData login(@RequestParam String account, @RequestParam String password, HttpServletRequest request) { 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") @@ -75,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); } /** @@ -90,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); } @@ -111,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"); @@ -130,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()); @@ -153,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())) @@ -165,7 +254,9 @@ return error("账户不能为空"); } - config.setUserType("1"); + config.setUserType("3"); + + config.setUpdateBy(sys.getUserId()+""); return toAjax(IUserService.updateConfig(config)); } @@ -204,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)); @@ -232,7 +323,7 @@ return error("密码不能为空"); } - SysUser sysUser=IUserService.getUserById(config.getUserId()); + SysUser sysUser=IUserService.selectData(config.getUserId()+"",null); if(sysUser==null) { return error("用户不存在"); -- Gitblit v1.7.1