ITechnicianMomentService.java 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. package com.ylx.massage.service;
  2. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  3. import com.baomidou.mybatisplus.extension.service.IService;
  4. import com.ylx.massage.domain.TechnicianMoment;
  5. import com.ylx.massage.domain.dto.EditMomentDTO;
  6. import com.ylx.massage.domain.dto.MomentAuditDTO;
  7. import com.ylx.massage.domain.dto.MomentManageQueryDTO;
  8. import com.ylx.massage.domain.dto.PublishMomentDTO;
  9. import com.ylx.massage.domain.vo.MomentDetailVO;
  10. import com.ylx.massage.domain.vo.MomentListVO;
  11. import com.ylx.massage.domain.vo.MomentManageVO;
  12. import com.ylx.massage.domain.vo.MomentSimpleDetailVO;
  13. import com.ylx.merchant.domain.dto.MerchantMomentDTO;
  14. import com.ylx.merchant.domain.vo.MomentVO;
  15. import java.math.BigDecimal;
  16. import java.util.List;
  17. /**
  18. * 技师动态服务接口
  19. */
  20. public interface ITechnicianMomentService extends IService<TechnicianMoment> {
  21. /**
  22. * 查询推荐动态列表(不分地区,按日期倒序,同一天按浏览量倒序)
  23. *
  24. * @param pageNum 页码
  25. * @param pageSize 每页数量
  26. * @return 动态列表
  27. */
  28. List<MomentListVO> getRecommendedMoments(Integer pageNum, Integer pageSize);
  29. /**
  30. * 查询同城动态列表(按城市和发布时间倒序)
  31. *
  32. * @param cityCode 城市编码
  33. * @param pageNum 页码
  34. * @param pageSize 每页数量
  35. * @return 动态列表
  36. */
  37. List<MomentListVO> getSameCityMoments(String cityCode, Integer pageNum, Integer pageSize);
  38. /**
  39. * 查询附近动态列表(10km内,按日期倒序,同一天按距离排序)
  40. *
  41. * @param longitude 用户经度
  42. * @param latitude 用户纬度
  43. * @param pageNum 页码
  44. * @param pageSize 每页数量
  45. * @return 动态列表
  46. */
  47. List<MomentListVO> getNearbyMoments(BigDecimal longitude, BigDecimal latitude, Integer pageNum, Integer pageSize);
  48. /**
  49. * 查询动态详情(浏览量+1)
  50. *
  51. * @param momentId 动态ID
  52. * @return 动态详情
  53. */
  54. MomentDetailVO getMomentDetail(Long momentId, BigDecimal longitude, BigDecimal latitude);
  55. /**
  56. * 发布动态或保存草稿
  57. *
  58. * @param dto 发布动态请求对象
  59. * @param openId 技师OpenID
  60. * @return 动态ID
  61. */
  62. Long publishMoment(PublishMomentDTO dto, String openId);
  63. /**
  64. * 编辑动态或保存为草稿
  65. *
  66. * @param dto 编辑动态请求对象
  67. * @param openId 技师OpenID
  68. * @return 动态ID
  69. */
  70. Long editMoment(EditMomentDTO dto, String openId);
  71. /**
  72. * 查询草稿箱列表
  73. *
  74. * @param openId 技师OpenID
  75. * @param pageNum 页码
  76. * @param pageSize 每页数量
  77. * @return 草稿列表
  78. */
  79. Page<MomentListVO> getDraftMoments(String openId, Integer pageNum, Integer pageSize);
  80. /**
  81. * 查询我的动态列表(已发布的动态:审核中+审核通过)
  82. *
  83. * @param openId 技师OpenID
  84. * @param pageNum 页码
  85. * @param pageSize 每页数量
  86. * @return 我的动态列表
  87. */
  88. Page<com.ylx.massage.domain.vo.MyMomentVO> getMyMoments(String openId, Integer pageNum, Integer pageSize);
  89. /**
  90. * 根据技师ID查询动态列表(已发布的动态:审核中+审核通过)
  91. *
  92. * @param technicianId 技师ID
  93. * @return List<MomentListVO> 技师的动态列表
  94. */
  95. List<MomentListVO> getMomentsByTechnicianId(String technicianId);
  96. /**
  97. * 查询待审核动态列表(管理后台)
  98. *
  99. * @param queryDTO 查询参数
  100. * @return Page<MomentManageVO> 分页结果
  101. */
  102. Page<MomentManageVO> getMomentManageList(MomentManageQueryDTO queryDTO);
  103. /**
  104. * 审核动态(通过/拒绝)
  105. *
  106. * @param momentId 动态ID
  107. * @param auditStatus 审核状态:2-通过,3-拒绝
  108. * @param rejectReason 拒绝原因(拒绝时必填)
  109. * @return 是否成功
  110. */
  111. Boolean auditMoment(MomentAuditDTO dto);
  112. /**
  113. * 更新动态推荐状态
  114. *
  115. * @param momentId 动态ID
  116. * @param isRecommend 是否推荐:0-否,1-是
  117. * @return 是否成功
  118. */
  119. Boolean updateRecommendStatus(Long momentId, Integer isRecommend);
  120. /**
  121. * 更新动态上架状态
  122. *
  123. * @param momentId 动态ID
  124. * @param isList 是否上架:0-否,1-是
  125. * @return 是否成功
  126. */
  127. Boolean updateListStatus(Long momentId, Integer isList);
  128. /**
  129. * 根据动态ID查询动态简要详情(包含媒体URL列表)
  130. *
  131. * @param momentId 动态ID
  132. * @return 动态简要详情
  133. */
  134. MomentSimpleDetailVO getMomentSimpleDetail(Long momentId);
  135. Page<MomentVO> getByMerchantMoment(MerchantMomentDTO dto);
  136. }