From 2be8962d7386fe5743bacc58e462b334d6bb5ce1 Mon Sep 17 00:00:00 2001 From: wangning <164851225@qq.com> Date: Tue, 10 Apr 2018 13:52:35 +0800 Subject: [PATCH 01/35] tmp --- .../mappers/log/ClientConfigLogMapper.java | 20 ++++++++++ .../merchants/core/ClientConfigService.java | 12 ++++++ .../core/impls/ClientConfigServiceImpl.java | 17 ++++++++ .../core/impls/ClientManagerImpl.java | 40 +++++++++---------- 4 files changed, 69 insertions(+), 20 deletions(-) create mode 100644 src/main/java/au/com/royalpay/payment/manage/mappers/log/ClientConfigLogMapper.java create mode 100644 src/main/java/au/com/royalpay/payment/manage/merchants/core/ClientConfigService.java create mode 100644 src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientConfigServiceImpl.java diff --git a/src/main/java/au/com/royalpay/payment/manage/mappers/log/ClientConfigLogMapper.java b/src/main/java/au/com/royalpay/payment/manage/mappers/log/ClientConfigLogMapper.java new file mode 100644 index 000000000..fffd8b28b --- /dev/null +++ b/src/main/java/au/com/royalpay/payment/manage/mappers/log/ClientConfigLogMapper.java @@ -0,0 +1,20 @@ +package au.com.royalpay.payment.manage.mappers.log; + +import org.apache.ibatis.annotations.Param; + +import com.alibaba.fastjson.JSONObject; +import com.github.miemiedev.mybatis.paginator.domain.PageBounds; +import com.github.miemiedev.mybatis.paginator.domain.PageList; + +import cn.yixblog.support.mybatis.autosql.annotations.AutoMapper; +import cn.yixblog.support.mybatis.autosql.annotations.AutoSql; +import cn.yixblog.support.mybatis.autosql.annotations.SqlType; + +/** + * Created by yixian on 2016-10-14. + */ +@AutoMapper(tablename = "log_client_config", pkName = "id") +public interface ClientConfigLogMapper { + @AutoSql(type = SqlType.INSERT) + void saveLog(JSONObject log); +} diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/core/ClientConfigService.java b/src/main/java/au/com/royalpay/payment/manage/merchants/core/ClientConfigService.java new file mode 100644 index 000000000..4fb04d664 --- /dev/null +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/core/ClientConfigService.java @@ -0,0 +1,12 @@ +package au.com.royalpay.payment.manage.merchants.core; + +import com.alibaba.fastjson.JSONObject; + +/** + * Created by yixian on 2016-06-25. + */ +public interface ClientConfigService { + + void update(JSONObject record,JSONObject account); + +} diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientConfigServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientConfigServiceImpl.java new file mode 100644 index 000000000..8508bdd77 --- /dev/null +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientConfigServiceImpl.java @@ -0,0 +1,17 @@ +package au.com.royalpay.payment.manage.merchants.core.impls; + +import au.com.royalpay.payment.manage.mappers.system.ClientConfigMapper; +import au.com.royalpay.payment.manage.merchants.core.ClientConfigService; + +import com.alibaba.fastjson.JSONObject; + +import javax.annotation.Resource; + +public class ClientConfigServiceImpl implements ClientConfigService { + @Resource + private ClientConfigMapper clientConfigMapper; + @Override + public void update(JSONObject record, JSONObject account) { + + } +} 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 ea37c8c63..3e1185932 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 @@ -21,6 +21,7 @@ import au.com.royalpay.payment.manage.mappers.system.ClientApplyMapper; import au.com.royalpay.payment.manage.mappers.system.ClientAuditProcessMapper; import au.com.royalpay.payment.manage.mappers.system.ClientBDMapper; import au.com.royalpay.payment.manage.mappers.system.ClientBankAccountMapper; +import au.com.royalpay.payment.manage.mappers.system.ClientConfigMapper; import au.com.royalpay.payment.manage.mappers.system.ClientDeviceMapper; import au.com.royalpay.payment.manage.mappers.system.ClientFilesMapper; import au.com.royalpay.payment.manage.mappers.system.ClientMapper; @@ -147,6 +148,8 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid @Resource private ClientMapper clientMapper; @Resource + private ClientConfigMapper clientConfigMapper; + @Resource private ClientDeviceMapper clientDeviceMapper; @Resource private ClientAccountMapper clientAccountMapper; @@ -2246,26 +2249,29 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid String pwdHash = PasswordUtils.hashPwd(pwd, salt); client.put("refund_pwd", pwdHash); client.put("refund_pwd_salt", salt); - clientMapper.update(client); - clientInfoCacheSupport.clearClientCache(client.getIntValue("client_id")); + JSONObject record = new JSONObject(); + record.put("client_id",client.getIntValue("client_id")); + record.put("refund_pwd", pwdHash); + record.put("refund_pwd_salt", salt); + clientConfigMapper.update(record); } @Override public void validRefundPwd(JSONObject account, String pwd) { - JSONObject client = getClientInfo(account.getIntValue("client_id")); - String salt = client.getString("refund_pwd_salt"); + JSONObject clientConfig = clientConfigMapper.find(account.getIntValue("client_id")); + String salt = clientConfig.getString("refund_pwd_salt"); String pwdHash = PasswordUtils.hashPwd(pwd, salt); - if (!client.getString("refund_pwd").equals(pwdHash)) { + if (!clientConfig.getString("refund_pwd").equals(pwdHash)) { throw new ForbiddenException("Invalid Pwd"); } } @Override public void setWeekendDelay(int clientId, boolean delay) { - JSONObject clientUpdate = new JSONObject(); - clientUpdate.put("client_id", clientId); - clientUpdate.put("weekend_delay", delay); - clientMapper.update(clientUpdate); + JSONObject record = new JSONObject(); + record.put("client_id", clientId); + record.put("weekend_delay", delay); + clientConfigMapper.update(record); } @Override @@ -2658,8 +2664,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid JSONObject updateObj = new JSONObject(); updateObj.put("client_id", client.getIntValue("client_id")); updateObj.put("paypad_version", paypad_version); - clientMapper.update(updateObj); - clientInfoCacheSupport.clearClientCache(clientId); + clientConfigMapper.update(updateObj); } @Override @@ -2672,7 +2677,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid JSONObject record = new JSONObject(); record.put("client_id", client_id); record.put("manual_settle", manual_settle); - clientMapper.update(record); + clientConfigMapper.update(record); JSONObject actClientLog = new JSONObject(); actClientLog.put("client_id", client_id); @@ -2682,8 +2687,6 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid actClientLog.put("operator_type", type); clientsOperationLogMapper.save(actClientLog); - clientInfoCacheSupport.clearClientCache(client_id); - } @Override @@ -2696,8 +2699,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid JSONObject updateObj = new JSONObject(); updateObj.put("client_id", client.getIntValue("client_id")); updateObj.put("qrcode_surcharge", paySurcharge); - clientMapper.update(updateObj); - clientInfoCacheSupport.clearClientCache(clientId); + clientConfigMapper.update(updateObj); } @Override @@ -2710,8 +2712,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid JSONObject updateObj = new JSONObject(); updateObj.put("client_id", client.getIntValue("client_id")); updateObj.put("api_surcharge", enableApiSurcharge); - clientMapper.update(updateObj); - clientInfoCacheSupport.clearClientCache(clientId); + clientConfigMapper.update(updateObj); } @Override @@ -2728,8 +2729,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid JSONObject updateObj = new JSONObject(); updateObj.put("client_id", client.getIntValue("client_id")); updateObj.put("retail_surcharge", paySurcharge); - clientMapper.update(updateObj); - clientInfoCacheSupport.clearClientCache(clientId); + clientConfigMapper.update(updateObj); } @Override From 0567dc9b0a82124d7b85733cfdbe8f40ab037400 Mon Sep 17 00:00:00 2001 From: wangning <164851225@qq.com> Date: Tue, 10 Apr 2018 14:08:05 +0800 Subject: [PATCH 02/35] tmp --- .../mappers/system/ClientConfigMapper.java | 30 +++++++++++++++++++ .../mappers/system/ClientsConfigMapper.java | 27 +++++++++++++++++ 2 files changed, 57 insertions(+) create mode 100644 src/main/java/au/com/royalpay/payment/manage/mappers/system/ClientConfigMapper.java create mode 100644 src/main/java/au/com/royalpay/payment/manage/mappers/system/ClientsConfigMapper.java diff --git a/src/main/java/au/com/royalpay/payment/manage/mappers/system/ClientConfigMapper.java b/src/main/java/au/com/royalpay/payment/manage/mappers/system/ClientConfigMapper.java new file mode 100644 index 000000000..31934d5b1 --- /dev/null +++ b/src/main/java/au/com/royalpay/payment/manage/mappers/system/ClientConfigMapper.java @@ -0,0 +1,30 @@ +package au.com.royalpay.payment.manage.mappers.system; + +import java.util.Date; +import java.util.List; + +import org.apache.ibatis.annotations.Param; + +import com.alibaba.fastjson.JSONObject; +import com.github.miemiedev.mybatis.paginator.domain.PageBounds; +import com.github.miemiedev.mybatis.paginator.domain.PageList; + +import cn.yixblog.support.mybatis.autosql.annotations.AdvanceSelect; +import cn.yixblog.support.mybatis.autosql.annotations.AutoMapper; +import cn.yixblog.support.mybatis.autosql.annotations.AutoSql; +import cn.yixblog.support.mybatis.autosql.annotations.SqlType; + +/** + * Created by yixian on 2016-06-25. + */ +@AutoMapper(tablename = "sys_clients_config", pkName = "client_id") +public interface ClientConfigMapper { + @AutoSql(type = SqlType.INSERT) + void save(JSONObject partner); + + @AutoSql(type = SqlType.UPDATE) + int update(JSONObject partner); + + @AutoSql(type = SqlType.SELECT) + JSONObject find(@Param("client_id") int client_id); +} diff --git a/src/main/java/au/com/royalpay/payment/manage/mappers/system/ClientsConfigMapper.java b/src/main/java/au/com/royalpay/payment/manage/mappers/system/ClientsConfigMapper.java new file mode 100644 index 000000000..2cef074d9 --- /dev/null +++ b/src/main/java/au/com/royalpay/payment/manage/mappers/system/ClientsConfigMapper.java @@ -0,0 +1,27 @@ +package au.com.royalpay.payment.manage.mappers.system; + +import java.util.Date; +import java.util.List; + +import org.apache.ibatis.annotations.Param; + +import com.alibaba.fastjson.JSONObject; +import com.github.miemiedev.mybatis.paginator.domain.PageBounds; +import com.github.miemiedev.mybatis.paginator.domain.PageList; + +import cn.yixblog.support.mybatis.autosql.annotations.AdvanceSelect; +import cn.yixblog.support.mybatis.autosql.annotations.AutoMapper; +import cn.yixblog.support.mybatis.autosql.annotations.AutoSql; +import cn.yixblog.support.mybatis.autosql.annotations.SqlType; + +/** + * Created by yixian on 2016-06-25. + */ +@AutoMapper(tablename = "sys_clients_config", pkName = "client_id") +public interface ClientConfigMapper { + @AutoSql(type = SqlType.INSERT) + void save(JSONObject partner); + + @AutoSql(type = SqlType.UPDATE) + int update(JSONObject partner); +} From c0fc07327179db0f331ae8c4cdf2a35b86ea314d Mon Sep 17 00:00:00 2001 From: wangning <164851225@qq.com> Date: Tue, 10 Apr 2018 14:46:09 +0800 Subject: [PATCH 03/35] tmp --- .../merchants/core/ClientConfigService.java | 2 ++ .../core/impls/ClientConfigServiceImpl.java | 5 +++++ .../core/impls/ClientManagerImpl.java | 18 +++++++++--------- .../refund/impls/RefundServiceImpl.java | 15 +++++++++++---- 4 files changed, 27 insertions(+), 13 deletions(-) diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/core/ClientConfigService.java b/src/main/java/au/com/royalpay/payment/manage/merchants/core/ClientConfigService.java index 4fb04d664..7ba8c72c8 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchants/core/ClientConfigService.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/core/ClientConfigService.java @@ -9,4 +9,6 @@ public interface ClientConfigService { void update(JSONObject record,JSONObject account); + JSONObject find(int client_id); + } diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientConfigServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientConfigServiceImpl.java index 8508bdd77..beaaa60d9 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientConfigServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientConfigServiceImpl.java @@ -14,4 +14,9 @@ public class ClientConfigServiceImpl implements ClientConfigService { public void update(JSONObject record, JSONObject account) { } + + @Override + public JSONObject find(int client_id) { + return clientConfigMapper.find(client_id); + } } 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 3e1185932..598c41d38 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 @@ -148,7 +148,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid @Resource private ClientMapper clientMapper; @Resource - private ClientConfigMapper clientConfigMapper; + private ClientConfigServiceImpl clientConfigService; @Resource private ClientDeviceMapper clientDeviceMapper; @Resource @@ -2253,12 +2253,12 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid record.put("client_id",client.getIntValue("client_id")); record.put("refund_pwd", pwdHash); record.put("refund_pwd_salt", salt); - clientConfigMapper.update(record); + clientConfigService.update(record); } @Override public void validRefundPwd(JSONObject account, String pwd) { - JSONObject clientConfig = clientConfigMapper.find(account.getIntValue("client_id")); + JSONObject clientConfig = clientConfigService.find(account.getIntValue("client_id")); String salt = clientConfig.getString("refund_pwd_salt"); String pwdHash = PasswordUtils.hashPwd(pwd, salt); if (!clientConfig.getString("refund_pwd").equals(pwdHash)) { @@ -2271,7 +2271,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid JSONObject record = new JSONObject(); record.put("client_id", clientId); record.put("weekend_delay", delay); - clientConfigMapper.update(record); + clientConfigService.update(record); } @Override @@ -2664,7 +2664,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid JSONObject updateObj = new JSONObject(); updateObj.put("client_id", client.getIntValue("client_id")); updateObj.put("paypad_version", paypad_version); - clientConfigMapper.update(updateObj); + clientConfigService.update(updateObj); } @Override @@ -2677,7 +2677,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid JSONObject record = new JSONObject(); record.put("client_id", client_id); record.put("manual_settle", manual_settle); - clientConfigMapper.update(record); + clientConfigService.update(record); JSONObject actClientLog = new JSONObject(); actClientLog.put("client_id", client_id); @@ -2699,7 +2699,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid JSONObject updateObj = new JSONObject(); updateObj.put("client_id", client.getIntValue("client_id")); updateObj.put("qrcode_surcharge", paySurcharge); - clientConfigMapper.update(updateObj); + clientConfigService.update(updateObj); } @Override @@ -2712,7 +2712,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid JSONObject updateObj = new JSONObject(); updateObj.put("client_id", client.getIntValue("client_id")); updateObj.put("api_surcharge", enableApiSurcharge); - clientConfigMapper.update(updateObj); + clientConfigService.update(updateObj); } @Override @@ -2729,7 +2729,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid JSONObject updateObj = new JSONObject(); updateObj.put("client_id", client.getIntValue("client_id")); updateObj.put("retail_surcharge", paySurcharge); - clientConfigMapper.update(updateObj); + clientConfigService.update(updateObj); } @Override diff --git a/src/main/java/au/com/royalpay/payment/manage/tradelog/refund/impls/RefundServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/tradelog/refund/impls/RefundServiceImpl.java index 6a77fe285..a6b9fcbc6 100644 --- a/src/main/java/au/com/royalpay/payment/manage/tradelog/refund/impls/RefundServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/tradelog/refund/impls/RefundServiceImpl.java @@ -11,6 +11,7 @@ import au.com.royalpay.payment.manage.mappers.payment.RefundMapper; import au.com.royalpay.payment.manage.mappers.payment.RefundReviewMapper; import au.com.royalpay.payment.manage.mappers.system.ClientBDMapper; import au.com.royalpay.payment.manage.mappers.system.ClientMapper; +import au.com.royalpay.payment.manage.merchants.core.ClientConfigService; import au.com.royalpay.payment.manage.merchants.core.ClientManager; import au.com.royalpay.payment.manage.tradelog.refund.RefundService; import au.com.royalpay.payment.manage.tradelog.refund.events.NewRefundReviewEvent; @@ -22,22 +23,24 @@ import au.com.royalpay.payment.tools.exceptions.ForbiddenException; import au.com.royalpay.payment.tools.permission.enums.PartnerRole; import au.com.royalpay.payment.tools.utils.CurrencyAmountUtils; import au.com.royalpay.payment.tools.utils.PageListUtils; + import com.alibaba.fastjson.JSONObject; import com.github.miemiedev.mybatis.paginator.domain.PageBounds; import com.github.miemiedev.mybatis.paginator.domain.PageList; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.context.ApplicationEventPublisher; import org.springframework.context.ApplicationEventPublisherAware; import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; import org.springframework.util.Assert; -import javax.annotation.Resource; import java.math.BigDecimal; import java.util.Date; import java.util.List; +import javax.annotation.Resource; + /** * Created by yixian on 2016-07-04. */ @@ -62,6 +65,8 @@ public class RefundServiceImpl implements RefundService, ApplicationEventPublish private SysConfigMapper sysConfigMapper; @Resource private CouponAccuessLogMapper couponAccuessLogMapper; + @Resource + private ClientConfigService clientConfigService; @Resource private PaymentApi paymentApi; @@ -141,8 +146,9 @@ public class RefundServiceImpl implements RefundService, ApplicationEventPublish //增加角色审核 JSONObject client = clientManager.getClientInfo(clientId); Assert.notNull(client, "client not exists"); + JSONObject clientConfig = clientConfigService.find(clientId); OperatorType type = account != null ? OperatorType.PARTNER : OperatorType.MANAGER; - boolean requireAudit = type == OperatorType.PARTNER && PartnerRole.getRole(account.getIntValue("role")) == PartnerRole.CASHIER && client.getBooleanValue("enable_refund_auth"); + boolean requireAudit = type == OperatorType.PARTNER && PartnerRole.getRole(account.getIntValue("role")) == PartnerRole.CASHIER && clientConfig.getBooleanValue("enable_refund_auth"); logger.debug("applyer type=" + type + "; require audit=" + requireAudit); paymentApi.clientRefundBalanceCheck(clientId, orderId, currency, feeAmount); @@ -200,6 +206,7 @@ public class RefundServiceImpl implements RefundService, ApplicationEventPublish private JSONObject executeRefund(String orderId, BigDecimal amount, String remark, JSONObject partnerAccount, JSONObject manager, JSONObject order, JSONObject client) { checkOrderUseCustomerCoupon(order, amount); + JSONObject clientConfig = clientConfigService.find(client.getIntValue("client_id")); OperatorType type = partnerAccount != null ? OperatorType.PARTNER : OperatorType.MANAGER; JSONObject operator = new JSONObject(); if (type == OperatorType.PARTNER) { @@ -213,7 +220,7 @@ public class RefundServiceImpl implements RefundService, ApplicationEventPublish operator.put("operator_id", manager.getIntValue("manager_id")); operator.put("operator", manager.getString("display_name")); } - boolean requireAudit = type == OperatorType.PARTNER && PartnerRole.getRole(partnerAccount.getIntValue("role")) == PartnerRole.CASHIER && client.getBooleanValue("enable_refund_auth"); + boolean requireAudit = type == OperatorType.PARTNER && PartnerRole.getRole(partnerAccount.getIntValue("role")) == PartnerRole.CASHIER && clientConfig.getBooleanValue("enable_refund_auth"); logger.debug("applyer type=" + type + "; require audit=" + requireAudit); return paymentApi.refundOrder(orderId, null, amount, remark, operator, type, requireAudit); } From 24f2c0bf95b5290d1a3347561348895f61df0b41 Mon Sep 17 00:00:00 2001 From: wangning <164851225@qq.com> Date: Wed, 11 Apr 2018 14:48:07 +0800 Subject: [PATCH 04/35] =?UTF-8?q?=E8=B0=83=E6=95=B4=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E5=95=86=E6=88=B7=E4=BF=A1=E6=81=AF=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/impls/RetailAppServiceImp.java | 42 ++++++++------- .../clearing/core/impl/CleanServiceImpl.java | 7 ++- .../mappers/system/ClientConfigMapper.java | 2 +- .../mappers/system/ClientsConfigMapper.java | 27 ---------- .../merchants/core/ClientConfigService.java | 2 +- .../core/impls/ClientConfigServiceImpl.java | 5 +- .../core/impls/ClientManagerImpl.java | 11 ++-- .../listeners/NewRateEventListener.java | 14 ++++- .../core/impls/SignInAccountServiceImpl.java | 5 ++ .../core/impl/ClientContractServiceImpl.java | 6 ++- .../refund/impls/RefundServiceImpl.java | 6 +-- .../manage/tradelog/web/RefundController.java | 21 +++++--- .../templates/refund_audit_list.html | 51 +++++++++++++++++++ 13 files changed, 131 insertions(+), 68 deletions(-) delete mode 100644 src/main/java/au/com/royalpay/payment/manage/mappers/system/ClientsConfigMapper.java create mode 100644 src/main/resources/templates/refund_audit_list.html diff --git a/src/main/java/au/com/royalpay/payment/manage/appclient/core/impls/RetailAppServiceImp.java b/src/main/java/au/com/royalpay/payment/manage/appclient/core/impls/RetailAppServiceImp.java index 49df6eff6..6bce737ff 100644 --- a/src/main/java/au/com/royalpay/payment/manage/appclient/core/impls/RetailAppServiceImp.java +++ b/src/main/java/au/com/royalpay/payment/manage/appclient/core/impls/RetailAppServiceImp.java @@ -21,6 +21,7 @@ import au.com.royalpay.payment.manage.mappers.system.ClientDeviceTokenMapper; import au.com.royalpay.payment.manage.mappers.system.ClientSettleDelayConfMapper; 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.ClientConfigService; import au.com.royalpay.payment.manage.merchants.core.ClientManager; import au.com.royalpay.payment.manage.notice.beans.NoticeInfo; import au.com.royalpay.payment.manage.notice.core.NoticeManage; @@ -140,6 +141,8 @@ public class RetailAppServiceImp implements RetailAppService { private NoticePartnerMapper noticePartnerMapper; @Resource private AppActService appActService; + @Resource + private ClientConfigService clientConfigService; private Map senderMap = new HashMap<>(); @@ -244,7 +247,9 @@ public class RetailAppServiceImp implements RetailAppService { public JSONObject getClientInfo(JSONObject device) { String clientType = device.getString("client_type"); deviceSupport.findRegister(clientType); - JSONObject res = SignInAccountServiceImpl.clientInfoWithNoSecretInfo(clientManager.getClientInfo(device.getIntValue("client_id"))); + JSONObject clientWithConfig = clientManager.getClientInfo(device.getIntValue("client_id")); + clientWithConfig.putAll(clientConfigService.find(device.getIntValue("client_id"))); + JSONObject res = SignInAccountServiceImpl.clientInfoWithNoSecretInfo(clientWithConfig); res.put("is_skip_clearing", res.getBoolean("skip_clearing")); if (clientType.equals("iphone")) { res.put("skip_clearing", !res.getBoolean("skip_clearing")); @@ -285,12 +290,13 @@ public class RetailAppServiceImp implements RetailAppService { user = JSON.parseObject(user.toJSONString()); return user; } else { - JSONObject client = clientManager.getClientInfo(device.getIntValue("client_id")); - client = SignInAccountServiceImpl.clientInfoWithNoSecretInfo(client); - client.put("terminal_id", device.getString("client_dev_id")); - client.put("dev_type", device.getString("client_type")); - client.put("dev_name", device.getString("remark")); - return client; + JSONObject clientWithConfig =clientManager.getClientInfo(device.getIntValue("client_id")); + clientWithConfig.putAll(clientConfigService.find(device.getIntValue("client_id"))); + clientWithConfig = SignInAccountServiceImpl.clientInfoWithNoSecretInfo(clientWithConfig); + clientWithConfig.put("terminal_id", device.getString("client_dev_id")); + clientWithConfig.put("dev_type", device.getString("client_type")); + clientWithConfig.put("dev_name", device.getString("remark")); + return clientWithConfig; } } @@ -959,12 +965,12 @@ public class RetailAppServiceImp implements RetailAppService { JSONObject res = merchantInfoProvider.clientCurrentRate(clientId, now, "Wechat"); JSONObject client = clientManager.getClientInfo(clientId); Assert.notNull(client, "Client is null"); - + JSONObject clientConfig = clientConfigService.find(clientId); JSONObject[] channels = new JSONObject[3]; - - if (client.getBigDecimal("customer_surcharge_rate") != null) { - res.put("customer_surcharge_rate", client.getBigDecimal("customer_surcharge_rate")); + if (clientConfig.getBigDecimal("customer_surcharge_rate") != null) { + res.put("customer_surcharge_rate", clientConfig.getBigDecimal("customer_surcharge_rate")); } + res.put("max_customer_surcharge_rate", PlatformEnvironment.getEnv().getMaxCustomerSurchargeRate()); channels[0] = getChannel(clientId, now, "Wechat"); @@ -984,10 +990,10 @@ public class RetailAppServiceImp implements RetailAppService { JSONObject res = merchantInfoProvider.clientCurrentRate(clientId, now, "Wechat"); JSONObject client = clientManager.getClientInfo(clientId); Assert.notNull(client, "Client is null"); - + JSONObject clientConfig = clientConfigService.find(clientId); ArrayList channels = new ArrayList<>(); - if (client.getBigDecimal("customer_surcharge_rate") != null) { - res.put("customer_surcharge_rate", client.getBigDecimal("customer_surcharge_rate")); + if (clientConfig.getBigDecimal("customer_surcharge_rate") != null) { + res.put("customer_surcharge_rate", clientConfig.getBigDecimal("customer_surcharge_rate")); } res.put("max_customer_surcharge_rate", PlatformEnvironment.getEnv().getMaxCustomerSurchargeRate()); JSONObject wechat = getChannel(clientId, now, "Wechat"); @@ -1193,8 +1199,8 @@ public class RetailAppServiceImp implements RetailAppService { res = cashbackService.getCashbackAmount(params); JSONObject rate = merchantInfoProvider.clientCurrentRate(device.getIntValue("client_id"), new Date(), "Wechat"); if (rate.getInteger("clean_days") == null) { - JSONObject client = clientManager.getClientInfo(device.getIntValue("client_id")); - rate.put("clean_days", client.getIntValue("clean_days")); + JSONObject clientConfig = clientConfigService.find(device.getIntValue("client_id")); + rate.put("clean_days", clientConfig.getIntValue("clean_days")); } res.put("clean_days", rate.getIntValue("clean_days")); return res; @@ -1287,8 +1293,8 @@ public class RetailAppServiceImp implements RetailAppService { JSONObject res = clientManager.getBankAccountByClientId(Integer.parseInt(client_id)); JSONObject rate = merchantInfoProvider.clientCurrentRate(Integer.parseInt(client_id), new Date(), "Wechat"); if (rate.getInteger("clean_days") == null) { - JSONObject client = clientManager.getClientInfo(Integer.parseInt(client_id)); - rate.put("clean_days", client.getIntValue("clean_days")); + JSONObject clientConfig = clientConfigService.find(Integer.parseInt(client_id)); + rate.put("clean_days", clientConfig.getIntValue("clean_days")); } res.put("clean_days", rate.getIntValue("clean_days")); return res; diff --git a/src/main/java/au/com/royalpay/payment/manage/management/clearing/core/impl/CleanServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/management/clearing/core/impl/CleanServiceImpl.java index 8237ba8bf..872e59fbb 100644 --- a/src/main/java/au/com/royalpay/payment/manage/management/clearing/core/impl/CleanServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/management/clearing/core/impl/CleanServiceImpl.java @@ -14,6 +14,7 @@ import au.com.royalpay.payment.manage.mappers.system.CalendarMapper; import au.com.royalpay.payment.manage.mappers.system.ClientRateMapper; import au.com.royalpay.payment.manage.mappers.system.ManagerMapper; import au.com.royalpay.payment.manage.mappers.system.RateMapper; +import au.com.royalpay.payment.manage.merchants.core.ClientConfigService; import au.com.royalpay.payment.manage.merchants.core.ClientManager; import au.com.royalpay.payment.manage.notice.core.MailService; import au.com.royalpay.payment.manage.signin.beans.TodoNotice; @@ -139,6 +140,8 @@ public class CleanServiceImpl implements CleanService, ManagerTodoNoticeProvider private CalendarMapper calendarMapper; @Resource private SpringTemplateEngine thymeleaf; + @Resource + private ClientConfigService clientConfigService; @Value("${app.settlement.email-to}") private String settlementEmailTo; @@ -501,8 +504,8 @@ public class CleanServiceImpl implements CleanService, ManagerTodoNoticeProvider private boolean isClientIgnored(JSONObject transaction) { int clientId = transaction.getIntValue("client_id"); - JSONObject client = clientManager.getClientInfo(clientId); - return client.getBooleanValue("skip_clearing"); + JSONObject clientConfig = clientConfigService.find(clientId); + return clientConfig.getBooleanValue("skip_clearing"); } @Override diff --git a/src/main/java/au/com/royalpay/payment/manage/mappers/system/ClientConfigMapper.java b/src/main/java/au/com/royalpay/payment/manage/mappers/system/ClientConfigMapper.java index 31934d5b1..861baf18a 100644 --- a/src/main/java/au/com/royalpay/payment/manage/mappers/system/ClientConfigMapper.java +++ b/src/main/java/au/com/royalpay/payment/manage/mappers/system/ClientConfigMapper.java @@ -15,7 +15,7 @@ import cn.yixblog.support.mybatis.autosql.annotations.AutoSql; import cn.yixblog.support.mybatis.autosql.annotations.SqlType; /** - * Created by yixian on 2016-06-25. + * Created by wangning on 2018-04-08. */ @AutoMapper(tablename = "sys_clients_config", pkName = "client_id") public interface ClientConfigMapper { diff --git a/src/main/java/au/com/royalpay/payment/manage/mappers/system/ClientsConfigMapper.java b/src/main/java/au/com/royalpay/payment/manage/mappers/system/ClientsConfigMapper.java deleted file mode 100644 index 2cef074d9..000000000 --- a/src/main/java/au/com/royalpay/payment/manage/mappers/system/ClientsConfigMapper.java +++ /dev/null @@ -1,27 +0,0 @@ -package au.com.royalpay.payment.manage.mappers.system; - -import java.util.Date; -import java.util.List; - -import org.apache.ibatis.annotations.Param; - -import com.alibaba.fastjson.JSONObject; -import com.github.miemiedev.mybatis.paginator.domain.PageBounds; -import com.github.miemiedev.mybatis.paginator.domain.PageList; - -import cn.yixblog.support.mybatis.autosql.annotations.AdvanceSelect; -import cn.yixblog.support.mybatis.autosql.annotations.AutoMapper; -import cn.yixblog.support.mybatis.autosql.annotations.AutoSql; -import cn.yixblog.support.mybatis.autosql.annotations.SqlType; - -/** - * Created by yixian on 2016-06-25. - */ -@AutoMapper(tablename = "sys_clients_config", pkName = "client_id") -public interface ClientConfigMapper { - @AutoSql(type = SqlType.INSERT) - void save(JSONObject partner); - - @AutoSql(type = SqlType.UPDATE) - int update(JSONObject partner); -} diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/core/ClientConfigService.java b/src/main/java/au/com/royalpay/payment/manage/merchants/core/ClientConfigService.java index 7ba8c72c8..d57bb1e6d 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchants/core/ClientConfigService.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/core/ClientConfigService.java @@ -7,7 +7,7 @@ import com.alibaba.fastjson.JSONObject; */ public interface ClientConfigService { - void update(JSONObject record,JSONObject account); + void update(JSONObject record); JSONObject find(int client_id); diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientConfigServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientConfigServiceImpl.java index beaaa60d9..c040e1224 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientConfigServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientConfigServiceImpl.java @@ -5,13 +5,16 @@ import au.com.royalpay.payment.manage.merchants.core.ClientConfigService; import com.alibaba.fastjson.JSONObject; +import org.springframework.stereotype.Service; + import javax.annotation.Resource; +@Service public class ClientConfigServiceImpl implements ClientConfigService { @Resource private ClientConfigMapper clientConfigMapper; @Override - public void update(JSONObject record, JSONObject account) { + public void update(JSONObject record) { } 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 598c41d38..7732c72b6 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 @@ -21,7 +21,6 @@ import au.com.royalpay.payment.manage.mappers.system.ClientApplyMapper; import au.com.royalpay.payment.manage.mappers.system.ClientAuditProcessMapper; import au.com.royalpay.payment.manage.mappers.system.ClientBDMapper; import au.com.royalpay.payment.manage.mappers.system.ClientBankAccountMapper; -import au.com.royalpay.payment.manage.mappers.system.ClientConfigMapper; import au.com.royalpay.payment.manage.mappers.system.ClientDeviceMapper; import au.com.royalpay.payment.manage.mappers.system.ClientFilesMapper; import au.com.royalpay.payment.manage.mappers.system.ClientMapper; @@ -40,6 +39,7 @@ import au.com.royalpay.payment.manage.merchants.beans.NewAccountBean; import au.com.royalpay.payment.manage.merchants.beans.PartnerQuery; import au.com.royalpay.payment.manage.merchants.beans.SubMerchantIdApply; import au.com.royalpay.payment.manage.merchants.core.ClientComplyValidator; +import au.com.royalpay.payment.manage.merchants.core.ClientConfigService; import au.com.royalpay.payment.manage.merchants.core.ClientInfoCacheSupport; import au.com.royalpay.payment.manage.merchants.core.ClientManager; import au.com.royalpay.payment.manage.notice.core.MailService; @@ -148,7 +148,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid @Resource private ClientMapper clientMapper; @Resource - private ClientConfigServiceImpl clientConfigService; + private ClientConfigService clientConfigService; @Resource private ClientDeviceMapper clientDeviceMapper; @Resource @@ -1804,7 +1804,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid } update.put("customer_surcharge_rate", customer_surcharge_rate); } - clientMapper.update(update); + clientConfigService.update(update); } @Override @@ -2245,10 +2245,11 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid @Override public void updateRefundPwd(JSONObject account, String pwd) { JSONObject client = getClientInfo(account.getIntValue("client_id")); + if(client==null){ + throw new BadRequestException("Client Not Found"); + } String salt = PasswordUtils.newSalt(); String pwdHash = PasswordUtils.hashPwd(pwd, salt); - client.put("refund_pwd", pwdHash); - client.put("refund_pwd_salt", salt); JSONObject record = new JSONObject(); record.put("client_id",client.getIntValue("client_id")); record.put("refund_pwd", pwdHash); diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/events/listeners/NewRateEventListener.java b/src/main/java/au/com/royalpay/payment/manage/merchants/events/listeners/NewRateEventListener.java index c7eae9409..558840b81 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchants/events/listeners/NewRateEventListener.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/events/listeners/NewRateEventListener.java @@ -1,17 +1,21 @@ package au.com.royalpay.payment.manage.merchants.events.listeners; import au.com.royalpay.payment.manage.merchants.beans.ClientRateConfig; +import au.com.royalpay.payment.manage.merchants.core.ClientConfigService; import au.com.royalpay.payment.manage.merchants.core.ClientManager; import au.com.royalpay.payment.manage.merchants.events.ClientSignEvent; import au.com.royalpay.payment.tools.merchants.core.MerchantInfoProvider; + import com.alibaba.fastjson.JSONObject; + import org.joda.time.DateTime; import org.springframework.context.ApplicationListener; import org.springframework.stereotype.Component; -import javax.annotation.Resource; import java.util.Date; +import javax.annotation.Resource; + /** * Created by yixian on 2017-04-11. */ @@ -21,16 +25,22 @@ public class NewRateEventListener implements ApplicationListener + + + Payment Notice + + + + + + + + +
+
+
+
+ +
+
+

