diff --git a/src/main/java/au/com/royalpay/payment/manage/analysis/core/impls/ChannelsAnalysisServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/analysis/core/impls/ChannelsAnalysisServiceImpl.java index ad30c4049..402707f30 100644 --- a/src/main/java/au/com/royalpay/payment/manage/analysis/core/impls/ChannelsAnalysisServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/analysis/core/impls/ChannelsAnalysisServiceImpl.java @@ -5,7 +5,6 @@ import au.com.royalpay.payment.manage.analysis.mappers.CustomerAndOrdersStatisti import com.alibaba.fastjson.JSONObject; import org.apache.commons.io.IOUtils; import org.apache.commons.lang3.time.DateFormatUtils; -import org.apache.commons.lang3.time.DateUtils; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; @@ -17,7 +16,6 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.OutputStream; -import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; @@ -45,6 +43,8 @@ public class ChannelsAnalysisServiceImpl implements ChannelsAnalysisService { listChannel.add(putParam(params,"Rpay")); listChannel.add(putParam(params,"Yeepay")); listChannel.add(putParam(params,"LakalaPay")); + listChannel.add(putParam(params,"rpaypmt_card")); + listChannel.add(putParam(params,"rpaypmt_dd")); return listChannel; } @@ -55,7 +55,7 @@ public class ChannelsAnalysisServiceImpl implements ChannelsAnalysisService { } List list = new ArrayList<>(); Map analysisMap = new TreeMap<>(); - String[] channels = {"Wechat","Bestpay","Alipay","jd","AlipayOnline","hf", "Rpay","Yeepay","LakalaPay"}; + String[] channels = {"Wechat","Bestpay","Alipay","jd","AlipayOnline","hf", "Rpay","Yeepay","LakalaPay","rpaypmt_card","rpaypmt_dd"}; for (String channel:channels){ analysisChannelCustomers(params, analysisMap, channel); } diff --git a/src/main/java/au/com/royalpay/payment/manage/analysis/core/impls/CustomersAnalysisServiceImp.java b/src/main/java/au/com/royalpay/payment/manage/analysis/core/impls/CustomersAnalysisServiceImp.java index e130ad037..f17ae2af1 100644 --- a/src/main/java/au/com/royalpay/payment/manage/analysis/core/impls/CustomersAnalysisServiceImp.java +++ b/src/main/java/au/com/royalpay/payment/manage/analysis/core/impls/CustomersAnalysisServiceImp.java @@ -11,7 +11,6 @@ import au.com.royalpay.payment.manage.mappers.system.ClientMapper; import au.com.royalpay.payment.manage.mappers.system.CustomerMapper; import au.com.royalpay.payment.manage.mappers.system.ManagerCustomerRelationAlipayMapper; import au.com.royalpay.payment.manage.merchants.core.ClientManager; -import au.com.royalpay.payment.manage.tradelog.beans.TradeLogQuery; import au.com.royalpay.payment.tools.connections.mpsupport.MpWechatApi; import au.com.royalpay.payment.tools.connections.mpsupport.MpWechatApiProvider; import au.com.royalpay.payment.tools.connections.mpsupport.beans.TemplateMessage; @@ -28,7 +27,6 @@ import org.apache.commons.lang3.time.DateFormatUtils; import org.apache.commons.lang3.time.DateUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -100,6 +98,8 @@ public class CustomersAnalysisServiceImp implements CustomersAnalysisService { channels.add("hf"); channels.add("jd"); channels.add("LakalaPay"); + channels.add("rpaypmt_card"); + channels.add("rpaypmt_dd"); params.put("channels", channels); } result.put("channels", customerAndOrdersStatisticsMapper.getCBBankChannelAmount(params)); diff --git a/src/main/java/au/com/royalpay/payment/manage/analysis/core/impls/DashboardServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/analysis/core/impls/DashboardServiceImpl.java index b4d267dec..b248cb2e6 100644 --- a/src/main/java/au/com/royalpay/payment/manage/analysis/core/impls/DashboardServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/analysis/core/impls/DashboardServiceImpl.java @@ -334,6 +334,12 @@ public class DashboardServiceImpl implements DashboardService,DashboardAnalysisT res.put("today",today); res.put("yes",yes); res.put("not_settled", new BigDecimal(transactionAnalysisMapper.analysisNotSettled(params))); + params.put("channel", "system"); + res.put("sys_not_settled", new BigDecimal(transactionAnalysisMapper.analysisNotSettled(params))); + params.put("channel", "rpaypmt_card"); + res.put("rpaypmt_card_not_settled", new BigDecimal(transactionAnalysisMapper.analysisNotSettled(params))); + params.put("channel", "rpaypmt_dd"); + res.put("rpaypmt_dd_not_settled", new BigDecimal(transactionAnalysisMapper.analysisNotSettled(params))); res.put("trade_amount_rise",yes.getBigDecimal("trade_amount").compareTo(BigDecimal.ZERO)>0 ? (today.getBigDecimal("trade_amount").subtract(yes.getBigDecimal("trade_amount"))).divide(yes.getBigDecimal("trade_amount"), 4, RoundingMode.HALF_UP):BigDecimal.ZERO); res.put("trade_count_rise", yes.getIntValue("trade_count") > 0 ? (today.getBigDecimal("trade_count").subtract(yes.getBigDecimal("trade_count"))).divide(yes.getBigDecimal("trade_count"), 4, RoundingMode.HALF_UP) : 0); res.put("customers_rise", yes.getIntValue("customers") > 0 ? (today.getBigDecimal("customers").subtract(yes.getBigDecimal("customers"))).divide(yes.getBigDecimal("customers"), 4, RoundingMode.HALF_UP) : 0); @@ -604,7 +610,7 @@ public class DashboardServiceImpl implements DashboardService,DashboardAnalysisT } } private JSONObject getTodayChannelCount(JSONObject params){ - String[] channels = new String[]{"Bestpay","Wechat","Alipay","jd","AlipayOnline","hf", "Rpay","Yeepay","LakalaPay"}; + String[] channels = new String[]{"Bestpay", "Wechat", "Alipay", "jd", "AlipayOnline", "hf", "Rpay", "Yeepay", "LakalaPay", "rpaypmt_card", "rpaypmt_dd"}; JSONObject resp = new JSONObject(); for(String channel:channels) { params.put("channel", channel); diff --git a/src/main/java/au/com/royalpay/payment/manage/bdprize/core/impls/BDPrizeServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/bdprize/core/impls/BDPrizeServiceImpl.java index a7bbdcd00..786156343 100644 --- a/src/main/java/au/com/royalpay/payment/manage/bdprize/core/impls/BDPrizeServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/bdprize/core/impls/BDPrizeServiceImpl.java @@ -15,11 +15,9 @@ import au.com.royalpay.payment.tools.exceptions.ServerErrorException; import au.com.royalpay.payment.tools.lock.Locker; import au.com.royalpay.payment.tools.permission.enums.ManagerRole; import au.com.royalpay.payment.tools.utils.TimeZoneUtils; - import com.alibaba.fastjson.JSONObject; import com.github.miemiedev.mybatis.paginator.domain.Order; import com.github.miemiedev.mybatis.paginator.domain.PageBounds; - import org.apache.commons.io.IOUtils; import org.apache.commons.lang3.time.DateFormatUtils; import org.apache.commons.lang3.time.DateUtils; @@ -36,21 +34,16 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.OutputStream; import java.math.BigDecimal; import java.text.ParseException; import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Calendar; -import java.util.Date; -import java.util.GregorianCalendar; -import java.util.List; +import java.util.*; import java.util.stream.Collectors; -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; - /** * Created by yixian on 2017-02-07. */ @@ -88,7 +81,7 @@ public class BDPrizeServiceImpl implements BDPrizeService { private static BigDecimal percent = new BigDecimal(100); - private static String[] channels = new String[]{"Wechat", "Alipay", "Bestpay", "jd", "AlipayOnline","hf", "Rpay","Yeepay","LakalaPay"}; + private static String[] channels = new String[]{"Wechat", "Alipay", "Bestpay", "jd", "AlipayOnline","hf", "Rpay","Yeepay","LakalaPay", "rpaypmt_card", "rpaypmt_dd"}; private static Logger logger = LoggerFactory.getLogger(BDPrizeServiceImpl.class); @Override diff --git a/src/main/java/au/com/royalpay/payment/manage/dev/core/impl/ManualServiceimpl.java b/src/main/java/au/com/royalpay/payment/manage/dev/core/impl/ManualServiceimpl.java index 485c09450..fb3a04fd6 100644 --- a/src/main/java/au/com/royalpay/payment/manage/dev/core/impl/ManualServiceimpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/dev/core/impl/ManualServiceimpl.java @@ -6,12 +6,9 @@ import au.com.royalpay.payment.manage.mappers.system.ClientAccountMapper; import au.com.royalpay.payment.manage.mappers.system.ClientMapper; import au.com.royalpay.payment.manage.mappers.system.ClientRateMapper; import au.com.royalpay.payment.manage.merchants.core.ClientModifySupport; -import au.com.royalpay.payment.manage.merchants.entity.impls.SwitchPermissionModify; import au.com.royalpay.payment.manage.task.PostponeClientTask; import au.com.royalpay.payment.tools.scheduler.SynchronizedScheduler; - import com.alibaba.fastjson.JSONObject; - import org.apache.commons.lang3.time.DateFormatUtils; import org.apache.commons.lang3.time.DateUtils; import org.slf4j.Logger; @@ -20,13 +17,12 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; +import javax.annotation.Resource; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; -import javax.annotation.Resource; - /** * @author kira * @date 2018/8/2 @@ -103,9 +99,9 @@ public class ManualServiceimpl implements ManualService { record.put("manager_name", "System"); record.put("remark", "费率到期系统自动延期1年"); clientRateMapper.saveRate(record); - if ("Rpay".equals(o.getString("rate_name"))) { - rpayApi.modifySurchargeConfig(clientMapper.findClient(client_id)); - } +// if ("Rpay".equals(o.getString("rate_name"))) { +// rpayApi.modifySurchargeConfig(clientMapper.findClient(client_id)); +// } }); } diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/beans/ClientRateConfig.java b/src/main/java/au/com/royalpay/payment/manage/merchants/beans/ClientRateConfig.java index ea9e1acf8..00226b22c 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchants/beans/ClientRateConfig.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/beans/ClientRateConfig.java @@ -4,8 +4,8 @@ import au.com.royalpay.payment.tools.exceptions.BadRequestException; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.annotation.JSONField; import org.apache.commons.lang3.time.DateUtils; -import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; import java.util.Calendar; import java.util.Date; @@ -39,6 +39,8 @@ public class ClientRateConfig { @NotNull(message = "error.payment.valid.param_missing") private Integer cleanDays = 3; private String remark; + @JSONField(name = "ext_rates") + private String extRates; public JSONObject toJSON() { if (expiryTime.before(activeTime)) { @@ -102,4 +104,12 @@ public class ClientRateConfig { public void setTransactionFee(Double transactionFee) { this.transactionFee = transactionFee; } + + public String getExtRates() { + return extRates; + } + + public void setExtRates(String extRates) { + this.extRates = extRates; + } } diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/core/ClientManager.java b/src/main/java/au/com/royalpay/payment/manage/merchants/core/ClientManager.java index 47c26e099..5ec1b35b2 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchants/core/ClientManager.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/core/ClientManager.java @@ -1,5 +1,6 @@ package au.com.royalpay.payment.manage.merchants.core; +import au.com.royalpay.payment.channels.rpaypaymentsvc.runtime.request.entities.RPayMerchantEntity; import au.com.royalpay.payment.core.exceptions.EmailException; import au.com.royalpay.payment.manage.appclient.beans.AppClientBean; import au.com.royalpay.payment.manage.appclient.beans.AppMerchantBean; @@ -29,6 +30,8 @@ public interface ClientManager { JSONObject getSysRateConfig(); + JSONObject getSysCardRateConfig(); + JSONObject getClientInfo(int clientId); JSONObject getClientInfoIgnoreInvalid(int clientId); @@ -564,4 +567,8 @@ public interface ClientManager { boolean getMergeSettleStatus(JSONObject client); void changeExtParams(String clientMoniker,JSONObject manager, JSONObject params); + + RPayMerchantEntity applyMWMerchantId(String clientMoniker, JSONObject manager); + + RPayMerchantEntity queryMWMerchantIdStatus(String clientMoniker, JSONObject manager); } diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientManagerImpl.java b/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientManagerImpl.java index 149495ab2..7d53238bb 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientManagerImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientManagerImpl.java @@ -5,6 +5,9 @@ import au.com.royalpay.payment.channels.alipay.config.AlipayEnvironment; import au.com.royalpay.payment.channels.alipay.runtime.AlipayClient; import au.com.royalpay.payment.channels.rpay.runtime.RpayApi; import au.com.royalpay.payment.channels.rpay.runtime.beans.SubRpayMerchantInfo; +import au.com.royalpay.payment.channels.rpaypaymentsvc.mappers.RPayMerchantMapper; +import au.com.royalpay.payment.channels.rpaypaymentsvc.runtime.RPayPaymentCardSvcApi; +import au.com.royalpay.payment.channels.rpaypaymentsvc.runtime.request.entities.RPayMerchantEntity; 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; @@ -14,6 +17,8 @@ import au.com.royalpay.payment.channels.yeepay.config.YeePayConfig; import au.com.royalpay.payment.channels.yeepay.mappers.YeePayClientConfigMapper; import au.com.royalpay.payment.channels.yeepay.runtime.YeePayClient; import au.com.royalpay.payment.core.PaymentChannelApi; +import au.com.royalpay.payment.core.beans.EmptyMerchantApplication; +import au.com.royalpay.payment.core.beans.MerchantApplicationResult; import au.com.royalpay.payment.core.exceptions.EmailException; import au.com.royalpay.payment.core.exceptions.InvalidShortIdException; import au.com.royalpay.payment.core.mappers.SysClientMapper; @@ -314,6 +319,10 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid private RetailRSvcService retailRSvcService; @Resource private RServicesApplyService rServicesApplyService; + @Resource + private RPayPaymentCardSvcApi rPayPaymentCardSvcApi; + @Resource + private RPayMerchantMapper rPayMerchantMapper; @Resource @@ -352,6 +361,12 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid return JSONObject.parseObject(rateConfig); } + @Override + public JSONObject getSysCardRateConfig() { + String rateConfig = sysConfigManager.getSysConfig().getString("sys_card_rates"); + return JSONObject.parseObject(rateConfig); + } + @Override @Cacheable(value = ":app_client_info:", key = "''+#clientId", unless = "#result == null") public JSONObject getClientInfo(int clientId) { @@ -1940,6 +1955,9 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid if (rate.get("clean_days") == null) { rate.put("clean_days", clientConfig.getIntValue("clean_days")); } + if (StringUtils.equalsIgnoreCase("rpaypmt_card", rate.getString("rate_name"))) { + rate.put("ext_rates", JSONObject.parseObject(rate.getString("ext_rates"))); + } } } catch (Exception ignore) { } @@ -2000,6 +2018,9 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid config.put("active_time", DateFormatUtils.format(config.getDate("active_time"), "yyyy-MM-dd")); config.put("expiry_time", DateFormatUtils.format(config.getDate("expiry_time"), "yyyy-MM-dd")); + if (isAddCardPaymentRate(config, clientId)) { + return; + } checkAddRate(config, "Wechat", "wechat_rate_value", org, "min_wechat_rate"); checkAddRate(config, "Alipay", "alipay_rate_value", org, "min_alipay_rate"); checkAddRate(config, "AlipayOnline", "alipayonline_rate_value", org, "min_alipayonline_rate"); @@ -2039,6 +2060,13 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid rateLog.put("expiry_time", DateUtils.addDays(config.getDate("active_time"), -1)); clientRateMapper.updateConfig(rateLog); } + if (StringUtils.equalsIgnoreCase("rpaypmt_card", config.getString("type"))) { + JSONObject extRateParams = new JSONObject(){{ + put("domestic_rate_value", config.getBigDecimal("rate_value")); + put("overseas_rate_value", config.getBigDecimal("international_rate_value")); + }}; + newConfig.put("ext_rates", extRateParams.toJSONString()); + } clientRateMapper.saveRate(newConfig); logger.info(clientId + "的" + channel + "费率设置成功"); } @@ -2064,13 +2092,13 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid configJson.put("manager_name", manager.getString("username")); configJson.put("update_time", new Date()); clientRateMapper.updateConfig(configJson); - if ("Rpay".equals(configJson.getString("rate_name"))) { - rpayApi.modifySurchargeConfig(client); - } +// if ("Rpay".equals(configJson.getString("rate_name"))) { +// rpayApi.modifySurchargeConfig(client); +// } int clientId = client.getIntValue("client_id"); JSONObject changeRate = merchantInfoProvider.clientCurrentRate(clientId, new Date(), "Wechat"); int cleanDays = changeRate.getIntValue("clean_days"); - if (cleanDays != client.getIntValue("clean_days")) { + if (cleanDays != client.getIntValue("clean_days") && StringUtils.equalsIgnoreCase("Wechat",config.getRateName())) { clientModifySupport.processClientConfigModify(new ClearDaysModify(manager, clientMoniker, cleanDays)); } // clientMapper.updateCleanDays(clientId, config.getCleanDays()); @@ -6255,9 +6283,9 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid record.put("manager_name", "System"); record.put("remark", "费率到期系统自动延期1年"); clientRateMapper.saveRate(record); - if ("Rpay".equals(o.getString("rate_name"))) { - rpayApi.modifySurchargeConfig(clientMapper.findClient(client_id)); - } +// if ("Rpay".equals(o.getString("rate_name"))) { +// rpayApi.modifySurchargeConfig(clientMapper.findClient(client_id)); +// } } adminAccounts.forEach(o -> { sendClientPostponeNotify(o, expireDate); @@ -6812,4 +6840,35 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid clientMapper.update(client); } + @Override + public RPayMerchantEntity applyMWMerchantId(String clientMoniker, JSONObject manager) { + JSONObject client = getClientInfoByMoniker(clientMoniker); + if (client == null) { + throw new InvalidShortIdException(); + } + MerchantApplicationResult result = rPayPaymentCardSvcApi.apply(client, new EmptyMerchantApplication(), manager); + if (result == null) { + throw new ServerErrorException("Failed To Apply For Merchant Warrior Sub Merchant ID"); + } + return rPayMerchantMapper.findMerchant(client.getIntValue("client_id")); + } + + @Override + public RPayMerchantEntity queryMWMerchantIdStatus(String clientMoniker, JSONObject manager) { + JSONObject client = getClientInfoByMoniker(clientMoniker); + if (client == null) { + throw new InvalidShortIdException(); + } + return rPayPaymentCardSvcApi.findMerchant(client); + } + + private boolean isAddCardPaymentRate(JSONObject config, int clientId) { + if (!StringUtils.equalsIgnoreCase("rpaypmt_card", config.getString("type")) + && !StringUtils.equalsIgnoreCase("rpaypmt_dd", config.getString("type"))) { + return false; + } + configNewClientRate(config, clientId, config.getString("type"), "rate_value", null, null); + return true; + } + } diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/web/PartnerManageController.java b/src/main/java/au/com/royalpay/payment/manage/merchants/web/PartnerManageController.java index 190f6d1aa..ba7beafc9 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchants/web/PartnerManageController.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/web/PartnerManageController.java @@ -1,5 +1,6 @@ package au.com.royalpay.payment.manage.merchants.web; +import au.com.royalpay.payment.channels.rpaypaymentsvc.runtime.request.entities.RPayMerchantEntity; import au.com.royalpay.payment.manage.dev.core.MerchantLocationService; import au.com.royalpay.payment.manage.merchants.beans.*; import au.com.royalpay.payment.manage.merchants.core.ClientManager; @@ -493,6 +494,11 @@ public class PartnerManageController { return clientManager.getSysRateConfig(); } + @GetMapping("/sys_card_rates") + public JSONObject getSysCardRate() { + return clientManager.getSysCardRateConfig(); + } + @ManagerMapping(value = "/{clientMoniker}/rates/{rateId}", method = RequestMethod.PUT, role = {ManagerRole.OPERATOR, ManagerRole.FINANCIAL_STAFF}) public void updateRate(@PathVariable String clientMoniker, @PathVariable int rateId, @RequestBody @Valid ClientRateConfig config, Errors errors, @ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager) { @@ -880,4 +886,16 @@ public class PartnerManageController { @RequestBody JSONObject params){ clientManager.changeExtParams(clientMoniker,manager,params); } + + @ManagerMapping(value = "/{clientMoniker}/applyMWMerchantId",method = RequestMethod.PUT, role = {ManagerRole.ADMIN, ManagerRole.OPERATOR}) + public RPayMerchantEntity applyMWMerchantId(@PathVariable("clientMoniker")String clientMoniker, + @ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager){ + return clientManager.applyMWMerchantId(clientMoniker,manager); + } + + @ManagerMapping(value = "/{clientMoniker}/queryMWMerchantIdStatus",method = RequestMethod.GET, role = {ManagerRole.ADMIN, ManagerRole.OPERATOR}) + public RPayMerchantEntity queryMWMerchantIdStatus(@PathVariable("clientMoniker")String clientMoniker, + @ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager){ + return clientManager.queryMWMerchantIdStatus(clientMoniker,manager); + } } 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 d11771583..8d06b70dc 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 @@ -434,6 +434,13 @@ public class TradeLogServiceImpl implements TradeLogService { break; } order.put("status_str", statusStr); + if (StringUtils.equalsIgnoreCase("rpaypmt_card", order.getString("channel")) + || StringUtils.equalsIgnoreCase("rpaypmt_dd", order.getString("channel"))) { + JSONObject extParams = JSONObject.parseObject(order.getString("ext_params")); + if (extParams != null) { + order.putAll(extParams); + } + } return order; } diff --git a/src/main/resources/au/com/royalpay/payment/manage/analysis/mappers/CustomerAndOrdersStatisticsMapper.xml b/src/main/resources/au/com/royalpay/payment/manage/analysis/mappers/CustomerAndOrdersStatisticsMapper.xml index 1c8eadd2e..d7bd716c5 100644 --- a/src/main/resources/au/com/royalpay/payment/manage/analysis/mappers/CustomerAndOrdersStatisticsMapper.xml +++ b/src/main/resources/au/com/royalpay/payment/manage/analysis/mappers/CustomerAndOrdersStatisticsMapper.xml @@ -356,6 +356,12 @@ ifnull(sum(CASE WHEN s.channel = 'LakalaPay' THEN s.total ELSE 0 END),0) lakalapayamount, ifnull(sum(CASE WHEN s.channel = 'LakalaPay' THEN s.orders ELSE 0 END),0) lakalapay_order_count, ifnull(COUNT(DISTINCT s.client_id,IF(s.channel = 'LakalaPay',TRUE,NULL)),0) lakala_client_count, + ifnull(sum(CASE WHEN s.channel = 'rpaypmt_card' THEN s.total ELSE 0 END),0) rpaypmt_cardpayamount, + ifnull(sum(CASE WHEN s.channel = 'rpaypmt_card' THEN s.orders ELSE 0 END),0) rpaypmt_card_order_count, + ifnull(COUNT(DISTINCT s.client_id,IF(s.channel = 'rpaypmt_card',TRUE,NULL)),0) rpaypmt_card_client_count, + ifnull(sum(CASE WHEN s.channel = 'rpaypmt_dd' THEN s.total ELSE 0 END),0) rpaypmt_ddpayamount, + ifnull(sum(CASE WHEN s.channel = 'rpaypmt_dd' THEN s.orders ELSE 0 END),0) rpaypmt_dd_order_count, + ifnull(COUNT(DISTINCT s.client_id,IF(s.channel = 'rpaypmt_dd',TRUE,NULL)),0) rpaypmt_dd_client_count, ifnull(sum(s.orders), 0) all_count, ifnull(sum(s.total), 0) all_amount, ifnull(COUNT(DISTINCT s.client_id),0) all_client_count @@ -409,12 +415,16 @@ ifnull(SUM(IF(channel='jd' and transaction_type='Credit',clearing_amount,0)),0) jdamount, ifnull(SUM(IF(channel='LakalaPay' and transaction_type='Credit',1,0)),0) lakala_order_count, ifnull(SUM(IF(channel='LakalaPay' and transaction_type='Credit',clearing_amount,0)),0) lakalapayamount, + ifnull(SUM(IF(channel='rpaypmt_card' and transaction_type='Credit',1,0)),0) rpaypmt_card_order_count, + ifnull(SUM(IF(channel='rpaypmt_card' and transaction_type='Credit',clearing_amount,0)),0) rpaypmt_cardamount, + ifnull(SUM(IF(channel='rpaypmt_dd' and transaction_type='Credit',1,0)),0) rpaypmt_dd_order_count, + ifnull(SUM(IF(channel='rpaypmt_dd' and transaction_type='Credit',clearing_amount,0)),0) rpaypmt_ddamount, count(distinct order_id) all_count, count(distinct client_id) all_client_count, ifnull(SUM(IF(transaction_type='Credit',clearing_amount,0)),0) all_amount FROM pmt_transactions WHERE channel IN - ('Bestpay','Yeepay','Rpay','hf','jd','LakalaPay') + ('Bestpay','Yeepay','Rpay','hf','jd','LakalaPay','rpaypmt_card','rpaypmt_dd') and create_time >= #{begin} and create_time < #{end} diff --git a/src/main/resources/au/com/royalpay/payment/manage/analysis/mappers/TransactionAnalysisMapper.xml b/src/main/resources/au/com/royalpay/payment/manage/analysis/mappers/TransactionAnalysisMapper.xml index ca47f7dbf..4076c12db 100644 --- a/src/main/resources/au/com/royalpay/payment/manage/analysis/mappers/TransactionAnalysisMapper.xml +++ b/src/main/resources/au/com/royalpay/payment/manage/analysis/mappers/TransactionAnalysisMapper.xml @@ -152,7 +152,8 @@ + + + + +
{{rateConfig}}
+ + + +
+ +
+
+ +
%
+
+
+
+ No more than 5.0% +
+
+ No less than 0.0% +
+
+ Required Field +
+
+ +
+
+
+ +
+
+ +
%
+
+
+
+ No more than 5.0% +
+
+ No less than 0.0% +
+
+ Required Field +
+
+ +
+
+
+ +
+
+ +
%
+
+
+
+ No more than 5.0% +
+
+ No less than 0.0% +
+
+ Required Field +
+
+ +
+
+ + +
+ +
+
+ +
$
+
+
+
+ No less than 0 +
+
+ Required Field +
+
+ +
+
+ + +
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+ + + + + diff --git a/src/main/ui/static/payment/partner/templates/partner_pay_logs.html b/src/main/ui/static/payment/partner/templates/partner_pay_logs.html index eddcdbc13..70dd618a8 100644 --- a/src/main/ui/static/payment/partner/templates/partner_pay_logs.html +++ b/src/main/ui/static/payment/partner/templates/partner_pay_logs.html @@ -154,7 +154,11 @@ Yeepay | LakalaPay + ng-click="params.channel='LAKALAPAY';loadTradeLogs(1)">LakalaPay | + Card Payment | + Direct Debit

@@ -357,6 +361,8 @@ + + diff --git a/src/main/ui/static/payment/partner/templates/rate_config_dialog.html b/src/main/ui/static/payment/partner/templates/rate_config_dialog.html index d95950528..5c916e182 100644 --- a/src/main/ui/static/payment/partner/templates/rate_config_dialog.html +++ b/src/main/ui/static/payment/partner/templates/rate_config_dialog.html @@ -14,7 +14,9 @@
- +
%
- - -
No less than 0.6%
@@ -35,6 +34,29 @@
+
+ +
+
+ +
%
+
+
+
+ No more than 5.0% +
+
+ No less than 0.0% +
+
+ Required Field +
+
+ +
+
@@ -46,9 +68,6 @@
$
- - -
No less than 0
@@ -78,7 +97,9 @@ datepicker-options="{minDate:rate.active_time}">
-
+
@@ -100,4 +121,4 @@ \ No newline at end of file +
diff --git a/src/main/ui/static/payment/partner/templates/sub_merchant_id_apply.html b/src/main/ui/static/payment/partner/templates/sub_merchant_id_apply.html index 08c50f821..9ba3cb101 100644 --- a/src/main/ui/static/payment/partner/templates/sub_merchant_id_apply.html +++ b/src/main/ui/static/payment/partner/templates/sub_merchant_id_apply.html @@ -95,53 +95,100 @@
-

- Rpay+ Sub Merchant Id : {{partner.rpay_enterprise_id}} - +

+ Merchant Warrior Sub Merchant Id : + + 审核通过 + 审核中 + 打回 + ({{partner.cardInfo.rpMerchantId}}) + 未申请

-
-
-
-
-

List of Sub Merchant Id

-
-
-
    -
  • - Sub Merchant Id - (当前使用){{id_apply.sub_merchant_id}} -
  • -
  • - Apply Time - -
  • -
  • - Company Short Name - {{id_apply.merchant_shortname | cut:true:20:' ...'}} -
  • -
  • - Business Category - {{id_apply.business_category | partner_royalpay_industry}} -
  • -
  • - Operator - -
  • -
-
-
- -
+
+
+
    +
  • + Sub Merchant Id + + {{partner.cardInfo.rpMerchantId}} +
  • +
  • + Name + +
  • +
  • + Company Name + {{partner.cardInfo.company_name}} +
  • +
  • + Address + {{partner.cardInfo.address}} +
  • +
  • + Suburb + {{partner.cardInfo.suburb}} +
  • +
  • + Postcode + +
  • +
  • + More..... +
  • +
  • + State + +
  • +
  • + Abn + +
  • +
  • + Email + +
  • +
  • + Contact Name + +
  • +
  • + Phone + +
  • +
  • + BSB + +
  • +
  • + Account No + +
  • +
  • + Account Name + +
  • +
  • + Website + +
  • +
  • + Timezone + +
  • +
  • + Category + +
  • +
  • + Hide..... +
  • +
@@ -150,72 +197,135 @@
-
-
-
-
-
-
-

- Yeepay Sub Merchant Id : {{partner.yeepay_sub_merchant_id}} -

- - -
-
-
-
-

List of Sub Merchant Id

-
-
-
    -
  • - Sub Merchant Id - (当前使用){{id_apply.sub_merchant_id}} -
  • -
  • - Apply Time - -
  • -
  • - Business Content - {{id_apply.business_content | yeepayBusinessContent}} -
  • -
  • - Business Category - {{id_apply.industry | yeepayIndustry}} -
  • -
  • - Operator - -
  • -
-
-
- - -
-
-
-
-
-
-
-
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/src/main/ui/static/payment/tradelog/templates/balance_report.html b/src/main/ui/static/payment/tradelog/templates/balance_report.html index 0cb9a5e59..aa142c3cd 100644 --- a/src/main/ui/static/payment/tradelog/templates/balance_report.html +++ b/src/main/ui/static/payment/tradelog/templates/balance_report.html @@ -165,7 +165,11 @@ Yeepay | LakalaPay + ng-click="params.channel='LAKALAPAY';loadTradeLogs(1)">LakalaPay | + Card Payment | + Direct Debit

@@ -537,6 +541,10 @@ uib-tooltip="Yeepay" ng-if="trade.channel=='Yeepay'"/> + + {{trade.order_id2}} diff --git a/src/main/ui/static/payment/tradelog/templates/incremental_trade_logs.html b/src/main/ui/static/payment/tradelog/templates/incremental_trade_logs.html index 369be61a6..3c31dcade 100644 --- a/src/main/ui/static/payment/tradelog/templates/incremental_trade_logs.html +++ b/src/main/ui/static/payment/tradelog/templates/incremental_trade_logs.html @@ -166,7 +166,11 @@ Yeepay | LakalaPay + ng-click="params.channel='LAKALAPAY';loadTradeLogs(1)">LakalaPay | + Card Payment | + Direct Debit

@@ -384,6 +388,10 @@ uib-tooltip="Yeepay" ng-if="trade.channel=='Yeepay'"/> + + {{trade.order_id}} diff --git a/src/main/ui/static/payment/tradelog/templates/partner_incremental_trade_logs.html b/src/main/ui/static/payment/tradelog/templates/partner_incremental_trade_logs.html index 8d8e063e0..4a78f5a94 100644 --- a/src/main/ui/static/payment/tradelog/templates/partner_incremental_trade_logs.html +++ b/src/main/ui/static/payment/tradelog/templates/partner_incremental_trade_logs.html @@ -146,7 +146,11 @@ Yeepay | LakalaPay + ng-click="params.channel='LAKALAPAY';loadTradeLogs(1)">LakalaPay | + Card Payment | + Direct Debit

@@ -341,6 +345,8 @@ + + {{trade.order_id}} diff --git a/src/main/ui/static/payment/tradelog/templates/partner_trade_detail_edit.html b/src/main/ui/static/payment/tradelog/templates/partner_trade_detail_edit.html index d91c3e058..cce854e87 100644 --- a/src/main/ui/static/payment/tradelog/templates/partner_trade_detail_edit.html +++ b/src/main/ui/static/payment/tradelog/templates/partner_trade_detail_edit.html @@ -1,3 +1,11 @@ + + @@ -140,6 +148,19 @@ +
+
+

+
+
+

{{order.card_bank}}

+

{{order.card_type}}

+

{{order.card_alias}}

+

{{order.card_scheme}}

+

{{order.card_country}}

+
+
+ @@ -191,4 +212,4 @@ - \ No newline at end of file + diff --git a/src/main/ui/static/payment/tradelog/templates/partner_trade_logs.html b/src/main/ui/static/payment/tradelog/templates/partner_trade_logs.html index 7b5a7d028..b715730be 100644 --- a/src/main/ui/static/payment/tradelog/templates/partner_trade_logs.html +++ b/src/main/ui/static/payment/tradelog/templates/partner_trade_logs.html @@ -219,7 +219,11 @@ Yeepay | LakalaPay + ng-click="params.channel='LAKALAPAY';loadTradeLogs(1)">LakalaPay | + Card Payment | + Direct Debit

@@ -641,6 +645,10 @@ ng-if="trade.channel=='Yeepay'"/> + + {{trade.order_id}} diff --git a/src/main/ui/static/payment/tradelog/templates/trade_logs.html b/src/main/ui/static/payment/tradelog/templates/trade_logs.html index e22dea465..714798fa0 100644 --- a/src/main/ui/static/payment/tradelog/templates/trade_logs.html +++ b/src/main/ui/static/payment/tradelog/templates/trade_logs.html @@ -203,7 +203,11 @@ Yeepay | LakalaPay + ng-click="params.channel='LAKALAPAY';loadTradeLogs(1)">LakalaPay | + Card Payment | + Direct Debit

@@ -486,6 +490,10 @@ uib-tooltip="Yeepay" ng-if="trade.channel=='Yeepay'"/> + + {{trade.order_id}} diff --git a/src/test/java/au/com/royalpay/payment/manage/citypartner/core/impls/GatewayApplicationMerchantDemoTest.java b/src/test/java/au/com/royalpay/payment/manage/citypartner/core/impls/GatewayApplicationMerchantDemoTest.java index e01d7d375..563e57d87 100644 --- a/src/test/java/au/com/royalpay/payment/manage/citypartner/core/impls/GatewayApplicationMerchantDemoTest.java +++ b/src/test/java/au/com/royalpay/payment/manage/citypartner/core/impls/GatewayApplicationMerchantDemoTest.java @@ -160,9 +160,9 @@ public class GatewayApplicationMerchantDemoTest { @Test public void updateFile() throws Exception{ - String originUrl = "https://sandbox.royalpay.com.au/api/v1.0/org_gateway/partners/" + SHORTID + "/attachment/files"; + String originUrl = "http://127.0.0.1:9002/attachment/secret_files"; String url = addSignUrl(originUrl, null, SPDEMOPRIKEY); - File file = new File("/Users/1/Downloads/banner_eshop.jpg"); + File file = new File("/Users/luoyang/Downloads/banner_eshop.jpg"); InputStream stream = new FileInputStream(file); HttpRequestGenerator gen = new HttpRequestGenerator(url, RequestMethod.POST); gen.setTimeout(10000);