ITechnicianMomentService.java 4.0 KB

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