|
@@ -2,23 +2,36 @@ package com.diagbot.facade;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.diagbot.client.AuthServiceClient;
|
|
|
+import com.diagbot.dto.BasHospitalInfoDTO;
|
|
|
import com.diagbot.dto.JwtDTO;
|
|
|
+import com.diagbot.dto.LoginDTO;
|
|
|
+import com.diagbot.dto.UserLoginDTO;
|
|
|
+import com.diagbot.entity.BasHospitalInfo;
|
|
|
import com.diagbot.entity.JWT;
|
|
|
import com.diagbot.entity.JwtStore;
|
|
|
import com.diagbot.entity.SysUser;
|
|
|
+import com.diagbot.entity.wrapper.SysMenuWrapper;
|
|
|
import com.diagbot.enums.ConstantEnum;
|
|
|
import com.diagbot.enums.IsDeleteEnum;
|
|
|
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.EntityUtil;
|
|
|
+import com.diagbot.util.ListUtil;
|
|
|
import com.diagbot.util.StringUtil;
|
|
|
+import com.diagbot.util.SysUserUtils;
|
|
|
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.List;
|
|
|
+import java.util.Map;
|
|
|
+
|
|
|
/**
|
|
|
* @Description: 用户业务层
|
|
|
* @author: gaodm
|
|
@@ -33,6 +46,12 @@ public class SysUserFacade extends SysUserServiceImpl {
|
|
|
@Autowired
|
|
|
private AuthServiceClient authServiceClient;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private SysMenuFacade sysMenuFacade;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private BasHospitalInfoFacade basHospitalInfoFacade;
|
|
|
+
|
|
|
/**
|
|
|
* 获取jwt
|
|
|
*
|
|
@@ -127,56 +146,97 @@ public class SysUserFacade extends SysUserServiceImpl {
|
|
|
OAuth2AccessToken jwt
|
|
|
= authServiceClient.checkToken("Basic dWFhLXNlcnZpY2U6MTIzNDU2", token);
|
|
|
if (null == jwt) {
|
|
|
- throw new CommonException(ServiceErrorCode.GET_TOKEN_FAIL,"该Token不正确!");
|
|
|
+ throw new CommonException(ServiceErrorCode.GET_TOKEN_FAIL, "该Token不正确!");
|
|
|
}
|
|
|
return jwt;
|
|
|
}
|
|
|
|
|
|
- //
|
|
|
- // /**
|
|
|
- // * 递归获取菜单结构
|
|
|
- // *
|
|
|
- // * @param menu 当前菜单
|
|
|
- // * @param menuMap 菜单集
|
|
|
- // * @return 菜单结构
|
|
|
- // */
|
|
|
- // public List<MenuWrapper> getSonMenu(MenuWrapper menu, Map<Long, List<MenuWrapper>> menuMap) {
|
|
|
- // List<MenuWrapper> res = new ArrayList<>();
|
|
|
- // List<MenuWrapper> list = menuMap.get(menu.getId());
|
|
|
- // if (ListUtil.isNotEmpty(list)) {
|
|
|
- // menu.setSubMenuList(list);
|
|
|
- // for (MenuWrapper bean : list) {
|
|
|
- // getSonMenu(bean, menuMap);
|
|
|
- // }
|
|
|
- // }
|
|
|
- // return res;
|
|
|
- // }
|
|
|
- //
|
|
|
- // /**
|
|
|
- // * 递归获取菜单结构
|
|
|
- // *
|
|
|
- // * @param menuList 菜单参数
|
|
|
- // */
|
|
|
- // public void getMenuStruct(List<MenuWrapper> menuList) {
|
|
|
- // for (MenuWrapper m : menuList) {
|
|
|
- // m.setSubMenuList(recursion(m));
|
|
|
- // }
|
|
|
- // }
|
|
|
- //
|
|
|
- //
|
|
|
- // /**
|
|
|
- // * 递归查询菜单信息
|
|
|
- // *
|
|
|
- // * @param m 参数
|
|
|
- // * @return 菜单信息
|
|
|
- // */
|
|
|
- // public List<MenuWrapper> recursion(MenuWrapper m) {
|
|
|
- // List<MenuWrapper> subMenu = menuFacade.getSubMenuById(m.getId());
|
|
|
- // for (MenuWrapper sub : subMenu) {
|
|
|
- // sub.setSubMenuList(recursion(sub));
|
|
|
- // }
|
|
|
- // return subMenu;
|
|
|
- // }
|
|
|
+ /**
|
|
|
+ * 登录
|
|
|
+ *
|
|
|
+ * @return 登录相关信息
|
|
|
+ */
|
|
|
+ public LoginDTO getUserOrgMenu() {
|
|
|
+ LoginDTO data = new LoginDTO();
|
|
|
+
|
|
|
+ Long userId = Long.parseLong(SysUserUtils.getCurrentPrincipleID());
|
|
|
+ SysUser user = this.getById(userId);
|
|
|
+ if (user == null) {
|
|
|
+ throw new CommonException(CommonErrorCode.SERVER_IS_ERROR,
|
|
|
+ "用户不存在【" + userId + "】");
|
|
|
+ }
|
|
|
+ //添加用户
|
|
|
+ UserLoginDTO userLoginDTO = new UserLoginDTO();
|
|
|
+ BeanUtil.copyProperties(user, userLoginDTO);
|
|
|
+ data.setUserLoginDTO(userLoginDTO);
|
|
|
+
|
|
|
+ //添加医院信息
|
|
|
+ if (user.getType().equals(ConstantEnum.OUTER_USER.getKey())) {
|
|
|
+ QueryWrapper<BasHospitalInfo> queryWrapper = new QueryWrapper<>();
|
|
|
+ queryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
|
|
|
+ .eq("id", SysUserUtils.getCurrentHospitalID());
|
|
|
+ BasHospitalInfo basHospitalInfo = basHospitalInfoFacade.getOne(queryWrapper, false);
|
|
|
+ BasHospitalInfoDTO basHospitalInfoDTO = new BasHospitalInfoDTO();
|
|
|
+ BeanUtil.copyProperties(basHospitalInfo, basHospitalInfoDTO);
|
|
|
+ data.setBasHospitalInfoDTO(basHospitalInfoDTO);
|
|
|
+ }
|
|
|
+
|
|
|
+ //添加菜单信息
|
|
|
+ List<SysMenuWrapper> menuList = sysMenuFacade.getByRole(user.getId());
|
|
|
+ Map<Long, List<SysMenuWrapper>> menuMap = EntityUtil.makeEntityListMap(menuList, "parentId");
|
|
|
+ List<SysMenuWrapper> menuRes = menuMap.get(-1L);
|
|
|
+ for (SysMenuWrapper bean : menuRes) {
|
|
|
+ getSonMenu(bean, menuMap);
|
|
|
+ }
|
|
|
+ data.setMenuWrappers(menuRes);
|
|
|
+ return data;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 递归获取菜单结构
|
|
|
+ *
|
|
|
+ * @param menu 当前菜单
|
|
|
+ * @param menuMap 菜单集
|
|
|
+ * @return 菜单结构
|
|
|
+ */
|
|
|
+ public List<SysMenuWrapper> getSonMenu(SysMenuWrapper menu, Map<Long, List<SysMenuWrapper>> menuMap) {
|
|
|
+ List<SysMenuWrapper> res = new ArrayList<>();
|
|
|
+ List<SysMenuWrapper> list = menuMap.get(menu.getId());
|
|
|
+ if (ListUtil.isNotEmpty(list)) {
|
|
|
+ menu.setSubMenuList(list);
|
|
|
+ for (SysMenuWrapper bean : list) {
|
|
|
+ getSonMenu(bean, menuMap);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return res;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 递归获取菜单结构
|
|
|
+ *
|
|
|
+ * @param menuList 菜单参数
|
|
|
+ */
|
|
|
+ public void getMenuStruct(List<SysMenuWrapper> menuList) {
|
|
|
+ for (SysMenuWrapper m : menuList) {
|
|
|
+ m.setSubMenuList(recursion(m));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 递归查询菜单信息
|
|
|
+ *
|
|
|
+ * @param m 参数
|
|
|
+ * @return 菜单信息
|
|
|
+ */
|
|
|
+ public List<SysMenuWrapper> recursion(SysMenuWrapper m) {
|
|
|
+ List<SysMenuWrapper> subMenu = sysMenuFacade.getSubMenuById(m.getId());
|
|
|
+ for (SysMenuWrapper sub : subMenu) {
|
|
|
+ sub.setSubMenuList(recursion(sub));
|
|
|
+ }
|
|
|
+ return subMenu;
|
|
|
+ }
|
|
|
|
|
|
|
|
|
}
|