Parcourir la source

商户主页商户动态分页接口

wangzhijun il y a 2 semaines
Parent
commit
48400a0a7f

+ 4 - 0
nightFragrance-massage/src/main/java/com/ylx/massage/mapper/TechnicianMomentMapper.java

@@ -2,6 +2,8 @@ package com.ylx.massage.mapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ylx.massage.domain.TechnicianMoment;
+import com.ylx.merchant.domain.dto.MerchantMomentDTO;
+import com.ylx.merchant.domain.vo.MomentVO;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
@@ -42,4 +44,6 @@ public interface TechnicianMomentMapper extends BaseMapper<TechnicianMoment> {
      * @return 动态简要信息(包含媒体URL列表)
      */
     Map<String, Object> selectMomentSimpleDetail(@Param("momentId") Long momentId);
+
+    Page<MomentVO> getMerchantProject(Page<MomentVO> page, @Param("dto") MerchantMomentDTO dto);
 }

+ 3 - 0
nightFragrance-massage/src/main/java/com/ylx/massage/service/ITechnicianMomentService.java

@@ -10,6 +10,8 @@ import com.ylx.massage.domain.vo.MomentDetailVO;
 import com.ylx.massage.domain.vo.MomentListVO;
 import com.ylx.massage.domain.vo.MomentManageVO;
 import com.ylx.massage.domain.vo.MomentSimpleDetailVO;
+import com.ylx.merchant.domain.dto.MerchantMomentDTO;
+import com.ylx.merchant.domain.vo.MomentVO;
 
 import java.math.BigDecimal;
 import java.util.List;
@@ -129,4 +131,5 @@ public interface ITechnicianMomentService extends IService<com.ylx.massage.domai
      */
     MomentSimpleDetailVO getMomentSimpleDetail(Long momentId);
 
+    Page<MomentVO> getByMerchantMoment(MerchantMomentDTO dto);
 }

+ 12 - 10
nightFragrance-massage/src/main/java/com/ylx/massage/service/impl/TechnicianMomentServiceImpl.java

@@ -4,25 +4,21 @@ import cn.hutool.core.collection.CollUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ylx.common.core.domain.model.WxLoginUser;
 import com.ylx.common.exception.ServiceException;
 import com.ylx.massage.domain.MomentMedia;
-import com.ylx.massage.domain.TechnicianMoment;
 import com.ylx.massage.domain.TJs;
+import com.ylx.massage.domain.TechnicianMoment;
+import com.ylx.massage.domain.dto.EditMomentDTO;
 import com.ylx.massage.domain.dto.MomentAuditDTO;
 import com.ylx.massage.domain.dto.MomentManageQueryDTO;
 import com.ylx.massage.domain.dto.PublishMomentDTO;
-import com.ylx.massage.domain.dto.EditMomentDTO;
-import com.ylx.massage.domain.vo.MomentDetailVO;
-import com.ylx.massage.domain.vo.MomentListVO;
-import com.ylx.massage.domain.vo.MomentManageVO;
-import com.ylx.massage.domain.vo.MomentMediaVO;
-import com.ylx.massage.domain.vo.MomentSimpleDetailVO;
-import com.ylx.massage.domain.vo.MyMomentVO;
+import com.ylx.massage.domain.vo.*;
 import com.ylx.massage.mapper.MomentMediaMapper;
-import com.ylx.massage.mapper.TechnicianMomentMapper;
 import com.ylx.massage.mapper.TJsMapper;
+import com.ylx.massage.mapper.TechnicianMomentMapper;
 import com.ylx.massage.service.ITechnicianMomentService;
+import com.ylx.merchant.domain.dto.MerchantMomentDTO;
+import com.ylx.merchant.domain.vo.MomentVO;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
@@ -922,4 +918,10 @@ public class TechnicianMomentServiceImpl extends ServiceImpl<TechnicianMomentMap
         log.info("查询动态简要详情成功,动态ID:{}", momentId);
         return vo;
     }
+
+    @Override
+    public Page<MomentVO> getByMerchantMoment(MerchantMomentDTO dto) {
+        Page<MomentVO> page = new Page<>(dto.getCurrent(), dto.getSize());
+        return this.baseMapper.getMerchantProject(page, dto);
+    }
 }

