Bläddra i källkod

Merge remote-tracking branch 'origin/dev' into dev

jinshihui 1 månad sedan
förälder
incheckning
36c1002ada
21 ändrade filer med 174 tillägg och 169 borttagningar
  1. 0 2
      nightFragrance-massage/src/main/java/com/ylx/companion/controller/CompanionRecommendController.java
  2. 3 0
      nightFragrance-massage/src/main/java/com/ylx/discover/moment/domain/vo/MomentPageVO.java
  3. 59 0
      nightFragrance-massage/src/main/java/com/ylx/home/category/controller/CategoryRecommendController.java
  4. 10 20
      nightFragrance-massage/src/main/java/com/ylx/home/category/domain/dto/MerchantRecommendDto.java
  5. 8 3
      nightFragrance-massage/src/main/java/com/ylx/home/category/domain/dto/MerchantsDto.java
  6. 8 4
      nightFragrance-massage/src/main/java/com/ylx/home/category/domain/dto/ProjectRecommendDTO.java
  7. 2 4
      nightFragrance-massage/src/main/java/com/ylx/home/category/domain/vo/MerchantsVo.java
  8. 2 2
      nightFragrance-massage/src/main/java/com/ylx/home/category/domain/vo/ProjectRecommendVo.java
  9. 0 59
      nightFragrance-massage/src/main/java/com/ylx/massage/controller/MassageRecommendController.java
  10. 1 1
      nightFragrance-massage/src/main/java/com/ylx/massage/domain/vo/MerchantVo.java
  11. 6 5
      nightFragrance-massage/src/main/java/com/ylx/massage/mapper/MaProjectMapper.java
  12. 2 3
      nightFragrance-massage/src/main/java/com/ylx/massage/mapper/MaTechnicianMapper.java
  13. 6 5
      nightFragrance-massage/src/main/java/com/ylx/massage/service/IMaProjectService.java
  14. 2 6
      nightFragrance-massage/src/main/java/com/ylx/massage/service/IMaTechnicianService.java
  15. 8 7
      nightFragrance-massage/src/main/java/com/ylx/massage/service/IMassageRecommendService.java
  16. 19 23
      nightFragrance-massage/src/main/java/com/ylx/massage/service/impl/MaProjectServiceImpl.java
  17. 2 2
      nightFragrance-massage/src/main/java/com/ylx/massage/service/impl/MaTechnicianServiceImpl.java
  18. 10 10
      nightFragrance-massage/src/main/java/com/ylx/massage/service/impl/MassageRecommendServiceImpl.java
  19. 10 10
      nightFragrance-massage/src/main/resources/mapper/massage/MaProjectMapper.xml
  20. 2 2
      nightFragrance-massage/src/main/resources/mapper/massage/MaTechnicianMapper.xml
  21. 14 1
      nightFragrance-massage/src/main/resources/mapper/moment/TechnicianMomentMapper.xml

+ 0 - 2
nightFragrance-massage/src/main/java/com/ylx/companion/controller/CompanionRecommendController.java

@@ -7,8 +7,6 @@ import com.ylx.companion.domain.dto.CompanionRecommendDTO;
 import com.ylx.companion.domain.vo.CompanionAllMerchantsVo;
 import com.ylx.companion.domain.vo.CompanionRecommendVO;
 import com.ylx.companion.service.ICompanionRecommendService;
-import com.ylx.massage.domain.dto.MassageAllMerchantsDto;
-import com.ylx.massage.domain.vo.MassageAllMerchantsVo;
 import com.ylx.massage.service.IMaProjectService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;

+ 3 - 0
nightFragrance-massage/src/main/java/com/ylx/discover/moment/domain/vo/MomentPageVO.java

@@ -32,4 +32,7 @@ public class MomentPageVO {
     @ApiModelProperty("媒体类型:1=图片,2=视频")
     private Integer mediaType;
 
+    @ApiModelProperty("视频URL")
+    private String mediaUrl;
+
 }

+ 59 - 0
nightFragrance-massage/src/main/java/com/ylx/home/category/controller/CategoryRecommendController.java

