diff --git a/src/main/java/com/hxgk/lowcode/controller/ManContController.java b/src/main/java/com/hxgk/lowcode/controller/ManContController.java index 5f7814a..56ce2af 100644 --- a/src/main/java/com/hxgk/lowcode/controller/ManContController.java +++ b/src/main/java/com/hxgk/lowcode/controller/ManContController.java @@ -18,6 +18,7 @@ import org.springframework.web.bind.annotation.RequestHeader; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.lang.reflect.Array; import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -139,4 +140,20 @@ public class ManContController { } } + + @RequestMapping(value = "getManContsByKeys") + public JsonData getManContsByKeys(@RequestHeader(value = "User-Key") String key, + @RequestHeader(value = "User-Token") String token,@RequestBody Map> requestBody + ) { + if(!StringUtils.isBlank(key)&&!StringUtils.isBlank(token)){ + List keys = requestBody.get("keys"); + + List list = userService.getManContsByKeys(keys); + + return JsonData.buildSuccess(list); + }else{ + return JsonData.buildError("请先登录"); + } + + } } diff --git a/src/main/java/com/hxgk/lowcode/mapper/UserMapper.java b/src/main/java/com/hxgk/lowcode/mapper/UserMapper.java index 5343019..5f3f595 100644 --- a/src/main/java/com/hxgk/lowcode/mapper/UserMapper.java +++ b/src/main/java/com/hxgk/lowcode/mapper/UserMapper.java @@ -23,4 +23,6 @@ public interface UserMapper { ManCont getManContByDeviceNo(@Param("deviceNo") String deviceNo); List getPersonByRoleId(@Param("role") String roleId,@Param("number") String number,@Param("name") String name); + + List getManContsByKeys(@Param("keys")List subList); } diff --git a/src/main/java/com/hxgk/lowcode/model/entity/ManContShort.java b/src/main/java/com/hxgk/lowcode/model/entity/ManContShort.java index 3f6169e..9e25a2f 100644 --- a/src/main/java/com/hxgk/lowcode/model/entity/ManContShort.java +++ b/src/main/java/com/hxgk/lowcode/model/entity/ManContShort.java @@ -13,7 +13,7 @@ public class ManContShort { //头像 private String icon; private Byte empType; - private Long key; + private String key; private String role; private String deparment; @@ -57,14 +57,6 @@ public class ManContShort { this.empType = empType; } - public Long getKey() { - return key; - } - - public void setKey(Long key) { - this.key = key; - } - public String getRole() { return role; } @@ -80,4 +72,12 @@ public class ManContShort { public void setDeparment(String deparment) { this.deparment = deparment; } + + public String getKey() { + return key; + } + + public void setKey(String key) { + this.key = key; + } } diff --git a/src/main/java/com/hxgk/lowcode/service/UserService.java b/src/main/java/com/hxgk/lowcode/service/UserService.java index 8e6abb5..f098ccb 100644 --- a/src/main/java/com/hxgk/lowcode/service/UserService.java +++ b/src/main/java/com/hxgk/lowcode/service/UserService.java @@ -28,4 +28,6 @@ public interface UserService { List getAllParentOrgForEmp(ManCont manCont); PageInfo getPersonByRoleId(int pageNum,int pageSize,String roleId,String number,String name); + + List getManContsByKeys(List keys); } diff --git a/src/main/java/com/hxgk/lowcode/service/impl/UserServiceImpl.java b/src/main/java/com/hxgk/lowcode/service/impl/UserServiceImpl.java index 01ae9b0..4b98c4d 100644 --- a/src/main/java/com/hxgk/lowcode/service/impl/UserServiceImpl.java +++ b/src/main/java/com/hxgk/lowcode/service/impl/UserServiceImpl.java @@ -185,5 +185,39 @@ public class UserServiceImpl implements UserService { return new PageInfo<>(personByRoleId); } + @Override + public List getManContsByKeys(List keys) { + int BATCH_SIZE = 500; + + List resultList = new ArrayList<>(); + + if(keys.size()==0){ + return userMapper.getManContsByKeys(keys); + }else{ + // 计算需要分多少批 + int batchCount = (keys.size() + BATCH_SIZE - 1) / BATCH_SIZE; + + for (int i = 0; i < batchCount; i++) { + // 计算每批的起始索引和结束索引 + int startIndex = i * BATCH_SIZE; + int endIndex = Math.min(startIndex + BATCH_SIZE, keys.size()); + + // 截取子列表 + List subList = keys.subList(startIndex, endIndex); + + // 每批查询并添加到结果集 + List batchResult = userMapper.getManContsByKeys(subList); + if (batchResult.size()>0) { + resultList.addAll(batchResult); + } + } + + return resultList; + + } + + + } + } diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index c95e29d..72f0443 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -2,7 +2,7 @@ mybatis: configuration: #开启控制台打印sql - #log-impl: org.apache.ibatis.logging.stdout.StdOutImpl + log-impl: org.apache.ibatis.logging.stdout.StdOutImpl # mybatis 下划线转驼峰配置,两者都可以 map-underscore-to-camel-case: true #配置扫描 diff --git a/src/main/resources/mapper/UserMapper.xml b/src/main/resources/mapper/UserMapper.xml index 2403034..f308013 100644 --- a/src/main/resources/mapper/UserMapper.xml +++ b/src/main/resources/mapper/UserMapper.xml @@ -62,7 +62,34 @@ - order by id + order by a.id + + + + +