+ 12 - 0
nightFragrance-massage/src/main/java/com/ylx/merchant/controller/ClientMerchantController.java

@@ -3,11 +3,14 @@ package com.ylx.merchant.controller;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ylx.common.core.domain.R;
 import com.ylx.massage.service.IMaTechnicianService;
+import com.ylx.massage.service.ITechnicianMomentService;
 import com.ylx.merchant.domain.dto.MerchantDetailDTO;
 import com.ylx.merchant.domain.dto.MerchantListDTO;
+import com.ylx.merchant.domain.dto.MerchantMomentDTO;
 import com.ylx.merchant.domain.dto.MerchantProjectDTO;
 import com.ylx.merchant.domain.vo.MerchantDetailVO;
 import com.ylx.merchant.domain.vo.MerchantListVO;
+import com.ylx.merchant.domain.vo.MomentVO;
 import com.ylx.project.domain.bookMerchant.vo.ProjectInfoVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -27,6 +30,8 @@ public class ClientMerchantController {
 
     @Resource
     private IMaTechnicianService maTechnicianService;
+    @Resource
+    private ITechnicianMomentService momentService;
 
     @PostMapping("/page")
     @ApiOperation("同城搭子分页查询接口")
@@ -42,6 +47,13 @@ public class ClientMerchantController {
         return R.ok(pageData);
     }
 
+    @PostMapping("/moment/page")
+    @ApiOperation("商户动态分页查询接口")
+    public R<Page<MomentVO>> getByMerchantMoment(@Validated @RequestBody MerchantMomentDTO dto) {
+        Page<MomentVO> pageData = this.momentService.getByMerchantMoment(dto);
+        return R.ok(pageData);
+    }
+
     @PostMapping("/detail")
     @ApiOperation("商户主页商户详情接口")
     public R<MerchantDetailVO> getDetailById(@Validated @RequestBody MerchantDetailDTO dto) {

+ 20 - 0
nightFragrance-massage/src/main/java/com/ylx/merchant/domain/dto/MerchantMomentDTO.java

@@ -0,0 +1,20 @@
+package com.ylx.merchant.domain.dto;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ylx.merchant.domain.vo.MomentVO;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+
+@Data
+@ApiModel("商户动态分页查询DTO")
+public class MerchantMomentDTO extends Page<MomentVO> implements Serializable {
+    private static final long serialVersionUID = -1307550361222681902L;
+
+    @NotNull(message = "商户ID不能为空")
+    @ApiModelProperty("商户ID")
+    private Long id;
+}

+ 36 - 0
nightFragrance-massage/src/main/java/com/ylx/merchant/domain/vo/MomentVO.java

@@ -0,0 +1,36 @@
+package com.ylx.merchant.domain.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+@Data
+@ApiModel("商户动态VO")
+public class MomentVO implements Serializable {
+    private static final long serialVersionUID = -5132347021078141057L;
+
+    @ApiModelProperty("id")
+    private Long id;
+
+    @ApiModelProperty("动态标题")
+    private String title;
+
+    @ApiModelProperty("动态内容")
+    private String content;
+
+    @ApiModelProperty("媒体类型:1-图片,2-视频")
+    private Integer mediaType;
+
+    @ApiModelProperty("封面图URL")
+    private String coverUrl;
+
+    @ApiModelProperty("浏览量")
+    private Integer viewCount;
+
+    @ApiModelProperty("发布时间")
+    private LocalDateTime publishTime;
+
+}

+ 17 - 0
nightFragrance-massage/src/main/resources/mapper/massage/TechnicianMomentMapper.xml

@@ -109,4 +109,21 @@
             a.id, a.title, a.content, a.media_type
     </select>
 
+    <select id="getMerchantProject" resultType="com.ylx.merchant.domain.vo.MomentVO">
+        SELECT
+            id,
+            title,
+            content,
+            media_type AS mediaType,
+            cover_url AS coverUrl,
+            view_count AS viewCount,
+            publish_time AS publishTime
+        FROM t_technician_moment
+        WHERE technician_id = #{dto.id}
+          AND status = 1           -- 仅查询正常状态的动态
+          AND audit_status = 2     -- 仅查询审核通过的动态
+          AND visible_range = 1    -- 仅查询可见范围的动态
+        ORDER BY publish_time DESC
+    </select>
+
 </mapper>