diff --git a/src/main/java/au/com/royalpay/payment/manage/WebConfiguration.java b/src/main/java/au/com/royalpay/payment/manage/WebConfiguration.java index aa95bdd53..bee87c972 100644 --- a/src/main/java/au/com/royalpay/payment/manage/WebConfiguration.java +++ b/src/main/java/au/com/royalpay/payment/manage/WebConfiguration.java @@ -4,6 +4,8 @@ import au.com.royalpay.payment.manage.permission.manager.ManagerUserInterceptor; import au.com.royalpay.payment.tools.permission.RequestInfoInterceptor; import au.com.royalpay.payment.tools.permission.alipay.AlipayUserInterceptor; import au.com.royalpay.payment.tools.permission.wechat.WechatUserInterceptor; +import au.com.royalpay.payment.tools.secure.impls.ApplyFirewallCheckInterceptor; +import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; @@ -25,16 +27,20 @@ public class WebConfiguration extends WebMvcConfigurerAdapter { private AlipayUserInterceptor alipayUserInterceptor; - @Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(requestInfoInterceptor); registry.addInterceptor(managerUserInterceptor); registry.addInterceptor(wechatUserInterceptor); registry.addInterceptor(alipayUserInterceptor); + registry.addInterceptor(applyFirewallCheckInterceptor()); super.addInterceptors(registry); } + @Bean + public ApplyFirewallCheckInterceptor applyFirewallCheckInterceptor() { + return new ApplyFirewallCheckInterceptor(); + } } 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 67132f47a..a6444e4af 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 @@ -14,4 +14,5 @@ public interface PlatformClearService { void generateSettleLogs(); + void doVerifyHFSettleLog(JSONObject param); } 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 b8a173cf7..9e9064a3e 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 @@ -8,33 +8,50 @@ import au.com.royalpay.payment.channels.wechat.runtime.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.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.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; -import org.apache.commons.lang3.time.DateFormatUtils; import org.apache.commons.lang3.time.DateUtils; +import org.apache.poi.hssf.usermodel.HSSFCell; +import org.apache.poi.hssf.usermodel.HSSFSheet; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.apache.poi.ss.usermodel.Cell; +import org.apache.poi.ss.usermodel.Row; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.RequestMethod; -import javax.annotation.Resource; import java.math.BigDecimal; import java.text.ParseException; import java.text.SimpleDateFormat; -import java.util.*; +import java.util.ArrayList; +import java.util.Date; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; + +import javax.annotation.Resource; + +import cn.yixblog.platform.http.HttpRequestGenerator; @Service public class PlatformClearAnalysisServiceImpl implements PlatformClearService { private Logger logger = LoggerFactory.getLogger(getClass()); public static final SimpleDateFormat sdfClear = new SimpleDateFormat("yyyy-MM-dd"); - public static final SimpleDateFormat sdfNormal = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss"); + public static final SimpleDateFormat sdfNormal = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); @Resource private MpPaymentApi mpPaymentApi; @@ -44,10 +61,13 @@ public class PlatformClearAnalysisServiceImpl implements PlatformClearService { private PlatformSettlementMapper platformSettlementMapper; @Resource private EstimateAnalysisMapper estimateAnalysisMapper; + @Resource + private AttachmentClient attachmentClient; @Override public JSONObject getPlatformSettleLog(String channel, int page, int limit) { - PageList list = platformSettlementMapper.findSettleLogsAllMerchant(channel, new PageBounds(page, limit, Order.formString("settle_date.desc"))); + PageList list = platformSettlementMapper.findSettleLogsAllMerchant(channel, + new PageBounds(page, limit, Order.formString("settle_date.desc"))); return PageListUtils.buildPageListResult(list); } @@ -62,9 +82,10 @@ public class PlatformClearAnalysisServiceImpl implements PlatformClearService { sysLogs.put("surcharge", creditLogs.getBigDecimal("charge_amount").subtract(debitLogs.getBigDecimal("charge_amount"))); - sysLogs.put("sys_settle_amount", sysLogs.getBigDecimal("sys_pay_fee").subtract(sysLogs.getBigDecimal("sys_refund_fee")).subtract(sysLogs.getBigDecimal("surcharge"))); - sysLogs.put("start_date","2018-04-05"); - sysLogs.put("end_date",sdfClear.format(new Date())); + sysLogs.put("sys_settle_amount", + sysLogs.getBigDecimal("sys_pay_fee").subtract(sysLogs.getBigDecimal("sys_refund_fee")).subtract(sysLogs.getBigDecimal("surcharge"))); + sysLogs.put("start_date", "2018-04-05"); + sysLogs.put("end_date", sdfClear.format(new Date())); return sysLogs; } @@ -86,11 +107,11 @@ public class PlatformClearAnalysisServiceImpl implements PlatformClearService { } if (StringUtils.equals("Wechat", channel)) { try { - Map settleDate = new HashMap<>(); - settleDate.put("from",sdfClear.parse(start_date)); - settleDate.put("to",sdfClear.parse(end_date)); + Map settleDate = new HashMap<>(); + settleDate.put("from", sdfClear.parse(start_date)); + settleDate.put("to", sdfClear.parse(end_date)); doVerifyWechatSettleLog(settleDate); - }catch (Exception e){ + } catch (Exception e) { logger.error("PlatformClearAnalysisServiceImpl.verifySettleLogByDate ==> 校验" + end_date + "微信到账失败:", e); } @@ -98,9 +119,9 @@ public class PlatformClearAnalysisServiceImpl implements PlatformClearService { } @Override -// @Transactional + // @Transactional public void generateSettleLogs() { -// deleteSettleLogs(); + // deleteSettleLogs(); generateWechatSettleLogs(); generateAlipaySettleLogs(); generateAlipayOnlineSettleLogs(); @@ -109,7 +130,7 @@ public class PlatformClearAnalysisServiceImpl implements PlatformClearService { @Transactional public void generateWechatSettleLogs() { try { - Map settleDate = TimeZoneUtils.getStatetimeDays(); + Map settleDate = TimeZoneUtils.getStatetimeDays(); logger.info("开始查询" + settleDate.get("from") + "到" + settleDate.get("to") + "的微信清算记录"); doVerifyWechatSettleLog(settleDate); } catch (ParseException e) { @@ -193,8 +214,7 @@ public class PlatformClearAnalysisServiceImpl implements PlatformClearService { } } - - public void doVerifyWechatSettleLog(Map settleDate){ + public void doVerifyWechatSettleLog(Map settleDate) { List tencentSettle = new ArrayList<>(); for (WeChatPayConfig.Merchant mch : WechatPayEnvironment.getEnv().getWechatMerchantConfigs()) { try { @@ -209,15 +229,15 @@ public class PlatformClearAnalysisServiceImpl implements PlatformClearService { 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.size()>0){ - 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")); + JSONObject sysClearData = getSystemClearingAmount(null, settle, "Wechat"); + if (sysClearData != null && sysClearData.size() > 0) { + 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("merchants", mch.getMerchantId()); params.put("pay_fee", settle.getPayFee()); params.put("refund_fee", settle.getRefundFee()); params.put("net_fee", settle.getPayNetFee()); @@ -225,7 +245,8 @@ public class PlatformClearAnalysisServiceImpl implements PlatformClearService { params.put("surcharge", settle.getPoundageFee()); params.put("unsettle_fee", settle.getUnsettlementFee()); - JSONObject check = platformSettlementMapper.findByDateMerchant(sdfClear.format(settle.getSettlementDate()), "Wechat", mch.getMerchantId()); + 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); @@ -242,7 +263,6 @@ public class PlatformClearAnalysisServiceImpl implements PlatformClearService { } } - public JSONObject getAliSettle(JSONObject aliSettleLog) { JSONObject alipaySettleLog = new JSONObject(); @@ -269,7 +289,7 @@ public class PlatformClearAnalysisServiceImpl implements PlatformClearService { JSONArray refunds = aliSettleLog.getJSONArray("refunds"); logger.info("alipay的refunds清算总信息" + refunds.toJSONString()); BigDecimal debit = new BigDecimal(0.00); - BigDecimal debitFee = new BigDecimal(0.00); + BigDecimal debitFee = new BigDecimal(0.00); BigDecimal debitSettle = new BigDecimal(0.00); if (refunds != null) { for (int i = 0; i < refunds.size(); i++) { @@ -287,8 +307,8 @@ public class PlatformClearAnalysisServiceImpl implements PlatformClearService { } alipaySettleLog.put("debit", debit); alipaySettleLog.put("net_fee", credit.subtract(debit)); - alipaySettleLog.put("surcharge",creditFee.subtract(debitFee)); - alipaySettleLog.put("settlement_fee",creditSettle.subtract(debitSettle)); + alipaySettleLog.put("surcharge", creditFee.subtract(debitFee)); + alipaySettleLog.put("settlement_fee", creditSettle.subtract(debitSettle)); logger.info("阿里清算日志:" + alipaySettleLog.toJSONString()); return alipaySettleLog; } @@ -317,11 +337,11 @@ public class PlatformClearAnalysisServiceImpl implements PlatformClearService { return null; } - //2017-11-01后微信手续费0.5 + // 2017-11-01后微信手续费0.5 BigDecimal wechat_rate; - if(end_date.compareTo("2017-11-01 03:00:00")<=0){ + if (end_date.compareTo("2017-11-01 03:00:00") <= 0) { wechat_rate = new BigDecimal("0.006"); - }else { + } else { wechat_rate = new BigDecimal("0.005"); } @@ -344,9 +364,126 @@ public class PlatformClearAnalysisServiceImpl implements PlatformClearService { return sysLogs; } catch (Exception e) { - //do nothing + // do nothing + e.printStackTrace(); + } + return null; + } + + @Override + public void doVerifyHFSettleLog(JSONObject param) { + + String end = param.getString("end"); + String start = param.getString("start"); + JSONObject hfSettle = handleHFSettleFile(param.getString("fileId")); + if (hfSettle == null) { + return; + } + JSONObject record = new JSONObject(); + record.put("settle_date", end); + record.put("start_date", start); + record.put("end_date", end); + record.put("channel", "hf"); + record.put("last_update_date", new Date()); + JSONObject syscleardata = getHFSystemClearingAmount(start, end); + if (syscleardata != null && syscleardata.size() > 0) { + record.put("sys_pay_fee", syscleardata.getBigDecimal("sys_pay_fee")); + record.put("sys_refund_fee", syscleardata.getBigDecimal("sys_refund_fee")); + record.put("sys_net_fee", syscleardata.getBigDecimal("sys_net_fee")); + record.put("sys_surcharge", syscleardata.getBigDecimal("sys_surcharge")); + record.put("sys_settlement_fee", syscleardata.getBigDecimal("sys_settle_fee")); + } + record.put("pay_fee", BigDecimal.ZERO); + record.put("refund_fee", BigDecimal.ZERO); + record.put("net_fee", hfSettle.getBigDecimal("orderAmount")); + record.put("settlement_fee", hfSettle.getBigDecimal("clearingAmount")); + record.put("surcharge", hfSettle.getBigDecimal("surcharge")); + record.put("unsettle_fee", BigDecimal.ZERO); + + List check = null; + try { + check = platformSettlementMapper.findBySettleDate(DateUtils.parseDate(end, "yyyy-MM-dd"), "hf"); + } catch (ParseException e) { e.printStackTrace(); } + if (CollectionUtils.isNotEmpty(check)) { + record.put("log_id", check.get(0).getString("log_id")); + platformSettlementMapper.update(record); + } else { + platformSettlementMapper.save(record); + } + logger.info("汇付清算记录查询完成"); + + } + + private JSONObject handleHFSettleFile(String fileId) { + try { + HttpRequestGenerator gen = new HttpRequestGenerator(attachmentClient.getFileUrl(fileId), RequestMethod.GET); + HSSFWorkbook workbook = new HSSFWorkbook(gen.execute().getResponseContentStream()); + HSSFSheet sheet = workbook.getSheetAt(0); + Iterator rowIterator = sheet.rowIterator(); + Row row = null; + Cell cell = null; + // 跳过第一行 + rowIterator.next(); + JSONObject result = new JSONObject(); + BigDecimal orderAmount = BigDecimal.ZERO; + BigDecimal surcharge = BigDecimal.ZERO; + BigDecimal clearingAmount = BigDecimal.ZERO; + while (rowIterator.hasNext()) { + row = rowIterator.next(); + + cell = row.getCell(0); + if (cell != null) { + continue; + } + cell = row.getCell(15); + cell.setCellType(HSSFCell.CELL_TYPE_STRING); + if (cell != null) { + String orderAmountStr = cell.getStringCellValue().trim(); + if (StringUtils.isNotEmpty(orderAmountStr)) { + result.put("orderAmount", new BigDecimal(orderAmountStr)); + } + } + cell = row.getCell(16); + cell.setCellType(HSSFCell.CELL_TYPE_STRING); + if (cell != null) { + String surchargeStr = cell.getStringCellValue().trim(); + if (StringUtils.isNotEmpty(surchargeStr)) { + result.put("surcharge", new BigDecimal(surchargeStr)); + } + } + cell = row.getCell(17); + cell.setCellType(HSSFCell.CELL_TYPE_STRING); + if (cell != null) { + String clearingAmounStr = cell.getStringCellValue().trim(); + if (StringUtils.isNotEmpty(clearingAmounStr)) { + result.put("clearingAmount", new BigDecimal(clearingAmounStr)); + } + } + } + return result; + } catch (Exception e) { + logger.debug("处理汇付清算文件出错", e); + } return null; } + + private JSONObject getHFSystemClearingAmount(String start, String end) { + JSONObject result = new JSONObject(); + try { + JSONObject creditLogs = platformSettlementMapper.calculateSysSettleLog(start, end, "hf", "Credit", new BigDecimal(0.008)); + result.put("sys_pay_fee", creditLogs.getBigDecimal("aud_amount")); + JSONObject debitLogs = platformSettlementMapper.calculateSysSettleLog(start, end, "hf", "Debit", new BigDecimal(0.008)); + result.put("sys_surcharge", platformSettlementMapper.calculateRmbCharge(start, end, "hf", new BigDecimal(0.008))); + result.put("sys_refund_fee", debitLogs.getBigDecimal("aud_amount")); + result.put("sys_net_fee", creditLogs.getBigDecimal("aud_amount").subtract(debitLogs.getBigDecimal("aud_amount"))); + result.put("sys_settle_fee", result.getBigDecimal("sys_net_fee").subtract(result.getBigDecimal("sys_surcharge"))); + return result; + } catch (Exception ignore) { + ignore.printStackTrace(); + } + return null; + } + } diff --git a/src/main/java/au/com/royalpay/payment/manage/analysis/web/PlatformClearAController.java b/src/main/java/au/com/royalpay/payment/manage/analysis/web/PlatformClearAController.java index 248916704..669478b5d 100644 --- a/src/main/java/au/com/royalpay/payment/manage/analysis/web/PlatformClearAController.java +++ b/src/main/java/au/com/royalpay/payment/manage/analysis/web/PlatformClearAController.java @@ -3,12 +3,20 @@ package au.com.royalpay.payment.manage.analysis.web; import au.com.royalpay.payment.manage.analysis.core.PlatformClearService; import au.com.royalpay.payment.manage.permission.manager.ManagerMapping; import au.com.royalpay.payment.tools.permission.enums.ManagerRole; + import com.alibaba.fastjson.JSONObject; -import org.springframework.web.bind.annotation.*; -import javax.annotation.Resource; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + import java.text.ParseException; +import javax.annotation.Resource; + @RestController @RequestMapping(value = "/platform/analysis") public class PlatformClearAController { @@ -35,4 +43,9 @@ public class PlatformClearAController { public void generateSettleLogs() { platformClearService.generateSettleLogs(); } + + @ManagerMapping(value = "/generate/hf/settle", method = RequestMethod.PUT, role = {ManagerRole.ADMIN, ManagerRole.OPERATOR, ManagerRole.DEVELOPER}) + public void generatehfSettleLogs(@RequestBody JSONObject param) { + platformClearService.doVerifyHFSettleLog(param); + } } diff --git a/src/main/java/au/com/royalpay/payment/manage/citypartner/web/CityPartnerRegisterController.java b/src/main/java/au/com/royalpay/payment/manage/citypartner/web/CityPartnerRegisterController.java index d96cd5474..5b5f06539 100644 --- a/src/main/java/au/com/royalpay/payment/manage/citypartner/web/CityPartnerRegisterController.java +++ b/src/main/java/au/com/royalpay/payment/manage/citypartner/web/CityPartnerRegisterController.java @@ -4,6 +4,7 @@ import au.com.royalpay.payment.manage.citypartner.core.CityPartnerRegisterServic import au.com.royalpay.payment.manage.merchants.core.ClientApply; import au.com.royalpay.payment.tools.CommonConsts; import au.com.royalpay.payment.tools.http.HttpUtils; +import au.com.royalpay.payment.tools.secure.ApplyRequest; import org.springframework.validation.Errors; import org.springframework.web.bind.annotation.*; @@ -23,18 +24,8 @@ public class CityPartnerRegisterController { private ClientApply clientApply; @RequestMapping(method = RequestMethod.POST) - public void register(@CookieValue(CommonConsts.CODE_KEY) String codeKey, HttpServletResponse response, - @RequestBody @Valid CityPartnerBean partner, Errors errors) throws Exception{ - String codeValue = clientApply.getVerifyCode(codeKey); - if (codeValue == null) { - throw new Exception("Verification code has expired"); - } - if (!codeValue.equals(partner.getCaptcha())){ - throw new Exception("Verification code is not correct"); - }else { - clientApply.deleteVerifyCodeKey(codeKey); - HttpUtils.dropCookie(response, CommonConsts.CODE_KEY); - } + @ApplyRequest + public void register(@RequestBody @Valid CityPartnerBean partner, Errors errors) { HttpUtils.handleValidErrors(errors); cityPartnerRegisterService.saveRegistry(partner); } diff --git a/src/main/java/au/com/royalpay/payment/manage/custom/core/impl/CustomServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/custom/core/impl/CustomServiceImpl.java index 36dede573..8d473b7a5 100644 --- a/src/main/java/au/com/royalpay/payment/manage/custom/core/impl/CustomServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/custom/core/impl/CustomServiceImpl.java @@ -100,10 +100,10 @@ public class CustomServiceImpl implements CustomService { @Override public void resend(String report_id) { - JSONObject report = customReportsMapper.findOne(report_id); - if (report.getIntValue("report_status") != 2) { - throw new BadRequestException("order can't report"); - } +// JSONObject report = customReportsMapper.findOne(report_id); +// if (report.getIntValue("report_status") != 2) { +// throw new BadRequestException("order can't report"); +// } customSupport.sendCustom(report_id); } diff --git a/src/main/ui/static/config/platformrevenue/platformrevenue.js b/src/main/ui/static/config/platformrevenue/platformrevenue.js index 5b3f3d1ec..e02654fea 100644 --- a/src/main/ui/static/config/platformrevenue/platformrevenue.js +++ b/src/main/ui/static/config/platformrevenue/platformrevenue.js @@ -16,7 +16,8 @@ define(['angular', 'decimal', 'uiRouter', 'angularEcharts', '../../analysis/repo }); }]); - app.controller('platformSettleLogCtrl', ['$scope', '$http', '$state','commonDialog', function ($scope, $http, $state, commonDialog) { + app.controller('platformSettleLogCtrl', ['$scope', '$http', '$state','$filter','Upload','commonDialog', function ($scope, $http, $state,$filter,Upload, commonDialog) { + $scope.wechatPagination = {}; $scope.loadWechatLogs = function (page) { var params = $scope.queryParams || {}; @@ -88,6 +89,56 @@ define(['angular', 'decimal', 'uiRouter', 'angularEcharts', '../../analysis/repo $state.reload(); } + + + $scope.hfParam={}; + $scope.hfPagination = {}; + $scope.loadhfLogs = function (page) { + var params = $scope.queryParams || {}; + params.page = page || $scope.hfPagination.page || 1; + params.limit = 20; + params.channel = 'hf'; + $http.get('/platform/analysis/settle/log', {params: params}).then(function (resp) { + $scope.hfLogs = resp.data.data; + $scope.hfPagination = resp.data.pagination; + }); + }; + + $scope.loadhfLogs(1); + $scope.uploadhfSettleFile = function (file) { + if (file != null) { + Upload.upload({ + url: '/attachment/secret_files', + data: {file: file} + }).then(function (resp) { + $scope.hfParam.fileId = resp.data.fileid; + commonDialog.alert({title: 'Upload Success', content:'', type: 'success'}) + }, function (resp) { + }, function (evt) { + }) + } + }; + + $scope.dohfSettle = function () { + var param = angular.copy($scope.hfParam); + if(!param.start){ + alert("请先选择开始时间"); + } + if(!param.end){ + alert("请先选择结束时间"); + } + if(!param.fileId){ + alert("请先上传汇付清算文件"); + } + param.start = $filter('date')(param.start, "yyyy-MM-dd"); + param.end = $filter('date')(param.end, "yyyy-MM-dd"); + + $http.put('/platform/analysis/generate/hf/settle',param).then(function (resp) { + + }); + + } + }]); app.controller('platformRevenueRootCtrl', ['$scope', '$http', '$filter', 'chartParser', function ($scope, $http, $filter, chartParser) { $scope.params = {year: new Date().getFullYear()}; diff --git a/src/main/ui/static/config/platformrevenue/templates/platform_settle_logs.html b/src/main/ui/static/config/platformrevenue/templates/platform_settle_logs.html index 09090ead0..802d5c3fd 100644 --- a/src/main/ui/static/config/platformrevenue/templates/platform_settle_logs.html +++ b/src/main/ui/static/config/platformrevenue/templates/platform_settle_logs.html @@ -271,5 +271,107 @@ + + +
+
+

HF Logs

+
+
+ +
+
+ +
+ + + + + + + +
+

No Data

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Date StartDate EndSettle DatePay FeeRefund FeeNet FeePoundageSettlement FeeUnsettledValidation
{{log.net_fee}} +   (System:{{log.sys_net_fee}}) +   (System:{{log.sys_net_fee}}) + {{log.surcharge}} +   (System:{{log.sys_surcharge}}) +   (System:{{log.sys_surcharge}}) + {{log.settlement_fee}} +   (System:{{log.sys_settlement_fee}}) +   (System:{{log.sys_settlement_fee}}) +
+ +
+
\ No newline at end of file