新增 获取站点运营分析信息接口

This commit is contained in:
Lemon
2024-08-01 09:26:01 +08:00
parent ade1f2e81f
commit 7d8c2fcb18
5 changed files with 86 additions and 3 deletions

View File

@@ -48,7 +48,7 @@ public class BusinessStationInfoController extends BaseController {
/**
* 获取站点运营分析信息
* 获取站点运营分析信息(7天、30天)
* @param dto
* @return
*/
@@ -65,4 +65,24 @@ public class BusinessStationInfoController extends BaseController {
logger.info("获取站点运营分析信息 params:{}, result:{}", JSONObject.toJSONString(dto), response);
return response;
}
/**
* 获取站点运营分析信息(12个月)
* @param dto
* @return
*/
@PostMapping("/getStationMonthlyBusinessAnalyzeInfo")
public RestApiResponse<?> getStationMonthlyBusinessAnalyzeInfo(@RequestBody StationBusinessAnalyzeInfoDTO dto){
RestApiResponse<?> response = null;
try {
StationBusinessAnalyzeInfoVO vo = pileStationInfoService.getStationMonthlyBusinessAnalyzeInfo(dto);
response = new RestApiResponse<>(ImmutableMap.of("stationBusinessAnalyzeInfoVO", vo));
} catch (Exception e) {
logger.error("获取站点运营分析信息 error", e);
response = new RestApiResponse<>(e);
}
logger.info("获取站点运营分析信息 params:{}, result:{}", JSONObject.toJSONString(dto), response);
return response;
}
}

View File

@@ -34,6 +34,7 @@ import com.jsowell.common.core.domain.ykc.TransactionRecordsData;
import com.jsowell.common.core.redis.RedisCache;
import com.jsowell.common.enums.AcquirerEnum;
import com.jsowell.common.enums.DelFlagEnum;
import com.jsowell.common.enums.thirdparty.ThirdPlatformTypeEnum;
import com.jsowell.common.enums.ykc.*;
import com.jsowell.common.exception.BusinessException;
import com.jsowell.common.util.*;
@@ -81,6 +82,7 @@ import com.jsowell.thirdparty.lutongyunting.service.LTYTService;
import com.jsowell.thirdparty.platform.util.Cryptos;
import com.jsowell.thirdparty.platform.util.Encodes;
import com.jsowell.thirdparty.platform.util.GBSignUtils;
import com.jsowell.thirdparty.zhongdianlian.service.ZDLService;
import com.jsowell.wxpay.common.WeChatPayParameter;
import com.jsowell.wxpay.dto.AppletTemplateMessageSendDTO;
import com.jsowell.wxpay.response.WechatPayRefundRequest;
@@ -260,6 +262,18 @@ public class SpringBootTestController {
@Autowired
private PileReservationInfoService pileReservationInfoService;
@Autowired
private ZDLService zdlService;
@Test
public void thirdPartyTest() {
QueryStationInfoDTO dto = new QueryStationInfoDTO();
dto.setOperatorId("14405899X");
dto.setThirdPlatformType(ThirdPlatformTypeEnum.NING_BO_PLATFORM.getTypeCode());
zdlService.queryStationsInfo(dto);
}
@Test
public void personPileStopChargingTest() {
String memberId = "84085683";

View File

@@ -462,6 +462,8 @@ public interface OrderBasicInfoService{
*/
List<OrderListVO> queryOrderByOccupyTime(QueryOrderDTO dto);
//↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 后管小程序 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
/**
* 通过站点idList创建时间查询订单数据详情
* @param stationIds

View File

@@ -160,8 +160,14 @@ public interface PileStationInfoService {
List<StationStatisticsInfosVO> getStationStatisticsInfos(StationStatisticsInfoDTO dto);
/**
* 获取站点运营分析信息
* 获取站点运营分析信息(7天、30天)
* @param dto
*/
StationBusinessAnalyzeInfoVO getStationBusinessAnalyzeInfo(StationBusinessAnalyzeInfoDTO dto);
/**
* 获取站点运营分析信息12个月
* @param dto
*/
StationBusinessAnalyzeInfoVO getStationMonthlyBusinessAnalyzeInfo(StationBusinessAnalyzeInfoDTO dto);
}

View File

@@ -744,7 +744,7 @@ public class PileStationInfoServiceImpl implements PileStationInfoService {
}
/**
* 获取站点运营分析信息
* 获取站点运营分析信息7天、30天
* @param dto
*/
@Override
@@ -926,5 +926,46 @@ public class PileStationInfoServiceImpl implements PileStationInfoService {
return vo;
}
/**
* 获取站点运营分析信息12个月
* @param dto
*/
@Override
public StationBusinessAnalyzeInfoVO getStationMonthlyBusinessAnalyzeInfo(StationBusinessAnalyzeInfoDTO dto) {
String stationId = dto.getStationId();
Calendar instance = Calendar.getInstance();
instance.add(Calendar.YEAR, -1);
String startTime = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, instance.getTime());
String endTime = DateUtils.dateTimeNow(DateUtils.YYYY_MM_DD);
// 查询订单日报表过去一年的数据
List<SettleOrderReport> list = settleOrderReportService.queryOrderReport(Lists.newArrayList(stationId), startTime, endTime);
// 按照日期汇总数据
Map<String, SettleOrderReport> collect = list.stream()
.sorted(Comparator.comparing(SettleOrderReport::getTradeDate))
.collect(Collectors.toMap(SettleOrderReport::getTradeDate, Function.identity(),
(a, b) -> {
a.setUseElectricity(a.getUseElectricity().add(b.getUseElectricity()));
a.setTotalAmount(a.getTotalAmount().add(b.getTotalAmount()));
a.setElectricityAmount(a.getElectricityAmount().add(b.getElectricityAmount()));
a.setServiceAmount(a.getServiceAmount().add(b.getServiceAmount()));
return a;
}));
// 通过TreeMap排序
TreeMap<String, SettleOrderReport> map = new TreeMap<>(collect);
List<SettleOrderReport> settleOrderReports = new ArrayList<>(map.values());
// StationBusinessAnalyzeInfoVO vo = StationBusinessAnalyzeInfoVO.builder()
// .electricityGrowthRate()
// .orderAmountGrowthRate()
// .serviceAmountGrowthRate()
//
// .businessOrderDetailInfoVOList()
// .build();
return null;
}
}