|
@@ -7,7 +7,6 @@ import cn.hutool.core.bean.BeanUtil;
|
|
|
import cn.hutool.core.lang.TypeReference;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.StringPool;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
@@ -25,54 +24,16 @@ import com.xjrsoft.common.utils.RedisUtil;
|
|
|
import com.xjrsoft.common.utils.VoToColumnUtil;
|
|
|
import com.xjrsoft.config.CommonPropertiesConfig;
|
|
|
import com.xjrsoft.module.base.service.IBaseClassService;
|
|
|
-import com.xjrsoft.module.organization.dto.AddUserDto;
|
|
|
-import com.xjrsoft.module.organization.dto.BindOpenidDto;
|
|
|
-import com.xjrsoft.module.organization.dto.LoginResetPasswordDto;
|
|
|
-import com.xjrsoft.module.organization.dto.RegisterDto;
|
|
|
-import com.xjrsoft.module.organization.dto.ResetPasswordDto;
|
|
|
-import com.xjrsoft.module.organization.dto.UpdateInfoDto;
|
|
|
-import com.xjrsoft.module.organization.dto.UpdatePasswordDto;
|
|
|
-import com.xjrsoft.module.organization.dto.UpdateUserDto;
|
|
|
-import com.xjrsoft.module.organization.dto.UserPageDto;
|
|
|
-import com.xjrsoft.module.organization.dto.UserStudentAddDto;
|
|
|
-import com.xjrsoft.module.organization.dto.UserStudentBindDto;
|
|
|
-import com.xjrsoft.module.organization.dto.UserStudentDeleteDto;
|
|
|
-import com.xjrsoft.module.organization.entity.Department;
|
|
|
-import com.xjrsoft.module.organization.entity.Post;
|
|
|
-import com.xjrsoft.module.organization.entity.Role;
|
|
|
-import com.xjrsoft.module.organization.entity.User;
|
|
|
-import com.xjrsoft.module.organization.entity.UserDeptRelation;
|
|
|
-import com.xjrsoft.module.organization.entity.UserPostRelation;
|
|
|
-import com.xjrsoft.module.organization.entity.UserRoleRelation;
|
|
|
-import com.xjrsoft.module.organization.service.IDepartmentService;
|
|
|
-import com.xjrsoft.module.organization.service.IPostService;
|
|
|
-import com.xjrsoft.module.organization.service.IRoleService;
|
|
|
-import com.xjrsoft.module.organization.service.IUserDeptRelationService;
|
|
|
-import com.xjrsoft.module.organization.service.IUserPostRelationService;
|
|
|
-import com.xjrsoft.module.organization.service.IUserRoleRelationService;
|
|
|
-import com.xjrsoft.module.organization.service.IUserService;
|
|
|
-import com.xjrsoft.module.organization.service.IUserStudentService;
|
|
|
+import com.xjrsoft.module.organization.dto.*;
|
|
|
+import com.xjrsoft.module.organization.entity.*;
|
|
|
+import com.xjrsoft.module.organization.service.*;
|
|
|
import com.xjrsoft.module.organization.utils.OrganizationUtil;
|
|
|
-import com.xjrsoft.module.organization.vo.UserDeptVo;
|
|
|
-import com.xjrsoft.module.organization.vo.UserInfoVo;
|
|
|
-import com.xjrsoft.module.organization.vo.UserListVo;
|
|
|
-import com.xjrsoft.module.organization.vo.UserPageVo;
|
|
|
-import com.xjrsoft.module.organization.vo.UserPostVo;
|
|
|
-import com.xjrsoft.module.organization.vo.UserRoleVo;
|
|
|
-import com.xjrsoft.module.organization.vo.UserStudentVo;
|
|
|
-import com.xjrsoft.module.organization.vo.UserVo;
|
|
|
+import com.xjrsoft.module.organization.vo.*;
|
|
|
import com.xjrsoft.module.oss.factory.OssFactory;
|
|
|
import io.swagger.annotations.Api;
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
-import org.springframework.web.bind.annotation.DeleteMapping;
|
|
|
-import org.springframework.web.bind.annotation.GetMapping;
|
|
|
-import org.springframework.web.bind.annotation.PostMapping;
|
|
|
-import org.springframework.web.bind.annotation.PutMapping;
|
|
|
-import org.springframework.web.bind.annotation.RequestBody;
|
|
|
-import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
-import org.springframework.web.bind.annotation.RequestParam;
|
|
|
-import org.springframework.web.bind.annotation.RestController;
|
|
|
+import org.springframework.web.bind.annotation.*;
|
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
|
|
|
|
import javax.validation.Valid;
|
|
@@ -177,17 +138,34 @@ public class UserController {
|
|
|
|
|
|
return R.ok(pageOutput);
|
|
|
}else {
|
|
|
- LambdaQueryWrapper<User> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
- queryWrapper.like(StrUtil.isNotBlank(dto.getKeyword()), User::getName, dto.getKeyword())
|
|
|
- .or(StrUtil.isNotBlank(dto.getKeyword()), x -> x.like(StrUtil.isNotBlank(dto.getKeyword()), User::getCode, dto.getKeyword()))
|
|
|
- .like(StrUtil.isNotBlank(dto.getUserName()), User::getUserName, dto.getUserName())
|
|
|
- .like(StrUtil.isNotBlank(dto.getCode()), User::getCode, dto.getCode())
|
|
|
- .like(StrUtil.isNotBlank(dto.getName()), User::getName, dto.getName())
|
|
|
- .like(StrUtil.isNotBlank(dto.getMobile()), User::getMobile, dto.getMobile())
|
|
|
- .orderByDesc(User::getCreateDate)
|
|
|
- .select(User.class, x -> VoToColumnUtil.fieldsToColumns(UserPageVo.class).contains(x.getProperty()));
|
|
|
-
|
|
|
- IPage<User> page = userService.page(ConventPage.getPage(dto),queryWrapper);
|
|
|
+// LambdaQueryWrapper<User> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
+// queryWrapper.like(StrUtil.isNotBlank(dto.getKeyword()), User::getName, dto.getKeyword())
|
|
|
+// .or(StrUtil.isNotBlank(dto.getKeyword()), x -> x.like(StrUtil.isNotBlank(dto.getKeyword()), User::getCode, dto.getKeyword()))
|
|
|
+// .like(StrUtil.isNotBlank(dto.getUserName()), User::getUserName, dto.getUserName())
|
|
|
+// .like(StrUtil.isNotBlank(dto.getCode()), User::getCode, dto.getCode())
|
|
|
+// .like(StrUtil.isNotBlank(dto.getName()), User::getName, dto.getName())
|
|
|
+// .like(StrUtil.isNotBlank(dto.getMobile()), User::getMobile, dto.getMobile())
|
|
|
+// .orderByDesc(User::getCreateDate)
|
|
|
+// .select(User.class, x -> VoToColumnUtil.fieldsToColumns(UserPageVo.class).contains(x.getProperty()));
|
|
|
+//
|
|
|
+// IPage<User> page = userService.page(ConventPage.getPage(dto),queryWrapper);
|
|
|
+
|
|
|
+ IPage<UserPageVo> page = userService.selectJoinListPage(ConventPage.getPage(dto), UserPageVo.class,
|
|
|
+ MPJWrappers.<User>lambdaJoin()
|
|
|
+ .disableSubLogicDel()
|
|
|
+ .distinct()
|
|
|
+ .like(StrUtil.isNotBlank(dto.getKeyword()), User::getName, dto.getKeyword())
|
|
|
+ .or(StrUtil.isNotBlank(dto.getKeyword()), x -> x.like(StrUtil.isNotBlank(dto.getKeyword()), User::getCode, dto.getKeyword()))
|
|
|
+ .like(StrUtil.isNotBlank(dto.getUserName()), User::getUserName, dto.getUserName())
|
|
|
+ .like(StrUtil.isNotBlank(dto.getCode()), User::getCode, dto.getCode())
|
|
|
+ .like(StrUtil.isNotBlank(dto.getName()), User::getName, dto.getName())
|
|
|
+ .like(StrUtil.isNotBlank(dto.getMobile()), User::getMobile, dto.getMobile())
|
|
|
+ .eq(ObjectUtil.isNotNull(dto.getUserType()), Role::getId, dto.getUserType())
|
|
|
+ .orderByDesc(User::getCreateDate)
|
|
|
+ .select(User::getId)
|
|
|
+ .select(User.class, x -> VoToColumnUtil.fieldsToColumns(UserPageVo.class).contains(x.getProperty()))
|
|
|
+ .leftJoin(UserRoleRelation.class, UserRoleRelation::getUserId, User::getId)
|
|
|
+ .leftJoin(Role.class, Role::getId, UserRoleRelation::getRoleId));
|
|
|
PageOutput<UserPageVo> pageOutput = ConventPage.getPageOutput(page, UserPageVo.class);
|
|
|
return R.ok(pageOutput);
|
|
|
}
|