Browse Source

Merge branch 'refs/heads/huangqizheng/feature-20251119150446-退款合并后' into milestone-20251104-现金管理二期

sunjiabei/feature-20251021102635-银行接口
huangqizhen 7 days ago
parent
commit
3225233ec0
  1. 22
      src/main/java/com/example/demo/serviceImpl/cash/CashRefundServiceImpl.java
  2. 8
      src/main/resources/cashMapper/CashCollectionMapper.xml
  3. 2
      src/main/resources/cashMapper/CashRefundMapper.xml

22
src/main/java/com/example/demo/serviceImpl/cash/CashRefundServiceImpl.java

@ -67,18 +67,20 @@ public class CashRefundServiceImpl implements RefundService {
if (list.isEmpty()) {
return new PageInfo<>(list);
}
System.out.println("135");
// 批量收集ID
Set<Integer> relatedIds = new HashSet<>();
Set<Integer> marketIds = new HashSet<>();
Set<Integer> submitterIds = new HashSet<>();
Set<Integer> auditIds = new HashSet<>();
Set<Integer> executorIds = new HashSet<>();
list.forEach(item -> {
if (item.getRelatedId() != null) relatedIds.add(item.getRelatedId());
if (item.getMarket() != null) marketIds.add(item.getMarket());
if (item.getSubmitterId() != null) submitterIds.add(item.getSubmitterId());
if (item.getAuditId() != null) auditIds.add(item.getAuditId());
if (item.getExecutor() != null) executorIds.add(item.getExecutor());
});
// 批量查询
@ -93,6 +95,8 @@ public class CashRefundServiceImpl implements RefundService {
Map<Integer, LhlAudit> auditMap = cashRefundMapper.getAuditBatch(auditIds)
.stream().collect(Collectors.toMap(LhlAudit::getId, Function.identity()));
Map<String, String> executorNameMap = auditMapper.getNamesByJwcodes(executorIds)
.stream().collect(Collectors.toMap(Admin::getAccount, Admin::getAdminName));
// 处理数据
list.forEach(item -> {
@ -101,12 +105,15 @@ public class CashRefundServiceImpl implements RefundService {
processCashCollection(item, cashCollection);
}
String marketName = marketNameMap.get(item.getMarket());
String submitter = submitterNameMap.get(item.getSubmitterId());
LhlAudit lhlAudit = auditMap.get(item.getAuditId());
String executorName = executorNameMap.get(String.valueOf(item.getExecutor()));
item.setMarketName(marketName != null ? marketName : "");
item.setSubmitter(submitter != null ? submitter : "");
item.setExecutorName(executorName != null ? executorName : "");
if (lhlAudit != null) {
item.setAreaServise(lhlAudit.getAreaServise());
@ -127,13 +134,15 @@ public class CashRefundServiceImpl implements RefundService {
BigDecimal free = new BigDecimal(freeGold).divide(new BigDecimal(100), 2, RoundingMode.HALF_UP);
BigDecimal permanent = new BigDecimal(permanentGold).divide(new BigDecimal(100), 2, RoundingMode.HALF_UP);
item.setGold(permanent);
item.setFree(free);
item.setActivity(cashCollection.getActivity());
item.setPaymentCurrency(cashCollection.getPaymentCurrency());
item.setPaymentAmount(cashCollection.getPaymentAmount());
item.setPaymentAmount(cashCollection.getPaymentAmount().divide(new BigDecimal(100), 2, RoundingMode.HALF_UP));
item.setReceivedCurrency(cashCollection.getReceivedCurrency());
item.setReceivedAmount(cashCollection.getReceivedAmount());
item.setReceivedAmount(cashCollection.getReceivedAmount().divide(new BigDecimal(100), 2, RoundingMode.HALF_UP));
item.setPayType(cashCollection.getPayType());
item.setPayTime(cashCollection.getPayTime());
item.setPayBankCode(cashCollection.getBankCode());
@ -382,12 +391,14 @@ CashRecordDone cashRecordDone1 = new CashRecordDone();
Set<Integer> marketIds = new HashSet<>();
Set<Integer> submitterIds = new HashSet<>();
Set<Integer> auditIds = new HashSet<>();
Set<Integer> executorIds = new HashSet<>();
list.forEach(item -> {
if (item.getRelatedId() != null) relatedIds.add(item.getRelatedId());
if (item.getMarket() != null) marketIds.add(item.getMarket());
if (item.getSubmitterId() != null) submitterIds.add(item.getSubmitterId());
if (item.getAuditId() != null) auditIds.add(item.getAuditId());
if (item.getExecutor() != null) executorIds.add(item.getExecutor());
});
// 批量查询
@ -402,6 +413,8 @@ CashRecordDone cashRecordDone1 = new CashRecordDone();
Map<Integer, LhlAudit> auditMap = cashRefundMapper.getAuditBatch(auditIds)
.stream().collect(Collectors.toMap(LhlAudit::getId, Function.identity()));
Map<String, String> executorNameMap = auditMapper.getNamesByJwcodes(executorIds)
.stream().collect(Collectors.toMap(Admin::getAccount, Admin::getAdminName));
// 处理数据
list.forEach(item -> {
@ -410,12 +423,15 @@ CashRecordDone cashRecordDone1 = new CashRecordDone();
processCashCollection(item, cashCollection);
}
String marketName = marketNameMap.get(item.getMarket());
String submitter = submitterNameMap.get(item.getSubmitterId());
LhlAudit lhlAudit = auditMap.get(item.getAuditId());
String executorName = executorNameMap.get(String.valueOf(item.getExecutor()));
item.setMarketName(marketName != null ? marketName : "");
item.setSubmitter(submitter != null ? submitter : "");
item.setExecutorName(executorName != null ? executorName : "");
if (lhlAudit != null) {
item.setAreaServise(lhlAudit.getAreaServise());

8
src/main/resources/cashMapper/CashCollectionMapper.xml

@ -259,16 +259,20 @@
select
cr.id, cr.jwcode, cr.name, cr.market,
cr.order_code, cr.bank_code, cr.goods_name, cr.good_num, cr.num_unit, cr.permanent_gold, cr.free_gold,
cr.payment_currency, cr.payment_amount, cr.received_currency, cr.received_amount, cr.handling_charge,
cr.payment_amount, cr.received_amount, cr.handling_charge,
cr.pay_type, cr.received_market, cr.pay_time, cr.received_time, cr.audit_id, cr.status, cr.submitter_id,
cr.submitter_market, cr.voucher, cr.remark, cr.audit_time,
a1.admin_name as submitterName,
a2.admin_name as auditName,
ra.activity_name as activity
ra.activity_name as activity,
r1.rate_name as paymentCurrency,
r2.rate_name as receivedCurrency
from cash_record_collection cr
left join admin a1 on cr.submitter_id = a1.id
left join admin a2 on cr.audit_id = a2.id
left join recharge_activity ra on ra.id = cr.activity
left join rate r1 on r1.id = cr.payment_currency
left join rate r2 on r2.id = cr.received_currency
where 1 = 0
<if test="relatedIds != null and relatedIds.size() > 0">
OR cr.id IN

2
src/main/resources/cashMapper/CashRefundMapper.xml

@ -320,7 +320,7 @@
crr.refund_currency,
crr.refund_amount,
crr.refund_channels,
crr.voucher,
crr.refund_voucher,
crr.refund_time,
crr.executor,
crr.status,

Loading…
Cancel
Save