Browse Source

fix:修复分页无法查询问题

tangfudong 2 years ago
parent
commit
d3dd5701df

+ 4 - 2
iot-common/iot-common-core/src/main/java/cc/iotkit/common/api/PageRequest.java

@@ -11,6 +11,7 @@ import java.util.Map;
 import lombok.*;
 
 import java.io.Serializable;
+import java.util.Objects;
 
 /**
  * @author: Longjun.Tu
@@ -77,9 +78,10 @@ public class PageRequest<T> extends Request<T> implements Serializable {
   }
 
   public <DTO> PageRequest<DTO> to(Class<DTO> dtoClass) {
-    DTO dto = MapstructUtils.convert(getData(), dtoClass);
     PageRequest<DTO> pageRequest = new PageRequest<>();
-    pageRequest.setData(dto);
+    if(Objects.nonNull(getData())){
+      pageRequest.setData(MapstructUtils.convert(getData(), dtoClass));
+    }
     pageRequest.setPageNum(this.getPageNum());
     pageRequest.setPageSize(this.getPageSize());
     pageRequest.setRequestId(this.getRequestId());

+ 2 - 3
iot-common/iot-common-dao/iot-data-serviceImpl-rdb/src/main/java/cc/iotkit/data/service/SysUserDataImpl.java

@@ -285,16 +285,15 @@ public class SysUserDataImpl implements ISysUserData, IJPACommData<SysUser, Long
     }
 
     private Predicate buildQueryCondition(SysUser user) {
-        Long deptId = user.getDeptId();
         List<Long> ids;
-        if(Objects.nonNull(deptId)){
+        if(Objects.nonNull(user)&&Objects.nonNull(user.getDeptId())){
+            Long deptId = user.getDeptId();
             List<SysDept> depts = sysDeptData.findByDeptId(deptId);
             ids = StreamUtils.toList(depts, SysDept::getId);
             ids.add(deptId);
         } else {
             ids = null;
         }
-
         return PredicateBuilder.instance()
                 .and(tbSysUser.delFlag.eq(UserConstants.USER_NORMAL))
                 .and(ObjectUtil.isNotNull(user.getId()), () -> tbSysUser.id.eq(user.getId()))

+ 6 - 4
iot-starter/src/main/java/cc/iotkit/web/controller/AuthController.java

@@ -1,5 +1,6 @@
 package cc.iotkit.web.controller;
 
+import cc.iotkit.common.api.Request;
 import cc.iotkit.common.exception.BizException;
 import cc.iotkit.common.tenant.helper.TenantHelper;
 import cc.iotkit.common.undefined.EmailLoginBody;
@@ -59,13 +60,14 @@ public class AuthController {
      */
     @ApiOperation("登录")
     @PostMapping("/login")
-    public LoginVo login(@Validated @RequestBody LoginBody body) {
+    public LoginVo login(@Validated @RequestBody Request<LoginBody> body) {
+        LoginBody loginBody=body.getData();
         LoginVo loginVo = new LoginVo();
         // 生成令牌
         String token = loginService.login(
-                body.getTenantId(),
-                body.getUsername(), body.getPassword(),
-                body.getCode(), body.getUuid());
+                loginBody.getTenantId(),
+                loginBody.getUsername(), loginBody.getPassword(),
+                loginBody.getCode(), loginBody.getUuid());
         loginVo.setToken(token);
         return loginVo;
     }