Search in sources :

Example 51 with Page

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;
}
Also used : OrderItem(com.baomidou.mybatisplus.core.metadata.OrderItem) ArrayList(java.util.ArrayList) Page(com.baomidou.mybatisplus.extension.plugins.pagination.Page)

Example 52 with 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;
}
Also used : OrderItem(com.baomidou.mybatisplus.core.metadata.OrderItem) Page(com.baomidou.mybatisplus.extension.plugins.pagination.Page) IPage(com.baomidou.mybatisplus.core.metadata.IPage) PageParam(com.hccake.ballcat.common.model.domain.PageParam)

Example 53 with 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());
    }
}
Also used : KmDoc(org.jeecg.modules.KM.entity.KmDoc) KmSearchResultObjVO(org.jeecg.common.system.vo.KmSearchResultObjVO) Page(com.baomidou.mybatisplus.extension.plugins.pagination.Page) IPage(com.baomidou.mybatisplus.core.metadata.IPage) ApiOperation(io.swagger.annotations.ApiOperation)

Example 54 with Page

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;
}
Also used : SysOnlineVO(org.jeecg.modules.system.vo.SysOnlineVO) ArrayList(java.util.ArrayList) Page(com.baomidou.mybatisplus.extension.plugins.pagination.Page) LoginUser(org.jeecg.common.system.vo.LoginUser) Result(org.jeecg.common.api.vo.Result)

Example 55 with Page

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;
}
Also used : SysAnnouncementSend(org.jeecg.modules.system.entity.SysAnnouncementSend) SysAnnouncement(org.jeecg.modules.system.entity.SysAnnouncement) HashMap(java.util.HashMap) Page(com.baomidou.mybatisplus.extension.plugins.pagination.Page) IPage(com.baomidou.mybatisplus.core.metadata.IPage) LoginUser(org.jeecg.common.system.vo.LoginUser) Result(org.jeecg.common.api.vo.Result) LambdaQueryWrapper(com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper) JSONObject(com.alibaba.fastjson.JSONObject) HashMap(java.util.HashMap) Map(java.util.Map)

Aggregations

Page (com.baomidou.mybatisplus.extension.plugins.pagination.Page)239 IPage (com.baomidou.mybatisplus.core.metadata.IPage)171 QueryWrapper (com.baomidou.mybatisplus.core.conditions.query.QueryWrapper)62 ApiOperation (io.swagger.annotations.ApiOperation)38 ArrayList (java.util.ArrayList)29 LoginUser (org.jeecg.common.system.vo.LoginUser)26 Test (org.junit.Test)24 SpringBootTest (org.springframework.boot.test.context.SpringBootTest)22 RequiresPermissions (org.apache.shiro.authz.annotation.RequiresPermissions)19 LambdaQueryWrapper (com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper)17 JSONObject (com.alibaba.fastjson.JSONObject)15 PageInfo (org.apache.dolphinscheduler.api.utils.PageInfo)13 Result (org.jeecg.common.api.vo.Result)12 User (org.apache.dolphinscheduler.dao.entity.User)11 OrderItem (com.baomidou.mybatisplus.core.metadata.OrderItem)9 java.util (java.util)9 HashMap (java.util.HashMap)9 Project (org.apache.dolphinscheduler.dao.entity.Project)9 Service (org.springframework.stereotype.Service)9 IOException (java.io.IOException)8