From 8b078e28a772edccef4792d570ce939067e747a8 Mon Sep 17 00:00:00 2001 From: Tayl0r <519104047@qq.com> Date: Wed, 27 Dec 2017 11:55:52 +0800 Subject: [PATCH 1/9] fix bugs --- .../payment/manage/tradelog/refund/impls/RefundServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 b7c2e2fe1..6a77fe285 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 @@ -183,7 +183,7 @@ public class RefundServiceImpl implements RefundService, ApplicationEventPublish BigDecimal realAmount = original ? fee : CurrencyAmountUtils.toAmount(fee, order.getString("currency")); JSONObject refundConfig = checkRefundAuditFlag(); - if (refundConfig != null && refundConfig.size() > 0 && refundConfig.getBoolean("refundAudit")) { + if (partnerAccount!=null && refundConfig != null && refundConfig.size() > 0 && refundConfig.getBoolean("refundAudit")) { if (realAmount.compareTo(refundConfig.getBigDecimal("refundAuditAmount")) > 0) { //订单需要审核 boolean casherRefund = reviewNewRefundOrder(orderId, realAmount, remark, partnerAccount, manager); From 9647e0e1f4d64c64c1e09cc95462ff9189f6a180 Mon Sep 17 00:00:00 2001 From: wangning <164851225@qq.com> Date: Wed, 27 Dec 2017 12:15:50 +0800 Subject: [PATCH 2/9] =?UTF-8?q?=E6=A8=A1=E6=9D=BF=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../one_dollar_day/merchant_detail.html | 10 ++-- .../templates/mail/register_application.html | 53 ------------------- .../templates/mail/reset_password.html | 3 +- .../templates/reports/week_report.html | 44 +-------------- 4 files changed, 8 insertions(+), 102 deletions(-) delete mode 100644 src/main/resources/templates/mail/register_application.html diff --git a/src/main/resources/templates/activity/one_dollar_day/merchant_detail.html b/src/main/resources/templates/activity/one_dollar_day/merchant_detail.html index 8bd064772..ce1e7710f 100644 --- a/src/main/resources/templates/activity/one_dollar_day/merchant_detail.html +++ b/src/main/resources/templates/activity/one_dollar_day/merchant_detail.html @@ -30,21 +30,21 @@

- 买单 + 买单

-
+
-
+
-
+
diff --git a/src/main/resources/templates/mail/register_application.html b/src/main/resources/templates/mail/register_application.html deleted file mode 100644 index f0f14b3a5..000000000 --- a/src/main/resources/templates/mail/register_application.html +++ /dev/null @@ -1,53 +0,0 @@ - - - - -
- - - - - - - - - - - - - - - - - - - - - - -
-

Register Invitation

-
-

Dear Partner,

-

Thank you for registering an account with us!

-

This is a system verification email from RoyalPay. RoyalPay is an exciting platform that makes international payments as easy as local ones. - To get started, click on the button below:

-
- - - - -
- Register your account right now! -
- -
-
\ No newline at end of file diff --git a/src/main/resources/templates/mail/reset_password.html b/src/main/resources/templates/mail/reset_password.html index 4a0aa5e7d..cbc7bc56d 100644 --- a/src/main/resources/templates/mail/reset_password.html +++ b/src/main/resources/templates/mail/reset_password.html @@ -34,11 +34,10 @@ - #foreach($item in $accounts)
- , Reset Password + , Reset Password
diff --git a/src/main/resources/templates/reports/week_report.html b/src/main/resources/templates/reports/week_report.html index 41c182525..e3bcd0070 100644 --- a/src/main/resources/templates/reports/week_report.html +++ b/src/main/resources/templates/reports/week_report.html @@ -123,7 +123,7 @@ th:if="${report.transaction_report.melbourne.thisweek.compare.direction<0}" th:text="'↓'+${report.transaction_report.melbourne.thisweek.compare.value}"> $report.transaction_report.melbourne.thisweek.compare.value + th:text="${report.transaction_report.melbourne.thisweek.compare.value}">
@@ -172,7 +172,7 @@ th:if="${report.transaction_report.sydney.thisweek.compare.direction<0}" th:text="'↓'+${$report.transaction_report.sydney.thisweek.compare.value}"> $report.transaction_report.sydney.thisweek.compare.value + th:text="${$report.transaction_report.sydney.thisweek.compare.value}"> @@ -226,89 +226,49 @@ - ##
- ##
新增商户情况(Melbourne)
- ##
- ##
- ##
- ##
- ##
- ##
- ##
- ##
- ##
- ##
- ##
- ##
- ##
新增总数
- ##
- ##
- ##
- ##
- ## - ##
- ##
新增商户情况(Sydney)
- ##
- ##
- ##
- ##
- ##
- ##
- ##
- ## #end - ##
- ##
- ##
- ##
- ##
- ##
新增总数
- ##
- ##
- ##
- ##
From 2596573b83a7e102e13254d5e6627ad4e48d361c Mon Sep 17 00:00:00 2001 From: "eason.qian" Date: Wed, 27 Dec 2017 14:07:02 +0800 Subject: [PATCH 3/9] fix --- .../manage/task/CleanNoticeTaskManager.java | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 src/main/java/au/com/royalpay/payment/manage/task/CleanNoticeTaskManager.java diff --git a/src/main/java/au/com/royalpay/payment/manage/task/CleanNoticeTaskManager.java b/src/main/java/au/com/royalpay/payment/manage/task/CleanNoticeTaskManager.java new file mode 100644 index 000000000..0395ec505 --- /dev/null +++ b/src/main/java/au/com/royalpay/payment/manage/task/CleanNoticeTaskManager.java @@ -0,0 +1,24 @@ +package au.com.royalpay.payment.manage.task; + +import au.com.royalpay.payment.manage.management.clearing.core.CleanService; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; + +/** + * Created by yishuqian on 06/06/2017. + */ +@Component +@ConditionalOnProperty(value = "app.run-tasks",havingValue = "true") +public class CleanNoticeTaskManager { + + @Resource + private CleanService cleanService; + + @Scheduled(cron = "0 0 15 * * ?") + public void sendCleanNotice(){ + cleanService.getTodaySettlementLogs(); + } +} From f26a747c05e9e31bf954c94cde76a2b5e85fa84c Mon Sep 17 00:00:00 2001 From: wangning <164851225@qq.com> Date: Wed, 27 Dec 2017 15:04:06 +0800 Subject: [PATCH 4/9] add new sub partner excepeion --- .../core/impls/ClientManagerImpl.java | 25 +++++++++++-------- 1 file changed, 15 insertions(+), 10 deletions(-) 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 dab9557d1..62364635e 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 @@ -70,6 +70,7 @@ 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 com.mysql.jdbc.exceptions.MySQLIntegrityConstraintViolationException; import org.apache.commons.io.IOUtils; import org.apache.commons.lang3.RandomStringUtils; @@ -413,7 +414,11 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid if (clientMapper.findClientByMoniker(registery.getClientMoniker()) != null) { throw new BadRequestException("error.partner.valid.dumplicate_client_moniker"); } - clientMapper.save(partner); + try { + clientMapper.save(partner); + } catch (Exception e) { + throw new BadRequestException("error.partner.valid.dumplicate_client_moniker"); + } if (ManagerRole.BD_USER.hasRole(manager.getIntValue("role"))) { JSONObject client_bd = new JSONObject(); @@ -2721,7 +2726,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid } private TemplateMessage initSendToComplianceGreenChannelTemplate(String loginUrl, String wxopenid, String templateId2, String bd_user_name, - JSONObject client) { + JSONObject client) { TemplateMessage msg = new TemplateMessage(wxopenid, templateId2, loginUrl); msg.put("first", bd_user_name + " 提交了新商户绿色通道申请,请审核", "#ff0000"); msg.put("keyword1", client.getString("client_moniker") + "申请绿色通道", "#0000ff"); @@ -2784,8 +2789,8 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid String wxopenid = compliance.getString("wx_openid"); try { MpWechatApi paymentApi = mpWechatApiProvider.getNewPaymentApi(); - TemplateMessage msg = initSendCommissionTemplate(wxopenid, paymentApi.getTemplateId("commission"), "BD申请制作合同" + client_moniker, bd_user_name, "制作合同申请", - "BD申请制作" + short_name + "的合同"); + TemplateMessage msg = initSendCommissionTemplate(wxopenid, paymentApi.getTemplateId("commission"), "BD申请制作合同" + client_moniker, + bd_user_name, "制作合同申请", "BD申请制作" + short_name + "的合同"); paymentApi.sendTemplateMessage(msg); } catch (WechatException e) { logger.error("Wechat Message Error,open_status=1" + e.getMessage()); @@ -2802,8 +2807,8 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid if (wxopenid != null) { try { MpWechatApi paymentApi = mpWechatApiProvider.getNewPaymentApi(); - TemplateMessage msg = initSendCommissionTemplate(wxopenid, paymentApi.getTemplateId("commission"), client_moniker + "合同制作完成", "Compliance", "合规材料", - "上传完整合规材料,商户:" + short_name); + TemplateMessage msg = initSendCommissionTemplate(wxopenid, paymentApi.getTemplateId("commission"), client_moniker + "合同制作完成", + "Compliance", "合规材料", "上传完整合规材料,商户:" + short_name); paymentApi.sendTemplateMessage(msg); } catch (WechatException e) { logger.error("Wechat Message Error,open_status=3" + e.getMessage()); @@ -2822,8 +2827,8 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid String wxopenid = compliance.getString("wx_openid"); try { MpWechatApi paymentApi = mpWechatApiProvider.getNewPaymentApi(); - TemplateMessage msg = initSendCommissionTemplate(wxopenid, paymentApi.getTemplateId("commission"), client_moniker + "合规材料已提交", bd_user_name, "审核材料", - "BD已提交合规材料,等待审核"); + TemplateMessage msg = initSendCommissionTemplate(wxopenid, paymentApi.getTemplateId("commission"), client_moniker + "合规材料已提交", + bd_user_name, "审核材料", "BD已提交合规材料,等待审核"); paymentApi.sendTemplateMessage(msg); } catch (WechatException e) { logger.error("Wechat Message Error,open_status=1" + e.getMessage()); @@ -2858,8 +2863,8 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid String wxopenid = compliance.getString("wx_openid"); try { MpWechatApi paymentApi = mpWechatApiProvider.getNewPaymentApi(); - TemplateMessage msg = initSendCommissionTemplate(wxopenid, paymentApi.getTemplateId("commission"), client_moniker + "申请绿色通道", bd_user_name, "绿色通道申请", - "BD已提交绿色通道申请,商户:" + short_name); + TemplateMessage msg = initSendCommissionTemplate(wxopenid, paymentApi.getTemplateId("commission"), client_moniker + "申请绿色通道", + bd_user_name, "绿色通道申请", "BD已提交绿色通道申请,商户:" + short_name); paymentApi.sendTemplateMessage(msg); } catch (WechatException e) { logger.error("Wechat Message Error,open_status=10"); From 573ae86bfff664a045dfdb72e9cf13b6a30cf121 Mon Sep 17 00:00:00 2001 From: yuan <1551130722@qq.com> Date: Thu, 28 Dec 2017 15:15:21 +0800 Subject: [PATCH 5/9] fix~ --- .../static/payment/partner/templates/partner_accounts.html | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/main/ui/static/payment/partner/templates/partner_accounts.html b/src/main/ui/static/payment/partner/templates/partner_accounts.html index 9c0d1d294..0e357f12d 100644 --- a/src/main/ui/static/payment/partner/templates/partner_accounts.html +++ b/src/main/ui/static/payment/partner/templates/partner_accounts.html @@ -16,6 +16,7 @@ Username Display Name + OpenId Role Create Time Operation @@ -25,6 +26,10 @@ + + + {{account.wechat_openid}} + From c983035613051961dc2766ddfe897f578f4bde73 Mon Sep 17 00:00:00 2001 From: "eason.qian" Date: Thu, 28 Dec 2017 15:58:19 +0800 Subject: [PATCH 6/9] fix --- .../appclient/core/RetailAppService.java | 2 ++ .../core/impls/RetailAppServiceImp.java | 11 +++++++++++ .../appclient/web/RetailAppController.java | 8 ++++++++ .../resources/jasper/austrac_report.jasper | Bin 190629 -> 189278 bytes .../jasper/austrac_report20171228.jasper | Bin 0 -> 190629 bytes .../static/cms/templates/article_editor.html | 6 +++++- .../ui/static/cms/templates/cms_root.html | 3 +++ 7 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 src/main/resources/jasper/austrac_report20171228.jasper diff --git a/src/main/java/au/com/royalpay/payment/manage/appclient/core/RetailAppService.java b/src/main/java/au/com/royalpay/payment/manage/appclient/core/RetailAppService.java index 284d9df58..b97328977 100644 --- a/src/main/java/au/com/royalpay/payment/manage/appclient/core/RetailAppService.java +++ b/src/main/java/au/com/royalpay/payment/manage/appclient/core/RetailAppService.java @@ -105,4 +105,6 @@ public interface RetailAppService { JSONObject getCouponById(JSONObject device, String coupon_log_id); void useCoupon(JSONObject device, String coupon_log_id); + + JSONObject getAd(JSONObject device); } 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 73585a729..95bc0f3ae 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 @@ -43,6 +43,7 @@ import com.github.miemiedev.mybatis.paginator.domain.PageBounds; import com.github.miemiedev.mybatis.paginator.domain.PageList; import com.notnoop.apns.APNS; import com.notnoop.apns.ApnsService; +import org.apache.commons.lang3.RandomUtils; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.time.DateFormatUtils; import org.apache.commons.lang3.time.DateUtils; @@ -1168,6 +1169,16 @@ public class RetailAppServiceImp implements RetailAppService { couponVerificationService.useCoupon(coupon_log_id); } + @Override + public JSONObject getAd(JSONObject device) { + String clientType = device.getString("client_type"); + deviceSupport.findRegister(clientType); + JSONObject res = royalPayCMSSupport.listArticles("app_ad", false, true, 1, 10); + JSONArray acts = res.getJSONArray("data"); + int selectNo = RandomUtils.nextInt(0,acts.size()); + return acts.getJSONObject(selectNo); + } + private static boolean mathchLetterorNum(String str) { String regex = "[A-Za-z0-9]{8}"; return str.matches(regex); diff --git a/src/main/java/au/com/royalpay/payment/manage/appclient/web/RetailAppController.java b/src/main/java/au/com/royalpay/payment/manage/appclient/web/RetailAppController.java index bb333ca68..c7a8932b1 100644 --- a/src/main/java/au/com/royalpay/payment/manage/appclient/web/RetailAppController.java +++ b/src/main/java/au/com/royalpay/payment/manage/appclient/web/RetailAppController.java @@ -264,4 +264,12 @@ public class RetailAppController { } /*优惠券End*/ + + /** + * 广告位 + */ + @RequestMapping(value = "/ads", method = RequestMethod.GET) + public JSONObject getActivities(@ModelAttribute(CommonConsts.RETAIL_DEVICE) JSONObject device) { + return retailAppService.getAd(device); + } } diff --git a/src/main/resources/jasper/austrac_report.jasper b/src/main/resources/jasper/austrac_report.jasper index bc48e6dab6043c6c78385df334711efa6fc6cf57..a0b55d6c7b71c3ae9a9d1eb7016263291269ab77 100644 GIT binary patch delta 36004 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ⅅt|NSN}!laz|12jI~)&+z#T(gcx9$Ne)iJ853b*{ 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 F{y*}lC@=s3 diff --git a/src/main/resources/jasper/austrac_report20171228.jasper b/src/main/resources/jasper/austrac_report20171228.jasper new file mode 100644 index 0000000000000000000000000000000000000000..bc48e6dab6043c6c78385df334711efa6fc6cf57 GIT binary patch literal 190629 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ⅅt|NSN}!laz|12jI~)&+z#T(gcx9$Ne)iJ853b*{ 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 F{y*}lC@=s3 literal 0 HcmV?d00001 diff --git a/src/main/ui/static/cms/templates/article_editor.html b/src/main/ui/static/cms/templates/article_editor.html index 38669dc6b..bfb47f39c 100644 --- a/src/main/ui/static/cms/templates/article_editor.html +++ b/src/main/ui/static/cms/templates/article_editor.html @@ -20,20 +20,24 @@
+

(0:不允许跳转 1:允许跳转)

- + +

(需要展示在首页时填写,反之请输0)

+

(图片尽量要小,控制在500k以内,否则会影响APP页面加载速度)

+

(若有外链,则填,否则留空。在Content为空的时,若有外链则点击图片进行跳转)

diff --git a/src/main/ui/static/cms/templates/cms_root.html b/src/main/ui/static/cms/templates/cms_root.html index 19e28404e..aed11b63e 100644 --- a/src/main/ui/static/cms/templates/cms_root.html +++ b/src/main/ui/static/cms/templates/cms_root.html @@ -23,6 +23,9 @@
App活动页
+
+ App广告页 +
From 95dff547d2384aaeeae110079fd68ff3a0516107 Mon Sep 17 00:00:00 2001 From: "eason.qian" Date: Thu, 28 Dec 2017 17:23:09 +0800 Subject: [PATCH 7/9] fix --- .../manage/appclient/core/impls/RetailAppServiceImp.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 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 95bc0f3ae..d12236795 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 @@ -1175,8 +1175,12 @@ public class RetailAppServiceImp implements RetailAppService { deviceSupport.findRegister(clientType); JSONObject res = royalPayCMSSupport.listArticles("app_ad", false, true, 1, 10); JSONArray acts = res.getJSONArray("data"); - int selectNo = RandomUtils.nextInt(0,acts.size()); - return acts.getJSONObject(selectNo); + if (acts.size()>0){ + int selectNo = RandomUtils.nextInt(0,acts.size()); + return acts.getJSONObject(selectNo); + } + return null; + } private static boolean mathchLetterorNum(String str) { From 62534470032025bf296a975930d12a6703daec8f Mon Sep 17 00:00:00 2001 From: yuan <1551130722@qq.com> Date: Thu, 28 Dec 2017 17:23:58 +0800 Subject: [PATCH 8/9] =?UTF-8?q?=E5=A2=9E=E5=8A=A0customer=E8=B0=83?= =?UTF-8?q?=E7=94=A8=E6=8E=A5=E5=8F=A3=EF=BC=8C=E8=8E=B7=E5=8F=96manager?= =?UTF-8?q?=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../customers/core/CouponValidateService.java | 2 ++ .../core/impls/CouponValidateServiceImpl.java | 12 ++++++++ .../web/PaymentManagerController.java | 28 +++++++++++++++++++ .../customers/CustomerMembershipMapper.java | 2 ++ .../customers/CustomerMembershipMapper.xml | 7 +++++ 5 files changed, 51 insertions(+) create mode 100644 src/main/java/au/com/royalpay/payment/manage/customers/web/PaymentManagerController.java diff --git a/src/main/java/au/com/royalpay/payment/manage/customers/core/CouponValidateService.java b/src/main/java/au/com/royalpay/payment/manage/customers/core/CouponValidateService.java index fdc9655a2..2412014b7 100644 --- a/src/main/java/au/com/royalpay/payment/manage/customers/core/CouponValidateService.java +++ b/src/main/java/au/com/royalpay/payment/manage/customers/core/CouponValidateService.java @@ -13,4 +13,6 @@ public interface CouponValidateService { //使用后核销券 boolean useCoupon(String couponLogId); + + JSONObject getPaymentManager(); } diff --git a/src/main/java/au/com/royalpay/payment/manage/customers/core/impls/CouponValidateServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/customers/core/impls/CouponValidateServiceImpl.java index 0c771bc18..1e1e5d3e8 100644 --- a/src/main/java/au/com/royalpay/payment/manage/customers/core/impls/CouponValidateServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/customers/core/impls/CouponValidateServiceImpl.java @@ -1,6 +1,7 @@ package au.com.royalpay.payment.manage.customers.core.impls; import au.com.royalpay.payment.manage.customers.core.CouponValidateService; +import au.com.royalpay.payment.manage.mappers.customers.CustomerMembershipMapper; import au.com.royalpay.payment.tools.exceptions.BadRequestException; import cn.yixblog.platform.http.HttpRequestGenerator; import cn.yixblog.platform.http.HttpRequestResult; @@ -14,6 +15,7 @@ import org.springframework.stereotype.Service; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.util.UriComponentsBuilder; +import javax.annotation.Resource; import java.util.Date; @@ -34,6 +36,9 @@ public class CouponValidateServiceImpl implements CouponValidateService { @Value("${customer.app.auth-code}") private String CUSTOMER_AUTH_CODE; + @Resource + private CustomerMembershipMapper customerMembershipMapper; + @Override public JSONObject getCoupon(JSONObject partner,int page,int limit) { String timestamp = System.currentTimeMillis() + ""; @@ -133,4 +138,11 @@ public class CouponValidateServiceImpl implements CouponValidateService { } return false; } + + @Override + public JSONObject getPaymentManager() { + JSONObject object = new JSONObject(); + object.put("managers",customerMembershipMapper.listPaymentManagerByCus()); + return object; + } } diff --git a/src/main/java/au/com/royalpay/payment/manage/customers/web/PaymentManagerController.java b/src/main/java/au/com/royalpay/payment/manage/customers/web/PaymentManagerController.java new file mode 100644 index 000000000..ed35b736e --- /dev/null +++ b/src/main/java/au/com/royalpay/payment/manage/customers/web/PaymentManagerController.java @@ -0,0 +1,28 @@ +package au.com.royalpay.payment.manage.customers.web; + +import au.com.royalpay.payment.manage.apps.AppController; +import au.com.royalpay.payment.manage.customers.core.CouponValidateService; +import com.alibaba.fastjson.JSONObject; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +import javax.annotation.Resource; + +/** + * Created by yuan on 2017/12/27. + */ +@RequestMapping(value = "/manager") +@AppController +public class PaymentManagerController { + + @Resource + private CouponValidateService couponVerificationService; + + @GetMapping(value = "/get_payment_manage") + public JSONObject getPaymentManager(){ + JSONObject json = couponVerificationService.getPaymentManager(); + return json; + } +} diff --git a/src/main/java/au/com/royalpay/payment/manage/mappers/customers/CustomerMembershipMapper.java b/src/main/java/au/com/royalpay/payment/manage/mappers/customers/CustomerMembershipMapper.java index 916874d6a..d9324c5db 100644 --- a/src/main/java/au/com/royalpay/payment/manage/mappers/customers/CustomerMembershipMapper.java +++ b/src/main/java/au/com/royalpay/payment/manage/mappers/customers/CustomerMembershipMapper.java @@ -35,4 +35,6 @@ public interface CustomerMembershipMapper { List listEncourageBalanceHistory(@Param("fromDate") Date fromDate, @Param("toDate") Date toDate, @Param("memberId") String memberId); BigDecimal sumEncourageBalance(); + + List listPaymentManagerByCus(); } diff --git a/src/main/resources/au/com/royalpay/payment/manage/mappers/customers/CustomerMembershipMapper.xml b/src/main/resources/au/com/royalpay/payment/manage/mappers/customers/CustomerMembershipMapper.xml index 6de252776..28127795d 100644 --- a/src/main/resources/au/com/royalpay/payment/manage/mappers/customers/CustomerMembershipMapper.xml +++ b/src/main/resources/au/com/royalpay/payment/manage/mappers/customers/CustomerMembershipMapper.xml @@ -49,4 +49,11 @@ + + \ No newline at end of file From 08d0fcb4c208ddf776a4fb4627e37e5f1d7b3632 Mon Sep 17 00:00:00 2001 From: "eason.qian" Date: Thu, 28 Dec 2017 17:55:08 +0800 Subject: [PATCH 9/9] fix --- .../manage/appclient/core/RetailAppService.java | 2 +- .../appclient/core/impls/RetailAppServiceImp.java | 12 ++++++++---- .../manage/appclient/web/RetailAppController.java | 7 +++++-- 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/src/main/java/au/com/royalpay/payment/manage/appclient/core/RetailAppService.java b/src/main/java/au/com/royalpay/payment/manage/appclient/core/RetailAppService.java index b97328977..1779af0b5 100644 --- a/src/main/java/au/com/royalpay/payment/manage/appclient/core/RetailAppService.java +++ b/src/main/java/au/com/royalpay/payment/manage/appclient/core/RetailAppService.java @@ -94,7 +94,7 @@ public interface RetailAppService { void drawDeposits(JSONObject device, BigDecimal draw_amount, String client_id); - JSONObject getCashbackCleanInfo(JSONObject device); + JSONObject getCashbackCleanInfo(JSONObject device,String client_id); void sendMassageByCode(JSONObject params); 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 d12236795..a8655bcf2 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 @@ -1050,13 +1050,17 @@ public class RetailAppServiceImp implements RetailAppService { } @Override - public JSONObject getCashbackCleanInfo(JSONObject device) { + public JSONObject getCashbackCleanInfo(JSONObject device,String client_id) { String clientType = device.getString("client_type"); deviceSupport.findRegister(clientType); - JSONObject res = clientManager.getBankAccountByClientId(device.getIntValue("client_id")); - JSONObject rate = merchantInfoProvider.clientCurrentRate(device.getIntValue("client_id"), new Date(), "Wechat"); + JSONArray clientIds = clientManager.getAllClientIds(device.getIntValue("client_id")); + if (!clientIds.contains(client_id)) { + throw new ForbiddenException("partner has no permission"); + } + 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(device.getIntValue("client_id")); + JSONObject client = clientManager.getClientInfo(Integer.parseInt(client_id)); rate.put("clean_days", client.getIntValue("clean_days")); } res.put("clean_days", rate.getIntValue("clean_days")); diff --git a/src/main/java/au/com/royalpay/payment/manage/appclient/web/RetailAppController.java b/src/main/java/au/com/royalpay/payment/manage/appclient/web/RetailAppController.java index c7a8932b1..bb679fd4a 100644 --- a/src/main/java/au/com/royalpay/payment/manage/appclient/web/RetailAppController.java +++ b/src/main/java/au/com/royalpay/payment/manage/appclient/web/RetailAppController.java @@ -236,8 +236,11 @@ public class RetailAppController { } @RequestMapping(value = "/cash_back/clean_info", method = RequestMethod.GET) - public JSONObject getCashbackCleanInfo(@ModelAttribute(CommonConsts.RETAIL_DEVICE) JSONObject device) { - return retailAppService.getCashbackCleanInfo(device); + public JSONObject getCashbackCleanInfo(@ModelAttribute(CommonConsts.RETAIL_DEVICE) JSONObject device,@RequestParam(value = "client_id",required = false) String client_id) { + if (client_id==null){ + client_id=device.getString("client_id"); + } + return retailAppService.getCashbackCleanInfo(device,client_id); } @RequestMapping(value = "/partner_signin_app_qrcode/{codeId}", method = RequestMethod.GET)