导出文件加字段

This commit is contained in:
2023-11-06 17:00:25 +08:00
parent 9299513d09
commit fd92149ad8
6 changed files with 75 additions and 3 deletions

View File

@@ -38,6 +38,9 @@ public class CacheConstants {
// 支付确认列表
public static final String PAYMENT_CONFIRM_LIST = "payment_confirm_list:";
// 订单分账信息
public static final String CLEARING_BILL_DETAIL_BY_ORDER_CODE = "clearing_bill_detail_by_order_code:";
// 会员余额退款正在进行中
public static final String MEMBER_BALANCE_REFUNDS_ARE_IN_PROGRESS = "member_balance_refunds_are_in_progress:";

View File

@@ -62,7 +62,7 @@ public interface ClearingBillDetailMapper {
int batchInsert(@Param("list") List<ClearingBillDetail> list);
ClearingBillDetail selectClearingBillCode(String orderCode);
List<ClearingBillDetail> selectByOrderCodes(@Param("orderCodes") List<String> orderCodes);
// 根据清分编号删除
int deleteByClearingBillCode(@Param("clearingBillCode") String clearingBillCode);

View File

@@ -27,4 +27,6 @@ public interface ClearingBillDetailService{
int batchInsert(List<ClearingBillDetail> list);
ClearingBillDetail selectByOrderCode(String orderCode);
}

View File

@@ -1,11 +1,20 @@
package com.jsowell.pile.service.impl;
import com.google.common.collect.Lists;
import com.jsowell.common.constant.CacheConstants;
import com.jsowell.common.core.redis.RedisCache;
import com.jsowell.pile.domain.ClearingBillDetail;
import com.jsowell.pile.mapper.ClearingBillDetailMapper;
import com.jsowell.pile.service.ClearingBillDetailService;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.function.Function;
import java.util.stream.Collectors;
@Service
public class ClearingBillDetailServiceImpl implements ClearingBillDetailService{
@@ -13,6 +22,9 @@ public class ClearingBillDetailServiceImpl implements ClearingBillDetailService{
@Resource
private ClearingBillDetailMapper clearingBillDetailMapper;
@Autowired
private RedisCache redisCache;
@Override
public int deleteByPrimaryKey(Integer id) {
return clearingBillDetailMapper.deleteByPrimaryKey(id);
@@ -68,4 +80,40 @@ public class ClearingBillDetailServiceImpl implements ClearingBillDetailService{
return clearingBillDetailMapper.batchInsert(list);
}
@Override
public ClearingBillDetail selectByOrderCode(String orderCode) {
String redisKey = CacheConstants.CLEARING_BILL_DETAIL_BY_ORDER_CODE + orderCode;
ClearingBillDetail clearingBillDetail = redisCache.getCacheObject(redisKey);
if (clearingBillDetail == null) {
clearingBillDetail = clearingBillDetailMapper.selectByOrderCode(orderCode);
if (Objects.nonNull(clearingBillDetail)) {
redisCache.setCacheObject(redisKey, clearingBillDetail, CacheConstants.cache_expire_time_10d);
}
}
return clearingBillDetail;
}
/**
* 根据订单编号list查询分账记录
* @param orderCodes
* @return
*/
public List<ClearingBillDetail> selectByOrderCodes(List<String> orderCodes) {
if (CollectionUtils.isEmpty(orderCodes)) {
return Lists.newArrayList();
}
List<String> redisKeyList = Lists.newArrayList();
for (String orderCode : orderCodes) {
redisKeyList.add(CacheConstants.CLEARING_BILL_DETAIL_BY_ORDER_CODE + orderCode);
}
// 批量从redis获取
List<ClearingBillDetail> resultList = redisCache.multiGet(redisKeyList);
if (CollectionUtils.isNotEmpty(resultList)) {
}
List<ClearingBillDetail> billDetailList = clearingBillDetailMapper.selectByOrderCodes(orderCodes);
return billDetailList;
}
}

View File

@@ -172,6 +172,9 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
@Autowired
private IPileMsgRecordService pileMsgRecordService;
@Autowired
private ClearingBillDetailService clearingBillDetailService;
/**
* 条件查询订单基本信息
*
@@ -236,6 +239,19 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
orderListVO.setRealTimeAmount(new BigDecimal(realTimeMonitorData.getChargingAmount()));
orderListVO.setRealTimeChargingDegree(realTimeMonitorData.getChargingDegree());
}
// 计算充电时长
String chargeStartTime = orderListVO.getChargeStartTime();
String chargeEndTime = orderListVO.getChargeEndTime();
if (StringUtils.isNotBlank(chargeStartTime) && StringUtils.isNotBlank(chargeEndTime)) {
orderListVO.setChargingTime(DateUtils.getDatePoor(DateUtils.parseDate(chargeEndTime), DateUtils.parseDate(chargeStartTime)));
}
// 交易手续费
ClearingBillDetail clearingBillDetail = clearingBillDetailService.selectByOrderCode(orderListVO.getOrderCode());
if (Objects.nonNull(clearingBillDetail)) {
orderListVO.setFeeAmount(clearingBillDetail.getFeeAmt() + "");
}
}
return orderListVOS;
}

View File

@@ -428,12 +428,15 @@
</trim>
</insert>
<select id="selectClearingBillCode" resultMap="BaseResultMap">
<select id="selectByOrderCodes" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from clearing_bill_detail
where del_flag = '0'
and order_code = #{orderCode,jdbcType=VARCHAR}
and order_code in
<foreach collection="orderCodes" item="orderCode" open="(" separator="," close=")">
#{orderCode,jdbcType=VARCHAR}
</foreach>
</select>
<delete id="deleteByClearingBillCode">