mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-07-02 21:18:05 +08:00
新增 运营商查询订单报表接口
This commit is contained in:
@@ -7,6 +7,7 @@ import com.jsowell.common.core.page.TableDataInfo;
|
|||||||
import com.jsowell.common.enums.BusinessType;
|
import com.jsowell.common.enums.BusinessType;
|
||||||
import com.jsowell.common.util.poi.ExcelUtil;
|
import com.jsowell.common.util.poi.ExcelUtil;
|
||||||
import com.jsowell.pile.domain.SettleOrderReport;
|
import com.jsowell.pile.domain.SettleOrderReport;
|
||||||
|
import com.jsowell.pile.dto.MerchantOrderReportDTO;
|
||||||
import com.jsowell.pile.service.ISettleOrderReportService;
|
import com.jsowell.pile.service.ISettleOrderReportService;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.security.access.prepost.PreAuthorize;
|
import org.springframework.security.access.prepost.PreAuthorize;
|
||||||
@@ -88,4 +89,10 @@ public class SettleOrderReportController extends BaseController {
|
|||||||
public AjaxResult remove(@PathVariable Long[] ids) {
|
public AjaxResult remove(@PathVariable Long[] ids) {
|
||||||
return toAjax(settleOrderReportService.deleteSettleOrderReportByIds(ids));
|
return toAjax(settleOrderReportService.deleteSettleOrderReportByIds(ids));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreAuthorize("@ss.hasPermi('pile:report:query')")
|
||||||
|
@PostMapping("/getMerchantOrderReport")
|
||||||
|
public AjaxResult getMerchantOrderReport(@RequestBody MerchantOrderReportDTO dto) {
|
||||||
|
return AjaxResult.success(settleOrderReportService.getMerchantOrderReport(dto));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,17 @@
|
|||||||
|
package com.jsowell.pile.dto;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Builder;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
@Builder
|
||||||
|
public class MerchantOrderReportDTO {
|
||||||
|
private String merchantId;
|
||||||
|
private String startTime;
|
||||||
|
private String endTime;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,6 +1,9 @@
|
|||||||
package com.jsowell.pile.mapper;
|
package com.jsowell.pile.mapper;
|
||||||
|
|
||||||
import com.jsowell.pile.domain.SettleOrderReport;
|
import com.jsowell.pile.domain.SettleOrderReport;
|
||||||
|
import com.jsowell.pile.dto.MerchantOrderReportDTO;
|
||||||
|
import com.jsowell.pile.vo.web.MerchantOrderReportVO;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
import org.springframework.stereotype.Repository;
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -60,4 +63,11 @@ public interface SettleOrderReportMapper {
|
|||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
public int deleteSettleOrderReportByIds(Long[] ids);
|
public int deleteSettleOrderReportByIds(Long[] ids);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据运营商id查询订单报表
|
||||||
|
* @param dto
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<SettleOrderReport> getMerchantOrderReport(@Param("dto") MerchantOrderReportDTO dto);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
package com.jsowell.pile.service;
|
package com.jsowell.pile.service;
|
||||||
|
|
||||||
import com.jsowell.pile.domain.SettleOrderReport;
|
import com.jsowell.pile.domain.SettleOrderReport;
|
||||||
|
import com.jsowell.pile.dto.MerchantOrderReportDTO;
|
||||||
|
import com.jsowell.pile.vo.web.MerchantOrderReportVO;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@@ -58,4 +60,11 @@ public interface ISettleOrderReportService {
|
|||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
public int deleteSettleOrderReportById(Long id);
|
public int deleteSettleOrderReportById(Long id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据运营商id查询订单报表
|
||||||
|
* @param dto
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
MerchantOrderReportVO getMerchantOrderReport(MerchantOrderReportDTO dto);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,12 +2,17 @@ package com.jsowell.pile.service.impl;
|
|||||||
|
|
||||||
import com.jsowell.common.util.DateUtils;
|
import com.jsowell.common.util.DateUtils;
|
||||||
import com.jsowell.pile.domain.SettleOrderReport;
|
import com.jsowell.pile.domain.SettleOrderReport;
|
||||||
|
import com.jsowell.pile.dto.MerchantOrderReportDTO;
|
||||||
import com.jsowell.pile.mapper.SettleOrderReportMapper;
|
import com.jsowell.pile.mapper.SettleOrderReportMapper;
|
||||||
import com.jsowell.pile.service.ISettleOrderReportService;
|
import com.jsowell.pile.service.ISettleOrderReportService;
|
||||||
|
import com.jsowell.pile.vo.web.MerchantOrderReportVO;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.util.CollectionUtils;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 结算订单报Service业务层处理
|
* 结算订单报Service业务层处理
|
||||||
@@ -86,4 +91,43 @@ public class SettleOrderReportServiceImpl implements ISettleOrderReportService {
|
|||||||
public int deleteSettleOrderReportById(Long id) {
|
public int deleteSettleOrderReportById(Long id) {
|
||||||
return settleOrderReportMapper.deleteSettleOrderReportById(id);
|
return settleOrderReportMapper.deleteSettleOrderReportById(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据运营商id查询订单报表
|
||||||
|
* @param dto
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public MerchantOrderReportVO getMerchantOrderReport(MerchantOrderReportDTO dto) {
|
||||||
|
MerchantOrderReportVO vo = new MerchantOrderReportVO();
|
||||||
|
MerchantOrderReportVO.MerchantOrderReport report = new MerchantOrderReportVO.MerchantOrderReport();
|
||||||
|
List<SettleOrderReport> list = settleOrderReportMapper.getMerchantOrderReport(dto);
|
||||||
|
if (CollectionUtils.isEmpty(list)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
vo.setMerchantId(dto.getMerchantId());
|
||||||
|
vo.setReportList(list);
|
||||||
|
// 进行数据汇总
|
||||||
|
// 用电度数
|
||||||
|
report.setUseElectricity(list.stream().map(SettleOrderReport::getUseElectricity).reduce(BigDecimal.ZERO, BigDecimal::add));
|
||||||
|
// 充电次数
|
||||||
|
report.setChargeNum(list.stream().map(SettleOrderReport -> new BigDecimal(SettleOrderReport.getChargeNum())).reduce(BigDecimal.ZERO, BigDecimal::add));
|
||||||
|
// 充电时长
|
||||||
|
report.setChargeTime(list.stream().map(SettleOrderReport -> new BigDecimal(SettleOrderReport.getChargeTime())).reduce(BigDecimal.ZERO, BigDecimal::add));
|
||||||
|
// 电费金额
|
||||||
|
report.setElectricityAmount(list.stream().map(SettleOrderReport::getElectricityAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
|
||||||
|
// 服务费金额
|
||||||
|
report.setServiceAmount(list.stream().map(SettleOrderReport::getServiceAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
|
||||||
|
// 收入金额
|
||||||
|
report.setTotalAmount(list.stream().map(SettleOrderReport::getTotalAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
|
||||||
|
// 虚拟金额
|
||||||
|
report.setVirtualAmount(list.stream().map(SettleOrderReport::getVirtualAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
|
||||||
|
// 交易金额
|
||||||
|
report.setTradeAmount(list.stream().map(SettleOrderReport::getTradeAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
|
||||||
|
// 交易手续费
|
||||||
|
report.setTradeFee(list.stream().map(SettleOrderReport::getTradeFee).reduce(BigDecimal.ZERO, BigDecimal::add));
|
||||||
|
|
||||||
|
vo.setMerchantOrderReport(report);
|
||||||
|
return vo;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,46 @@
|
|||||||
|
package com.jsowell.pile.vo.web;
|
||||||
|
|
||||||
|
import com.jsowell.pile.domain.SettleOrderReport;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class MerchantOrderReportVO {
|
||||||
|
private String merchantId;
|
||||||
|
|
||||||
|
private MerchantOrderReport merchantOrderReport;
|
||||||
|
|
||||||
|
private List<SettleOrderReport> reportList;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public static class MerchantOrderReport{
|
||||||
|
// 用电度数
|
||||||
|
private BigDecimal useElectricity;
|
||||||
|
|
||||||
|
// 充电次数
|
||||||
|
private BigDecimal chargeNum;
|
||||||
|
|
||||||
|
// 充电时长
|
||||||
|
private BigDecimal chargeTime;
|
||||||
|
|
||||||
|
// 电费金额
|
||||||
|
private BigDecimal electricityAmount;
|
||||||
|
|
||||||
|
// 服务费金额
|
||||||
|
private BigDecimal serviceAmount;
|
||||||
|
|
||||||
|
// 收入金额
|
||||||
|
private BigDecimal totalAmount;
|
||||||
|
|
||||||
|
// 交易金额
|
||||||
|
private BigDecimal tradeAmount;
|
||||||
|
|
||||||
|
// 交易手续费
|
||||||
|
private BigDecimal tradeFee;
|
||||||
|
|
||||||
|
// 虚拟金额
|
||||||
|
private BigDecimal virtualAmount;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -4,7 +4,7 @@
|
|||||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="com.jsowell.pile.mapper.SettleOrderReportMapper">
|
<mapper namespace="com.jsowell.pile.mapper.SettleOrderReportMapper">
|
||||||
|
|
||||||
<resultMap type="SettleOrderReport" id="SettleOrderReportResult">
|
<resultMap type="com.jsowell.pile.domain.SettleOrderReport" id="SettleOrderReportResult">
|
||||||
<result property="id" column="id" />
|
<result property="id" column="id" />
|
||||||
<result property="merchantId" column="merchant_id" />
|
<result property="merchantId" column="merchant_id" />
|
||||||
<result property="stationId" column="station_id" />
|
<result property="stationId" column="station_id" />
|
||||||
@@ -26,7 +26,11 @@
|
|||||||
select id, merchant_id, station_id, use_electricity, charge_num, charge_time, electricity_amount, service_amount, total_amount, virtual_amount, trade_date, trade_amount, trade_fee, create_time, del_flag from settle_order_report
|
select id, merchant_id, station_id, use_electricity, charge_num, charge_time, electricity_amount, service_amount, total_amount, virtual_amount, trade_date, trade_amount, trade_fee, create_time, del_flag from settle_order_report
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
<select id="selectSettleOrderReportList" parameterType="SettleOrderReport" resultMap="SettleOrderReportResult">
|
<sql id="Base_Column_List">
|
||||||
|
id, merchant_id, station_id, use_electricity, charge_num, charge_time, electricity_amount, service_amount, total_amount, virtual_amount, trade_date, trade_amount, trade_fee, create_time, del_flag
|
||||||
|
</sql>
|
||||||
|
|
||||||
|
<select id="selectSettleOrderReportList" parameterType="com.jsowell.pile.domain.SettleOrderReport" resultMap="SettleOrderReportResult">
|
||||||
<include refid="selectSettleOrderReportVo"/>
|
<include refid="selectSettleOrderReportVo"/>
|
||||||
<where>
|
<where>
|
||||||
<if test="merchantId != null and merchantId != ''"> and merchant_id = #{merchantId}</if>
|
<if test="merchantId != null and merchantId != ''"> and merchant_id = #{merchantId}</if>
|
||||||
@@ -49,7 +53,7 @@
|
|||||||
where id = #{id}
|
where id = #{id}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<insert id="insertSettleOrderReport" parameterType="SettleOrderReport">
|
<insert id="insertSettleOrderReport" parameterType="com.jsowell.pile.domain.SettleOrderReport">
|
||||||
insert into settle_order_report
|
insert into settle_order_report
|
||||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||||
<if test="id != null">id,</if>
|
<if test="id != null">id,</if>
|
||||||
@@ -87,7 +91,7 @@
|
|||||||
</trim>
|
</trim>
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
<update id="updateSettleOrderReport" parameterType="SettleOrderReport">
|
<update id="updateSettleOrderReport" parameterType="com.jsowell.pile.domain.SettleOrderReport">
|
||||||
update settle_order_report
|
update settle_order_report
|
||||||
<trim prefix="SET" suffixOverrides=",">
|
<trim prefix="SET" suffixOverrides=",">
|
||||||
<if test="merchantId != null">merchant_id = #{merchantId},</if>
|
<if test="merchantId != null">merchant_id = #{merchantId},</if>
|
||||||
@@ -118,4 +122,22 @@
|
|||||||
#{id}
|
#{id}
|
||||||
</foreach>
|
</foreach>
|
||||||
</delete>
|
</delete>
|
||||||
|
|
||||||
|
<select id="getMerchantOrderReport" resultMap="SettleOrderReportResult">
|
||||||
|
select
|
||||||
|
<include refid="Base_Column_List"/>
|
||||||
|
from
|
||||||
|
settle_order_report
|
||||||
|
where
|
||||||
|
del_flag = '0'
|
||||||
|
<if test="dto.merchantId != null and dto.merchantId != ''">
|
||||||
|
and merchant_id = #{dto.merchantId,jdbcType=VARCHAR}
|
||||||
|
</if>
|
||||||
|
<if test="dto.startTime != null and dto.startTime != ''">
|
||||||
|
and trade_date <![CDATA[ >= ]]> #{dto.startTime,jdbcType=VARCHAR}
|
||||||
|
</if>
|
||||||
|
<if test="dto.endTime != null and dto.endTime != ''">
|
||||||
|
and trade_date <![CDATA[ <= ]]> #{dto.endTime,jdbcType=VARCHAR}
|
||||||
|
</if>
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
Reference in New Issue
Block a user