IMaTechnicianService.java 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234
  1. package com.ylx.massage.service;
  2. import java.util.List;
  3. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  4. import com.baomidou.mybatisplus.extension.service.IService;
  5. import com.ylx.common.core.domain.AjaxResult;
  6. import com.ylx.common.core.domain.model.LoginUser;
  7. import com.ylx.massage.domain.MaProject;
  8. import com.ylx.massage.domain.MaTechnician;
  9. import com.ylx.massage.domain.dto.*;
  10. import com.ylx.massage.domain.vo.*;
  11. import com.ylx.massage.domain.dto.MaProjectSaveDto;
  12. import com.ylx.massage.domain.dto.MaTechnicianAuditQueryDTO;
  13. import com.ylx.massage.domain.dto.MaTechnicianAuditSubmitDTO;
  14. import com.ylx.massage.domain.dto.MassageMerchantRecommendDto;
  15. import com.ylx.massage.domain.dto.MaTechnicianMerchantAddDTO;
  16. import com.ylx.massage.domain.dto.MaTechnicianMerchantQueryDTO;
  17. import com.ylx.massage.domain.dto.MaTechnicianPendingAuditSubmitDTO;
  18. import com.ylx.massage.domain.vo.MaTechnicianAppAddVo;
  19. import com.ylx.massage.domain.vo.MaTechnicianAuditListVO;
  20. import com.ylx.massage.domain.vo.MaTechnicianCertificateVO;
  21. import com.ylx.massage.domain.vo.MaTechnicianMerchantDetailVO;
  22. import com.ylx.massage.domain.vo.MaTechnicianMerchantListVO;
  23. import com.ylx.massage.domain.vo.MerchantVo;
  24. import com.ylx.project.domain.Project;
  25. import org.springframework.stereotype.Service;
  26. import org.springframework.web.multipart.MultipartFile;
  27. /**
  28. * 技师Service接口
  29. *
  30. * @author ylx
  31. * @date 2024-03-22
  32. */
  33. public interface IMaTechnicianService extends IService<MaTechnician> {
  34. /**
  35. * 查询技师
  36. *
  37. * @param id 技师主键
  38. * @return 技师
  39. */
  40. public MaTechnician selectMaTechnicianById(Long id);
  41. /**
  42. * 查询技师列表
  43. *
  44. * @param maTechnician 技师
  45. * @return 技师集合
  46. */
  47. public List<MaTechnician> selectMaTechnicianList(MaTechnician maTechnician);
  48. /**
  49. * 新增技师
  50. *
  51. * @param
  52. * @return 结果
  53. */
  54. public int insertMaTechnician(MaTechnicianAppAddVo maTechnicianAppAddVo);
  55. /**
  56. * 后台新增商户
  57. *
  58. * @param dto 新增商户参数
  59. * @param loginUser 当前登录用户
  60. * @return 结果
  61. */
  62. public int insertMerchant(MaTechnicianMerchantAddDTO dto, LoginUser loginUser);
  63. /**
  64. * 后台编辑商户
  65. *
  66. * @param id 商户ID
  67. * @param dto 编辑商户参数
  68. * @param loginUser 当前登录用户
  69. * @return 结果
  70. */
  71. public int updateMerchant(Integer id, MaTechnicianMerchantAddDTO dto, LoginUser loginUser);
  72. /**
  73. * 后台上传商户合同文件
  74. *
  75. * @param id 商户ID
  76. * @param file 合同文件
  77. * @param loginUser 当前登录用户
  78. * @return 上传结果
  79. */
  80. AjaxResult uploadMerchantContract(Integer id, MultipartFile file, LoginUser loginUser);
  81. /**
  82. * 后台查询商户入驻审核列表
  83. *
  84. * @param page 分页参数
  85. * @param dto 查询条件
  86. * @return 商户入驻审核分页列表
  87. */
  88. Page<MaTechnicianAuditListVO> selectMerchantAuditList(Page<MaTechnicianAuditListVO> page,
  89. MaTechnicianAuditQueryDTO dto);
  90. /**
  91. * 商户待入驻提交审核。
  92. *
  93. * @param id 商户ID
  94. * @param loginUser 当前登录用户
  95. * @return 结果
  96. */
  97. int submitMerchantAudit(Integer id, MaTechnicianAuditSubmitDTO dto, LoginUser loginUser);
  98. /**
  99. * 后台待审核页面审核通过商户。
  100. *
  101. * @param id 商户ID
  102. * @param dto 待审核通过参数
  103. * @param loginUser 当前登录用户
  104. * @return 结果
  105. */
  106. int approvePendingMerchantAudit(Integer id, MaTechnicianPendingAuditSubmitDTO dto, LoginUser loginUser);
  107. /**
  108. * 后台查询商户列表
  109. *
  110. * @param page 分页参数
  111. * @param dto 查询条件
  112. * @return 商户分页列表
  113. */
  114. public Page<MaTechnicianMerchantListVO> selectMerchantList(Page<MaTechnicianMerchantListVO> page,
  115. MaTechnicianMerchantQueryDTO dto);
  116. /**
  117. * 后台查询商户详情
  118. *
  119. * @param id 商户ID
  120. * @return 商户详情
  121. */
  122. public MaTechnicianMerchantDetailVO selectMerchantDetail(Long id);
  123. /**
  124. * 后台查询商户证照
  125. *
  126. * @param id 商户ID
  127. * @return 商户证照
  128. */
  129. MaTechnicianCertificateVO selectMerchantCertificate(Integer id);
  130. /**
  131. * 修改技师
  132. *
  133. * @param
  134. * @return 结果
  135. */
  136. public int updateMaTechnician(MaTechnicianAppAddVo maTechnicianAppAddVo);
  137. /**
  138. * 批量删除技师
  139. *
  140. * @param ids 需要删除的技师主键集合
  141. * @return 结果
  142. */
  143. public int deleteMaTechnicianByIds(Long[] ids);
  144. /**
  145. * 删除技师信息
  146. *
  147. * @param id 技师主键
  148. * @return 结果
  149. */
  150. public int deleteMaTechnicianById(Long id);
  151. /**
  152. * 首页选中的城市是否有开通服务
  153. *
  154. * @param areaCode
  155. * @return
  156. */
  157. Boolean isHasMerchantCity(String areaCode);
  158. List<MerchantVo> getMerchantRecommend(MassageMerchantRecommendDto dto);
  159. /**
  160. * 申请技师
  161. *
  162. * @param req
  163. */
  164. void apply(MaTechnicianAppAddVo req);
  165. /**
  166. * 申请技师文件
  167. * @param req
  168. */
  169. void applyFile(MerchantApplyFileDto req);
  170. /**
  171. * 技师状态切换
  172. *
  173. * @param
  174. */
  175. Result switchToOffline(Long userId, Boolean forceConfirm);
  176. /**
  177. * 技师列表
  178. *
  179. * @param userId
  180. * @param auditStatus
  181. * @return
  182. */
  183. List<MaProject> selectMaTechnicianListBy(String userId, String auditStatus);
  184. /**
  185. * 服务项目列表
  186. *
  187. * @param typeId
  188. * @return
  189. */
  190. List<Project> selectTechnicianListBy(String typeId);
  191. /**
  192. * 技师未申请项目列表
  193. *
  194. * @param userId
  195. * @param typeId
  196. * @return
  197. */
  198. List<Project> getNotApplyList(String userId, String typeId);
  199. /**
  200. * 申请开通新服务
  201. * @param dto
  202. * @return
  203. */
  204. int applyForService(MaProjectSaveDto dto);
  205. /**
  206. * 商户入住信息
  207. * @param userId
  208. * @return
  209. */
  210. MerchantAuditFile getTechnicianList(Long userId);
  211. }