Merge branch 'cc_20251030_fwb' into 'master'

数据看板

See merge request hangzhou/java/custom_zxjp!179
This commit is contained in:
苏竹红
2025-10-31 09:26:50 +00:00
12 changed files with 302 additions and 10 deletions

View File

@@ -1,10 +1,10 @@
package com.cool.store.service;
import com.cool.store.dto.FoodTokenDTO;
import com.cool.store.dto.GetAccessTokenDTO;
import com.cool.store.dto.store.StoreUserPositionDTO;
import com.cool.store.dto.store.StoreUserUpdateDTO;
import com.cool.store.request.recipe.RevenueDataRequest;
import com.cool.store.response.caipin.StoreUserResponse;
import com.cool.store.vo.recipe.RevenueDataVO;
import java.util.List;
@@ -31,4 +31,10 @@ public interface ThirdFoodService {
*/
StoreUserResponse pushStoreUser(List<StoreUserUpdateDTO> storeUserUpdateDTOList);
/**
* 查询门店营收实收数据
* @param request 营收数据Request
* @return 营收数据VO列表
*/
List<RevenueDataVO> getRevenueData(RevenueDataRequest request);
}

View File

@@ -1,17 +1,22 @@
package com.cool.store.service.impl;
import cn.hutool.core.bean.copier.CopyOptions;
import cn.hutool.core.util.RandomUtil;
import com.alibaba.fastjson.JSONObject;
import com.cool.store.dao.StoreDao;
import com.cool.store.dto.FoodTokenDTO;
import com.cool.store.dto.GetAccessTokenDTO;
import com.cool.store.dto.store.StoreUserPositionDTO;
import com.cool.store.dto.recipe.RevenueDataDTO;
import com.cool.store.dto.recipe.RevenueDataQueryDTO;
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.response.caipin.StoreUserResponse;
import com.cool.store.response.oppty.OpportunityApiResponse;
import com.cool.store.service.ThirdFoodService;
import com.cool.store.utils.BeanUtil;
import com.cool.store.utils.SignatureUtils;
import com.cool.store.vo.recipe.RevenueDataVO;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JavaType;
import com.fasterxml.jackson.databind.ObjectMapper;
@@ -24,9 +29,9 @@ import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.net.URI;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Objects;
/**
* @Author suzhuhong
@@ -45,6 +50,8 @@ public class ThirdFoodServiceImpl implements ThirdFoodService {
OkHttpClient okHttpClient;
@Resource
ObjectMapper objectMapper;
@Resource
private StoreDao storeDao;
@Override
@@ -60,6 +67,18 @@ public class ThirdFoodServiceImpl implements ThirdFoodService {
return executeApiCall(url, dto, StoreUserResponse.class);
}
@Override
public List<RevenueDataVO> getRevenueData(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";
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. 打印请求前日志