+
+
+
+
+
+

There is no refund applies at the moment!

+
+
+ asdlkjasd +
+
+
+ +
+
+
+
+ + \ No newline at end of file From 90b37f3baba573be2751d7fc5f43c83bf2ba33ab Mon Sep 17 00:00:00 2001 From: wangning <164851225@qq.com> Date: Wed, 11 Apr 2018 18:43:58 +0800 Subject: [PATCH 05/35] =?UTF-8?q?=E5=95=86=E6=88=B7=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E6=A3=80=E6=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impls/PartnerCardDashboardServiceImp.java | 9 +++++-- .../apps/web/CustomerRMIController.java | 7 +++++- .../impls/XPlanFundConfigServiceImpl.java | 9 ++++++- .../core/impls/XPlanFundProcessorImpl.java | 4 +++ .../core/impls/ClientManagerImpl.java | 12 +++++++-- .../core/impls/SignInAccountServiceImpl.java | 3 +++ .../manage/mappers/system/ClientMapper.xml | 25 +++++++++++-------- 7 files changed, 53 insertions(+), 16 deletions(-) diff --git a/src/main/java/au/com/royalpay/payment/manage/analysis/core/impls/PartnerCardDashboardServiceImp.java b/src/main/java/au/com/royalpay/payment/manage/analysis/core/impls/PartnerCardDashboardServiceImp.java index bf8f511a1..e8cecab34 100644 --- a/src/main/java/au/com/royalpay/payment/manage/analysis/core/impls/PartnerCardDashboardServiceImp.java +++ b/src/main/java/au/com/royalpay/payment/manage/analysis/core/impls/PartnerCardDashboardServiceImp.java @@ -1,6 +1,5 @@ package au.com.royalpay.payment.manage.analysis.core.impls; -import au.com.royalpay.payment.channels.wechat.runtime.MpPaymentApi; import au.com.royalpay.payment.core.PaymentApi; import au.com.royalpay.payment.manage.analysis.beans.AnalysisBean; import au.com.royalpay.payment.manage.analysis.core.DashboardService; @@ -8,10 +7,12 @@ import au.com.royalpay.payment.manage.analysis.core.PartnerCardDashboardService; import au.com.royalpay.payment.manage.analysis.mappers.CustomerAndOrdersStatisticsMapper; import au.com.royalpay.payment.manage.analysis.mappers.TransactionAnalysisMapper; import au.com.royalpay.payment.manage.mappers.payment.TransactionMapper; +import au.com.royalpay.payment.manage.merchants.core.ClientConfigService; import au.com.royalpay.payment.manage.merchants.core.ClientManager; import au.com.royalpay.payment.manage.tradelog.beans.TradeLogQuery; import au.com.royalpay.payment.tools.merchants.core.MerchantInfoProvider; import au.com.royalpay.payment.tools.utils.PageListUtils; + import com.alibaba.fastjson.JSONObject; import com.github.miemiedev.mybatis.paginator.domain.Order; import com.github.miemiedev.mybatis.paginator.domain.PageBounds; @@ -21,11 +22,12 @@ import org.apache.commons.lang3.time.DateFormatUtils; import org.springframework.stereotype.Service; import org.springframework.util.Assert; -import javax.annotation.Resource; import java.math.BigDecimal; import java.util.Date; import java.util.List; +import javax.annotation.Resource; + /** * Created by yishuqian on 20/02/2017. */ @@ -44,10 +46,13 @@ public class PartnerCardDashboardServiceImp implements PartnerCardDashboardServi @Resource private MerchantInfoProvider merchantInfoProvider; @Resource + private ClientConfigService clientConfigService; + @Resource private PaymentApi paymentApi; @Override public JSONObject getCommonAnalysis(String client_moniker) { JSONObject client = clientManager.getClientInfoByMoniker(client_moniker); + client.putAll(clientConfigService.find(client.getIntValue("client_id"))); JSONObject earlistOrder = transactionAnalysisMapper.getEarliestOrder(client.getIntValue("client_id")); Date data = new Date(); if (earlistOrder != null){ diff --git a/src/main/java/au/com/royalpay/payment/manage/apps/web/CustomerRMIController.java b/src/main/java/au/com/royalpay/payment/manage/apps/web/CustomerRMIController.java index 61930c134..f7516e137 100644 --- a/src/main/java/au/com/royalpay/payment/manage/apps/web/CustomerRMIController.java +++ b/src/main/java/au/com/royalpay/payment/manage/apps/web/CustomerRMIController.java @@ -1,6 +1,7 @@ package au.com.royalpay.payment.manage.apps.web; import au.com.royalpay.payment.manage.apps.AppController; +import au.com.royalpay.payment.manage.merchants.core.ClientConfigService; import au.com.royalpay.payment.manage.merchants.core.ClientManager; import au.com.royalpay.payment.tools.CommonConsts; import com.alibaba.fastjson.JSONObject; @@ -13,10 +14,14 @@ import javax.annotation.Resource; public class CustomerRMIController { @Resource private ClientManager clientManager; + @Resource + private ClientConfigService clientConfigService; @RequestMapping(value = "/{client_moniker}", method = RequestMethod.GET) @ResponseBody public JSONObject checkPointsAfterPay(@PathVariable String client_moniker, @ModelAttribute(CommonConsts.APP_INFO) JSONObject app) { - return clientManager.getClientInfoByMoniker(client_moniker); + JSONObject result = clientManager.getClientInfoByMoniker(client_moniker); + result.putAll(clientConfigService.find(result.getIntValue("client_id"))); + return result; } } diff --git a/src/main/java/au/com/royalpay/payment/manage/fund/core/impls/XPlanFundConfigServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/fund/core/impls/XPlanFundConfigServiceImpl.java index c68175790..0b9453fac 100644 --- a/src/main/java/au/com/royalpay/payment/manage/fund/core/impls/XPlanFundConfigServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/fund/core/impls/XPlanFundConfigServiceImpl.java @@ -7,6 +7,7 @@ import au.com.royalpay.payment.manage.mappers.funds.FundsConfigMapper; import au.com.royalpay.payment.manage.mappers.funds.XPlanMerchantMapper; import au.com.royalpay.payment.manage.mappers.funds.XPlanOperationLogMapper; import au.com.royalpay.payment.manage.mappers.funds.XPlanTransactionMapper; +import au.com.royalpay.payment.manage.merchants.core.ClientConfigService; import au.com.royalpay.payment.manage.merchants.core.ClientManager; import au.com.royalpay.payment.tools.CommonConsts; import au.com.royalpay.payment.tools.env.RequestEnvironment; @@ -14,18 +15,21 @@ import au.com.royalpay.payment.tools.env.SysConfigManager; import au.com.royalpay.payment.tools.exceptions.BadRequestException; import au.com.royalpay.payment.tools.exceptions.ForbiddenException; import au.com.royalpay.payment.tools.utils.PageListUtils; + 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.springframework.stereotype.Service; -import javax.annotation.Resource; import java.math.BigDecimal; import java.util.ArrayList; import java.util.Date; import java.util.List; +import javax.annotation.Resource; + /** * Create by yixian at 2017-09-14 17:33 */ @@ -44,6 +48,8 @@ public class XPlanFundConfigServiceImpl implements XPlanFundConfigService { private XPlanMerchantMapper xPlanMerchantMapper; @Resource private XPlanTransactionMapper xPlanTransactionMapper; + @Resource + private ClientConfigService clientConfigService; @Override public void configuration(XPlanFundConfig config, JSONObject manager) { @@ -112,6 +118,7 @@ public class XPlanFundConfigServiceImpl implements XPlanFundConfigService { private JSONObject getClient(String clientMoniker) { JSONObject client = clientManager.getClientInfoByMoniker(clientMoniker); + client.putAll(clientConfigService.find(client.getIntValue("client_id"))); if (client == null) { throw new InvalidShortIdException(); } 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 0ae302465..324d2fde2 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 @@ -10,6 +10,7 @@ import au.com.royalpay.payment.manage.mappers.funds.*; import au.com.royalpay.payment.manage.mappers.payment.TransactionMapper; import au.com.royalpay.payment.manage.mappers.system.CalendarMapper; import au.com.royalpay.payment.manage.mappers.system.ClientAccountMapper; +import au.com.royalpay.payment.manage.merchants.core.ClientConfigService; import au.com.royalpay.payment.manage.merchants.core.ClientManager; import au.com.royalpay.payment.tools.permission.enums.PartnerRole; import au.com.royalpay.payment.tools.exceptions.BadRequestException; @@ -66,6 +67,8 @@ public class XPlanFundProcessorImpl implements XPlanFundProcesor { private XPlanInterestClientLogMapper xPlanInterestClientLogMapper; @Resource private XPlanFundConfigService xPlanFundConfigService; + @Resource + private ClientConfigService clientConfigService; @Resource(name = "systemCalculator") private SettlementDetailCalculator systemCalculator; @@ -395,6 +398,7 @@ public class XPlanFundProcessorImpl implements XPlanFundProcesor { private JSONObject getClient(String clientMoniker) { JSONObject client = clientManager.getClientInfoByMoniker(clientMoniker); + client.putAll(clientConfigService.find(client.getIntValue("client_id"))); if (client == null) { throw new InvalidShortIdException(); } 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 7732c72b6..457bd444d 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 @@ -275,6 +275,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid if (manager != null) { checkClientOrg(manager, client); } + client.putAll(clientConfigService.find(client.getIntValue("client_id"))); client.put("show_all_permission", true); int role = manager != null ? manager.getIntValue("role") : 0; if (manager != null) { @@ -601,6 +602,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid if (client.getString("sub_merchant_id") == null || client.getString("sub_merchant_id").equals("")) { throw new BadRequestException("该商户未设置微信 Sub Merchant ID!"); } + client.putAll(clientConfigService.find(client.getIntValue("client_id"))); Integer open_status = client.getInteger("open_status"); boolean checkGreenChannel = client.getIntValue("approve_result") == 2 && (client.getIntValue("source") == 1 || client.getIntValue("source") == 2); client.put("approve_result", pass); @@ -1180,6 +1182,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid throw new NotFoundException("Partner Not Exists"); } int clientId = client.getIntValue("client_id"); + JSONObject clientConfig = clientConfigService.find(clientId); List rates = new ArrayList<>(); for (PaymentChannelApi channel : channels) { rates.addAll(merchantInfoProvider.listClientRates(clientId, new Date(), channel.channel(), includingInactive)); @@ -1188,7 +1191,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid try { for (JSONObject rate : rates) { if (rate.get("clean_days") == null) { - rate.put("clean_days", client.getIntValue("clean_days")); + rate.put("clean_days", clientConfig.getIntValue("clean_days")); } } } catch (Exception ignore) { @@ -1829,6 +1832,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid if (client == null) { throw new InvalidShortIdException(); } + client.putAll(clientConfigService.find(client.getIntValue("client_id"))); String address = client.getString("address") + "," + client.getString("suburb") + ',' + client.getString("state") + ',' + client.getString("postcode"); client.remove("address"); client.put("address", address); @@ -1882,6 +1886,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid if (client == null) { throw new InvalidShortIdException(); } + client.putAll(clientConfigService.find(client.getIntValue("client_id"))); String address = client.getString("address").trim(); if (address.contains(",")) { client.put("address", address.substring(0, address.lastIndexOf(",")).trim()); @@ -1982,6 +1987,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid if (client == null) { throw new InvalidShortIdException(); } + client.putAll(clientConfigService.find(client.getIntValue("client_id"))); String address = client.getString("address").trim(); if (address.contains(",")) { client.put("address", address.substring(0, address.lastIndexOf(",")).trim()); @@ -2495,6 +2501,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid if (client == null) { throw new InvalidShortIdException(); } + client.putAll(clientConfigService.find(client.getIntValue("client_id"))); if (client.getInteger("open_status") == null) { int countProduct = commoditiesMapper.checkProduct(client.getInteger("client_id")); if (countProduct <= 0) { @@ -2567,7 +2574,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid if (client == null) { throw new InvalidShortIdException(); } - + client.putAll(clientConfigService.find(client.getIntValue("client_id"))); if (manager != null && ManagerRole.BD_USER.hasRole(manager.getIntValue("role"))) { int bdOperatClientRole = clientBDMapper.checkBDPermission(client.getIntValue("client_id"), manager.getString("manager_id")); if (bdOperatClientRole <= 0) { @@ -2608,6 +2615,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid if (client == null) { throw new InvalidShortIdException(); } + client.putAll(clientConfigService.find(client.getIntValue("client_id"))); if (client.getInteger("open_status") == null) { int countProduct = commoditiesMapper.checkProduct(client.getInteger("client_id")); if (countProduct <= 0) { diff --git a/src/main/java/au/com/royalpay/payment/manage/signin/core/impls/SignInAccountServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/signin/core/impls/SignInAccountServiceImpl.java index e8495d56f..64367ccc3 100644 --- a/src/main/java/au/com/royalpay/payment/manage/signin/core/impls/SignInAccountServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/signin/core/impls/SignInAccountServiceImpl.java @@ -121,6 +121,7 @@ public class SignInAccountServiceImpl implements SignInAccountService, Applicati if (client == null) { throw new ForbiddenException("用户不存在或已禁用"); } + client.putAll(clientConfigService.find(client.getIntValue("parent_client_id"))); client = clientInfoWithNoSecretInfo(client); if (client.getInteger("parent_client_id") != null) { JSONObject rootPartner = clientManager.getClientInfo(client.getIntValue("parent_client_id")); @@ -149,6 +150,7 @@ public class SignInAccountServiceImpl implements SignInAccountService, Applicati JSONObject account = managerMapper.findAvailableByLoginId(loginInfo.getLoginId()); validLoginInfo(loginInfo, account); JSONObject client = clientManager.getClientInfoIgnoreInvalid(account.getIntValue("client_id")); + client.putAll(clientConfigService.find(client.getIntValue("client_id"))); if (client != null && !client.getBooleanValue("is_valid")) { throw new BadRequestException(LocaleSupport.localeMessage("error.login.password")); } @@ -219,6 +221,7 @@ public class SignInAccountServiceImpl implements SignInAccountService, Applicati } JSONObject account = new JSONObject(); client = clientManager.getClientDetailById(client.getIntValue("client_id")); + client.putAll(clientConfigService.find(client.getIntValue("parent_client_id"))); client = clientInfoWithNoSecretInfo(client); if (client.getInteger("parent_client_id") != null) { JSONObject rootPartner = clientManager.getClientInfo(client.getIntValue("parent_client_id")); diff --git a/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ClientMapper.xml b/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ClientMapper.xml index cf3c5638c..553a48705 100644 --- a/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ClientMapper.xml +++ b/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ClientMapper.xml @@ -33,6 +33,7 @@ SELECT - sum(if(((approve_result=4 and open_status is null) or (approve_result=3 and open_status is null) or open_status=1 or open_status=2 or open_status=4),1,0)) wp, - sum(if(approve_result is null and source= 4,1,0)) a_unagree, - sum(if(((approve_result=4 and open_status is null) or (approve_result=3 and open_status is null) or open_status=1 or open_status=2 or open_status=4) and source = 4,1,0)) a_wp, - sum(if(approve_result=2 and source = 4,1,0)) wa, - sum(if(approve_result=1,1,0)) pass, - sum(if(approve_result=1 and source=2,1,0)) z_pass, - sum(if(approve_result=1 and source = 4,1,0)) a_pass, - sum(if(approve_result=0,1,0)) not_pass, - sum(if(source=4,1,0)) quick_pass + sum(if(((scc.approve_result=4 and scc.open_status is null) or (scc.approve_result=3 and scc.open_status is null) or scc.open_status=1 or scc.open_status=2 or scc.open_status=4),1,0)) wp, + sum(if(scc.approve_result is null and scc.source= 4,1,0)) a_unagree, + sum(if(((scc.approve_result=4 and scc.open_status is null) or (scc.approve_result=3 and scc.open_status is null) or scc.open_status=1 or scc.open_status=2 or scc.open_status=4) and scc.source = 4,1,0)) a_wp, + sum(if(scc.approve_result=2 and scc.source = 4,1,0)) wa, + sum(if(scc.approve_result=1,1,0)) pass, + sum(if(scc.approve_result=1 and scc.source=2,1,0)) z_pass, + sum(if(scc.approve_result=1 and scc.source = 4,1,0)) a_pass, + sum(if(scc.approve_result=0,1,0)) not_pass, + sum(if(scc.source=4,1,0)) quick_pass ,sum(if(locate(sub_merchant_id,#{tempSubMchId})>0 and skip_clearing=0,1,0)) temp_submchid - FROM sys_clients where is_valid = 1 + FROM sys_clients c + left join sys_client_config scc on scc.client_id = c.client_id + + where is_valid = 1 @@ -237,7 +238,7 @@ c.client_moniker, c.parent_client_id, c.org_id, - c.clean_days, + cc.clean_days, t.transaction_id, t.transaction_type, t.transaction_time, @@ -252,6 +253,7 @@ o.total_amount FROM pmt_transactions t INNER JOIN sys_clients c ON c.client_id = t.client_id + inner join sys_client_config cc on cc.client_id = c.client_id LEFT JOIN pmt_orders o ON o.order_id = t.order_id WHERE t.clearing_order IS NULL AND t.clearing_status = 0 AND t.channel != 'Settlement' AND t.client_id = #{client_id} AND @@ -415,7 +417,7 @@ t.transaction_currency currency, t.order_id FROM pmt_transactions t - INNER JOIN sys_clients c ON t.client_id = c.client_id AND c.skip_clearing = 0 + INNER JOIN sys_client_config c ON t.client_id = c.client_id AND c.skip_clearing = 0 LEFT JOIN sys_client_rates r ON r.client_id = t.client_id AND date(r.expiry_time) >= DATE(t.transaction_time) AND date(r.active_time) <= DATE(t.transaction_time) @@ -434,7 +436,7 @@ (SELECT round(sum(if(t.transaction_type = 'Credit', t.clearing_amount, -t.clearing_amount)) * (100 - ifnull(min(r.rate_value), 1.6))) / 100 clearing_amount FROM pmt_transactions t - INNER JOIN sys_clients c ON t.client_id = c.client_id AND c.skip_clearing = 0 + INNER JOIN sys_client_config c ON t.client_id = c.client_id AND c.skip_clearing = 0 LEFT JOIN sys_client_rates r ON r.client_id = t.client_id AND date(r.expiry_time) >= DATE(t.transaction_time) AND date(r.active_time) <= DATE(t.transaction_time) @@ -460,7 +462,8 @@ FROM pmt_transactions t INNER JOIN log_clearing_detail d ON d.clear_detail_id = t.clearing_order INNER JOIN log_clearing c ON c.clearing_id = d.clearing_id AND c.clearing_id = #{clear_id} - INNER JOIN sys_clients cl ON cl.client_id = t.client_id AND cl.is_valid = 1 + INNER JOIN sys_clients cl ON cl.client_id = t.client_id + inner join sys_client_config cc on cc.clear_id = cl.client_id and cc.is_valid = 1 WHERE t.transaction_type = 'Credit' OR t.refund_id IS NOT NULL ORDER BY t.order_id ASC @@ -575,6 +578,7 @@ ifnull(so.rate_value, 1) rate_value FROM pmt_transactions t INNER JOIN sys_clients c ON c.client_id = t.client_id + inner join sys_client_config cc on cc.client_id = c.client_id INNER JOIN sys_org so ON c.referrer_id = so.org_id AND so.is_valid = 1 AND so.type = 1 AND so.commission = 1 WHERE year(t.transaction_time) = #{year} AND month(t.transaction_time) = #{month} AND t.channel != 'Settlement' diff --git a/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ClientMapper.xml b/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ClientMapper.xml index 553a48705..f955ba1c2 100644 --- a/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ClientMapper.xml +++ b/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ClientMapper.xml @@ -1,13 +1,8 @@ - - UPDATE sys_clients - SET is_valid = 0 - WHERE client_id = #{client_id} - SELECT DISTINCT c.*,o.name org_name FROM sys_clients c - inner join sys_client_config on scc.client_id = c.client_id inner join sys_org o on o.org_id=c.org_id @@ -166,7 +160,6 @@ @@ -257,22 +252,22 @@ \ No newline at end of file From 4920ab324b003d4b101dda4c5628689434ab9c04 Mon Sep 17 00:00:00 2001 From: wangning <164851225@qq.com> Date: Mon, 16 Apr 2018 13:51:40 +0800 Subject: [PATCH 18/35] update --- .../manage/merchants/core/ClientConfigService.java | 2 ++ .../manage/merchants/core/impls/ClientApplyImpl.java | 8 ++++++++ .../core/impls/ClientConfigServiceImpl.java | 12 +++++++++++- .../merchants/core/impls/ClientManagerImpl.java | 3 +++ 4 files changed, 24 insertions(+), 1 deletion(-) diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/core/ClientConfigService.java b/src/main/java/au/com/royalpay/payment/manage/merchants/core/ClientConfigService.java index d57bb1e6d..e64f35412 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchants/core/ClientConfigService.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/core/ClientConfigService.java @@ -11,4 +11,6 @@ public interface ClientConfigService { JSONObject find(int client_id); + JSONObject save(JSONObject record); + } diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientApplyImpl.java b/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientApplyImpl.java index 2edd62ef9..8fd5a5559 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientApplyImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientApplyImpl.java @@ -9,6 +9,7 @@ import au.com.royalpay.payment.manage.mappers.system.OrgMapper; import au.com.royalpay.payment.manage.merchants.beans.ClientApplyInfo; import au.com.royalpay.payment.manage.merchants.beans.PartnerQuery; import au.com.royalpay.payment.manage.merchants.core.ClientApply; +import au.com.royalpay.payment.manage.merchants.core.ClientConfigService; import au.com.royalpay.payment.manage.merchants.core.ClientModifySupport; import au.com.royalpay.payment.manage.merchants.entity.impls.SourceModify; import au.com.royalpay.payment.manage.merchants.events.ClientApplyEvent; @@ -62,6 +63,8 @@ public class ClientApplyImpl implements ClientApply, ApplicationEventPublisherAw @Value("${app.redis.prefix}") private String redisPrefix; private ApplicationEventPublisher publisher; + @Resource + private ClientConfigService clientConfigService; @Override @Transactional @@ -146,6 +149,7 @@ public class ClientApplyImpl implements ClientApply, ApplicationEventPublisherAw } @Override + @Transactional public JSONObject passPartnerApplication(String client_apply_id, ClientApplyInfo info, JSONObject manager) { JSONObject apply = clientApplyMapper.findClientApplicationById(client_apply_id); @@ -211,6 +215,10 @@ public class ClientApplyImpl implements ClientApply, ApplicationEventPublisherAw partner.put("country","AUS");//自主申请 clientMapper.save(partner); + JSONObject clientConfig = new JSONObject(); + clientConfig.put("client_id",partner.getIntValue("client_id")); + clientConfigService.save(clientConfig); + JSONObject client_bd = new JSONObject(); client_bd.put("client_id", partner.getIntValue("client_id")); client_bd.put("bd_id", manager.getString("manager_id")); diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientConfigServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientConfigServiceImpl.java index c040e1224..52c7f6251 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientConfigServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientConfigServiceImpl.java @@ -2,6 +2,7 @@ package au.com.royalpay.payment.manage.merchants.core.impls; import au.com.royalpay.payment.manage.mappers.system.ClientConfigMapper; import au.com.royalpay.payment.manage.merchants.core.ClientConfigService; +import au.com.royalpay.payment.tools.exceptions.ServerErrorException; import com.alibaba.fastjson.JSONObject; @@ -17,9 +18,18 @@ public class ClientConfigServiceImpl implements ClientConfigService { public void update(JSONObject record) { } - @Override public JSONObject find(int client_id) { return clientConfigMapper.find(client_id); } + + @Override + public JSONObject save(JSONObject record) { + JSONObject clientConfig= clientConfigMapper.find(record.getIntValue("Client_id")); + if(clientConfig!=null){ + throw new ServerErrorException("client config is repeated"); + } + clientConfigMapper.save(record); + return record; + } } 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 e946b95f5..4255d422d 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 @@ -532,6 +532,9 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid } try { clientMapper.save(partner); + JSONObject clientConfig = new JSONObject(); + clientConfig.put("client_id",partner.getIntValue("client_id")); + clientConfigService.save(clientConfig); } catch (Exception e) { throw new BadRequestException("error.partner.valid.dumplicate_client_moniker"); } From 3ce990059b092c884e651796daf370d75dceb412 Mon Sep 17 00:00:00 2001 From: wangning <164851225@qq.com> Date: Mon, 16 Apr 2018 15:29:38 +0800 Subject: [PATCH 19/35] update --- .../entity/impls/EmailSendStandByModify.java | 32 +++++++++++++++++++ .../merchants/entity/impls/RefuseModify.java | 30 +++++++++++++++++ 2 files changed, 62 insertions(+) create mode 100644 src/main/java/au/com/royalpay/payment/manage/merchants/entity/impls/EmailSendStandByModify.java create mode 100644 src/main/java/au/com/royalpay/payment/manage/merchants/entity/impls/RefuseModify.java diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/entity/impls/EmailSendStandByModify.java b/src/main/java/au/com/royalpay/payment/manage/merchants/entity/impls/EmailSendStandByModify.java new file mode 100644 index 000000000..f8e4f9323 --- /dev/null +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/entity/impls/EmailSendStandByModify.java @@ -0,0 +1,32 @@ +package au.com.royalpay.payment.manage.merchants.entity.impls; + +import au.com.royalpay.payment.manage.merchants.entity.ClientConfigModify; + +import com.alibaba.fastjson.JSONObject; + +import java.math.BigDecimal; + +/** + * Create by yixian at 2018-04-12 16:43 + */ +public class EmailSendStandByModify extends ClientConfigModify { + private BigDecimal max_order_amount; + + + public EmailSendStandByModify(JSONObject account, String clientMoniker, BigDecimal max_order_amount) { + super(account, clientMoniker); + this.max_order_amount = max_order_amount; + } + + @Override + protected String business() { + return "修改商户最大订单额为:"+max_order_amount; + } + + @Override + protected JSONObject getModifyResult() { + JSONObject modify = new JSONObject(); + modify.put("max_order_amount", max_order_amount); + return modify; + } +} diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/entity/impls/RefuseModify.java b/src/main/java/au/com/royalpay/payment/manage/merchants/entity/impls/RefuseModify.java new file mode 100644 index 000000000..cd8b57b4e --- /dev/null +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/entity/impls/RefuseModify.java @@ -0,0 +1,30 @@ +package au.com.royalpay.payment.manage.merchants.entity.impls; + +import com.alibaba.fastjson.JSONObject; + +import au.com.royalpay.payment.manage.merchants.entity.ClientModify; + +/** + * Create by yixian at 2018-04-12 16:43 + */ +public class RefuseModify extends ClientModify { + private int source; + + public RefuseModify(JSONObject account, String clientMoniker, int source) { + super(account, clientMoniker); + this.source = source; + } + + @Override + protected String business() { + return "修改商户source状态为:" + source; + } + + @Override + protected JSONObject getModifyResult() { + JSONObject modify = new JSONObject(); + modify.put("source", source); + return modify; + } + +} From 9f428e2bd8c8c2eeb700fd9978961123a9077b0a Mon Sep 17 00:00:00 2001 From: wangning <164851225@qq.com> Date: Mon, 16 Apr 2018 18:27:59 +0800 Subject: [PATCH 20/35] update --- .../merchants/entity/ClientConfigModify.java | 11 +++-- .../core/impls/SignInAccountServiceImpl.java | 44 +++++++++---------- .../payment/TaskManualSettleMapper.xml | 3 +- .../mappers/system/ClientLocationsMapper.xml | 3 +- .../manage/mappers/system/ClientMapper.xml | 5 ++- .../mappers/system/ClientRateMapper.xml | 6 ++- 6 files changed, 38 insertions(+), 34 deletions(-) diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/entity/ClientConfigModify.java b/src/main/java/au/com/royalpay/payment/manage/merchants/entity/ClientConfigModify.java index e94bdbd79..26de3ec74 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchants/entity/ClientConfigModify.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/entity/ClientConfigModify.java @@ -3,7 +3,6 @@ package au.com.royalpay.payment.manage.merchants.entity; import au.com.royalpay.payment.manage.mappers.system.ClientConfigMapper; import au.com.royalpay.payment.tools.merchants.core.MerchantInfoProvider; -import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import org.apache.commons.lang3.StringUtils; @@ -14,8 +13,7 @@ import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; -import java.util.Map; -import java.util.stream.Collectors; +import java.util.Date; /** * Create by yixian at 2018-04-12 16:19 @@ -51,9 +49,9 @@ public abstract class ClientConfigModify { return; } boolean isPartner = true; - Map beforeModify = modifyResult.keySet().stream().collect(Collectors.toMap(key -> key, client::get)); JSONObject modifyHistory = new JSONObject(); modifyHistory.put("client_id", client.getIntValue("client_id")); + modifyHistory.put("client_moniker", client.getIntValue("client_moniker")); modifyHistory.put("business", business()); if (StringUtils.isNotEmpty(account.getString("account_id"))) { isPartner = true; @@ -64,8 +62,9 @@ public abstract class ClientConfigModify { modifyHistory.put("user_type", isPartner ? "Merchant" : "Manager"); modifyHistory.put("user_id", isPartner ? account.getString("account_id") : account.getString("manager_id")); modifyHistory.put("username", isPartner ? account.getString("display_name") : account.getString("display_name")); - modifyHistory.put("origin_data", JSON.toJSONString(beforeModify)); - modifyHistory.put("new_data", modifyResult.toJSONString()); + modifyHistory.put("origin_data", modifyResult.toJSONString()); + modifyHistory.put("update_column", modifyResult.toJSONString()); + modifyHistory.put("create_time", new Date()); BufferedWriter out = null; try { diff --git a/src/main/java/au/com/royalpay/payment/manage/signin/core/impls/SignInAccountServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/signin/core/impls/SignInAccountServiceImpl.java index 64367ccc3..b085daed0 100644 --- a/src/main/java/au/com/royalpay/payment/manage/signin/core/impls/SignInAccountServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/signin/core/impls/SignInAccountServiceImpl.java @@ -45,8 +45,7 @@ import java.util.Map; import javax.annotation.Resource; /** - * account service for sign in - * Created by yixian on 2016-06-29. + * account service for sign in Created by yixian on 2016-06-29. */ @Service public class SignInAccountServiceImpl implements SignInAccountService, ApplicationEventPublisherAware { @@ -121,7 +120,7 @@ public class SignInAccountServiceImpl implements SignInAccountService, Applicati if (client == null) { throw new ForbiddenException("用户不存在或已禁用"); } - client.putAll(clientConfigService.find(client.getIntValue("parent_client_id"))); + client.putAll(clientConfigService.find(client_id)); client = clientInfoWithNoSecretInfo(client); if (client.getInteger("parent_client_id") != null) { JSONObject rootPartner = clientManager.getClientInfo(client.getIntValue("parent_client_id")); @@ -150,11 +149,9 @@ public class SignInAccountServiceImpl implements SignInAccountService, Applicati JSONObject account = managerMapper.findAvailableByLoginId(loginInfo.getLoginId()); validLoginInfo(loginInfo, account); JSONObject client = clientManager.getClientInfoIgnoreInvalid(account.getIntValue("client_id")); - client.putAll(clientConfigService.find(client.getIntValue("client_id"))); if (client != null && !client.getBooleanValue("is_valid")) { throw new BadRequestException(LocaleSupport.localeMessage("error.login.password")); } - validLoginInfo(loginInfo, account); publisher.publishEvent(new ManagerLoginEvent(this, account.getString("manager_id"), RequestEnvironment.getClientIp(), "PASSWORD")); return account; } @@ -174,7 +171,8 @@ public class SignInAccountServiceImpl implements SignInAccountService, Applicati public JSONObject clientLoginCheck(LoginInfo loginInfo) { JSONObject account = clientAccountMapper.findByUsername(loginInfo.getLoginId()); validLoginInfo(loginInfo, account); - publisher.publishEvent(new ClientLoginEvent(this, account.getIntValue("client_id"), account.getString("account_id"), RequestEnvironment.getClientIp(), "PASSWORD")); + publisher.publishEvent( + new ClientLoginEvent(this, account.getIntValue("client_id"), account.getString("account_id"), RequestEnvironment.getClientIp(), "PASSWORD")); return account; } @@ -221,7 +219,7 @@ public class SignInAccountServiceImpl implements SignInAccountService, Applicati } JSONObject account = new JSONObject(); client = clientManager.getClientDetailById(client.getIntValue("client_id")); - client.putAll(clientConfigService.find(client.getIntValue("parent_client_id"))); + client.putAll(clientConfigService.find(client.getIntValue("client_id"))); client = clientInfoWithNoSecretInfo(client); if (client.getInteger("parent_client_id") != null) { JSONObject rootPartner = clientManager.getClientInfo(client.getIntValue("parent_client_id")); @@ -254,7 +252,8 @@ public class SignInAccountServiceImpl implements SignInAccountService, Applicati if (account == null) { throw new ForbiddenException("Your WeChat Account haven't bind to a client user"); } - publisher.publishEvent(new ClientLoginEvent(this, account.getIntValue("client_id"), account.getString("account_id"), RequestEnvironment.getClientIp(), "wechat")); + publisher.publishEvent( + new ClientLoginEvent(this, account.getIntValue("client_id"), account.getString("account_id"), RequestEnvironment.getClientIp(), "wechat")); return account; } @@ -264,7 +263,8 @@ public class SignInAccountServiceImpl implements SignInAccountService, Applicati if (account == null) { return null; } - publisher.publishEvent(new ClientLoginEvent(this, account.getIntValue("client_id"), account.getString("account_id"), RequestEnvironment.getClientIp(), "wechat")); + publisher.publishEvent( + new ClientLoginEvent(this, account.getIntValue("client_id"), account.getString("account_id"), RequestEnvironment.getClientIp(), "wechat")); return account; } @@ -293,17 +293,18 @@ public class SignInAccountServiceImpl implements SignInAccountService, Applicati String codeKey = signInStatusManager.addChangepasswordVerifyCode(client_moniker); String url = PlatformEnvironment.getEnv().concatUrl("/global/userstatus/partner_changepassword_page/" + codeKey); -// JSONObject map = new JSONObject(); -// map.put("url", url); -// map.put("accounts", accounts); -// map.put("client_moniker", client_moniker); - //todo velocityEngine + // JSONObject map = new JSONObject(); + // map.put("url", url); + // map.put("accounts", accounts); + // map.put("client_moniker", client_moniker); + // todo velocityEngine Context ctx = new Context(); ctx.setVariable("url", url); ctx.setVariable("accounts", accounts); ctx.setVariable("client_moniker", client_moniker); - final String content = thymeleaf.process( "mail/reset_password", ctx); - //final String content = VelocityEngineUtils.mergeTemplateIntoString(null, "mail/reset_password.vm", "utf-8", map); + final String content = thymeleaf.process("mail/reset_password", ctx); + // final String content = VelocityEngineUtils.mergeTemplateIntoString(null, "mail/reset_password.vm", + // "utf-8", map); new Thread(() -> { try { @@ -324,18 +325,17 @@ public class SignInAccountServiceImpl implements SignInAccountService, Applicati public static JSONObject clientInfoWithNoSecretInfo(JSONObject client) { JSONObject simpleClient = new JSONObject(); - String[] columns = {"client_id", "client_moniker", "parent_client_id", - "company_name", "address","business_name","business_structure", "abn","acn","company_phone","suburb","postcode","state","contact_person","contact_phone","contact_email", - "short_name", "logo_url", "enable_refund", "enable_refund_auth", "retail_surcharge", "require_custinfo", "require_remark", - "logo_thumbnail", "creator", "create_time", "approver", "approve_result", "approve_time", "timezone", - "has_children", "source", "customer_surcharge_rate", "enable_alipay", "enable_wechat", "enable_bestpay","manual_settle","skip_clearing"}; + String[] columns = { "client_id", "client_moniker", "parent_client_id", "company_name", "address", "business_name", "business_structure", "abn", "acn", + "company_phone", "suburb", "postcode", "state", "contact_person", "contact_phone", "contact_email", "short_name", "logo_url", "enable_refund", + "enable_refund_auth", "retail_surcharge", "require_custinfo", "require_remark", "logo_thumbnail", "creator", "create_time", "approver", + "approve_result", "approve_time", "timezone", "has_children", "source", "customer_surcharge_rate", "enable_alipay", "enable_wechat", + "enable_bestpay", "manual_settle", "skip_clearing" }; for (String col : columns) { simpleClient.put(col, client.get(col)); } return simpleClient; } - @Override public void setApplicationEventPublisher(ApplicationEventPublisher applicationEventPublisher) { this.publisher = applicationEventPublisher; diff --git a/src/main/resources/au/com/royalpay/payment/manage/mappers/payment/TaskManualSettleMapper.xml b/src/main/resources/au/com/royalpay/payment/manage/mappers/payment/TaskManualSettleMapper.xml index d3411134c..36b6a5075 100644 --- a/src/main/resources/au/com/royalpay/payment/manage/mappers/payment/TaskManualSettleMapper.xml +++ b/src/main/resources/au/com/royalpay/payment/manage/mappers/payment/TaskManualSettleMapper.xml @@ -7,7 +7,8 @@ FROM task_client_manual_settle s right join sys_clients c on s.client_id = c.client_id + inner join sys_client_config cc on cc.client_id = c.client_id where (s.request_time=(select max(B.request_time) from task_client_manual_settle B where s.client_id =B.client_id) or s.request_time is null) - and c.manual_settle = 1 + and cc.manual_settle = 1 \ No newline at end of file diff --git a/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ClientLocationsMapper.xml b/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ClientLocationsMapper.xml index 417c92e20..73e3950fc 100644 --- a/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ClientLocationsMapper.xml +++ b/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ClientLocationsMapper.xml @@ -13,6 +13,7 @@ syscl.longitude, syscl.location_id FROM sys_clients c + INNER join sys_client_config cc on cc.client_id = c.client_id inner join sys_org o on o.org_id=c.org_id LEFT JOIN sys_clients_locations syscl on c.client_id = syscl.client_id @@ -82,7 +83,7 @@ and c.state=#{state} - and locate(c.sub_merchant_id,#{temp_mch_id})>0 and c.skip_clearing=0 and + and locate(c.sub_merchant_id,#{temp_mch_id})>0 and cc.skip_clearing=0 and locate(c.client_moniker,#{temp_mch_id_source})<=0 diff --git a/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ClientMapper.xml b/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ClientMapper.xml index f955ba1c2..ee3a0c27b 100644 --- a/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ClientMapper.xml +++ b/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ClientMapper.xml @@ -28,6 +28,7 @@ diff --git a/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ClientRateMapper.xml b/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ClientRateMapper.xml index fd93ed287..023dcab6d 100644 --- a/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ClientRateMapper.xml +++ b/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ClientRateMapper.xml @@ -39,7 +39,8 @@ r.expiry_time FROM sys_clients c LEFT JOIN sys_client_rates r ON r.client_id = c.client_id - WHERE c.skip_clearing = 0 AND (c.approve_result = 1 or (c.approve_result=2 and (c.source=1 or c.source=2))) + inner join sys_client_config cc on cc.client_id = c.client_id + WHERE cc.skip_clearing = 0 AND (c.approve_result = 1 or (c.approve_result=2 and (c.source=1 or c.source=2))) AND c.is_valid = 1 AND (r.expiry_time = (SELECT max(expiry_time) FROM sys_client_rates r3 @@ -64,10 +65,11 @@ INNER JOIN sys_client_rates r ON r.client_id = c.client_id AND r.active_time <= curdate() AND r.expiry_time >= curdate() AND ADDDATE(curdate(), #{warning_days}) >= r.expiry_time + inner join sys_client_config cc on cc.client_id = c.client_id WHERE (SELECT count(r2.client_rate_id) FROM sys_client_rates r2 WHERE r2.client_id = c.client_id AND r2.expiry_time > r.expiry_time AND r2.rate_name=r.rate_name) = 0 - AND c.skip_clearing = 0 AND c.approve_result = 1 AND c.is_valid = 1 + AND cc.skip_clearing = 0 AND c.approve_result = 1 AND c.is_valid = 1 GROUP BY c.client_id ]]> From 2f1abf902a312aaa79ed507b9102530822111562 Mon Sep 17 00:00:00 2001 From: wangning <164851225@qq.com> Date: Thu, 19 Apr 2018 09:23:26 +0800 Subject: [PATCH 21/35] add mongo --- pom.xml | 4 + .../manage/PaymentManageApplication.java | 8 +- .../beans/mongo/ClientConfigLog.java | 91 +++++++++++++++++++ .../core/impls/ClientModifySupportImpl.java | 8 +- .../merchants/entity/ClientConfigModify.java | 59 +++++------- .../manage/merchants/entity/ClientModify.java | 55 ++++------- src/main/resources/application.properties | 4 + .../ofei/core/impl/OfeiClientImplTest.java | 17 ++++ 8 files changed, 171 insertions(+), 75 deletions(-) create mode 100644 src/main/java/au/com/royalpay/payment/manage/merchants/beans/mongo/ClientConfigLog.java diff --git a/pom.xml b/pom.xml index 689bc1b0e..6c9ab7a3d 100644 --- a/pom.xml +++ b/pom.xml @@ -40,6 +40,10 @@ org.springframework.boot spring-boot-starter + + org.springframework.boot + spring-boot-starter-data-mongodb + org.springframework.boot spring-boot-starter-web diff --git a/src/main/java/au/com/royalpay/payment/manage/PaymentManageApplication.java b/src/main/java/au/com/royalpay/payment/manage/PaymentManageApplication.java index caaed476a..020502652 100644 --- a/src/main/java/au/com/royalpay/payment/manage/PaymentManageApplication.java +++ b/src/main/java/au/com/royalpay/payment/manage/PaymentManageApplication.java @@ -3,7 +3,10 @@ package au.com.royalpay.payment.manage; import com.google.code.kaptcha.Producer; import com.google.code.kaptcha.impl.DefaultKaptcha; import com.google.code.kaptcha.util.Config; + import com.maxmind.geoip.LookupService; +import com.mongodb.MongoClientOptions; + import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.SpringApplication; @@ -65,7 +68,10 @@ public class PaymentManageApplication { DefaultKaptcha producer = new DefaultKaptcha(); producer.setConfig(config); return producer; + } - + @Bean + public MongoClientOptions mongoOptions() { + return MongoClientOptions.builder().maxConnectionIdleTime(6000).build(); } } diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/beans/mongo/ClientConfigLog.java b/src/main/java/au/com/royalpay/payment/manage/merchants/beans/mongo/ClientConfigLog.java new file mode 100644 index 000000000..fcaa8d522 --- /dev/null +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/beans/mongo/ClientConfigLog.java @@ -0,0 +1,91 @@ +package au.com.royalpay.payment.manage.merchants.beans.mongo; + +import org.springframework.data.mongodb.core.mapping.Document; + +import java.util.Date; + +@Document(collection = "client_config_log") // here is solution +public class ClientConfigLog { + + private long id; + private int clientId; + private String business; + private String userType; + private String userId; + private String userName; + private String originData; + private String newData; + private Date createTime; + + public long getId() { + return id; + } + + public void setId(long id) { + this.id = id; + } + + public int getClientId() { + return clientId; + } + + public void setClientId(int clientId) { + this.clientId = clientId; + } + + public String getBusiness() { + return business; + } + + public void setBusiness(String business) { + this.business = business; + } + + public String getUserType() { + return userType; + } + + public void setUserType(String userType) { + this.userType = userType; + } + + public String getUserId() { + return userId; + } + + public void setUserId(String userId) { + this.userId = userId; + } + + public String getUserName() { + return userName; + } + + public void setUserName(String userName) { + this.userName = userName; + } + + public String getOriginData() { + return originData; + } + + public void setOriginData(String originData) { + this.originData = originData; + } + + public String getNewData() { + return newData; + } + + public void setNewData(String newData) { + this.newData = newData; + } + + public Date getCreateTime() { + return createTime; + } + + public void setCreateTime(Date createTime) { + this.createTime = createTime; + } +} diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientModifySupportImpl.java b/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientModifySupportImpl.java index 1b525406e..b97dc6175 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientModifySupportImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientModifySupportImpl.java @@ -7,6 +7,8 @@ import au.com.royalpay.payment.manage.merchants.core.ClientModifySupport; import au.com.royalpay.payment.manage.merchants.entity.ClientConfigModify; import au.com.royalpay.payment.manage.merchants.entity.ClientModify; import au.com.royalpay.payment.tools.merchants.core.MerchantInfoProvider; + +import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -24,15 +26,17 @@ public class ClientModifySupportImpl implements ClientModifySupport { private ClientMapper clientMapper; @Resource private ClientConfigMapper clientConfigMapper; + @Resource + private MongoTemplate mongoTemplate; @Override public void processClientModify(ClientModify modify) { - int clientId = modify.doModify(merchantInfoProvider, clientMapper); + int clientId = modify.doModify(merchantInfoProvider, clientMapper,mongoTemplate); clientInfoCacheSupport.clearClientCache(clientId); } @Override public void processClientConfigModify(ClientConfigModify clientConfigModify) { - clientConfigModify.doModify(merchantInfoProvider, clientConfigMapper); + clientConfigModify.doModify(merchantInfoProvider, clientConfigMapper,mongoTemplate); } } diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/entity/ClientConfigModify.java b/src/main/java/au/com/royalpay/payment/manage/merchants/entity/ClientConfigModify.java index 26de3ec74..91e231aff 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchants/entity/ClientConfigModify.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/entity/ClientConfigModify.java @@ -1,19 +1,20 @@ package au.com.royalpay.payment.manage.merchants.entity; import au.com.royalpay.payment.manage.mappers.system.ClientConfigMapper; +import au.com.royalpay.payment.manage.merchants.beans.mongo.ClientConfigLog; import au.com.royalpay.payment.tools.merchants.core.MerchantInfoProvider; +import au.com.royalpay.payment.tools.utils.id.IdUtil; +import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import org.apache.commons.lang3.StringUtils; +import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.transaction.annotation.Transactional; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.OutputStreamWriter; import java.util.Date; +import java.util.Map; +import java.util.stream.Collectors; /** * Create by yixian at 2018-04-12 16:19 @@ -34,55 +35,39 @@ public abstract class ClientConfigModify { protected abstract JSONObject getModifyResult(); @Transactional - public int doModify(MerchantInfoProvider merchantInfoProvider, ClientConfigMapper clientConfigMapper) { + public int doModify(MerchantInfoProvider merchantInfoProvider, ClientConfigMapper clientConfigMapper, MongoTemplate mongoTemplate) { JSONObject client = merchantInfoProvider.getClientInfoByMoniker(clientMoniker); JSONObject modifyResult = getModifyResult(); - saveModifyHistory(client, modifyResult); + saveModifyHistory(client, modifyResult,mongoTemplate); int clientId = client.getIntValue("client_id"); modifyResult.put("client_id", clientId); clientConfigMapper.update(modifyResult); return clientId; } - private void saveModifyHistory(JSONObject client, JSONObject modifyResult) { + private void saveModifyHistory(JSONObject client, JSONObject modifyResult,MongoTemplate mongoTemplate) { if (account == null) { return; } + ClientConfigLog clientConfigLog = new ClientConfigLog(); + clientConfigLog.setId(IdUtil.getId()); + clientConfigLog.setBusiness(business()); + clientConfigLog.setClientId(client.getIntValue("client_id")); + boolean isPartner = true; - JSONObject modifyHistory = new JSONObject(); - modifyHistory.put("client_id", client.getIntValue("client_id")); - modifyHistory.put("client_moniker", client.getIntValue("client_moniker")); - modifyHistory.put("business", business()); if (StringUtils.isNotEmpty(account.getString("account_id"))) { isPartner = true; } if (StringUtils.isNotEmpty(account.getString("manager_id"))) { isPartner = false; } - modifyHistory.put("user_type", isPartner ? "Merchant" : "Manager"); - modifyHistory.put("user_id", isPartner ? account.getString("account_id") : account.getString("manager_id")); - modifyHistory.put("username", isPartner ? account.getString("display_name") : account.getString("display_name")); - modifyHistory.put("origin_data", modifyResult.toJSONString()); - modifyHistory.put("update_column", modifyResult.toJSONString()); - modifyHistory.put("create_time", new Date()); - - BufferedWriter out = null; - try { - // TODO: 2018/4/12 kira 文件地址 - File file = new File("/Users/wangning/Desktop/asd.txt"); - if (file == null) { - file.createNewFile(); - } - out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file, true))); - out.write("asdasdasdasd" + "\r\n"); - } catch (Exception e) { - e.printStackTrace(); - } finally { - try { - out.close(); - } catch (IOException e) { - e.printStackTrace(); - } - } + clientConfigLog.setUserType(isPartner ? "Merchant" : "Manager"); + clientConfigLog.setCreateTime(new Date()); + clientConfigLog.setNewData(modifyResult.toJSONString()); + clientConfigLog.setUserId(isPartner ? account.getString("account_id") : account.getString("manager_id")); + Map beforeModify = modifyResult.keySet().stream().collect(Collectors.toMap(key -> key, client::get)); + clientConfigLog.setOriginData(JSON.toJSONString(beforeModify)); + clientConfigLog.setUserName(isPartner ? account.getString("display_name") : account.getString("display_name")); + mongoTemplate.insert(clientConfigLog); } } diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/entity/ClientModify.java b/src/main/java/au/com/royalpay/payment/manage/merchants/entity/ClientModify.java index 7d9d1afa8..2831f31da 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchants/entity/ClientModify.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/entity/ClientModify.java @@ -1,19 +1,18 @@ package au.com.royalpay.payment.manage.merchants.entity; import au.com.royalpay.payment.manage.mappers.system.ClientMapper; +import au.com.royalpay.payment.manage.merchants.beans.mongo.ClientConfigLog; import au.com.royalpay.payment.tools.merchants.core.MerchantInfoProvider; +import au.com.royalpay.payment.tools.utils.id.IdUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import org.apache.commons.lang3.StringUtils; +import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.transaction.annotation.Transactional; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.OutputStreamWriter; +import java.util.Date; import java.util.Map; import java.util.stream.Collectors; @@ -36,53 +35,39 @@ public abstract class ClientModify { protected abstract JSONObject getModifyResult(); @Transactional - public int doModify(MerchantInfoProvider merchantInfoProvider, ClientMapper clientMapper) { + public int doModify(MerchantInfoProvider merchantInfoProvider, ClientMapper clientMapper, MongoTemplate mongoTemplate) { JSONObject client = merchantInfoProvider.getClientInfoByMoniker(clientMoniker); JSONObject modifyResult = getModifyResult(); - saveModifyHistory(client, modifyResult); + saveModifyHistory(client, modifyResult, mongoTemplate); int clientId = client.getIntValue("client_id"); modifyResult.put("client_id", clientId); clientMapper.update(modifyResult); return clientId; } - private void saveModifyHistory(JSONObject client, JSONObject modifyResult) { + private void saveModifyHistory(JSONObject client, JSONObject modifyResult, MongoTemplate mongoTemplate) { if (account == null) { return; } + ClientConfigLog clientConfigLog = new ClientConfigLog(); + clientConfigLog.setId(IdUtil.getId()); + clientConfigLog.setBusiness(business()); + clientConfigLog.setClientId(client.getIntValue("client_id")); + boolean isPartner = true; - Map beforeModify = modifyResult.keySet().stream().collect(Collectors.toMap(key -> key, client::get)); - JSONObject modifyHistory = new JSONObject(); - modifyHistory.put("client_id", client.getIntValue("client_id")); - modifyHistory.put("business", business()); if (StringUtils.isNotEmpty(account.getString("account_id"))) { isPartner = true; } if (StringUtils.isNotEmpty(account.getString("manager_id"))) { isPartner = false; } - modifyHistory.put("user_type", isPartner ? "Merchant" : "Manager"); - modifyHistory.put("user_id", isPartner ? account.getString("account_id") : account.getString("manager_id")); - modifyHistory.put("username", isPartner ? account.getString("display_name") : account.getString("display_name")); - modifyHistory.put("origin_data", JSON.toJSONString(beforeModify)); - modifyHistory.put("new_data", modifyResult.toJSONString()); - BufferedWriter out = null; - try { - // TODO: 2018/4/12 kira 文件地址 - File file = new File("/Users/wangning/Desktop/asd.txt"); - if (file == null) { - file.createNewFile(); - } - out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file, true))); - out.write("asdasdasdasd" + "\r\n"); - } catch (Exception e) { - e.printStackTrace(); - } finally { - try { - out.close(); - } catch (IOException e) { - e.printStackTrace(); - } - } + clientConfigLog.setUserType(isPartner ? "Merchant" : "Manager"); + clientConfigLog.setCreateTime(new Date()); + clientConfigLog.setNewData(modifyResult.toJSONString()); + clientConfigLog.setUserId(isPartner ? account.getString("account_id") : account.getString("manager_id")); + Map beforeModify = modifyResult.keySet().stream().collect(Collectors.toMap(key -> key, client::get)); + clientConfigLog.setOriginData(JSON.toJSONString(beforeModify)); + clientConfigLog.setUserName(isPartner ? account.getString("display_name") : account.getString("display_name")); + mongoTemplate.save(clientConfigLog); } } diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 672e6befb..c75deb1a3 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -22,6 +22,10 @@ spring.redis.host=127.0.0.1 spring.redis.port=6379 spring.redis.database=1 +spring.data.mongodb.host=192.168.99.103 +spring.data.mongodb.port=27017 +spring.data.mongodb.database=royalpay_production + mybatis.autosql.default-dialect=mysql app.redis.prefix=payment diff --git a/src/test/java/au/com/royalpay/payment/manage/ofei/core/impl/OfeiClientImplTest.java b/src/test/java/au/com/royalpay/payment/manage/ofei/core/impl/OfeiClientImplTest.java index 6f59dff81..3b9127fe3 100644 --- a/src/test/java/au/com/royalpay/payment/manage/ofei/core/impl/OfeiClientImplTest.java +++ b/src/test/java/au/com/royalpay/payment/manage/ofei/core/impl/OfeiClientImplTest.java @@ -2,12 +2,17 @@ package au.com.royalpay.payment.manage.ofei.core.impl; import au.com.royalpay.payment.manage.ofei.core.OfeiClient; +import com.alibaba.fastjson.JSONObject; + import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.test.context.ActiveProfiles; import org.springframework.test.context.junit4.SpringRunner; +import java.math.BigDecimal; + import javax.annotation.Resource; /** @@ -19,9 +24,21 @@ import javax.annotation.Resource; public class OfeiClientImplTest { @Resource private OfeiClient ofeiClient; + @Resource + private MongoTemplate mongoTemplate; + @Test public void qbTopUp() throws Exception { ofeiClient.qbTopUp("10","164851225"); } + @Test + public void testMongo(){ + JSONObject test = new JSONObject(); + test.put("id","asd"); + test.put("name","kira"); + test.put("age",123); + test.put("amount", BigDecimal.ONE); + mongoTemplate.save(test); + } } \ No newline at end of file From c22115602996808c6e5d1a7648cdd74934f71481 Mon Sep 17 00:00:00 2001 From: wangning <164851225@qq.com> Date: Thu, 19 Apr 2018 15:53:03 +0800 Subject: [PATCH 22/35] add qrcode log --- .../manage/merchants/beans/mongo/ClientConfigLog.java | 2 +- .../payment/manage/merchants/core/ClientManager.java | 2 +- .../merchants/core/impls/ClientManagerImpl.java | 11 +++++++---- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/beans/mongo/ClientConfigLog.java b/src/main/java/au/com/royalpay/payment/manage/merchants/beans/mongo/ClientConfigLog.java index fcaa8d522..1bb37c507 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchants/beans/mongo/ClientConfigLog.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/beans/mongo/ClientConfigLog.java @@ -4,7 +4,7 @@ import org.springframework.data.mongodb.core.mapping.Document; import java.util.Date; -@Document(collection = "client_config_log") // here is solution +@Document(collection = "client_config_log") public class ClientConfigLog { private long id; 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 820e7ebc6..8d2fee401 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 @@ -164,7 +164,7 @@ public interface ClientManager { JSONObject getQRCode(JSONObject manager, String clientMoniker, QRCodeConfig config); - String getQrCodeBoard(JSONObject client, QRCodeConfig config); + String getQrCodeBoard(JSONObject client, QRCodeConfig config,JSONObject account); void writeAggregateQrCodeBoard(JSONObject manager, String clientMoniker, QRCodeConfig config, OutputStream ous); 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 4255d422d..39e6aa9a8 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 @@ -120,6 +120,7 @@ import org.springframework.cache.annotation.Cacheable; import org.springframework.context.ApplicationEventPublisher; import org.springframework.context.ApplicationEventPublisherAware; import org.springframework.context.MessageSource; +import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -252,6 +253,8 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid private ClientsOperationLogMapper clientsOperationLogMapper; @Resource private ClientInfoCacheSupport clientInfoCacheSupport; + @Resource + private MongoTemplate mongoTemplate; private static final String SOURCE_AGREE_FILE = "source_agree_file"; private static final String CLIENT_BANK_FILE = "client_bank_file"; @@ -1519,9 +1522,9 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid } @Override - public String getQrCodeBoard(JSONObject client, QRCodeConfig config) { + public String getQrCodeBoard(JSONObject client, QRCodeConfig config,JSONObject account) { // JSONObject org = orgMapper.findOne(client.getIntValue("org_id")); - return merchantInfoProvider.getQrCodeBoard(client, config); + return merchantInfoProvider.getQrCodeBoard(client, config,account); } @Override @@ -1545,7 +1548,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid qrboardConfig.put("brandw", "600"); qrboardConfig.put("brandh", "200"); String type = qrboardConfig.getString("type"); - QRBoard board = QRBoardProvider.getQRBoard(type, qrboardConfig, client, config); + QRBoard board = QRBoardProvider.getQRBoard(type, qrboardConfig, client, config,mongoTemplate,manager); board.drawBoardImage(ous); } catch (Exception e) { throw new ServerErrorException("QR board config not set for current organize", e); @@ -1565,7 +1568,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid JSONObject qrboardConfig = JSON.parseObject(qrBoardConfigString); String type = qrboardConfig.getString("type"); - QRBoard board = QRBoardProvider.getQRBoard(type, qrboardConfig, client, config); + QRBoard board = QRBoardProvider.getQRBoard(type, qrboardConfig, client, config,mongoTemplate,manager); board.drawBoardImage(ous); } catch (Exception e) { throw new ServerErrorException("QR board config not set for current organize", e); From 2936b1072ed9dfe9b5edb552b4b5cec4b355830d Mon Sep 17 00:00:00 2001 From: wangning <164851225@qq.com> Date: Thu, 19 Apr 2018 20:42:17 +0800 Subject: [PATCH 23/35] order bind qrcode version --- src/main/ui/static/templates/alipay/v1/payment.js | 1 + src/main/ui/static/templates/bestpay/v1/app_pay.js | 1 + src/main/ui/static/templates/payment/v1/payment.js | 1 + 3 files changed, 3 insertions(+) diff --git a/src/main/ui/static/templates/alipay/v1/payment.js b/src/main/ui/static/templates/alipay/v1/payment.js index dace0a34c..c8a8dc8ef 100644 --- a/src/main/ui/static/templates/alipay/v1/payment.js +++ b/src/main/ui/static/templates/alipay/v1/payment.js @@ -254,6 +254,7 @@ $(function () { data.customerrate = true; } data.coupons = dataCache.coupons; + data.qrcodeVersion = window.qrcodeVersion; dataCache.remark = ''; $.ajax({ diff --git a/src/main/ui/static/templates/bestpay/v1/app_pay.js b/src/main/ui/static/templates/bestpay/v1/app_pay.js index 3a8894baf..80ec913ec 100644 --- a/src/main/ui/static/templates/bestpay/v1/app_pay.js +++ b/src/main/ui/static/templates/bestpay/v1/app_pay.js @@ -100,6 +100,7 @@ $(function () { } remarkInput.val(''); data.account_id = User.getProduct(); + data.qrcodeVersion = window.qrcodeVersion; $.ajax({ url: '/api/v1.0/bestpay/partners/' + window.client_moniker + '/app_order', method: 'POST', diff --git a/src/main/ui/static/templates/payment/v1/payment.js b/src/main/ui/static/templates/payment/v1/payment.js index cbc8f374b..3fc6a65d7 100644 --- a/src/main/ui/static/templates/payment/v1/payment.js +++ b/src/main/ui/static/templates/payment/v1/payment.js @@ -248,6 +248,7 @@ $(function () { data.customerrate = true; } data.coupons = dataCache.coupons; + data.qrcodeVersion = window.qrcodeVersion; dataCache.remark = ''; $.ajax({ url: '/api/payment/v1.0/wechat_jsapi_payment/partners/' + window.client_moniker + '/preorder', From f4345b70963489c4ac752037b89c229860b637ab Mon Sep 17 00:00:00 2001 From: wangning <164851225@qq.com> Date: Fri, 20 Apr 2018 09:57:47 +0800 Subject: [PATCH 24/35] update --- src/main/ui/static/templates/bestpay/v1/app_pay_2.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/ui/static/templates/bestpay/v1/app_pay_2.js b/src/main/ui/static/templates/bestpay/v1/app_pay_2.js index fefdcd59e..344900d10 100644 --- a/src/main/ui/static/templates/bestpay/v1/app_pay_2.js +++ b/src/main/ui/static/templates/bestpay/v1/app_pay_2.js @@ -226,6 +226,7 @@ $(function () { data.coupons = dataCache.coupons; dataCache.remark = ''; data.account_id = User.getProduct(); + data.qrcodeVersion = window.qrcodeVersion; $.ajax({ url: '/api/v1.0/bestpay/partners/' + window.client_moniker + '/app_order', method: 'POST', From eacb8d89de0b77252687b868b9423f5d602699a5 Mon Sep 17 00:00:00 2001 From: wangning <164851225@qq.com> Date: Fri, 20 Apr 2018 13:47:43 +0800 Subject: [PATCH 25/35] update --- .../payment/manage/merchants/core/ClientManager.java | 6 +++--- .../merchants/core/impls/ClientManagerImpl.java | 12 ++++++------ .../merchants/web/PartnerManageController.java | 4 ++-- .../manage/merchants/web/PartnerViewController.java | 4 ++-- 4 files changed, 13 insertions(+), 13 deletions(-) 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 8d2fee401..b8cb2b346 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 @@ -164,11 +164,11 @@ public interface ClientManager { JSONObject getQRCode(JSONObject manager, String clientMoniker, QRCodeConfig config); - String getQrCodeBoard(JSONObject client, QRCodeConfig config,JSONObject account); + String getQrCodeBoard(JSONObject client, QRCodeConfig config,JSONObject account,String plantform); - void writeAggregateQrCodeBoard(JSONObject manager, String clientMoniker, QRCodeConfig config, OutputStream ous); + void writeAggregateQrCodeBoard(JSONObject manager, String clientMoniker, QRCodeConfig config, OutputStream ous,String plantform); - void writeQrCodeBoard(JSONObject manager, String clientMoniker, QRCodeConfig config, OutputStream ous); + void writeQrCodeBoard(JSONObject manager, String clientMoniker, QRCodeConfig config, OutputStream ous,String plantform); void writePoster(JSONObject manager, String clientMoniker, OutputStream ous); 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 39e6aa9a8..6a08a4898 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 @@ -1522,13 +1522,13 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid } @Override - public String getQrCodeBoard(JSONObject client, QRCodeConfig config,JSONObject account) { + public String getQrCodeBoard(JSONObject client, QRCodeConfig config,JSONObject account,String plantform) { // JSONObject org = orgMapper.findOne(client.getIntValue("org_id")); - return merchantInfoProvider.getQrCodeBoard(client, config,account); + return merchantInfoProvider.getQrCodeBoard(client, config,account,plantform); } @Override - public void writeAggregateQrCodeBoard(JSONObject manager, String clientMoniker, QRCodeConfig config, OutputStream ous) { + public void writeAggregateQrCodeBoard(JSONObject manager, String clientMoniker, QRCodeConfig config, OutputStream ous,String plantform) { JSONObject client = clientDetail(manager, clientMoniker); try { JSONObject qrboardConfig = new JSONObject(); @@ -1548,7 +1548,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid qrboardConfig.put("brandw", "600"); qrboardConfig.put("brandh", "200"); String type = qrboardConfig.getString("type"); - QRBoard board = QRBoardProvider.getQRBoard(type, qrboardConfig, client, config,mongoTemplate,manager); + QRBoard board = QRBoardProvider.getQRBoard(type, qrboardConfig, client, config,mongoTemplate,manager,plantform); board.drawBoardImage(ous); } catch (Exception e) { throw new ServerErrorException("QR board config not set for current organize", e); @@ -1556,7 +1556,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid } @Override - public void writeQrCodeBoard(JSONObject manager, String clientMoniker, QRCodeConfig config, OutputStream ous) { + public void writeQrCodeBoard(JSONObject manager, String clientMoniker, QRCodeConfig config, OutputStream ous,String plantform) { JSONObject client = clientDetail(manager, clientMoniker); JSONObject org = orgMapper.findOne(client.getIntValue("org_id")); try { @@ -1568,7 +1568,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid JSONObject qrboardConfig = JSON.parseObject(qrBoardConfigString); String type = qrboardConfig.getString("type"); - QRBoard board = QRBoardProvider.getQRBoard(type, qrboardConfig, client, config,mongoTemplate,manager); + QRBoard board = QRBoardProvider.getQRBoard(type, qrboardConfig, client, config,mongoTemplate,manager,plantform); board.drawBoardImage(ous); } catch (Exception e) { throw new ServerErrorException("QR board config not set for current organize", e); 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 1c2c1c68f..3793bcb19 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 @@ -92,7 +92,7 @@ public class PartnerManageController { response.setContentType("application/octet-stream;"); response.addHeader("Content-Disposition", "attachment; filename=qr_board.jpg"); OutputStream ous = response.getOutputStream(); - clientManager.writeQrCodeBoard(manager, clientMoniker, config, ous); + clientManager.writeQrCodeBoard(manager, clientMoniker, config, ous,"PC"); } @ManagerMapping(value = "/{clientMoniker}/qrcode_board/aggregate", method = RequestMethod.GET) @@ -101,7 +101,7 @@ public class PartnerManageController { response.setContentType("application/octet-stream;"); response.addHeader("Content-Disposition", "attachment; filename=qr_board.jpg"); OutputStream ous = response.getOutputStream(); - clientManager.writeAggregateQrCodeBoard(manager, clientMoniker, config, ous); + clientManager.writeAggregateQrCodeBoard(manager, clientMoniker, config, ous,"PC"); } @ManagerMapping(value = "/{clientMoniker}/poster", method = RequestMethod.GET) diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/web/PartnerViewController.java b/src/main/java/au/com/royalpay/payment/manage/merchants/web/PartnerViewController.java index f52f2c543..59567a097 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchants/web/PartnerViewController.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/web/PartnerViewController.java @@ -83,7 +83,7 @@ public class PartnerViewController { response.setContentType("application/octet-stream"); response.addHeader("Content-Disposition", "attachment; filename=qr_board.jpg"); OutputStream ous = response.getOutputStream(); - clientManager.writeQrCodeBoard(null, account.getString("client_moniker"), config, ous); + clientManager.writeQrCodeBoard(null, account.getString("client_moniker"), config, ous,"PC"); } @PartnerMapping(value = "/qrcode_board/aggregate", method = RequestMethod.GET) @@ -92,7 +92,7 @@ public class PartnerViewController { response.setContentType("application/octet-stream"); response.addHeader("Content-Disposition", "attachment; filename=qr_board.jpg"); OutputStream ous = response.getOutputStream(); - clientManager.writeAggregateQrCodeBoard(null, account.getString("client_moniker"), config, ous); + clientManager.writeAggregateQrCodeBoard(null, account.getString("client_moniker"), config, ous,"pc"); } @PartnerMapping(value = "/poster", method = RequestMethod.GET) From 997867d224e008863be51f690ab3e1f42f2a7c9a Mon Sep 17 00:00:00 2001 From: wangning <164851225@qq.com> Date: Fri, 20 Apr 2018 14:36:30 +0800 Subject: [PATCH 26/35] update --- .../manage/appclient/core/impls/RetailAppServiceImp.java | 2 +- .../manage/merchants/core/impls/ClientManagerImpl.java | 6 ++---- .../payment/manage/merchants/entity/impls/AuditModify.java | 4 ++++ 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/main/java/au/com/royalpay/payment/manage/appclient/core/impls/RetailAppServiceImp.java b/src/main/java/au/com/royalpay/payment/manage/appclient/core/impls/RetailAppServiceImp.java index 670b5ac6a..f71c5ff6e 100644 --- a/src/main/java/au/com/royalpay/payment/manage/appclient/core/impls/RetailAppServiceImp.java +++ b/src/main/java/au/com/royalpay/payment/manage/appclient/core/impls/RetailAppServiceImp.java @@ -246,7 +246,7 @@ public class RetailAppServiceImp implements RetailAppService { JSONObject res = new JSONObject(); res.put("url", url); res.put("qrcode", QRCodeUtils.qrcodeImageCode(url, 250, false)); - res.put("qrcode_board", merchantInfoProvider.getQrCodeBoard(client, config)); + res.put("qrcode_board", merchantInfoProvider.getQrCodeBoard(client, config,clientAccountMapper.findById(device.getString("account_id")),"APP")); return res; } 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 c49693f5f..8f507e4c5 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 @@ -2720,17 +2720,15 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid } int open_status = client.getIntValue("open_status"); - AuditModify auditModify = new AuditModify(manager, clientMoniker, 5, manager.getString("manager_id"), new Date()); + AuditModify auditModify = new AuditModify(manager, clientMoniker, client.getInteger("approve_result"), manager.getString("manager_id"), new Date()); if (open_status == 1) { auditModify.setOpen_status(null); } else { auditModify.setOpen_status(-1); } if(client.getInteger("approve_result")==null || client.getIntValue("approve_result")==4){ - client.put("approve_result", 5); + auditModify.setApprove_result(5); } - client.put("approver", manager.getString("manager_id")); - client.put("approve_time", new Date()); if (refuse_remark != null && !refuse_remark.isEmpty()) { auditModify.setRefuse_remark(refuse_remark); } diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/entity/impls/AuditModify.java b/src/main/java/au/com/royalpay/payment/manage/merchants/entity/impls/AuditModify.java index 9954f5e49..2fb4092c2 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchants/entity/impls/AuditModify.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/entity/impls/AuditModify.java @@ -61,5 +61,9 @@ public class AuditModify extends ClientModify { public void setRefuse_remark(String refuse_remark) { this.refuse_remark = refuse_remark; } + + public void setApprove_result(Integer approve_result) { + this.approve_result = approve_result; + } } From d37037f2ea6fb2d3f24b206727046cd4db4aea0d Mon Sep 17 00:00:00 2001 From: wangning <164851225@qq.com> Date: Tue, 24 Apr 2018 09:54:30 +0800 Subject: [PATCH 27/35] update --- .../payment/manage/merchants/entity/ClientConfigModify.java | 6 +++++- .../payment/manage/merchants/entity/ClientModify.java | 6 +++++- src/main/resources/application-local.properties | 2 +- src/main/resources/application.properties | 6 ++++-- 4 files changed, 15 insertions(+), 5 deletions(-) diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/entity/ClientConfigModify.java b/src/main/java/au/com/royalpay/payment/manage/merchants/entity/ClientConfigModify.java index 91e231aff..2203f760f 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchants/entity/ClientConfigModify.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/entity/ClientConfigModify.java @@ -38,7 +38,11 @@ public abstract class ClientConfigModify { public int doModify(MerchantInfoProvider merchantInfoProvider, ClientConfigMapper clientConfigMapper, MongoTemplate mongoTemplate) { JSONObject client = merchantInfoProvider.getClientInfoByMoniker(clientMoniker); JSONObject modifyResult = getModifyResult(); - saveModifyHistory(client, modifyResult,mongoTemplate); + try { + saveModifyHistory(client, modifyResult, mongoTemplate); + }catch (Exception e){ + + } int clientId = client.getIntValue("client_id"); modifyResult.put("client_id", clientId); clientConfigMapper.update(modifyResult); diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/entity/ClientModify.java b/src/main/java/au/com/royalpay/payment/manage/merchants/entity/ClientModify.java index 2831f31da..cf33238d9 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchants/entity/ClientModify.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/entity/ClientModify.java @@ -38,7 +38,11 @@ public abstract class ClientModify { public int doModify(MerchantInfoProvider merchantInfoProvider, ClientMapper clientMapper, MongoTemplate mongoTemplate) { JSONObject client = merchantInfoProvider.getClientInfoByMoniker(clientMoniker); JSONObject modifyResult = getModifyResult(); - saveModifyHistory(client, modifyResult, mongoTemplate); + try { + saveModifyHistory(client, modifyResult, mongoTemplate); + }catch (Exception e){ + + } int clientId = client.getIntValue("client_id"); modifyResult.put("client_id", clientId); clientMapper.update(modifyResult); diff --git a/src/main/resources/application-local.properties b/src/main/resources/application-local.properties index 91173a856..f2f13acd0 100644 --- a/src/main/resources/application-local.properties +++ b/src/main/resources/application-local.properties @@ -1,6 +1,6 @@ spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.datasource.schema-name=royalpay_production -spring.datasource.host=192.168.0.49:3306 +spring.datasource.host=192.168.99.103:3306 spring.datasource.url=jdbc:mysql://${spring.datasource.host}/${spring.datasource.schema-name}?useUnicode=true&characterEncoding=utf8&useSSL=false spring.datasource.username=root spring.datasource.password=root \ No newline at end of file diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index c75deb1a3..36e842543 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -1,6 +1,6 @@ server.port=5000 -spring.profiles.active=dev,alipay,bestpay,jd,wechat +spring.profiles.active=local,alipay,bestpay,jd,wechat env.company=RoyalPay @@ -18,13 +18,15 @@ spring.datasource.max-idle=150 spring.datasource.max-wait=3000 spring.datasource.filters=stat,wall,log4j -spring.redis.host=127.0.0.1 +spring.redis.host=192.168.99.103 spring.redis.port=6379 spring.redis.database=1 spring.data.mongodb.host=192.168.99.103 spring.data.mongodb.port=27017 spring.data.mongodb.database=royalpay_production +spring.data.mongodb.username=mongouser +spring.data.mongodb.password=Royalpay@123 mybatis.autosql.default-dialect=mysql From ba8ec57049006d0f3486c4dca66fc3d31a15ee26 Mon Sep 17 00:00:00 2001 From: wangning <164851225@qq.com> Date: Thu, 3 May 2018 10:45:57 +0800 Subject: [PATCH 28/35] update --- .../payment/manage/risk/core/impl/RiskMerchantServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/au/com/royalpay/payment/manage/risk/core/impl/RiskMerchantServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/risk/core/impl/RiskMerchantServiceImpl.java index bceee32d1..f8f8651a6 100644 --- a/src/main/java/au/com/royalpay/payment/manage/risk/core/impl/RiskMerchantServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/risk/core/impl/RiskMerchantServiceImpl.java @@ -116,7 +116,7 @@ public class RiskMerchantServiceImpl implements RiskMerchantService { } String remark = ""; if (dealRiskRecord.getLimitAmount() != null) { - clientManager.setMaxOrderAmount(record.getString("client_moniker"), dealRiskRecord.getLimitAmount()); + clientManager.setMaxOrderAmount(account,record.getString("client_moniker"), dealRiskRecord.getLimitAmount()); remark = remark + "限额" + dealRiskRecord.getLimitAmount(); } From fe26434e1114249f08fd56dc778ac4973e721b8f Mon Sep 17 00:00:00 2001 From: wangning <164851225@qq.com> Date: Thu, 3 May 2018 11:40:52 +0800 Subject: [PATCH 29/35] update --- .../payment/manage/merchants/core/ClientManager.java | 2 +- .../manage/merchants/core/impls/ClientManagerImpl.java | 9 ++------- .../manage/merchants/web/PartnerManageController.java | 4 ++-- 3 files changed, 5 insertions(+), 10 deletions(-) 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 965d42a1b..4f2a1293f 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 @@ -199,7 +199,7 @@ public interface ClientManager { void setClientTaxInSurcharge(JSONObject account,String clientMoniker, boolean taxInSurcharge); - void setClientCustomerTaxFree(String clientMoniker, boolean customerTaxFree); + void setClientCustomerTaxFree(JSONObject account,String clientMoniker, boolean customerTaxFree); List listClientsForSettlement(); 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 3826fde4a..6a3267843 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 @@ -2317,17 +2317,12 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid } @Override - public void setClientCustomerTaxFree(String clientMoniker, boolean customerTaxFree) { + public void setClientCustomerTaxFree(JSONObject account,String clientMoniker, boolean customerTaxFree) { JSONObject client = getClientInfoByMoniker(clientMoniker); if (client == null) { throw new InvalidShortIdException(); } - JSONObject update = new JSONObject(); - int clientId = client.getIntValue("client_id"); - update.put("client_id", clientId); - update.put("customer_tax_free", customerTaxFree); - clientMapper.update(update); - clientInfoCacheSupport.clearClientCache(clientId); + clientModifySupport.processClientConfigModify(new SwitchPermissionModify(account,clientMoniker,"customer_tax_free",customerTaxFree)); } @Override 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 8d84b469d..77bde5762 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 @@ -196,8 +196,8 @@ public class PartnerManageController { } @ManagerMapping(value = "/{clientMoniker}/customer_tax_free", method = RequestMethod.PUT, role = {ManagerRole.OPERATOR}) - public void setClientCustomerTaxFree(@PathVariable String clientMoniker, @RequestBody JSONObject config) { - clientManager.setClientCustomerTaxFree(clientMoniker, config.getBooleanValue("customer_tax_free")); + public void setClientCustomerTaxFree(@ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager,@PathVariable String clientMoniker, @RequestBody JSONObject config) { + clientManager.setClientCustomerTaxFree(manager,clientMoniker, config.getBooleanValue("customer_tax_free")); } @ManagerMapping(value = "/{clientMoniker}/credential_code", method = RequestMethod.PUT, role = {ManagerRole.OPERATOR, ManagerRole.BD_USER}) From ae8d4a66bab84d590435f7f4c47a2c64f477ba53 Mon Sep 17 00:00:00 2001 From: yuan <1551130722@qq.com> Date: Thu, 3 May 2018 15:22:22 +0800 Subject: [PATCH 30/35] fix html~ --- .../core/MerchantIdManageService.java | 3 + .../impl/MerchantIdManageServiceImpl.java | 57 ++++- .../web/MerchantIdManageController.java | 7 + .../payment/merchantid/merchant_id_manager.js | 138 ++++++----- .../templates/client_sub_merchant_id.html | 27 +- .../templates/merchant_id_manage.html | 230 +++++++++--------- .../templates/no_trade_sub_merchant_id.html | 43 ++++ .../templates/temp_sub_merchant_id.html | 38 +++ 8 files changed, 344 insertions(+), 199 deletions(-) create mode 100644 src/main/ui/static/payment/merchantid/templates/no_trade_sub_merchant_id.html create mode 100644 src/main/ui/static/payment/merchantid/templates/temp_sub_merchant_id.html diff --git a/src/main/java/au/com/royalpay/payment/manage/merchantid/core/MerchantIdManageService.java b/src/main/java/au/com/royalpay/payment/manage/merchantid/core/MerchantIdManageService.java index ec5912ba7..b7d0f8503 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchantid/core/MerchantIdManageService.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchantid/core/MerchantIdManageService.java @@ -20,4 +20,7 @@ public interface MerchantIdManageService { void save(JSONObject record); void disable(String sub_merchant_id); + + JSONObject getClientQrCodeImg(JSONObject manager,String sub_merchant_id); + } diff --git a/src/main/java/au/com/royalpay/payment/manage/merchantid/core/impl/MerchantIdManageServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/merchantid/core/impl/MerchantIdManageServiceImpl.java index c1fe7f0f1..60240ddc9 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchantid/core/impl/MerchantIdManageServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchantid/core/impl/MerchantIdManageServiceImpl.java @@ -7,17 +7,28 @@ import au.com.royalpay.payment.manage.mappers.client.ClientSubMerchantIdMapper; import au.com.royalpay.payment.manage.mappers.payment.CommonSubMerchantIdMapper; import au.com.royalpay.payment.manage.mappers.system.ClientMapper; import au.com.royalpay.payment.manage.merchantid.core.MerchantIdManageService; -import au.com.royalpay.payment.tools.env.PlatformEnvironment; import au.com.royalpay.payment.tools.env.SysConfigManager; import au.com.royalpay.payment.tools.exceptions.BadRequestException; +import au.com.royalpay.payment.tools.exceptions.ServerErrorException; +import cn.yixblog.platform.http.HttpRequestGenerator; +import cn.yixblog.platform.http.HttpRequestResult; 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.lang3.StringUtils; +import org.apache.commons.codec.digest.DigestUtils; +import org.apache.commons.lang3.RandomStringUtils; +import org.apache.commons.lang3.time.DateFormatUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.RequestMethod; +import sun.text.normalizer.NormalizerBase; import javax.annotation.Resource; +import java.io.IOException; +import java.net.URISyntaxException; import java.util.Date; import java.util.HashMap; import java.util.List; @@ -47,6 +58,8 @@ public class MerchantIdManageServiceImpl implements MerchantIdManageService { @Resource private MpPaymentApi mpPaymentApi; + private Logger logger = LoggerFactory.getLogger(getClass()); + @Override public Map> listSubMerchantId(JSONObject manager) { @@ -130,4 +143,44 @@ public class MerchantIdManageServiceImpl implements MerchantIdManageService { Map> clientsMap = clients.stream().filter(t->t.containsKey("merchant_id")).filter(t->t.containsKey("sub_merchant_id")).collect(Collectors.groupingBy(t->t.getString("merchant_id"))); return clientsMap; } + + @Override + public JSONObject getClientQrCodeImg(JSONObject manager,String sub_merchant_id) { + List clientMonikers = showClientMoniker(manager,sub_merchant_id); + if(clientMonikers.isEmpty()){ + throw new BadRequestException("当前子商户号下暂无商户"); + } + String partner_code = clientMonikers.get(0).getString("client_moniker"); + String orderId = "Merchant" + DateFormatUtils.format(new Date(), "yyyyMMddHHmmss") + "_" + RandomStringUtils.random(5, true, true).toUpperCase(); + JSONObject param = new JSONObject(); + param.put("price", 10); + param.put("description", "order"); + param.put("operator", "web"); + param.put("currency","CNY"); + String createUrl= "https://mpay.royalpay.com.au/api/v1.0/gateway/partners/" + partner_code + "/orders/" + orderId + "?" + queryParams(partner_code); + + HttpRequestResult result = null; + try { + result = new HttpRequestGenerator(createUrl, RequestMethod.PUT).setJSONEntity(param).execute(); + } catch (URISyntaxException e) { + e.printStackTrace(); + } + if (result.isSuccess()) { + try { + return result.getResponseContentJSONObj(); + } catch (IOException e) { + throw new ServerErrorException(e.getMessage(), e); + } + } + return null; + } + + private String queryParams(String client_moniker) { + JSONObject client = clientMapper.findClientByMoniker(client_moniker); + long time = System.currentTimeMillis(); + String nonceStr = RandomStringUtils.random(15, true, true); + String validStr = client_moniker + "&" + time + "&" + nonceStr + "&" + client.getString("credential_code"); + String sign = DigestUtils.sha256Hex(validStr).toLowerCase(); + return "time=" + time + "&nonce_str=" + nonceStr + "&sign=" + sign; + } } diff --git a/src/main/java/au/com/royalpay/payment/manage/merchantid/web/MerchantIdManageController.java b/src/main/java/au/com/royalpay/payment/manage/merchantid/web/MerchantIdManageController.java index ea706e83b..27a6a44d8 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchantid/web/MerchantIdManageController.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchantid/web/MerchantIdManageController.java @@ -32,6 +32,7 @@ public class MerchantIdManageController { return merchantIdManageService.listSubMerchantId(manager); } + @RequestMapping(method = RequestMethod.GET,value = "/trade") @RequireManager(role = {ManagerRole.OPERATOR}) public JSONObject listNotTradeSubMerchantId(@ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager) { @@ -72,4 +73,10 @@ public class MerchantIdManageController { public void disableCommonSubMerchantId(@PathVariable String sub_merchant_id) { merchantIdManageService.disable(sub_merchant_id); } + + @RequestMapping(value = "/qrcode/{sub_merchant_id}", method = RequestMethod.PUT) + @RequireManager(role = {ManagerRole.OPERATOR}) + public JSONObject getClientQrCodeImg(@PathVariable String sub_merchant_id,@ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager) { + return merchantIdManageService.getClientQrCodeImg(manager,sub_merchant_id); + } } diff --git a/src/main/ui/static/payment/merchantid/merchant_id_manager.js b/src/main/ui/static/payment/merchantid/merchant_id_manager.js index 87dbcbe51..e78dddfcd 100644 --- a/src/main/ui/static/payment/merchantid/merchant_id_manager.js +++ b/src/main/ui/static/payment/merchantid/merchant_id_manager.js @@ -1,90 +1,114 @@ define(['angular', 'static/commons/commons', 'uiBootstrap', 'uiRouter', 'ngBootSwitch', 'ngFileUpload', 'uiSelect'], function (angular) { 'use strict'; - var app = angular.module('merchantIdManage', ['ui.bootstrap', 'ui.router', 'frapontillo.bootstrap-switch', 'ngFileUpload', 'ui.select']); + var app = angular.module('merchantIdManage', ['ui.bootstrap', 'ui.router', 'ngFileUpload', 'ui.select']); app.config(['$stateProvider', function ($stateProvider) { $stateProvider.state('merchant_id_manage', { - url: '/merchant_id/manage', + url: '/merchant_id_manage', templateUrl: '/static/payment/merchantid/templates/merchant_id_manage.html', - controller: 'merchantIdManageCtrl', - data: {label: '商户号列表'} + controller: 'merchantIdManageCtrl' + }).state('merchant_id_manage.no_trace_list', { + url: '/no_trace_list', + templateUrl: '/static/payment/merchantid/templates/no_trade_sub_merchant_id.html', + controller: 'noTradeSubMerchantIdCtrl' + }).state('merchant_id_manage.temp_list', { + url: '/temp_list', + templateUrl: '/static/payment/merchantid/templates/temp_sub_merchant_id.html', + controller: 'tempSubMerchantId' }) }]); - app.controller('merchantIdManageCtrl', ['$scope', '$state', '$http', '$uibModal', 'commonDialog', function ($scope, $state, $http,$uibModal,commonDialog) { - $scope.pagination = {}; - $scope.params = {}; + app.controller('merchantIdManageCtrl', ['$scope', '$state', '$http', function ($scope, $state, $http) { $scope.isCollapsed = true; + $scope.toShow = false; + $scope.client_loading = true; $scope.loadClient = function () { - $scope.client_loading = true; - $http.get('/sys/merchant_id').then(function (resp) { - $scope.clientsMap = resp.data; - $scope.client_loading = false; - }); + $http.get('/sys/merchant_id').then(function (resp) { + $scope.clientsMap = resp.data; + $scope.client_loading = false; + }); }; $scope.loadClient(); - $scope.loadNotTradeClient = function () { + + $scope.showClient = function (sub_merchant_id) { + if($scope.sub_merchant_id == sub_merchant_id){ + return; + } + $http.get('/sys/merchant_id/'+sub_merchant_id).then(function (resp) { + $scope.client_monikers= resp.data; + $scope.sub_merchant_id = sub_merchant_id; + }); + }; + }]); + app.controller('noTradeSubMerchantIdCtrl', ['$scope', '$state', '$http','$uibModal', function ($scope, $state, $http,$uibModal) { + $scope.pagination = {}; + $scope.params = {}; + $scope.isCollapsed = true; + + $scope.loadNotTradeClient = function () { + $scope.disable_button = true; $http.get('/sys/merchant_id/trade').then(function (resp) { $scope.notTradeClientsMap = resp.data.merchant_id_map; $scope.refresh_time = resp.data.refresh_time; $scope.disable_button = false; }); - }; - $scope.loadNotTradeClient(); - - $scope.loadTempSubMerchantId = function () { - var params = angular.copy($scope.params); - if(!params.sub_merchant_id){ - delete params.sub_merchant_id; - } - $http.get('/sys/merchant_id/common_sub_merchant_id',{params: params}).then(function (resp) { - $scope.subMerchantIdList= resp.data; - }); - }; - $scope.loadTempSubMerchantId(); - $scope.showClient = function (sub_merchant_id) { - $uibModal.open({ - templateUrl: '/static/payment/merchantid/templates/client_sub_merchant_id.html', - controller: 'showClientsCtrl', - resolve: { - clients: ['$http', function ($http) { - return $http.get('/sys/merchant_id/'+sub_merchant_id); - }] - }, - size: 'sm' - }) }; + $scope.loadNotTradeClient(); $scope.refresh = function () { $scope.disable_button = true; - $http.post('/sys/merchant_id/refresh').then(function (resp) { + $http.post('/sys/merchant_id/refresh').then(function () { $scope.loadNotTradeClient(); }); }; - $scope.save = function () { + $scope.showClient = function (sub_merchant_id) { $uibModal.open({ - templateUrl: '/static/payment/merchantid/templates/new_common_sub_merchant_id.html', - controller: 'newCommonSubMerchantIdCtrl' - }).result.then(function () { - $scope.loadTempSubMerchantId() + templateUrl: '/static/payment/merchantid/templates/client_sub_merchant_id.html', + controller: 'showClientsCtrl', + resolve: { + qrJson: ['$http', function ($http) { + return $http.put('/sys/merchant_id/qrcode/'+sub_merchant_id); + }] + }, + size: 'sm' }) - } - $scope.disable = function (sub_merchant_id) { - $http.put('/sys/merchant_id/common_sub_merchant_id/'+sub_merchant_id).then(function (resp) { - commonDialog.alert({title: 'Success', content: 'Success', type: 'success'}); - $scope.loadTempSubMerchantId(); - },function (resp) { - commonDialog.alert({title: 'Error', content: resp.data.message, type: 'error'}); - }); - } - - + }; + }]); + app.controller('showClientsCtrl', ['$scope', '$http','qrJson', function ($scope, $http,qrJson) { + $scope.qrJson = qrJson.data; }]); + app.controller('tempSubMerchantId', ['$scope', '$state', '$http', '$uibModal', 'commonDialog', function ($scope, $state, $http,$uibModal,commonDialog) { + $scope.pagination = {}; + $scope.params = {}; - app.controller('showClientsCtrl', ['$scope', '$http','clients', function ($scope, $http,clients) { - $scope.clients = clients.data; + $scope.loadTempSubMerchantId = function () { + var params = angular.copy($scope.params); + if(!params.sub_merchant_id){ + delete params.sub_merchant_id; + } + $http.get('/sys/merchant_id/common_sub_merchant_id',{params: params}).then(function (resp) { + $scope.subMerchantIdList= resp.data; + }); + }; + $scope.loadTempSubMerchantId(); + $scope.save = function () { + $uibModal.open({ + templateUrl: '/static/payment/merchantid/templates/new_common_sub_merchant_id.html', + controller: 'newCommonSubMerchantIdCtrl' + }).result.then(function () { + $scope.loadTempSubMerchantId() + }) + }; + $scope.disable = function (sub_merchant_id) { + $http.put('/sys/merchant_id/common_sub_merchant_id/'+sub_merchant_id).then(function (resp) { + commonDialog.alert({title: 'Success', content: 'Success', type: 'success'}); + $scope.loadTempSubMerchantId(); + },function (resp) { + commonDialog.alert({title: 'Error', content: resp.data.message, type: 'error'}); + }); + } }]); - app.controller('newCommonSubMerchantIdCtrl', ['$scope', '$http','commonDialog','$state', function ($scope, $http,commonDialog,$state) { + app.controller('newCommonSubMerchantIdCtrl', ['$scope', '$http','commonDialog', function ($scope, $http,commonDialog) { $scope.params = {}; $scope.saveSubMerchantId = function () { var params = angular.copy($scope.params); diff --git a/src/main/ui/static/payment/merchantid/templates/client_sub_merchant_id.html b/src/main/ui/static/payment/merchantid/templates/client_sub_merchant_id.html index e2460c5dc..91d684891 100644 --- a/src/main/ui/static/payment/merchantid/templates/client_sub_merchant_id.html +++ b/src/main/ui/static/payment/merchantid/templates/client_sub_merchant_id.html @@ -1,26 +1,3 @@ - - -