|
@@ -3,18 +3,12 @@ package com.keao.edu.auth.service.impl;
|
|
|
import java.util.Date;
|
|
|
import java.util.List;
|
|
|
|
|
|
-import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
|
-import org.springframework.security.authentication.BadCredentialsException;
|
|
|
-import org.springframework.security.authentication.LockedException;
|
|
|
-import org.springframework.security.core.Authentication;
|
|
|
-import org.springframework.security.core.userdetails.UsernameNotFoundException;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import com.keao.edu.auth.api.dto.SysUserInfo;
|
|
|
-import com.keao.edu.auth.api.entity.LoginEntity;
|
|
|
import com.keao.edu.auth.api.entity.SysUser;
|
|
|
import com.keao.edu.auth.dal.dao.SysUserDao;
|
|
|
import com.keao.edu.auth.service.SysRoleMenuService;
|
|
@@ -152,61 +146,6 @@ public class SysUserServiceImpl extends BaseServiceImpl<Integer, SysUser> implem
|
|
|
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
- public SysUserInfo initUser(String phone, String clientId,String isRegister,String isLessee) {
|
|
|
- if("register".equals(isRegister)){
|
|
|
- throw new UsernameNotFoundException("404.9");
|
|
|
- }
|
|
|
- if(StringUtils.isNotEmpty(isLessee) || autoRegister){
|
|
|
- if(StringUtils.isNotEmpty(isLessee) && StringUtils.equalsIgnoreCase(clientId,"TEACHER")){
|
|
|
- SysUser sysUser = new SysUser();
|
|
|
- sysUser.setPhone(phone);
|
|
|
- sysUser.setUserType("TEACHER");
|
|
|
- sysUserDao.insert(sysUser);
|
|
|
- //添加用户现金账户
|
|
|
- imFeignService.register(new ImUserModel(sysUser.getId().toString(),phone,null));
|
|
|
- //sysTenantAccount
|
|
|
- sysUserDao.insertSysTenantAccount(sysUser.getId());
|
|
|
- //创建teacher表
|
|
|
- sysUserDao.insertTeacher(sysUser.getId(),lesseeOrganId);
|
|
|
- return queryUserInfoByPhone(phone);
|
|
|
- }else if(StringUtils.isNotEmpty(isLessee) && StringUtils.equalsIgnoreCase(clientId,"STUDENT")){
|
|
|
- SysUser sysUser = new SysUser();
|
|
|
- sysUser.setPhone(phone);
|
|
|
- sysUser.setUserType("STUDENT");
|
|
|
- sysUser.setOrganId(lesseeOrganId);
|
|
|
- sysUserDao.insert(sysUser);
|
|
|
- sysUserService.saveStudent(sysUser.getId());
|
|
|
- //添加用户现金账户
|
|
|
- imFeignService.register(new ImUserModel(sysUser.getId().toString(),phone,null));
|
|
|
- return queryUserInfoByPhone(phone);
|
|
|
- }
|
|
|
- }
|
|
|
- throw new UsernameNotFoundException("404.9");
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- @Transactional(rollbackFor = Exception.class)
|
|
|
- public void retrieveUser(String phone, Authentication authentication) {
|
|
|
- LoginEntity loginEntity = (LoginEntity) authentication.getCredentials();
|
|
|
- SysUserInfo userInfo = sysUserService.queryUserInfoByPhone(loginEntity.getPhone());
|
|
|
- if (userInfo == null) {
|
|
|
- userInfo = sysUserService.initUser(loginEntity.getPhone(),loginEntity.getClientId(),loginEntity.getIsRegister(),loginEntity.getIsLessee());
|
|
|
- }else if(StringUtils.isNotEmpty(loginEntity.getIsLessee())){
|
|
|
- throw new LockedException("用户已存在");
|
|
|
- }
|
|
|
- if("EDUCATION".equals(loginEntity.getClientId())){
|
|
|
- loginEntity.setClientId("SYSTEM");
|
|
|
- }
|
|
|
- if (!userInfo.getSysUser().getUserType().contains(loginEntity.getClientId())) {
|
|
|
- throw new LockedException("用户不存在,请联系教务老师");
|
|
|
- }
|
|
|
-// 验证码验证
|
|
|
- boolean b = smsCodeService.verifyValidCode(loginEntity.getPhone(), loginEntity.getSmsCode());
|
|
|
- if(!b) throw new BadCredentialsException("验证码校验失败");
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- @Transactional(rollbackFor = Exception.class)
|
|
|
public void refreshImToken(SysUser sysUser) {
|
|
|
sysUserDao.refreshImToken(sysUser.getId(),sysUser.getImToken());
|
|
|
}
|