Search in sources :

Example 81 with IPage

use of com.baomidou.mybatisplus.core.metadata.IPage in project mogu_blog_v2 by moxi624.

the class PictureSortServiceImpl method getPageList.

@Override
public IPage<PictureSort> getPageList(PictureSortVO pictureSortVO) {
    QueryWrapper<PictureSort> queryWrapper = new QueryWrapper<>();
    if (StringUtils.isNotEmpty(pictureSortVO.getKeyword()) && !StringUtils.isEmpty(pictureSortVO.getKeyword().trim())) {
        queryWrapper.like(SQLConf.NAME, pictureSortVO.getKeyword().trim());
    }
    if (pictureSortVO.getIsShow() != null) {
        queryWrapper.eq(SQLConf.IS_SHOW, SysConf.ONE);
    }
    Page<PictureSort> page = new Page<>();
    page.setCurrent(pictureSortVO.getCurrentPage());
    page.setSize(pictureSortVO.getPageSize());
    queryWrapper.eq(SQLConf.STATUS, EStatus.ENABLE);
    queryWrapper.orderByDesc(SQLConf.SORT);
    IPage<PictureSort> pageList = pictureSortService.page(page, queryWrapper);
    List<PictureSort> list = pageList.getRecords();
    final StringBuffer fileUids = new StringBuffer();
    list.forEach(item -> {
        if (StringUtils.isNotEmpty(item.getFileUid())) {
            fileUids.append(item.getFileUid() + SysConf.FILE_SEGMENTATION);
        }
    });
    String pictureResult = null;
    Map<String, String> pictureMap = new HashMap<>();
    if (fileUids != null) {
        pictureResult = this.pictureFeignClient.getPicture(fileUids.toString(), SysConf.FILE_SEGMENTATION);
    }
    List<Map<String, Object>> picList = webUtil.getPictureMap(pictureResult);
    picList.forEach(item -> {
        pictureMap.put(item.get(SysConf.UID).toString(), item.get(SysConf.URL).toString());
    });
    for (PictureSort item : list) {
        // 获取图片
        if (StringUtils.isNotEmpty(item.getFileUid())) {
            List<String> pictureUidsTemp = StringUtils.changeStringToString(item.getFileUid(), SysConf.FILE_SEGMENTATION);
            List<String> pictureListTemp = new ArrayList<>();
            pictureUidsTemp.forEach(picture -> {
                pictureListTemp.add(pictureMap.get(picture));
            });
            item.setPhotoList(pictureListTemp);
        }
    }
    pageList.setRecords(list);
    return pageList;
}
Also used : QueryWrapper(com.baomidou.mybatisplus.core.conditions.query.QueryWrapper) Page(com.baomidou.mybatisplus.extension.plugins.pagination.Page) IPage(com.baomidou.mybatisplus.core.metadata.IPage) PictureSort(com.moxi.mogublog.commons.entity.PictureSort)

Example 82 with IPage

use of com.baomidou.mybatisplus.core.metadata.IPage in project mogu_blog_v2 by moxi624.

the class AdminServiceImpl method getList.

@Override
public String getList(AdminVO adminVO) {
    QueryWrapper<Admin> queryWrapper = new QueryWrapper<>();
    String pictureResult = null;
    if (StringUtils.isNotEmpty(adminVO.getKeyword())) {
        queryWrapper.like(SQLConf.USER_NAME, adminVO.getKeyword()).or().like(SQLConf.NICK_NAME, adminVO.getKeyword().trim());
    }
    Page<Admin> page = new Page<>();
    page.setCurrent(adminVO.getCurrentPage());
    page.setSize(adminVO.getPageSize());
    // 去除密码
    queryWrapper.select(Admin.class, i -> !i.getProperty().equals(SQLConf.PASS_WORD));
    queryWrapper.eq(SQLConf.STATUS, EStatus.ENABLE);
    IPage<Admin> pageList = adminService.page(page, queryWrapper);
    List<Admin> list = pageList.getRecords();
    final StringBuffer fileUids = new StringBuffer();
    List<String> adminUidList = new ArrayList<>();
    list.forEach(item -> {
        if (StringUtils.isNotEmpty(item.getAvatar())) {
            fileUids.append(item.getAvatar() + SysConf.FILE_SEGMENTATION);
        }
        adminUidList.add(item.getUid());
    });
    Map<String, String> pictureMap = new HashMap<>(Constants.NUM_TEN);
    if (fileUids != null) {
        pictureResult = this.pictureFeignClient.getPicture(fileUids.toString(), SysConf.FILE_SEGMENTATION);
    }
    List<Map<String, Object>> picList = webUtil.getPictureMap(pictureResult);
    picList.forEach(item -> {
        pictureMap.put(item.get(SQLConf.UID).toString(), item.get(SQLConf.URL).toString());
    });
    // 获取用户的网盘存储空间
    String storageListJson = pictureFeignClient.getStorageByAdminUid(adminUidList);
    List<Storage> storageList = webUtil.getList(storageListJson, Storage.class);
    Map<String, Storage> storageMap = new HashMap<>();
    storageList.forEach(item -> {
        storageMap.put(item.getAdminUid(), item);
    });
    for (Admin item : list) {
        Role role = roleService.getById(item.getRoleUid());
        item.setRole(role);
        // 获取图片
        if (StringUtils.isNotEmpty(item.getAvatar())) {
            List<String> pictureUidsTemp = StringUtils.changeStringToString(item.getAvatar(), SysConf.FILE_SEGMENTATION);
            List<String> pictureListTemp = new ArrayList<>();
            pictureUidsTemp.forEach(picture -> {
                if (pictureMap.get(picture) != null && pictureMap.get(picture) != "") {
                    pictureListTemp.add(pictureMap.get(picture));
                }
            });
            item.setPhotoList(pictureListTemp);
        }
        // 设置已用容量大小和最大容量
        Storage storage = storageMap.get(item.getUid());
        if (storage != null) {
            item.setStorageSize(storage.getStorageSize());
            item.setMaxStorageSize(storage.getMaxStorageSize());
        } else {
            // 如果没有,默认为0
            item.setStorageSize(0L);
            item.setMaxStorageSize(0L);
        }
    }
    return ResultUtil.successWithData(pageList);
}
Also used : QueryWrapper(com.baomidou.mybatisplus.core.conditions.query.QueryWrapper) Page(com.baomidou.mybatisplus.extension.plugins.pagination.Page) IPage(com.baomidou.mybatisplus.core.metadata.IPage) OnlineAdmin(com.moxi.mogublog.commons.entity.OnlineAdmin) Admin(com.moxi.mogublog.commons.entity.Admin) Role(com.moxi.mogublog.commons.entity.Role) Storage(com.moxi.mogublog.commons.entity.Storage)

