MaTechnicianMapper.java 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214
  1. package com.ylx.massage.mapper;
  2. import java.util.List;
  3. import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  4. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  5. import com.ylx.companion.domain.dto.CompanionRecommendDTO;
  6. import com.ylx.companion.domain.vo.HotCompanionMerchantVO;
  7. import com.ylx.massage.domain.MaTechnician;
  8. import com.ylx.massage.domain.dto.MaTechnicianAuditQueryDTO;
  9. import com.ylx.massage.domain.dto.MaTechnicianMerchantQueryDTO;
  10. import com.ylx.massage.domain.dto.MassageMerchantRecommendDto;
  11. import com.ylx.massage.domain.vo.MaTechnicianAuditListVO;
  12. import com.ylx.massage.domain.vo.MaTechnicianMerchantDetailVO;
  13. import com.ylx.massage.domain.vo.MaTechnicianMerchantListVO;
  14. import com.ylx.massage.domain.vo.MassageProjectRecommendVo;
  15. import com.ylx.massage.domain.vo.MerchantVo;
  16. import com.ylx.merchant.domain.dto.MerchantListDTO;
  17. import com.ylx.merchant.domain.dto.MerchantProjectDTO;
  18. import com.ylx.merchant.domain.vo.MerchantListVO;
  19. import com.ylx.project.domain.bookMerchant.vo.ProjectInfoVO;
  20. import org.apache.ibatis.annotations.Param;
  21. import org.mapstruct.Mapper;
  22. import org.apache.ibatis.annotations.Select;
  23. /**
  24. * 技师Mapper接口
  25. *
  26. * @author ylx
  27. * @date 2024-03-22
  28. */
  29. @Mapper
  30. public interface MaTechnicianMapper extends BaseMapper<MaTechnician>
  31. {
  32. /**
  33. * 查询技师
  34. *
  35. * @param id 技师主键
  36. * @return 技师
  37. */
  38. public MaTechnician selectMaTechnicianById(Long id);
  39. /**
  40. * 查询技师列表
  41. *
  42. * @param maTechnician 技师
  43. * @return 技师集合
  44. */
  45. List<MaTechnician> selectMaTechnicianList(MaTechnician maTechnician);
  46. /**
  47. * 新增技师
  48. *
  49. * @param maTechnician 技师
  50. * @return 结果
  51. */
  52. public int insertMaTechnician(MaTechnician maTechnician);
  53. /**
  54. * 修改技师
  55. *
  56. * @param maTechnician 技师
  57. * @return 结果
  58. */
  59. public int updateMaTechnician(MaTechnician maTechnician);
  60. /**
  61. * 删除技师
  62. *
  63. * @param id 技师主键
  64. * @return 结果
  65. */
  66. public int deleteMaTechnicianById(Long id);
  67. /**
  68. * 批量删除技师
  69. *
  70. * @param ids 需要删除的数据主键集合
  71. * @return 结果
  72. */
  73. public int deleteMaTechnicianByIds(Long[] ids);
  74. /**
  75. * 后台查询商户列表
  76. *
  77. * @param page 分页参数
  78. * @param dto 查询条件
  79. * @return 商户分页列表
  80. */
  81. Page<MaTechnicianMerchantListVO> selectMerchantList(Page<MaTechnicianMerchantListVO> page,
  82. @Param("dto") MaTechnicianMerchantQueryDTO dto);
  83. /**
  84. * 后台查询商户入驻审核列表
  85. *
  86. * @param page 分页参数
  87. * @param dto 查询条件
  88. * @return 商户入驻审核分页列表
  89. */
  90. Page<MaTechnicianAuditListVO> selectMerchantAuditList(Page<MaTechnicianAuditListVO> page,
  91. @Param("dto") MaTechnicianAuditQueryDTO dto);
  92. /**
  93. * 后台查询商户详情
  94. *
  95. * @param id 商户ID
  96. * @return 商户详情
  97. */
  98. MaTechnicianMerchantDetailVO selectMerchantDetailById(@Param("id") Long id);
  99. /**
  100. * 根据商户ID查询商户。
  101. *
  102. * @param id 商户ID
  103. * @return 商户信息
  104. */
  105. default MaTechnician selectMerchantById(Integer id) {
  106. return selectById(id);
  107. }
  108. /**
  109. * 根据商户ID查询商户证照。
  110. *
  111. * @param id 商户ID
  112. * @return 商户信息
  113. */
  114. default MaTechnician selectMerchantCertificateById(Integer id) {
  115. return selectById(id);
  116. }
  117. /**
  118. * 根据商户ID查询商户。
  119. *
  120. * @param id 商户ID
  121. * @return 商户信息
  122. */
  123. default MaTechnician selectMerchantById(Long id) {
  124. return selectById(id);
  125. }
  126. /**
  127. * 根据商户ID更新商户。
  128. *
  129. * @param maTechnician 商户信息
  130. * @return 影响行数
  131. */
  132. default int updateMerchantById(MaTechnician maTechnician) {
  133. return updateById(maTechnician);
  134. }
  135. /**
  136. * 根据商户ID更新合同文件。
  137. *
  138. * @param maTechnician 商户合同文件信息
  139. * @return 影响行数
  140. */
  141. default int updateMerchantContractById(MaTechnician maTechnician) {
  142. return updateById(maTechnician);
  143. }
  144. /**
  145. * 根据商户ID提交待入驻审核。
  146. *
  147. * @param maTechnician 商户审核状态信息
  148. * @return 影响行数
  149. */
  150. default int submitMerchantAuditById(MaTechnician maTechnician) {
  151. return updateById(maTechnician);
  152. }
  153. /**
  154. * 根据商户ID审核通过待审核商户。
  155. *
  156. * @param maTechnician 商户审核信息
  157. * @return 影响行数
  158. */
  159. default int approvePendingMerchantAuditById(MaTechnician maTechnician) {
  160. return updateById(maTechnician);
  161. }
  162. List<MerchantVo> getMerchantRecommend(@Param("dto") MassageMerchantRecommendDto dto);
  163. /**
  164. * 查询该城市是否有商户提供服务
  165. * @param areaCode
  166. * @return
  167. */
  168. @Select("SELECT EXISTS (" +
  169. " SELECT 1" +
  170. " FROM ma_technician t" +
  171. " INNER JOIN ma_project p ON t.id = p.merchant_id" +
  172. " WHERE t.te_area_code = #{areaCode}" +
  173. " AND t.is_delete = 0" +
  174. " AND t.audit_status = 2" +
  175. " AND t.n_status2 = 0" +
  176. " AND t.merchant_status = 0" +
  177. " AND p.is_delete = 0" +
  178. " AND p.audit_status = 1" +
  179. " AND p.merchant_type = 0" +
  180. " AND p.project_is_enable = 1" +
  181. ") AS has_merchant_with_service")
  182. Boolean isHasMerchantCity(@Param("areaCode") String areaCode);
  183. /**
  184. * 首页陪玩热门商户推荐销量前五
  185. * @param dto
  186. * @return
  187. */
  188. List<HotCompanionMerchantVO> getHotCompanionMerchantList(@Param("dto") CompanionRecommendDTO dto);
  189. Page<MerchantListVO> getMerchantPage(Page<MerchantListVO> page, @Param("dto") MerchantListDTO dto);
  190. Page<ProjectInfoVO> getByMerchantProject(Page<ProjectInfoVO> page, @Param("dto") MerchantProjectDTO dto);
  191. }