feat:数据看板
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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. 打印请求前日志
|
||||
|
||||
Reference in New Issue
Block a user