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)); + } }