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/service/impl/SysUserServiceImpl.java | 202 ++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 171 insertions(+), 31 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 e9d5229..8a2e10c 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 @@ -4,20 +4,23 @@ 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 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.data.repository.query.Param; import org.springframework.stereotype.Service; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestParam; import javax.annotation.Resource; import java.time.LocalDateTime; +import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -35,44 +38,66 @@ @Autowired TokenManager tokenManager; - @Override - public SysUser getUserById(Long id) { - return baseMapper.selectById(id); - } + @Resource + private OrganizationChartMapper organizationChartMapper; + + /** + * 花城e+用户接口 + */ + @Autowired + IHuaChengSysUserService iHuaChengSysUserService; @Override public SysUser getUserByAccount(String account) { - HashMap<String, Object> map = new HashMap(); - map.put("login_name", account); - List<SysUser> sysUsers = baseMapper.selectByMap(map); - if (sysUsers.size() > 0) { - return sysUsers.get(0); - } - return null; + SysUser sysUsers = baseMapper.getUserByAccount(account); + return sysUsers; } @Override public ResultData smsSend(SysUser user){ - SysUser sysUser = baseMapper.selectOne(new QueryWrapper<SysUser>().lambda().eq(SysUser::getPhonenumber, user.getPhonenumber())); - if (sysUser==null){ - SysUser newUser = new SysUser(); - newUser.setLoginName(user.getPhonenumber()); - newUser.setUserName(user.getPhonenumber().substring(0,3)+"xxxx"+user.getPhonenumber().substring(7,11)+"用户"); - newUser.setUserType("3"); - newUser.setPhonenumber(user.getPhonenumber()); - newUser.setSex("2"); - newUser.setCreateTime(LocalDateTime.now()); - newUser.setUpdateTime(LocalDateTime.now()); - baseMapper.insert(newUser); - } 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 sysUser = baseMapper.selectOne(new QueryWrapper<SysUser>().lambda().eq(SysUser::getPhonenumber, phonenumber)); + 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()); @@ -103,11 +128,126 @@ } @Override - public List<SysUser> selectConfigList(IPage<SysUser> page, Integer state,String userType) { - return baseMapper.selectConfigList(page, state,userType); + 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,String keyWord) { + return baseMapper.queryList(userType,keyWord); + } + + 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,String userName) { + return baseMapper.selectConfigList(page, state,userType,userName); + } + + @Override + public SysUser selectData(String userId,String phonenumber) { + return baseMapper.selectData(userId,phonenumber); + } /** @@ -144,8 +284,8 @@ } @Override - public int selectNum(String userType) { - return baseMapper.selectNum(userType); + public int selectNum(String userType,String userName) { + return baseMapper.selectNum(userType,userName); } -- Gitblit v1.7.1