@@ -0,0 +1,59 @@
+package com.ylx.home.category.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ylx.common.core.domain.R;
+import com.ylx.home.category.domain.dto.MerchantsDto;
+import com.ylx.home.category.domain.dto.MerchantRecommendDto;
+import com.ylx.home.category.domain.dto.ProjectRecommendDTO;
+import com.ylx.home.category.domain.vo.MerchantsVo;
+import com.ylx.home.category.domain.vo.ProjectRecommendVo;
+import com.ylx.massage.domain.vo.MerchantVo;
+import com.ylx.massage.service.IMassageRecommendService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * 类描述:按摩推荐
+ *
+ * @author Administrator
+ * @version 1.0
+ * @date 2026/6/2 16:36
+ */
+@Slf4j
+@RestController
+@Api(tags = {"首页类目推荐"})
+@RequestMapping("/home/category")
+public class CategoryRecommendController {
+
+    @Resource
+    private IMassageRecommendService massageRecommendService;
+
+    @ApiOperation(value = "商户推荐", notes = "商户推荐")
+    @PostMapping(value = "/merchant/recommend")
+    public R<List<MerchantVo>> merchantRecommend(@Validated @RequestBody MerchantRecommendDto dto) {
+        List<MerchantVo> massageRecommendVos = massageRecommendService.getMerchantRecommend(dto);
+        return R.ok(massageRecommendVos);
+    }
+
+    @ApiOperation(value = "项目推荐", notes = "项目推荐")
+    @PostMapping(value = "/project/recommend")
+    public R<Page<ProjectRecommendVo>> projectRecommend(@Validated @RequestBody ProjectRecommendDTO dto) {
+        Page<ProjectRecommendVo> page = new Page<>(dto.getCurrent(), dto.getSize());
+        return R.ok(massageRecommendService.getProjectRecommend(page, dto));
+    }
+
+    @ApiOperation(value = "推荐商户点击全部查询所有商户", notes = "推荐商户点击全部查询所有商户")
+    @PostMapping(value = "/merchants")
+    public R<Page<MerchantsVo>> merchants(@Validated @RequestBody MerchantsDto dto) {
+        Page<MerchantsVo> page = new Page<>(dto.getCurrent(), dto.getSize());
+        return R.ok(massageRecommendService.getMerchants(page, dto));
+    }
+
+
+}

+ 10 - 20
nightFragrance-massage/src/main/java/com/ylx/massage/domain/dto/MassageMerchantRecommendDto.java → nightFragrance-massage/src/main/java/com/ylx/home/category/domain/dto/MerchantRecommendDto.java

@@ -1,38 +1,28 @@
-package com.ylx.massage.domain.dto;
+package com.ylx.home.category.domain.dto;
 
+import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
 import java.math.BigDecimal;
 
-/**
- * 类描述:按摩推荐dto
- *
- * @author Administrator
- * @version 1.0
- * @date 2026/6/2 16:41
- */
 @Data
