diff --git a/pom.xml b/pom.xml
index 6697fd9a5..b52068af7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -9,7 +9,7 @@
4.0.0
manage
- 1.2.80
+ 1.2.81
UTF-8
1.6.1
diff --git a/src/main/java/au/com/royalpay/payment/manage/citypartner/core/impls/CityPartnerPrizeServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/citypartner/core/impls/CityPartnerPrizeServiceImpl.java
index f645150be..349aa4013 100644
--- a/src/main/java/au/com/royalpay/payment/manage/citypartner/core/impls/CityPartnerPrizeServiceImpl.java
+++ b/src/main/java/au/com/royalpay/payment/manage/citypartner/core/impls/CityPartnerPrizeServiceImpl.java
@@ -429,7 +429,6 @@ public class CityPartnerPrizeServiceImpl implements CityPartnerPrizeService {
List transactionDetail = transactionMapper.listTransactionForCityPartnerCommissionByDate(year, month);
Map> groupByOrgMap = transactionDetail.stream().collect(Collectors.groupingBy(e -> e.getInteger("org_id")));
for (Map.Entry> oneOrg : groupByOrgMap.entrySet()) {
-
int orgId = oneOrg.getKey();
JSONObject org = orgMapper.findOne(orgId);
if (org == null) {
@@ -440,8 +439,6 @@ public class CityPartnerPrizeServiceImpl implements CityPartnerPrizeService {
generateold(monthStr);
return;
}
-
-
List items = oneOrg.getValue();
Map> groupByChannelMap = items.stream().collect(Collectors.groupingBy(e -> e.getString("channel")));
List channelAmount = orgChannelAmount(org, groupByChannelMap, channelCharge);
@@ -450,23 +447,18 @@ public class CityPartnerPrizeServiceImpl implements CityPartnerPrizeService {
channel.put("month", month);
channel.put("year", year);
channel.put("org_id", orgId);
-
financialPartnerCommissionMapper.save(channel);
}
}
Map> groupByClientMap = transactionDetail.stream().collect(Collectors.groupingBy(e -> e.getInteger("client_id")));
for (Map.Entry> oneClient : groupByClientMap.entrySet()) {
-
JSONObject org = orgMapper.findOne(oneClient.getValue().get(0).getInteger("org_id"));
Map> groupByChannel = oneClient.getValue().stream().collect(Collectors.groupingBy(e -> e.getString("channel")));
-
List clientChannelAmount = clientChannelAmount(oneClient.getKey(), org, groupByChannel, channelCharge, year, month, 1);
for (JSONObject channel : clientChannelAmount) {
financialPartnerCommissionDetailMapper.save(channel);
}
-
}
-
Runnable task = () -> {
generateAgent(monthStr, channelCharge);
generateReferrer(monthStr);
@@ -479,7 +471,6 @@ public class CityPartnerPrizeServiceImpl implements CityPartnerPrizeService {
public List orgChannelAmount(JSONObject orgInfo, Map> channelMap, JSONObject channelCharge) {
List amountByChannel = new ArrayList<>();
-
for (Map.Entry> oneChannel : channelMap.entrySet()) {
BigDecimal total = BigDecimal.ZERO;
BigDecimal total_surage = BigDecimal.ZERO;
@@ -487,7 +478,6 @@ public class CityPartnerPrizeServiceImpl implements CityPartnerPrizeService {
BigDecimal royalpay_surage = BigDecimal.ZERO;
JSONObject json = new JSONObject();
String channel = oneChannel.getKey();
-
if ("hf".equals(oneChannel.getKey().toLowerCase()) || "yeepay".equals(oneChannel.getKey().toLowerCase()) || "lakalapay".equals(oneChannel.getKey().toLowerCase())) {
channel = "cb_bankpay";
if (orgInfo.get("cb_bankpay_rate_value") == null) {
@@ -498,9 +488,8 @@ public class CityPartnerPrizeServiceImpl implements CityPartnerPrizeService {
throw new ServerErrorException(orgInfo.getString("name") + "组织下" + oneChannel.getKey() + "成本手续费未设置");
}
}
-
for (JSONObject params : oneChannel.getValue()) {
- BigDecimal tmpClearingAmount = params.getBigDecimal("clearing_amount");
+ BigDecimal tmpClearingAmount = params.getBooleanValue("customer_surcharge") ? params.getBigDecimal("settle_amount") : params.getBigDecimal("clearing_amount");
BigDecimal channelRate = params.get("org_rate") != null ? params.getBigDecimal("org_rate") : (orgInfo.getBigDecimal(channel.toLowerCase() + "_rate_value").divide(CommonConsts.HUNDRED, 4, RoundingMode.DOWN));
BigDecimal tmpTotalSurcharge = params.getBigDecimal("total_surcharge").subtract(params.getBigDecimal("surcharge_cashback"));
//增加货币判断
@@ -543,7 +532,7 @@ public class CityPartnerPrizeServiceImpl implements CityPartnerPrizeService {
channel = "cb_bankpay";
}
for (JSONObject params : oneChannel.getValue()) {
- BigDecimal tmpClearingAmount = params.getBigDecimal("clearing_amount");
+ BigDecimal tmpClearingAmount = params.getBooleanValue("customer_surcharge") ? params.getBigDecimal("settle_amount") : params.getBigDecimal("clearing_amount");
BigDecimal channelRate = params.get("org_rate") != null ? params.getBigDecimal("org_rate") : (orgInfo.getBigDecimal(channel.toLowerCase() + "_rate_value").divide(CommonConsts.HUNDRED, 4, RoundingMode.DOWN));
BigDecimal tmpTotalSurcharge = params.getBigDecimal("total_surcharge").subtract(params.getBigDecimal("surcharge_cashback"));
//增加货币判断
@@ -578,7 +567,6 @@ public class CityPartnerPrizeServiceImpl implements CityPartnerPrizeService {
//type 1:一级代理 2:二级代理
public List clientChannelAmount(int clientId, JSONObject orgInfo, Map> channelMap, JSONObject channelCharge, int year, int month, int type) {
List amountByChannel = new ArrayList<>();
-
for (Map.Entry> oneChannel : channelMap.entrySet()) {
String recordId = "";
if (type == 1) {
@@ -607,7 +595,7 @@ public class CityPartnerPrizeServiceImpl implements CityPartnerPrizeService {
} catch (Exception e) {
}
for (JSONObject params : oneChannel.getValue()) {
- BigDecimal tmpClearingAmount = params.getBigDecimal("clearing_amount");
+ BigDecimal tmpClearingAmount = params.getBooleanValue("customer_surcharge") ? params.getBigDecimal("settle_amount") : params.getBigDecimal("clearing_amount");
BigDecimal channelRate = params.get("org_rate") != null ? params.getBigDecimal("org_rate") : (orgInfo.getBigDecimal(channel.toLowerCase() + "_rate_value").divide(CommonConsts.HUNDRED, 4, RoundingMode.DOWN));
BigDecimal tmpTotalSurcharge = params.getBigDecimal("total_surcharge").subtract(params.getBigDecimal("surcharge_cashback"));
//增加货币判断
diff --git a/src/main/resources/au/com/royalpay/payment/manage/mappers/payment/TransactionMapper.xml b/src/main/resources/au/com/royalpay/payment/manage/mappers/payment/TransactionMapper.xml
index 645f42769..99175a97a 100644
--- a/src/main/resources/au/com/royalpay/payment/manage/mappers/payment/TransactionMapper.xml
+++ b/src/main/resources/au/com/royalpay/payment/manage/mappers/payment/TransactionMapper.xml
@@ -742,10 +742,13 @@
if(t.transaction_type = 'Credit', t.clearing_amount, -t.clearing_amount) clearing_amount,
if(t.transaction_type = 'Credit', t.total_surcharge, -t.total_surcharge) total_surcharge,
if(t.transaction_type = 'Credit', t.channel_surcharge, -t.channel_surcharge) channel_surcharge,
+ if(t.transaction_type = 'Credit', t.settle_amount, -t.settle_amount) settle_amount,
t.order_id,
t.org_rate,
- t.surcharge_cashback
+ t.surcharge_cashback,
+ o.customer_surcharge
from pmt_transactions t
+ LEFT JOIN pmt_orders o on o.order_id = t.order_id
INNER JOIN sys_org so ON t.org_id = so.org_id AND so.is_valid = 1
AND so.type = 0
AND so.citypartner = 1 AND so.commission = 1
@@ -766,10 +769,13 @@
if(t.transaction_type = 'Credit', t.clearing_amount, -t.clearing_amount) clearing_amount,
if(t.transaction_type = 'Credit', t.total_surcharge, -t.total_surcharge) total_surcharge,
if(t.transaction_type = 'Credit', t.channel_surcharge, -t.channel_surcharge) channel_surcharge,
+ if(t.transaction_type = 'Credit', t.settle_amount, -t.settle_amount) settle_amount,
t.order_id,
t.org_rate,
- t.surcharge_cashback
+ t.surcharge_cashback,
+ o.customer_surcharge
from pmt_transactions t
+ LEFT JOIN pmt_orders o on o.order_id = t.order_id
INNER JOIN sys_org so ON t.org_id = so.org_id AND so.is_valid = 1
AND so.type = 0
AND so.parent_org_id != ''