update 优化计算订单日报

This commit is contained in:
2023-07-14 13:55:35 +08:00
parent 648e10d8f7
commit 3584672da7
5 changed files with 28 additions and 5 deletions

View File

@@ -2,7 +2,6 @@ package com.jsowell.pile.mapper;
import com.jsowell.pile.domain.SettleOrderReport;
import com.jsowell.pile.dto.MerchantOrderReportDTO;
import com.jsowell.pile.vo.web.MerchantOrderReportVO;
import com.jsowell.pile.vo.web.SettleOrderReportVO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
@@ -71,4 +70,6 @@ public interface SettleOrderReportMapper {
* @return
*/
List<SettleOrderReportVO> getMerchantOrderReport(@Param("dto") MerchantOrderReportDTO dto);
SettleOrderReport selectByStationIdAndDate(@Param("stationId") String stationId, @Param("date") String date);
}

View File

@@ -21,6 +21,8 @@ public interface ISettleOrderReportService {
*/
public SettleOrderReport selectSettleOrderReportById(Long id);
SettleOrderReport selectByStationIdAndDate(String stationId, String date);
/**
* 查询结算订单报列表
*

View File

@@ -2122,7 +2122,8 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
// 结算金额
totalSettleAmount = totalSettleAmount.add(new BigDecimal(vo.getSettleAmount()));
}
// 保存到数据库
// 计算报表
SettleOrderReport settleOrderReport = new SettleOrderReport();
settleOrderReport.setMerchantId(stationInfo.getMerchantId());
settleOrderReport.setStationId(stationId);
@@ -2138,7 +2139,15 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
BigDecimal tradeFee = totalSettleAmount.multiply(new BigDecimal("0.0055"));
settleOrderReport.setTradeFee(tradeFee);
settleOrderReport.setTradeAmount(totalSettleAmount.subtract(tradeFee));
settleOrderReportService.insertSettleOrderReport(settleOrderReport);
SettleOrderReport selectResult = settleOrderReportService.selectByStationIdAndDate(stationId, yesterday.toString());
if (selectResult == null) {
settleOrderReportService.insertSettleOrderReport(settleOrderReport);
} else {
settleOrderReport.setId(selectResult.getId());
settleOrderReportService.updateSettleOrderReport(settleOrderReport);
}
}
/**

View File

@@ -9,7 +9,6 @@ import com.jsowell.pile.domain.SettleOrderReport;
import com.jsowell.pile.dto.MerchantOrderReportDTO;
import com.jsowell.pile.mapper.SettleOrderReportMapper;
import com.jsowell.pile.service.ISettleOrderReportService;
import com.jsowell.pile.vo.uniapp.MemberWalletLogVO;
import com.jsowell.pile.vo.web.MerchantOrderReportVO;
import com.jsowell.pile.vo.web.SettleOrderReportVO;
import org.springframework.beans.factory.annotation.Autowired;
@@ -19,7 +18,6 @@ import org.springframework.util.CollectionUtils;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.Objects;
/**
* 结算订单报Service业务层处理
@@ -43,6 +41,11 @@ public class SettleOrderReportServiceImpl implements ISettleOrderReportService {
return settleOrderReportMapper.selectSettleOrderReportById(id);
}
@Override
public SettleOrderReport selectByStationIdAndDate(String stationId, String date) {
return settleOrderReportMapper.selectByStationIdAndDate(stationId, date);
}
/**
* 查询结算订单报列表
*

View File

@@ -153,4 +153,12 @@
and t1.trade_date <![CDATA[ <= ]]> #{dto.endTime,jdbcType=VARCHAR}
</if>
</select>
<select id="selectByStationIdAndDate" resultMap="SettleOrderReportResult">
select <include refid="Base_Column_List"/>
from settle_order_report
where del_flag = '0'
and station_id = #{stationId,jdbcType=VARCHAR}
and trade_date = #{date,jdbcType=VARCHAR}
</select>
</mapper>