mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-04-21 11:35:12 +08:00
导出文件加字段
This commit is contained in:
@@ -2,6 +2,8 @@ package com.jsowell.pile.service;
|
||||
|
||||
import com.jsowell.pile.domain.ClearingBillDetail;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public interface ClearingBillDetailService{
|
||||
|
||||
|
||||
@@ -27,6 +29,5 @@ public interface ClearingBillDetailService{
|
||||
|
||||
int batchInsert(List<ClearingBillDetail> list);
|
||||
|
||||
ClearingBillDetail selectByOrderCode(String orderCode);
|
||||
|
||||
Map<String, ClearingBillDetail> selectByOrderCodeList(List<String> orderCodeList);
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.jsowell.pile.service.impl;
|
||||
|
||||
import com.google.common.collect.Lists;
|
||||
import com.google.common.collect.Maps;
|
||||
import com.jsowell.common.constant.CacheConstants;
|
||||
import com.jsowell.common.core.redis.RedisCache;
|
||||
import com.jsowell.pile.domain.ClearingBillDetail;
|
||||
@@ -9,11 +10,12 @@ 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.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Service
|
||||
@@ -80,40 +82,49 @@ 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
|
||||
* 根据订单编号批量查询
|
||||
* @param orderCodeList
|
||||
* @return
|
||||
*/
|
||||
public List<ClearingBillDetail> selectByOrderCodes(List<String> orderCodes) {
|
||||
if (CollectionUtils.isEmpty(orderCodes)) {
|
||||
return Lists.newArrayList();
|
||||
@Override
|
||||
public Map<String, ClearingBillDetail> selectByOrderCodeList(List<String> orderCodeList) {
|
||||
Map<String, ClearingBillDetail> resultMap = Maps.newHashMap();
|
||||
if (CollectionUtils.isEmpty(orderCodeList)) {
|
||||
return resultMap;
|
||||
}
|
||||
List<String> redisKeyList = Lists.newArrayList();
|
||||
for (String orderCode : orderCodes) {
|
||||
for (String orderCode : orderCodeList) {
|
||||
redisKeyList.add(CacheConstants.CLEARING_BILL_DETAIL_BY_ORDER_CODE + orderCode);
|
||||
}
|
||||
// 批量从redis获取
|
||||
List<ClearingBillDetail> resultList = redisCache.multiGet(redisKeyList);
|
||||
resultList = resultList.stream().filter(Objects::nonNull).collect(Collectors.toList());
|
||||
if (CollectionUtils.isNotEmpty(resultList)) {
|
||||
|
||||
for (ClearingBillDetail clearingBillDetail : resultList) {
|
||||
resultMap.put(clearingBillDetail.getOrderCode(), clearingBillDetail);
|
||||
}
|
||||
|
||||
// 剔除已经从缓存中获取到的数据
|
||||
Iterator<String> iterator = orderCodeList.iterator();
|
||||
while (iterator.hasNext()) {
|
||||
String orderCode = iterator.next();
|
||||
ClearingBillDetail detail = resultMap.get(orderCode);
|
||||
if (detail != null) {
|
||||
iterator.remove();
|
||||
}
|
||||
}
|
||||
}
|
||||
List<ClearingBillDetail> billDetailList = clearingBillDetailMapper.selectByOrderCodes(orderCodes);
|
||||
return billDetailList;
|
||||
|
||||
if (CollectionUtils.isNotEmpty(orderCodeList)) {
|
||||
List<ClearingBillDetail> detailList = clearingBillDetailMapper.selectByOrderCodes(orderCodeList);
|
||||
if (CollectionUtils.isNotEmpty(detailList)) {
|
||||
for (ClearingBillDetail clearingBillDetail : detailList) {
|
||||
resultMap.put(clearingBillDetail.getOrderCode(), clearingBillDetail);
|
||||
}
|
||||
}
|
||||
}
|
||||
return resultMap;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -219,6 +219,11 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
|
||||
if (CollectionUtils.isEmpty(orderListVOS)) {
|
||||
return orderListVOS;
|
||||
}
|
||||
|
||||
// 批量查手续费
|
||||
List<String> orderCodeList = orderListVOS.stream().map(OrderListVO::getOrderCode).collect(Collectors.toList());
|
||||
Map<String, ClearingBillDetail> billDetailMap = clearingBillDetailService.selectByOrderCodeList(orderCodeList);
|
||||
|
||||
for (OrderListVO orderListVO : orderListVOS) {
|
||||
// 如果是微信支付,通过订单号查询微信支付单号
|
||||
// logger.info("如果是微信支付,通过订单号查询微信支付单号 orderListVO:{}", JSON.toJSONString(orderListVO));
|
||||
@@ -248,7 +253,7 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
|
||||
}
|
||||
|
||||
// 交易手续费
|
||||
ClearingBillDetail clearingBillDetail = clearingBillDetailService.selectByOrderCode(orderListVO.getOrderCode());
|
||||
ClearingBillDetail clearingBillDetail = billDetailMap.get(orderListVO.getOrderCode());
|
||||
if (Objects.nonNull(clearingBillDetail)) {
|
||||
orderListVO.setFeeAmount(clearingBillDetail.getFeeAmt() + "");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user