Example 83 with IPage

use of com.baomidou.mybatisplus.core.metadata.IPage in project mogu_blog_v2 by moxi624.

the class BlogServiceImpl method searchBlogByBlogSort.

@Override
public IPage<Blog> searchBlogByBlogSort(String blogSortUid, Long currentPage, Long pageSize) {
    BlogSort blogSort = blogSortService.getById(blogSortUid);
    if (blogSort != null) {
        HttpServletRequest request = RequestHolder.getRequest();
        String ip = IpUtils.getIpAddr(request);
        // 从Redis取出数据,判断该用户24小时内,是否点击过该分类
        String jsonResult = redisUtil.get(RedisConf.TAG_CLICK + RedisConf.SEGMENTATION + ip + RedisConf.WELL_NUMBER + blogSortUid);
        if (StringUtils.isEmpty(jsonResult)) {
            // 给标签点击数增加
            int clickCount = blogSort.getClickCount() + 1;
            blogSort.setClickCount(clickCount);
            blogSort.updateById();
            // 将该用户点击记录存储到redis中, 24小时后过期
            redisUtil.setEx(RedisConf.TAG_CLICK + RedisConf.SEGMENTATION + ip + RedisConf.WELL_NUMBER + blogSortUid, clickCount + "", 24, TimeUnit.HOURS);
        }
    }
    QueryWrapper<Blog> queryWrapper = new QueryWrapper<>();
    Page<Blog> page = new Page<>();
    page.setCurrent(currentPage);
    page.setSize(pageSize);
    queryWrapper.eq(SQLConf.BLOG_SORT_UID, blogSortUid);
    queryWrapper.orderByDesc(SQLConf.CREATE_TIME);
    queryWrapper.eq(BaseSQLConf.IS_PUBLISH, EPublish.PUBLISH);
    queryWrapper.eq(BaseSQLConf.STATUS, EStatus.ENABLE);
    // 排除博客详情
    queryWrapper.select(Blog.class, i -> !i.getProperty().equals(SysConf.CONTENT));
    IPage<Blog> pageList = blogService.page(page, queryWrapper);
    List<Blog> list = pageList.getRecords();
    list = blogService.setTagAndSortAndPictureByBlogList(list);
    pageList.setRecords(list);
    return pageList;
}
Also used : HttpServletRequest(javax.servlet.http.HttpServletRequest) QueryWrapper(com.baomidou.mybatisplus.core.conditions.query.QueryWrapper) Page(com.baomidou.mybatisplus.extension.plugins.pagination.Page) IPage(com.baomidou.mybatisplus.core.metadata.IPage)

Example 84 with IPage

use of com.baomidou.mybatisplus.core.metadata.IPage in project mogu_blog_v2 by moxi624.

the class SubjectServiceImpl method getPageList.

