浏览代码

更新!

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

+ 3 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/model/org/OrganizationUserSearch.java

@@ -25,6 +25,9 @@ public class OrganizationUserSearch extends SuperSearch {
     @Schema(description = "登录名")
     private String loginName;
 
+    @Schema(description = "工号")
+    private String code;
+
     @Schema(description = "用户手机号")
     private String phone;
 

+ 67 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/openApi/model/OrganizationUserOpenApiModel.java

@@ -0,0 +1,67 @@
+package com.zhongshu.card.client.openApi.model;
+
+import com.github.microservice.auth.security.type.AuthType;
+import com.zhongshu.card.client.model.base.SuperModel;
+import com.zhongshu.card.client.model.org.DepartmentModel;
+import com.zhongshu.card.client.model.org.OrganizationMiniModel;
+import com.zhongshu.card.client.model.org.UserCountSimpleModel;
+import com.zhongshu.card.client.model.org.role.RoleModel;
+import com.zhongshu.card.client.model.school.DictInfoSimpleModel;
+import com.zhongshu.card.client.openApi.base.SuperAPIModel;
+import com.zhongshu.card.client.type.CertificateType;
+import com.zhongshu.card.client.type.OrganizationUserType;
+import com.zhongshu.card.client.type.Sex;
+import com.zhongshu.card.client.type.UserState;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.apache.commons.lang3.ObjectUtils;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * 机构用户详情
+ *
+ * @author TRX
+ * @date 2024/6/6
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class OrganizationUserOpenApiModel extends SuperAPIModel {
+
+    @Schema(description = "工号/学号")
+    private String code;
+
+    @Schema(description = "用户ID(由鉴权中心颁发)")
+    private String userId;
+
+    @Schema(description = "用户手机号")
+    private String phone;
+
+    @Schema(description = "昵称")
+    private String name;
+
+    @Schema(description = "头像")
+    private String profilePic;
+
+    @Schema(description = "性别")
+    private Sex sex;
+
+    //-------------------------------机构信息 start ---------------
+    @Schema(description = "机构名称")
+    private String orgName;
+
+    @Schema(description = "机构类型")
+    private AuthType authType;
+
+    @Schema(description = "所属机构oid")
+    private String orgOid;
+
+    @Schema(description = "logo")
+    private String logo;
+
+}

+ 36 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/openApi/params/OrganizationUserOpenApiSearch.java

@@ -0,0 +1,36 @@
+package com.zhongshu.card.client.openApi.params;
+
+import com.github.microservice.auth.security.type.AuthType;
+import com.zhongshu.card.client.model.base.SuperSearch;
+import com.zhongshu.card.client.openApi.base.SuperOpenAPIParam;
+import com.zhongshu.card.client.type.OrganizationUserType;
+import com.zhongshu.card.client.type.UserState;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @author TRX
+ * @date 2024/5/31
+ */
+@Data
+public class OrganizationUserOpenApiSearch extends SuperOpenAPIParam {
+
+    @Schema(description = "关键字")
+    private String keyWord;
+
+    @Schema(description = "用户ID")
+    private String userId;
+
+    @Schema(description = "登录名")
+    private String loginName;
+
+    @Schema(description = "用户手机号")
+    private String phone;
+
+    @Schema(description = "姓名")
+    private String name;
+
+    private String code;
+}

+ 1 - 1
FullCardServer/src/main/java/com/zhongshu/card/server/core/controller/openAPI/ExpenseFlowOpenApiController.java

@@ -33,7 +33,7 @@ import javax.validation.Valid;
  * @date 2024/6/5
  */
 @RestController
-@RequestMapping("/openAPI/v1/projectManager")
+@RequestMapping("/openAPI/v1/orderManager")
 @Tag(name = "openAPI-订单管理")
 public class ExpenseFlowOpenApiController {
 

+ 45 - 0
FullCardServer/src/main/java/com/zhongshu/card/server/core/controller/openAPI/OrganizationUserOpenApiController.java

@@ -0,0 +1,45 @@
+package com.zhongshu.card.server.core.controller.openAPI;
+
+import com.github.microservice.auth.security.annotations.ResourceAuth;
+import com.github.microservice.auth.security.type.AuthType;
+import com.github.microservice.net.ResultContent;
+import com.zhongshu.card.client.model.base.IDParam;
+import com.zhongshu.card.client.openApi.model.OrganizationUserOpenApiModel;
+import com.zhongshu.card.client.openApi.params.OrganizationUserOpenApiSearch;
+import com.zhongshu.card.server.core.service.openAPI.OrganizationUserOpenApiService;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @author TRX
+ * @date 2024/6/5
+ */
+@RestController
+@RequestMapping("/openAPI/v1/projectUserManager")
+@Tag(name = "openAPI-项目用户")
+public class OrganizationUserOpenApiController {
+
+    @Autowired
+    private OrganizationUserOpenApiService organizationUserOpenApiService;
+
+    @ResourceAuth(value = "user", type = AuthType.User)
+    @Operation(summary = "项目用户列表-分页查询", description = "项目用户列表-分页查询")
+    @RequestMapping(value = {"page"}, method = {RequestMethod.POST})
+    public ResultContent<Page<OrganizationUserOpenApiModel>> page(@RequestBody OrganizationUserOpenApiSearch param) {
+        return organizationUserOpenApiService.projectUserPage(param);
+    }
+
+    @ResourceAuth(value = "user", type = AuthType.User)
+    @Operation(summary = "用户详情", description = "用户详情")
+    @RequestMapping(value = {"getUserDetailById"}, method = {RequestMethod.POST})
+    public ResultContent<OrganizationUserOpenApiModel> getUserDetailById(@RequestBody IDParam param) {
+        return organizationUserOpenApiService.getUserDetailById(param.getId());
+    }
+
+}

+ 39 - 88
FullCardServer/src/main/java/com/zhongshu/card/server/core/service/openAPI/OrganizationUserOpenApiService.java

@@ -2,21 +2,15 @@ package com.zhongshu.card.server.core.service.openAPI;
 
 import com.github.microservice.components.data.base.util.PageEntityUtil;
 import com.github.microservice.net.ResultContent;
-import com.zhongshu.card.client.model.devices.DeviceInfoSearch;
-import com.zhongshu.card.client.model.org.OrganizationMiniModel;
-import com.zhongshu.card.client.model.school.AreaSimpleModel;
-import com.zhongshu.card.client.openApi.model.DeviceInfoOpenApiModel;
-import com.zhongshu.card.client.openApi.model.DeviceInfoOpenApiSimpleModel;
-import com.zhongshu.card.client.openApi.params.DeviceIdParam;
-import com.zhongshu.card.client.openApi.params.DeviceInfoOpenApiSearch;
-import com.zhongshu.card.server.core.dao.devices.DeviceInfoDao;
-import com.zhongshu.card.server.core.dao.devices.DevicePermissDao;
-import com.zhongshu.card.server.core.dao.payment.ExpenseFlowDao;
-import com.zhongshu.card.server.core.domain.devices.DeviceInfo;
+import com.zhongshu.card.client.model.org.OrganizationUserModel;
+import com.zhongshu.card.client.model.org.OrganizationUserSearch;
+import com.zhongshu.card.client.openApi.model.OrganizationUserOpenApiModel;
+import com.zhongshu.card.client.openApi.params.OrganizationUserOpenApiSearch;
+import com.zhongshu.card.server.core.dao.org.OrganizationUserDao;
+import com.zhongshu.card.server.core.domain.org.Organization;
+import com.zhongshu.card.server.core.domain.org.OrganizationUser;
+import com.zhongshu.card.server.core.domain.org.UserAccount;
 import com.zhongshu.card.server.core.service.base.SuperService;
-import com.zhongshu.card.server.core.service.org.OrganizationServiceImpl;
-import com.zhongshu.card.server.core.service.orgManager.OrganizationManagerServiceImpl;
-import com.zhongshu.card.server.core.service.school.AreaServiceImpl;
 import com.zhongshu.card.server.core.util.BeanUtils;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.ObjectUtils;
@@ -27,10 +21,6 @@ import org.springframework.data.domain.PageRequest;
 import org.springframework.data.domain.Pageable;
 import org.springframework.stereotype.Service;
 
-import java.util.Collections;
-import java.util.List;
-import java.util.stream.Collectors;
-
 /**
  * 机构相关的 openAPI
  *
@@ -42,93 +32,54 @@ import java.util.stream.Collectors;
 public class OrganizationUserOpenApiService extends SuperService {
 
     @Autowired
-    private DevicePermissDao devicePermissDao;
-
-    @Autowired
-    private ExpenseFlowDao expenseFlowDao;
-
-    @Autowired
-    private OrganizationManagerServiceImpl organizationManagerService;
-
-    @Autowired
-    private OrganizationServiceImpl organizationServiceImpl;
-
-    @Autowired
-    private AreaServiceImpl areaService;
-
-    @Autowired
-    private DeviceInfoDao deviceInfoDao;
+    private OrganizationUserDao organizationUserDao;
 
-    /**
-     * 设备列表
-     *
-     * @param apiSearch
-     * @return
-     */
-    public ResultContent<Page<DeviceInfoOpenApiModel>> page(DeviceInfoOpenApiSearch apiSearch) {
+    public ResultContent<Page<OrganizationUserOpenApiModel>> projectUserPage(OrganizationUserOpenApiSearch apiSearch) {
+        OrganizationUserSearch param = new OrganizationUserSearch();
         if (StringUtils.isEmpty(apiSearch.getProjectCode())) {
             return ResultContent.buildFail("projectCode不能为空");
         }
-        DeviceInfoSearch param = new DeviceInfoSearch();
+        String projectOid = getOidByCode(apiSearch.getProjectCode());
+        if (StringUtils.isEmpty(projectOid)) {
+            projectOid = "unKnow";
+        }
         BeanUtils.copyProperties(apiSearch, param);
-        param.setProjectInfoCode(apiSearch.getProjectCode());
+        param.setProjectOid(projectOid);
 
         Pageable pageable = PageRequest.of(apiSearch.getNumber(), apiSearch.getSize());
-        Page<DeviceInfo> page = deviceInfoDao.page(pageable, param);
+        Page<OrganizationUser> page = organizationUserDao.page(pageable, param);
         return ResultContent.buildSuccess(PageEntityUtil.concurrent2PageModel(page, this::toModel));
     }
 
-    /**
-     * 设备详情
-     *
-     * @param param
-     * @return
-     */
-    public ResultContent<DeviceInfoOpenApiModel> getDetailByDeviceId(DeviceIdParam param) {
-        DeviceInfo deviceInfo = deviceInfoDao.findTopByDeviceId(param.getDeviceId());
-        if (ObjectUtils.isEmpty(deviceInfo)) {
-            return ResultContent.buildFail("数据不存在");
+    public ResultContent<OrganizationUserOpenApiModel> getUserDetailById(String id) {
+        OrganizationUser organizationUser = organizationUserDao.findTopById(id);
+        if (ObjectUtils.isEmpty(organizationUser)) {
+            return ResultContent.buildFail("用户存在");
         }
-        return ResultContent.buildSuccess(toModel(deviceInfo));
+        return ResultContent.buildSuccess(toModel(organizationUser));
     }
 
-    /**
-     * 设备基础信息
-     *
-     * @param entity
-     * @return
-     */
-    public DeviceInfoOpenApiModel toModel(DeviceInfo entity) {
-        DeviceInfoOpenApiModel model = null;
-        if (ObjectUtils.isNotEmpty(entity)) {
-            model = new DeviceInfoOpenApiModel();
+    public OrganizationUserOpenApiModel toModel(OrganizationUser entity) {
+        OrganizationUserOpenApiModel model = new OrganizationUserOpenApiModel();
+        if (ObjectUtils.isNotEmpty(entity.getId())) {
             BeanUtils.copyProperties(entity, model);
 
-            // 所属机构信息
-            OrganizationMiniModel miniModel = organizationManagerService.toMiniModel(entity.getOrganization());
-            model.setOrganization(miniModel);
-
-            model.setProjectInfoName(organizationServiceImpl.getOrgNameByCode(entity.getProjectInfoCode()));
-
-            // 所属区域信息
-            List<AreaSimpleModel> areaModels = areaService.getParents(entity.getArea());
-            if (ObjectUtils.isNotEmpty(areaModels)) {
-                model.setArea(areaModels.get(0));
-                Collections.reverse(areaModels);
-                List<String> areaNames = areaModels.stream().map(it -> it.getName()).collect(Collectors.toList());
-                model.setAreaAllName(String.join("/", areaNames));
+            Organization organization = entity.getOrganization();
+            UserAccount user = entity.getUser();
+            if (ObjectUtils.isNotEmpty(user)) {
+                model.setUserId(user.getUserId());
+                model.setPhone(user.getPhone());
+                model.setName(user.getName());
+                model.setProfilePic(user.getProfilePic());
+                model.setSex(user.getSex());
+            }
+            if (ObjectUtils.isNotEmpty(organization)) {
+                model.setOrgName(organization.getName());
+                model.setAuthType(organization.getAuthType());
+                model.setOrgOid(organization.getOid());
+                model.setLogo(organization.getLogo());
             }
         }
         return model;
     }
-
-    public DeviceInfoOpenApiSimpleModel toDeviceSimpleModel(DeviceInfo entity) {
-        DeviceInfoOpenApiSimpleModel model = null;
-        if (ObjectUtils.isNotEmpty(entity)) {
-            model = new DeviceInfoOpenApiSimpleModel();
-            BeanUtils.copyProperties(entity, model);
-        }
-        return model;
-    }
-
 }