-public class MassageMerchantRecommendDto {
-    /**
-     * 经度
-     * 用户当前位置的经度坐标
-     */
+@ApiModel("按摩推荐dto")
+public class MerchantRecommendDto {
+
     @ApiModelProperty("用户经度")
     private BigDecimal longitude;
 
-    /**
-     * 纬度
-     * 用户当前位置的纬度坐标
-     */
     @ApiModelProperty("用户纬度")
     private BigDecimal latitude;
 
-    /**
-     * 城市编码
-     */
     @NotBlank(message = "城市编码不能为空")
     @ApiModelProperty("城市编码")
     private String cityCode;
+
+    @NotNull(message = "服务标签不能为空")
+    @ApiModelProperty("服务标签: 1=按摩 2=同城陪玩")
+    private Integer projectType;
 }

+ 8 - 3
nightFragrance-massage/src/main/java/com/ylx/massage/domain/dto/MassageAllMerchantsDto.java → nightFragrance-massage/src/main/java/com/ylx/home/category/domain/dto/MerchantsDto.java

@@ -1,12 +1,13 @@
-package com.ylx.massage.domain.dto;
+package com.ylx.home.category.domain.dto;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.ylx.massage.domain.vo.MassageAllMerchantsVo;
+import com.ylx.home.category.domain.vo.MerchantsVo;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
 import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
 import java.io.Serializable;
 import java.math.BigDecimal;
 
@@ -19,7 +20,7 @@ import java.math.BigDecimal;
  */
 @EqualsAndHashCode(callSuper = true)
 @Data
-public class MassageAllMerchantsDto extends Page<MassageAllMerchantsVo> implements Serializable {
+public class MerchantsDto extends Page<MerchantsVo> implements Serializable {
     private static final long serialVersionUID = -2201674487204015309L;
 
     /**
@@ -49,4 +50,8 @@ public class MassageAllMerchantsDto extends Page<MassageAllMerchantsVo> implemen
     @ApiModelProperty("项目id")
     private String projectId;
 
+    @NotNull(message = "服务标签不能为空")
+    @ApiModelProperty("服务标签: 1=按摩 2=同城陪玩")
+    private Integer projectType;
+
 }

+ 8 - 4
nightFragrance-massage/src/main/java/com/ylx/massage/domain/dto/MassageProjectRecommendDTO.java → nightFragrance-massage/src/main/java/com/ylx/home/category/domain/dto/ProjectRecommendDTO.java

@@ -1,23 +1,27 @@
-package com.ylx.massage.domain.dto;
+package com.ylx.home.category.domain.dto;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.ylx.massage.domain.vo.MassageProjectRecommendVo;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
 import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
 import java.io.Serializable;
 
 @EqualsAndHashCode(callSuper = true)
 @Data
-@ApiModel("按摩项目推荐DTO")
-public class MassageProjectRecommendDTO extends Page<MassageProjectRecommendVo> implements Serializable {
+@ApiModel("项目推荐DTO")
+public class ProjectRecommendDTO extends Page<ProjectRecommendDTO> implements Serializable {
     private static final long serialVersionUID = 4958777236645803139L;
 
     @NotBlank(message = "城市编码不能为空")
     @ApiModelProperty("城市编码")
     private String cityCode;
 
+    @NotNull(message = "服务标签不能为空")
+    @ApiModelProperty("服务标签: 1=按摩 2=同城陪玩")
+    private Integer projectType;
+
 }

+ 2 - 4
nightFragrance-massage/src/main/java/com/ylx/massage/domain/vo/MassageAllMerchantsVo.java → nightFragrance-massage/src/main/java/com/ylx/home/category/domain/vo/MerchantsVo.java

@@ -1,10 +1,8 @@
-package com.ylx.massage.domain.vo;
+package com.ylx.home.category.domain.vo;
 
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
-import java.math.BigDecimal;
-
 /**
  * 类描述:首页按摩商户推荐点击全部返回所有按摩商户vo
  *
@@ -13,7 +11,7 @@ import java.math.BigDecimal;
  * @date 2026/6/4 9:14
  */
 @Data
-public class MassageAllMerchantsVo {
+public class MerchantsVo {
     /**
      * 项目ID
      */

+ 2 - 2
nightFragrance-massage/src/main/java/com/ylx/massage/domain/vo/MassageProjectRecommendVo.java → nightFragrance-massage/src/main/java/com/ylx/home/category/domain/vo/ProjectRecommendVo.java

@@ -1,4 +1,4 @@
-package com.ylx.massage.domain.vo;
+package com.ylx.home.category.domain.vo;
 
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -13,7 +13,7 @@ import java.math.BigDecimal;
  * @date 2026/6/3 15:43
  */
 @Data
-public class MassageProjectRecommendVo {
+public class ProjectRecommendVo {
 
     @ApiModelProperty("项目id")
     private String projectId;

+ 0 - 59
nightFragrance-massage/src/main/java/com/ylx/massage/controller/MassageRecommendController.java

@@ -1,59 +0,0 @@
-package com.ylx.massage.controller;
-
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.ylx.common.core.domain.R;
-import com.ylx.massage.domain.dto.MassageAllMerchantsDto;
-import com.ylx.massage.domain.dto.MassageMerchantRecommendDto;
-import com.ylx.massage.domain.dto.MassageProjectRecommendDTO;
-import com.ylx.massage.domain.vo.MassageAllMerchantsVo;
-import com.ylx.massage.domain.vo.MassageProjectRecommendVo;
-import com.ylx.massage.domain.vo.MerchantVo;
-import com.ylx.massage.service.IMassageRecommendService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.*;
-
-import java.util.List;
-
-/**
- * 类描述:按摩推荐
- *
- * @author Administrator
- * @version 1.0
- * @date 2026/6/2 16:36
- */
-@Slf4j
-@RestController
-@Api(tags = {"首页按摩推荐"})
-@RequestMapping("/home/massage")
-public class MassageRecommendController {
-
-    @Autowired
-    private IMassageRecommendService massageRecommendService;
-
-    @ApiOperation(value = "首页按摩商户推荐", notes = "首页按摩商户推荐")
-    @PostMapping(value = "/getMerchantRecommend")
-    public R<List<MerchantVo>> getMerchantRecommend(@RequestBody MassageMerchantRecommendDto dto) {
-        List<MerchantVo> massageRecommendVos = massageRecommendService.getMerchantRecommend(dto);
-        return R.ok(massageRecommendVos);
-    }
-
-    @ApiOperation(value = "首页按摩项目推荐", notes = "首页按摩项目推荐")
-    @PostMapping(value = "/getMassageProjectRecommend")
-    public R<Page<MassageProjectRecommendVo>> getMassageProjectRecommend(@Validated @RequestBody MassageProjectRecommendDTO dto) {
-        Page<MassageProjectRecommendVo> page = new Page<>(dto.getCurrent(), dto.getSize());
-        return R.ok(massageRecommendService.getMassageProjectRecommend(page, dto.getCityCode()));
-    }
-
-    @ApiOperation(value = "首页按摩推荐商户点击全部查询按摩所有商户", notes = "首页按摩推荐商户点击全部查询按摩所有商户")
-    @PostMapping(value = "/getMassageAllMerchants")
-    public R<Page<MassageAllMerchantsVo>> getMassageAllMerchants(@Validated @RequestBody MassageAllMerchantsDto dto) {
-        Page<MassageAllMerchantsVo> page = new Page<>(dto.getCurrent(), dto.getSize());
-        return R.ok(massageRecommendService.getMassageAllMerchants(page, dto));
-    }
-
-
-}

+ 1 - 1
nightFragrance-massage/src/main/java/com/ylx/massage/domain/vo/MerchantVo.java

@@ -23,7 +23,7 @@ public class MerchantVo implements Serializable {
      * id
      */
     @ApiModelProperty("商户id")
-    private Long merchantId;
+    private String merchantId;
 
     /**
      * 姓名

+ 6 - 5
nightFragrance-massage/src/main/java/com/ylx/massage/mapper/MaProjectMapper.java

@@ -7,13 +7,14 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ylx.companion.domain.dto.CompanionAllMerchantsDTO;
 import com.ylx.companion.domain.vo.CompanionAllMerchantsVo;
 import com.ylx.companion.domain.vo.HotCompanionProjectVO;
+import com.ylx.home.category.domain.dto.ProjectRecommendDTO;
 import com.ylx.massage.domain.MaProject;
 import com.ylx.massage.domain.dto.MaProjectAuditQueryDTO;
-import com.ylx.massage.domain.dto.MassageAllMerchantsDto;
+import com.ylx.home.category.domain.dto.MerchantsDto;
 import com.ylx.massage.domain.vo.MaProjectAuditListVO;
 import com.ylx.massage.domain.vo.MaProjectOpenServiceVO;
-import com.ylx.massage.domain.vo.MassageAllMerchantsVo;
-import com.ylx.massage.domain.vo.MassageProjectRecommendVo;
+import com.ylx.home.category.domain.vo.MerchantsVo;
+import com.ylx.home.category.domain.vo.ProjectRecommendVo;
 import com.ylx.project.domain.bookMerchant.dto.BookMerchantDTO;
 import com.ylx.project.domain.bookMerchant.vo.BookMerchantVO;
 import org.apache.ibatis.annotations.Mapper;
@@ -116,9 +117,9 @@ public interface MaProjectMapper extends BaseMapper<MaProject> {
      * @param page
      * @return
      */
-    Page<MassageProjectRecommendVo> getMassageProjectRecommend(@Param("page") Page<MassageProjectRecommendVo> page, @Param("cityCode") String cityCode);
+    Page<ProjectRecommendVo> getProjectRecommend(@Param("page") Page<ProjectRecommendVo> page, @Param("dto") ProjectRecommendDTO dto);
 
-    Page<MassageAllMerchantsVo> getMassageAllMerchants(@Param("page") Page<MassageAllMerchantsVo> page, @Param("dto") MassageAllMerchantsDto dto);
+    Page<MerchantsVo> getMerchants(@Param("page") Page<MerchantsVo> page, @Param("dto") MerchantsDto dto);
 
     Page<BookMerchantVO> selectMerchantList(@Param("page") Page<BookMerchantVO> page, @Param("dto") BookMerchantDTO dto);
     /**

+ 2 - 3
nightFragrance-massage/src/main/java/com/ylx/massage/mapper/MaTechnicianMapper.java

@@ -9,11 +9,10 @@ import com.ylx.companion.domain.vo.HotCompanionMerchantVO;
 import com.ylx.massage.domain.MaTechnician;
 import com.ylx.massage.domain.dto.MaTechnicianAuditQueryDTO;
 import com.ylx.massage.domain.dto.MaTechnicianMerchantQueryDTO;
-import com.ylx.massage.domain.dto.MassageMerchantRecommendDto;
+import com.ylx.home.category.domain.dto.MerchantRecommendDto;
 import com.ylx.massage.domain.vo.MaTechnicianAuditListVO;
 import com.ylx.massage.domain.vo.MaTechnicianMerchantDetailVO;
 import com.ylx.massage.domain.vo.MaTechnicianMerchantListVO;
-import com.ylx.massage.domain.vo.MassageProjectRecommendVo;
 import com.ylx.massage.domain.vo.MerchantVo;
 import com.ylx.merchant.domain.dto.MerchantDetailDTO;
 import com.ylx.merchant.domain.dto.MerchantListDTO;
@@ -189,7 +188,7 @@ public interface MaTechnicianMapper extends BaseMapper<MaTechnician> {
         return updateById(maTechnician);
     }
 
-    List<MerchantVo> getMerchantRecommend(@Param("dto") MassageMerchantRecommendDto dto);
+    List<MerchantVo> getMerchantRecommend(@Param("dto") MerchantRecommendDto dto);
 
     /**
      * 查询该城市是否有商户提供服务

+ 6 - 5
nightFragrance-massage/src/main/java/com/ylx/massage/service/IMaProjectService.java

@@ -5,17 +5,18 @@ import java.util.List;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ylx.common.core.domain.model.LoginUser;
+import com.ylx.home.category.domain.dto.ProjectRecommendDTO;
 import com.ylx.massage.domain.MaProject;
 import com.ylx.massage.domain.dto.MaProjectAuditQueryDTO;
 import com.ylx.massage.domain.dto.MaProjectAuditSubmitDTO;
 import com.ylx.massage.domain.dto.MaProjectUpdateEnableDTO;
-import com.ylx.massage.domain.dto.MassageAllMerchantsDto;
+import com.ylx.home.category.domain.dto.MerchantsDto;
 import com.ylx.massage.domain.vo.MaProjectAuditListVO;
 import com.ylx.massage.domain.vo.MaProjectListVo;
 import com.ylx.massage.domain.vo.MaProjectOpenServiceVO;
 import com.ylx.massage.domain.vo.MaProjectSaveVo;
-import com.ylx.massage.domain.vo.MassageAllMerchantsVo;
-import com.ylx.massage.domain.vo.MassageProjectRecommendVo;
+import com.ylx.home.category.domain.vo.MerchantsVo;
+import com.ylx.home.category.domain.vo.ProjectRecommendVo;
 import com.ylx.project.domain.bookMerchant.dto.BookMerchantDTO;
 import com.ylx.project.domain.bookMerchant.vo.BookMerchantVO;
 
@@ -109,9 +110,9 @@ public interface IMaProjectService extends IService<MaProject> {
      */
     public int deleteMaProjectById(Long id);
 
-    Page<MassageProjectRecommendVo> getMassageProjectRecommend(Page<MassageProjectRecommendVo> page, String cityCode);
+    Page<ProjectRecommendVo> getProjectRecommend(Page<ProjectRecommendVo> page, ProjectRecommendDTO dto);
 
-    Page<MassageAllMerchantsVo> getMassageAllMerchants(Page<MassageAllMerchantsVo> page, MassageAllMerchantsDto dto);
+    Page<MerchantsVo> getMerchants(Page<MerchantsVo> page, MerchantsDto dto);
 
     Page<BookMerchantVO> selectMerchantList(Page<BookMerchantVO> page, BookMerchantDTO dto);
 }

+ 2 - 6
nightFragrance-massage/src/main/java/com/ylx/massage/service/IMaTechnicianService.java

@@ -5,9 +5,7 @@ import java.util.Map;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
-import com.ylx.common.core.domain.AjaxResult;
 import com.ylx.common.core.domain.model.LoginUser;
-import com.ylx.home.search.domain.dto.SearchMerchantDTO;
 import com.ylx.massage.domain.MaProject;
 import com.ylx.massage.domain.MaTechnician;
 import com.ylx.massage.domain.dto.*;
@@ -15,7 +13,7 @@ import com.ylx.massage.domain.vo.*;
 import com.ylx.massage.domain.dto.MaProjectSaveDto;
 import com.ylx.massage.domain.dto.MaTechnicianAuditQueryDTO;
 import com.ylx.massage.domain.dto.MaTechnicianAuditSubmitDTO;
-import com.ylx.massage.domain.dto.MassageMerchantRecommendDto;
+import com.ylx.home.category.domain.dto.MerchantRecommendDto;
 import com.ylx.massage.domain.dto.MaTechnicianMerchantAddDTO;
 import com.ylx.massage.domain.dto.MaTechnicianMerchantQueryDTO;
 import com.ylx.massage.domain.dto.MaTechnicianPendingAuditSubmitDTO;
@@ -33,8 +31,6 @@ import com.ylx.merchant.domain.vo.MerchantListVO;
 import com.ylx.merchant.domain.vo.MerchantWithAddressVO;
 import com.ylx.project.domain.Project;
 import com.ylx.project.domain.bookMerchant.vo.ProjectInfoVO;
-import org.springframework.stereotype.Service;
-import org.springframework.web.multipart.MultipartFile;
 
 /**
  * 技师Service接口
@@ -192,7 +188,7 @@ public interface IMaTechnicianService extends IService<MaTechnician> {
      */
     Boolean isHasMerchantCity(String areaCode);
 
-    List<MerchantVo> getMerchantRecommend(MassageMerchantRecommendDto dto);
+    List<MerchantVo> getMerchantRecommend(MerchantRecommendDto dto);
 
     /**
      * 申请技师

+ 8 - 7
nightFragrance-massage/src/main/java/com/ylx/massage/service/IMassageRecommendService.java

@@ -1,18 +1,19 @@
 package com.ylx.massage.service;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.ylx.massage.domain.dto.MassageAllMerchantsDto;
-import com.ylx.massage.domain.dto.MassageMerchantRecommendDto;
-import com.ylx.massage.domain.vo.MassageAllMerchantsVo;
-import com.ylx.massage.domain.vo.MassageProjectRecommendVo;
+import com.ylx.home.category.domain.dto.ProjectRecommendDTO;
+import com.ylx.home.category.domain.dto.MerchantsDto;
+import com.ylx.home.category.domain.dto.MerchantRecommendDto;
+import com.ylx.home.category.domain.vo.MerchantsVo;
+import com.ylx.home.category.domain.vo.ProjectRecommendVo;
 import com.ylx.massage.domain.vo.MerchantVo;
 
 import java.util.List;
 
 public interface IMassageRecommendService {
-    List<MerchantVo> getMerchantRecommend(MassageMerchantRecommendDto dto);
+    List<MerchantVo> getMerchantRecommend(MerchantRecommendDto dto);
 
-    Page<MassageProjectRecommendVo> getMassageProjectRecommend(Page<MassageProjectRecommendVo> page,String cityCode);
+    Page<ProjectRecommendVo> getProjectRecommend(Page<ProjectRecommendVo> page, ProjectRecommendDTO dto);
 
-    Page<MassageAllMerchantsVo> getMassageAllMerchants(Page<MassageAllMerchantsVo> page, MassageAllMerchantsDto dto);
+    Page<MerchantsVo> getMerchants(Page<MerchantsVo> page, MerchantsDto dto);
 }

+ 19 - 23
nightFragrance-massage/src/main/java/com/ylx/massage/service/impl/MaProjectServiceImpl.java

@@ -11,16 +11,17 @@ import com.ylx.common.exception.ServiceException;
 import com.ylx.common.utils.DateUtils;
 import com.ylx.common.utils.StringUtils;
 import com.ylx.common.utils.bean.BeanUtils;
+import com.ylx.home.category.domain.dto.ProjectRecommendDTO;
 import com.ylx.massage.domain.dto.MaProjectAuditQueryDTO;
 import com.ylx.massage.domain.dto.MaProjectAuditSubmitDTO;
 import com.ylx.massage.domain.dto.MaProjectUpdateEnableDTO;
-import com.ylx.massage.domain.dto.MassageAllMerchantsDto;
+import com.ylx.home.category.domain.dto.MerchantsDto;
 import com.ylx.massage.domain.vo.MaProjectAuditListVO;
 import com.ylx.massage.domain.vo.MaProjectListVo;
 import com.ylx.massage.domain.vo.MaProjectOpenServiceVO;
 import com.ylx.massage.domain.vo.MaProjectSaveVo;
-import com.ylx.massage.domain.vo.MassageAllMerchantsVo;
-import com.ylx.massage.domain.vo.MassageProjectRecommendVo;
+import com.ylx.home.category.domain.vo.MerchantsVo;
+import com.ylx.home.category.domain.vo.ProjectRecommendVo;
 import com.ylx.massage.mapper.MaProjectMapper;
 import com.ylx.project.domain.bookMerchant.dto.BookMerchantDTO;
 import com.ylx.project.domain.bookMerchant.vo.BookMerchantVO;
@@ -38,8 +39,7 @@ import javax.annotation.Resource;
  * @date 2024-03-20
  */
 @Service
-public class MaProjectServiceImpl extends ServiceImpl<MaProjectMapper, MaProject> implements IMaProjectService
-{
+public class MaProjectServiceImpl extends ServiceImpl<MaProjectMapper, MaProject> implements IMaProjectService {
     @Resource
     private MaProjectMapper maProjectMapper;
 
@@ -50,8 +50,7 @@ public class MaProjectServiceImpl extends ServiceImpl<MaProjectMapper, MaProject
      * @return 服务项目
      */
     @Override
-    public MaProjectListVo selectMaProjectById(Long id)
-    {
+    public MaProjectListVo selectMaProjectById(Long id) {
         MaProject maProject = maProjectMapper.selectMaProjectById(id);
         MaProjectListVo vo = new MaProjectListVo();
         BeanUtils.copyProperties(maProject, vo);
@@ -66,14 +65,13 @@ public class MaProjectServiceImpl extends ServiceImpl<MaProjectMapper, MaProject
      * @return 服务项目
      */
     @Override
-    public List<MaProjectListVo> selectMaProjectList(MaProject maProject)
-    {
+    public List<MaProjectListVo> selectMaProjectList(MaProject maProject) {
         ArrayList<MaProjectListVo> vos = Lists.newArrayList();
         List<MaProject> maProjects = maProjectMapper.selectMaProjectList(maProject);
         if (maProjects.isEmpty()) {
             return vos;
         }
-        maProjects.forEach(project->{
+        maProjects.forEach(project -> {
             MaProjectListVo vo = new MaProjectListVo();
             BeanUtils.copyProperties(project, vo);
             vo.setProjectIsEnable(project.getProjectIsEnable() == 1 ? "启用" : "停止");
@@ -86,7 +84,7 @@ public class MaProjectServiceImpl extends ServiceImpl<MaProjectMapper, MaProject
      * 查询技能审核列表
      *
      * @param page 分页参数
-     * @param dto 查询条件
+     * @param dto  查询条件
      * @return 技能审核分页列表
      */
     @Override
@@ -119,8 +117,8 @@ public class MaProjectServiceImpl extends ServiceImpl<MaProjectMapper, MaProject
      * 审核商户申请开通的项目
      *
      * @param projectAuditId 技能审核记录ID
-     * @param dto 审核提交参数
-     * @param loginUser 当前登录用户
+     * @param dto            审核提交参数
+     * @param loginUser      当前登录用户
      * @return int 影响行数
      */
     @Override
@@ -222,8 +220,7 @@ public class MaProjectServiceImpl extends ServiceImpl<MaProjectMapper, MaProject
      * @return 结果
      */
     @Override
-    public int updateMaProject(MaProject maProject)
-    {
+    public int updateMaProject(MaProject maProject) {
         return maProjectMapper.updateMaProject(maProject);
     }
 
@@ -234,8 +231,7 @@ public class MaProjectServiceImpl extends ServiceImpl<MaProjectMapper, MaProject
      * @return 结果
      */
     @Override
-    public int deleteMaProjectByIds(String[] ids)
-    {
+    public int deleteMaProjectByIds(String[] ids) {
         return maProjectMapper.deleteMaProjectByIds(ids);
     }
 
@@ -246,19 +242,18 @@ public class MaProjectServiceImpl extends ServiceImpl<MaProjectMapper, MaProject
      * @return 结果
      */
     @Override
-    public int deleteMaProjectById(Long id)
-    {
+    public int deleteMaProjectById(Long id) {
         return maProjectMapper.deleteMaProjectById(id);
     }
 
     @Override
-    public Page<MassageProjectRecommendVo> getMassageProjectRecommend(Page<MassageProjectRecommendVo> page,String cityCode) {
-        return maProjectMapper.getMassageProjectRecommend(page,cityCode);
+    public Page<ProjectRecommendVo> getProjectRecommend(Page<ProjectRecommendVo> page, ProjectRecommendDTO dto) {
+        return maProjectMapper.getProjectRecommend(page, dto);
     }
 
     @Override
-    public Page<MassageAllMerchantsVo> getMassageAllMerchants(Page<MassageAllMerchantsVo> page, MassageAllMerchantsDto dto) {
-        return maProjectMapper.getMassageAllMerchants(page, dto);
+    public Page<MerchantsVo> getMerchants(Page<MerchantsVo> page, MerchantsDto dto) {
+        return maProjectMapper.getMerchants(page, dto);
     }
 
     @Override
@@ -268,6 +263,7 @@ public class MaProjectServiceImpl extends ServiceImpl<MaProjectMapper, MaProject
 
     /**
      * 校验枚举值是否在指定范围内
+     *
      * @param value
      * @param fieldName
      * @param values

+ 2 - 2
nightFragrance-massage/src/main/java/com/ylx/massage/service/impl/MaTechnicianServiceImpl.java

@@ -18,7 +18,7 @@ import com.ylx.common.core.domain.model.LoginUser;
 import com.ylx.common.exception.ServiceException;
 import com.ylx.common.utils.*;
 import com.ylx.fareSetting.service.IMaProjectFareSettingService;
-import com.ylx.home.search.domain.dto.SearchMerchantDTO;
+import com.ylx.home.category.domain.dto.MerchantRecommendDto;
 import com.ylx.massage.domain.*;
 import com.ylx.massage.domain.dto.*;
 import com.ylx.massage.domain.vo.*;
@@ -1543,7 +1543,7 @@ public class MaTechnicianServiceImpl extends ServiceImpl<MaTechnicianMapper, MaT
      * @return
      */
     @Override
-    public List<MerchantVo> getMerchantRecommend(MassageMerchantRecommendDto dto) {
+    public List<MerchantVo> getMerchantRecommend(MerchantRecommendDto dto) {
         return maTechnicianMapper.getMerchantRecommend(dto);
     }
 

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

@@ -1,10 +1,11 @@
 package com.ylx.massage.service.impl;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.ylx.massage.domain.dto.MassageAllMerchantsDto;
-import com.ylx.massage.domain.dto.MassageMerchantRecommendDto;
-import com.ylx.massage.domain.vo.MassageAllMerchantsVo;
-import com.ylx.massage.domain.vo.MassageProjectRecommendVo;
+import com.ylx.home.category.domain.dto.ProjectRecommendDTO;
+import com.ylx.home.category.domain.dto.MerchantsDto;
+import com.ylx.home.category.domain.dto.MerchantRecommendDto;
+import com.ylx.home.category.domain.vo.MerchantsVo;
+import com.ylx.home.category.domain.vo.ProjectRecommendVo;
 import com.ylx.massage.domain.vo.MerchantVo;
 import com.ylx.massage.service.IMaProjectService;
 import com.ylx.massage.service.IMaTechnicianService;
@@ -30,18 +31,17 @@ public class MassageRecommendServiceImpl implements IMassageRecommendService {
     private IMaProjectService iMaProjectService;
 
     @Override
-    public List<MerchantVo> getMerchantRecommend(MassageMerchantRecommendDto dto) {
+    public List<MerchantVo> getMerchantRecommend(MerchantRecommendDto dto) {
         //按摩商户推荐
         return iMaTechnicianService.getMerchantRecommend(dto);
     }
 
-    @Override
-    public Page<MassageProjectRecommendVo> getMassageProjectRecommend(Page<MassageProjectRecommendVo> page,String cityCode) {
-        return iMaProjectService.getMassageProjectRecommend(page,cityCode);
+    public Page<ProjectRecommendVo> getProjectRecommend(Page<ProjectRecommendVo> page, ProjectRecommendDTO dto) {
+        return iMaProjectService.getProjectRecommend(page, dto);
     }
 
     @Override
-    public Page<MassageAllMerchantsVo> getMassageAllMerchants(Page<MassageAllMerchantsVo> page, MassageAllMerchantsDto dto){
-        return iMaProjectService.getMassageAllMerchants(page,dto);
+    public Page<MerchantsVo> getMerchants(Page<MerchantsVo> page, MerchantsDto dto) {
+        return iMaProjectService.getMerchants(page, dto);
     }
 }

+ 10 - 10
nightFragrance-massage/src/main/resources/mapper/massage/MaProjectMapper.xml

@@ -298,7 +298,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         </foreach>
     </delete>
     <!-- 首页按摩推荐项目-->
-    <select id="getMassageProjectRecommend" resultType="com.ylx.massage.domain.vo.MassageProjectRecommendVo">
+    <select id="getProjectRecommend" resultType="com.ylx.home.category.domain.vo.ProjectRecommendVo">
         SELECT
             pro.id                     AS projectId,
             pro.title                  AS projectName,
@@ -315,11 +315,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             FROM ma_project mp
                      INNER JOIN ma_technician tech
                                 ON tech.id = CAST(mp.merchant_id AS UNSIGNED)
-                                    AND tech.te_area_code = #{cityCode}
+                                    AND tech.te_area_code = #{dto.cityCode}
                                     AND tech.is_delete = 0
                                     AND tech.audit_status = 2
                                     AND tech.service_state = 1
-            WHERE mp.service_tag = 1
+            WHERE mp.service_tag = #{dto.projectType}
               AND mp.is_delete = 0
               AND mp.project_is_enable = 1
             GROUP BY CAST(mp.project_id AS UNSIGNED)
@@ -330,7 +330,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
                 project_id,
                 COUNT(id) AS sales
             FROM t_order
-            WHERE project_type = 1
+            WHERE project_type = #{dto.projectType}
               AND status = 6
               AND is_delete = 0
             GROUP BY project_id
@@ -338,14 +338,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         WHERE pro.is_delete = 0
         ORDER BY sales DESC, pro.id ASC
     </select>
-    <!-- 首页按摩推荐商户点击全部查询按摩所有商户-->
-    <select id="getMassageAllMerchants" resultType="com.ylx.massage.domain.vo.MassageAllMerchantsVo">
+    <!-- 首页推荐商户点击全部查询所有商户-->
+    <select id="getMerchants" resultType="com.ylx.home.category.domain.vo.MerchantsVo">
         SELECT
         project_id AS projectId,
         project_name AS projectName,
         te_name AS merchantName,
         id AS merchantId,
-        order_count AS nNum,   -- 子查询中已经 COALESCE 过了
+        order_count AS nNum,
         CASE
         WHEN #{dto.longitude} IS NOT NULL AND #{dto.latitude} IS NOT NULL THEN
         CONCAT(
@@ -369,7 +369,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         ON p.merchant_id = CAST(t.id AS CHAR)
         AND p.audit_status = 1
         AND p.is_delete = 0
-        AND p.service_tag = 1
+        AND p.service_tag = #{dto.projectType}
         AND p.project_is_enable = 0
         <if test="dto.projectId != null and dto.projectId != ''">
             AND p.project_id = #{dto.projectId}
@@ -386,7 +386,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         COUNT(*) AS order_count
         FROM t_order
         WHERE status = 6
-        AND project_type = 1
+        AND project_type = #{dto.projectType}
         AND is_delete = 0
         GROUP BY merchant_id, project_id
         ) stat ON stat.merchant_id = t.id AND stat.project_id = p.project_id
@@ -395,7 +395,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         AND t.service_state = 1
         AND t.te_area_code = #{dto.cityCode}
         ) AS sub
-        ORDER BY nNum DESC  -- 或者 nNum DESC
+        ORDER BY nNum DESC
     </select>
 
     <select id="selectMerchantList" resultType="com.ylx.project.domain.bookMerchant.vo.BookMerchantVO">

+ 2 - 2
nightFragrance-massage/src/main/resources/mapper/massage/MaTechnicianMapper.xml

@@ -506,13 +506,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
                  LEFT JOIN (
             SELECT merchant_id, COUNT(*) AS sales
             FROM t_order
-            WHERE is_delete = 0 AND status = 6 AND project_type = 1
+            WHERE is_delete = 0 AND status = 6 AND project_type = #{dto.projectType}
             GROUP BY merchant_id
         ) o ON t.id = o.merchant_id
                  INNER JOIN (
             SELECT merchant_id, MIN(project_current_price) AS min_price
             FROM ma_project
-            WHERE is_delete = 0 AND audit_status = 1 AND service_tag = 1 AND project_is_enable = 1
+            WHERE is_delete = 0 AND audit_status = 1 AND service_tag = #{dto.projectType} AND project_is_enable = 1
             GROUP BY merchant_id
         ) p ON t.id = p.merchant_id
         ORDER BY COALESCE(o.sales, 0) DESC

+ 14 - 1
nightFragrance-massage/src/main/resources/mapper/moment/TechnicianMomentMapper.xml

@@ -177,7 +177,20 @@
             IFNULL(m.save_count, 0) AS saveCount,
             IFNULL(m.view_count, 0) AS viewCount,
             m.media_type,
-            m.publish_time
+            m.publish_time,
+            IF(
+                m.media_type = 2,
+                (
+                    SELECT
+                        mm.media_url
+                    FROM
+                        t_moment_media mm
+                    WHERE
+                        mm.moment_id = m.id
+                    LIMIT 1
+                ),
+                NULL
+            ) AS mediaUrl
         FROM
             t_technician_moment m
         LEFT JOIN ma_technician t ON m.technician_id = t.id AND t.is_delete = 0