diff --git a/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/OrderBasicInfoController.java b/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/OrderBasicInfoController.java index 3fefa4885..df9e411bf 100644 --- a/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/OrderBasicInfoController.java +++ b/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/OrderBasicInfoController.java @@ -23,6 +23,7 @@ import com.jsowell.pile.service.PileMerchantInfoService; import com.jsowell.pile.service.PileStationInfoService; import com.jsowell.pile.util.UserUtils; import com.jsowell.pile.vo.web.OrderListVO; +import com.jsowell.pile.vo.web.SplitAggregateDataVO; import com.jsowell.pile.vo.web.SplitRecordInfoVO; import com.jsowell.service.OrderService; import org.apache.commons.collections4.CollectionUtils; @@ -251,4 +252,22 @@ public class OrderBasicInfoController extends BaseController { logger.info("查询订单分账数据 params:{}, result:{}", JSON.toJSONString(dto), response); return response; } + + /** + * 根据汇付会员id查询分账汇总数据 + * @return + */ + @PostMapping + public RestApiResponse queryStationAggregateData(@RequestBody QueryOrderSplitDTO dto) { + RestApiResponse response = null; + try { + List splitAggregateDataVOS = orderSplitRecordService.queryStationAggregateData(dto); + response = new RestApiResponse<>(splitAggregateDataVOS); + } catch (Exception e) { + logger.error("根据汇付会员id查询分账汇总数据 error,", e); + response = new RestApiResponse<>(e); + } + logger.info("根据汇付会员id查询分账汇总数据 params:{}, result:{}", JSON.toJSONString(dto), response); + return response; + } } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/OrderSplitRecordMapper.java b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/OrderSplitRecordMapper.java index a8d05e5da..455ea8370 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/OrderSplitRecordMapper.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/OrderSplitRecordMapper.java @@ -3,6 +3,7 @@ package com.jsowell.pile.mapper; import com.jsowell.pile.domain.OrderSplitRecord; import com.jsowell.pile.dto.QueryOrderSplitDTO; import com.jsowell.pile.vo.web.OrderSplitRecordVO; +import com.jsowell.pile.vo.web.SplitAggregateDataVO; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -47,4 +48,6 @@ public interface OrderSplitRecordMapper { List queryOrderCodesByParams(@Param("dto") QueryOrderSplitDTO dto); List queryOrderSplitData(@Param("orderCodeList") List orderCodeList); + + List getSplitListByAdapyMemberId(@Param("dto") QueryOrderSplitDTO dto); } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/OrderSplitRecordService.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/OrderSplitRecordService.java index db407603a..6f3076f08 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/OrderSplitRecordService.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/OrderSplitRecordService.java @@ -8,10 +8,7 @@ import com.jsowell.pile.domain.OrderSplitRecord; import com.jsowell.pile.dto.QueryOrderSplitDTO; import com.jsowell.pile.dto.SplitOrderDTO; import com.jsowell.pile.vo.OrderInfoDetailVO; -import com.jsowell.pile.vo.web.OrderSplitDailySummaryData; -import com.jsowell.pile.vo.web.OrderSplitRecordVO; -import com.jsowell.pile.vo.web.SplitOrdersInfoVO; -import com.jsowell.pile.vo.web.SplitRecordInfoVO; +import com.jsowell.pile.vo.web.*; import java.util.List; import java.util.Map; @@ -78,5 +75,12 @@ public interface OrderSplitRecordService { * 根据汇付会员id查询时间段内订单分账记录 */ List queryOrderSplitRecordByMemberId(String adapayMemberId, String startTime, String endTime); + + /** + * 根据汇付会员id查询分账汇总数据 + * @param dto + * @return + */ + List queryStationAggregateData(QueryOrderSplitDTO dto); } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderSplitRecordServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderSplitRecordServiceImpl.java index da0565054..2a70d31d1 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderSplitRecordServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderSplitRecordServiceImpl.java @@ -350,6 +350,30 @@ public class OrderSplitRecordServiceImpl implements OrderSplitRecordService { return orderSplitRecordMapper.queryOrderSplitRecordByMemberId(adapayMemberId, startTime, endTime); } + /** + * 根据汇付会员id查询分账汇总数据 + * @param dto + * @return + */ + @Override + public List queryStationAggregateData(QueryOrderSplitDTO dto) { + // 根据adapyMemberId、开始时间、结束时间查询出信息列表 + List list = orderSplitRecordMapper.getSplitListByAdapyMemberId(dto); + if (CollectionUtils.isEmpty(list)) { + return new ArrayList<>(); + } + for (SplitAggregateDataVO splitAggregateDataVO : list) { + splitAggregateDataVO.setTimeRange(dto.getStartTime() + "至" + dto.getEndTime()); + BigDecimal totalRevenueAmount = new BigDecimal(splitAggregateDataVO.getTotalElectricitySplitAmount()) + .add(new BigDecimal(splitAggregateDataVO.getTotalServiceSplitAmount())) + .subtract(new BigDecimal(splitAggregateDataVO.getTotalFeeAmount())); + + splitAggregateDataVO.setTotalRevenueAmount(String.valueOf(totalRevenueAmount)); + } + return list; + + } + /** * 根据merchantId, 查询从他人分账的金额 * extra income diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/vo/web/SplitAggregateDataVO.java b/jsowell-pile/src/main/java/com/jsowell/pile/vo/web/SplitAggregateDataVO.java new file mode 100644 index 000000000..f87d5af7e --- /dev/null +++ b/jsowell-pile/src/main/java/com/jsowell/pile/vo/web/SplitAggregateDataVO.java @@ -0,0 +1,60 @@ +package com.jsowell.pile.vo.web; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * 分账汇总信息VO + * + * @author Lemon + * @Date 2025/4/14 14:06:06 + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +@Builder +public class SplitAggregateDataVO { + + /** + * 站点id + */ + private String stationId; + + /** + * 站点名称 + */ + private String stationName; + + /** + * 时间范围 + */ + private String timeRange; + + /** + * 订单数量 + */ + private String orderCount; + + /** + * 总电费分账金额 + */ + private String totalElectricitySplitAmount; + + /** + * 总服务费分账金额 + */ + private String totalServiceSplitAmount; + + /** + * 总手续费 + */ + private String totalFeeAmount; + + /** + * 总收入金额 + * 总收入金额 = 总电费分账金额 + 总手续费分账金额 - 总手续费分账金额 + */ + private String totalRevenueAmount; +} diff --git a/jsowell-pile/src/main/resources/mapper/pile/OrderSplitRecordMapper.xml b/jsowell-pile/src/main/resources/mapper/pile/OrderSplitRecordMapper.xml index 9613cdd14..e3e27860c 100644 --- a/jsowell-pile/src/main/resources/mapper/pile/OrderSplitRecordMapper.xml +++ b/jsowell-pile/src/main/resources/mapper/pile/OrderSplitRecordMapper.xml @@ -836,4 +836,26 @@ station_id = #{dto.stationId,jdbcType=VARCHAR} AND trade_date BETWEEN #{dto.startTime,jdbcType=VARCHAR} AND #{dto.endTime,jdbcType=VARCHAR} + +