|
@@ -1,14 +1,11 @@
|
|
|
package cn.kdan.compdf.service.impl;
|
|
|
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
+import cn.hutool.json.JSONUtil;
|
|
|
import cn.kdan.compdf.base.R;
|
|
|
import cn.kdan.compdf.config.JwtConfig;
|
|
|
-import cn.kdan.compdf.config.RabbitConfig;
|
|
|
import cn.kdan.compdf.constant.UserBalanceConstant;
|
|
|
-import cn.kdan.compdf.dto.AssetRechargeDTO;
|
|
|
-import cn.kdan.compdf.dto.ChangePasswordDTO;
|
|
|
-import cn.kdan.compdf.dto.LoginDTO;
|
|
|
-import cn.kdan.compdf.dto.LoginUserDTO;
|
|
|
+import cn.kdan.compdf.dto.*;
|
|
|
import cn.kdan.compdf.entity.BackgroundUser;
|
|
|
import cn.kdan.compdf.enums.AuthEnum;
|
|
|
import cn.kdan.compdf.enums.RabbitMQEnum;
|
|
@@ -83,7 +80,7 @@ public class BackgroundUserServiceImpl extends ServiceImpl<BackgroundUserMapper,
|
|
|
log.info("用户登录成功:username:{},time:{}", loginDTO.getUsername(), new Date());
|
|
|
|
|
|
// 设置token过期时间
|
|
|
- redisTemplate.opsForValue().set(AuthEnum.USER_TOKEN_REDIS + token, token, AuthEnum.EXPIRE, TimeUnit.HOURS);
|
|
|
+ redisTemplate.opsForValue().set(AuthEnum.USER_TOKEN_REDIS + loginDTO.getUsername(), token, AuthEnum.EXPIRE, TimeUnit.HOURS);
|
|
|
|
|
|
//更新登录用户的登陆时间
|
|
|
if (backgroundUser.getFirstLoginTime() == null) {
|
|
@@ -141,18 +138,69 @@ public class BackgroundUserServiceImpl extends ServiceImpl<BackgroundUserMapper,
|
|
|
|
|
|
@Override
|
|
|
public void userInit(Long userId, Long tenantId){
|
|
|
+ // 初始化Free账单
|
|
|
userBalanceService.initUserBalance(userId,tenantId);
|
|
|
+ // 初始化Free Remain
|
|
|
userRemainService.initFreeRemain(userId,tenantId);
|
|
|
- // 消息队列发送到转档同步数据
|
|
|
+ // 消息队列发送到转档同步数据 Free
|
|
|
AssetRechargeDTO assetRechargeDTO = new AssetRechargeDTO();
|
|
|
assetRechargeDTO.setTenantId(tenantId);
|
|
|
assetRechargeDTO.setAssetType(UserBalanceConstant.DESCRIPTION_TYPE_FREE);
|
|
|
assetRechargeDTO.setAsset(UserBalanceConstant.BALANCE_CHANGE_FREE);
|
|
|
+ String jsonStr = JSONUtil.toJsonStr(assetRechargeDTO);
|
|
|
rabbitTemplate.convertAndSend(RabbitMQEnum.BACKGROUND_EXCHANGE,
|
|
|
RabbitMQEnum.BACKGROUND_USER_ASSET_RECHARGE_ROUTING_KEY,
|
|
|
- assetRechargeDTO);
|
|
|
+ jsonStr);
|
|
|
+
|
|
|
+ // 首次登录创建默认项目
|
|
|
+ backgroundUserProjectService.defaultProject(userId,tenantId);
|
|
|
+ BackgroundUser backgroundUser = new BackgroundUser();
|
|
|
+ backgroundUser.setFirstLoginTime(LocalDateTime.now());
|
|
|
+ backgroundUser.setId(userId);
|
|
|
+ this.baseMapper.updateById(backgroundUser);
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public LoginUserDTO getUserInfo(String email) {
|
|
|
+ BackgroundUser backgroundUser = this.baseMapper.selectOne(new LambdaQueryWrapper<BackgroundUser>()
|
|
|
+ .eq(BackgroundUser::getUsername, email));
|
|
|
+ if (ObjectUtil.isEmpty(backgroundUser)){
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ LoginUserDTO loginUserDTO = new LoginUserDTO();
|
|
|
+ loginUserDTO.setUsername(backgroundUser.getUsername());
|
|
|
+ loginUserDTO.setId(backgroundUser.getId());
|
|
|
+ loginUserDTO.setTenantId(backgroundUser.getTenantId());
|
|
|
+ loginUserDTO.setFullName(backgroundUser.getFullName());
|
|
|
+ return loginUserDTO;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public LoginUserDTO creatUser(String email) {
|
|
|
+ BackgroundUser backgroundUser = new BackgroundUser();
|
|
|
+ backgroundUser.setUsername(email);
|
|
|
+ this.baseMapper.insert(backgroundUser);
|
|
|
+ // 设置tenantId和主键id保持一致
|
|
|
+ backgroundUser.setTenantId(backgroundUser.getId());
|
|
|
+ this.baseMapper.updateById(backgroundUser);
|
|
|
+ // TODO 添加用户信息(数据同步到SaaS转档服务)
|
|
|
+ UserCreatDTO userCreatDTO = new UserCreatDTO();
|
|
|
+ userCreatDTO.setTenantId(backgroundUser.getTenantId());
|
|
|
+ userCreatDTO.setEmail(backgroundUser.getUsername());
|
|
|
+ String jsonStr = JSONUtil.toJsonStr(userCreatDTO);
|
|
|
+ rabbitTemplate.convertAndSend(RabbitMQEnum.BACKGROUND_EXCHANGE,
|
|
|
+ RabbitMQEnum.BACKGROUND_USER_CREAT_ROUTING_KEY,
|
|
|
+ jsonStr);
|
|
|
+ // 初始化用户账单个人信息
|
|
|
+ this.userInit(backgroundUser.getId(),backgroundUser.getTenantId());
|
|
|
+
|
|
|
+ return LoginUserDTO.builder()
|
|
|
+ .id(backgroundUser.getId())
|
|
|
+ .tenantId(backgroundUser.getTenantId())
|
|
|
+ .username(backgroundUser.getUsername())
|
|
|
+ .fullName(backgroundUser.getFullName())
|
|
|
+ .build();
|
|
|
+ }
|
|
|
|
|
|
|
|
|
}
|