use of com.baomidou.mybatisplus.extension.plugins.pagination.Page in project ox-data-cloud by ox-data.
the class BaseServiceImpl method getPageQuery.
protected Page<T> getPageQuery(PageRequest pageParam) {
Page<T> page = new Page<>(pageParam.getPage(), pageParam.getPerPage());
if (pageParam.getSort() != null) {
List<OrderItem> orderItems = new ArrayList<>();
for (String sortProperty : pageParam.getSort()) {
String sortType = "asc";
if (sortProperty.contains(",")) {
String[] sortArray = StringUtils.split(sortProperty, ",");
if (sortArray.length >= 1) {
sortType = sortArray[1];
}
OrderItem orderItem = new OrderItem(sortArray[0], "asc".equals(sortType));
orderItems.add(orderItem);
}
}
page.addOrder(orderItems);
}
return page;
}
use of com.baomidou.mybatisplus.extension.plugins.pagination.Page in project ballcat by ballcat-projects.
the class PageUtil method prodPage.
/**
* 根据 PageParam 生成一个 IPage 实例
* @param pageParam 分页参数
* @param <V> 返回的 Record 对象
* @return IPage<V>
*/
public static <V> IPage<V> prodPage(PageParam pageParam) {
Page<V> page = new Page<>(pageParam.getCurrent(), pageParam.getSize());
List<PageParam.Sort> sorts = pageParam.getSorts();
for (PageParam.Sort sort : sorts) {
OrderItem orderItem = sort.isAsc() ? OrderItem.asc(sort.getField()) : OrderItem.desc(sort.getField());
page.addOrder(orderItem);
}
return page;
}
use of com.baomidou.mybatisplus.extension.plugins.pagination.Page in project kms by mahonelau.
the class KmDocController method docDPCheck.
// 以下是ES库综合检索api
/**
* @param docId 指想排重的docid
* @param checkType
* @功能描述 传入指定的indexid,列出相似的文档
*/
@ApiOperation(value = "km_doc-排重检索", notes = "km_doc-排重检索")
@GetMapping(value = "/docDPCheck")
public Result<?> docDPCheck(String docId, String checkType, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest req) {
try {
KmDocEsParamVO kmDocEsParamVO = new KmDocEsParamVO();
kmDocEsParamVO.setColumn("_score");
kmDocEsParamVO.setOrder("desc");
KmDoc kmDoc = kmDocService.getById(docId);
if (kmDoc != null) {
String docTitle = kmDoc.getTitle();
if (checkType.equals("1") && docTitle != null && !docTitle.isEmpty())
kmDocEsParamVO.setTitle(docTitle);
Page<KmSearchResultVO> page = new Page<KmSearchResultVO>(pageNo, pageSize);
KmSearchResultObjVO kmSearchResultObjVO = kmDocService.checkDuplicateESKmDoc(page, kmDocEsParamVO, req);
if (kmSearchResultObjVO.isSuccess()) {
dictUtils.parseDictText(kmSearchResultObjVO);
return Result.OK(kmSearchResultObjVO);
} else
return Result.error(kmSearchResultObjVO.getMessage());
} else {
return Result.error("doc not found");
}
} catch (IOException e) {
return Result.error(e.getMessage());
}
}
use of com.baomidou.mybatisplus.extension.plugins.pagination.Page in project kms by mahonelau.
the class SysOnlineController method list.
@RequestMapping(value = "/list", method = RequestMethod.GET)
public Result<Page<SysOnlineVO>> list(@RequestParam(name = "username", required = false) String username, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
Collection<String> keys = redisTemplate.keys(CommonConstant.PREFIX_USER_TOKEN + "*");
SysOnlineVO online;
List<SysOnlineVO> onlineList = new ArrayList<SysOnlineVO>();
for (String key : keys) {
online = new SysOnlineVO();
String token = (String) redisUtil.get(key);
if (!StringUtils.isEmpty(token)) {
online.setToken(token);
LoginUser loginUser = sysBaseAPI.getUserByName(JwtUtil.getUsername(token));
BeanUtils.copyProperties(loginUser, online);
if (StringUtils.isNotEmpty(username)) {
if (StringUtils.equals(username, online.getUsername())) {
onlineList.add(online);
}
} else {
onlineList.add(online);
}
}
}
Page<SysOnlineVO> page = new Page<SysOnlineVO>(pageNo, pageSize);
int count = onlineList.size();
List<SysOnlineVO> pages = new ArrayList<>();
// 计算当前页第一条数据的下标
int currId = pageNo > 1 ? (pageNo - 1) * pageSize : 0;
for (int i = 0; i < pageSize && i < count - currId; i++) {
pages.add(onlineList.get(currId + i));
}
page.setSize(pageSize);
page.setCurrent(pageNo);
page.setTotal(count);
// 计算分页总页数
page.setPages(count % 10 == 0 ? count / 10 : count / 10 + 1);
page.setRecords(pages);
Collections.reverse(onlineList);
onlineList.removeAll(Collections.singleton(null));
Result<Page<SysOnlineVO>> result = new Result<Page<SysOnlineVO>>();
result.setSuccess(true);
result.setResult(page);
return result;
}
use of com.baomidou.mybatisplus.extension.plugins.pagination.Page in project kms by mahonelau.
the class SysAnnouncementController method listByUser.
/**
* @功能:补充用户数据,并返回系统消息
* @return
*/
@RequestMapping(value = "/listByUser", method = RequestMethod.GET)
public Result<Map<String, Object>> listByUser() {
Result<Map<String, Object>> result = new Result<Map<String, Object>>();
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
String userId = sysUser.getId();
// 1.将系统消息补充到用户通告阅读标记表中
LambdaQueryWrapper<SysAnnouncement> querySaWrapper = new LambdaQueryWrapper<SysAnnouncement>();
// 全部人员
querySaWrapper.eq(SysAnnouncement::getMsgType, CommonConstant.MSG_TYPE_ALL);
// 未删除
querySaWrapper.eq(SysAnnouncement::getDelFlag, CommonConstant.DEL_FLAG_0.toString());
// 已发布
querySaWrapper.eq(SysAnnouncement::getSendStatus, CommonConstant.HAS_SEND);
// 新注册用户不看结束通知
querySaWrapper.ge(SysAnnouncement::getEndTime, sysUser.getCreateTime());
// update-begin--Author:liusq Date:20210108 for:[JT-424] 【开源issue】bug处理--------------------
querySaWrapper.notInSql(SysAnnouncement::getId, "select annt_id from sys_announcement_send where user_id='" + userId + "'");
// update-begin--Author:liusq Date:20210108 for: [JT-424] 【开源issue】bug处理--------------------
List<SysAnnouncement> announcements = sysAnnouncementService.list(querySaWrapper);
if (announcements.size() > 0) {
for (int i = 0; i < announcements.size(); i++) {
// update-begin--Author:wangshuai Date:20200803 for: 通知公告消息重复LOWCOD-759--------------------
// 因为websocket没有判断是否存在这个用户,要是判断会出现问题,故在此判断逻辑
LambdaQueryWrapper<SysAnnouncementSend> query = new LambdaQueryWrapper<>();
query.eq(SysAnnouncementSend::getAnntId, announcements.get(i).getId());
query.eq(SysAnnouncementSend::getUserId, userId);
SysAnnouncementSend one = sysAnnouncementSendService.getOne(query);
if (null == one) {
SysAnnouncementSend announcementSend = new SysAnnouncementSend();
announcementSend.setAnntId(announcements.get(i).getId());
announcementSend.setUserId(userId);
announcementSend.setReadFlag(CommonConstant.NO_READ_FLAG);
sysAnnouncementSendService.save(announcementSend);
}
// update-end--Author:wangshuai Date:20200803 for: 通知公告消息重复LOWCOD-759------------
}
}
// 2.查询用户未读的系统消息
Page<SysAnnouncement> anntMsgList = new Page<SysAnnouncement>(0, 5);
// 通知公告消息
anntMsgList = sysAnnouncementService.querySysCementPageByUserId(anntMsgList, userId, "1");
Page<SysAnnouncement> sysMsgList = new Page<SysAnnouncement>(0, 5);
// 系统消息
sysMsgList = sysAnnouncementService.querySysCementPageByUserId(sysMsgList, userId, "2");
Map<String, Object> sysMsgMap = new HashMap<String, Object>();
sysMsgMap.put("sysMsgList", sysMsgList.getRecords());
sysMsgMap.put("sysMsgTotal", sysMsgList.getTotal());
sysMsgMap.put("anntMsgList", anntMsgList.getRecords());
sysMsgMap.put("anntMsgTotal", anntMsgList.getTotal());
result.setSuccess(true);
result.setResult(sysMsgMap);
return result;
}
Aggregations