@Override
public IPage<Subject> getPageList(SubjectVO subjectVO) {
    QueryWrapper<Subject> queryWrapper = new QueryWrapper<>();
    if (StringUtils.isNotEmpty(subjectVO.getKeyword()) && !StringUtils.isEmpty(subjectVO.getKeyword().trim())) {
        queryWrapper.like(BaseSQLConf.SUBJECT_NAME, subjectVO.getKeyword().trim());
    }
    Page<Subject> page = new Page<>();
    page.setCurrent(subjectVO.getCurrentPage());
    page.setSize(subjectVO.getPageSize());
    queryWrapper.eq(BaseSQLConf.STATUS, EStatus.ENABLE);
    queryWrapper.orderByDesc(BaseSQLConf.SORT);
    IPage<Subject> pageList = subjectService.page(page, queryWrapper);
    List<Subject> list = pageList.getRecords();
    final StringBuffer fileUids = new StringBuffer();
    list.forEach(item -> {
        if (StringUtils.isNotEmpty(item.getFileUid())) {
            fileUids.append(item.getFileUid() + BaseSysConf.FILE_SEGMENTATION);
        }
    });
    String pictureResult = null;
    Map<String, String> pictureMap = new HashMap<>();
    if (fileUids != null) {
        pictureResult = this.pictureFeignClient.getPicture(fileUids.toString(), BaseSysConf.FILE_SEGMENTATION);
    }
    List<Map<String, Object>> picList = webUtil.getPictureMap(pictureResult);
    picList.forEach(item -> {
        pictureMap.put(item.get(SysConf.UID).toString(), item.get(SysConf.URL).toString());
    });
    for (Subject item : list) {
        // 获取图片
        if (StringUtils.isNotEmpty(item.getFileUid())) {
            List<String> pictureUidsTemp = StringUtils.changeStringToString(item.getFileUid(), BaseSysConf.FILE_SEGMENTATION);
            List<String> pictureListTemp = new ArrayList<>();
            pictureUidsTemp.forEach(picture -> {
                pictureListTemp.add(pictureMap.get(picture));
            });
            item.setPhotoList(pictureListTemp);
        }
    }
    pageList.setRecords(list);
    return pageList;
}
Also used : QueryWrapper(com.baomidou.mybatisplus.core.conditions.query.QueryWrapper) Page(com.baomidou.mybatisplus.extension.plugins.pagination.Page) IPage(com.baomidou.mybatisplus.core.metadata.IPage) Subject(com.moxi.mogublog.commons.entity.Subject)

Example 85 with IPage

use of com.baomidou.mybatisplus.core.metadata.IPage in project mogu_blog_v2 by moxi624.

the class TagServiceImpl method stickTag.

@Override
public String stickTag(TagVO tagVO) {
    Tag tag = tagService.getById(tagVO.getUid());
    // 查找出最大的那一个
    QueryWrapper<Tag> queryWrapper = new QueryWrapper<>();
    queryWrapper.orderByDesc(SQLConf.SORT);
    Page<Tag> page = new Page<>();
    page.setCurrent(0);
    page.setSize(1);
    IPage<Tag> pageList = tagService.page(page, queryWrapper);
    List<Tag> list = pageList.getRecords();
    Tag maxTag = list.get(0);
    if (StringUtils.isEmpty(maxTag.getUid())) {
        return ResultUtil.errorWithMessage(MessageConf.PARAM_INCORRECT);
    }
    if (maxTag.getUid().equals(tag.getUid())) {
        return ResultUtil.errorWithMessage(MessageConf.THIS_TAG_IS_TOP);
    }
    Integer sortCount = maxTag.getSort() + 1;
    tag.setSort(sortCount);
    tag.setUpdateTime(new Date());
    tag.updateById();
    // 删除Redis中的BLOG_TAG
    deleteRedisBlogTagList();
    return ResultUtil.successWithMessage(MessageConf.OPERATION_SUCCESS);
}
Also used : QueryWrapper(com.baomidou.mybatisplus.core.conditions.query.QueryWrapper) Page(com.baomidou.mybatisplus.extension.plugins.pagination.Page) IPage(com.baomidou.mybatisplus.core.metadata.IPage) Tag(com.moxi.mogublog.commons.entity.Tag)

Aggregations

IPage (com.baomidou.mybatisplus.core.metadata.IPage)197 Page (com.baomidou.mybatisplus.extension.plugins.pagination.Page)152 QueryWrapper (com.baomidou.mybatisplus.core.conditions.query.QueryWrapper)73 ApiOperation (io.swagger.annotations.ApiOperation)28 ArrayList (java.util.ArrayList)21 Test (org.junit.Test)20 PageDTO (com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO)19 SpringBootTest (org.springframework.boot.test.context.SpringBootTest)18 LoginUser (org.jeecg.common.system.vo.LoginUser)16 JSONObject (com.alibaba.fastjson.JSONObject)15 RequiresPermissions (org.apache.shiro.authz.annotation.RequiresPermissions)15 PageInfo (org.apache.dolphinscheduler.api.utils.PageInfo)13 LambdaQueryWrapper (com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper)11 Result (org.jeecg.common.api.vo.Result)10 List (java.util.List)9 User (org.apache.dolphinscheduler.dao.entity.User)9 Field (java.lang.reflect.Field)8 Date (java.util.Date)8 Collectors (java.util.stream.Collectors)7 UserRolesVo (top.hcode.hoj.pojo.vo.UserRolesVo)7