mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-05-05 10:30:12 +08:00
新增 后管根据汇付会员id查询分账汇总数据 接口
This commit is contained in:
@@ -23,6 +23,7 @@ import com.jsowell.pile.service.PileMerchantInfoService;
|
|||||||
import com.jsowell.pile.service.PileStationInfoService;
|
import com.jsowell.pile.service.PileStationInfoService;
|
||||||
import com.jsowell.pile.util.UserUtils;
|
import com.jsowell.pile.util.UserUtils;
|
||||||
import com.jsowell.pile.vo.web.OrderListVO;
|
import com.jsowell.pile.vo.web.OrderListVO;
|
||||||
|
import com.jsowell.pile.vo.web.SplitAggregateDataVO;
|
||||||
import com.jsowell.pile.vo.web.SplitRecordInfoVO;
|
import com.jsowell.pile.vo.web.SplitRecordInfoVO;
|
||||||
import com.jsowell.service.OrderService;
|
import com.jsowell.service.OrderService;
|
||||||
import org.apache.commons.collections4.CollectionUtils;
|
import org.apache.commons.collections4.CollectionUtils;
|
||||||
@@ -251,4 +252,22 @@ public class OrderBasicInfoController extends BaseController {
|
|||||||
logger.info("查询订单分账数据 params:{}, result:{}", JSON.toJSONString(dto), response);
|
logger.info("查询订单分账数据 params:{}, result:{}", JSON.toJSONString(dto), response);
|
||||||
return response;
|
return response;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据汇付会员id查询分账汇总数据
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@PostMapping
|
||||||
|
public RestApiResponse<?> queryStationAggregateData(@RequestBody QueryOrderSplitDTO dto) {
|
||||||
|
RestApiResponse<?> response = null;
|
||||||
|
try {
|
||||||
|
List<SplitAggregateDataVO> 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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package com.jsowell.pile.mapper;
|
|||||||
import com.jsowell.pile.domain.OrderSplitRecord;
|
import com.jsowell.pile.domain.OrderSplitRecord;
|
||||||
import com.jsowell.pile.dto.QueryOrderSplitDTO;
|
import com.jsowell.pile.dto.QueryOrderSplitDTO;
|
||||||
import com.jsowell.pile.vo.web.OrderSplitRecordVO;
|
import com.jsowell.pile.vo.web.OrderSplitRecordVO;
|
||||||
|
import com.jsowell.pile.vo.web.SplitAggregateDataVO;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -47,4 +48,6 @@ public interface OrderSplitRecordMapper {
|
|||||||
List<String> queryOrderCodesByParams(@Param("dto") QueryOrderSplitDTO dto);
|
List<String> queryOrderCodesByParams(@Param("dto") QueryOrderSplitDTO dto);
|
||||||
|
|
||||||
List<OrderSplitRecordVO> queryOrderSplitData(@Param("orderCodeList") List<String> orderCodeList);
|
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.QueryOrderSplitDTO;
|
||||||
import com.jsowell.pile.dto.SplitOrderDTO;
|
import com.jsowell.pile.dto.SplitOrderDTO;
|
||||||
import com.jsowell.pile.vo.OrderInfoDetailVO;
|
import com.jsowell.pile.vo.OrderInfoDetailVO;
|
||||||
import com.jsowell.pile.vo.web.OrderSplitDailySummaryData;
|
import com.jsowell.pile.vo.web.*;
|
||||||
import com.jsowell.pile.vo.web.OrderSplitRecordVO;
|
|
||||||
import com.jsowell.pile.vo.web.SplitOrdersInfoVO;
|
|
||||||
import com.jsowell.pile.vo.web.SplitRecordInfoVO;
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@@ -78,5 +75,12 @@ public interface OrderSplitRecordService {
|
|||||||
* 根据汇付会员id查询时间段内订单分账记录
|
* 根据汇付会员id查询时间段内订单分账记录
|
||||||
*/
|
*/
|
||||||
List<OrderSplitRecord> queryOrderSplitRecordByMemberId(String adapayMemberId, String startTime, String endTime);
|
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);
|
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, 查询从他人分账的金额
|
* 根据merchantId, 查询从他人分账的金额
|
||||||
* extra income
|
* 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}
|
station_id = #{dto.stationId,jdbcType=VARCHAR}
|
||||||
AND trade_date BETWEEN #{dto.startTime,jdbcType=VARCHAR} AND #{dto.endTime,jdbcType=VARCHAR}
|
AND trade_date BETWEEN #{dto.startTime,jdbcType=VARCHAR} AND #{dto.endTime,jdbcType=VARCHAR}
|
||||||
</select>
|
</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>
|
</mapper>
|
||||||
|
|||||||
Reference in New Issue
Block a user