mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-04-20 11:05:18 +08:00
新增 后管根据汇付会员id查询分账汇总数据 接口
This commit is contained in:
@@ -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<String> queryOrderCodesByParams(@Param("dto") QueryOrderSplitDTO dto);
|
||||
|
||||
List<OrderSplitRecordVO> queryOrderSplitData(@Param("orderCodeList") List<String> orderCodeList);
|
||||
|
||||
List<SplitAggregateDataVO> getSplitListByAdapyMemberId(@Param("dto") QueryOrderSplitDTO dto);
|
||||
}
|
||||
|
||||
@@ -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<OrderSplitRecord> queryOrderSplitRecordByMemberId(String adapayMemberId, String startTime, String endTime);
|
||||
|
||||
/**
|
||||
* 根据汇付会员id查询分账汇总数据
|
||||
* @param dto
|
||||
* @return
|
||||
*/
|
||||
List<SplitAggregateDataVO> queryStationAggregateData(QueryOrderSplitDTO dto);
|
||||
}
|
||||
|
||||
|
||||
@@ -350,6 +350,30 @@ public class OrderSplitRecordServiceImpl implements OrderSplitRecordService {
|
||||
return orderSplitRecordMapper.queryOrderSplitRecordByMemberId(adapayMemberId, startTime, endTime);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据汇付会员id查询分账汇总数据
|
||||
* @param dto
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public List<SplitAggregateDataVO> queryStationAggregateData(QueryOrderSplitDTO dto) {
|
||||
// 根据adapyMemberId、开始时间、结束时间查询出信息列表
|
||||
List<SplitAggregateDataVO> 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
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
@@ -836,4 +836,26 @@
|
||||
station_id = #{dto.stationId,jdbcType=VARCHAR}
|
||||
AND trade_date BETWEEN #{dto.startTime,jdbcType=VARCHAR} AND #{dto.endTime,jdbcType=VARCHAR}
|
||||
</select>
|
||||
|
||||
<select id="getSplitListByAdapyMemberId" resultType="com.jsowell.pile.vo.web.SplitAggregateDataVO">
|
||||
SELECT
|
||||
t1.station_id AS stationId,
|
||||
t2.station_name AS stationName,
|
||||
count(t1.id) as orderCount,
|
||||
sum(t1.electricity_split_amount) AS totalElectricitySplitAmount,
|
||||
sum(t1.service_split_amount) AS totalServiceSplitAmount,
|
||||
sum(t1.fee_amount) AS totalFeeAmount
|
||||
FROM
|
||||
order_split_record t1
|
||||
JOIN pile_station_info t2 ON t1.station_id = t2.id
|
||||
AND t1.del_flag = '0'
|
||||
WHERE
|
||||
t1.trade_date BETWEEN #{dto.startTime,jdbcType=VARCHAR}
|
||||
AND #{dto.endTime,jdbcType=VARCHAR}
|
||||
AND t1.adapay_member_id = #{dto.adapayMemberId,jdbcType=VARCHAR}
|
||||
<if test="dto.stationId != null and dto.stationId != ''" >
|
||||
and t1.station_id = #{dto.stationId,jdbcType=VARCHAR}
|
||||
</if>
|
||||
group by t1.station_id
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
Reference in New Issue
Block a user