diff --git a/src/main/java/au/com/royalpay/payment/manage/redpack/core/impls/ActRedPackServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/redpack/core/impls/ActRedPackServiceImpl.java index 01d672b37..bd62b227d 100644 --- a/src/main/java/au/com/royalpay/payment/manage/redpack/core/impls/ActRedPackServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/redpack/core/impls/ActRedPackServiceImpl.java @@ -187,7 +187,7 @@ public class ActRedPackServiceImpl implements ActRedPackService { wechatRedpack.setWishing(wishing); wechatRedpack.setRemark("开业红包活动"); logger.info("==============Send RedPacket Service:" + wechatRedpack.toString() + "========="); - String redPacketId = redpackApi.sendRedpack(wechatRedpack).getString("redpack_id"); + String redPacketId = redpackApi.sendRedpack(wechatRedpack).getString("out_biz_no"); prizeDetail.put("red_packet_id", redPacketId); prizeDetail.put("status", 1); actRedPacketsCustomerOrdersMapper.update(prizeDetail); diff --git a/src/main/java/au/com/royalpay/payment/manage/redpack/core/impls/PartnerLMServiceImp.java b/src/main/java/au/com/royalpay/payment/manage/redpack/core/impls/PartnerLMServiceImp.java index 8940e1214..a7a00d2f0 100644 --- a/src/main/java/au/com/royalpay/payment/manage/redpack/core/impls/PartnerLMServiceImp.java +++ b/src/main/java/au/com/royalpay/payment/manage/redpack/core/impls/PartnerLMServiceImp.java @@ -274,7 +274,7 @@ public class PartnerLMServiceImp implements PartnerLMService { String rpOpenId = customerRelation.getString(redpackApi.getOpenIdKey()); wechatRedpack.setSendName(sendName).setOpenId(rpOpenId).setActName(actName) .setRemark("商家激励计划").setAmount(new BigDecimal(luckyMoney).setScale(2, ROUND_DOWN)).setWishing(wishing).setNotifyUrl(notifyUrl); - String redPacketId = redpackApi.sendRedpack(wechatRedpack).getString("redpack_id"); + String redPacketId = redpackApi.sendRedpack(wechatRedpack).getString("out_biz_no"); send.put("red_packet_id", redPacketId); actPartnerLMLogMapper.saveLog(send); } diff --git a/src/main/java/au/com/royalpay/payment/manage/redpack/core/impls/RedpackServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/redpack/core/impls/RedpackServiceImpl.java index 807dbde2c..c8338c05c 100644 --- a/src/main/java/au/com/royalpay/payment/manage/redpack/core/impls/RedpackServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/redpack/core/impls/RedpackServiceImpl.java @@ -127,12 +127,12 @@ public class RedpackServiceImpl implements RedpackService { } try { WechatRedpack redpack = newRedpack(config, orderOpenId); - String redpackId = mpWechatApiProvider.getApi("Redpack").sendRedpack(redpack).getString("redpack_id"); + String redpackId = mpWechatApiProvider.getApi("Redpack").sendRedpack(redpack).getString("out_biz_no"); JSONObject obj = redpack.toJSON(); - obj.put("redpack_id",redpackId); + obj.put("redpack_id", redpackId); obj.put("create_time", new Date()); obj.put("status", 0); - obj.put("order_id",orderId); + obj.put("order_id", orderId); obj.put("client_id", clientId); redPackLogMapper.saveLog(obj); } catch (RedPackException e) { @@ -186,7 +186,7 @@ public class RedpackServiceImpl implements RedpackService { for (int i = 0; i < redpack_counts; i++) { BigDecimal amount = amountFrom.equals(amountTo) ? amountFrom : amountFrom.add(BigDecimal.valueOf(RandomUtils.nextInt(amountTo.subtract(amountFrom).multiply(hundred).intValue())).divide(hundred, - 2, BigDecimal.ROUND_DOWN)); + 2, BigDecimal.ROUND_DOWN)); JSONObject prize = new JSONObject(); String prefix = DateFormatUtils.format(new Date(), "yyyyMMddHHmmssSSS"); String red_packet_order_id = prefix + RandomStringUtils.random(28 - prefix.length(), true, true); @@ -269,8 +269,8 @@ public class RedpackServiceImpl implements RedpackService { ran -= prizeType.getIntValue("weight"); if (ran < 0) { String lock = Long.toString(System.currentTimeMillis(), 36) + RandomStringUtils.random(5, true, true); - int lockedCount = actPartnerLMLogMapper.lockPrize(act_id, lock, prizeType.getString("type_id"), open_id, client_id, orderId, orderAmount.doubleValue(), - new Date()); + int lockedCount = actPartnerLMLogMapper.lockPrize(act_id, lock, prizeType.getString("type_id"), open_id, client_id, orderId, + orderAmount.doubleValue(), new Date()); if (lockedCount > 0) { JSONObject invitationClient = actClientInvitationCodeMapper.getInvitationClient(act_id, client_id); if (invitationClient != null && invitationClient.getBoolean("auto_send")) { @@ -301,9 +301,9 @@ public class RedpackServiceImpl implements RedpackService { throw new RedPackException("ServerError", "Customer openid for redpack not available!"); } String rpOpenId = customerRelation.getString(redpackApi.getOpenIdKey()); - wechatRedpack.setSendName(sendName).setOpenId(rpOpenId).setActName(act.getString("act_name")) - .setRemark("店长激励计划").setAmount(totalAmount).setWishing(wishing).setNotifyUrl(null); - String redPacketId = mpWechatApiProvider.getApi("Redpack").sendRedpack(wechatRedpack).getString("redpack_id"); + wechatRedpack.setSendName(sendName).setOpenId(rpOpenId).setActName(act.getString("act_name")).setRemark("店长激励计划") + .setAmount(totalAmount).setWishing(wishing).setNotifyUrl(null); + String redPacketId = mpWechatApiProvider.getApi("Redpack").sendRedpack(wechatRedpack).getString("out_biz_no"); for (JSONObject prizeDetail : reallySend) { prizeDetail.put("red_packet_id", redPacketId); @@ -389,8 +389,8 @@ public class RedpackServiceImpl implements RedpackService { ran -= prizeType.getIntValue("weight"); if (ran < 0) { String lock = Long.toString(System.currentTimeMillis(), 36) + RandomStringUtils.random(5, true, true); - int lockedCount = actPartnerLMLogMapper.lockPrize(act_id, lock, prizeType.getString("type_id"), open_id, client_id, orderId, orderAmount.doubleValue(), - new Date()); + int lockedCount = actPartnerLMLogMapper.lockPrize(act_id, lock, prizeType.getString("type_id"), open_id, client_id, orderId, + orderAmount.doubleValue(), new Date()); if (lockedCount > 0) { JSONObject invitationClient = actClientInvitationCodeMapper.getInvitationClient(act_id, client_id); if (invitationClient != null && invitationClient.getBoolean("auto_send")) { @@ -412,8 +412,6 @@ public class RedpackServiceImpl implements RedpackService { String wishing = "恭喜获得ROYALPAY店长福利红包"; String notifyUrl = "https://mpay.royalpay.com.au/sys/lucky_money/partner/" + red_packet_order_id + "notify"; - - WechatRedpack wechatRedpack = new WechatRedpack(); JSONObject customerRelation = customerMapper.findCustomerByOpenId(open_id); MpWechatApi redpackApi = mpWechatApiProvider.getApi("Redpack"); @@ -421,9 +419,9 @@ public class RedpackServiceImpl implements RedpackService { throw new RedPackException("ServerError", "Customer openid for redpack not available!"); } String rpOpenId = customerRelation.getString(redpackApi.getOpenIdKey()); - wechatRedpack.setSendName(sendName).setOpenId(rpOpenId).setActName(actName) - .setRemark("店长激励计划").setAmount(luckyMoeny).setWishing(wishing).setNotifyUrl(notifyUrl); - String redPacketId = mpWechatApiProvider.getApi("Redpack").sendRedpack(wechatRedpack).getString("redpack_id"); + wechatRedpack.setSendName(sendName).setOpenId(rpOpenId).setActName(actName).setRemark("店长激励计划").setAmount(luckyMoeny).setWishing(wishing) + .setNotifyUrl(notifyUrl); + String redPacketId = mpWechatApiProvider.getApi("Redpack").sendRedpack(wechatRedpack).getString("out_biz_no"); prizeDetail.put("red_packet_id", redPacketId); prizeDetail.put("status", 1); actPartnerLMLogMapper.update(prizeDetail); @@ -447,9 +445,10 @@ public class RedpackServiceImpl implements RedpackService { break; } AlipayRedpack alipayRedpack = new AlipayRedpack(); - alipayRedpack.setPayeeAccount(alipayUserId).setAmount(prizeDetail.getBigDecimal("red_packet_amount")).setPayerShowName("RoyalPay福利社"). - setRemark("RoyalPay店长活动-" + (rate.intValue() > 1 ? rate.intValue() + "倍" : "") + "红包奖励" + specialDocuments); - String redPacketId = mpAlipayRedpackApi.sendRedpack(alipayRedpack).getString("redpack_id"); + alipayRedpack.setPayeeAccount(alipayUserId).setAmount(prizeDetail.getBigDecimal("red_packet_amount")).setPayerShowName("RoyalPay福利社") + .setRemark("RoyalPay店长活动-" + (rate.intValue() > 1 ? rate.intValue() + "倍" : "") + "红包奖励" + specialDocuments); + JSONObject mpAlipayJson = mpAlipayRedpackApi.sendRedpack(alipayRedpack); + String redPacketId = mpAlipayJson.getString("out_biz_no"); prizeDetail.put("red_packet_id", redPacketId); prizeDetail.put("status", 5); actPartnerLMLogMapper.update(prizeDetail); diff --git a/src/main/java/au/com/royalpay/payment/manage/task/RedPackTaskManager.java b/src/main/java/au/com/royalpay/payment/manage/task/RedPackTaskManager.java index 76bc2607b..2d022a230 100644 --- a/src/main/java/au/com/royalpay/payment/manage/task/RedPackTaskManager.java +++ b/src/main/java/au/com/royalpay/payment/manage/task/RedPackTaskManager.java @@ -31,9 +31,6 @@ public class RedPackTaskManager { @Scheduled(cron = "0 0/10 * * * ?") public void updateAlipayRedPackStatus() { - - logger.info("kira---------redpack Check"); - logger.debug("kira---------redpack Check"); redpackService.updateAlipayRedPacketsStatus("3"); } diff --git a/src/main/java/au/com/royalpay/payment/manage/tradelog/refund/events/listeners/NoticeRefundAuditListener.java b/src/main/java/au/com/royalpay/payment/manage/tradelog/refund/events/listeners/NoticeRefundAuditListener.java index 2c06da71f..a24801b26 100644 --- a/src/main/java/au/com/royalpay/payment/manage/tradelog/refund/events/listeners/NoticeRefundAuditListener.java +++ b/src/main/java/au/com/royalpay/payment/manage/tradelog/refund/events/listeners/NoticeRefundAuditListener.java @@ -37,7 +37,7 @@ public class NoticeRefundAuditListener implements ApplicationListener -##Button(初审)

@@ -253,7 +252,5 @@

-##Button(分配BD后审批) -##待加 \ No newline at end of file diff --git a/src/main/ui/partner_register.html b/src/main/ui/partner_register.html index e49474948..3a5dc375a 100644 --- a/src/main/ui/partner_register.html +++ b/src/main/ui/partner_register.html @@ -269,7 +269,7 @@ - + diff --git a/src/main/ui/static/images/logo.svg b/src/main/ui/static/images/logo.svg new file mode 100644 index 000000000..c79a7dbee --- /dev/null +++ b/src/main/ui/static/images/logo.svg @@ -0,0 +1,255 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/ui/static/templates/payment/payment.css b/src/main/ui/static/templates/payment/payment.css index f484957fe..dd5055f81 100644 --- a/src/main/ui/static/templates/payment/payment.css +++ b/src/main/ui/static/templates/payment/payment.css @@ -10,17 +10,23 @@ body { -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } -div, span, p, ul, li ,button,img{ +div, span, p, ul, li { box-sizing: border-box; } -.weui_grid { - padding: 7px; - height: 49px; +.ff.key { + position: relative; } .ff { - font-size: 24px; + font-size: 26px; + color: #333333; +} + +.ff img { + margin: 10px auto; + display: block; + width: 34px; } div.wait { @@ -43,13 +49,13 @@ div.wait { color: #aaaaaa; text-align: center; margin-top: 10px; + margin-bottom: 10px; } .rmbcurrency { font-size: 18px; - color: #777777; + color: #888888; vertical-align: text-bottom; - margin-left: 10px; line-height: 38px; } @@ -60,10 +66,20 @@ div.wait { .rmbvalue { font-size: 24px; - color: #777777; + color: #888888; vertical-align: text-bottom; float: right; - padding-right: 10px; +} + +.rmbvalue:before { + content: '≈¥'; + font-size: 16px; +} + +.paydetail { + float: right; + margin-top: 5px; + margin-left: 5px; } .static .rmbvalue { @@ -71,10 +87,11 @@ div.wait { } .currency { - font-size: 33px; - color: #3cc51f; + font-size: 40px; + color: #000; + line-height: 66px; vertical-align: text-bottom; - padding-left: 10px; + margin-right: 10px; } .static .currency { @@ -83,12 +100,11 @@ div.wait { } .value { - font-size: 32px; - color: #3cc51f; + font-size: 40px; + line-height: 66px; + color: #000; margin-left: -5px; - text-align: right; vertical-align: text-bottom; - float: right; padding-right: 10px; } @@ -127,6 +143,7 @@ input.value:focus { .row { width: 100%; + padding: 0 20px; } .hidden { @@ -173,7 +190,7 @@ input.value:focus { width: 100%; } -.logo-box .banner{ +.logo-box .banner { width: 100%; display: block; } @@ -182,28 +199,24 @@ input.value:focus { margin: auto; display: block; margin-top: 20px; - max-height: 150px; + max-height: 60px; max-width: 80%; } -.logo-small { - max-height: 100px; +.logo-box { + margin-bottom: 280px; } -.paynow { - height: 55px; - line-height: 55px; - padding: 0px; - top: 6px; - font-size: 25px; - margin-left: 5px; - margin-right: 5px; - border-radius: 0; - margin-top: 0 !important; +.logo-small { + max-height: 100px; } .currencyrow { box-sizing: border-box; + margin-top: 20px; + text-align: left; + margin-bottom: 20px; + background: #fff; } .currencyrow:after { @@ -214,18 +227,28 @@ input.value:focus { .currencyrow > * { display: inline-block; - float: left; vertical-align: bottom; margin-bottom: 0; - width: 50%; box-sizing: border-box; } +.currencyrow > .remark-btn { + float: right; + display: block; + width: 30px; + height: 30px; + margin-top: 17px; + background: url(../../../images/remark_btn.png) no-repeat; + background-size: cover; +} + .remark-input { width: 100%; font-size: 26px; border-radius: 0; outline: none; + background: #FFFFFF; + border: 1px solid #E9E9E9; } .remark-box { @@ -252,95 +275,216 @@ input.value:focus { .coupons { width: 100%; + margin-top: -1px; + background: #fff; + max-height: 350px; + overflow: auto; + padding: 0 10px; + border-radius: 0 0 6px 6px; } .coupons > li { display: block; width: 100%; - border-bottom: 1px dashed #aaa; - padding: 5px; - position: relative; + float: none; + color: #888888; + border-radius: 6px; + padding: 10px; + margin: 15px 0; + background: #fff; + box-shadow: 0 0 10px #aaa; +} + +.coupons > li:after { + content: ''; + clear: both; + display: block } .coupons > li:last-child { border: none; + border-radius: 0 15px 15px 0; } -.coupons > li:before { - content: '惠'; - color: #fff; - background: #f00; - margin: 5px; - text-align: center; - width: 20px; - height: 20px; - box-sizing: border-box; - font-size: 0.6em; - font-weight: bold; - left: -5px; - position: absolute; +.coupons > li .coupon-content { + position: relative; + width: 100%; + border-radius: 4px; + border: 1px dashed #aaa; + padding: 10px 15px; } .coupons .title, .coupons .desc, .coupons label { display: block; - margin-left: 20px; +} + +.coupons .coupon-content { + display: block; + float: left; } .coupons .title { font-weight: bold; font-size: 1em; + color: #000000; + position: relative; +} + +.coupon-background-image { + width: 100%; +} + +.coupon-logo { + height: 25px; + padding-right: 5px; + position: relative; + top: 6px; +} + +.coupon-image { + width: 100%; + position: relative; + display: block; +} + +.coupon-box-title .coupon-image { + margin: 0; } .coupons .use-check { position: absolute; - right: 25px; - top: 14px; - width: 25px; - background-repeat: no-repeat; - height: 25px; - background-size: contain; + display: block; + top: 0; + background-size: cover; + width: 34px; + height: 34px; + right: 0; } .coupons .use-check.checked { - background-image: url(/static/images/checkbox-checked.png); + background-image: url(/static/images/coupon_checked@3x.png); } .coupons .use-check.unchecked { - background-image: url(/static/images/checkbox-unchecked.png); + background-image: url(/static/images/coupon_unchecked@2x.png); } -.coupons .use-check.disabled{ - background-image: url(/static/images/checkbox-disabled.png)!important; +.coupons .use-check.disabled { + background-image: url(/static/images/coupon_disabled@2x.png) !important; } .coupons .desc { - font-size: 0.8em; + font-size: 13px; + color: #323200; + margin-top: 5px; + letter-spacing: 0px; + position: relative; + line-height: 18px; } .weui-wepay-logos { background: transparent; } +.row.weui_grids:before, .row.weui_grids .weui_grid:before, .row.weui_grids .weui_grid:after { + display: none; +} -.goodpay { - height: 55px; - line-height: 55px; - padding: 0px; - top: 6px; - font-size: 25px; - border-radius: 0; - margin-top: 0 !important; +.keyboard-grids { + padding: 0; + margin-top: 10px; + background: #fff; + position: fixed; + bottom: 0; } -.weui_cell:before{ - left:0; +.keyboard-grids:after { + display: block; + content: ''; + clear: both; +} + +.keyboard-grids .key { + float: left; + position: relative; + width: 25%; + text-align: center; + border-right: 1px solid #eee; + border-bottom: 1px solid #eee; + margin-right: -1px; + margin-bottom: -1px; + height: 60px; + line-height: 60px; +} + +.keyboard-grids .key.del > img { + height: 24px; + display: block; + position: relative; + margin: 19px auto; +} + +.keyboard-grids .key.paynow { + height: 180px; + float: right; + background: #09bb07; + color: #fff; +} + +.keyboard-grids .key.paynow.alipay { + background: #108ee9; +} + +.alipay { + color: #108ee9; +} + +.wechat { + color: #09bb07; +} + +.keyboard-grids .key.paynow > .label { + display: block; + position: absolute; + width: 100%; + text-align: center; + top: 50%; + transform: translateY(-50%); +} + +.keyboard-grids .key.zero-btn { + width: 50%; +} + +.pay-brands { + text-align: center; + line-height: 20px; + font-size: 24px; + position: fixed; + width: 100%; + padding-top: 5px; + padding-bottom: 10px; + bottom: 240px; + color: #dddddd; + background: #fbf9fe; +} + +.pay-brands img { + height: 18px; +} + +.pay-brands img.wechat-logo { + height: 14px; +} + +.weui_dialog_bd .final { + font-weight: bold; } #coupon-box-toggle { padding: 0 20px; - margin-bottom: 10px; + margin-top: 10px; text-align: right; - color: #30af69; font-size: 12px; cursor: pointer; } @@ -356,7 +500,7 @@ input.value:focus { display: none; } -.coupons-container.show{ +.coupons-container.show { display: block; } @@ -376,35 +520,66 @@ input.value:focus { left: 50%; top: 50%; width: 95%; - background: #fff; - padding: 10px; transform: translate(-50%, -50%); } -.coupons-container .coupon-box-title{ +.coupons-container .coupon-box-title { width: 100%; display: block; - background: #fff; - padding: 0 10px 5px; - font-size: 14px; - border-bottom: 1px solid #d0d0d0; + position: relative; } -.coupons-container .coupon-box-title:after{ +.coupons-container .coupon-box-title:after { content: ''; display: block; clear: both; } -.coupons-container .coupon-box-title>.title{ - float: left; +.coupon-close-image { + width: 30px; +} + +.coupons-container .coupon-box-title > .title { display: block; - color: #0BB20C; + text-align: center; + font-size: 18px; + color: #FFFFFF; + position: absolute; + width: 100%; + bottom: 34%; } -.coupons-container .coupon-box-title>#close-coupon-box{ +.coupons-container .coupon-box-title > #close-coupon-box { color: #700; - float: right; + position: absolute; display: block; cursor: pointer; + top: -40px; + right: 0; +} + +textarea::-webkit-input-placeholder { + font-size: 14px; + color: #AAAAAA; + letter-spacing: 0px; +} + +textarea { + box-shadow: 0px 0px 0px rgba(0, 0, 0, 0); + -webkit-appearance: none; + resize: none; +} + +input { + box-shadow: 0px 0px 0px rgba(0, 0, 0, 0); + -webkit-appearance: none; + resize: none; +} + +.weui_dialog_ft:after { + border-top: 0; +} + +.weui_dialog { + border-radius: 5px; } \ No newline at end of file