diff --git a/src/main/java/com/hxgk/lowcode/controller/ManContController.java b/src/main/java/com/hxgk/lowcode/controller/ManContController.java index 5ab77cc..5f7814a 100644 --- a/src/main/java/com/hxgk/lowcode/controller/ManContController.java +++ b/src/main/java/com/hxgk/lowcode/controller/ManContController.java @@ -1,18 +1,27 @@ package com.hxgk.lowcode.controller; +import com.alibaba.fastjson2.JSON; +import com.github.pagehelper.PageInfo; import com.hxgk.lowcode.model.entity.ManCont; +import com.hxgk.lowcode.model.entity.ManContShort; +import com.hxgk.lowcode.model.entity.SystemRole; import com.hxgk.lowcode.model.entity.Tree; +import com.hxgk.lowcode.service.HrService; +import com.hxgk.lowcode.service.SystemRoleService; import com.hxgk.lowcode.service.UserService; import com.hxgk.lowcode.utils.JsonData; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestHeader; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.ArrayList; import java.util.List; import java.util.Map; +import java.util.concurrent.TimeUnit; @RestController @RequestMapping("/lowCode/manCont") @@ -20,6 +29,16 @@ public class ManContController { @Autowired UserService userService; + + @Autowired + HrService hrService; + + @Autowired + SystemRoleService systemRoleService; + + @Autowired + private StringRedisTemplate redisTemplate; + /*根据主表id拿到表单字段信息*/ @RequestMapping(value = "getParentOrgsByDeviceNo") public JsonData getParentOrgsByDeviceNo(@RequestBody Map requestBody) { @@ -60,4 +79,64 @@ public class ManContController { } + + + + + @RequestMapping(value = "getAllRole") + public JsonData getAllRole(@RequestHeader(value = "User-Key") String key, + @RequestHeader(value = "User-Token") String token + ) { + if(!StringUtils.isBlank(key)&&!StringUtils.isBlank(token)){ + ArrayList result = new ArrayList<>(); + + if(redisTemplate.hasKey("allRole")){ + String orgTreeStr = redisTemplate.opsForValue().get("allRole").toString(); + List o = JSON.parseObject(orgTreeStr, List.class); + + return JsonData.buildSuccess(o); + }else{ + ArrayList allRole = systemRoleService.getAllRole(); + for(int i = 0; i < allRole.size(); i ++){ + String roleId = allRole.get(i).getId(); + PageInfo list = userService.getPersonByRoleId(1,10,roleId,"",""); + if(list.getSize()>0){ + result.add(allRole.get(i)); + } + } + + + String allRole_Json= JSON.toJSONString(result); + redisTemplate.opsForValue().set("allRole", allRole_Json, 1, TimeUnit.DAYS); + return JsonData.buildSuccess(result); + + } + + + }else{ + return JsonData.buildError("请先登录"); + } + + } + + + @RequestMapping(value = "getPersonByRoleId") + public JsonData getPersonByRoleId(@RequestHeader(value = "User-Key") String key, + @RequestHeader(value = "User-Token") String token,@RequestBody Map requestBody + ) { + if(!StringUtils.isBlank(key)&&!StringUtils.isBlank(token)){ + String roleId = requestBody.get("id"); + int pageNum = Integer.parseInt(requestBody.get("pageNum")); + int pageSize = Integer.parseInt(requestBody.get("pageSize")); + String number = requestBody.get("number"); + String name = requestBody.get("name"); + + //List list = userService.getPersonByRoleId(roleId); + PageInfo pageInfo = userService.getPersonByRoleId(pageNum,pageSize,roleId,number,name); + return JsonData.buildSuccess(pageInfo); + }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 75e8fda..5343019 100644 --- a/src/main/java/com/hxgk/lowcode/mapper/UserMapper.java +++ b/src/main/java/com/hxgk/lowcode/mapper/UserMapper.java @@ -3,10 +3,12 @@ package com.hxgk.lowcode.mapper; import com.baomidou.dynamic.datasource.annotation.DS; import com.hxgk.lowcode.model.entity.ManCont; +import com.hxgk.lowcode.model.entity.ManContShort; import com.hxgk.lowcode.model.entity.Tree; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.ArrayList; import java.util.List; @Mapper @DS("hrnew") @@ -19,4 +21,6 @@ public interface UserMapper { ManCont getManContByKey(@Param("key") String key); ManCont getManContByDeviceNo(@Param("deviceNo") String deviceNo); + + List getPersonByRoleId(@Param("role") String roleId,@Param("number") String number,@Param("name") String name); } diff --git a/src/main/java/com/hxgk/lowcode/model/entity/ManContShort.java b/src/main/java/com/hxgk/lowcode/model/entity/ManContShort.java new file mode 100644 index 0000000..3f6169e --- /dev/null +++ b/src/main/java/com/hxgk/lowcode/model/entity/ManContShort.java @@ -0,0 +1,83 @@ +package com.hxgk.lowcode.model.entity; + +import org.springframework.stereotype.Repository; + +@Repository +public class ManContShort { + //person_archives.id + private Long id; + //工号 + private String number; + //姓名 + private String name; + //头像 + private String icon; + private Byte empType; + private Long key; + private String role; + private String deparment; + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getNumber() { + return number; + } + + public void setNumber(String number) { + this.number = number; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getIcon() { + return icon; + } + + public void setIcon(String icon) { + this.icon = icon; + } + + public Byte getEmpType() { + return empType; + } + + public void setEmpType(Byte empType) { + this.empType = empType; + } + + public Long getKey() { + return key; + } + + public void setKey(Long key) { + this.key = key; + } + + public String getRole() { + return role; + } + + public void setRole(String role) { + this.role = role; + } + + public String getDeparment() { + return deparment; + } + + public void setDeparment(String deparment) { + this.deparment = deparment; + } +} diff --git a/src/main/java/com/hxgk/lowcode/service/UserService.java b/src/main/java/com/hxgk/lowcode/service/UserService.java index b9ae71a..8e6abb5 100644 --- a/src/main/java/com/hxgk/lowcode/service/UserService.java +++ b/src/main/java/com/hxgk/lowcode/service/UserService.java @@ -1,9 +1,12 @@ package com.hxgk.lowcode.service; +import com.github.pagehelper.PageInfo; import com.hxgk.lowcode.model.entity.ManCont; +import com.hxgk.lowcode.model.entity.ManContShort; import com.hxgk.lowcode.model.entity.Tree; import com.hxgk.lowcode.model.entity.UserDetail; +import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -23,4 +26,6 @@ public interface UserService { ManCont getManContByDeviceNo(String paramType,String paramValue); List getAllParentOrgForEmp(ManCont manCont); + + PageInfo getPersonByRoleId(int pageNum,int pageSize,String roleId,String number,String name); } 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 dc431eb..01ae9b0 100644 --- a/src/main/java/com/hxgk/lowcode/service/impl/UserServiceImpl.java +++ b/src/main/java/com/hxgk/lowcode/service/impl/UserServiceImpl.java @@ -1,8 +1,11 @@ package com.hxgk.lowcode.service.impl; import com.baomidou.dynamic.datasource.annotation.DS; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; import com.hxgk.lowcode.mapper.UserMapper; import com.hxgk.lowcode.model.entity.ManCont; +import com.hxgk.lowcode.model.entity.ManContShort; import com.hxgk.lowcode.model.entity.Tree; import com.hxgk.lowcode.model.entity.UserDetail; import com.hxgk.lowcode.service.HrService; @@ -14,6 +17,7 @@ import org.springframework.data.redis.core.HashOperations; import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -171,7 +175,15 @@ public class UserServiceImpl implements UserService { } + @Override + public PageInfo getPersonByRoleId(int pageNum,int pageSize,String roleId,String number,String name) { + // 开始分页 + PageHelper.startPage(pageNum, pageSize); + List personByRoleId = userMapper.getPersonByRoleId(roleId,number,name); + //System.out.println("MyBatis原始返回数量:" + personByRoleId.size()); // 关键验证 + return new PageInfo<>(personByRoleId); + } } diff --git a/src/main/resources/mapper/SystemRoleMapper.xml b/src/main/resources/mapper/SystemRoleMapper.xml index 4e691bc..59cf96b 100644 --- a/src/main/resources/mapper/SystemRoleMapper.xml +++ b/src/main/resources/mapper/SystemRoleMapper.xml @@ -7,7 +7,7 @@ diff --git a/src/main/resources/mapper/UserMapper.xml b/src/main/resources/mapper/UserMapper.xml index ebb1bf0..2403034 100644 --- a/src/main/resources/mapper/UserMapper.xml +++ b/src/main/resources/mapper/UserMapper.xml @@ -16,7 +16,7 @@ + + + \ No newline at end of file