From eea390a5cf885900ad5d8328ed9fd8924b18796b Mon Sep 17 00:00:00 2001
From: fengjin <1435304038@qq.com>
Date: 星期一, 17 十月 2022 09:22:23 +0800
Subject: [PATCH] 修改Bug
---
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..ccd6ad0 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,String phonenumber) {
+ return baseMapper.selectData(userId,phonenumber);
+ }
/**
--
Gitblit v1.7.1