From 3310ade433bb2209c2a1321707b21b65ed284e7a Mon Sep 17 00:00:00 2001 From: yixian Date: Mon, 27 Sep 2021 17:34:29 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E6=B8=A0=E9=81=93=E6=B8=85=E7=AE=97?= =?UTF-8?q?=E5=AF=B9=E8=B4=A6=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../analysis/core/PlatformClearService.java | 3 +- .../PlatformClearAnalysisServiceImpl.java | 360 +++++------------- .../mappers/log/PlatformSettlementMapper.java | 10 +- .../manage/task/SettleEstimateTaskManger.java | 4 - .../mappers/log/PlatformSettlementMapper.xml | 47 +-- 5 files changed, 114 insertions(+), 310 deletions(-) diff --git a/src/main/java/au/com/royalpay/payment/manage/analysis/core/PlatformClearService.java b/src/main/java/au/com/royalpay/payment/manage/analysis/core/PlatformClearService.java index 748c33efa..232339e9f 100644 --- a/src/main/java/au/com/royalpay/payment/manage/analysis/core/PlatformClearService.java +++ b/src/main/java/au/com/royalpay/payment/manage/analysis/core/PlatformClearService.java @@ -10,10 +10,9 @@ public interface PlatformClearService { JSONObject getChannelSettleLog(String channel); - void verifySettleLogByDate(String start_date, String end_date, String channel) throws ParseException; + void verifySettleLogByDate(String startDate, String endDate, String channel) throws ParseException; void generateSettleLogs(); - void generateAliPaySettleLogs(); } diff --git a/src/main/java/au/com/royalpay/payment/manage/analysis/core/impls/PlatformClearAnalysisServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/analysis/core/impls/PlatformClearAnalysisServiceImpl.java index bad33c583..c68b25b11 100644 --- a/src/main/java/au/com/royalpay/payment/manage/analysis/core/impls/PlatformClearAnalysisServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/analysis/core/impls/PlatformClearAnalysisServiceImpl.java @@ -1,34 +1,30 @@ package au.com.royalpay.payment.manage.analysis.core.impls; -import au.com.royalpay.payment.channels.alipay.runtime.AlipayClient; -import au.com.royalpay.payment.channels.wechat.config.WeChatPayConfig; -import au.com.royalpay.payment.channels.wechat.config.WechatPayEnvironment; -import au.com.royalpay.payment.channels.wechat.runtime.MpPaymentApi; -import au.com.royalpay.payment.channels.wechat.runtime.beans.SettlementLog; -import au.com.royalpay.payment.core.exceptions.ChannelNetworkException; +import au.com.royalpay.payment.core.ChannelSettleVerify; +import au.com.royalpay.payment.core.beans.SettlementLog; import au.com.royalpay.payment.manage.analysis.core.PlatformClearService; -import au.com.royalpay.payment.manage.analysis.mappers.EstimateAnalysisMapper; import au.com.royalpay.payment.manage.mappers.log.PlatformSettlementMapper; -import au.com.royalpay.payment.tools.connections.attachment.core.AttachmentClient; +import au.com.royalpay.payment.tools.defines.PayChannel; +import au.com.royalpay.payment.tools.exceptions.BadRequestException; import au.com.royalpay.payment.tools.utils.PageListUtils; import au.com.royalpay.payment.tools.utils.TimeZoneUtils; -import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.github.miemiedev.mybatis.paginator.domain.Order; import com.github.miemiedev.mybatis.paginator.domain.PageBounds; import com.github.miemiedev.mybatis.paginator.domain.PageList; -import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.time.DateUtils; +import org.joda.time.DateTime; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; -import java.math.BigDecimal; import java.text.ParseException; import java.text.SimpleDateFormat; -import java.util.*; +import java.util.Arrays; +import java.util.Date; +import java.util.List; @Service public class PlatformClearAnalysisServiceImpl implements PlatformClearService { @@ -37,16 +33,10 @@ public class PlatformClearAnalysisServiceImpl implements PlatformClearService { public static final SimpleDateFormat sdfClear = new SimpleDateFormat("yyyy-MM-dd"); public static final SimpleDateFormat sdfNormal = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - @Resource - private MpPaymentApi mpPaymentApi; - @Resource - private AlipayClient alipayClient; + @Autowired(required = false) + private ChannelSettleVerify[] channelSettleVerifys; @Resource private PlatformSettlementMapper platformSettlementMapper; - @Resource - private EstimateAnalysisMapper estimateAnalysisMapper; - @Resource - private AttachmentClient attachmentClient; @Override public JSONObject getPlatformSettleLog(String channel, int page, int limit) { @@ -58,10 +48,11 @@ public class PlatformClearAnalysisServiceImpl implements PlatformClearService { @Override public JSONObject getChannelSettleLog(String channel) { JSONObject sysLogs = new JSONObject(); - JSONObject creditLogs = platformSettlementMapper.calculateSysSettleLog5("2018-04-05 02:00:00", sdfNormal.format(new Date()), channel, "Credit"); + Date fromDate = DateTime.parse("2018-04-05T02:00:00+10:00").toDate(); + JSONObject creditLogs = platformSettlementMapper.calculateChannelSysSettleLog(fromDate, new Date(), channel, "Credit"); sysLogs.put("sys_pay_fee", creditLogs.getBigDecimal("rmb_amount")); - JSONObject debitLogs = platformSettlementMapper.calculateSysSettleLog5("2018-04-05 02:00:00", sdfNormal.format(new Date()), channel, "Debit"); + JSONObject debitLogs = platformSettlementMapper.calculateChannelSysSettleLog(fromDate, new Date(), channel, "Debit"); sysLogs.put("sys_refund_fee", debitLogs.getBigDecimal("rmb_amount")); sysLogs.put("surcharge", creditLogs.getBigDecimal("charge_amount").subtract(debitLogs.getBigDecimal("charge_amount"))); @@ -74,121 +65,41 @@ public class PlatformClearAnalysisServiceImpl implements PlatformClearService { } @Override - public void verifySettleLogByDate(String start_date, String end_date, String channel) { - if (StringUtils.equals("Alipay", channel)) { - try { - doVerifyAlipaySettleLog(sdfClear.parse(end_date)); - } catch (Exception e) { - logger.error("PlatformClearAnalysisServiceImpl.verifySettleLogByDate ==> 校验" + end_date + "支付宝到账失败:", e); - } - } - if (StringUtils.equals("AlipayOnline", channel)) { - try { - doVerifyAlipayOnlineSettleLog(sdfClear.parse(end_date)); - } catch (Exception e) { - logger.error("PlatformClearAnalysisServiceImpl.verifySettleLogByDate ==> 校验" + end_date + "支付宝Online到账失败:", e); - throw new ChannelNetworkException("校验失败:", e); - } - } - if (StringUtils.equals("Wechat", channel)) { - try { - Map settleDate = new HashMap<>(); - settleDate.put("from", sdfClear.parse(start_date)); - settleDate.put("to", sdfClear.parse(end_date)); - doVerifyWechatSettleLog(settleDate); - } catch (Exception e) { - logger.error("PlatformClearAnalysisServiceImpl.verifySettleLogByDate ==> 校验" + end_date + "微信到账失败:", e); - } - - } - } - - @Override - // @Transactional - public void generateSettleLogs() { - // deleteSettleLogs(); - generateWechatSettleLogs(); - generateAlipaySettleLogs(); - generateAlipayOnlineSettleLogs(); - } - - @Override - @Transactional - public void generateAliPaySettleLogs() { - generateAlipaySettleLogs(); - generateAlipayOnlineSettleLogs(); - } - - @Transactional - public void generateWechatSettleLogs() { - try { - Map settleDate = TimeZoneUtils.getStatetimeDays(); - logger.info("开始查询" + settleDate.get("from") + "到" + settleDate.get("to") + "的微信清算记录"); - doVerifyWechatSettleLog(settleDate); - } catch (ParseException e) { - e.printStackTrace(); + public void verifySettleLogByDate(String startDate, String endDate, String channel) { + if (channelSettleVerifys == null) { + return; } - } - - private void generateAlipaySettleLogs() { - try { - List dateList = TimeZoneUtils.getStatetime(); - for (Date dateStr : dateList) { - try { - doVerifyAlipaySettleLog(dateStr); - } catch (Exception e) { - logger.error("获取" + dateStr + "Alipay清算记录失败", e); - } - } - } catch (Exception e) { - logger.error("获取Alipay清算记录时间失败", e); - } - - } - - private void generateAlipayOnlineSettleLogs() { - try { - List dateList = TimeZoneUtils.getStatetime(); - for (Date dateStr : dateList) { - try { - doVerifyAlipayOnlineSettleLog(dateStr); - } catch (Exception e) { - logger.error("获取" + dateStr + "AlipayOnline清算记录失败", e); - } - } - } catch (Exception e) { - logger.error("获取AlipayOnline清算记录时间失败", e); - } - - } - - @Transactional - public void doVerifyAlipaySettleLog(Date dateStr) throws Exception { - JSONObject aliSettleLog = alipayClient.oldDownloadRetailSettlements(dateStr); - saveAlipaySettleLog(dateStr, aliSettleLog, "Alipay"); - } + Arrays.stream(channelSettleVerifys).filter(verify -> verify.payChannel().getChannelCode().equalsIgnoreCase(channel)) + .findFirst().ifPresent(verify -> { + try { + Date currentDate = sdfClear.parse(startDate); + Date end = sdfClear.parse(endDate); + while (!end.before(currentDate)) { + saveVerifyResults(currentDate, verify); + currentDate = DateUtils.addDays(currentDate, 1); + } + } catch (ParseException e) { + throw new BadRequestException("Invalid Date Format"); + } - @Transactional - public void doVerifyAlipayOnlineSettleLog(Date dateStr) throws Exception { - JSONObject aliOnlineSettleLog = alipayClient.downloadOnlineSettlements(dateStr); - saveAlipaySettleLog(dateStr, aliOnlineSettleLog, "AlipayOnline"); + }); } - private void saveAlipaySettleLog(Date dateStr, JSONObject aliSettleLog, String channel) throws Exception { - if (aliSettleLog != null) { - JSONObject settleFee = getAliSettle(aliSettleLog); + private void saveVerifyResults(Date date, ChannelSettleVerify verify) { + logger.info("starting verify for channel {} on {}", verify.payChannel(), date); + List logs = verify.verifyResults(date); + logger.info("loaded {} settle logs for channel {} on {}", logs.size(), verify.payChannel(), date); + for (SettlementLog settle : logs) { JSONObject params = new JSONObject(); - params.put("settle_date", dateStr); - params.put("start_date", dateStr); - params.put("end_date", dateStr); - params.put("pay_fee", settleFee.getBigDecimal("credit")); - params.put("refund_fee", settleFee.getBigDecimal("debit")); - params.put("net_fee", settleFee.getBigDecimal("net_fee")); - params.put("surcharge", settleFee.getBigDecimal("surcharge")); - params.put("settlement_fee", settleFee.getBigDecimal("settlement_fee")); - params.put("channel", channel); + params.put("settle_date", settle.getSettlementDate()); + params.put("start_date", TimeZoneUtils.formatTime(settle.getStart(), TimeZoneUtils.PATTERN_NORMAL, "Asia/Shanghai")); + params.put("end_date", TimeZoneUtils.formatTime(settle.getEnd(), TimeZoneUtils.PATTERN_NORMAL, "Asia/Shanghai")); + if (verify.payChannel() == PayChannel.WECHAT) { + params.put("settle_date", TimeZoneUtils.formatTime(settle.getSettlementDate(), TimeZoneUtils.PATTERN_NORMAL, "Asia/Shanghai")); + } + params.put("channel", verify.payChannel().getChannelCode()); params.put("last_update_date", new Date()); - JSONObject sysClearData = getSystemClearingAmount(dateStr, aliSettleLog, channel); + JSONObject sysClearData = getSystemClearingAmount(settle, verify.payChannel().getChannelCode()); if (sysClearData != null && !sysClearData.isEmpty()) { params.put("sys_pay_fee", sysClearData.getBigDecimal("sys_pay_fee")); params.put("sys_refund_fee", sysClearData.getBigDecimal("sys_refund_fee")); @@ -196,173 +107,74 @@ public class PlatformClearAnalysisServiceImpl implements PlatformClearService { params.put("sys_surcharge", sysClearData.getBigDecimal("sys_surcharge")); params.put("sys_settlement_fee", sysClearData.getBigDecimal("sys_settle_fee")); } - JSONObject check = platformSettlementMapper.findByDateMerchant(sdfClear.format(dateStr), channel, "All"); - if (check != null) { - params.put("log_id", check.getString("log_id")); - platformSettlementMapper.update(params); - } else { - platformSettlementMapper.save(params); + params.put("merchants", settle.getMerchantId()); + params.put("pay_fee", settle.getPayFee()); + params.put("refund_fee", settle.getRefundFee()); + params.put("net_fee", settle.getPayNetFee()); + if (verify.payChannel() != PayChannel.WECHAT) { + params.put("net_fee", settle.getPayFee().subtract(settle.getRefundFee())); } - } - } - - public void doVerifyWechatSettleLog(Map settleDate) { - List tencentSettle = new ArrayList<>(); - for (WeChatPayConfig.Merchant mch : WechatPayEnvironment.getEnv().getWechatMerchantConfigs()) { + params.put("settlement_fee", settle.getSettlementFee()); + params.put("surcharge", settle.getPoundageFee()); + params.put("unsettle_fee", settle.getUnsettlementFee()); try { - tencentSettle = mpPaymentApi.settlementLogs(settleDate.get("from"), settleDate.get("to"), mch.getMerchantId()); - if (tencentSettle == null) { - logger.info("【{}】下没有清算记录", mch.getMerchantId()); + if (("1500474722".equals(settle.getMerchantId()) && settle.getSettlementDate().before(DateTime.parse("2018-06-02").toDate())) || + ("1492874492".equals(settle.getMerchantId()) && settle.getSettlementDate().after(DateTime.parse("2018-06-05").toDate()))) { + return; + } + JSONObject check = platformSettlementMapper.findByDateMerchant(verify.payChannel() == PayChannel.WECHAT ? TimeZoneUtils.formatTime(settle.getSettlementDate(), TimeZoneUtils.PATTERN_NORMAL, "Asia/Shanghai") : sdfClear.format(settle.getSettlementDate()), verify.payChannel().getChannelCode(), settle.getMerchantId()); + if (check != null) { + params.put("log_id", check.getString("log_id")); + platformSettlementMapper.update(params); } else { - for (SettlementLog settle : tencentSettle) { - JSONObject params = new JSONObject(); - params.put("settle_date", settle.getSettlementDate()); - params.put("start_date", settle.getStart()); - params.put("end_date", settle.getEnd()); - params.put("channel", "Wechat"); - params.put("last_update_date", new Date()); - JSONObject sysClearData = getSystemClearingAmount(null, settle, "Wechat"); - if (sysClearData != null && !sysClearData.isEmpty()) { - params.put("sys_pay_fee", sysClearData.getBigDecimal("sys_pay_fee")); - params.put("sys_refund_fee", sysClearData.getBigDecimal("sys_refund_fee")); - params.put("sys_net_fee", sysClearData.getBigDecimal("sys_net_fee")); - params.put("sys_surcharge", sysClearData.getBigDecimal("sys_surcharge")); - params.put("sys_settlement_fee", sysClearData.getBigDecimal("sys_settle_fee")); - } - params.put("merchants", mch.getMerchantId()); - params.put("pay_fee", settle.getPayFee()); - params.put("refund_fee", settle.getRefundFee()); - params.put("net_fee", settle.getPayNetFee()); - params.put("settlement_fee", settle.getSettlementFee()); - params.put("surcharge", settle.getPoundageFee()); - params.put("unsettle_fee", settle.getUnsettlementFee()); - - JSONObject check = platformSettlementMapper.findByDateMerchant(sdfClear.format(settle.getSettlementDate()), "Wechat", - mch.getMerchantId()); - if (check != null) { - params.put("log_id", check.getString("log_id")); - platformSettlementMapper.update(params); - } else { - platformSettlementMapper.save(params); - } - params.clear(); - logger.info("{}的微信清算记录查询完成", mch.getMerchantId()); - } + platformSettlementMapper.save(params); } + params.clear(); } catch (Exception e) { - logger.error("【{}】下没有清算记录", mch.getMerchantId(), e); + logger.error(e.getMessage(), e); } } } - public JSONObject getAliSettle(JSONObject aliSettleLog) { - JSONObject alipaySettleLog = new JSONObject(); - JSONArray payments = aliSettleLog.getJSONArray("payments"); - BigDecimal credit = BigDecimal.ZERO; - BigDecimal creditFee = BigDecimal.ZERO; - BigDecimal creditSettle = BigDecimal.ZERO; - if (payments != null) { - for (int i = 0; i < payments.size(); i++) { - JSONObject json = payments.getJSONObject(i); - BigDecimal transactionAmount = json.getBigDecimal("transaction_amount"); - BigDecimal chargeFee = json.getBigDecimal("charge_fee"); - credit = credit.add(transactionAmount); - creditFee = creditFee.add(chargeFee); - if (json.containsKey("settle_amount")) { - creditSettle = creditSettle.add(json.getBigDecimal("settle_amount")); - } else { - creditSettle = creditSettle.add(transactionAmount.subtract(chargeFee)); + @Override + // @Transactional + public void generateSettleLogs() { + if (channelSettleVerifys != null) { + try { + List dateList = TimeZoneUtils.getStatetime(); + for (Date date : dateList) { + for (ChannelSettleVerify verify : channelSettleVerifys) { + try { + saveVerifyResults(date, verify); + } catch (Exception e) { + logger.error("[{}]{} failed to download settle file", date, verify.payChannel(), e); + } + } } + } catch (ParseException ignored) { } - } - alipaySettleLog.put("credit", credit); - JSONArray refunds = aliSettleLog.getJSONArray("refunds"); - logger.info("alipay的refunds清算总信息" + refunds.toJSONString()); - BigDecimal debit = BigDecimal.ZERO; - BigDecimal debitFee = BigDecimal.ZERO; - BigDecimal debitSettle = BigDecimal.ZERO; - for (int i = 0; i < refunds.size(); i++) { - JSONObject json = refunds.getJSONObject(i); - BigDecimal transactionAmount = json.getBigDecimal("transaction_amount"); - BigDecimal chargeFee = json.getBigDecimal("charge_fee"); - debit = debit.add(transactionAmount); - debitFee = debitFee.add(chargeFee); - if (json.containsKey("settle_amount")) { - debitSettle = debitSettle.add(json.getBigDecimal("settle_amount")); - } else { - debitSettle = debitSettle.add(transactionAmount.subtract(chargeFee)); - } } - alipaySettleLog.put("debit", debit); - alipaySettleLog.put("net_fee", credit.subtract(debit)); - alipaySettleLog.put("surcharge", creditFee.subtract(debitFee)); - alipaySettleLog.put("settlement_fee", creditSettle.subtract(debitSettle)); - logger.info("阿里清算日志:" + alipaySettleLog.toJSONString()); - return alipaySettleLog; } - public JSONObject getSystemClearingAmount(Date settle_date, Object settlementLog, String channel) throws Exception { - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd 02:00:00"); + private JSONObject getSystemClearingAmount(SettlementLog settlementLog, String channel) { JSONObject sysLogs = new JSONObject(); - String start_date = null; - String end_date = null; - if (StringUtils.equals("Alipay", channel)) { - JSONObject lastClearDay = estimateAnalysisMapper.findLastCleanDays(sdfClear.format(settle_date), 1); - start_date = sdf.format(lastClearDay.getDate("date_str")); - end_date = sdf.format(settle_date); - logger.info("Alipay System Settle Logs:" + start_date + "<====>" + end_date); - } else if (StringUtils.equals("Wechat", channel)) { - SettlementLog wechatSettleLog = (SettlementLog) settlementLog; - start_date = sdf.format(wechatSettleLog.getStart()); - end_date = sdf.format(wechatSettleLog.getEnd()); - logger.info("Wechat System Settle Logs:" + start_date + "<====>" + end_date); - } else if (StringUtils.equals("AlipayOnline", channel)) { - JSONObject alipayOnlineSettleLog = (JSONObject) settlementLog; - logger.info("AlipayOnline System Settle Logs:" + alipayOnlineSettleLog.getDate("min_time") + "<====>" + alipayOnlineSettleLog.getDate("max_time")); - start_date = sdf.format(alipayOnlineSettleLog.getDate("min_time")); - end_date = sdf.format(DateUtils.addDays(alipayOnlineSettleLog.getDate("max_time"), 1)); - } else { - return null; - } - - // 2017-11-01后微信手续费0.5 - BigDecimal wechat_rate; - if (end_date.compareTo("2017-11-01 03:00:00") <= 0) { - wechat_rate = new BigDecimal("0.006"); - } else { - wechat_rate = new BigDecimal("0.005"); - } - - // 2018-09-01后Alipay_Online手续费0.006 - BigDecimal alipay_online_rate; - if (end_date.compareTo("2018-09-01 02:00:00") <= 0) { - alipay_online_rate = new BigDecimal("0.018"); - } else { - alipay_online_rate = new BigDecimal("0.006"); - } + logger.info("{} System Settle Logs:{}<====>{}", channel, settlementLog.getStart(), settlementLog.getEnd()); try { - JSONObject creditLogs = platformSettlementMapper.calculateSysSettleLog(start_date, end_date, channel, "Credit", wechat_rate); + JSONObject creditLogs = platformSettlementMapper.calculateSysSettleLog(settlementLog.getStart(), settlementLog.getEnd(), settlementLog.getMerchantId(), channel, "Credit"); sysLogs.put("sys_pay_fee", creditLogs.getBigDecimal("aud_amount")); - - JSONObject debitLogs = platformSettlementMapper.calculateSysSettleLog(start_date, end_date, channel, "Debit", wechat_rate); + JSONObject debitLogs = platformSettlementMapper.calculateSysSettleLog(settlementLog.getStart(), settlementLog.getEnd(), settlementLog.getMerchantId(), channel, "Debit"); sysLogs.put("sys_refund_fee", debitLogs.getBigDecimal("aud_amount")); - sysLogs.put("sys_net_fee", creditLogs.getBigDecimal("aud_amount").subtract(debitLogs.getBigDecimal("aud_amount"))); - if (StringUtils.equals("Alipay", channel)) { - sysLogs.put("sys_surcharge", platformSettlementMapper.calculateRmbCharge(start_date, end_date, channel, BigDecimal.valueOf(0.006))); - } else if (StringUtils.equals("AlipayOnline", channel)) { - sysLogs.put("sys_surcharge", platformSettlementMapper.calculateRmbCharge(start_date, end_date, channel, alipay_online_rate)); - } else { - sysLogs.put("sys_surcharge", creditLogs.getBigDecimal("charge_amount").subtract(debitLogs.getBigDecimal("charge_amount"))); - } + sysLogs.put("sys_surcharge", creditLogs.getBigDecimal("charge_amount").subtract(debitLogs.getBigDecimal("charge_amount"))); sysLogs.put("sys_settle_fee", sysLogs.getBigDecimal("sys_net_fee").subtract(sysLogs.getBigDecimal("sys_surcharge"))); + logger.info("calculated system result[{}|{}~{}]:{}", channel, settlementLog.getStart(), settlementLog.getEnd(), sysLogs); return sysLogs; } catch (Exception e) { - // do nothing - e.printStackTrace(); + //do nothing + logger.error("Error caught on analysising {}", channel, e); } return null; } diff --git a/src/main/java/au/com/royalpay/payment/manage/mappers/log/PlatformSettlementMapper.java b/src/main/java/au/com/royalpay/payment/manage/mappers/log/PlatformSettlementMapper.java index f609a7fa1..bc3b6ae69 100644 --- a/src/main/java/au/com/royalpay/payment/manage/mappers/log/PlatformSettlementMapper.java +++ b/src/main/java/au/com/royalpay/payment/manage/mappers/log/PlatformSettlementMapper.java @@ -32,12 +32,14 @@ public interface PlatformSettlementMapper { PageList findSettleLogsAllMerchant(@Param("channel") String channel, PageBounds pageBounds); - JSONObject calculateSysSettleLog(@Param("start_date") String start_date, @Param("end_date") String end_date, @Param("channel") String channel, @Param("transaction_type") String type, @Param("wechat_rate") BigDecimal wechat_rate); + JSONObject calculateSysSettleLog(@Param("start_date") Date startDate, @Param("end_date") Date endDate, @Param("channel") String channel, + @Param("pid") String pid, @Param("transaction_type") String type); - JSONObject calculateSysSettleLog5(@Param("start_date") String start_date, @Param("end_date") String end_date, @Param("channel") String channel, @Param("transaction_type") String type); - - BigDecimal calculateRmbCharge(@Param("start_date") String start_date, @Param("end_date") String end_date, @Param("channel") String channel,@Param("ali_rate") BigDecimal ali_rate); + BigDecimal calculateRmbCharge(@Param("start_date") Date start_date, @Param("end_date") Date end_date, @Param("channel") String channel); @AutoSql(SqlType.DELETE) void delete(JSONObject params); + + JSONObject calculateChannelSysSettleLog(@Param("start_date") Date startDate, @Param("end_date") Date endDate, @Param("channel") String channel, + @Param("transaction_type") String type); } diff --git a/src/main/java/au/com/royalpay/payment/manage/task/SettleEstimateTaskManger.java b/src/main/java/au/com/royalpay/payment/manage/task/SettleEstimateTaskManger.java index d1b69b508..802553c7e 100644 --- a/src/main/java/au/com/royalpay/payment/manage/task/SettleEstimateTaskManger.java +++ b/src/main/java/au/com/royalpay/payment/manage/task/SettleEstimateTaskManger.java @@ -40,8 +40,4 @@ public class SettleEstimateTaskManger { synchronizedScheduler.executeProcess("manage_task:genSettleLog", 120_000, () -> platformClearService.generateSettleLogs()); } - @Scheduled(cron = "0 0 10 * * ?") - public void generateSettleLogs2() { - synchronizedScheduler.executeProcess("manage_task:generateAliPaySettleLog", 120_000, () -> platformClearService.generateAliPaySettleLogs()); - } } diff --git a/src/main/resources/au/com/royalpay/payment/manage/mappers/log/PlatformSettlementMapper.xml b/src/main/resources/au/com/royalpay/payment/manage/mappers/log/PlatformSettlementMapper.xml index 98529f116..a9ed6893d 100644 --- a/src/main/resources/au/com/royalpay/payment/manage/mappers/log/PlatformSettlementMapper.xml +++ b/src/main/resources/au/com/royalpay/payment/manage/mappers/log/PlatformSettlementMapper.xml @@ -11,18 +11,17 @@ - - + SELECT sum(t.cny_amount) rmb_amount, + ifnull(sum(t.clearing_amount), 0.00) aud_amount, + ifnull(sum(t.channel_surcharge), 0.00) charge_amount + FROM pmt_transactions t + WHERE order_channel = #{channel} + AND transaction_type = #{transaction_type} + AND transaction_time >= #{start_date} + AND #{end_date} > transaction_time + and system_generate = 0 \ No newline at end of file From 02021a662093e3987fbab4cbc8ffe33962e1509f Mon Sep 17 00:00:00 2001 From: Todking Date: Mon, 27 Sep 2021 17:46:00 +0800 Subject: [PATCH 2/4] =?UTF-8?q?add=20=E5=9B=BE=E7=89=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/ui/static/images/CONNECT_WALLET.png | Bin 0 -> 2158 bytes src/main/ui/static/images/royalpay_logo_02.png | Bin 0 -> 1609 bytes src/main/ui/static/images/wechat_sacn.png | Bin 0 -> 5705 bytes 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/main/ui/static/images/CONNECT_WALLET.png create mode 100644 src/main/ui/static/images/royalpay_logo_02.png create mode 100644 src/main/ui/static/images/wechat_sacn.png diff --git a/src/main/ui/static/images/CONNECT_WALLET.png b/src/main/ui/static/images/CONNECT_WALLET.png new file mode 100644 index 0000000000000000000000000000000000000000..e49499492da3d35d86aa602c91ff54baad7dbab0 GIT binary patch literal 2158 zcmV-!2$A=RP)Px-C`m*?RA>e5nt6!TRTRf(QY$la$t*EVGX-0W7PoA%lFC9eZ22RiprAhz!wfRe z7D}>cffk4sDv44eiZ(5CtE{Xv(l%Sv$}Ek_)ZBIYe4oGj=FEBb_j}Jb^Jc8(z?pmY zdw=)-?z!jw-c(mr5Nc{_1`@ur>tbPbb@kdH!{!F)v0!^}4mbw=YT9OSGr(MRLNquL z@1*^Lx%$DG6=kclEa;>U`YTdwKBB`{Q*=2o{xc!YbvDECle`N3#WXKC{ao~CIaxEy z3@~4sm)T}AYM}3AzHTwH`jK>UFPH|O6^oAJ%!u=O!4KV&5&ceNt%FT-TRQ{H%UO~6 zlIZwatK!r?MNG64)1V)nbx%{4D9@*PW4{4#l)T4)?}0cS1}+HB$POpo zD#NRo^cm?JY<4C7=b%3d+yO2HRS1gC1bjPU&=2elb^x_o^kRPtE+NKN+8ki38smtB zwasem)?0yS>=mn*lmCHj>^O5~O~f+jQ$Pz(!}PEMLu;2t0h?ll+yy31AYZq^5dIky zrtJ(p5nOL%fm{iZFBU^AWG%q6!TZ6bpkA6ZSdLLcr( zN)t1!kh?b3DWdQ@D46)v{swR9N|fIO1Jf$SH#W?o!#lvXk&d+^Ut@wUbGjCigX6$s z!K~}5jizv5&~#uh9(530$q52IB1Rx-lS+5w-BPeB}O zPyt$LISaJFPcW_?!H9+11|6#xb|L>e*tzx|VjP~x9&+%#-# zv4${|u4XtNFyM6wuN~&06N2!S$m=S}&m{Ona1yvE(vj+go1Ogqgx^g23^)vI&GX6j zG*COz!a*>(G>^?fXw?iJZ0)1-{1^=URrV?G)RcT|(F;<$8Q@&#?S>EJh(I(_JB&rp zm%Yj0o%E@f?!`#om$L}_8hLn8y5V;fI2%+3sG@z3=0Rf{$i9J~ecaH2v{_LypV}7_ zyXc3k5UkN#CTJf}*C-2hQYni0R+-RW#s-V7QiYtV?K(hTO10aP@z`ci9m5O;rxDgM zq2CNH@a@6P5u5(TX0FqZ3A$K|?Ze=@4E!VbVG}ES5!YRdnF$@&to7q;I!d84uP{Uc-0jyl$<3C)(=A`fhT|- zbp6T!eP{ypTfr5HC^XvbAEVQ8FeC_Rw}Q_ZK1LpZuw6`%$W(I#&{ycxm*~QqOW5NvCx#)Ig=!>b^ z=NBDIrEH};3wOaRa`+LvQj&+$c<@qoiuY?szIPQYbPCtXeban%}4PNJ58jM5H%_)cTuq}BLRd6&K z(C2Y<=6ACCzh8gQ>lh2qDv_Wo@-~dsrdE4%*=<$m7vzsYToxGDzC+yaoougR!$kPh zzLG)To;6A)OmFga&PHeYso*>(Z)kQH{p)(B8bnq11kk2d*s8@~u8`tcwDV*?Sc(MN z(!PRR=kvj!ZXYU=JaqShgr7^Rg^lg#T)!!PWs4bWPn@re1bCHaRP9w75J;(gEokA9 zV%`|Xeo0b{-0qS;bfwa}`pE*_+3RE>`0-f|89M#@)_$@1Kt3Vjr(gcs#O&)UBW~>Y z(GafPlh{go+9`)Pr#BoQWA&zQk0`WbniAfo^ZvZ~Ke<6X03SV{6T1zxSA)MLd}uUB zM+U~V+R^?fn@->M$Z#%A&nms^eyP+KU?)V@G0G?_lG;uD|31m2#{P*yi=8Xb&{vl;3-}!hb^*1M%L05`g3G`F z`P)KS0gE`%NrR;KP{{?b336jo&rUeGLDv*yUxv<>o>Emn6GR#oDdr z;dRVRHGCz=2B{UA7rp$Y8IP;3i~(klJ$?yHh1w;=t#^iMUi30nhh45BPz9ldil=s7 zs?BtG5xC5Dyr*zma#D9sq! k5wKMfbR&IlDYb)t0I&DUij}~4-~a#s07*qoM6N<$g8R8H`Tzg` literal 0 HcmV?d00001 diff --git a/src/main/ui/static/images/royalpay_logo_02.png b/src/main/ui/static/images/royalpay_logo_02.png new file mode 100644 index 0000000000000000000000000000000000000000..34a307cd505ed4ec1efbf16cf17476a081b23b12 GIT binary patch literal 1609 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 literal 0 HcmV?d00001 From 18a0ca4125f681126e241e0b7e73960d9cc7ed46 Mon Sep 17 00:00:00 2001 From: yixian Date: Mon, 27 Sep 2021 17:49:01 +0800 Subject: [PATCH 3/4] compile error --- .../manage/analysis/core/impls/EstimateAnalysisServiceImpl.java | 2 +- .../royalpay/payment/manage/dev/web/WxSettleLogController.java | 2 +- .../payment/manage/tradelog/core/impls/TradeLogServiceImpl.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/au/com/royalpay/payment/manage/analysis/core/impls/EstimateAnalysisServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/analysis/core/impls/EstimateAnalysisServiceImpl.java index 8e6d9641a..12a699447 100644 --- a/src/main/java/au/com/royalpay/payment/manage/analysis/core/impls/EstimateAnalysisServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/analysis/core/impls/EstimateAnalysisServiceImpl.java @@ -3,7 +3,7 @@ package au.com.royalpay.payment.manage.analysis.core.impls; import au.com.royalpay.payment.channels.wechat.config.WeChatPayConfig; import au.com.royalpay.payment.channels.wechat.config.WechatPayEnvironment; import au.com.royalpay.payment.channels.wechat.runtime.MpPaymentApi; -import au.com.royalpay.payment.channels.wechat.runtime.beans.SettlementLog; +import au.com.royalpay.payment.core.beans.SettlementLog; import au.com.royalpay.payment.manage.analysis.core.EstimateAnalysisService; import au.com.royalpay.payment.manage.analysis.core.EstimateCacheSupport; import au.com.royalpay.payment.manage.analysis.mappers.EstimateAnalysisMapper; diff --git a/src/main/java/au/com/royalpay/payment/manage/dev/web/WxSettleLogController.java b/src/main/java/au/com/royalpay/payment/manage/dev/web/WxSettleLogController.java index ae8f95583..f8da2d798 100644 --- a/src/main/java/au/com/royalpay/payment/manage/dev/web/WxSettleLogController.java +++ b/src/main/java/au/com/royalpay/payment/manage/dev/web/WxSettleLogController.java @@ -1,7 +1,7 @@ package au.com.royalpay.payment.manage.dev.web; import au.com.royalpay.payment.channels.wechat.runtime.MpPaymentApi; -import au.com.royalpay.payment.channels.wechat.runtime.beans.SettlementLog; +import au.com.royalpay.payment.core.beans.SettlementLog; import au.com.royalpay.payment.manage.permission.manager.ManagerMapping; import au.com.royalpay.payment.tools.permission.enums.ManagerRole; import org.apache.commons.lang3.time.DateUtils; diff --git a/src/main/java/au/com/royalpay/payment/manage/tradelog/core/impls/TradeLogServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/tradelog/core/impls/TradeLogServiceImpl.java index 0ec3dff0f..91e40fc33 100644 --- a/src/main/java/au/com/royalpay/payment/manage/tradelog/core/impls/TradeLogServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/tradelog/core/impls/TradeLogServiceImpl.java @@ -3,9 +3,9 @@ package au.com.royalpay.payment.manage.tradelog.core.impls; import au.com.royalpay.payment.channels.wechat.config.WeChatPayConfig; import au.com.royalpay.payment.channels.wechat.config.WechatPayEnvironment; import au.com.royalpay.payment.channels.wechat.runtime.MpPaymentApi; -import au.com.royalpay.payment.channels.wechat.runtime.beans.SettlementLog; import au.com.royalpay.payment.core.PaymentApi; import au.com.royalpay.payment.core.TransactionService; +import au.com.royalpay.payment.core.beans.SettlementLog; import au.com.royalpay.payment.core.exceptions.InvalidShortIdException; import au.com.royalpay.payment.core.exceptions.OrderNotMatchException; import au.com.royalpay.payment.core.exceptions.ParamInvalidException; From be50e51d47034e3ea76a0e02d19fcbc6288fe9c3 Mon Sep 17 00:00:00 2001 From: yixian Date: Wed, 29 Sep 2021 17:11:22 +0800 Subject: [PATCH 4/4] fix compile error --- .../OneDollarDayActivitySupportImpl.java | 5 +++-- .../core/CustomersAnalysisService.java | 1 - .../core/impls/XPlanFundProcessorImpl.java | 3 ++- .../CtripCouponProvideProcessor.java | 22 ++++++++++--------- .../core/impl/RServicesApplyServiceImpl.java | 3 ++- 5 files changed, 19 insertions(+), 15 deletions(-) diff --git a/src/main/java/au/com/royalpay/payment/manage/activities/diet/core/impls/OneDollarDayActivitySupportImpl.java b/src/main/java/au/com/royalpay/payment/manage/activities/diet/core/impls/OneDollarDayActivitySupportImpl.java index 6a46ae9d3..80a0b2490 100644 --- a/src/main/java/au/com/royalpay/payment/manage/activities/diet/core/impls/OneDollarDayActivitySupportImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/activities/diet/core/impls/OneDollarDayActivitySupportImpl.java @@ -4,6 +4,7 @@ import au.com.royalpay.payment.channels.wechat.runtime.MpPaymentApi; import au.com.royalpay.payment.core.TransactionService; import au.com.royalpay.payment.core.beans.PaymentQueryResult; import au.com.royalpay.payment.core.beans.PreOrderRequest; +import au.com.royalpay.payment.core.beans.TransactionBizSubType; import au.com.royalpay.payment.core.beans.coupon.CashCouponInfo; import au.com.royalpay.payment.core.beans.coupon.CouponInfo; import au.com.royalpay.payment.core.events.PaymentFinishedEvent; @@ -163,7 +164,7 @@ public class OneDollarDayActivitySupportImpl implements OneDollarDayActivity, Pa log.put("transaction_time", format.format(paymentQueryResult.getPayTime())); log.put("clearing_status", 0); log.put("remark", "Activity: Day Of One Dollar"); - transactionService.saveTransaction(log); + transactionService.saveTransaction(log, TransactionBizSubType.COUPON_PAY); String transactionId = log.getString("transaction_id"); actDietOrderMapper.setTransactionId(orderId, transactionId, log.getDate("transaction_time")); } @@ -214,7 +215,7 @@ public class OneDollarDayActivitySupportImpl implements OneDollarDayActivity, Pa log.put("transaction_time", new Date()); log.put("clearing_status", 0); log.put("remark", "Activity Refund: Day Of One Dollar"); - transactionService.saveTransaction(log); + transactionService.saveTransaction(log,TransactionBizSubType.COUPON_REFUND); actDietOrderMapper.updateRefund(orderId, log.getString("transaction_id"), log.getDate("transaction_time")); } diff --git a/src/main/java/au/com/royalpay/payment/manage/analysis/core/CustomersAnalysisService.java b/src/main/java/au/com/royalpay/payment/manage/analysis/core/CustomersAnalysisService.java index 0ecbd17c8..f80b125ae 100644 --- a/src/main/java/au/com/royalpay/payment/manage/analysis/core/CustomersAnalysisService.java +++ b/src/main/java/au/com/royalpay/payment/manage/analysis/core/CustomersAnalysisService.java @@ -1,6 +1,5 @@ package au.com.royalpay.payment.manage.analysis.core; -import au.com.royalpay.payment.manage.tradelog.beans.TradeLogQuery; import com.alibaba.fastjson.JSONObject; import java.util.Date; diff --git a/src/main/java/au/com/royalpay/payment/manage/fund/core/impls/XPlanFundProcessorImpl.java b/src/main/java/au/com/royalpay/payment/manage/fund/core/impls/XPlanFundProcessorImpl.java index 324d2fde2..4d0d719ec 100644 --- a/src/main/java/au/com/royalpay/payment/manage/fund/core/impls/XPlanFundProcessorImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/fund/core/impls/XPlanFundProcessorImpl.java @@ -2,6 +2,7 @@ package au.com.royalpay.payment.manage.fund.core.impls; import au.com.royalpay.payment.core.SettlementDetailCalculator; import au.com.royalpay.payment.core.TransactionService; +import au.com.royalpay.payment.core.beans.TransactionBizSubType; import au.com.royalpay.payment.core.exceptions.InvalidShortIdException; import au.com.royalpay.payment.manage.fund.beans.XPlanFundConfig; import au.com.royalpay.payment.manage.fund.core.XPlanFundConfigService; @@ -303,7 +304,7 @@ public class XPlanFundProcessorImpl implements XPlanFundProcesor { tradeTransaction.put("channel", "System"); tradeTransaction.put("system_generate", 1); tradeTransaction.put("remark", remark); - transactionService.saveTransaction(tradeTransaction); + transactionService.saveTransaction(tradeTransaction, TransactionBizSubType.DEPOSIT); return tradeTransaction; } diff --git a/src/main/java/au/com/royalpay/payment/manage/processors/CtripCouponProvideProcessor.java b/src/main/java/au/com/royalpay/payment/manage/processors/CtripCouponProvideProcessor.java index e77fcba6b..85bd6b282 100644 --- a/src/main/java/au/com/royalpay/payment/manage/processors/CtripCouponProvideProcessor.java +++ b/src/main/java/au/com/royalpay/payment/manage/processors/CtripCouponProvideProcessor.java @@ -4,6 +4,7 @@ import au.com.royalpay.payment.core.PaymentApi; import au.com.royalpay.payment.core.TransactionService; import au.com.royalpay.payment.core.beans.PaymentQueryResult; import au.com.royalpay.payment.core.beans.PreOrderRequest; +import au.com.royalpay.payment.core.beans.TransactionBizSubType; import au.com.royalpay.payment.core.beans.coupon.CouponInfo; import au.com.royalpay.payment.core.events.PaymentFinishedEvent; import au.com.royalpay.payment.core.events.RefundSendEvent; @@ -66,6 +67,7 @@ public class CtripCouponProvideProcessor implements PaymentProcessor { private PmtOrderMapper pmtOrderMapper; @Resource private TransactionService transactionService; + @Override public String processorId() { return COUPON_ID + "_USE"; @@ -102,11 +104,11 @@ public class CtripCouponProvideProcessor implements PaymentProcessor { return; } JSONObject couponAccuessLog = new JSONObject(); - couponAccuessLog.put("client_id",order.getIntValue("client_id")); - couponAccuessLog.put("customer_openid","创建订单时无"); - couponAccuessLog.put("creation_date",new Date()); - couponAccuessLog.put("order_id",order.getString("order_id")); - couponAccuessLog.put("coupon_id","CTRIP_"+tmpEle.getString("ctrip_coupon_id")); + couponAccuessLog.put("client_id", order.getIntValue("client_id")); + couponAccuessLog.put("customer_openid", "创建订单时无"); + couponAccuessLog.put("creation_date", new Date()); + couponAccuessLog.put("order_id", order.getString("order_id")); + couponAccuessLog.put("coupon_id", "CTRIP_" + tmpEle.getString("ctrip_coupon_id")); BigDecimal currentDiscount = paymentInfo.getDiscount(); //携程满减 if (StringUtils.equals(couponInfo.getString("type"), "31")) { @@ -178,13 +180,13 @@ public class CtripCouponProvideProcessor implements PaymentProcessor { useCoupontrans.put("clearing_status", 0); useCoupontrans.put("system_generate", 1); useCoupontrans.put("remark", "Ctrip Coupon from Customer:" + couponLogId); - accuessCouponLog = payCouponAccuessLogMapper.findAccuessLogByOrderId(orderId,new PageBounds(Order.formString("last_update_date.desc"))).get(0); + accuessCouponLog = payCouponAccuessLogMapper.findAccuessLogByOrderId(orderId, new PageBounds(Order.formString("last_update_date.desc"))).get(0); if (accuessCouponLog != null) { - transactionService.saveTransaction(useCoupontrans); + transactionService.saveTransaction(useCoupontrans, TransactionBizSubType.COUPON_PAY); accuessCouponLog.put("is_valid", 1); accuessCouponLog.put("last_update_date", new Date()); accuessCouponLog.put("transaction_id", useCoupontrans.getString("transaction_id")); - accuessCouponLog.put("customer_openid",order.getString("customer_id")); + accuessCouponLog.put("customer_openid", order.getString("customer_id")); payCouponAccuessLogMapper.update(accuessCouponLog); } @@ -221,7 +223,7 @@ public class CtripCouponProvideProcessor implements PaymentProcessor { trans.put("transaction_time", new Date()); trans.put("remark", "Refund for Customer Ctrip Coupon:" + coupon_id); logger.info("正在退款的券的信息" + trans.toJSONString()); - transactionService.saveTransaction(trans); + transactionService.saveTransaction(trans, TransactionBizSubType.COUPON_REFUND); logger.error("订单[" + orderId + "]发送全额退款,携程优惠券【" + coupon_id + "】转为Debit"); accuessCouponLog.put("transaction_refund_id", trans.getString("transaction_id")); accuessCouponLog.put("refund_id", refundOrder.getString("refund_id")); @@ -238,7 +240,7 @@ public class CtripCouponProvideProcessor implements PaymentProcessor { } // 使用券的信息 - private JSONObject getPreOrderCoupon(String couponLogId,int clientId) { + private JSONObject getPreOrderCoupon(String couponLogId, int clientId) { JSONObject client = merchantInfoProvider.getClientInfo(clientId); String timestamp = System.currentTimeMillis() + ""; String base = CUSTOMER_APP_ID + timestamp + CUSTOMER_AUTH_CODE; diff --git a/src/main/java/au/com/royalpay/payment/manage/rservices/core/impl/RServicesApplyServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/rservices/core/impl/RServicesApplyServiceImpl.java index eaff387e0..8bf35a179 100644 --- a/src/main/java/au/com/royalpay/payment/manage/rservices/core/impl/RServicesApplyServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/rservices/core/impl/RServicesApplyServiceImpl.java @@ -1,6 +1,7 @@ package au.com.royalpay.payment.manage.rservices.core.impl; import au.com.royalpay.payment.core.TransactionService; +import au.com.royalpay.payment.core.beans.TransactionBizSubType; import au.com.royalpay.payment.core.mappers.PmtOrderMapper; import au.com.royalpay.payment.manage.appclient.core.RetailAppService; import au.com.royalpay.payment.manage.mappers.system.ClientAccountMapper; @@ -166,7 +167,7 @@ public class RServicesApplyServiceImpl implements RServicesApplyService { transaction.put("clearing_status", 0); transaction.put("remark", applyInfo.getString("service_code") + ":" + applyInfo.getString("title")); transaction.put("system_generate", 1); - transactionService.saveTransaction(transaction); + transactionService.saveTransaction(transaction, TransactionBizSubType.OTHER); JSONObject order = new JSONObject(); order.put("order_id", orderId); order.put("org_id", client.getIntValue("org_id"));