合伙人提成优化(时间段拆分)

master
dalong306 3 years ago
parent 796b8d3ef0
commit 3231b1ab32

@ -341,6 +341,8 @@ public class CityPartnerPrizeServiceImpl implements CityPartnerPrizeService {
public void generate(String monthStr) { public void generate(String monthStr) {
Date mon = checkMonth(monthStr); Date mon = checkMonth(monthStr);
DateTime begin = new DateTime(mon); DateTime begin = new DateTime(mon);
DateTime timeinterval1=begin.plusDays(10);
DateTime timeinterval2=begin.plusDays(20);
DateTime end = begin.plusMonths(1); DateTime end = begin.plusMonths(1);
int year = begin.getYear(); int year = begin.getYear();
int month = begin.getMonthOfYear(); int month = begin.getMonthOfYear();
@ -375,7 +377,16 @@ public class CityPartnerPrizeServiceImpl implements CityPartnerPrizeService {
channelCharge.put("wechatChargeRate", wechatChargeRate); channelCharge.put("wechatChargeRate", wechatChargeRate);
channelCharge.put("jdChargeRate", jdChargeRate); channelCharge.put("jdChargeRate", jdChargeRate);
channelCharge.put("alipayonlineChargeRate", alipayonlineChargeRate); channelCharge.put("alipayonlineChargeRate", alipayonlineChargeRate);
List<JSONObject> transactionDetail = transactionMapper.listTransactionForCityPartnerCommissionByDate(begin.toDate(), end.toDate()); List<JSONObject> transactionDetail=new ArrayList<>();
long time1=System.currentTimeMillis();
List<JSONObject> transactionDetail1 = transactionMapper.listTransactionForCityPartnerCommissionByDate(begin.toDate(), timeinterval1.toDate());
List<JSONObject> transactionDetail2 = transactionMapper.listTransactionForCityPartnerCommissionByDate(timeinterval1.toDate(), timeinterval2.toDate());
List<JSONObject> transactionDetail3 = transactionMapper.listTransactionForCityPartnerCommissionByDate(timeinterval2.toDate(), end.toDate());
long time2=System.currentTimeMillis();
System.out.println("=====>time:"+(time2-time1));
transactionDetail.addAll(transactionDetail1);
transactionDetail.addAll(transactionDetail2);
transactionDetail.addAll(transactionDetail3);
transactionDetail.forEach(item -> { transactionDetail.forEach(item -> {
if (StringUtils.equalsIgnoreCase("AlipayPlus", item.getString("channel"))) { if (StringUtils.equalsIgnoreCase("AlipayPlus", item.getString("channel"))) {
item.put("channel", item.getString("pay_type")); item.put("channel", item.getString("pay_type"));
@ -764,14 +775,21 @@ public class CityPartnerPrizeServiceImpl implements CityPartnerPrizeService {
public void generateReferrer(String monthStr) { public void generateReferrer(String monthStr) {
Date mon = checkMonth(monthStr); Date mon = checkMonth(monthStr);
DateTime begin = new DateTime(mon); DateTime begin = new DateTime(mon);
DateTime timeinterval1=begin.plusDays(10);
DateTime timeinterval2=begin.plusDays(20);
DateTime end = begin.plusMonths(1); DateTime end = begin.plusMonths(1);
int year = begin.getYear(); int year = begin.getYear();
int month = begin.getMonthOfYear(); int month = begin.getMonthOfYear();
financialReferrerCommissionDetailMapper.clearData(year, month); financialReferrerCommissionDetailMapper.clearData(year, month);
financialReferrerCommissionMapper.clearData(year, month); financialReferrerCommissionMapper.clearData(year, month);
List<JSONObject> transactionAnalysis=new ArrayList<>();
List<JSONObject> transactionAnalysis = transactionMapper.listTransactionsForReferrerCommission(begin.toDate(), end.toDate()); List<JSONObject> transactionAnalysis1 = transactionMapper.listTransactionsForReferrerCommission(begin.toDate(), timeinterval1.toDate());
List<JSONObject> transactionAnalysis2 = transactionMapper.listTransactionsForReferrerCommission(timeinterval1.toDate(), timeinterval2.toDate());
List<JSONObject> transactionAnalysis3 = transactionMapper.listTransactionsForReferrerCommission(timeinterval2.toDate(), end.toDate());
transactionAnalysis.addAll(transactionAnalysis1);
transactionAnalysis.addAll(transactionAnalysis2);
transactionAnalysis.addAll(transactionAnalysis3);
Map<Integer, ReferrerCommissionAnalysis> results = new HashMap<>(); Map<Integer, ReferrerCommissionAnalysis> results = new HashMap<>();
for (JSONObject analysisDay : transactionAnalysis) { for (JSONObject analysisDay : transactionAnalysis) {
Integer orgId = analysisDay.getInteger("org_id"); Integer orgId = analysisDay.getInteger("org_id");
@ -851,14 +869,21 @@ public class CityPartnerPrizeServiceImpl implements CityPartnerPrizeService {
Date mon = checkMonth(monthStr); Date mon = checkMonth(monthStr);
DateTime begin = new DateTime(mon); DateTime begin = new DateTime(mon);
DateTime timeinterval1=begin.plusDays(10);
DateTime timeinterval2=begin.plusDays(20);
DateTime end = begin.plusMonths(1); DateTime end = begin.plusMonths(1);
int year = begin.getYear(); int year = begin.getYear();
int month = begin.getMonthOfYear(); int month = begin.getMonthOfYear();
financialAgentCommissionMapper.clearData(year, month); financialAgentCommissionMapper.clearData(year, month);
financialAgentCommissionDetailMapper.clearData(year, month); financialAgentCommissionDetailMapper.clearData(year, month);
List<JSONObject> transactionDetail=new ArrayList<>();
List<JSONObject> transactionDetail = transactionMapper.listTransactionForCityPartnerAgentCommissionByDate(begin.toDate(), end.toDate()); List<JSONObject> transactionDetail1 = transactionMapper.listTransactionForCityPartnerAgentCommissionByDate(begin.toDate(), timeinterval1.toDate());
List<JSONObject> transactionDetail2 = transactionMapper.listTransactionForCityPartnerAgentCommissionByDate(timeinterval1.toDate(), timeinterval2.toDate());
List<JSONObject> transactionDetail3 = transactionMapper.listTransactionForCityPartnerAgentCommissionByDate(timeinterval2.toDate(), end.toDate());
transactionDetail.addAll(transactionDetail1);
transactionDetail.addAll(transactionDetail2);
transactionDetail.addAll(transactionDetail3);
transactionDetail.forEach(item -> { transactionDetail.forEach(item -> {
if (StringUtils.equalsIgnoreCase("AlipayPlus", item.getString("channel"))) { if (StringUtils.equalsIgnoreCase("AlipayPlus", item.getString("channel"))) {
item.put("channel", item.getString("pay_type")); item.put("channel", item.getString("pay_type"));

@ -1,10 +1,15 @@
package au.com.royalpay.payment.manage.dev.web; package au.com.royalpay.payment.manage.dev.web;
import au.com.royalpay.payment.channels.alipay.config.AlipayConfig;
import au.com.royalpay.payment.channels.alipay.config.AlipayEnvironment;
import au.com.royalpay.payment.channels.alipay.runtime.AlipayOnlineApi;
import au.com.royalpay.payment.channels.alipay.runtime.AlipayRetailApi;
import au.com.royalpay.payment.channels.wechat.runtime.beans.SubMerchantInfoInheritance; import au.com.royalpay.payment.channels.wechat.runtime.beans.SubMerchantInfoInheritance;
import au.com.royalpay.payment.channels.wechat.runtime.impls.WxPayMerchantRegister; import au.com.royalpay.payment.channels.wechat.runtime.impls.WxPayMerchantRegister;
import au.com.royalpay.payment.channels.wechat.runtime.mappers.PaymentChannelMccGoodMapper; import au.com.royalpay.payment.channels.wechat.runtime.mappers.PaymentChannelMccGoodMapper;
import au.com.royalpay.payment.core.PaymentApi; import au.com.royalpay.payment.core.PaymentApi;
import au.com.royalpay.payment.core.PaymentDevHelper; import au.com.royalpay.payment.core.PaymentDevHelper;
import au.com.royalpay.payment.core.beans.EmptyMerchantApplication;
import au.com.royalpay.payment.core.exceptions.InvalidShortIdException; import au.com.royalpay.payment.core.exceptions.InvalidShortIdException;
import au.com.royalpay.payment.core.impls.MerchantChannelApplicationManager; import au.com.royalpay.payment.core.impls.MerchantChannelApplicationManager;
import au.com.royalpay.payment.core.mappers.PmtCustomReportMapper; import au.com.royalpay.payment.core.mappers.PmtCustomReportMapper;
@ -63,12 +68,10 @@ import java.io.ByteArrayOutputStream;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.math.RoundingMode; import java.math.RoundingMode;
import java.security.InvalidParameterException;
import java.text.ParseException; import java.text.ParseException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Calendar; import java.util.*;
import java.util.Date;
import java.util.List;
import java.util.Optional;
/** /**
* Created by yixian on 2016-07-06. * Created by yixian on 2016-07-06.
@ -803,4 +806,95 @@ public class TestController {
} }
} }
/**
*
*/
@GetMapping(value = "/batch_update_alipayapply")
public void batchUpdateAlipayApply() {
logger.info("=======>batchUpdateAlipayApply=开始批量更新支付宝");
String[] alipayonlines = new String[]{};
StringBuilder sb=new StringBuilder();
Arrays.stream(alipayonlines).forEach(
clientMoniker -> {
JSONObject client = clientMapper.findClientByMoniker(clientMoniker);
if (client == null) {
logger.info("======>alipayonline:" + clientMoniker + ":client为空");
return;
}
if(TextUtils.isEmpty(client.getString("acn"))){
client.put("acn",null);
}
logger.info("======>alipayonline:" + clientMoniker);
if (!client.containsKey("company_website")) {
client.put("company_website", "https://www.royalpay.com.au/");
}
if (StringUtils.isBlank(client.getString("business_structure"))) {
client.put("business_structure", "Registered body(Sole Trader)");
}
if (StringUtils.isBlank(client.getString("alipayindustry"))) {
logger.info("======>alipayonline:" + clientMoniker + ":alipayindustry为空给默认值5311");
client.put("alipayindustry", "5311");
}
logger.info("======>alipayindustry:register:" + clientMoniker);
sb.append(clientMoniker+",");
// try {
// merchantChannelApplicationManager.getRegister(AlipayOnlineApi.class).apply(client, new EmptyMerchantApplication(), null);
// } catch (Exception e) {
// e.printStackTrace();
// }
// try {
// Thread.sleep(100);
// } catch (InterruptedException e) {
// e.printStackTrace();
// }
}
);
String[] alipayRetails = new String[]{ };
Arrays.stream(alipayRetails).forEach(
clientMoniker -> {
JSONObject client = clientMapper.findClientByMoniker(clientMoniker);
if (client == null) {
logger.info("======>alipayRetail:" + clientMoniker + ":client为空");
}
if(TextUtils.isEmpty(client.getString("acn"))){
client.put("acn",null);
}
logger.info("======>alipayRetail:" + clientMoniker);
if (!client.containsKey("store_photo") || !client.containsKey("company_photo")) {
return;
}
if (StringUtils.isBlank(client.getString("business_structure"))) {
client.put("business_structure", "Registered body(Sole Trader)");
}
if (StringUtils.isBlank(client.getString("alipayindustry"))) {
logger.info("======>alipayRetail:" + clientMoniker + ":alipayindustry为空给默认值5311");
client.put("alipayindustry", "5311");
}
if(TextUtils.isEmpty(client.getString("acn")) && !TextUtils.isEmpty(client.getString("abn")))
logger.info("======>alipayRetail:register:" + clientMoniker);
sb.append(clientMoniker+",");
// try {
// merchantChannelApplicationManager.getRegister(AlipayRetailApi.class).apply(client, new EmptyMerchantApplication(), null);
// } catch (Exception e) {
// e.printStackTrace();
// }
// try {
// Thread.sleep(100);
// } catch (InterruptedException e) {
// e.printStackTrace();
// }
}
);
logger.info("======>as:" + sb.toString());
}
} }

Loading…
Cancel
Save