Merge branch 'master' of https://git.royalpay.com.au/git/royalv2.manage
commit
48dc28ae5e
@ -0,0 +1,127 @@
|
|||||||
|
package au.com.royalpay.payment.manage.support.abafile;
|
||||||
|
|
||||||
|
import au.com.royalpay.payment.tools.exceptions.BadRequestException;
|
||||||
|
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||||
|
|
||||||
|
import java.util.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create by yixian at 2018-06-25 17:39
|
||||||
|
*/
|
||||||
|
@ConfigurationProperties("settle.abafile")
|
||||||
|
public class ABAConfig {
|
||||||
|
|
||||||
|
private Map<String, ABABase> bank = new HashMap<>();
|
||||||
|
private String defaultBank;
|
||||||
|
private String remainsTo;
|
||||||
|
|
||||||
|
public ABAFile initFile(String bank, Date settleDate) {
|
||||||
|
ABABase base = this.bank.get(bank);
|
||||||
|
if (base == null) {
|
||||||
|
throw new BadRequestException("Invalid bank:" + bank);
|
||||||
|
}
|
||||||
|
return base.initFile(settleDate);
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getDefaultBank() {
|
||||||
|
return defaultBank;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ABAConfig setDefaultBank(String defaultBank) {
|
||||||
|
this.defaultBank = defaultBank;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Map<String, ABABase> getBank() {
|
||||||
|
return bank;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ABABase getBankBase(String bank) {
|
||||||
|
return this.bank.get(bank);
|
||||||
|
}
|
||||||
|
|
||||||
|
public ABAConfig setBank(Map<String, ABABase> bank) {
|
||||||
|
this.bank = bank;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getRemainsTo() {
|
||||||
|
return remainsTo;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ABAConfig setRemainsTo(String remainsTo) {
|
||||||
|
this.remainsTo = remainsTo;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<String> availableBanks() {
|
||||||
|
return new ArrayList<>(bank.keySet());
|
||||||
|
}
|
||||||
|
|
||||||
|
public static class ABABase {
|
||||||
|
private boolean manualSending = false;
|
||||||
|
private String bank;
|
||||||
|
private String apca;
|
||||||
|
private String bsb;
|
||||||
|
private String accountNo;
|
||||||
|
private String accountName;
|
||||||
|
|
||||||
|
public ABAFile initFile(Date settleDate) {
|
||||||
|
return new ABAFile(this, settleDate);
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isManualSending() {
|
||||||
|
return manualSending;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ABABase setManualSending(boolean manualSending) {
|
||||||
|
this.manualSending = manualSending;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getBank() {
|
||||||
|
return bank;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ABABase setBank(String bank) {
|
||||||
|
this.bank = bank;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getApca() {
|
||||||
|
return apca;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ABABase setApca(String apca) {
|
||||||
|
this.apca = apca;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getBsb() {
|
||||||
|
return bsb;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ABABase setBsb(String bsb) {
|
||||||
|
this.bsb = bsb;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getAccountNo() {
|
||||||
|
return accountNo;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ABABase setAccountNo(String accountNo) {
|
||||||
|
this.accountNo = accountNo;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getAccountName() {
|
||||||
|
return accountName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ABABase setAccountName(String accountName) {
|
||||||
|
this.accountName = accountName;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,27 @@
|
|||||||
|
package au.com.royalpay.payment.manage.support.abafile;
|
||||||
|
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.boot.context.properties.EnableConfigurationProperties;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import javax.annotation.PostConstruct;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create by yixian at 2018-06-25 17:16
|
||||||
|
*/
|
||||||
|
@Component
|
||||||
|
@EnableConfigurationProperties(ABAConfig.class)
|
||||||
|
public class ABATemplate {
|
||||||
|
private static ABATemplate tpl;
|
||||||
|
@Autowired
|
||||||
|
private ABAConfig config;
|
||||||
|
|
||||||
|
@PostConstruct
|
||||||
|
public void init() {
|
||||||
|
tpl = this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static ABAConfig getConfig() {
|
||||||
|
return tpl.config;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,7 @@
|
|||||||
|
|
||||||
|
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
|
||||||
|
spring.datasource.schema-name=rppaymentdev
|
||||||
|
spring.datasource.host=119.28.3.196:3310
|
||||||
|
spring.datasource.url=jdbc:mysql://${spring.datasource.host}/${spring.datasource.schema-name}?useUnicode=true&characterEncoding=utf8&useSSL=false
|
||||||
|
spring.datasource.username=readonly
|
||||||
|
spring.datasource.password=read0nly
|
@ -1,14 +1,24 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" ?>
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
|
||||||
<mapper namespace="au.com.royalpay.payment.manage.mappers.payment.TaskManualSettleMapper">
|
<mapper namespace="au.com.royalpay.payment.manage.mappers.payment.TaskManualSettleMapper">
|
||||||
|
<update id="rollbackExecutedTask">
|
||||||
|
UPDATE task_client_manual_settle s
|
||||||
|
INNER JOIN log_clearing_detail d ON d.clear_detail_id = s.clearing_order
|
||||||
|
SET s.finish_time = NULL, s.clearing_order = NULL
|
||||||
|
WHERE d.clearing_id = #{clearing_id}
|
||||||
|
</update>
|
||||||
<select id="getEveryLatestRecord" resultType="com.alibaba.fastjson.JSONObject">
|
<select id="getEveryLatestRecord" resultType="com.alibaba.fastjson.JSONObject">
|
||||||
SELECT
|
SELECT
|
||||||
s.request_time,c.client_id,c.client_moniker
|
s.request_time,
|
||||||
|
c.client_id,
|
||||||
|
c.client_moniker
|
||||||
FROM
|
FROM
|
||||||
task_client_manual_settle s
|
task_client_manual_settle s
|
||||||
right join sys_clients c on s.client_id = c.client_id
|
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
|
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)
|
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 cc.manual_settle = 1
|
and cc.manual_settle = 1
|
||||||
</select>
|
</select>
|
||||||
</mapper>
|
</mapper>
|
@ -0,0 +1,24 @@
|
|||||||
|
<div class="modal-header">
|
||||||
|
<h4>Distribute Bank</h4>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body">
|
||||||
|
<div class="form-horizontal">
|
||||||
|
<div class="form-group" ng-repeat="cfg in bankData">
|
||||||
|
<label class="control-label col-xs-2" ng-bind="cfg.bank"></label>
|
||||||
|
<div class="col-xs-9">
|
||||||
|
<input class="form-control" type="number" ng-model="cfg.amount">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="control-label col-xs-2" ng-bind="banksConfig.remains_to"></label>
|
||||||
|
<div class="col-xs-9">
|
||||||
|
<p class="form-control-static" ng-bind="remainingAmount()"></p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="alert alert-danger" ng-if="errmsg" ng-bind="errmsg"></div>
|
||||||
|
</div>
|
||||||
|
<div class="modal-footer">
|
||||||
|
<button class="btn btn-primary" ng-click="submitDistribution()">Submit</button>
|
||||||
|
<button class="btn btn-danger" ng-click="$dismiss()">Cancel</button>
|
||||||
|
</div>
|
@ -0,0 +1,124 @@
|
|||||||
|
.hf-gateway-background {
|
||||||
|
width:100%;
|
||||||
|
height:100%;
|
||||||
|
position: fixed;
|
||||||
|
background: url("img/hf_bg.jpg");
|
||||||
|
top: 0;
|
||||||
|
bottom: 0;
|
||||||
|
right: 0;
|
||||||
|
left: 0;
|
||||||
|
z-index: -1;
|
||||||
|
overflow-y: auto;
|
||||||
|
background-size:100% 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.head-bar{
|
||||||
|
display: inline;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.head-bar img{
|
||||||
|
height: 38px;
|
||||||
|
top: 60px;
|
||||||
|
margin-top: 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.order-box{
|
||||||
|
height: 600px;
|
||||||
|
width: 800px;
|
||||||
|
margin: 2% auto;
|
||||||
|
box-shadow: 0px 0px 25px 0px rgba(0,0,0,0.21);
|
||||||
|
}
|
||||||
|
.order-box:after{
|
||||||
|
content:'';
|
||||||
|
display:block;
|
||||||
|
clear:both;
|
||||||
|
}
|
||||||
|
.order-box .left{
|
||||||
|
display: inline;
|
||||||
|
opacity: 0.84;
|
||||||
|
background: #FF6600;
|
||||||
|
width:40%;
|
||||||
|
float: left;
|
||||||
|
height: 100%;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.order-box .left .m-logo{
|
||||||
|
background: #FFFFFF;
|
||||||
|
border-radius: 100px;
|
||||||
|
width: 120px;
|
||||||
|
height: 120px;
|
||||||
|
margin-top: 15%;
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
.m-logo p{
|
||||||
|
height: 120px;
|
||||||
|
line-height: 120px;
|
||||||
|
}
|
||||||
|
.m-logo img{
|
||||||
|
max-height: 100px;
|
||||||
|
max-width: 100px;
|
||||||
|
padding: 10px;
|
||||||
|
}
|
||||||
|
.short-name{
|
||||||
|
margin-top: 40px;
|
||||||
|
font-family: PingFangSC-Regular;
|
||||||
|
font-size: 18px;
|
||||||
|
color: #FFFFFF;
|
||||||
|
}
|
||||||
|
.intro{
|
||||||
|
line-height: 550px;
|
||||||
|
color: #FFFFFF;
|
||||||
|
}
|
||||||
|
.order-box .right{
|
||||||
|
display: inline;
|
||||||
|
background: #FFFFFF;
|
||||||
|
width:60%;
|
||||||
|
float: left;
|
||||||
|
height: 100%;
|
||||||
|
padding: 20px 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.order-box .right .title {
|
||||||
|
font-family: PingFang-SC-Medium;
|
||||||
|
font-size: 20px;
|
||||||
|
color: #434343;
|
||||||
|
letter-spacing: 0px;
|
||||||
|
padding-bottom: 10px;
|
||||||
|
padding-top: 20px;
|
||||||
|
}
|
||||||
|
.footer-bottom{
|
||||||
|
font-family: PingFangSC-Regular;
|
||||||
|
color: #FFFFFF;
|
||||||
|
letter-spacing: 0px;
|
||||||
|
margin-top: 50px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer-bottom-success{
|
||||||
|
margin-top: 60px;
|
||||||
|
color: #444444;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hf-warning{
|
||||||
|
font-size: x-small;
|
||||||
|
color: #FF6600;
|
||||||
|
}
|
||||||
|
/*成功页*/
|
||||||
|
.order-box .success-logo{
|
||||||
|
text-align: center;
|
||||||
|
height: 200px;
|
||||||
|
background: #F0F3FA;
|
||||||
|
line-height: 200px;
|
||||||
|
font-family: PingFangSC-Regular;
|
||||||
|
font-size: 22px;
|
||||||
|
color: #444444;
|
||||||
|
letter-spacing: 0px;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.order-info{
|
||||||
|
padding: 50px 100px;
|
||||||
|
font-family: PingFangSC-Regular;
|
||||||
|
font-size: 17px;
|
||||||
|
color: #444444;
|
||||||
|
letter-spacing: 0px;
|
||||||
|
}
|
After Width: | Height: | Size: 301 KiB |
After Width: | Height: | Size: 5.5 KiB |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 13 KiB |
After Width: | Height: | Size: 3.7 KiB |
@ -1,27 +0,0 @@
|
|||||||
package au.com.royalpay.payment.manage.apps.core.impls;
|
|
||||||
|
|
||||||
import au.com.royalpay.payment.manage.apps.core.CustomerImpressionService;
|
|
||||||
|
|
||||||
import org.junit.Test;
|
|
||||||
import org.junit.runner.RunWith;
|
|
||||||
import org.springframework.boot.test.context.SpringBootTest;
|
|
||||||
import org.springframework.test.context.ActiveProfiles;
|
|
||||||
import org.springframework.test.context.junit4.SpringRunner;
|
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Created by wangning on 08/01/2018.
|
|
||||||
*/
|
|
||||||
@SpringBootTest
|
|
||||||
@ActiveProfiles({"local","alipay","wechat","jd","bestpay"})
|
|
||||||
@RunWith(SpringRunner.class)
|
|
||||||
public class CustomerImpressionServiceImplTest {
|
|
||||||
@Resource
|
|
||||||
private CustomerImpressionService customerImpressionService;
|
|
||||||
@Test
|
|
||||||
public void generate() throws Exception {
|
|
||||||
customerImpressionService.generate(9);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
Loading…
Reference in new issue