From 4040856595952ea0b8f8b764ba2770d5c244c891 Mon Sep 17 00:00:00 2001 From: yanghui <2536613402@qq.com> Date: 星期五, 14 十月 2022 11:19:08 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/huacheng_test' into local_20221010 --- flower_city/src/main/java/com/dg/core/service/impl/SysUserServiceImpl.java | 228 +++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 222 insertions(+), 6 deletions(-) diff --git a/flower_city/src/main/java/com/dg/core/service/impl/SysUserServiceImpl.java b/flower_city/src/main/java/com/dg/core/service/impl/SysUserServiceImpl.java index e7ced70..8a699d6 100644 --- a/flower_city/src/main/java/com/dg/core/service/impl/SysUserServiceImpl.java +++ b/flower_city/src/main/java/com/dg/core/service/impl/SysUserServiceImpl.java @@ -3,22 +3,49 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.dg.core.ResultData; +import com.dg.core.db.gen.entity.HuaChengSysUser; +import com.dg.core.db.gen.entity.OrganizationChartEntity; import com.dg.core.db.gen.entity.SysUser; +import com.dg.core.db.gen.mapper.OrganizationChartMapper; import com.dg.core.db.gen.mapper.SysUserMapper; +import com.dg.core.manager.TokenManager; +import com.dg.core.service.IHuaChengSysUserService; import com.dg.core.service.ISysUserService; -import org.springframework.data.repository.query.Param; +import com.dg.core.util.SmsUtil; +import com.dg.core.util.Snowflake; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import java.time.LocalDateTime; +import java.util.ArrayList; import java.util.HashMap; import java.util.List; +import java.util.Map; + @Service public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> implements ISysUserService { - @Override - public SysUser getUserById(Long id) { - return baseMapper.selectById(id); - } + @Resource + SmsUtil smsUtil; + + @Resource + RedisTemplate<String, Object> redisTemplate; + + @Autowired + TokenManager tokenManager; + + @Resource + private OrganizationChartMapper organizationChartMapper; + + /** + * 花城e+用户接口 + */ + @Autowired + IHuaChengSysUserService iHuaChengSysUserService; @Override public SysUser getUserByAccount(String account) { @@ -32,11 +59,200 @@ } @Override + public ResultData smsSend(SysUser user){ + return smsUtil.sendSms(user.getPhonenumber()); + } + + @Override + public ResultData loginByAccount(String phonenumber, String code){ + String code1 = redisTemplate.opsForValue().get(phonenumber) + ""; + + SysUser sysUser = baseMapper.selectOne(new QueryWrapper<SysUser>().lambda().eq(SysUser::getPhonenumber, phonenumber)); + if (sysUser==null){ + //查询花城e+是否存在此用户 + HuaChengSysUser huaChengSysUser=iHuaChengSysUserService.selectData("","",phonenumber); + if(huaChengSysUser==null) + { + SysUser newUser = new SysUser(); + newUser.setUserId(Snowflake.getId()); + newUser.setLoginName(phonenumber); + newUser.setUserName(phonenumber.substring(0,3)+"xxxx"+phonenumber.substring(7,11)+"用户"); + newUser.setUserType("3"); + newUser.setPhonenumber(phonenumber); + newUser.setSex("1"); + newUser.setCreateTime(LocalDateTime.now()); + newUser.setUpdateTime(LocalDateTime.now()); + baseMapper.insertConfig(newUser); + } + else + { + SysUser newUser = new SysUser(); + newUser.setUserId(huaChengSysUser.getUserId()); + newUser.setLoginName(huaChengSysUser.getPhone()); + newUser.setUserName(huaChengSysUser.getNickName()); + newUser.setUserType("3"); + newUser.setPhonenumber(huaChengSysUser.getPhone()); + newUser.setSex(huaChengSysUser.getSex()); + newUser.setAvatar(huaChengSysUser.getImageUrl()); + newUser.setCreateTime(LocalDateTime.now()); + newUser.setUpdateTime(LocalDateTime.now()); + newUser.setOpenid(huaChengSysUser.getOpenid()); + baseMapper.insertConfig(newUser); + } + } + + if (code.equals(code1)) { + sysUser = baseMapper.selectOne(new QueryWrapper<SysUser>().lambda().eq(SysUser::getPhonenumber, phonenumber)); + if (sysUser!=null){ + String token = tokenManager.getTokenByUserId(sysUser.getUserId()); +// String token = tokenManager.createToken(user.getUserId(), user.getRoleId()); + System.out.println("token "+token); + if (token == null) { + //生成一个token,保存用户登录状态 + token = tokenManager.createToken(sysUser.getUserId(), sysUser.getUserId()); + } + + sysUser.setLoginDate(LocalDateTime.now()); + //更新登录时间 + this.updateConfig(sysUser); + + Map<String, Object> map = new HashMap<>(); + map.put("token", token); + map.put("userId", sysUser.getUserId()); + map.put("userName", sysUser.getUserName()); + + return ResultData.success(map); + } + else { + return ResultData.error("验证码错误"); + } + + } + return ResultData.error("验证码错误"); + + } + + @Override + public List<SysUser> selectListByDepartmentId(String departmentId, String classifyId) { + List<String> departmentIds=new ArrayList<>(); + departmentIds.add(departmentId); + List<OrganizationChartEntity> organizationChartEntities = organizationChartMapper.selectList(new QueryWrapper<OrganizationChartEntity>().lambda() + .eq(OrganizationChartEntity::getParentId, departmentId)); + if (organizationChartEntities!=null){ + for (OrganizationChartEntity organizationChart:organizationChartEntities) { + departmentIds.add(organizationChart.getId().toString()); + List<OrganizationChartEntity> organizationChartEntitiesUser = organizationChartMapper.selectList(new QueryWrapper<OrganizationChartEntity>().lambda() + .eq(OrganizationChartEntity::getParentId, organizationChart.getId().toString())); + if (organizationChartEntitiesUser!=null) + departmentIds=this.getDepartmentIds(organizationChartEntitiesUser,departmentIds); + } + } + if (classifyId==null) + return baseMapper.selectListByDepartmentId(departmentIds,null,null); + else + return baseMapper.selectListByDepartmentId(departmentIds,","+classifyId,classifyId+","); + } + + @Override + public ResultData loginByPhonenumber(String phonenumber) + { + SysUser sysUser = baseMapper.selectOne(new QueryWrapper<SysUser>().lambda().eq(SysUser::getPhonenumber, phonenumber)); + if (sysUser==null){ + //查询花城e+是否存在此用户 + HuaChengSysUser huaChengSysUser=iHuaChengSysUserService.selectData("","",phonenumber); + SysUser newUser = new SysUser(); + if(huaChengSysUser==null) + { + newUser.setUserId(Snowflake.getId()); + newUser.setLoginName(phonenumber); + newUser.setUserName(phonenumber.substring(0,3)+"xxxx"+phonenumber.substring(7,11)+"用户"); + newUser.setUserType("3"); + newUser.setPhonenumber(phonenumber); + newUser.setSex("1"); + newUser.setCreateTime(LocalDateTime.now()); + newUser.setUpdateTime(LocalDateTime.now()); + baseMapper.insertConfig(newUser); + } + else + { + newUser.setUserId(huaChengSysUser.getUserId()); + newUser.setLoginName(huaChengSysUser.getPhone()); + newUser.setUserName(huaChengSysUser.getNickName()); + newUser.setUserType("3"); + newUser.setPhonenumber(huaChengSysUser.getPhone()); + newUser.setSex(huaChengSysUser.getSex()); + newUser.setAvatar(huaChengSysUser.getImageUrl()); + newUser.setCreateTime(LocalDateTime.now()); + newUser.setUpdateTime(LocalDateTime.now()); + newUser.setOpenid(huaChengSysUser.getOpenid()); + baseMapper.insertConfig(newUser); + } + + String token = tokenManager.getTokenByUserId(newUser.getUserId()); +// String token = tokenManager.createToken(user.getUserId(), user.getRoleId()); + System.out.println("token " + token); + if (token == null) { + //生成一个token,保存用户登录状态 + token = tokenManager.createToken(newUser.getUserId(), newUser.getUserId()); + } + + Map<String, Object> map = new HashMap<>(); + map.put("token", token); + map.put("userId", newUser.getUserId()); + map.put("userName", newUser.getUserName()); + + return ResultData.success(map); + + } + else + { + String token = tokenManager.getTokenByUserId(sysUser.getUserId()); +// String token = tokenManager.createToken(user.getUserId(), user.getRoleId()); + System.out.println("token " + token); + if (token == null) { + //生成一个token,保存用户登录状态 + token = tokenManager.createToken(sysUser.getUserId(), sysUser.getUserId()); + } + + sysUser.setLoginDate(LocalDateTime.now()); + //更新登录时间 + this.updateConfig(sysUser); + + Map<String, Object> map = new HashMap<>(); + map.put("token", token); + map.put("userId", sysUser.getUserId()); + map.put("userName", sysUser.getUserName()); + + return ResultData.success(map); + } + } + + @Override + public List<SysUser> queryList(Integer userType) { + return baseMapper.queryList(userType); + } + + public List<String> getDepartmentIds( List<OrganizationChartEntity> organizationChartEntities,List<String> departmentIds){ + for (OrganizationChartEntity organizationChart:organizationChartEntities) { + departmentIds.add(organizationChart.getId().toString()); + List<OrganizationChartEntity> organizationChartEntitiesUser = organizationChartMapper.selectList(new QueryWrapper<OrganizationChartEntity>().lambda() + .eq(OrganizationChartEntity::getParentId, organizationChart.getId().toString())); + if (organizationChartEntitiesUser!=null) + departmentIds=this.getDepartmentIds(organizationChartEntitiesUser,departmentIds); + + } + return departmentIds; + } + + @Override public List<SysUser> selectConfigList(IPage<SysUser> page, Integer state,String userType) { return baseMapper.selectConfigList(page, state,userType); } - + @Override + public SysUser selectData(String userId) { + return baseMapper.selectData(userId); + } /** -- Gitblit v1.7.1