TRX 1 рік тому
батько
коміт
d80aba57ef

+ 3 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/model/devices/DeviceInfoSearch.java

@@ -67,4 +67,7 @@ public class DeviceInfoSearch extends SuperSearch {
 
     @Schema(description = "不存在的设备列表")
     private List<String> notInDeviceIds = new ArrayList<>();
+
+    @Schema(description = "别名")
+    private String nickName;
 }

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

@@ -12,6 +12,7 @@ import lombok.Data;
 import org.apache.commons.lang3.ObjectUtils;
 import org.apache.commons.lang3.StringUtils;
 
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -33,6 +34,8 @@ public class OrganizationUserSearch extends SuperSearch {
     @Schema(description = "用户ID")
     private String userId;
 
+    private List<String> userIds = new ArrayList<>();
+
     @Schema(description = "登录名")
     private String loginName;
 

+ 0 - 2
FullCardClient/src/main/java/com/zhongshu/card/client/model/org/userGroup/UserGroupToUserSearch.java

@@ -20,6 +20,4 @@ public class UserGroupToUserSearch extends OrganizationUserSearch {
 
     @Schema(description = "所属用户分组ID")
     private String groupId;
-
-    private List<String> userIds = new ArrayList<>();
 }

+ 4 - 36
FullCardClient/src/main/java/com/zhongshu/card/client/model/projectAbout/orgFace/OrgUserFaceSearch.java

@@ -1,56 +1,23 @@
 package com.zhongshu.card.client.model.projectAbout.orgFace;
 
-import com.zhongshu.card.client.model.base.SuperSearch;
-import com.zhongshu.card.client.type.Sex;
+import com.zhongshu.card.client.model.org.orgUser.OrganizationUserSearch;
 import com.zhongshu.card.client.type.common.AuditState;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
-import java.util.ArrayList;
-import java.util.List;
-
 /**
  * @author TRX
  * @date 2025/2/18
  */
 @Data
-public class OrgUserFaceSearch extends SuperSearch {
+public class OrgUserFaceSearch extends OrganizationUserSearch {
 
     @Schema(description = "审核状态")
     private AuditState auditState;
 
-    //-----------------用户信息 start -----------------
-    @Schema(description = "用户ID")
-    private String userId;
-
-    @Schema(description = "用户名称")
-    private String userName;
-
-    @Schema(description = "用户电话")
-    private String phone;
-
-    @Schema(description = "是否可使用")
     private Boolean isCanUsed;
 
-    @Schema(description = "用户所属机构")
-    private String userOrgOid;
-
-    @Schema(description = "所属部门")
-    private String departmentId;
-
-    @Schema(description = "角色")
-    private List<String> roleIds = new ArrayList<>();
-
-    @Schema(description = "职位")
-    private String positionId;
-
-    @Schema(description = "人员编码")
-    private String code;
-
-    @Schema(description = "性别")
-    private Sex sex;
-
-    //------------------------审核信息 start ---------------
+    //---------------------审核信息 start --------------
 
     @Schema(description = "审核用户userId")
     private String auditUserId;
@@ -60,4 +27,5 @@ public class OrgUserFaceSearch extends SuperSearch {
 
     @Schema(description = "关键搜索")
     private String keyWord;
+
 }

+ 5 - 0
FullCardServer/src/main/java/com/zhongshu/card/server/core/dao/devices/impl/DeviceInfoDaoImpl.java

@@ -127,6 +127,11 @@ public class DeviceInfoDaoImpl extends BaseImpl implements DeviceInfoDaoExtend {
             criterias.add(Criteria.where("ip").is(pattern));
         }
 
+        if (StringUtils.isNotEmpty(param.getNickName())) {
+            Pattern pattern = Pattern.compile("^.*" + param.getNickName() + ".*$");
+            criterias.add(Criteria.where("nickName").is(pattern));
+        }
+
         // 包含的都算
         if (StringUtils.isNotEmpty(param.getContainAreaId())) {
             Pattern pattern = Pattern.compile("^.*" + param.getContainAreaId() + ".*$");

+ 8 - 13
FullCardServer/src/main/java/com/zhongshu/card/server/core/dao/projectAbout/impl/OrgUserFaceDaoImpl.java

@@ -4,7 +4,6 @@ import com.github.microservice.components.data.mongo.mongo.helper.DBHelper;
 import com.zhongshu.card.client.model.projectAbout.orgFace.OrgUserFaceSearch;
 import com.zhongshu.card.server.core.dao.BaseImpl;
 import com.zhongshu.card.server.core.dao.projectAbout.extend.OrgUserFaceDaoExtend;
-import com.zhongshu.card.server.core.domain.org.Department;
 import com.zhongshu.card.server.core.domain.projectAbout.OrgUserFace;
 import com.zhongshu.card.server.core.domain.school.DictInfo;
 import org.apache.commons.lang3.ObjectUtils;
@@ -67,19 +66,19 @@ public class OrgUserFaceDaoImpl extends BaseImpl implements OrgUserFaceDaoExtend
             criteria.and("auditUserId").is(param.getAuditUserId());
         }
 
+
+        List<String> userIds = param.getUserIds();
+        if (userIds == null) {
+            userIds = new ArrayList<>();
+        }
         // 所属用户
         if (StringUtils.isNotEmpty(param.getUserId())) {
-            criteria.and("userId").is(param.getUserId());
-        }
-
-        if (StringUtils.isNotEmpty(param.getUserOrgOid())) {
-            criteria.and("userOrgOid").is(param.getUserOrgOid());
+            userIds.add(param.getUserId());
         }
 
-        if (StringUtils.isNotEmpty(param.getDepartmentId())) {
-            criteria.and("department").is(Department.build(param.getDepartmentId()));
+        if (ObjectUtils.isNotEmpty(userIds)) {
+            criteria.and("userId").in(userIds);
         }
-
         if (ObjectUtils.isNotEmpty(param.getRoleIds())) {
             criteria.and("roleIds").in(param.getRoleIds());
         }
@@ -94,10 +93,6 @@ public class OrgUserFaceDaoImpl extends BaseImpl implements OrgUserFaceDaoExtend
 
         // 模糊搜索
         List<Criteria> criterias = new ArrayList<>();
-        if (StringUtils.isNotEmpty(param.getUserName())) {
-            Pattern pattern = Pattern.compile("^.*" + param.getUserName() + ".*$");
-            criterias.add(Criteria.where("userName").is(pattern));
-        }
         if (StringUtils.isNotEmpty(param.getPhone())) {
             Pattern pattern = Pattern.compile("^.*" + param.getPhone() + ".*$");
             criterias.add(Criteria.where("phone").is(pattern));

+ 26 - 1
FullCardServer/src/main/java/com/zhongshu/card/server/core/service/projectAbout/OrgUserFaceService.java

@@ -9,9 +9,11 @@ import com.github.microservice.net.ResultMessage;
 import com.google.common.collect.Lists;
 import com.zhongshu.card.client.model.base.IDsParam;
 import com.zhongshu.card.client.model.base.OutNumberModel;
+import com.zhongshu.card.client.model.org.orgUser.OrganizationUserSearch;
 import com.zhongshu.card.client.model.projectAbout.orgFace.*;
 import com.zhongshu.card.client.model.projectAbout.projectCommon.ProjectCommonConfigModel;
 import com.zhongshu.card.client.type.common.AuditState;
+import com.zhongshu.card.client.type.user.OrgUserState;
 import com.zhongshu.card.server.core.dao.org.UserCountDao;
 import com.zhongshu.card.server.core.dao.projectAbout.OrgUserFaceDao;
 import com.zhongshu.card.server.core.domain.org.OrganizationUser;
@@ -23,12 +25,14 @@ import com.zhongshu.card.server.core.service.devices.permiss.DevicePermissEventS
 import com.zhongshu.card.server.core.service.org.OrganizationUserServiceImpl;
 import com.zhongshu.card.server.core.service.user.UserAccountServiceImpl;
 import com.zhongshu.card.server.core.util.BeanUtils;
+import com.zhongshu.card.server.core.util.CommonUtil;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.ObjectUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.ApplicationContext;
 import org.springframework.data.domain.Page;
+import org.springframework.data.domain.PageRequest;
 import org.springframework.data.domain.Pageable;
 import org.springframework.stereotype.Service;
 
@@ -252,7 +256,28 @@ public class OrgUserFaceService extends SuperService {
     }
 
     public ResultContent<Page<OrgUserFaceModel>> page(OrgUserFaceSearch param, Pageable pageable) {
-        Page<OrgUserFace> page = orgUserFaceDao.page(pageable, param);
+
+        Page<OrgUserFace> page = null;
+        boolean isSearch = true;
+        // 先筛选用户
+        OrganizationUserSearch search = param;
+        if (search.hasSearchFilter()) {
+            search.setIsSearchProject(Boolean.TRUE);
+            search.setAddType(null);
+            search.setOrgUserState(OrgUserState.Formal);
+            Pageable pageable1 = PageRequest.of(0, 1000);
+
+            List<OrganizationUser> list = userAccountService.projectUserList(param, pageable1);
+            if (ObjectUtils.isEmpty(list)) {
+                page = CommonUtil.buildEmptyPage(pageable, OrgUserFace.class);
+                isSearch = false;
+            } else {
+                param.setUserIds(list.stream().map(it -> it.getUserId()).collect(Collectors.toList()));
+            }
+        }
+        if (isSearch) {
+            page = orgUserFaceDao.page(pageable, param);
+        }
         return ResultContent.buildSuccess(PageEntityUtil.concurrent2PageModel(page, this::toModel));
     }