mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-04-21 11:35:12 +08:00
新增 运营端小程序 查询订单数量趋势信息接口
This commit is contained in:
@@ -5,7 +5,7 @@ import com.jsowell.pile.domain.OrderDetail;
|
||||
import com.jsowell.pile.dto.*;
|
||||
import com.jsowell.pile.dto.nanrui.NRQueryOrderDTO;
|
||||
import com.jsowell.pile.dto.ningxiajiaotou.NXJTQueryOrdersInfoDTO;
|
||||
import com.jsowell.pile.vo.BusinessOrderDetailInfoVO;
|
||||
import com.jsowell.pile.vo.uniapp.business.BusinessOrderDetailInfoVO;
|
||||
import com.jsowell.pile.vo.SupStationStatsVO;
|
||||
import com.jsowell.pile.vo.base.MerchantOrderInfoVO;
|
||||
import com.jsowell.pile.vo.lianlian.AccumulativeInfoVO;
|
||||
|
||||
@@ -12,7 +12,7 @@ import com.jsowell.pile.domain.SettleOrderReport;
|
||||
import com.jsowell.pile.dto.*;
|
||||
import com.jsowell.pile.dto.nanrui.NRQueryOrderDTO;
|
||||
import com.jsowell.pile.dto.ningxiajiaotou.NXJTQueryOrdersInfoDTO;
|
||||
import com.jsowell.pile.vo.BusinessOrderDetailInfoVO;
|
||||
import com.jsowell.pile.vo.uniapp.business.BusinessOrderDetailInfoVO;
|
||||
import com.jsowell.pile.vo.SupStationStatsVO;
|
||||
import com.jsowell.pile.vo.base.MerchantOrderInfoVO;
|
||||
import com.jsowell.pile.vo.base.OrderAmountDetailVO;
|
||||
|
||||
@@ -6,7 +6,7 @@ import com.jsowell.pile.dto.*;
|
||||
import com.jsowell.pile.dto.amap.GetStationInfoDTO;
|
||||
import com.jsowell.pile.dto.lutongyunting.BindParkingPlatformDTO;
|
||||
import com.jsowell.pile.dto.ningxiajiaotou.NXJTQueryStationInfoDTO;
|
||||
import com.jsowell.pile.vo.StationBusinessAnalyzeInfoVO;
|
||||
import com.jsowell.pile.vo.uniapp.business.StationBusinessAnalyzeInfoVO;
|
||||
import com.jsowell.pile.vo.base.ThirdPartyStationInfoVO;
|
||||
import com.jsowell.pile.vo.ningxiajiaotou.NXJTStationInfoVO;
|
||||
import com.jsowell.pile.vo.uniapp.business.StationStatisticsInfosVO;
|
||||
@@ -178,4 +178,11 @@ public interface PileStationInfoService {
|
||||
* @param dto
|
||||
*/
|
||||
StationBusinessAnalyzeInfoVO getStationMonthlyBusinessAnalyzeInfo(StationBusinessAnalyzeInfoDTO dto);
|
||||
|
||||
/**
|
||||
* 查询订单数量趋势信息
|
||||
* @param dto
|
||||
* @return
|
||||
*/
|
||||
StationBusinessAnalyzeInfoVO getStationOrderQuantityInfo(StationBusinessAnalyzeInfoDTO dto);
|
||||
}
|
||||
|
||||
@@ -49,7 +49,7 @@ import com.jsowell.pile.transaction.dto.ClearingBillTransactionDTO;
|
||||
import com.jsowell.pile.transaction.dto.OrderTransactionDTO;
|
||||
import com.jsowell.pile.transaction.service.TransactionService;
|
||||
import com.jsowell.pile.util.UserUtils;
|
||||
import com.jsowell.pile.vo.BusinessOrderDetailInfoVO;
|
||||
import com.jsowell.pile.vo.uniapp.business.BusinessOrderDetailInfoVO;
|
||||
import com.jsowell.pile.vo.SupStationStatsVO;
|
||||
import com.jsowell.pile.vo.base.PileInfoVO;
|
||||
import com.jsowell.pile.vo.base.*;
|
||||
|
||||
@@ -10,7 +10,6 @@ import com.jsowell.common.core.domain.entity.SysUser;
|
||||
import com.jsowell.common.core.domain.vo.AuthorizedDeptVO;
|
||||
import com.jsowell.common.core.page.PageResponse;
|
||||
import com.jsowell.common.core.redis.RedisCache;
|
||||
import com.jsowell.common.enums.thirdparty.BusinessInformationExchangeEnum;
|
||||
import com.jsowell.common.enums.ykc.PileConnectorDataBaseStatusEnum;
|
||||
import com.jsowell.common.enums.ykc.ReturnCodeEnum;
|
||||
import com.jsowell.common.exception.BusinessException;
|
||||
@@ -27,14 +26,13 @@ import com.jsowell.pile.dto.ningxiajiaotou.NXJTQueryStationInfoDTO;
|
||||
import com.jsowell.pile.mapper.PileStationInfoMapper;
|
||||
import com.jsowell.pile.service.*;
|
||||
import com.jsowell.pile.util.UserUtils;
|
||||
import com.jsowell.pile.vo.BusinessOrderDetailInfoVO;
|
||||
import com.jsowell.pile.vo.StationBusinessAnalyzeInfoVO;
|
||||
import com.jsowell.pile.vo.SupStationStatsVO;
|
||||
import com.jsowell.pile.vo.uniapp.business.BusinessOrderDetailInfoVO;
|
||||
import com.jsowell.pile.vo.uniapp.business.StationBusinessAnalyzeInfoVO;
|
||||
import com.jsowell.pile.vo.base.*;
|
||||
import com.jsowell.pile.vo.ningxiajiaotou.NXJTStationInfoVO;
|
||||
import com.jsowell.pile.vo.uniapp.business.StationOrderQuantityInfoVO;
|
||||
import com.jsowell.pile.vo.uniapp.business.StationStatisticsInfosVO;
|
||||
import com.jsowell.pile.vo.uniapp.customer.CurrentTimePriceDetails;
|
||||
import com.jsowell.pile.vo.web.MerchantOrderReportVO;
|
||||
import com.jsowell.pile.vo.web.PileStationVO;
|
||||
import com.jsowell.system.service.SysDeptService;
|
||||
import com.jsowell.system.service.SysUserService;
|
||||
@@ -1035,4 +1033,73 @@ public class PileStationInfoServiceImpl implements PileStationInfoService {
|
||||
|
||||
return vo;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 查询订单数量趋势信息
|
||||
* @param dto
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public StationBusinessAnalyzeInfoVO getStationOrderQuantityInfo(StationBusinessAnalyzeInfoDTO dto) {
|
||||
StationBusinessAnalyzeInfoVO vo = new StationBusinessAnalyzeInfoVO();
|
||||
List<String> stationIds = dto.getStationIds();
|
||||
String type = dto.getType();
|
||||
String startTime = "";
|
||||
String endTime = "";
|
||||
if (StringUtils.equals(Constants.ONE, type)) {
|
||||
// 7天
|
||||
startTime = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, DateUtils.addDays(new Date(), -7));
|
||||
endTime = DateUtils.dateTimeNow(DateUtils.YYYY_MM_DD);
|
||||
} else if (StringUtils.equals(Constants.TWO, type)) {
|
||||
// 30天
|
||||
startTime = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, DateUtils.addDays(new Date(), -30));
|
||||
endTime = DateUtils.dateTimeNow(DateUtils.YYYY_MM_DD);
|
||||
}else if (StringUtils.equals(Constants.THREE, type)) {
|
||||
// 一年
|
||||
startTime = DateUtils.getFirstDayOfLastYearMonth();
|
||||
endTime = DateUtils.getLastDayOfCurrentMonth();
|
||||
}
|
||||
// 根据站点id、开始时间、结束时间查询订单日报表
|
||||
List<SettleOrderReport> settleOrderReports = settleOrderReportService.queryOrderReport(stationIds, startTime, endTime);
|
||||
if (CollectionUtils.isEmpty(settleOrderReports)) {
|
||||
return vo;
|
||||
}
|
||||
// 根据交易日期汇总订单数量(充电次数)
|
||||
// key: 交易日期 value: SettleOrderReport
|
||||
Map<String, SettleOrderReport> collect = new LinkedHashMap<>();
|
||||
if (StringUtils.equals(Constants.ONE, type) || StringUtils.equals(Constants.TWO, type)) {
|
||||
collect = settleOrderReports.stream()
|
||||
.sorted(Comparator.comparing(SettleOrderReport::getTradeDate))
|
||||
.collect(Collectors.toMap(SettleOrderReport::getTradeDate, Function.identity(),
|
||||
(a, b) -> {
|
||||
a.setChargeNum(String.valueOf(new BigDecimal(a.getChargeNum()).add(new BigDecimal(b.getChargeNum()))));
|
||||
return a;
|
||||
}));
|
||||
}else {
|
||||
collect = settleOrderReports.stream()
|
||||
.peek(report -> {
|
||||
LocalDate date = LocalDate.parse(report.getTradeDate(), DateTimeFormatter.ofPattern("yyyy-MM-dd"));
|
||||
String formattedDate = date.format(DateTimeFormatter.ofPattern("yyyy-MM"));
|
||||
report.setTradeDate(formattedDate);
|
||||
})
|
||||
.collect(Collectors.toMap(SettleOrderReport::getTradeDate, Function.identity(),
|
||||
(a, b) -> {
|
||||
a.setChargeNum(String.valueOf(new BigDecimal(a.getChargeNum()).add(new BigDecimal(b.getChargeNum()))));
|
||||
return a;
|
||||
}));
|
||||
}
|
||||
TreeMap<String, SettleOrderReport> map = new TreeMap<>(collect);
|
||||
List<StationOrderQuantityInfoVO> list = new ArrayList<>();
|
||||
for (SettleOrderReport settleOrderReport : map.values()) {
|
||||
StationOrderQuantityInfoVO orderQuantityInfoVO = new StationOrderQuantityInfoVO();
|
||||
orderQuantityInfoVO.setTradeDate(settleOrderReport.getTradeDate());
|
||||
orderQuantityInfoVO.setOrderNumber(Integer.parseInt(settleOrderReport.getChargeNum()));
|
||||
|
||||
list.add(orderQuantityInfoVO);
|
||||
}
|
||||
|
||||
vo.setStationOrderQuantityInfoList(list);
|
||||
return vo;
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.jsowell.pile.vo;
|
||||
package com.jsowell.pile.vo.uniapp.business;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.jsowell.pile.vo;
|
||||
package com.jsowell.pile.vo.uniapp.business;
|
||||
|
||||
import com.jsowell.pile.domain.SettleOrderReport;
|
||||
import lombok.AllArgsConstructor;
|
||||
@@ -44,4 +44,9 @@ public class StationBusinessAnalyzeInfoVO {
|
||||
* 结算订单报表
|
||||
*/
|
||||
private List<SettleOrderReport> settleOrderReportList;
|
||||
|
||||
/**
|
||||
* 站点订单数量趋势
|
||||
*/
|
||||
private List<StationOrderQuantityInfoVO> stationOrderQuantityInfoList;
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
package com.jsowell.pile.vo.uniapp.business;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* 站点订单数量趋势信息VO
|
||||
*
|
||||
* @author Lemon
|
||||
* @Date 2024/8/7 15:56:44
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Builder
|
||||
public class StationOrderQuantityInfoVO {
|
||||
/**
|
||||
* 站点id
|
||||
*/
|
||||
// private String stationId;
|
||||
|
||||
/**
|
||||
* 交易日期
|
||||
*/
|
||||
private String tradeDate;
|
||||
|
||||
/**
|
||||
* 订单数量
|
||||
*/
|
||||
private int orderNumber;
|
||||
}
|
||||
Reference in New Issue
Block a user