|
@@ -7,10 +7,7 @@ import com.diagbot.dto.HospitalLoginDTO;
|
|
|
import com.diagbot.dto.JwtDTO;
|
|
|
import com.diagbot.dto.LoginDTO;
|
|
|
import com.diagbot.dto.UserLoginDTO;
|
|
|
-import com.diagbot.entity.HospitalInfo;
|
|
|
-import com.diagbot.entity.JWT;
|
|
|
-import com.diagbot.entity.JwtStore;
|
|
|
-import com.diagbot.entity.SysUser;
|
|
|
+import com.diagbot.entity.*;
|
|
|
import com.diagbot.entity.wrapper.SysMenuWrapper;
|
|
|
import com.diagbot.enums.ConstantEnum;
|
|
|
import com.diagbot.enums.IsDeleteEnum;
|
|
@@ -19,22 +16,15 @@ import com.diagbot.exception.CommonErrorCode;
|
|
|
import com.diagbot.exception.CommonException;
|
|
|
import com.diagbot.exception.ServiceErrorCode;
|
|
|
import com.diagbot.service.impl.SysUserServiceImpl;
|
|
|
-import com.diagbot.util.BeanUtil;
|
|
|
-import com.diagbot.util.DateUtil;
|
|
|
-import com.diagbot.util.EntityUtil;
|
|
|
-import com.diagbot.util.ListUtil;
|
|
|
-import com.diagbot.util.StringUtil;
|
|
|
-import com.diagbot.util.SysUserUtils;
|
|
|
+import com.diagbot.util.*;
|
|
|
+import com.diagbot.vo.UserSaveVO;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.security.crypto.factory.PasswordEncoderFactories;
|
|
|
import org.springframework.security.crypto.password.PasswordEncoder;
|
|
|
import org.springframework.security.oauth2.common.OAuth2AccessToken;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.HashMap;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
+import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
@@ -57,6 +47,9 @@ public class SysUserFacade extends SysUserServiceImpl {
|
|
|
@Autowired
|
|
|
private HospitalInfoFacade hospitalInfoFacade;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private SysUserRoleFacade sysUserRoleFacade;
|
|
|
+
|
|
|
/**
|
|
|
* 获取jwt
|
|
|
*
|
|
@@ -238,6 +231,9 @@ public class SysUserFacade extends SysUserServiceImpl {
|
|
|
List<SysMenuWrapper> menuList = sysMenuFacade.getByRole(user.getId());
|
|
|
Map<Long, List<SysMenuWrapper>> menuMap = EntityUtil.makeEntityListMap(menuList, "parentId");
|
|
|
List<SysMenuWrapper> menuRes = menuMap.get(-1L);
|
|
|
+// if (StringUtil.isNotEmpty(user.getRemark())){
|
|
|
+// menuRes = menuRes.stream().filter(e -> "CDSS-YXSYK".equalsIgnoreCase(e.getCode())).collect(Collectors.toList());
|
|
|
+// }
|
|
|
if (ListUtil.isNotEmpty(menuRes)){
|
|
|
for (SysMenuWrapper bean : menuRes) {
|
|
|
getSonMenu(bean, menuMap);
|
|
@@ -289,4 +285,53 @@ public class SysUserFacade extends SysUserServiceImpl {
|
|
|
return map;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 注册
|
|
|
+ *
|
|
|
+ * @param userSaveVO 参数
|
|
|
+ * @return 用户信息
|
|
|
+ */
|
|
|
+ public JwtDTO createUserAndGetJwt(UserSaveVO userSaveVO) {
|
|
|
+ SysUser user = new SysUser();
|
|
|
+ BeanUtil.copyProperties(userSaveVO, user);
|
|
|
+ user.setGmtCreate(new Date());
|
|
|
+ user.setPassword("a123456");
|
|
|
+
|
|
|
+ QueryWrapper<SysUser> userQueryWrapper = new QueryWrapper<>();
|
|
|
+ userQueryWrapper.eq("username", user.getUsername())
|
|
|
+ .eq("status", StatusEnum.Enable.getKey())
|
|
|
+ .eq("is_deleted", IsDeleteEnum.N.getKey());
|
|
|
+ SysUser bean = this.getOne(userQueryWrapper, false);
|
|
|
+ if (bean == null) {
|
|
|
+
|
|
|
+ PasswordEncoder passwordEncoder = PasswordEncoderFactories.createDelegatingPasswordEncoder();
|
|
|
+ String entryPassword = passwordEncoder.encode(user.getPassword());
|
|
|
+ user.setPassword(entryPassword);
|
|
|
+// user.setPhone(userSaveVO.getUsername());
|
|
|
+ this.save(user);
|
|
|
+
|
|
|
+ SysUserRole userRole = new SysUserRole();
|
|
|
+ userRole.setUserId(user.getId());
|
|
|
+ userRole.setRoleId(1L);
|
|
|
+ userRole.setGmtCreate(new Date());
|
|
|
+ sysUserRoleFacade.save(userRole);
|
|
|
+ }
|
|
|
+ JwtDTO data = new JwtDTO();
|
|
|
+ JWT jwt = authServiceClient.getToken("Basic dWFhLXNlcnZpY2U6MTIzNDU2",
|
|
|
+ "password", user.getUsername(), user.getPassword());
|
|
|
+ if (null == jwt) {
|
|
|
+ throw new CommonException(ServiceErrorCode.GET_TOKEN_FAIL);
|
|
|
+ }
|
|
|
+ data.setAccessToken(jwt.getAccess_token());
|
|
|
+ data.setRefreshToken(jwt.getRefresh_token());
|
|
|
+ data.setType(user.getType());
|
|
|
+ data.setTypeCn(ConstantEnum.getName(user.getType()));//返回中文
|
|
|
+ //token存入redis
|
|
|
+ JwtStore jwtStore = new JwtStore();
|
|
|
+ jwtStore.setAccessToken(jwt.getAccess_token());
|
|
|
+ jwtStore.setRefreshToken(jwt.getRefresh_token());
|
|
|
+ tokenFacade.createToken(jwtStore);
|
|
|
+ return data;
|
|
|
+ }
|
|
|
+
|
|
|
}
|