jiangping
2024-10-14 2079ba28f20bde46f7736699c97abf0e1564770d
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java
@@ -21,6 +21,8 @@
import java.util.Date;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
/**
 * 分类信息表Service实现
@@ -37,6 +39,9 @@
    public Integer create(Category category) {
        checkUnique(category);
        LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
        if(loginUserInfo ==null){
            loginUserInfo = category.getLoginUserInfo();
        }
        Category insert = new Category();
        insert.setCreator(loginUserInfo.getId());
        insert.setCreateDate(new Date());
@@ -48,7 +53,7 @@
        insert.setStatus(Constants.ZERO);
        insert.setSortnum(category.getSortnum());
        insert.setImgurl(category.getImgurl());
        insert.setType(Constants.ZERO);
        insert.setType(category.getType());
        insert.setParentId(category.getParentId());
        categoryMapper.insert(insert);
        return insert.getId();
@@ -56,7 +61,9 @@
    @Override
    public void deleteById(Integer id) {
        categoryMapper.deleteById(id);
        categoryMapper.update(null,new UpdateWrapper<Category>().lambda().set(Category::getIsdeleted,Constants.ONE)
                .eq(Category::getId,id)
        );
    }
    @Override
@@ -70,7 +77,9 @@
        if (CollectionUtils.isEmpty(ids)) {
            return;
        }
        categoryMapper.deleteBatchIds(ids);
        categoryMapper.update(null,new UpdateWrapper<Category>().lambda().set(Category::getIsdeleted,Constants.ONE)
                .in(Category::getId,ids)
        );
    }
    @Override
@@ -107,59 +116,38 @@
    }
    @Override
    public List<Category> queryList(Category category) {
        List<Category> categoryList = categoryMapper.selectList(new QueryWrapper<Category>().lambda()
                .eq(Objects.nonNull(category)&&Objects.nonNull(category.getType()),Category::getType,category.getType())
                .isNull(Objects.nonNull(category)&&Objects.isNull(category.getParentId()),Category::getParentId)
                .eq(Objects.nonNull(category)&&Objects.nonNull(category.getParentId()),Category::getParentId,category.getParentId())
                .eq(Category::getIsdeleted,Constants.ZERO)
        );
        return categoryList;
    }
    @Override
    public PageData<Category> findPage(PageWrap<Category> pageWrap) {
        IPage<Category> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
        QueryWrapper<Category> queryWrapper = new QueryWrapper<>();
        Utils.MP.blankToNull(pageWrap.getModel());
        if (pageWrap.getModel().getId() != null) {
            queryWrapper.lambda().eq(Category::getId, pageWrap.getModel().getId());
        queryWrapper.lambda().eq(Category::getIsdeleted,Constants.ZERO)
                .eq(Objects.nonNull(pageWrap.getModel().getType()),Category::getType,pageWrap.getModel().getType())
                .isNull(Category::getParentId);
        PageData<Category> categoryPageData = PageData.from(categoryMapper.selectPage(page, queryWrapper));
        //查询所有二级数据
        List<Category> categoryList = categoryMapper.selectList(
                new QueryWrapper<Category>().lambda()
                        .eq(Objects.nonNull(pageWrap.getModel().getType()),Category::getType,pageWrap.getModel().getType())
                        .eq(Category::getIsdeleted,Constants.ZERO).isNotNull(Category::getParentId));
        for (Category category:categoryPageData.getRecords()) {
            category.setChildCategoryList(
                    categoryList.stream().filter(i->Constants.equalsInteger(i.getParentId(),category.getId())).collect(Collectors.toList())
            );
        }
        if (pageWrap.getModel().getCreator() != null) {
            queryWrapper.lambda().eq(Category::getCreator, pageWrap.getModel().getCreator());
        }
        if (pageWrap.getModel().getCreateDate() != null) {
            queryWrapper.lambda().ge(Category::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()));
            queryWrapper.lambda().le(Category::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()));
        }
        if (pageWrap.getModel().getEditor() != null) {
            queryWrapper.lambda().eq(Category::getEditor, pageWrap.getModel().getEditor());
        }
        if (pageWrap.getModel().getEditDate() != null) {
            queryWrapper.lambda().ge(Category::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()));
            queryWrapper.lambda().le(Category::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()));
        }
        if (pageWrap.getModel().getIsdeleted() != null) {
            queryWrapper.lambda().eq(Category::getIsdeleted, pageWrap.getModel().getIsdeleted());
        }
        if (pageWrap.getModel().getName() != null) {
            queryWrapper.lambda().eq(Category::getName, pageWrap.getModel().getName());
        }
        if (pageWrap.getModel().getRemark() != null) {
            queryWrapper.lambda().eq(Category::getRemark, pageWrap.getModel().getRemark());
        }
        if (pageWrap.getModel().getStatus() != null) {
            queryWrapper.lambda().eq(Category::getStatus, pageWrap.getModel().getStatus());
        }
        if (pageWrap.getModel().getSortnum() != null) {
            queryWrapper.lambda().eq(Category::getSortnum, pageWrap.getModel().getSortnum());
        }
        if (pageWrap.getModel().getImgurl() != null) {
            queryWrapper.lambda().eq(Category::getImgurl, pageWrap.getModel().getImgurl());
        }
        if (pageWrap.getModel().getType() != null) {
            queryWrapper.lambda().eq(Category::getType, pageWrap.getModel().getType());
        }
        if (pageWrap.getModel().getParentId() != null) {
            queryWrapper.lambda().eq(Category::getParentId, pageWrap.getModel().getParentId());
        }
        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
                queryWrapper.orderByDesc(sortData.getProperty());
            } else {
                queryWrapper.orderByAsc(sortData.getProperty());
            }
        }
        return PageData.from(categoryMapper.selectPage(page, queryWrapper));
        return categoryPageData;
    }
    @Override