Parcourir la source

Merge branch 'master' of ssh://192.168.8.213:10022/miaxis/zzjs

Althars123 il y a 4 ans
Parent
commit
1958d9d971

+ 5 - 4
zzjs-admin/src/main/java/com/miaxis/pc/controller/product/ProductTypeInfoController.java

@@ -7,6 +7,7 @@ import com.miaxis.common.core.page.ResponsePageInfo;
 import com.miaxis.common.enums.BusinessTypeEnum;
 import com.miaxis.product.domain.ProductTypeInfo;
 import com.miaxis.product.service.IProductTypeInfoService;
+import com.miaxis.product.vo.ProductTypeInfoVo;
 import io.swagger.annotations.*;
 import lombok.RequiredArgsConstructor;
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -38,9 +39,9 @@ public class ProductTypeInfoController extends BaseController{
             @ApiImplicitParam(name = "pageNum",value = "当前页码" ,dataType = "int", paramType = "query", required = false),
             @ApiImplicitParam(name = "pageSize",value = "每页数据量" , dataType = "int", paramType = "query", required = false),
     })
-    public ResponsePageInfo<ProductTypeInfo> list(@ModelAttribute ProductTypeInfo productTypeInfo){
+    public ResponsePageInfo<ProductTypeInfoVo> list(@ModelAttribute ProductTypeInfo productTypeInfo){
         startPage();
-        List<ProductTypeInfo> list = productTypeInfoService.selectProductTypeInfoList(productTypeInfo);
+        List<ProductTypeInfoVo> list = productTypeInfoService.selectProductTypeInfoList(productTypeInfo);
         return toResponsePageInfo(list);
     }
 
@@ -51,11 +52,11 @@ public class ProductTypeInfoController extends BaseController{
     @PreAuthorize("@ss.hasPermi('product:info:query')")
     @GetMapping(value = "/{id}")
     @ApiOperation("获取品类详细信息")
-    public Response<ProductTypeInfo> getInfo(
+    public Response<ProductTypeInfoVo> getInfo(
             @ApiParam(name = "id", value = "品类参数", required = true)
             @PathVariable("id") Long id
     ){
-        return Response.success(productTypeInfoService.getById(id));
+        return productTypeInfoService.getProductDetailsById(id);
     }
 
     /**

+ 2 - 2
zzjs-admin/src/main/java/com/miaxis/pc/controller/topic/TopicInfoController.java

@@ -57,7 +57,7 @@ public class TopicInfoController extends BaseController{
             @ApiParam(name = "id", value = "专题参数", required = true)
             @PathVariable("id") Long id
     ){
-        return topicInfoService.getTopicById(id);
+        return topicInfoService.getTopicDetailsById(id);
     }
 
     /**
@@ -86,7 +86,7 @@ public class TopicInfoController extends BaseController{
      * 更新 0:上架 / 1:下架
      */
     @PreAuthorize("@ss.hasPermi('topic:info:updateShelfStatus')")
-    @Log(title = "客户信息", businessType = BusinessTypeEnum.UPDATE)
+    @Log(title = "专题", businessType = BusinessTypeEnum.UPDATE)
     @PutMapping("/updateShelfStatus")
     @ApiOperation("上架、下架")
     @ApiImplicitParams({

+ 8 - 0
zzjs-service/src/main/java/com/miaxis/goods/mapper/GoodsInfoMapper.java

@@ -3,6 +3,8 @@ package com.miaxis.goods.mapper;
 import java.util.List;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.miaxis.goods.domain.GoodsInfo;
+import com.miaxis.goods.vo.GoodsInfoVo;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * 商品Mapper接口
@@ -20,4 +22,10 @@ public interface GoodsInfoMapper extends BaseMapper<GoodsInfo> {
      */
     List<GoodsInfo> selectGoodsInfoList(GoodsInfo goodsInfo);
 
+    /**
+     * 根据专题id 获取商品
+     * @param topicId
+     * @return
+     */
+    List<GoodsInfoVo> getGoodsInfoListByTopicId(@Param("topicId") Long topicId);
 }

+ 56 - 0
zzjs-service/src/main/java/com/miaxis/goods/vo/GoodsInfoVo.java

@@ -0,0 +1,56 @@
+package com.miaxis.goods.vo;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.miaxis.common.core.domain.BaseBusinessEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * 商品对象返回参
+ *
+ * @author miaxis
+ * @date 2021-03-11
+ */
+@Data
+@ApiModel(value = "GoodsInfoVo", description = "商品对象返回参")
+public class GoodsInfoVo extends BaseBusinessEntity{
+
+    @ApiModelProperty(value = "主键")
+    private Long id;
+
+    @TableField("goods_name")
+    @ApiModelProperty(value = "商品名称")
+    private String goodsName;
+
+    @TableField("goods_price")
+    @ApiModelProperty(value = "商品价格")
+    private BigDecimal goodsPrice;
+
+    @TableField("goods_link")
+    @ApiModelProperty(value = "商品链接")
+    private String goodsLink;
+
+    @TableField("goods_describe")
+    @ApiModelProperty(value = "商品描述")
+    private String goodsDescribe;
+
+    @TableField("goods_picture")
+    @ApiModelProperty(value = "商品图片---对应file_info的id")
+    private Long goodsPicture;
+
+    @TableField("topic_id")
+    @ApiModelProperty(value = "专题id")
+    private Integer topicId;
+
+    @ApiModelProperty(value = "状态  0:有效(默认)、1:失效 (伪删除)")
+    private Integer status;
+
+    @ApiModelProperty(value = "商品图片访问地址")
+    private String fileUrl;
+
+}

+ 6 - 0
zzjs-service/src/main/java/com/miaxis/product/domain/ProductTypeInfo.java

@@ -43,6 +43,12 @@ public class ProductTypeInfo extends BaseBusinessEntity{
     @ApiModelProperty(value = "分类描述,该分类名称的描述")
     private String productDescribe;
 
+    /** 品类图标--对应file_info的id */
+    @Excel(name = "品类图标--对应file_info的id")
+    @TableField("product_icon")
+    @ApiModelProperty(value = "品类图标--对应file_info的id")
+    private Integer productIcon;
+
     /** 状态  0:有效(默认)、1:失效 (伪删除) */
     @Excel(name = "状态  0:有效(默认)、1:失效 (伪删除)", readConverterExp = "伪=删除")
     @TableField("status")

+ 9 - 1
zzjs-service/src/main/java/com/miaxis/product/mapper/ProductTypeInfoMapper.java

@@ -3,6 +3,8 @@ package com.miaxis.product.mapper;
 import java.util.List;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.miaxis.product.domain.ProductTypeInfo;
+import com.miaxis.product.vo.ProductTypeInfoVo;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * 品类Mapper接口
@@ -17,6 +19,12 @@ public interface ProductTypeInfoMapper extends BaseMapper<ProductTypeInfo> {
      * @param productTypeInfo 品类
      * @return 品类集合
      */
-    List<ProductTypeInfo> selectProductTypeInfoList(ProductTypeInfo productTypeInfo);
+    List<ProductTypeInfoVo> selectProductTypeInfoList(ProductTypeInfo productTypeInfo);
 
+    /**
+     * 获取品类详情信息
+     * @param id
+     * @return
+     */
+    ProductTypeInfoVo getProductDetailsById(@Param("id") Long id);
 }

+ 9 - 1
zzjs-service/src/main/java/com/miaxis/product/service/IProductTypeInfoService.java

@@ -5,6 +5,7 @@ import java.util.List;
 import com.miaxis.common.core.domain.Response;
 import com.miaxis.product.domain.ProductTypeInfo;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.miaxis.product.vo.ProductTypeInfoVo;
 
 /**
  * 品类Service接口
@@ -19,7 +20,7 @@ public interface IProductTypeInfoService extends IService<ProductTypeInfo>{
      * @param productTypeInfo 品类
      * @return 品类集合
      */
-    List<ProductTypeInfo> selectProductTypeInfoList(ProductTypeInfo productTypeInfo);
+    List<ProductTypeInfoVo> selectProductTypeInfoList(ProductTypeInfo productTypeInfo);
 
     /**
      * 删除品类
@@ -27,4 +28,11 @@ public interface IProductTypeInfoService extends IService<ProductTypeInfo>{
      * @return
      */
     Response<Integer> removeProductByIds(Long[] ids);
+
+    /**
+     * 获取品类详情信息
+     * @param id
+     * @return
+     */
+    Response<ProductTypeInfoVo> getProductDetailsById(Long id);
 }

+ 13 - 1
zzjs-service/src/main/java/com/miaxis/product/service/impl/ProductTypeInfoServiceImpl.java

@@ -6,6 +6,7 @@ import com.miaxis.common.core.domain.Response;
 import com.miaxis.product.domain.ProductTypeInfo;
 import com.miaxis.product.mapper.ProductTypeInfoMapper;
 import com.miaxis.product.service.IProductTypeInfoService;
+import com.miaxis.product.vo.ProductTypeInfoVo;
 import lombok.RequiredArgsConstructor;
 import lombok.SneakyThrows;
 import org.springframework.stereotype.Service;
@@ -32,7 +33,7 @@ public class ProductTypeInfoServiceImpl extends ServiceImpl<ProductTypeInfoMappe
      * @return 品类
      */
     @Override
-    public List<ProductTypeInfo> selectProductTypeInfoList(ProductTypeInfo productTypeInfo){
+    public List<ProductTypeInfoVo> selectProductTypeInfoList(ProductTypeInfo productTypeInfo){
         return productTypeInfoMapper.selectProductTypeInfoList(productTypeInfo);
     }
 
@@ -50,4 +51,15 @@ public class ProductTypeInfoServiceImpl extends ServiceImpl<ProductTypeInfoMappe
         }
         return Response.success();
     }
+
+    /**
+     * 获取品类详情信息
+     * @param id
+     * @return
+     */
+    @Override
+    public Response<ProductTypeInfoVo> getProductDetailsById(Long id) {
+
+        return Response.success(productTypeInfoMapper.getProductDetailsById(id));
+    }
 }

+ 51 - 0
zzjs-service/src/main/java/com/miaxis/product/vo/ProductTypeInfoVo.java

@@ -0,0 +1,51 @@
+package com.miaxis.product.vo;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.miaxis.common.annotation.Excel;
+import com.miaxis.common.core.domain.BaseBusinessEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 品类对象 product_type_info
+ *
+ * @author miaxis
+ * @date 2021-03-11
+ */
+@Data
+@TableName("product_type_info")
+@ApiModel(value = "ProductTypeInfoVo", description = "品类对象返回参")
+public class ProductTypeInfoVo extends BaseBusinessEntity{
+
+    @TableId(value = "id")
+    @ApiModelProperty(value = "主键")
+    private Long id;
+
+    @TableField("product_name")
+    @ApiModelProperty(value = "分类名称")
+    private String productName;
+
+    @TableField("pid")
+    @ApiModelProperty(value = "父节点(预留)")
+    private Long pid;
+
+    @TableField("product_describe")
+    @ApiModelProperty(value = "分类描述,该分类名称的描述")
+    private String productDescribe;
+
+    @TableField("product_icon")
+    @ApiModelProperty(value = "品类图标--对应file_info的id")
+    private Integer productIcon;
+
+    @ApiModelProperty(value = "品类图标访问地址")
+    private String fileUrl;
+
+    @TableField("status")
+    @ApiModelProperty(value = "状态  0:有效(默认)、1:失效 (伪删除)")
+    private Integer status;
+
+
+}

+ 8 - 1
zzjs-service/src/main/java/com/miaxis/topic/mapper/TopicInfoMapper.java

@@ -4,6 +4,7 @@ import java.util.List;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.miaxis.topic.domain.TopicInfo;
 import com.miaxis.topic.vo.TopicInfoVo;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * 专题Mapper接口
@@ -18,6 +19,12 @@ public interface TopicInfoMapper extends BaseMapper<TopicInfo> {
      * @param topicInfo 专题
      * @return 专题集合
      */
-    List<TopicInfo> selectTopicInfoList(TopicInfoVo topicInfo);
+    List<TopicInfoVo> selectTopicInfoList(TopicInfoVo topicInfo);
 
+    /**
+     * 获取专题详情信息
+     * @param id
+     * @return
+     */
+    TopicInfoVo getTopicDetailsById(@Param("id") Long id);
 }

+ 1 - 1
zzjs-service/src/main/java/com/miaxis/topic/service/ITopicInfoService.java

@@ -43,7 +43,7 @@ public interface ITopicInfoService extends IService<TopicInfo>{
      * @param id
      * @return
      */
-    Response<TopicInfoVo> getTopicById(Long id);
+    Response<TopicInfoVo> getTopicDetailsById(Long id);
 
     /**
      * 更新 0:上架 / 1:下架

+ 18 - 19
zzjs-service/src/main/java/com/miaxis/topic/service/impl/TopicInfoServiceImpl.java

@@ -5,9 +5,11 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.miaxis.common.core.domain.Response;
 import com.miaxis.common.utils.bean.BeanUtils;
-import com.miaxis.customer.domain.CustomerInfo;
+import com.miaxis.file.service.IFileInfoService;
 import com.miaxis.goods.domain.GoodsInfo;
+import com.miaxis.goods.mapper.GoodsInfoMapper;
 import com.miaxis.goods.service.IGoodsInfoService;
+import com.miaxis.goods.vo.GoodsInfoVo;
 import com.miaxis.topic.domain.TopicInfo;
 import com.miaxis.topic.dto.TopicInfoDto;
 import com.miaxis.topic.mapper.TopicInfoMapper;
@@ -19,7 +21,6 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.HashMap;
 import java.util.List;
 
@@ -37,6 +38,10 @@ public class TopicInfoServiceImpl extends ServiceImpl<TopicInfoMapper, TopicInfo
 
     private final IGoodsInfoService goodsInfoService;
 
+    private final GoodsInfoMapper goodsInfoMapper;
+
+    private final IFileInfoService fileInfoService;
+
     /**
      * 查询专题列表
      *
@@ -46,18 +51,15 @@ public class TopicInfoServiceImpl extends ServiceImpl<TopicInfoMapper, TopicInfo
     @Override
     public List<TopicInfoVo> selectTopicInfoList(TopicInfoVo topicInfoVo){
 
-        ArrayList<TopicInfoVo> topicInfoVos = new ArrayList<>();
         //专题列表
-        List<TopicInfo> topicInfos = topicInfoMapper.selectTopicInfoList(topicInfoVo);
-
-        for (TopicInfo topic : topicInfos) {
-            TopicInfoVo topicInfoVo1 = new TopicInfoVo();
-            BeanUtils.copyProperties(topic,topicInfoVo1);
-            topicInfoVo1.setGoodsInfoList(goodsInfoService.listByMap(new HashMap<String, Object>(){{
-                put("status",0);
-                put("topic_id",topic.getId());
-            }}));
-            topicInfoVos.add(topicInfoVo1);
+        List<TopicInfoVo>  topicInfoVos = topicInfoMapper.selectTopicInfoList(topicInfoVo);
+
+        for (TopicInfoVo topic : topicInfoVos) {
+            //查询对应商品
+            List<GoodsInfoVo> goodsInfoVoList = goodsInfoMapper.getGoodsInfoListByTopicId(topic.getId());
+            if (goodsInfoVoList.size() > 0){
+                topic.setGoodsInfoList(goodsInfoVoList);
+            }
         }
         return topicInfoVos;
     }
@@ -94,7 +96,6 @@ public class TopicInfoServiceImpl extends ServiceImpl<TopicInfoMapper, TopicInfo
     @SneakyThrows
     @Transactional(rollbackFor = Exception.class)
     public Response<Integer> removeTopicByIds(Long[] ids) {
-
         for (Long id : ids) {
             //删除专题
             this.update(new UpdateWrapper<TopicInfo>().set("status",1).eq("id",id));
@@ -111,11 +112,9 @@ public class TopicInfoServiceImpl extends ServiceImpl<TopicInfoMapper, TopicInfo
      */
     @Override
     @SneakyThrows
-    public Response getTopicById(Long id) {
-        TopicInfoVo topicInfoVo = new TopicInfoVo();
-        TopicInfo topicInfo = this.getById(id);
-        BeanUtils.copyProperties(topicInfo,topicInfoVo);
-        topicInfoVo.setGoodsInfoList(goodsInfoService.list(new QueryWrapper<GoodsInfo>().eq("status",0).eq("topic_id",topicInfo.getId())));
+    public Response getTopicDetailsById(Long id) {
+        TopicInfoVo topicInfoVo = topicInfoMapper.getTopicDetailsById(id);
+        topicInfoVo.setGoodsInfoList(goodsInfoMapper.getGoodsInfoListByTopicId(topicInfoVo.getId()));
         return Response.success(topicInfoVo);
     }
 

+ 14 - 2
zzjs-service/src/main/java/com/miaxis/topic/vo/TopicInfoVo.java

@@ -3,7 +3,7 @@ package com.miaxis.topic.vo;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.miaxis.common.core.domain.BaseBusinessEntity;
-import com.miaxis.goods.domain.GoodsInfo;
+import com.miaxis.goods.vo.GoodsInfoVo;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -26,30 +26,42 @@ public class TopicInfoVo extends BaseBusinessEntity{
     @ApiModelProperty(value = "主键")
     private Long id;
 
+    @TableField("topic_name")
     @ApiModelProperty(value = "专题名称")
     private String topicName;
 
+    @TableField("topic_illustration")
     @ApiModelProperty(value = "专题插图--对应file_info的id")
     private Long topicIllustration;
 
+    @ApiModelProperty(value = "专题插图访问地址")
+    private String fileUrl;
+
+    @TableField("sharing_status")
     @ApiModelProperty(value = "是否允许分享   0:是 、1:否")
     private Integer sharingStatus;
 
+    @TableField("sharing_number_status")
     @ApiModelProperty(value = "是否显示分享数量    0:是 、1:否")
     private Integer sharingNumberStatus;
 
+    @TableField("comment_status")
     @ApiModelProperty(value = "是否允许评论   0:是 、1:否")
     private Integer commentStatus;
 
+    @TableField("comment_number_status")
     @ApiModelProperty(value = "是否显示评论数量    0:是 、1:否")
     private Integer commentNumberStatus;
 
+    @TableField("collection_number_status")
     @ApiModelProperty(value = "是否显示收藏数量   0:是 、1:否")
     private Integer collectionNumberStatus;
 
+    @TableField("topic_content")
     @ApiModelProperty(value = "专题内容")
     private String topicContent;
 
+    @TableField("shelf_status")
     @ApiModelProperty(value = "上架状态  0:已上架、1:未上架")
     private Integer shelfStatus;
 
@@ -57,6 +69,6 @@ public class TopicInfoVo extends BaseBusinessEntity{
     private Integer status;
 
     @ApiModelProperty(value = "商品集合")
-    private List<GoodsInfo> goodsInfoList;
+    private List<GoodsInfoVo> goodsInfoList;
 
 }

+ 20 - 0
zzjs-service/src/main/resources/mapper/goods/GoodsInfoMapper.xml

@@ -34,4 +34,24 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         </where>
     </select>
 
+    <select id="getGoodsInfoListByTopicId" resultType="com.miaxis.goods.vo.GoodsInfoVo">
+        select
+        g.id,
+        g.goods_name,
+        g.goods_price,
+        g.goods_link,
+        g.goods_describe,
+        g.goods_picture,
+        g.create_time,
+        g.update_time,
+        g.topic_id ,
+        f.file_url as fileUrl,
+        g.status
+        from goods_info g
+        LEFT JOIN file_info f on f.file_id = g.goods_picture
+        where
+        g.status = 0
+        and g.topic_id = #{topicId}
+    </select>
+
 </mapper>

+ 32 - 3
zzjs-service/src/main/resources/mapper/product/ProductTypeInfoMapper.xml

@@ -11,15 +11,27 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="productDescribe"    column="product_describe"    />
         <result property="createTime"    column="create_time"    />
         <result property="updateTime"    column="update_time"    />
+        <result property="productIcon"    column="product_icon"    />
         <result property="status"    column="status"    />
     </resultMap>
 
     <sql id="selectProductTypeInfoVo">
-        select id, product_name, pid, product_describe, create_time, update_time, status from product_type_info
+        select id, product_name, pid, product_describe, create_time, update_time,product_icon ,status from product_type_info
     </sql>
 
-    <select id="selectProductTypeInfoList" parameterType="ProductTypeInfo" resultMap="ProductTypeInfoResult">
-        <include refid="selectProductTypeInfoVo"/>
+    <select id="selectProductTypeInfoList" resultType="com.miaxis.product.vo.ProductTypeInfoVo">
+        select
+        py.id,
+        py.product_name,
+        py.pid,
+        py.product_describe,
+        py.create_time,
+        py.update_time,
+        py.product_icon ,
+        f.file_url as fileUrl,
+        py.status
+        from product_type_info py
+        LEFT JOIN file_info f on f.file_id = py.product_icon
         <where>
             <if test="productName != null  and productName != ''"> and product_name like concat('%', #{productName}, '%')</if>
             <if test="pid != null "> and pid = #{pid}</if>
@@ -28,4 +40,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         </where>
     </select>
 
+    <!--获取品类详情信息-->
+    <select id="getProductDetailsById" resultType="com.miaxis.product.vo.ProductTypeInfoVo">
+        select
+        py.id,
+        py.product_name,
+        py.pid,
+        py.product_describe,
+        py.create_time,
+        py.update_time,
+        py.product_icon ,
+        f.file_url as fileUrl,
+        py.status
+        from product_type_info py
+        LEFT JOIN file_info f on f.file_id = py.product_icon
+        where py.id = #{id}
+    </select>
+
 </mapper>

+ 40 - 2
zzjs-service/src/main/resources/mapper/topic/TopicInfoMapper.xml

@@ -24,8 +24,24 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         select id, topic_name, topic_illustration, sharing_status, sharing_number_status, comment_status, comment_number_status, collection_number_status, topic_content, create_time, update_time, shelf_status,status from topic_info
     </sql>
 
-    <select id="selectTopicInfoList" resultMap="TopicInfoResult">
-        <include refid="selectTopicInfoVo"/>
+    <select id="selectTopicInfoList" resultType="com.miaxis.topic.vo.TopicInfoVo">
+        select
+        ti.id,
+        ti.topic_name,
+        ti.topic_illustration,
+        ti.sharing_status,
+        ti.sharing_number_status,
+        ti.comment_status,
+        ti.comment_number_status,
+        ti.collection_number_status,
+        ti.topic_content,
+        ti.create_time,
+        ti.update_time,
+        ti.shelf_status,
+        f.file_url as fileUrl,
+        ti.status
+        from topic_info ti
+        LEFT JOIN file_info f on f.file_id = ti.topic_illustration
         <where>
             <if test="topicName != null  and topicName != ''"> and topic_name like concat('%', #{topicName}, '%')</if>
             <if test="topicIllustration != null "> and topic_illustration = #{topicIllustration}</if>
@@ -40,4 +56,26 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         </where>
     </select>
 
+    <!--获取专题详情信息-->
+    <select id="getTopicDetailsById" resultType="com.miaxis.topic.vo.TopicInfoVo">
+        select
+        ti.id,
+        ti.topic_name,
+        ti.topic_illustration,
+        ti.sharing_status,
+        ti.sharing_number_status,
+        ti.comment_status,
+        ti.comment_number_status,
+        ti.collection_number_status,
+        ti.topic_content,
+        ti.create_time,
+        ti.update_time,
+        ti.shelf_status,
+        f.file_url as fileUrl,
+        ti.status
+        from topic_info ti
+        LEFT JOIN file_info f on f.file_id = ti.topic_illustration
+        WHERE ti.id = #{id}
+    </select>
+
 </mapper>