TRX 1 年之前
父节点
当前提交
e3a6fd1383

+ 19 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/model/base/AuthTypeParam.java

@@ -0,0 +1,19 @@
+package com.zhongshu.card.client.model.base;
+
+import com.github.microservice.auth.security.type.AuthType;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @author TRX
+ * @date 2024/6/4
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class AuthTypeParam {
+    @Schema(description = "登录端类型")
+    AuthType authType;
+}

+ 26 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/model/org/UserCountDetailsModel.java

@@ -0,0 +1,26 @@
+package com.zhongshu.card.client.model.org;
+
+import com.zhongshu.card.client.model.base.SuperModel;
+import com.zhongshu.card.client.utils.type.Sex;
+import com.zhongshu.card.client.utils.type.UserLoginType;
+import com.zhongshu.card.client.utils.type.UserState;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author TRX
+ * @date 2024/5/31
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class UserCountDetailsModel extends UserCountModel {
+
+    @Schema(description = "机构信息")
+    private List<OrganizationModel> list = new ArrayList<>();
+}

+ 2 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/service/org/OrganizationService.java

@@ -21,6 +21,8 @@ public interface OrganizationService {
 
     public ResultContent update(OrganizationUpdateParam param);
 
+    public ResultContent<OrganizationModel> getDetail(String oid);
+
     public ResultContent deleteOrganization(String oid);
 
     public ResultContent<Page<OrganizationModel>> page(OrganizationSearchParam param, Pageable pageable);

+ 5 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/service/org/UserAccountService.java

@@ -1,6 +1,8 @@
 package com.zhongshu.card.client.service.org;
 
+import com.zhongshu.card.client.model.base.AuthTypeParam;
 import com.zhongshu.card.client.model.org.UserCountAddParam;
+import com.zhongshu.card.client.model.org.UserCountDetailsModel;
 import com.zhongshu.card.client.model.org.UserCountModel;
 import com.zhongshu.card.client.model.org.UserCountSearchParam;
 import com.zhongshu.card.client.ret.ResultContent;
@@ -20,6 +22,9 @@ public interface UserAccountService {
     @RequestMapping(value = "update", method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE)
     ResultContent update(@RequestBody UserCountAddParam param);
 
+    ResultContent<UserCountDetailsModel> getCurrentDetail(AuthTypeParam param);
+
+    ResultContent<UserCountModel> getUserDetail(String userId);
 
     @Operation(summary = "分页查询所有用户", description = "分页查询用户")
     @RequestMapping(value = "list", consumes = {MediaType.ALL_VALUE}, method = RequestMethod.POST)

+ 18 - 4
FullCardServer/src/main/java/com/zhongshu/card/server/core/controller/org/IndexController.java

@@ -5,13 +5,12 @@ import com.github.microservice.auth.client.model.LoginTokenModel;
 import com.github.microservice.auth.security.annotations.ResourceAuth;
 import com.github.microservice.auth.security.helper.AuthHelper;
 import com.github.microservice.auth.security.type.AuthType;
-import com.zhongshu.card.client.model.org.LoginParam;
-import com.zhongshu.card.client.model.org.OrganizationModel;
-import com.zhongshu.card.client.model.org.OrganizationSearchParam;
-import com.zhongshu.card.client.model.org.OrganizationUserSearch;
+import com.zhongshu.card.client.model.base.AuthTypeParam;
+import com.zhongshu.card.client.model.org.*;
 import com.zhongshu.card.client.ret.ResultContent;
 import com.zhongshu.card.client.ret.ResultState;
 import com.zhongshu.card.client.service.org.OrganizationService;
+import com.zhongshu.card.client.service.org.UserAccountService;
 import com.zhongshu.card.client.utils.type.UserState;
 import com.zhongshu.card.server.core.service.org.IndexService;
 import io.swagger.v3.oas.annotations.Operation;
@@ -25,6 +24,7 @@ import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Pageable;
 import org.springframework.data.web.PageableDefault;
 import org.springframework.http.MediaType;
+import org.springframework.util.Assert;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
@@ -50,6 +50,9 @@ public class IndexController {
     @Autowired
     AuthHelper authHelper;
 
+    @Autowired
+    UserAccountService userAccountService;
+
     /**
      * 登录
      *
@@ -72,6 +75,17 @@ public class IndexController {
         return result;
     }
 
+    @ResourceAuth(value = "user",type = AuthType.User)
+    @Operation(summary = "得到当前用户信息", description = "得到当前用户信息")
+    @RequestMapping(value = {"getCurrentDetail"}, method = {RequestMethod.POST})
+    public ResultContent<UserCountDetailsModel> getCurrentDetail(@RequestBody AuthTypeParam param) {
+        if (param.getAuthType() == null) {
+            return ResultContent.buildFail("authType 不能为空");
+        }
+        return userAccountService.getCurrentDetail(param);
+    }
+
+
     @ResourceAuth(value = "user",type = AuthType.User)
     @Operation(summary = "查询用户加入的平台数据列表", description = "查询用户加入的 平台数据列表")
     @RequestMapping(value = {"getUserPlatform"}, method = {RequestMethod.GET})

+ 9 - 0
FullCardServer/src/main/java/com/zhongshu/card/server/core/service/org/OrganizationServiceImpl.java

@@ -217,6 +217,15 @@ public class OrganizationServiceImpl extends SuperService implements Organizatio
         return ResultContent.buildSuccess();
     }
 
+    public ResultContent<OrganizationModel> getDetail(String oid){
+        Organization organization = organizationDao.findTopByOid(oid);
+        if (ObjectUtils.isEmpty(organization)) {
+            return ResultContent.buildFail(String.format(ResultMessage.DATA_NOT_EXIST, oid));
+        }
+        OrganizationModel model = toModel(organization);
+        return ResultContent.buildSuccess(model);
+    }
+
     /**
      * 分页数据
      *

+ 48 - 4
FullCardServer/src/main/java/com/zhongshu/card/server/core/service/org/UserAccountServiceImpl.java

@@ -1,17 +1,19 @@
 package com.zhongshu.card.server.core.service.org;
 
+import com.github.microservice.auth.security.type.AuthType;
 import com.github.microservice.components.data.base.util.PageEntityUtil;
-import com.zhongshu.card.client.model.org.UserCountAddParam;
-import com.zhongshu.card.client.model.org.UserCountModel;
-import com.zhongshu.card.client.model.org.UserCountSearchParam;
+import com.zhongshu.card.client.model.base.AuthTypeParam;
+import com.zhongshu.card.client.model.org.*;
 import com.zhongshu.card.client.ret.ResultContent;
 import com.zhongshu.card.client.ret.ResultMessage;
+import com.zhongshu.card.client.service.org.OrganizationService;
 import com.zhongshu.card.client.service.org.UserAccountService;
 import com.zhongshu.card.client.utils.type.Sex;
 import com.zhongshu.card.client.utils.type.UserState;
 import com.zhongshu.card.server.core.dao.org.UserCountDao;
 import com.zhongshu.card.server.core.domain.org.Organization;
 import com.zhongshu.card.server.core.domain.org.UserAccount;
+import com.zhongshu.card.server.core.service.base.SuperService;
 import com.zhongshu.card.server.core.util.BeanUtils;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.ObjectUtils;
@@ -23,6 +25,7 @@ import org.springframework.data.domain.Pageable;
 import org.springframework.stereotype.Service;
 
 import java.io.Serializable;
+import java.util.List;
 
 /**
  * @author TRX
@@ -31,11 +34,14 @@ import java.io.Serializable;
 @Slf4j
 @Service
 @Primary
-public class UserAccountServiceImpl implements UserAccountService, Serializable {
+public class UserAccountServiceImpl extends SuperService implements UserAccountService, Serializable {
 
     @Autowired
     UserCountDao userCountDao;
 
+    @Autowired
+    OrganizationService organizationService;
+
     @Override
     public ResultContent update(UserCountAddParam param) {
         UserAccount userCount = new UserAccount();
@@ -77,6 +83,44 @@ public class UserAccountServiceImpl implements UserAccountService, Serializable
         return userAccount;
     }
 
+    /**
+     * 得到当前的用户信息 (包含机构信息)
+     * @param param
+     * @return
+     */
+    public ResultContent<UserCountDetailsModel> getCurrentDetail(AuthTypeParam param) {
+        UserCountDetailsModel model = new UserCountDetailsModel();
+        UserAccount userAccount = userCountDao.findTopByUserId(getCurrentUserId());
+        if (ObjectUtils.isNotEmpty(userAccount)) {
+            UserCountModel model1 = toModel(userAccount);
+            BeanUtils.copyProperties(model1, model);
+            // 查询机构列表
+            OrganizationUserSearch search = new OrganizationUserSearch();
+            search.setState(UserState.Normal);
+            search.setAuthType(param.getAuthType());
+            search.setUserId(getCurrentUserId());
+            ResultContent<List<OrganizationModel>> resultContent = organizationService.getUserOrgList(search);
+            if (resultContent.isSuccess()) {
+                model.setList(resultContent.getContent());
+            }
+        }
+        return ResultContent.buildSuccess(model);
+    }
+
+    /**
+     * 得到用户信息
+     * @param userId
+     * @return
+     */
+    public ResultContent<UserCountModel> getUserDetail(String userId) {
+        UserCountModel model = new UserCountModel();
+        UserAccount userAccount = userCountDao.findTopByUserId(userId);
+        if (ObjectUtils.isNotEmpty(userAccount)) {
+            model = toModel(userAccount);
+        }
+        return ResultContent.buildSuccess(model);
+    }
+
     @Override
     public ResultContent<Page<UserCountModel>> list(UserCountSearchParam param, Pageable pageable) {
         Page<UserAccount> page = userCountDao.page(pageable, param);