Merge #3 into master from cc_20251114_minor_req

fix:门店日营销数据

* cc_20251114_minor_req: (3 commits squashed)

  - fix:门店日营销数据

  - fix:jackson反序列化配置忽略未定义字段

  - fix:菜品市场数据新增字段

Signed-off-by: 王非凡 <accounts_67eba0c5fee9c49c80c8e2b4@mail.teambition.com>
Reviewed-by: 苏竹红 <accounts_68551bf01395375227aee211@mail.teambition.com>
Merged-by: 苏竹红 <accounts_68551bf01395375227aee211@mail.teambition.com>

CR-link: https://codeup.aliyun.com/692ea314dec569489f6f167c/hangzhou/java/custom_zxjp/change/3
This commit is contained in:
王非凡
2025-12-04 09:48:19 +00:00
committed by 苏竹红
parent e57f8c7925
commit edbec8d8c1
10 changed files with 93 additions and 0 deletions

View File

@@ -1,5 +1,6 @@
package com.cool.store.config.rest;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@@ -15,6 +16,7 @@ public class JacksonConfig {
@Bean
public ObjectMapper objectMapper() {
ObjectMapper mapper = new ObjectMapper();
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
return mapper;
}
}

View File

@@ -4,6 +4,7 @@ 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.request.recipe.SalesVolumeDayRequest;
import com.cool.store.response.caipin.StoreUserResponse;
import com.cool.store.vo.recipe.RevenueDataVO;
@@ -45,4 +46,12 @@ public interface ThirdFoodService {
* @return 服务包菜品上新DTO
*/
RecipeSpLaunchDTO getRecipeServiceLaunch(RevenueDataRequest request);
/**
* 门店销量日视图
* @param request 请求request
* @return 营收数据VO列表
*/
List<RevenueDataVO> storeSalesVolumeDay(SalesVolumeDayRequest request);
}

View File

@@ -7,11 +7,13 @@ 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.recipe.SalesVolumeDayQueryDTO;
import com.cool.store.dto.store.StoreUserUpdateDTO;
import com.cool.store.entity.StoreDO;
import com.cool.store.enums.ErrorCodeEnum;
import com.cool.store.exception.ServiceException;
import com.cool.store.request.recipe.RevenueDataRequest;
import com.cool.store.request.recipe.SalesVolumeDayRequest;
import com.cool.store.response.caipin.StoreUserResponse;
import com.cool.store.response.oppty.OpportunityApiResponse;
import com.cool.store.service.ThirdFoodService;
@@ -91,6 +93,17 @@ public class ThirdFoodServiceImpl implements ThirdFoodService {
return executeApiCall(url, queryDTO, RecipeSpLaunchDTO.class);
}
@Override
public List<RevenueDataVO> storeSalesVolumeDay(SalesVolumeDayRequest request) {
StoreDO storeDO = storeDao.getByStoreId(request.getStoreId());
if (Objects.isNull(storeDO)) {
throw new ServiceException(ErrorCodeEnum.STORE_NOT_FIND);
}
SalesVolumeDayQueryDTO queryDTO = new SalesVolumeDayQueryDTO(request.getBusinessDate(), storeDO.getStoreNum());
String url = "/v1/store/business/day";
List<RevenueDataDTO> list = executeApiCall(url, queryDTO, List.class);
return BeanUtil.toList(list, RevenueDataVO.class, CopyOptions.create().setFieldMapping(Collections.singletonMap("storeCode", "storeNum")));
}
private <T> T executeApiCall(String url, Object requestBody, Class<T> responseType) {
// 1. 打印请求前日志