From c5e66af68d7eded8bcc55e0fe26d034d30735c16 Mon Sep 17 00:00:00 2001 From: inleft <inleft@qq.com> Date: Mon, 21 Feb 2022 12:14:00 +0800 Subject: [PATCH] 分类统计 --- snowy-main/src/main/java/vip/xiaonuo/modular/blogarticletype/service/impl/BlogArticleTypeServiceImpl.java | 16 ++++--- snowy-main/src/main/java/vip/xiaonuo/modular/blogarticletype/param/BlogArticleTypeVo.java | 9 +--- snowy-main/src/main/java/vip/xiaonuo/modular/blogarticletype/mapper/BlogArticleTypeMapper.java | 4 ++ snowy-main/src/main/java/vip/xiaonuo/modular/blogarticletype/service/BlogArticleTypeService.java | 4 ++ snowy-main/src/main/java/vip/xiaonuo/modular/blogarticletype/mapper/mapping/BlogArticleTypeMapper.xml | 29 ++++++++++++++ snowy-main/src/main/java/vip/xiaonuo/modular/blogarticletype/controller/BlogArticleTypeOutsideController.java | 23 +++++------ 6 files changed, 58 insertions(+), 27 deletions(-) diff --git a/snowy-main/src/main/java/vip/xiaonuo/modular/blogarticletype/controller/BlogArticleTypeOutsideController.java b/snowy-main/src/main/java/vip/xiaonuo/modular/blogarticletype/controller/BlogArticleTypeOutsideController.java index b8ef9e8..c5e4286 100644 --- a/snowy-main/src/main/java/vip/xiaonuo/modular/blogarticletype/controller/BlogArticleTypeOutsideController.java +++ b/snowy-main/src/main/java/vip/xiaonuo/modular/blogarticletype/controller/BlogArticleTypeOutsideController.java @@ -24,22 +24,18 @@ */ package vip.xiaonuo.modular.blogarticletype.controller; -import cn.hutool.core.bean.BeanUtil; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import vip.xiaonuo.core.annotion.BusinessLog; -import vip.xiaonuo.core.consts.MyConstant; import vip.xiaonuo.core.enums.LogAnnotionOpTypeEnum; import vip.xiaonuo.core.pojo.response.ResponseData; import vip.xiaonuo.core.pojo.response.SuccessResponseData; -import vip.xiaonuo.modular.blogarticletype.entity.BlogArticleType; import vip.xiaonuo.modular.blogarticletype.param.BlogArticleTypeVo; import vip.xiaonuo.modular.blogarticletype.service.BlogArticleTypeService; import javax.annotation.Resource; import java.util.List; -import java.util.stream.Collectors; /** * blog文章分类控制器 @@ -65,15 +61,16 @@ @BusinessLog(title = "外部blog系统_blog文章分类_查询", opType = LogAnnotionOpTypeEnum.QUERY) public ResponseData queryBlogArticleType() { - List<BlogArticleTypeVo> list = blogArticleTypeService.lambdaQuery() - .eq(BlogArticleType::getIsEnable, MyConstant.Yes) - .orderByAsc(BlogArticleType::getTopValue) - .orderByDesc(BlogArticleType::getCreateDate) - .list().stream().map(e -> { - BlogArticleTypeVo vo = new BlogArticleTypeVo(); - BeanUtil.copyProperties(e, vo); - return vo; - }).collect(Collectors.toList()); + List<BlogArticleTypeVo> list= blogArticleTypeService.listCount(); +// List<BlogArticleTypeVo> list = blogArticleTypeService.lambdaQuery() +// .eq(BlogArticleType::getIsEnable, MyConstant.Yes) +// .orderByAsc(BlogArticleType::getTopValue) +// .orderByDesc(BlogArticleType::getCreateDate) +// .list().stream().map(e -> { +// BlogArticleTypeVo vo = new BlogArticleTypeVo(); +// BeanUtil.copyProperties(e, vo); +// return vo; +// }).collect(Collectors.toList()); return new SuccessResponseData(list); diff --git a/snowy-main/src/main/java/vip/xiaonuo/modular/blogarticletype/mapper/BlogArticleTypeMapper.java b/snowy-main/src/main/java/vip/xiaonuo/modular/blogarticletype/mapper/BlogArticleTypeMapper.java index 43ef9b1..8023660 100644 --- a/snowy-main/src/main/java/vip/xiaonuo/modular/blogarticletype/mapper/BlogArticleTypeMapper.java +++ b/snowy-main/src/main/java/vip/xiaonuo/modular/blogarticletype/mapper/BlogArticleTypeMapper.java @@ -26,6 +26,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import vip.xiaonuo.modular.blogarticletype.entity.BlogArticleType; +import vip.xiaonuo.modular.blogarticletype.param.BlogArticleTypeVo; + +import java.util.List; /** * blog文章分类 @@ -34,4 +37,5 @@ * @date 2022-02-15 15:17:15 */ public interface BlogArticleTypeMapper extends BaseMapper<BlogArticleType> { + List<BlogArticleTypeVo> listCount(); } diff --git a/snowy-main/src/main/java/vip/xiaonuo/modular/blogarticletype/mapper/mapping/BlogArticleTypeMapper.xml b/snowy-main/src/main/java/vip/xiaonuo/modular/blogarticletype/mapper/mapping/BlogArticleTypeMapper.xml index 8f37989..0a60880 100644 --- a/snowy-main/src/main/java/vip/xiaonuo/modular/blogarticletype/mapper/mapping/BlogArticleTypeMapper.xml +++ b/snowy-main/src/main/java/vip/xiaonuo/modular/blogarticletype/mapper/mapping/BlogArticleTypeMapper.xml @@ -2,4 +2,33 @@ <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="vip.xiaonuo.modular.blogarticletype.mapper.BlogArticleTypeMapper"> + <select id="listCount" resultType="vip.xiaonuo.modular.blogarticletype.param.BlogArticleTypeVo"> + SELECT + t1.id, + t1.type_name AS typeName, + t2.count + FROM + blog_article_type t1, + ( + SELECT + t.id, + count(t.id) count + FROM + blog_article a, + blog_article_type t + WHERE + a.article_type_id = t.id + AND a.is_enable = 1 + AND a.editor_status = 1 + AND t.is_enable = 1 + GROUP BY + t.id + ) t2 + WHERE + t1.id = t2.id + ORDER BY + t1.top_value ASC, + t1.create_date DESC + </select> + </mapper> diff --git a/snowy-main/src/main/java/vip/xiaonuo/modular/blogarticletype/param/BlogArticleTypeVo.java b/snowy-main/src/main/java/vip/xiaonuo/modular/blogarticletype/param/BlogArticleTypeVo.java index e37147a..69d9462 100644 --- a/snowy-main/src/main/java/vip/xiaonuo/modular/blogarticletype/param/BlogArticleTypeVo.java +++ b/snowy-main/src/main/java/vip/xiaonuo/modular/blogarticletype/param/BlogArticleTypeVo.java @@ -24,10 +24,7 @@ */ package vip.xiaonuo.modular.blogarticletype.param; -import com.baomidou.mybatisplus.annotation.*; import lombok.Data; - -import java.util.Date; /** * blog文章分类 @@ -48,9 +45,7 @@ */ private String typeName; - /** - * 创建时间 - */ - private Date createDate; + + private Long count; } diff --git a/snowy-main/src/main/java/vip/xiaonuo/modular/blogarticletype/service/BlogArticleTypeService.java b/snowy-main/src/main/java/vip/xiaonuo/modular/blogarticletype/service/BlogArticleTypeService.java index bb686e5..2898b1d 100644 --- a/snowy-main/src/main/java/vip/xiaonuo/modular/blogarticletype/service/BlogArticleTypeService.java +++ b/snowy-main/src/main/java/vip/xiaonuo/modular/blogarticletype/service/BlogArticleTypeService.java @@ -28,6 +28,8 @@ import vip.xiaonuo.core.pojo.page.PageResult; import vip.xiaonuo.modular.blogarticletype.entity.BlogArticleType; import vip.xiaonuo.modular.blogarticletype.param.BlogArticleTypeParam; +import vip.xiaonuo.modular.blogarticletype.param.BlogArticleTypeVo; + import java.util.List; /** @@ -94,4 +96,6 @@ */ void export(BlogArticleTypeParam blogArticleTypeParam); + List<BlogArticleTypeVo> listCount(); + } diff --git a/snowy-main/src/main/java/vip/xiaonuo/modular/blogarticletype/service/impl/BlogArticleTypeServiceImpl.java b/snowy-main/src/main/java/vip/xiaonuo/modular/blogarticletype/service/impl/BlogArticleTypeServiceImpl.java index d66510b..c506d42 100644 --- a/snowy-main/src/main/java/vip/xiaonuo/modular/blogarticletype/service/impl/BlogArticleTypeServiceImpl.java +++ b/snowy-main/src/main/java/vip/xiaonuo/modular/blogarticletype/service/impl/BlogArticleTypeServiceImpl.java @@ -26,12 +26,10 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.util.ObjectUtil; -import cn.hutool.core.util.StrUtil; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import vip.xiaonuo.core.consts.CommonConstant; -import vip.xiaonuo.core.enums.CommonStatusEnum; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import vip.xiaonuo.core.exception.ServiceException; import vip.xiaonuo.core.factory.PageFactory; import vip.xiaonuo.core.pojo.page.PageResult; @@ -40,10 +38,9 @@ import vip.xiaonuo.modular.blogarticletype.enums.BlogArticleTypeExceptionEnum; import vip.xiaonuo.modular.blogarticletype.mapper.BlogArticleTypeMapper; import vip.xiaonuo.modular.blogarticletype.param.BlogArticleTypeParam; +import vip.xiaonuo.modular.blogarticletype.param.BlogArticleTypeVo; import vip.xiaonuo.modular.blogarticletype.service.BlogArticleTypeService; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import javax.annotation.Resource; + import java.util.List; /** @@ -133,4 +130,9 @@ PoiUtil.exportExcelWithStream("SnowyBlogArticleType.xls", BlogArticleType.class, list); } + @Override + public List<BlogArticleTypeVo> listCount() { + return this.baseMapper.listCount(); + } + } -- Gitblit v1.9.1