diff --git a/boot-service/src/main/java/com/xwbing/domain/entity/sys/SysConfig.java b/boot-service/src/main/java/com/xwbing/domain/entity/sys/SysConfig.java index 85c209e..4c1ce14 100644 --- a/boot-service/src/main/java/com/xwbing/domain/entity/sys/SysConfig.java +++ b/boot-service/src/main/java/com/xwbing/domain/entity/sys/SysConfig.java @@ -1,6 +1,5 @@ package com.xwbing.domain.entity.sys; -import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; @@ -19,7 +18,6 @@ import javax.validation.constraints.Pattern; @EqualsAndHashCode(callSuper = true) @Data @Entity(name = "system_config") -@ApiModel public class SysConfig extends BaseEntity { private static final long serialVersionUID = -7587016038432881980L; @ApiModelProperty(value = "配置项的code",example = "email_config",required = true) diff --git a/boot-service/src/main/java/com/xwbing/domain/entity/sys/SysUser.java b/boot-service/src/main/java/com/xwbing/domain/entity/sys/SysUser.java index 57b6d83..be387a7 100644 --- a/boot-service/src/main/java/com/xwbing/domain/entity/sys/SysUser.java +++ b/boot-service/src/main/java/com/xwbing/domain/entity/sys/SysUser.java @@ -1,6 +1,5 @@ package com.xwbing.domain.entity.sys; -import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; @@ -8,8 +7,6 @@ import org.hibernate.validator.constraints.Email; import org.hibernate.validator.constraints.Length; import org.hibernate.validator.constraints.NotBlank; -import javax.persistence.Column; -import javax.persistence.Entity; import javax.validation.constraints.Pattern; import java.util.List; @@ -21,7 +18,6 @@ import java.util.List; */ @EqualsAndHashCode(callSuper = true) @Data -@ApiModel public class SysUser extends BaseEntity { private static final long serialVersionUID = -2447528751353457021L; public static String table = "sys_user_info"; diff --git a/boot-service/src/main/java/com/xwbing/domain/entity/vo/PageSysAuthorityVo.java b/boot-service/src/main/java/com/xwbing/domain/entity/vo/PageSysAuthorityVo.java new file mode 100644 index 0000000..a57fbf0 --- /dev/null +++ b/boot-service/src/main/java/com/xwbing/domain/entity/vo/PageSysAuthorityVo.java @@ -0,0 +1,20 @@ +package com.xwbing.domain.entity.vo; + +import com.xwbing.domain.entity.sys.SysAuthority; +import com.xwbing.util.Pagination; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 项目名称: boot-module-demo + * 创建时间: 2018/1/18 15:52 + * 作者: xiangwb + * 说明: + */ +@Data +@ApiModel +public class PageSysAuthorityVo extends RestMessageVo { + @ApiModelProperty(value = "返回数据") + private Pagination data; +} diff --git a/boot-service/src/main/java/com/xwbing/domain/entity/vo/ListSysRoleVo.java b/boot-service/src/main/java/com/xwbing/domain/entity/vo/PageSysRoleVo.java similarity index 74% rename from boot-service/src/main/java/com/xwbing/domain/entity/vo/ListSysRoleVo.java rename to boot-service/src/main/java/com/xwbing/domain/entity/vo/PageSysRoleVo.java index 295ed91..aa0f44b 100644 --- a/boot-service/src/main/java/com/xwbing/domain/entity/vo/ListSysRoleVo.java +++ b/boot-service/src/main/java/com/xwbing/domain/entity/vo/PageSysRoleVo.java @@ -1,12 +1,11 @@ package com.xwbing.domain.entity.vo; import com.xwbing.domain.entity.sys.SysRole; +import com.xwbing.util.Pagination; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; -import java.util.List; - /** * 项目名称: boot-module-demo * 创建时间: 2018/1/18 15:57 @@ -15,7 +14,7 @@ import java.util.List; */ @Data @ApiModel -public class ListSysRoleVo extends RestMessageVo { +public class PageSysRoleVo extends RestMessageVo { @ApiModelProperty(value = "返回数据") - private List data; + private Pagination data; } diff --git a/boot-service/src/main/java/com/xwbing/domain/entity/vo/ListSysUserLoginInOutVo.java b/boot-service/src/main/java/com/xwbing/domain/entity/vo/PageSysUserLoginInOutVo.java similarity index 72% rename from boot-service/src/main/java/com/xwbing/domain/entity/vo/ListSysUserLoginInOutVo.java rename to boot-service/src/main/java/com/xwbing/domain/entity/vo/PageSysUserLoginInOutVo.java index ae8c27f..885c18a 100644 --- a/boot-service/src/main/java/com/xwbing/domain/entity/vo/ListSysUserLoginInOutVo.java +++ b/boot-service/src/main/java/com/xwbing/domain/entity/vo/PageSysUserLoginInOutVo.java @@ -1,12 +1,11 @@ package com.xwbing.domain.entity.vo; import com.xwbing.domain.entity.sys.SysUserLoginInOut; +import com.xwbing.util.Pagination; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; -import java.util.List; - /** * 项目名称: boot-module-demo * 创建时间: 2018/1/18 16:05 @@ -15,7 +14,7 @@ import java.util.List; */ @Data @ApiModel -public class ListSysUserLoginInOutVo extends RestMessageVo { +public class PageSysUserLoginInOutVo extends RestMessageVo { @ApiModelProperty(value = "返回数据") - private List data; + private Pagination data; } diff --git a/boot-service/src/main/java/com/xwbing/domain/entity/vo/ListSysUserVo.java b/boot-service/src/main/java/com/xwbing/domain/entity/vo/PageSysUserVo.java similarity index 74% rename from boot-service/src/main/java/com/xwbing/domain/entity/vo/ListSysUserVo.java rename to boot-service/src/main/java/com/xwbing/domain/entity/vo/PageSysUserVo.java index 5f5c1b4..bd123f9 100644 --- a/boot-service/src/main/java/com/xwbing/domain/entity/vo/ListSysUserVo.java +++ b/boot-service/src/main/java/com/xwbing/domain/entity/vo/PageSysUserVo.java @@ -1,12 +1,11 @@ package com.xwbing.domain.entity.vo; import com.xwbing.domain.entity.sys.SysUser; +import com.xwbing.util.Pagination; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; -import java.util.List; - /** * 项目名称: boot-module-demo * 创建时间: 2018/1/18 16:01 @@ -15,7 +14,7 @@ import java.util.List; */ @Data @ApiModel -public class ListSysUserVo extends RestMessageVo { +public class PageSysUserVo extends RestMessageVo { @ApiModelProperty(value = "返回数据") - private List data; + private Pagination data; } diff --git a/boot-service/src/main/java/com/xwbing/service/sys/SysAuthorityService.java b/boot-service/src/main/java/com/xwbing/service/sys/SysAuthorityService.java index 500aa61..7964514 100644 --- a/boot-service/src/main/java/com/xwbing/service/sys/SysAuthorityService.java +++ b/boot-service/src/main/java/com/xwbing/service/sys/SysAuthorityService.java @@ -1,11 +1,14 @@ package com.xwbing.service.sys; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; import com.xwbing.constant.CommonConstant; import com.xwbing.domain.entity.sys.SysAuthority; import com.xwbing.domain.entity.sys.SysRoleAuthority; import com.xwbing.domain.entity.vo.SysAuthVo; import com.xwbing.domain.mapper.sys.SysAuthorityMapper; import com.xwbing.exception.BusinessException; +import com.xwbing.util.Pagination; import com.xwbing.util.PassWordUtil; import com.xwbing.util.RestMessage; import org.apache.commons.collections.CollectionUtils; @@ -161,6 +164,21 @@ public class SysAuthorityService { return authorityMapper.find(map); } + /** + * 分页查询 + * + * @param enable + * @return + */ + public Pagination pageByEnable(String enable, Pagination page) { + Map map = new HashMap<>(); + if (StringUtils.isNotEmpty(enable)) { + map.put("enable", enable); + } + PageInfo pageInfo = PageHelper.startPage(page.getCurrentPage(), page.getPageSize()).doSelectPageInfo(() -> authorityMapper.find(map)); + return page.result(page, pageInfo); + } + /** * 根据状态查询所有子节点 * @@ -326,4 +344,3 @@ public class SysAuthorityService { return authorities.size() == 0; } } - diff --git a/boot-service/src/main/java/com/xwbing/service/sys/SysRoleService.java b/boot-service/src/main/java/com/xwbing/service/sys/SysRoleService.java index 1b0b1e5..9ed4b18 100644 --- a/boot-service/src/main/java/com/xwbing/service/sys/SysRoleService.java +++ b/boot-service/src/main/java/com/xwbing/service/sys/SysRoleService.java @@ -1,11 +1,14 @@ package com.xwbing.service.sys; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; import com.xwbing.constant.CommonConstant; import com.xwbing.domain.entity.sys.SysRole; import com.xwbing.domain.entity.sys.SysRoleAuthority; import com.xwbing.domain.entity.sys.SysUserRole; import com.xwbing.domain.mapper.sys.SysRoleMapper; import com.xwbing.exception.BusinessException; +import com.xwbing.util.Pagination; import com.xwbing.util.PassWordUtil; import com.xwbing.util.RestMessage; import org.apache.commons.collections.CollectionUtils; @@ -135,15 +138,16 @@ public class SysRoleService { } /** - * 根据是否启用列表查询 + * 根据是否启用查询 * * @param enable * @return */ - public List listAllByEnable(String enable) { + public Pagination pageByEnable(String enable, Pagination page) { Map map = new HashMap<>(); map.put("enable", enable); - return roleMapper.find(map); + PageInfo pageInfo = PageHelper.startPage(page.getCurrentPage(), page.getPageSize()).doSelectPageInfo(() -> roleMapper.find(map)); + return page.result(page, pageInfo); } /** @@ -193,4 +197,3 @@ public class SysRoleService { return sysRoles.size() == 0; } } - diff --git a/boot-service/src/main/java/com/xwbing/service/sys/SysUserLoginInOutService.java b/boot-service/src/main/java/com/xwbing/service/sys/SysUserLoginInOutService.java index 8ac06f4..349b8fc 100644 --- a/boot-service/src/main/java/com/xwbing/service/sys/SysUserLoginInOutService.java +++ b/boot-service/src/main/java/com/xwbing/service/sys/SysUserLoginInOutService.java @@ -1,8 +1,11 @@ package com.xwbing.service.sys; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; import com.xwbing.constant.CommonEnum; import com.xwbing.domain.entity.sys.SysUserLoginInOut; import com.xwbing.domain.mapper.sys.SysUserLoginInOutMapper; +import com.xwbing.util.Pagination; import com.xwbing.util.RestMessage; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; @@ -44,12 +47,12 @@ public class SysUserLoginInOutService { } /** - * 根据类型列表查询 + * 根据类型分页查询 * * @param inout * @return */ - public List listByType(int inout, String startDate, String endDate) { + public Pagination pageByType(int inout, String startDate, String endDate, Pagination page) { Map map = new HashMap<>(); map.put("inout", inout); if (StringUtils.isNotEmpty(startDate)) { @@ -58,7 +61,8 @@ public class SysUserLoginInOutService { if (StringUtils.isNotEmpty(endDate)) { map.put("endDate", endDate + " 23:59:59"); } - List list = loginInOutMapper.findByInoutType(map); + PageInfo pageInfo = PageHelper.startPage(page.getCurrentPage(), page.getPageSize()).doSelectPageInfo(() -> loginInOutMapper.findByInoutType(map)); + List list = pageInfo.getList(); if (CollectionUtils.isNotEmpty(list)) { list.forEach(inOut -> { //登录登出 @@ -66,7 +70,6 @@ public class SysUserLoginInOutService { inOut.setInoutTypeName(inOutEnum.getName()); }); } - return list; + return page.result(page, pageInfo); } } - diff --git a/boot-service/src/main/java/com/xwbing/service/sys/SysUserService.java b/boot-service/src/main/java/com/xwbing/service/sys/SysUserService.java index c59c78c..3c0155a 100644 --- a/boot-service/src/main/java/com/xwbing/service/sys/SysUserService.java +++ b/boot-service/src/main/java/com/xwbing/service/sys/SysUserService.java @@ -1,6 +1,8 @@ package com.xwbing.service.sys; import com.alibaba.fastjson.JSONObject; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; import com.xwbing.constant.CommonConstant; import com.xwbing.constant.CommonEnum; import com.xwbing.domain.entity.dto.UserDto; @@ -22,9 +24,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import java.io.BufferedOutputStream; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; +import java.util.*; import java.util.stream.Collectors; /** @@ -185,20 +185,29 @@ public class SysUserService { } /** - * 列表查询 + * 分页查询 * * @return */ - public List listAll() { - List all = userMapper.findAll(); + public Pagination page(String name, String sex, Pagination page) { + Map map = new HashMap<>(); + if (StringUtils.isNotEmpty(name)) { + map.put("name", name); + } + if (StringUtils.isNotEmpty(sex)) { + map.put("sex", sex); + } + PageInfo pageInfo = PageHelper.startPage(page.getCurrentPage(), page.getPageSize()).doSelectPageInfo(() -> userMapper.find(map)); + List all = pageInfo.getList(); if (CollectionUtils.isNotEmpty(all)) { all.forEach(sysUser -> { //性别 CommonEnum.SexEnum sexEnum = Arrays.stream(CommonEnum.SexEnum.values()).filter(obj -> obj.getCode().equals(sysUser.getSex())).findFirst().get(); sysUser.setSexName(sexEnum.getName()); }); + pageInfo.setList(all); } - return all; + return page.result(page, pageInfo); } /** @@ -466,4 +475,3 @@ public class SysUserService { return EmailUtil.sendTextEmail(emailModel); } } - diff --git a/boot-service/src/main/java/com/xwbing/util/Pagination.java b/boot-service/src/main/java/com/xwbing/util/Pagination.java new file mode 100644 index 0000000..9089c0e --- /dev/null +++ b/boot-service/src/main/java/com/xwbing/util/Pagination.java @@ -0,0 +1,63 @@ +package com.xwbing.util; + +import com.github.pagehelper.Page; +import com.github.pagehelper.PageInfo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * 项目名称: boot-module-pro + * 创建时间: 2018/5/7 9:56 + * 作者: xiangwb + * 说明: 分页基础类 + */ +@Data +@ApiModel +public class Pagination { + @ApiModelProperty(value = "当前页") + private Integer currentPage = 1; + @ApiModelProperty(value = "每页显示的总条数") + private Integer pageSize = 10; + @ApiModelProperty(value = "总条数") + private Long totalNum; + @ApiModelProperty(value = "是否有下一页") + private Boolean hasNext; + @ApiModelProperty(value = "总页数") + private Integer totalPage; + @ApiModelProperty(value = "分页结果") + private List items; + + public Pagination() { + super(); + } + + public Pagination(PageInfo pageInfo) { + super(); + this.currentPage = pageInfo.getPageNum(); + this.pageSize = pageInfo.getPageSize(); + this.totalNum = pageInfo.getTotal(); + this.totalPage = pageInfo.getPages(); + this.items = (List) JsonUtil.beanToMap(pageInfo.getList()); + this.hasNext = pageInfo.isHasNextPage(); + } + + public Pagination(Page page) { + super(); + this.currentPage = page.getPageNum(); + this.pageSize = page.getPageSize(); + this.totalNum = page.getTotal(); + this.totalPage = page.getPages(); + this.items = (List) JsonUtil.beanToMap(page); + } + + public Pagination result(Pagination page, PageInfo pageInfo) { + page.setTotalNum(pageInfo.getTotal()); + page.setTotalPage(pageInfo.getPages()); + page.setItems((List) JsonUtil.beanToMap(pageInfo.getList())); + page.setHasNext(pageInfo.isHasNextPage()); + return page; + } +} diff --git a/boot-service/src/main/resources/mapper/sys/SysUser.xml b/boot-service/src/main/resources/mapper/sys/SysUser.xml index 58bfca5..04c8678 100644 --- a/boot-service/src/main/resources/mapper/sys/SysUser.xml +++ b/boot-service/src/main/resources/mapper/sys/SysUser.xml @@ -27,6 +27,12 @@ + + name like CONCAT(#{name},'%') + + + and sex=#{sex} + diff --git a/boot-web/src/main/java/com/xwbing/controller/rest/TestControl.java b/boot-web/src/main/java/com/xwbing/controller/rest/TestControl.java index a7a6a68..ea9f168 100644 --- a/boot-web/src/main/java/com/xwbing/controller/rest/TestControl.java +++ b/boot-web/src/main/java/com/xwbing/controller/rest/TestControl.java @@ -14,7 +14,6 @@ import io.swagger.annotations.ApiImplicitParam; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; -import org.springframework.data.domain.Sort; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; diff --git a/boot-web/src/main/java/com/xwbing/controller/sys/SysAuthorityControl.java b/boot-web/src/main/java/com/xwbing/controller/sys/SysAuthorityControl.java index a01dd89..01d38aa 100644 --- a/boot-web/src/main/java/com/xwbing/controller/sys/SysAuthorityControl.java +++ b/boot-web/src/main/java/com/xwbing/controller/sys/SysAuthorityControl.java @@ -7,17 +7,21 @@ import com.xwbing.constant.CommonConstant; import com.xwbing.constant.CommonEnum; import com.xwbing.domain.entity.sys.SysAuthority; import com.xwbing.domain.entity.vo.ListSysAuthorityVo; +import com.xwbing.domain.entity.vo.PageSysAuthorityVo; import com.xwbing.domain.entity.vo.RestMessageVo; import com.xwbing.domain.entity.vo.SysAuthVo; import com.xwbing.redis.RedisService; import com.xwbing.service.sys.SysAuthorityService; import com.xwbing.util.JsonResult; +import com.xwbing.util.Pagination; import com.xwbing.util.RestMessage; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.apache.commons.lang3.StringUtils; import org.springframework.web.bind.annotation.*; +import springfox.documentation.annotations.ApiIgnore; import javax.annotation.Resource; import java.util.List; @@ -96,13 +100,17 @@ public class SysAuthorityControl { return JsonResult.toJSONObj(result); } - @LogInfo("根据是否启用查询所有权限") - @ApiOperation(value = "根据是否启用查询所有权限", response = ListSysAuthorityVo.class) - @ApiImplicitParam(name = "enable", value = "是否启用,格式Y|N", paramType = "query", dataType = "string") - @GetMapping("listByEnable") - public JSONObject listByEnable(String enable) { - List authoritys = sysAuthorityService.listByEnable(enable); - return JsonResult.toJSONObj(authoritys, ""); + @LogInfo("根据是否启用分页查询所有权限") + @ApiOperation(value = "根据是否启用分页查询所有权限", response = PageSysAuthorityVo.class) + @ApiImplicitParams({ + @ApiImplicitParam(name = "enable", value = "是否启用,格式Y|N", paramType = "query", dataType = "string"), + @ApiImplicitParam(name = "currentPage", value = "当前页", paramType = "query", dataType = "int"), + @ApiImplicitParam(name = "pageSize", value = "页数", paramType = "query", dataType = "int") + }) + @GetMapping("pageByEnable") + public JSONObject pageByEnable(String enable, @ApiIgnore Pagination page) { + Pagination pagination = sysAuthorityService.pageByEnable(enable, page); + return JsonResult.toJSONObj(pagination, ""); } @LogInfo("根据父节点查询子节点") diff --git a/boot-web/src/main/java/com/xwbing/controller/sys/SysRoleControl.java b/boot-web/src/main/java/com/xwbing/controller/sys/SysRoleControl.java index dc306ed..563bc47 100644 --- a/boot-web/src/main/java/com/xwbing/controller/sys/SysRoleControl.java +++ b/boot-web/src/main/java/com/xwbing/controller/sys/SysRoleControl.java @@ -5,19 +5,22 @@ import com.xwbing.annotation.LogInfo; import com.xwbing.domain.entity.sys.SysAuthority; import com.xwbing.domain.entity.sys.SysRole; import com.xwbing.domain.entity.sys.SysRoleAuthority; -import com.xwbing.domain.entity.vo.ListSysRoleVo; +import com.xwbing.domain.entity.vo.PageSysRoleVo; import com.xwbing.domain.entity.vo.RestMessageVo; import com.xwbing.domain.entity.vo.SysRoleVo; import com.xwbing.service.sys.SysAuthorityService; import com.xwbing.service.sys.SysRoleAuthorityService; import com.xwbing.service.sys.SysRoleService; import com.xwbing.util.JsonResult; +import com.xwbing.util.Pagination; import com.xwbing.util.RestMessage; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.apache.commons.lang3.StringUtils; import org.springframework.web.bind.annotation.*; +import springfox.documentation.annotations.ApiIgnore; import javax.annotation.Resource; import java.util.ArrayList; @@ -85,17 +88,21 @@ public class SysRoleControl { return JsonResult.toJSONObj(sysRole, ""); } - @LogInfo("根据是否启用查询所有角色") - @ApiOperation(value = "根据是否启用查询所有角色", response = ListSysRoleVo.class) - @ApiImplicitParam(name = "enable", value = "是否启用,格式Y|N", paramType = "query", dataType = "string") - @GetMapping("listByEnable") - public JSONObject listByEnable(String enable) { - List sysRoles = sysRoleService.listAllByEnable(enable); - return JsonResult.toJSONObj(sysRoles, ""); + @LogInfo("根据是否启用分页查询所有角色") + @ApiOperation(value = "根据是否启用分页查询所有角色", response = PageSysRoleVo.class) + @ApiImplicitParams({ + @ApiImplicitParam(name = "enable", value = "是否启用,格式Y|N", paramType = "query", dataType = "string"), + @ApiImplicitParam(name = "currentPage", value = "当前页", paramType = "query", dataType = "int"), + @ApiImplicitParam(name = "pageSize", value = "页数", paramType = "query", dataType = "int") + }) + @GetMapping("pageByEnable") + public JSONObject pageByEnable(String enable, @ApiIgnore Pagination page) { + Pagination pagination = sysRoleService.pageByEnable(enable, page); + return JsonResult.toJSONObj(pagination, ""); } @LogInfo("根据角色主键查找权限") - @ApiOperation(value = "根据角色主键查找权限", response = ListSysRoleVo.class) + @ApiOperation(value = "根据角色主键查找权限", response = PageSysRoleVo.class) @ApiImplicitParam(name = "enable", value = "是否启用,格式Y|N", paramType = "query", dataType = "string") @GetMapping("listAuthorityByRoleId") public JSONObject listAuthorityByRoleId(@RequestParam String roleId, String enable) { diff --git a/boot-web/src/main/java/com/xwbing/controller/sys/SysUserControl.java b/boot-web/src/main/java/com/xwbing/controller/sys/SysUserControl.java index cd16308..f4a3c54 100644 --- a/boot-web/src/main/java/com/xwbing/controller/sys/SysUserControl.java +++ b/boot-web/src/main/java/com/xwbing/controller/sys/SysUserControl.java @@ -12,16 +12,12 @@ import com.xwbing.service.sys.SysAuthorityService; import com.xwbing.service.sys.SysRoleService; import com.xwbing.service.sys.SysUserRoleService; import com.xwbing.service.sys.SysUserService; -import com.xwbing.util.CommonDataUtil; -import com.xwbing.util.JsonResult; -import com.xwbing.util.RestMessage; -import com.xwbing.util.ThreadLocalUtil; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiImplicitParam; -import io.swagger.annotations.ApiOperation; +import com.xwbing.util.*; +import io.swagger.annotations.*; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.web.bind.annotation.*; +import springfox.documentation.annotations.ApiIgnore; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; @@ -94,12 +90,18 @@ public class SysUserControl { return JsonResult.toJSONObj(sysUser, ""); } - @LogInfo("列表查询所有用户") - @ApiOperation(value = "列表查询所有用户", response = ListSysUserVo.class) - @GetMapping("listAll") - public JSONObject listAll() { - List list = sysUserService.listAll(); - return JsonResult.toJSONObj(list, ""); + @LogInfo("查询所有用户") + @ApiOperation(value = "查询所有用户", response = PageSysUserVo.class) + @ApiImplicitParams({ + @ApiImplicitParam(name = "name", value = "名字", paramType = "query", dataType = "string"), + @ApiImplicitParam(name = "sex", value = "性别", paramType = "query", dataType = "string"), + @ApiImplicitParam(name = "currentPage", value = "当前页", paramType = "query", dataType = "int"), + @ApiImplicitParam(name = "pageSize", value = "页数", paramType = "query", dataType = "int") + }) + @GetMapping("page") + public JSONObject page(String name, String sex, @ApiIgnore Pagination page) { + Pagination pagination = sysUserService.page(name, sex, page); + return JsonResult.toJSONObj(pagination, ""); } @LogInfo("登录") @@ -212,7 +214,7 @@ public class SysUserControl { } @LogInfo("根据用户主键查找所拥有的角色") - @ApiOperation(value = "根据用户主键查找所拥有的角色", response = ListSysRoleVo.class) + @ApiOperation(value = "根据用户主键查找所拥有的角色", response = PageSysRoleVo.class) @ApiImplicitParam(name = "enable", value = "是否启用,格式Y|N", paramType = "query", dataType = "string") @GetMapping("listRoleByUserId") public JSONObject listRoleByUserId(@RequestParam String userId, String enable) { @@ -224,7 +226,7 @@ public class SysUserControl { } @LogInfo("根据用户主键查找所拥有的权限") - @ApiOperation(value = "根据用户主键查找所拥有的权限", response = ListSysAuthorityVo.class) + @ApiOperation(value = "根据用户主键查找所拥有的权限", response = PageSysAuthorityVo.class) @ApiImplicitParam(name = "enable", value = "是否启用,格式Y|N", paramType = "query", dataType = "string") @GetMapping("listAuthorityByUserId") public JSONObject listAuthorityByUserId(@RequestParam String userId, String enable) { diff --git a/boot-web/src/main/java/com/xwbing/controller/sys/SysUserLoginInOutControl.java b/boot-web/src/main/java/com/xwbing/controller/sys/SysUserLoginInOutControl.java index 9f88435..e9be1ee 100644 --- a/boot-web/src/main/java/com/xwbing/controller/sys/SysUserLoginInOutControl.java +++ b/boot-web/src/main/java/com/xwbing/controller/sys/SysUserLoginInOutControl.java @@ -2,19 +2,21 @@ package com.xwbing.controller.sys; import com.alibaba.fastjson.JSONObject; import com.xwbing.annotation.LogInfo; -import com.xwbing.domain.entity.sys.SysUserLoginInOut; -import com.xwbing.domain.entity.vo.ListSysUserLoginInOutVo; +import com.xwbing.domain.entity.vo.PageSysUserLoginInOutVo; import com.xwbing.service.sys.SysUserLoginInOutService; import com.xwbing.util.JsonResult; +import com.xwbing.util.Pagination; import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; +import springfox.documentation.annotations.ApiIgnore; import javax.annotation.Resource; -import java.util.List; /** * 项目名称: boot-module-demo @@ -30,10 +32,14 @@ public class SysUserLoginInOutControl { private SysUserLoginInOutService inOutService; @LogInfo("获取登录或登出信息") - @ApiOperation(value = "获取登录或登出信息", response = ListSysUserLoginInOutVo.class) - @GetMapping("listByType") - public JSONObject listByType(@RequestParam int inout,@RequestParam String startDate,@RequestParam String endDate) { - List sysUserLoginInOuts = inOutService.listByType(inout,startDate,endDate); - return JsonResult.toJSONObj(sysUserLoginInOuts, "获取列表成功"); + @ApiOperation(value = "获取登录或登出信息", response = PageSysUserLoginInOutVo.class) + @ApiImplicitParams({ + @ApiImplicitParam(name = "currentPage", value = "当前页", paramType = "query", dataType = "int"), + @ApiImplicitParam(name = "pageSize", value = "页数", paramType = "query", dataType = "int") + }) + @GetMapping("pageByType") + public JSONObject pageByType(@RequestParam int inout, @RequestParam String startDate, @RequestParam String endDate, @ApiIgnore Pagination page) { + Pagination pagination = inOutService.pageByType(inout, startDate, endDate, page); + return JsonResult.toJSONObj(pagination, "获取列表成功"); } } diff --git a/boot-web/src/main/resources/application.yml b/boot-web/src/main/resources/application.yml index 4a23c27..8063139 100644 --- a/boot-web/src/main/resources/application.yml +++ b/boot-web/src/main/resources/application.yml @@ -63,9 +63,11 @@ spring: size: 1 #mybatis mybatis: - mapper-locations: #classpath:mapper/*.xml + mapper-locations: #classpath:mapper/**/*.xml type-aliases-package: #com.xwbing.domain.entity config-location: # classpath:mybatisConfig.xml +pagehelper: + helper-dialect: mysql #log logging: config: classpath:log4j2.xml diff --git a/boot-web/src/test/java/com/xwbing/service/ServiceTest.java b/boot-web/src/test/java/com/xwbing/service/ServiceTest.java index 49b8841..58a08dc 100644 --- a/boot-web/src/test/java/com/xwbing/service/ServiceTest.java +++ b/boot-web/src/test/java/com/xwbing/service/ServiceTest.java @@ -1,17 +1,23 @@ package com.xwbing.service; import com.alibaba.fastjson.JSONObject; +import com.github.pagehelper.Page; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; import com.xwbing.BaseTest; import com.xwbing.domain.entity.ExpressInfo; import com.xwbing.domain.entity.sys.DataDictionary; import com.xwbing.domain.entity.sys.SysRole; +import com.xwbing.domain.entity.sys.SysUserLoginInOut; import com.xwbing.domain.entity.vo.ExpressInfoVo; +import com.xwbing.domain.mapper.sys.SysUserLoginInOutMapper; import com.xwbing.rabbit.Sender; import com.xwbing.redis.RedisService; import com.xwbing.service.rest.ExpressDeliveryService; import com.xwbing.service.rest.QRCodeZipService; import com.xwbing.service.sys.DataDictionaryService; import com.xwbing.service.sys.SysRoleService; +import com.xwbing.util.Pagination; import com.xwbing.util.RSAUtil; import com.xwbing.util.RestMessage; import lombok.extern.slf4j.Slf4j; @@ -24,7 +30,9 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.io.File; import java.io.IOException; +import java.util.HashMap; import java.util.List; +import java.util.Map; /** * 项目名称: boot-module-demo @@ -46,12 +54,26 @@ public class ServiceTest extends BaseTest { private SysRoleService sysRoleService; @Resource private DataDictionaryService dictionaryService; + @Resource + private SysUserLoginInOutMapper loginInOutMapper; + + @Test + public void page() { + log.info("分页功能测试"); + Map map = new HashMap<>(); + map.put("inout", 1); + Page page = PageHelper.startPage(1, 10).doSelectPage(() -> loginInOutMapper.findByInoutType(map)); + PageInfo pageInfo = PageHelper.startPage(1, 10).doSelectPageInfo(() -> loginInOutMapper.findByInoutType(map)); + Pagination page1 = new Pagination(pageInfo); + Pagination page2 = new Pagination(page); + long count = PageHelper.count(() -> loginInOutMapper.findByInoutType(map)); + } @Transactional("jpaTransactionManager") @Test public void jpaTransactionTest() { log.info("jpa数据源事务回滚"); - DataDictionary dictionary=new DataDictionary(); + DataDictionary dictionary = new DataDictionary(); dictionary.setDescription("serviceTest"); dictionary.setEnable("Y"); dictionary.setCode("serviceTest"); diff --git a/boot-web/src/test/java/com/xwbing/service/SysRoleServiceTest.java b/boot-web/src/test/java/com/xwbing/service/SysRoleServiceTest.java index f597859..2a878d1 100644 --- a/boot-web/src/test/java/com/xwbing/service/SysRoleServiceTest.java +++ b/boot-web/src/test/java/com/xwbing/service/SysRoleServiceTest.java @@ -4,6 +4,7 @@ import com.xwbing.BaseTest; import com.xwbing.domain.entity.sys.SysRole; import com.xwbing.domain.mapper.sys.SysRoleMapper; import com.xwbing.service.sys.SysRoleService; +import com.xwbing.util.Pagination; import com.xwbing.util.RestMessage; import org.junit.Assert; import org.junit.Test; @@ -39,7 +40,7 @@ public class SysRoleServiceTest extends BaseTest { Assert.assertTrue(rest.getMessage(), rest.isSuccess()); Assert.assertNotSame("修改失败", sysRole, sysRoleService.getById(rest.getId())); //listAllByEnable - Assert.assertNotNull(sysRoleService.listAllByEnable("Y")); + Assert.assertNotNull(sysRoleService.pageByEnable("Y", new Pagination<>())); //removeById Assert.assertTrue("删除失败", sysRoleService.removeById(rest.getId()).isSuccess()); //............................