Search in sources :

Example 11 with Page

use of com.baomidou.mybatisplus.extension.plugins.pagination.Page in project jeecg-boot by jeecgboot.

the class SysAnnouncementController method listByUser.

/**
 * @功能:补充用户数据,并返回系统消息
 * @return
 */
@RequestMapping(value = "/listByUser", method = RequestMethod.GET)
public Result<Map<String, Object>> listByUser(@RequestParam(required = false, defaultValue = "5") Integer pageSize) {
    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) {
                log.info("listByUser接口新增了SysAnnouncementSend:pageSize{}:" + pageSize);
                SysAnnouncementSend announcementSend = new SysAnnouncementSend();
                announcementSend.setAnntId(announcements.get(i).getId());
                announcementSend.setUserId(userId);
                announcementSend.setReadFlag(CommonConstant.NO_READ_FLAG);
                sysAnnouncementSendService.save(announcementSend);
                log.info("announcementSend.toString()", announcementSend.toString());
            }
        // update-end--Author:wangshuai  Date:20200803  for: 通知公告消息重复LOWCOD-759------------
        }
    }
    // 2.查询用户未读的系统消息
    Page<SysAnnouncement> anntMsgList = new Page<SysAnnouncement>(0, pageSize);
    // 通知公告消息
    anntMsgList = sysAnnouncementService.querySysCementPageByUserId(anntMsgList, userId, "1");
    Page<SysAnnouncement> sysMsgList = new Page<SysAnnouncement>(0, pageSize);
    // 系统消息
    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) IPage(com.baomidou.mybatisplus.core.metadata.IPage) Page(com.baomidou.mybatisplus.extension.plugins.pagination.Page) 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) Map(java.util.Map) HashMap(java.util.HashMap)

Example 12 with Page

use of com.baomidou.mybatisplus.extension.plugins.pagination.Page in project jeecg-boot by jeecgboot.

the class SysAnnouncementSendController method getMyAnnouncementSend.

/**
 * @功能:获取我的消息
 * @return
 */
@GetMapping(value = "/getMyAnnouncementSend")
public Result<IPage<AnnouncementSendModel>> getMyAnnouncementSend(AnnouncementSendModel announcementSendModel, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
    Result<IPage<AnnouncementSendModel>> result = new Result<IPage<AnnouncementSendModel>>();
    LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
    String userId = sysUser.getId();
    announcementSendModel.setUserId(userId);
    announcementSendModel.setPageNo((pageNo - 1) * pageSize);
    announcementSendModel.setPageSize(pageSize);
    Page<AnnouncementSendModel> pageList = new Page<AnnouncementSendModel>(pageNo, pageSize);
    pageList = sysAnnouncementSendService.getMyAnnouncementSendPage(pageList, announcementSendModel);
    result.setResult(pageList);
    result.setSuccess(true);
    return result;
}
Also used : IPage(com.baomidou.mybatisplus.core.metadata.IPage) Page(com.baomidou.mybatisplus.extension.plugins.pagination.Page) IPage(com.baomidou.mybatisplus.core.metadata.IPage) LoginUser(org.jeecg.common.system.vo.LoginUser) AnnouncementSendModel(org.jeecg.modules.system.model.AnnouncementSendModel) Result(org.jeecg.common.api.vo.Result) GetMapping(org.springframework.web.bind.annotation.GetMapping)

Example 13 with Page

use of com.baomidou.mybatisplus.extension.plugins.pagination.Page in project java-example by saxingz.

the class VideoController method listVideos.

/**
 * 查看原始视频
 */
