diff --git a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/AdminApplication.java b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/AdminApplication.java index 9991febc..258d7ff4 100644 --- a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/AdminApplication.java +++ b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/AdminApplication.java @@ -5,13 +5,11 @@ import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; import org.springframework.context.annotation.ComponentScan; -import org.springframework.data.mongodb.repository.config.EnableMongoRepositories; @SpringBootApplication @MapperScan("com.nflg.mobilebroken.repository.mapper") @ComponentScan(basePackages = {"com.nflg.mobilebroken.repository.service", "com.nflg.mobilebroken.admin" , "com.nflg.mobilebroken.starter"}) -@EnableMongoRepositories(basePackages = "com.nflg.mobilebroken.repository.service") @EnableDiscoveryClient public class AdminApplication { diff --git a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/MenuController.java b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/MenuController.java index 16534092..5969c323 100644 --- a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/MenuController.java +++ b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/MenuController.java @@ -39,14 +39,13 @@ public class MenuController extends ControllerBase { private IAdminMenuButtonApiMapService adminMenuButtonApiMapService; /** - * 获取所有菜单 - * - * @return 菜单列表 + * 搜索菜单 + * @param request 请求信息 */ - @GetMapping("getAllMenu") - @MethodInfoMark(value = "获取所有菜单", menuName = "菜单管理") - public ApiResult> getAllMenu(@RequestBody PageRequest request) { - return ApiResult.success(adminMenuService.getAll(request)); + @PostMapping("searchMenu") + @MethodInfoMark(value = "搜索菜单", menuName = "菜单管理") + public ApiResult> searchMenu(@Valid @RequestBody MenuSearchRequest request) { + return ApiResult.success(adminMenuService.search(request)); } /** diff --git a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/RoleController.java b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/RoleController.java index 621153e2..c0ea12eb 100644 --- a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/RoleController.java +++ b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/RoleController.java @@ -1,9 +1,11 @@ package com.nflg.mobilebroken.admin.controller; import com.nflg.mobilebroken.common.pojo.ApiResult; +import com.nflg.mobilebroken.common.pojo.PageData; import com.nflg.mobilebroken.common.pojo.request.*; import com.nflg.mobilebroken.common.pojo.vo.AdminUserVO; import com.nflg.mobilebroken.common.pojo.vo.AuthorizeMenuVO; +import com.nflg.mobilebroken.common.pojo.vo.RoleVO; import com.nflg.mobilebroken.repository.service.*; import com.nflg.mobilebroken.starter.annotation.MethodInfoMark; import org.springframework.transaction.annotation.Transactional; @@ -61,6 +63,17 @@ public class RoleController extends ControllerBase { return ApiResult.success(); } + /** + * 搜索角色 + * + * @param request 请求参数 + */ + @PostMapping("searchRoles") + @MethodInfoMark(value = "搜索角色", menuName = "角色管理") + public ApiResult> searchRoles(@Valid @RequestBody RoleSearchRequest request) { + return ApiResult.success(adminRoleService.search(request)); + } + /** * 启用/禁用角色 * diff --git a/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/CfsApplication.java b/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/CfsApplication.java index 48da3cac..7e34845b 100644 --- a/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/CfsApplication.java +++ b/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/CfsApplication.java @@ -5,13 +5,11 @@ import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; import org.springframework.context.annotation.ComponentScan; -import org.springframework.data.mongodb.repository.config.EnableMongoRepositories; @SpringBootApplication @MapperScan("com.nflg.mobilebroken.repository.mapper") @ComponentScan(basePackages = {"com.nflg.mobilebroken.repository.service", "com.nflg.mobilebroken.cfs" ,"com.nflg.mobilebroken.starter"}) -@EnableMongoRepositories(basePackages = "com.nflg.mobilebroken.repository.service") @EnableDiscoveryClient public class CfsApplication { diff --git a/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/controller/TiketController.java b/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/controller/TiketController.java index a55ac970..eb404692 100644 --- a/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/controller/TiketController.java +++ b/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/controller/TiketController.java @@ -1,6 +1,7 @@ package com.nflg.mobilebroken.cfs.controller; import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.nflg.mobilebroken.common.constant.TicketState; import com.nflg.mobilebroken.common.pojo.ApiResult; import com.nflg.mobilebroken.common.pojo.PageData; @@ -8,9 +9,8 @@ import com.nflg.mobilebroken.common.pojo.request.*; import com.nflg.mobilebroken.common.pojo.vo.*; import com.nflg.mobilebroken.common.util.AppUserUtil; import com.nflg.mobilebroken.common.util.MultilingualUtil; -import com.nflg.mobilebroken.repository.entity.AppUser; -import com.nflg.mobilebroken.repository.entity.Ticket; -import com.nflg.mobilebroken.repository.entity.TicketChat; +import com.nflg.mobilebroken.common.util.PageUtil; +import com.nflg.mobilebroken.repository.entity.*; import com.nflg.mobilebroken.repository.service.*; import org.springframework.web.bind.annotation.*; @@ -58,6 +58,15 @@ public class TiketController extends ControllerBase { @Resource private IDictionaryItemTranslateService dictionaryItemTranslateService; + @Resource + private IAdminUserService adminUserService; + + @Resource + private IAppAreaService appAreaService; + + @Resource + private ITBaseCustomerService customerService; + /** * 搜索设备 * @@ -109,7 +118,14 @@ public class TiketController extends ControllerBase { **/ @PostMapping("searchTickets") public ApiResult> searchTickets(@Valid @RequestBody TicketSearchRequest request){ - return ApiResult.success(ticketService.search(request, AppUserUtil.getUser())); + IPage datas = ticketService.search(request, AppUserUtil.getUser()); + return ApiResult.success(PageUtil.convert(datas, d -> { + if (StrUtil.isNotBlank(d.getHandle())) { + List adminUsers = adminUserService.listByIds(StrUtil.split(",", d.getHandle())); + d.setHandleBy(adminUsers.stream().map(AdminUser::getUserName).collect(Collectors.toList())); + } + return d; + })); } /** @@ -132,14 +148,19 @@ public class TiketController extends ControllerBase { public ApiResult getTicket(@Valid @RequestParam @NotNull Integer id) { Ticket ticket = ticketService.getById(id); AppUser user = appUserService.getById(ticket.getUserId()); + AppArea appArea = appAreaService.getById(user.getAreaId()); + TBaseCustomer company = customerService.getById(Integer.valueOf(user.getCompanyId())); TicketInfoVO vo = new TicketInfoVO() .setId(ticket.getId()) + .setTitle(ticket.getTitle()) .setDescription(ticket.getDescription()) .setState(ticket.getState()) - .setAttachments(StrUtil.split(",", ticket.getAttachments())) + .setAttachments(StrUtil.isNotBlank(ticket.getAttachments()) ? StrUtil.split(",", ticket.getAttachments()) : Collections.emptyList()) .setCreateUserId(ticket.getUserId()) .setCreateUserName(user.getName()) - .setCreateUserAvatar(user.getAvatar()); + .setCreateUserAvatar(user.getAvatar()) + .setAreaName(appArea.getName()) + .setCompanyName(company.getAgencyCompanyName()); return ApiResult.success(vo); } diff --git a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/MenuSearchRequest.java b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/MenuSearchRequest.java new file mode 100644 index 00000000..2481f53a --- /dev/null +++ b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/MenuSearchRequest.java @@ -0,0 +1,12 @@ +package com.nflg.mobilebroken.common.pojo.request; + +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = false) +@Data +public class MenuSearchRequest extends PageRequest { + + //菜单名称 + private String name; +} diff --git a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/RoleSearchRequest.java b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/RoleSearchRequest.java new file mode 100644 index 00000000..ca51b3aa --- /dev/null +++ b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/RoleSearchRequest.java @@ -0,0 +1,11 @@ +package com.nflg.mobilebroken.common.pojo.request; + +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = false) +@Data +public class RoleSearchRequest extends PageRequest { + + private String name; +} diff --git a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/MenuVO.java b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/MenuVO.java index 2e68b276..2221cc99 100644 --- a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/MenuVO.java +++ b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/MenuVO.java @@ -3,6 +3,7 @@ package com.nflg.mobilebroken.common.pojo.vo; import lombok.Data; import java.time.LocalDateTime; +import java.util.ArrayList; import java.util.List; @Data @@ -10,6 +11,9 @@ public class MenuVO { private Integer id; + //父级菜单id + private Integer parentId; + // 菜单名称 private String name; @@ -38,5 +42,5 @@ public class MenuVO { private LocalDateTime updateTime; //下级菜单 - private List children; + private List children = new ArrayList<>(); } diff --git a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/RoleVO.java b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/RoleVO.java new file mode 100644 index 00000000..ee9383e8 --- /dev/null +++ b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/RoleVO.java @@ -0,0 +1,25 @@ +package com.nflg.mobilebroken.common.pojo.vo; + +import lombok.Data; + +import java.time.LocalDateTime; + +@Data +public class RoleVO { + + //创建人 + public String createBy; + //创建时间 + public LocalDateTime createTime; + //更新人 + public String updateBy; + //更新时间 + public LocalDateTime updateTime; + private Integer id; + //角色编号 + private String code; + //角色名称 + private String name; + //是否启用 + private boolean enable; +} diff --git a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/TicketInfoVO.java b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/TicketInfoVO.java index c46fd592..f00af71d 100644 --- a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/TicketInfoVO.java +++ b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/TicketInfoVO.java @@ -30,6 +30,12 @@ public class TicketInfoVO { //工单状态 private Byte state; + //所属公司 + private String companyName; + + //所属区域 + private String areaName; + //附件 private List attachments; } diff --git a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/TicketVO.java b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/TicketVO.java index ae9e7e68..9e25a0a9 100644 --- a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/TicketVO.java +++ b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/TicketVO.java @@ -1,5 +1,7 @@ package com.nflg.mobilebroken.common.pojo.vo; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.nflg.mobilebroken.common.constant.TicketState; import lombok.Data; import lombok.experimental.Accessors; @@ -31,12 +33,22 @@ public class TicketVO { //创建时间 private LocalDateTime createTime; + @JsonIgnore + private String handle; + //处理人 private List handleBy; + @JsonIgnore + private byte state; + //工单状态 private String stateDesc; + public String getStateDesc() { + return TicketState.findByValue(state).getDescription(); + } + //区域名称 private String areaName; diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/mapper/AdminRoleMapper.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/mapper/AdminRoleMapper.java index 06d3988e..ba59a273 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/mapper/AdminRoleMapper.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/mapper/AdminRoleMapper.java @@ -1,8 +1,12 @@ package com.nflg.mobilebroken.repository.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.nflg.mobilebroken.common.pojo.request.RoleSearchRequest; import com.nflg.mobilebroken.common.pojo.vo.ButtonVO; import com.nflg.mobilebroken.common.pojo.vo.MenuVO; +import com.nflg.mobilebroken.common.pojo.vo.RoleVO; import com.nflg.mobilebroken.repository.entity.AdminRole; import java.util.List; @@ -22,4 +26,6 @@ public interface AdminRoleMapper extends BaseMapper { List getMenusByRoleCodes(List roleCodes); List getButtonsByRoleCodes(List roleCodes); + + IPage search(RoleSearchRequest request, Page page); } diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/IAdminMenuService.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/IAdminMenuService.java index 8f4d42b8..5023174c 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/IAdminMenuService.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/IAdminMenuService.java @@ -1,11 +1,9 @@ package com.nflg.mobilebroken.repository.service; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import com.nflg.mobilebroken.common.pojo.PageData; -import com.nflg.mobilebroken.common.pojo.request.EnableMenuRequest; -import com.nflg.mobilebroken.common.pojo.request.MenuAddRequest; -import com.nflg.mobilebroken.common.pojo.request.MenuUpdateRequest; -import com.nflg.mobilebroken.common.pojo.request.PageRequest; +import com.nflg.mobilebroken.common.pojo.request.*; import com.nflg.mobilebroken.common.pojo.vo.AuthorizeMenuVO; import com.nflg.mobilebroken.common.pojo.vo.MenuVO; import com.nflg.mobilebroken.repository.entity.AdminMenu; @@ -31,4 +29,6 @@ public interface IAdminMenuService extends IService { void enableMenu(EnableMenuRequest request); List getMenuForAuthorize(Integer roleId); + + IPage search(MenuSearchRequest request); } diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/IAdminRoleService.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/IAdminRoleService.java index 10853c9b..22aadbbd 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/IAdminRoleService.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/IAdminRoleService.java @@ -1,11 +1,14 @@ package com.nflg.mobilebroken.repository.service; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import com.nflg.mobilebroken.common.pojo.request.EnableRoleRequest; import com.nflg.mobilebroken.common.pojo.request.RoleAddRequest; +import com.nflg.mobilebroken.common.pojo.request.RoleSearchRequest; import com.nflg.mobilebroken.common.pojo.request.RoleUpdateRequest; import com.nflg.mobilebroken.common.pojo.vo.ButtonVO; import com.nflg.mobilebroken.common.pojo.vo.MenuVO; +import com.nflg.mobilebroken.common.pojo.vo.RoleVO; import com.nflg.mobilebroken.repository.entity.AdminRole; import java.util.List; @@ -31,4 +34,6 @@ public interface IAdminRoleService extends IService { List getMenusByRoleCodes(List roles); List getButtonsByRoleCodes(List roles); + + IPage search(RoleSearchRequest request); } diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/AdminMenuServiceImpl.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/AdminMenuServiceImpl.java index b50b8d0e..c8a74f0c 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/AdminMenuServiceImpl.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/AdminMenuServiceImpl.java @@ -2,14 +2,13 @@ package com.nflg.mobilebroken.repository.service.impl; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.convert.Convert; +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.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.nflg.mobilebroken.common.pojo.PageData; -import com.nflg.mobilebroken.common.pojo.request.EnableMenuRequest; -import com.nflg.mobilebroken.common.pojo.request.MenuAddRequest; -import com.nflg.mobilebroken.common.pojo.request.MenuUpdateRequest; -import com.nflg.mobilebroken.common.pojo.request.PageRequest; +import com.nflg.mobilebroken.common.pojo.request.*; import com.nflg.mobilebroken.common.pojo.vo.AuthorizeMenuVO; import com.nflg.mobilebroken.common.pojo.vo.MenuVO; import com.nflg.mobilebroken.common.util.AdminUserUtil; @@ -27,7 +26,10 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.Iterator; import java.util.List; +import java.util.Objects; import java.util.stream.Collectors; /** @@ -115,6 +117,118 @@ public class AdminMenuServiceImpl extends ServiceImpl search(MenuSearchRequest request) { + if (StrUtil.isBlank(request.getName())) { + return getPage(request); + } else { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + if (StrUtil.isNotBlank(request.getName())) { + queryWrapper.like(AdminMenu::getName, request.getName()); + } + queryWrapper.orderByDesc(AdminMenu::getId); + List list = baseMapper.selectList(queryWrapper); + //找出非根节点 + List roots = list.stream().filter(l -> Objects.equals(l.getParentId(), 0)).collect(Collectors.toList()); + List children = convert(CollectionUtil.subtractToList(list, roots)); + if (CollectionUtil.isEmpty(children)) { + return convertToPage1(roots, request.getPage(), request.getPageSize()); + } + List datas = new ArrayList<>(); + for (MenuVO c : children) { + if (datas.stream().noneMatch(i -> i.getId().equals(c.getId()))) { + datas.add(c); + } + getParent(c, datas); + } + Iterator it = datas.iterator(); + while (it.hasNext()) { + MenuVO d = it.next(); + MenuVO aa = datas.stream().filter(r -> Objects.equals(d.getParentId(), r.getId())).findFirst().orElse(null); + if (Objects.nonNull(aa)) { + aa.getChildren().add(d); + it.remove(); + } + } + roots.removeIf(r -> datas.stream().map(MenuVO::getId).anyMatch(i -> i.equals(r.getId()))); + if (CollectionUtil.isNotEmpty(roots)) { + datas.addAll(convert(roots)); + } + datas.sort((o1, o2) -> o1.getId().compareTo(o2.getId())); + return convertToPage2(datas, request.getPage(), request.getPageSize()); + } + } + + private void getParent(MenuVO child, List datas) { + AdminMenu parent = lambdaQuery().eq(AdminMenu::getId, child.getParentId()).one(); + if (Objects.nonNull(parent)) { + if (datas.stream().noneMatch(i -> i.getId().equals(parent.getId()))) { + MenuVO p = convert(parent); + datas.add(p); + getParent(p, datas); + } + } + } + + private IPage convertToPage1(List list, Integer pageNum, Integer pageSize) { + int num = (pageNum - 1) * pageSize; + if (num >= list.size()) { + return new Page<>(); + } + list = list.stream().skip(num).limit(pageSize).collect(Collectors.toList()); + IPage page = new Page<>(); + page.setRecords(convert(list)); + page.setTotal(list.size()); + page.setCurrent(pageNum); + return page; + } + + private IPage convertToPage2(List list, Integer pageNum, Integer pageSize) { + int num = (pageNum - 1) * pageSize; + if (num >= list.size()) { + return new Page<>(); + } + list = list.stream().skip(num).limit(pageSize).collect(Collectors.toList()); + IPage page = new Page<>(); + page.setRecords(list); + page.setTotal(list.size()); + page.setCurrent(pageNum); + return page; + } + + private IPage getPage(MenuSearchRequest request) { + IPage page = new Page<>(); + page.setCurrent(request.getPage()); + page.setSize(request.getPageSize()); + lambdaQuery().eq(AdminMenu::getParentId, 0) + .orderByAsc(AdminMenu::getId) + .page(page); + List datas = convert(page.getRecords()); + datas.forEach(d -> d.setChildren(getChildren(d.getId()))); + IPage po = new Page<>(); + po.setSize(page.getSize()); + po.setCurrent(page.getCurrent()); + po.setTotal(page.getTotal()); + po.setRecords(datas); + return po; + } + + private List getChildren(Integer parentId) { + List datas = convert(lambdaQuery().eq(AdminMenu::getParentId, parentId) + .orderByAsc(AdminMenu::getId) + .list()); + datas.forEach(d -> d.setChildren(getChildren(d.getId()))); + return datas; + } + + private MenuVO convert(AdminMenu area) { + return Convert.convert(MenuVO.class, area); + } + + private List convert(List areas) { + return Convert.toList(MenuVO.class, areas); + } + private Boolean menuIsSelected(Integer roleId, Integer menuId) { return adminRoleMenuMapService.lambdaQuery() .eq(AdminRoleMenuMap::getMenuId, menuId) diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/AdminRoleServiceImpl.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/AdminRoleServiceImpl.java index 1afd9816..a946b8f1 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/AdminRoleServiceImpl.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/AdminRoleServiceImpl.java @@ -1,11 +1,15 @@ package com.nflg.mobilebroken.repository.service.impl; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.nflg.mobilebroken.common.pojo.request.EnableRoleRequest; import com.nflg.mobilebroken.common.pojo.request.RoleAddRequest; +import com.nflg.mobilebroken.common.pojo.request.RoleSearchRequest; import com.nflg.mobilebroken.common.pojo.request.RoleUpdateRequest; import com.nflg.mobilebroken.common.pojo.vo.ButtonVO; import com.nflg.mobilebroken.common.pojo.vo.MenuVO; +import com.nflg.mobilebroken.common.pojo.vo.RoleVO; import com.nflg.mobilebroken.common.util.AdminUserUtil; import com.nflg.mobilebroken.repository.entity.AdminRole; import com.nflg.mobilebroken.repository.mapper.AdminRoleMapper; @@ -73,4 +77,9 @@ public class AdminRoleServiceImpl extends ServiceImpl getButtonsByRoleCodes(List roleCodes) { return baseMapper.getButtonsByRoleCodes(roleCodes); } + + @Override + public IPage search(RoleSearchRequest request) { + return baseMapper.search(request, new Page<>(request.getPage(), request.getPageSize())); + } } diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/AppAreaServiceImpl.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/AppAreaServiceImpl.java index e64a647b..e555a532 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/AppAreaServiceImpl.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/AppAreaServiceImpl.java @@ -92,11 +92,11 @@ public class AppAreaServiceImpl extends ServiceImpl impl } private IPage convertToPage1(List list, Integer pageNum, Integer pageSize) { - int num = pageNum * pageSize; + int num = (pageNum - 1) * pageSize; if (num >= list.size()) { return new Page<>(); } - list = list.stream().skip(num).limit(pageNum).collect(Collectors.toList()); + list = list.stream().skip(num).limit(pageSize).collect(Collectors.toList()); IPage page = new Page<>(); page.setRecords(convert(list)); page.setTotal(list.size()); @@ -105,11 +105,11 @@ public class AppAreaServiceImpl extends ServiceImpl impl } private IPage convertToPage2(List list, Integer pageNum, Integer pageSize) { - int num = pageNum * pageSize; + int num = (pageNum - 1) * pageSize; if (num >= list.size()) { return new Page<>(); } - list = list.stream().skip(num).limit(pageNum).collect(Collectors.toList()); + list = list.stream().skip(num).limit(pageSize).collect(Collectors.toList()); IPage page = new Page<>(); page.setRecords(list); page.setTotal(list.size()); diff --git a/nflg-mobilebroken-repository/src/main/resources/mapper/AdminRoleMapper.xml b/nflg-mobilebroken-repository/src/main/resources/mapper/AdminRoleMapper.xml index 7ff25f01..54e42e28 100644 --- a/nflg-mobilebroken-repository/src/main/resources/mapper/AdminRoleMapper.xml +++ b/nflg-mobilebroken-repository/src/main/resources/mapper/AdminRoleMapper.xml @@ -45,4 +45,15 @@ #{code} + + diff --git a/nflg-mobilebroken-repository/src/main/resources/mapper/TicketMapper.xml b/nflg-mobilebroken-repository/src/main/resources/mapper/TicketMapper.xml index 0157f10a..41fa077d 100644 --- a/nflg-mobilebroken-repository/src/main/resources/mapper/TicketMapper.xml +++ b/nflg-mobilebroken-repository/src/main/resources/mapper/TicketMapper.xml @@ -65,29 +65,30 @@