diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/recipe/RecipeLaunchDTO.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/recipe/RecipeLaunchDTO.java
new file mode 100644
index 000000000..47a0179ba
--- /dev/null
+++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/recipe/RecipeLaunchDTO.java
@@ -0,0 +1,34 @@
+package com.cool.store.dto.recipe;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ *
+ * 菜品上新DTO
+ *
+ *
+ * @author wangff
+ * @since 2025/11/3
+ */
+@Data
+public class RecipeLaunchDTO {
+ @ApiModelProperty("商品编码")
+ private String goodsCode;
+
+ @ApiModelProperty("商品图片")
+ private String goodsImageUrl;
+
+ @ApiModelProperty("商品名称")
+ private String goodsName;
+
+ @ApiModelProperty("上新时间")
+ private String launchTime;
+
+ @ApiModelProperty("单日最高销量")
+ private Integer maxQty;
+
+ @ApiModelProperty("销量总计")
+ private Integer sumQty;
+
+}
diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/recipe/RecipeSpLaunchDTO.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/recipe/RecipeSpLaunchDTO.java
new file mode 100644
index 000000000..ffec16435
--- /dev/null
+++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/recipe/RecipeSpLaunchDTO.java
@@ -0,0 +1,23 @@
+package com.cool.store.dto.recipe;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ *
+ * 服务包菜品上新DTO
+ *
+ *
+ * @author wangff
+ * @since 2025/11/3
+ */
+@Data
+public class RecipeSpLaunchDTO {
+ @ApiModelProperty("菜品上新记录")
+ private List recipeRecordList;
+
+ @ApiModelProperty("服务包执行记录")
+ private List spRecordList;
+}
diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/recipe/ServicePackageExecuteDTO.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/recipe/ServicePackageExecuteDTO.java
new file mode 100644
index 000000000..7dbb72857
--- /dev/null
+++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/recipe/ServicePackageExecuteDTO.java
@@ -0,0 +1,24 @@
+package com.cool.store.dto.recipe;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ *
+ * 服务包执行DTO
+ *
+ *
+ * @author wangff
+ * @since 2025/11/3
+ */
+@Data
+public class ServicePackageExecuteDTO {
+ @ApiModelProperty("服务包执行时间")
+ private String executeTime;
+
+ @ApiModelProperty("服务包图片")
+ private String spImage;
+
+ @ApiModelProperty("服务包名称")
+ private String spName;
+}
diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/ThirdFoodService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/ThirdFoodService.java
index 36518892a..88045070d 100644
--- a/coolstore-partner-service/src/main/java/com/cool/store/service/ThirdFoodService.java
+++ b/coolstore-partner-service/src/main/java/com/cool/store/service/ThirdFoodService.java
@@ -1,6 +1,7 @@
package com.cool.store.service;
import com.cool.store.dto.FoodTokenDTO;
+import com.cool.store.dto.recipe.RecipeSpLaunchDTO;
import com.cool.store.dto.store.StoreUserUpdateDTO;
import com.cool.store.request.recipe.RevenueDataRequest;
import com.cool.store.response.caipin.StoreUserResponse;
@@ -37,4 +38,11 @@ public interface ThirdFoodService {
* @return 营收数据VO列表
*/
List getRevenueData(RevenueDataRequest request);
+
+ /**
+ * 查询菜品服务包上新数据
+ * @param request 请求request
+ * @return 服务包菜品上新DTO
+ */
+ RecipeSpLaunchDTO getRecipeServiceLaunch(RevenueDataRequest request);
}
diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ThirdFoodServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ThirdFoodServiceImpl.java
index 7b531c660..4fddb48d1 100644
--- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ThirdFoodServiceImpl.java
+++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ThirdFoodServiceImpl.java
@@ -4,6 +4,7 @@ import cn.hutool.core.bean.copier.CopyOptions;
import cn.hutool.core.util.RandomUtil;
import com.cool.store.dao.StoreDao;
import com.cool.store.dto.FoodTokenDTO;
+import com.cool.store.dto.recipe.RecipeSpLaunchDTO;
import com.cool.store.dto.recipe.RevenueDataDTO;
import com.cool.store.dto.recipe.RevenueDataQueryDTO;
import com.cool.store.dto.store.StoreUserUpdateDTO;
@@ -79,6 +80,17 @@ public class ThirdFoodServiceImpl implements ThirdFoodService {
return BeanUtil.toList(list, RevenueDataVO.class, CopyOptions.create().setFieldMapping(Collections.singletonMap("storeCode", "storeNum")));
}
+ @Override
+ public RecipeSpLaunchDTO getRecipeServiceLaunch(RevenueDataRequest request) {
+ StoreDO storeDO = storeDao.getByStoreId(request.getStoreId());
+ if (Objects.isNull(storeDO)) {
+ throw new ServiceException(ErrorCodeEnum.STORE_NOT_FIND);
+ }
+ RevenueDataQueryDTO queryDTO = new RevenueDataQueryDTO(storeDO.getStoreNum(), request.getBusinessDateFrom(), request.getBusinessDateTo());
+ String url = "/v1/store/business/spRecipeList";
+ return executeApiCall(url, queryDTO, RecipeSpLaunchDTO.class);
+ }
+
private T executeApiCall(String url, Object requestBody, Class responseType) {
// 1. 打印请求前日志
diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/MiniDataBoardController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/MiniDataBoardController.java
index 653fe0a35..e471872c4 100644
--- a/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/MiniDataBoardController.java
+++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/MiniDataBoardController.java
@@ -1,5 +1,6 @@
package com.cool.store.controller.webc;
+import com.cool.store.dto.recipe.RecipeSpLaunchDTO;
import com.cool.store.request.recipe.RevenueDataRequest;
import com.cool.store.response.ResponseResult;
import com.cool.store.service.ThirdFoodService;
@@ -37,4 +38,10 @@ public class MiniDataBoardController {
public ResponseResult> getStoreRevenueData(@RequestBody @Valid RevenueDataRequest request) {
return ResponseResult.success(thirdFoodService.getRevenueData(request));
}
+
+ @ApiOperation("查询菜品服务包上新数据")
+ @PostMapping("/recipeSpLaunch")
+ public ResponseResult getRecipeSpLaunchData(@RequestBody @Valid RevenueDataRequest request) {
+ return ResponseResult.success(thirdFoodService.getRecipeServiceLaunch(request));
+ }
}