@ApiOperation("查看原始视频")
@ApiImplicitParams({ @ApiImplicitParam(name = "page", value = "页码", defaultValue = "1"), @ApiImplicitParam(name = "pageNum", value = "每页条数", defaultValue = "1") })
@PostMapping("/list")
public Page<VideoVO> listVideos(@RequestBody VideoDO video, @RequestParam @Min(value = 1, message = "页码不得少于1") Integer page, @RequestParam @Min(value = 1, message = "每页条数不得少于1") @Max(value = 100, message = "每页条数不大于100") Integer pageNum) {
    LambdaQueryWrapper<VideoDO> queryWrapper = Wrappers.lambdaQuery();
    queryWrapper.setEntity(video);
    queryWrapper.like(StringUtils.isNotBlank(video.getChannelId()), VideoDO::getChannelId, video.getChannelId());
    queryWrapper.like(StringUtils.isNotBlank(video.getChannelTitle()), VideoDO::getChannelTitle, video.getChannelTitle());
    queryWrapper.like(StringUtils.isNotBlank(video.getVideoId()), VideoDO::getVideoId, video.getVideoId());
    queryWrapper.like(StringUtils.isNotBlank(video.getVideoTitle()), VideoDO::getVideoTitle, video.getVideoTitle());
    queryWrapper.like(StringUtils.isNotBlank(video.getDescription()), VideoDO::getDescription, video.getDescription());
    queryWrapper.like(StringUtils.isNotBlank(video.getDownloadedUrl()), VideoDO::getDownloadedUrl, video.getDownloadedUrl());
    video.setChannelId(null).setChannelTitle(null).setVideoId(null).setVideoTitle(null).setDescription(null).setDownloadedUrl(null);
    Page<VideoDO> videoDOPage = videoLogic.page(new Page<>(page, pageNum), queryWrapper).addOrder(OrderItem.desc(TableInfoHelper.getTableInfo(VideoDO.class).getKeyProperty()));
    Page<VideoVO> result = beanMapper.map(videoDOPage, new TypeBuilder<Page<VideoDO>>() {
    }.build(), new TypeBuilder<Page<VideoVO>>() {
    }.build());
    if (result.getSize() > 0) {
        result.getRecords().forEach(r -> r.setTransferList(transferLogic.list(new QueryWrapper<>(new TransferDO().setVideoId(r.getId())))));
    }
    return result;
}
Also used : VideoVO(org.saxing.a0041_wemedia.domain.vo.VideoVO) VideoDO(org.saxing.a0041_wemedia.domain.entity.VideoDO) TypeBuilder(ma.glasnost.orika.metadata.TypeBuilder) Page(com.baomidou.mybatisplus.extension.plugins.pagination.Page) TransferDO(org.saxing.a0041_wemedia.domain.entity.TransferDO) ApiImplicitParams(io.swagger.annotations.ApiImplicitParams) ApiOperation(io.swagger.annotations.ApiOperation)

Example 14 with Page

use of com.baomidou.mybatisplus.extension.plugins.pagination.Page in project dynamic_dataSource by tianliuzhen.

the class TestController method testSelectPage.

@ApiOperation(value = "分页测试", notes = "插件测试")
@ApiImplicitParam(name = "page", value = "分页参数", required = true)
@PostMapping("/testSelectPage")
public ObjectResultResponse<?> testSelectPage(@RequestBody PageDto pageDto) {
    Page page = new Page();
    System.out.println("分页测试:::");
    if (page == null) {
        page = new Page();
    }
    // 每页数量、当前页
    page.setSize(pageDto.getSize()).setCurrent(pageDto.getCurrent());
    // 当 total 为小于 0 或者设置 setSearchCount(false) 分页插件不会进行 count 查询
    IPage<User> iPage = user2Service.selectUserPage(page, "tom");
    List<User> users = iPage.getRecords();
    users.forEach(System.out::println);
    log.info("1211");
    return new ObjectResultResponse(page);
}
Also used : User(com.aaa.mybatisplus.entity.User) ObjectResultResponse(com.aaa.mybatisplus.config.configRespone.ObjectResultResponse) Page(com.baomidou.mybatisplus.extension.plugins.pagination.Page) IPage(com.baomidou.mybatisplus.core.metadata.IPage) PostMapping(org.springframework.web.bind.annotation.PostMapping) ApiOperation(io.swagger.annotations.ApiOperation) ApiImplicitParam(io.swagger.annotations.ApiImplicitParam)

Example 15 with Page

use of com.baomidou.mybatisplus.extension.plugins.pagination.Page in project RuoYi-Flowable-Plus by KonBAI-Q.

the class PageQuery method build.

public <T> Page<T> build() {
    Integer pageNum = ObjectUtil.defaultIfNull(getPageNum(), DEFAULT_PAGE_NUM);
    Integer pageSize = ObjectUtil.defaultIfNull(getPageSize(), DEFAULT_PAGE_SIZE);
    if (pageNum <= 0) {
        pageNum = DEFAULT_PAGE_NUM;
    }
    Page<T> page = new Page<>(pageNum, pageSize);
    OrderItem orderItem = buildOrderItem();
    if (ObjectUtil.isNotNull(orderItem)) {
        page.addOrder(orderItem);
    }
    return page;
}
Also used : OrderItem(com.baomidou.mybatisplus.core.metadata.OrderItem) Page(com.baomidou.mybatisplus.extension.plugins.pagination.Page)

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