Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
F
financial-tools
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
QG
financial-tools
Commits
5dfd16d2
Commit
5dfd16d2
authored
Oct 14, 2016
by
Java-范 志勇
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
整合代码 把线下还款由调用接口形式变为直接查询线上数据库方式
parent
6bb6da3b
Changes
26
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
26 changed files
with
3166 additions
and
86 deletions
+3166
-86
RepayFinancialAPP.java
src/main/java/cn/gq/financial/app/RepayFinancialAPP.java
+3
-2
TotalAmountCheck.java
src/main/java/cn/gq/financial/checkout/TotalAmountCheck.java
+26
-22
OfflineOrderEntityMapper.java
...gq/financial/db/offline/dao/OfflineOrderEntityMapper.java
+30
-0
OfflineUserDetailEntityMapper.java
...nancial/db/offline/dao/OfflineUserDetailEntityMapper.java
+31
-0
OfflineOrderEntityMapper.xml
...financial/db/offline/mapping/OfflineOrderEntityMapper.xml
+353
-0
OfflineOrderRepaidRecordEntityMapper.xml
.../offline/mapping/OfflineOrderRepaidRecordEntityMapper.xml
+20
-5
OfflineUserDetailEntityMapper.xml
...cial/db/offline/mapping/OfflineUserDetailEntityMapper.xml
+275
-0
OfflineOrderEntity.java
.../cn/gq/financial/db/offline/model/OfflineOrderEntity.java
+146
-0
OfflineOrderEntityExample.java
...financial/db/offline/model/OfflineOrderEntityExample.java
+1042
-0
OfflineOrderRepaidRecordEntity.java
...cial/db/offline/model/OfflineOrderRepaidRecordEntity.java
+10
-0
OfflineOrderRepaidRecordEntityExample.java
.../offline/model/OfflineOrderRepaidRecordEntityExample.java
+70
-0
OfflineUserDetailEntity.java
...q/financial/db/offline/model/OfflineUserDetailEntity.java
+75
-0
OfflineUserDetailEntityExample.java
...cial/db/offline/model/OfflineUserDetailEntityExample.java
+781
-0
OfflineUserDetailEntityKey.java
...inancial/db/offline/model/OfflineUserDetailEntityKey.java
+25
-0
ExportExcelMapper.java
...n/java/cn/gq/financial/db/xyqb/dao/ExportExcelMapper.java
+1
-1
ExportExcelMapper.xml
...ava/cn/gq/financial/db/xyqb/mapping/ExportExcelMapper.xml
+1
-1
Bill.java
src/main/java/cn/gq/financial/model/bill/Bill.java
+1
-1
Instalment.java
src/main/java/cn/gq/financial/model/enums/Instalment.java
+62
-0
BaitiaoOfflineDetailService.java
.../cn/gq/financial/service/BaitiaoOfflineDetailService.java
+121
-29
BaitiaoOnlineDetailService.java
...a/cn/gq/financial/service/BaitiaoOnlineDetailService.java
+35
-15
XYQBDetailService.java
src/main/java/cn/gq/financial/service/XYQBDetailService.java
+1
-1
BillParsers.java
src/main/java/cn/gq/financial/utils/BillParsers.java
+5
-1
HttpUtils.java
src/main/java/cn/gq/financial/utils/HttpUtils.java
+5
-4
applicationContext.properties
src/main/resources/applicationContext.properties
+6
-1
applicationContext.xml
src/main/resources/applicationContext.xml
+30
-3
mybatis-offline-config.xml
src/main/resources/mybatis-offline-config.xml
+11
-0
No files found.
src/main/java/cn/gq/financial/app/RepayFinancialAPP.java
View file @
5dfd16d2
...
...
@@ -10,6 +10,7 @@ import com.google.common.base.Joiner;
import
org.apache.commons.io.FileUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.context.annotation.AnnotationConfigApplicationContext
;
import
org.springframework.context.support.ClassPathXmlApplicationContext
;
import
cn.gq.financial.app.handler.RepayHandler
;
...
...
@@ -32,9 +33,9 @@ public class RepayFinancialAPP {
* Tip: 对帐单时 只需修改currentMonth和payType
* currentMonth 当前是几月就输入几 无须减1 后续代码里面已经处理
*/
static
Integer
currentMonth
=
9
;
static
Integer
currentMonth
=
7
;
static
PayType
payType
=
PayType
.
UMPay_
Xjd
;
static
PayType
payType
=
PayType
.
UMPay_
BaiTiao
;
static
AbstractBills
bill
;
...
...
src/main/java/cn/gq/financial/checkout/TotalAmountCheck.java
View file @
5dfd16d2
...
...
@@ -5,35 +5,31 @@ import cn.gq.financial.model.bill.Bill;
import
cn.gq.financial.model.bill.UMPayBill
;
import
cn.gq.financial.model.bill.WXBill
;
import
cn.gq.financial.model.bill.YeepayBill
;
import
cn.gq.financial.utils.BillParsers
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.lang3.time.DateFormatUtils
;
import
java.io.File
;
import
java.math.BigDecimal
;
import
java.util.ArrayList
;
import
java.util.HashSet
;
import
java.util.List
;
import
java.util.Set
;
import
java.util.function.Consumer
;
/**
* Created by ocean on 2016/9/26.
*/
public
class
TotalAmountCheck
{
static
String
[]
lost
=
{
"1470995273554"
,
"1470995273550"
,
"1470995273567"
};
static
Set
<
String
>
lostSet
=
new
HashSet
<>();
static
String
payAprroach
=
"微信"
;
static
String
payAccount
=
"微信-白条账户"
;
static
String
payAprroach
=
"联动"
;
static
String
payAccount
=
"联动-白条账户"
;
static
Integer
month
=
9
;
static
String
SRC_BILL_PATH
=
"E:\\
WX
_BILL_BAITIAO"
;
static
String
SRC_BILL_PATH
=
"E:\\
UMP
_BILL_BAITIAO"
;
static
Class
<?
extends
Bill
>
clazz
=
null
;
static
{
for
(
String
lostId
:
lost
)
{
lostSet
.
add
(
lostId
);
}
switch
(
payAprroach
)
{
case
"微信"
:
clazz
=
WXBill
.
class
;
...
...
@@ -48,15 +44,23 @@ public class TotalAmountCheck {
}
public
static
void
main
(
String
args
[])
throws
Exception
{
List
<
Bill
>
bills
=
RepayHandler
.
getBillsFromFile
(
SRC_BILL_PATH
,
clazz
,
payAccount
,
month
);
BigDecimal
total
=
new
BigDecimal
(
0
);
for
(
int
i
=
0
;
i
<
bills
.
size
();
i
++)
{
if
(!
lostSet
.
contains
(
bills
.
get
(
i
).
getOrderId
()))
{
total
=
total
.
add
(
bills
.
get
(
i
).
getIncome
());
}
else
{
System
.
out
.
println
(
bills
.
get
(
i
).
getOrderId
().
concat
(
"--"
).
concat
(
bills
.
get
(
i
).
getIncome
().
toString
()));
}
File
f
=
new
File
(
SRC_BILL_PATH
);
File
[]
files
=
f
.
listFiles
();
List
<
Bill
>
all
=
new
ArrayList
<>();
for
(
File
file
:
files
)
{
List
<?
extends
Bill
>
bills
=
BillParsers
.
parseBillFromInputStream
(
file
,
clazz
);
all
.
addAll
(
bills
);
}
System
.
out
.
println
(
total
);
/*BigDecimal total = BigDecimal.ZERO;
for (Bill bill:all){
total = total.add(bill.getIncome());
}
System.out.println(total);*/
all
.
stream
().
forEach
(
bill
->
{
if
(
"1474613845248"
.
equals
(
bill
.
getOrderId
())){
System
.
out
.
println
(
DateFormatUtils
.
ISO_DATE_FORMAT
.
format
(
bill
.
getTrandingDate
()));
}
});
}
}
src/main/java/cn/gq/financial/db/offline/dao/OfflineOrderEntityMapper.java
0 → 100644
View file @
5dfd16d2
package
cn
.
gq
.
financial
.
db
.
offline
.
dao
;
import
cn.gq.financial.db.offline.model.OfflineOrderEntity
;
import
cn.gq.financial.db.offline.model.OfflineOrderEntityExample
;
import
java.util.List
;
import
org.apache.ibatis.annotations.Param
;
public
interface
OfflineOrderEntityMapper
{
int
countByExample
(
OfflineOrderEntityExample
example
);
int
deleteByExample
(
OfflineOrderEntityExample
example
);
int
deleteByPrimaryKey
(
Long
id
);
int
insert
(
OfflineOrderEntity
record
);
int
insertSelective
(
OfflineOrderEntity
record
);
List
<
OfflineOrderEntity
>
selectByExample
(
OfflineOrderEntityExample
example
);
OfflineOrderEntity
selectByPrimaryKey
(
Long
id
);
int
updateByExampleSelective
(
@Param
(
"record"
)
OfflineOrderEntity
record
,
@Param
(
"example"
)
OfflineOrderEntityExample
example
);
int
updateByExample
(
@Param
(
"record"
)
OfflineOrderEntity
record
,
@Param
(
"example"
)
OfflineOrderEntityExample
example
);
int
updateByPrimaryKeySelective
(
OfflineOrderEntity
record
);
int
updateByPrimaryKey
(
OfflineOrderEntity
record
);
}
\ No newline at end of file
src/main/java/cn/gq/financial/db/offline/dao/OfflineUserDetailEntityMapper.java
0 → 100644
View file @
5dfd16d2
package
cn
.
gq
.
financial
.
db
.
offline
.
dao
;
import
cn.gq.financial.db.offline.model.OfflineUserDetailEntity
;
import
cn.gq.financial.db.offline.model.OfflineUserDetailEntityExample
;
import
cn.gq.financial.db.offline.model.OfflineUserDetailEntityKey
;
import
java.util.List
;
import
org.apache.ibatis.annotations.Param
;
public
interface
OfflineUserDetailEntityMapper
{
int
countByExample
(
OfflineUserDetailEntityExample
example
);
int
deleteByExample
(
OfflineUserDetailEntityExample
example
);
int
deleteByPrimaryKey
(
OfflineUserDetailEntityKey
key
);
int
insert
(
OfflineUserDetailEntity
record
);
int
insertSelective
(
OfflineUserDetailEntity
record
);
List
<
OfflineUserDetailEntity
>
selectByExample
(
OfflineUserDetailEntityExample
example
);
OfflineUserDetailEntity
selectByPrimaryKey
(
OfflineUserDetailEntityKey
key
);
int
updateByExampleSelective
(
@Param
(
"record"
)
OfflineUserDetailEntity
record
,
@Param
(
"example"
)
OfflineUserDetailEntityExample
example
);
int
updateByExample
(
@Param
(
"record"
)
OfflineUserDetailEntity
record
,
@Param
(
"example"
)
OfflineUserDetailEntityExample
example
);
int
updateByPrimaryKeySelective
(
OfflineUserDetailEntity
record
);
int
updateByPrimaryKey
(
OfflineUserDetailEntity
record
);
}
\ No newline at end of file
src/main/java/cn/gq/financial/db/offline/mapping/OfflineOrderEntityMapper.xml
0 → 100644
View file @
5dfd16d2
This diff is collapsed.
Click to expand it.
src/main/java/cn/gq/financial/db/offline/mapping/OfflineOrderRepaidRecordEntityMapper.xml
View file @
5dfd16d2
...
...
@@ -18,6 +18,7 @@
<result
column=
"repaid_at"
property=
"repaidAt"
jdbcType=
"TIMESTAMP"
/>
<result
column=
"repay_type"
property=
"repayType"
jdbcType=
"BIT"
/>
<result
column=
"actual_repaid_at"
property=
"actualRepaidAt"
jdbcType=
"TIMESTAMP"
/>
<result
column=
"pay_center_order_no"
property=
"payCenterOrderNo"
jdbcType=
"VARCHAR"
/>
</resultMap>
<sql
id=
"Example_Where_Clause"
>
<where
>
...
...
@@ -80,7 +81,7 @@
<sql
id=
"Base_Column_List"
>
id, order_id, order_amount, principal, interest, repaid_amount, overdue_amount, overdue_name,
overdue_args, collection_relief, active_relief, term_no, repaid_status, repaid_at,
repay_type, actual_repaid_at
repay_type, actual_repaid_at
, pay_center_order_no
</sql>
<select
id=
"selectByExample"
resultMap=
"BaseResultMap"
parameterType=
"cn.gq.financial.db.offline.model.OfflineOrderRepaidRecordEntityExample"
>
select
...
...
@@ -118,13 +119,13 @@
overdue_amount, overdue_name, overdue_args,
collection_relief, active_relief, term_no,
repaid_status, repaid_at, repay_type,
actual_repaid_at)
actual_repaid_at
, pay_center_order_no
)
values (#{id,jdbcType=BIGINT}, #{orderId,jdbcType=BIGINT}, #{orderAmount,jdbcType=DECIMAL},
#{principal,jdbcType=DECIMAL}, #{interest,jdbcType=DECIMAL}, #{repaidAmount,jdbcType=DECIMAL},
#{overdueAmount,jdbcType=DECIMAL}, #{overdueName,jdbcType=VARCHAR}, #{overdueArgs,jdbcType=VARCHAR},
#{collectionRelief,jdbcType=DECIMAL}, #{activeRelief,jdbcType=DECIMAL}, #{termNo,jdbcType=INTEGER},
#{repaidStatus,jdbcType=TINYINT}, #{repaidAt,jdbcType=TIMESTAMP}, #{repayType,jdbcType=BIT},
#{actualRepaidAt,jdbcType=TIMESTAMP})
#{actualRepaidAt,jdbcType=TIMESTAMP}
, #{payCenterOrderNo,jdbcType=VARCHAR}
)
</insert>
<insert
id=
"insertSelective"
parameterType=
"cn.gq.financial.db.offline.model.OfflineOrderRepaidRecordEntity"
>
insert into order_repaid_record
...
...
@@ -177,6 +178,9 @@
<if
test=
"actualRepaidAt != null"
>
actual_repaid_at,
</if>
<if
test=
"payCenterOrderNo != null"
>
pay_center_order_no,
</if>
</trim>
<trim
prefix=
"values ("
suffix=
")"
suffixOverrides=
","
>
<if
test=
"id != null"
>
...
...
@@ -227,6 +231,9 @@
<if
test=
"actualRepaidAt != null"
>
#{actualRepaidAt,jdbcType=TIMESTAMP},
</if>
<if
test=
"payCenterOrderNo != null"
>
#{payCenterOrderNo,jdbcType=VARCHAR},
</if>
</trim>
</insert>
<select
id=
"countByExample"
parameterType=
"cn.gq.financial.db.offline.model.OfflineOrderRepaidRecordEntityExample"
resultType=
"java.lang.Integer"
>
...
...
@@ -286,6 +293,9 @@
<if
test=
"record.actualRepaidAt != null"
>
actual_repaid_at = #{record.actualRepaidAt,jdbcType=TIMESTAMP},
</if>
<if
test=
"record.payCenterOrderNo != null"
>
pay_center_order_no = #{record.payCenterOrderNo,jdbcType=VARCHAR},
</if>
</set>
<if
test=
"_parameter != null"
>
<include
refid=
"Update_By_Example_Where_Clause"
/>
...
...
@@ -308,7 +318,8 @@
repaid_status = #{record.repaidStatus,jdbcType=TINYINT},
repaid_at = #{record.repaidAt,jdbcType=TIMESTAMP},
repay_type = #{record.repayType,jdbcType=BIT},
actual_repaid_at = #{record.actualRepaidAt,jdbcType=TIMESTAMP}
actual_repaid_at = #{record.actualRepaidAt,jdbcType=TIMESTAMP},
pay_center_order_no = #{record.payCenterOrderNo,jdbcType=VARCHAR}
<if
test=
"_parameter != null"
>
<include
refid=
"Update_By_Example_Where_Clause"
/>
</if>
...
...
@@ -361,6 +372,9 @@
<if
test=
"actualRepaidAt != null"
>
actual_repaid_at = #{actualRepaidAt,jdbcType=TIMESTAMP},
</if>
<if
test=
"payCenterOrderNo != null"
>
pay_center_order_no = #{payCenterOrderNo,jdbcType=VARCHAR},
</if>
</set>
where id = #{id,jdbcType=BIGINT}
</update>
...
...
@@ -380,7 +394,8 @@
repaid_status = #{repaidStatus,jdbcType=TINYINT},
repaid_at = #{repaidAt,jdbcType=TIMESTAMP},
repay_type = #{repayType,jdbcType=BIT},
actual_repaid_at = #{actualRepaidAt,jdbcType=TIMESTAMP}
actual_repaid_at = #{actualRepaidAt,jdbcType=TIMESTAMP},
pay_center_order_no = #{payCenterOrderNo,jdbcType=VARCHAR}
where id = #{id,jdbcType=BIGINT}
</update>
</mapper>
\ No newline at end of file
src/main/java/cn/gq/financial/db/offline/mapping/OfflineUserDetailEntityMapper.xml
0 → 100644
View file @
5dfd16d2
This diff is collapsed.
Click to expand it.
src/main/java/cn/gq/financial/db/offline/model/OfflineOrderEntity.java
0 → 100644
View file @
5dfd16d2
package
cn
.
gq
.
financial
.
db
.
offline
.
model
;
import
java.math.BigDecimal
;
import
java.util.Date
;
public
class
OfflineOrderEntity
{
private
Long
id
;
private
Long
userId
;
private
Boolean
isActive
;
private
BigDecimal
goodsAmount
;
private
BigDecimal
downPayAmount
;
private
BigDecimal
orderAmount
;
private
Long
goodsDetailId
;
private
Long
merchantId
;
private
Byte
instalment
;
private
Long
reviewId
;
private
Byte
spiderExecProgress
;
private
Byte
progress
;
private
Date
createdAt
;
private
Date
updatedAt
;
public
Long
getId
()
{
return
id
;
}
public
void
setId
(
Long
id
)
{
this
.
id
=
id
;
}
public
Long
getUserId
()
{
return
userId
;
}
public
void
setUserId
(
Long
userId
)
{
this
.
userId
=
userId
;
}
public
Boolean
getIsActive
()
{
return
isActive
;
}
public
void
setIsActive
(
Boolean
isActive
)
{
this
.
isActive
=
isActive
;
}
public
BigDecimal
getGoodsAmount
()
{
return
goodsAmount
;
}
public
void
setGoodsAmount
(
BigDecimal
goodsAmount
)
{
this
.
goodsAmount
=
goodsAmount
;
}
public
BigDecimal
getDownPayAmount
()
{
return
downPayAmount
;
}
public
void
setDownPayAmount
(
BigDecimal
downPayAmount
)
{
this
.
downPayAmount
=
downPayAmount
;
}
public
BigDecimal
getOrderAmount
()
{
return
orderAmount
;
}
public
void
setOrderAmount
(
BigDecimal
orderAmount
)
{
this
.
orderAmount
=
orderAmount
;
}
public
Long
getGoodsDetailId
()
{
return
goodsDetailId
;
}
public
void
setGoodsDetailId
(
Long
goodsDetailId
)
{
this
.
goodsDetailId
=
goodsDetailId
;
}
public
Long
getMerchantId
()
{
return
merchantId
;
}
public
void
setMerchantId
(
Long
merchantId
)
{
this
.
merchantId
=
merchantId
;
}
public
Byte
getInstalment
()
{
return
instalment
;
}
public
void
setInstalment
(
Byte
instalment
)
{
this
.
instalment
=
instalment
;
}
public
Long
getReviewId
()
{
return
reviewId
;
}
public
void
setReviewId
(
Long
reviewId
)
{
this
.
reviewId
=
reviewId
;
}
public
Byte
getSpiderExecProgress
()
{
return
spiderExecProgress
;
}
public
void
setSpiderExecProgress
(
Byte
spiderExecProgress
)
{
this
.
spiderExecProgress
=
spiderExecProgress
;
}
public
Byte
getProgress
()
{
return
progress
;
}
public
void
setProgress
(
Byte
progress
)
{
this
.
progress
=
progress
;
}
public
Date
getCreatedAt
()
{
return
createdAt
;
}
public
void
setCreatedAt
(
Date
createdAt
)
{
this
.
createdAt
=
createdAt
;
}
public
Date
getUpdatedAt
()
{
return
updatedAt
;
}
public
void
setUpdatedAt
(
Date
updatedAt
)
{
this
.
updatedAt
=
updatedAt
;
}
}
\ No newline at end of file
src/main/java/cn/gq/financial/db/offline/model/OfflineOrderEntityExample.java
0 → 100644
View file @
5dfd16d2
This diff is collapsed.
Click to expand it.
src/main/java/cn/gq/financial/db/offline/model/OfflineOrderRepaidRecordEntity.java
View file @
5dfd16d2
...
...
@@ -36,6 +36,8 @@ public class OfflineOrderRepaidRecordEntity {
private
Date
actualRepaidAt
;
private
String
payCenterOrderNo
;
public
Long
getId
()
{
return
id
;
}
...
...
@@ -163,4 +165,12 @@ public class OfflineOrderRepaidRecordEntity {
public
void
setActualRepaidAt
(
Date
actualRepaidAt
)
{
this
.
actualRepaidAt
=
actualRepaidAt
;
}
public
String
getPayCenterOrderNo
()
{
return
payCenterOrderNo
;
}
public
void
setPayCenterOrderNo
(
String
payCenterOrderNo
)
{
this
.
payCenterOrderNo
=
payCenterOrderNo
==
null
?
null
:
payCenterOrderNo
.
trim
();
}
}
\ No newline at end of file
src/main/java/cn/gq/financial/db/offline/model/OfflineOrderRepaidRecordEntityExample.java
View file @
5dfd16d2
...
...
@@ -1085,6 +1085,76 @@ public class OfflineOrderRepaidRecordEntityExample {
addCriterion
(
"actual_repaid_at not between"
,
value1
,
value2
,
"actualRepaidAt"
);
return
(
Criteria
)
this
;
}
public
Criteria
andPayCenterOrderNoIsNull
()
{
addCriterion
(
"pay_center_order_no is null"
);
return
(
Criteria
)
this
;
}
public
Criteria
andPayCenterOrderNoIsNotNull
()
{
addCriterion
(
"pay_center_order_no is not null"
);
return
(
Criteria
)
this
;
}
public
Criteria
andPayCenterOrderNoEqualTo
(
String
value
)
{
addCriterion
(
"pay_center_order_no ="
,
value
,
"payCenterOrderNo"
);
return
(
Criteria
)
this
;
}
public
Criteria
andPayCenterOrderNoNotEqualTo
(
String
value
)
{
addCriterion
(
"pay_center_order_no <>"
,
value
,
"payCenterOrderNo"
);
return
(
Criteria
)
this
;
}
public
Criteria
andPayCenterOrderNoGreaterThan
(
String
value
)
{
addCriterion
(
"pay_center_order_no >"
,
value
,
"payCenterOrderNo"
);
return
(
Criteria
)
this
;
}
public
Criteria
andPayCenterOrderNoGreaterThanOrEqualTo
(
String
value
)
{
addCriterion
(
"pay_center_order_no >="
,
value
,
"payCenterOrderNo"
);
return
(
Criteria
)
this
;
}
public
Criteria
andPayCenterOrderNoLessThan
(
String
value
)
{
addCriterion
(
"pay_center_order_no <"
,
value
,
"payCenterOrderNo"
);
return
(
Criteria
)
this
;
}
public
Criteria
andPayCenterOrderNoLessThanOrEqualTo
(
String
value
)
{
addCriterion
(
"pay_center_order_no <="
,
value
,
"payCenterOrderNo"
);
return
(
Criteria
)
this
;
}
public
Criteria
andPayCenterOrderNoLike
(
String
value
)
{
addCriterion
(
"pay_center_order_no like"
,
value
,
"payCenterOrderNo"
);
return
(
Criteria
)
this
;
}
public
Criteria
andPayCenterOrderNoNotLike
(
String
value
)
{
addCriterion
(
"pay_center_order_no not like"
,
value
,
"payCenterOrderNo"
);
return
(
Criteria
)
this
;
}
public
Criteria
andPayCenterOrderNoIn
(
List
<
String
>
values
)
{
addCriterion
(
"pay_center_order_no in"
,
values
,
"payCenterOrderNo"
);
return
(
Criteria
)
this
;
}
public
Criteria
andPayCenterOrderNoNotIn
(
List
<
String
>
values
)
{
addCriterion
(
"pay_center_order_no not in"
,
values
,
"payCenterOrderNo"
);
return
(
Criteria
)
this
;
}
public
Criteria
andPayCenterOrderNoBetween
(
String
value1
,
String
value2
)
{
addCriterion
(
"pay_center_order_no between"
,
value1
,
value2
,
"payCenterOrderNo"
);
return
(
Criteria
)
this
;
}
public
Criteria
andPayCenterOrderNoNotBetween
(
String
value1
,
String
value2
)
{
addCriterion
(
"pay_center_order_no not between"
,
value1
,
value2
,
"payCenterOrderNo"
);
return
(
Criteria
)
this
;
}
}
public
static
class
Criteria
extends
GeneratedCriteria
{
...
...
src/main/java/cn/gq/financial/db/offline/model/OfflineUserDetailEntity.java
0 → 100644
View file @
5dfd16d2
package
cn
.
gq
.
financial
.
db
.
offline
.
model
;
import
java.util.Date
;
public
class
OfflineUserDetailEntity
extends
OfflineUserDetailEntityKey
{
private
Long
userId
;
private
String
phoneNo
;
private
String
name
;
private
Byte
gender
;
private
String
qq
;
private
String
idNo
;
private
Date
createdAt
;
public
Long
getUserId
()
{
return
userId
;
}
public
void
setUserId
(
Long
userId
)
{
this
.
userId
=
userId
;
}
public
String
getPhoneNo
()
{
return
phoneNo
;
}
public
void
setPhoneNo
(
String
phoneNo
)
{
this
.
phoneNo
=
phoneNo
==
null
?
null
:
phoneNo
.
trim
();
}
public
String
getName
()
{
return
name
;
}
public
void
setName
(
String
name
)
{
this
.
name
=
name
==
null
?
null
:
name
.
trim
();
}
public
Byte
getGender
()
{
return
gender
;
}
public
void
setGender
(
Byte
gender
)
{
this
.
gender
=
gender
;
}
public
String
getQq
()
{
return
qq
;
}
public
void
setQq
(
String
qq
)
{
this
.
qq
=
qq
==
null
?
null
:
qq
.
trim
();
}
public
String
getIdNo
()
{
return
idNo
;
}
public
void
setIdNo
(
String
idNo
)
{
this
.
idNo
=
idNo
==
null
?
null
:
idNo
.
trim
();
}
public
Date
getCreatedAt
()
{
return
createdAt
;
}
public
void
setCreatedAt
(
Date
createdAt
)
{
this
.
createdAt
=
createdAt
;
}
}
\ No newline at end of file
src/main/java/cn/gq/financial/db/offline/model/OfflineUserDetailEntityExample.java
0 → 100644
View file @
5dfd16d2
This diff is collapsed.
Click to expand it.
src/main/java/cn/gq/financial/db/offline/model/OfflineUserDetailEntityKey.java
0 → 100644
View file @
5dfd16d2
package
cn
.
gq
.
financial
.
db
.
offline
.
model
;
import
java.util.Date
;
public
class
OfflineUserDetailEntityKey
{
private
Long
id
;
private
Date
updatedAt
;
public
Long
getId
()
{
return
id
;
}
public
void
setId
(
Long
id
)
{
this
.
id
=
id
;
}
public
Date
getUpdatedAt
()
{
return
updatedAt
;
}
public
void
setUpdatedAt
(
Date
updatedAt
)
{
this
.
updatedAt
=
updatedAt
;
}
}
\ No newline at end of file
src/main/java/cn/gq/financial/db/xyqb/dao/ExportExcelMapper.java
View file @
5dfd16d2
...
...
@@ -25,5 +25,5 @@ public interface ExportExcelMapper {
public
List
<
LoanExpEntity
>
exportYeepay
(
@Param
(
"list"
)
List
<
Long
>
loanIds
);
public
List
<
BaitiaoExpEntity
>
baitiaoRepayExport
(
@Param
(
"list"
)
List
<
Stri
ng
>
list
);
public
List
<
BaitiaoExpEntity
>
baitiaoRepayExport
(
@Param
(
"list"
)
List
<
Lo
ng
>
list
);
}
src/main/java/cn/gq/financial/db/xyqb/mapping/ExportExcelMapper.xml
View file @
5dfd16d2
...
...
@@ -369,7 +369,7 @@
AND bm.id=bo.`merchant_id`
AND ud.`user_id` = brp.`user_id`
WHERE
brp.`
pay_center_order_no
` IN
brp.`
id
` IN
<foreach
collection=
"list"
item=
"listItem"
open=
"("
close=
")"
separator=
","
>
#{listItem}
</foreach>
...
...
src/main/java/cn/gq/financial/model/bill/Bill.java
View file @
5dfd16d2
...
...
@@ -12,7 +12,7 @@ public abstract class Bill {
protected
Integer
month
;
protected
Date
trandingDate
;
protected
Date
trandingDate
;
//交易时间
protected
String
payAccount
;
// 支付账户
...
...
src/main/java/cn/gq/financial/model/enums/Instalment.java
0 → 100644
View file @
5dfd16d2
package
cn
.
gq
.
financial
.
model
.
enums
;
import
lombok.Getter
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
/**
* 条款类型
* Created by ag on 16/3/11.
*/
@Getter
public
enum
Instalment
{
INS_0
(
"不分期"
),
//0
INS_2
(
"2期"
),
//1
INS_3
(
"3期"
),
//2
INS_4
(
"4期"
),
//3
INS_5
(
"5期"
),
//4
INS_6
(
"6期"
),
//5
INS_7
(
"7期"
),
//6
INS_8
(
"8期"
),
//7
INS_9
(
"9期"
),
//8
INS_10
(
"10期"
),
//9
INS_11
(
"11期"
),
//10
INS_12
(
"12期"
);
//11
private
String
desc
;
Instalment
(
String
desc
)
{
this
.
desc
=
desc
;
}
public
static
final
Map
<
String
,
Instalment
>
ORDINAL_INSTALMENT
=
new
HashMap
<>();
static
{
Instalment
[]
instalments
=
Instalment
.
values
();
for
(
Instalment
instalment
:
instalments
)
{
ORDINAL_INSTALMENT
.
put
(
String
.
valueOf
(
instalment
.
getInstalmentPeriod
()),
instalment
);
}
}
public
static
List
<
Instalment
>
convert
(
String
instalmentStr
)
{
List
<
Instalment
>
result
=
new
ArrayList
<>();
for
(
String
instalmentOrdinal
:
instalmentStr
.
split
(
","
))
{
result
.
add
(
ORDINAL_INSTALMENT
.
get
(
instalmentOrdinal
));
}
return
result
;
}
public
static
Instalment
toEnum
(
String
instalment
)
{
return
ORDINAL_INSTALMENT
.
get
(
instalment
);
}
public
Integer
getInstalmentPeriod
()
{
return
ordinal
()
+
1
;
}
}
src/main/java/cn/gq/financial/service/BaitiaoOfflineDetailService.java
View file @
5dfd16d2
...
...
@@ -8,8 +8,15 @@ import java.util.HashMap;
import
java.util.List
;
import
java.util.Map
;
import
cn.gq.financial.db.offline.dao.OfflineOrderEntityMapper
;
import
cn.gq.financial.db.offline.dao.OfflineOrderRepaidRecordEntityMapper
;
import
cn.gq.financial.db.offline.dao.OfflineUserDetailEntityMapper
;
import
cn.gq.financial.db.offline.model.*
;
import
cn.gq.financial.model.enums.Instalment
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
cn.gq.financial.db.paycenter.model.RepayOrderEntity
;
...
...
@@ -29,35 +36,120 @@ public class BaitiaoOfflineDetailService implements DetailService {
static
final
String
baitiao_url
=
"http://offapi.xyqb.com/ex/financial/get_repay_plan"
;
static
Gson
GSON
=
new
Gson
();
public
List
<
RepayDetailFinancial
>
getDetailByPayCenterRepayOrder
(
List
<
RepayOrderEntity
>
repayOrderEntity
)
{
List
<
RepayDetailFinancial
>
baitiaoAllDetail
=
new
ArrayList
<
RepayDetailFinancial
>();
if
(
null
!=
repayOrderEntity
&&
repayOrderEntity
.
size
()>
0
){
for
(
RepayOrderEntity
entity
:
repayOrderEntity
)
{
LOGGER
.
info
(
"获取线下白条还款明细,orderId-->{}"
,
entity
.
getOrderId
());
try
{
Map
<
String
,
Object
>
parameters
=
new
HashMap
<
String
,
Object
>();
parameters
.
put
(
"repaidAt"
,
entity
.
getRepaidAt
().
getTime
()+
""
);
parameters
.
put
(
"merchantOrderNo"
,
entity
.
getMerchantOrderNo
());
parameters
.
put
(
"merchantRepayOrder"
,
entity
.
getMerchantRepayOrderNo
());
String
post
=
HttpUtils
.
doGet
(
baitiao_url
,
parameters
);
Type
type
=
new
TypeToken
<
ArrayList
<
RepayDetailFromXyqbOffline
>>()
{
}.
getType
();
List
<
RepayDetailFromXyqbOffline
>
baitiaoDetails
=
GSON
.
fromJson
(
post
,
type
);
if
(
null
!=
baitiaoDetails
&&
baitiaoDetails
.
size
()>
0
)
{
for
(
RepayDetailFromXyqbOffline
detail
:
baitiaoDetails
)
{
detail
.
setOrderId
(
entity
.
getOrderId
());
baitiaoAllDetail
.
add
(
convert2RepayDetailFinancial
(
detail
));
}
}
}
catch
(
Exception
e
){
LOGGER
.
error
(
"获取线下白条还款明细异常"
,
e
);
}
}
}
return
baitiaoAllDetail
;
}
@Autowired
private
OfflineOrderRepaidRecordEntityMapper
offlineOrderRepaidRecordEntityMapper
;
@Autowired
private
OfflineOrderEntityMapper
offlineOrderEntityMapper
;
@Autowired
private
OfflineUserDetailEntityMapper
offlineUserDetailEntityMapper
;
@Override
public
List
<
RepayDetailFinancial
>
getDetailByPayCenterRepayOrder
(
List
<
RepayOrderEntity
>
repayOrderEntity
)
{
List
<
RepayDetailFinancial
>
baitiaoAllDetail
=
new
ArrayList
<
RepayDetailFinancial
>();
if
(
CollectionUtils
.
isNotEmpty
(
repayOrderEntity
))
{
for
(
RepayOrderEntity
entity
:
repayOrderEntity
)
{
/**
* 放款信息
*/
OfflineOrderEntityExample
orderExample
=
new
OfflineOrderEntityExample
();
orderExample
.
createCriteria
().
andIdEqualTo
(
Long
.
valueOf
(
entity
.
getMerchantOrderNo
()));
//.andIsActiveEqualTo(Boolean.FALSE);
OfflineOrderEntity
offlineOrder
=
offlineOrderEntityMapper
.
selectByExample
(
orderExample
).
get
(
0
);
OfflineUserDetailEntityExample
userExample
=
new
OfflineUserDetailEntityExample
();
userExample
.
createCriteria
().
andUserIdEqualTo
(
Long
.
valueOf
(
offlineOrder
.
getUserId
()));
OfflineUserDetailEntity
userDetail
=
offlineUserDetailEntityMapper
.
selectByExample
(
userExample
).
get
(
0
);
/**
* 还款计划
*/
String
payCenterOrderNo
=
entity
.
getMerchantRepayOrderNo
();
List
<
Long
>
ids
=
new
ArrayList
<>();
String
[]
split
=
payCenterOrderNo
.
split
(
","
);
for
(
String
id:
split
){
ids
.
add
(
Long
.
valueOf
(
id
));
}
OfflineOrderRepaidRecordEntityExample
repayExample
=
new
OfflineOrderRepaidRecordEntityExample
();
repayExample
.
createCriteria
().
andIdIn
(
ids
);
List
<
OfflineOrderRepaidRecordEntity
>
orderRepaidRecords
=
offlineOrderRepaidRecordEntityMapper
.
selectByExample
(
repayExample
);
for
(
OfflineOrderRepaidRecordEntity
orderRepaidRecord
:
orderRepaidRecords
)
{
RepayDetailFromXyqbOffline
repayPlanDetail
=
new
RepayDetailFromXyqbOffline
();
//放款金额,订单金额
repayPlanDetail
.
setRequiredPayAmount
(
offlineOrder
.
getOrderAmount
().
toString
());
//实际还款金额
BigDecimal
overDueAmount
=
orderRepaidRecord
.
getOverdueAmount
();
overDueAmount
=
overDueAmount
==
null
?
BigDecimal
.
ZERO
:
overDueAmount
;
String
actualPayAmount
=
orderRepaidRecord
.
getRepaidAmount
().
add
(
overDueAmount
).
toString
();
repayPlanDetail
.
setActualPayAmount
(
offlineOrder
.
getOrderAmount
().
toString
());
repayPlanDetail
.
setDeadline
(
orderRepaidRecord
.
getRepaidAt
().
getTime
());
repayPlanDetail
.
setTermNo
(
Instalment
.
values
()[(
int
)
offlineOrder
.
getInstalment
()].
getInstalmentPeriod
());
repayPlanDetail
.
setCurrTermNo
(
orderRepaidRecord
.
getTermNo
());
repayPlanDetail
.
setLoanPaidAt
(
offlineOrder
.
getCreatedAt
().
getTime
());
repayPlanDetail
.
setRequiredRepayment
(
actualPayAmount
);
repayPlanDetail
.
setPrincipal
(
orderRepaidRecord
.
getPrincipal
().
toString
());
repayPlanDetail
.
setInterest
(
orderRepaidRecord
.
getInterest
().
toString
());
repayPlanDetail
.
setOverdueInterest
(
overDueAmount
.
toString
());
repayPlanDetail
.
setServiceFeePerTerm
(
"0"
);
repayPlanDetail
.
setDiscount
(
"0"
);
repayPlanDetail
.
setCollectionRelief
(
"0"
);
repayPlanDetail
.
setFundingCorpId
(-
1L
);
repayPlanDetail
.
setFundingCorp
(
"保理公司"
);
repayPlanDetail
.
setDebtFundingCorp
(
"保理公司"
);
repayPlanDetail
.
setUserName
(
userDetail
.
getName
());
repayPlanDetail
.
setPhoneNo
(
userDetail
.
getPhoneNo
());
repayPlanDetail
.
setIdNo
(
userDetail
.
getIdNo
());
RepayDetailFinancial
repayDetailFinancial
=
convert2RepayDetailFinancial
(
repayPlanDetail
);
repayDetailFinancial
.
setOrderId
(
entity
.
getOrderId
());
repayDetailFinancial
.
setRepaymentPlanId
(
orderRepaidRecord
.
getId
());
repayDetailFinancial
.
setPayCenterOrderNo
(
entity
.
getMerchantRepayOrderNo
());
repayDetailFinancial
.
setLoanApplicationHistoryId
(
Long
.
valueOf
(
entity
.
getMerchantOrderNo
()));
baitiaoAllDetail
.
add
(
repayDetailFinancial
);
}
}
}
return
baitiaoAllDetail
;
}
/*public List<RepayDetailFinancial> getDetailByPayCenterRepayOrder(List<RepayOrderEntity> repayOrderEntity) {
List<RepayDetailFinancial> baitiaoAllDetail = new ArrayList<RepayDetailFinancial>();
if (null != repayOrderEntity && repayOrderEntity.size() > 0) {
for (RepayOrderEntity entity : repayOrderEntity) {
LOGGER.info("获取线下白条还款明细,orderId-->{}", entity.getOrderId());
try {
String merchantRepayOrderNos = entity.getMerchantRepayOrderNo();
String[] split = merchantRepayOrderNos.split(",");
List<Long> ids = new ArrayList<>();
for (String id : split) {
ids.add(Long.valueOf(id));
}
Map<String, Object> parameters = new HashMap<String, Object>();
parameters.put("repaidAt", entity.getRepaidAt().getTime() + "");
parameters.put("merchantOrderNo", entity.getMerchantOrderNo());
parameters.put("merchantRepayOrder", ids);
String post = HttpUtils.doGet(baitiao_url, parameters);
Type type = new TypeToken<ArrayList<RepayDetailFromXyqbOffline>>() {
}.getType();
List<RepayDetailFromXyqbOffline> baitiaoDetails = GSON.fromJson(post, type);
if (null != baitiaoDetails && baitiaoDetails.size() > 0) {
for (RepayDetailFromXyqbOffline detail : baitiaoDetails) {
detail.setOrderId(entity.getOrderId());
baitiaoAllDetail.add(convert2RepayDetailFinancial(detail));
}
}
} catch (Exception e) {
LOGGER.error("获取线下白条还款明细异常", e);
}
}
}
return baitiaoAllDetail;
}*/
private
RepayDetailFinancial
convert2RepayDetailFinancial
(
RepayDetailFromXyqbOffline
entity
)
{
RepayDetailFinancial
detail
=
new
RepayDetailFinancial
();
...
...
src/main/java/cn/gq/financial/service/BaitiaoOnlineDetailService.java
View file @
5dfd16d2
...
...
@@ -9,6 +9,7 @@ import java.util.Map;
import
java.util.Set
;
import
cn.gq.financial.utils.Constants
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -47,33 +48,44 @@ public class BaitiaoOnlineDetailService implements DetailService {
Set
<
String
>
merchantRepayOrderNoSet
=
new
HashSet
<
String
>();
for
(
RepayOrderEntity
entity
:
repayOrderEntities
)
{
merchantRepayOrderNoSet
.
add
(
entity
.
getMerchantRepayOrderNo
());
map
.
put
(
entity
.
getMerchantRepayOrderNo
(),
entity
);
String
[]
split
=
entity
.
getMerchantRepayOrderNo
().
split
(
"_"
);
for
(
String
id:
split
){
map
.
put
(
id
,
entity
);
}
// map.put(entity.getMerchantRepayOrderNo(), entity);
}
List
<
BaitiaoExpEntity
>
baitiaoExpEntities
=
getBaiTiaoExp
(
new
ArrayList
<
String
>(
merchantRepayOrderNoSet
));
List
<
String
>
mallOrder
=
new
ArrayList
<
String
>();
Map
<
String
,
BaitiaoExpEntity
>
baitiaoMap
=
new
HashMap
<
String
,
BaitiaoExpEntity
>();
Set
<
String
>
mallOrder
=
new
HashSet
<
>();
Map
<
String
,
List
<
BaitiaoExpEntity
>>
baitiaoMap
=
new
HashMap
<
>();
for
(
BaitiaoExpEntity
baitiaoExpEntity
:
baitiaoExpEntities
)
{
Long
merchantId
=
baitiaoExpEntity
.
getMerchantId
();
if
(
set
.
contains
(
merchantId
))
{
// 如果是自己商城的订单
mallOrder
.
add
(
baitiaoExpEntity
.
getOrderNo
());
}
baitiaoMap
.
put
(
baitiaoExpEntity
.
getOrderNo
(),
baitiaoExpEntity
);
List
<
BaitiaoExpEntity
>
list
=
baitiaoMap
.
get
(
baitiaoExpEntity
.
getOrderNo
());
if
(
null
==
list
){
list
=
new
ArrayList
<>();
}
list
.
add
(
baitiaoExpEntity
);
baitiaoMap
.
put
(
baitiaoExpEntity
.
getOrderNo
(),
list
);
}
// 从mall库获取详细
List
<
BaitiaoOrderDetail
>
details
=
getBaitiaoOrderDetails
(
mallOrder
);
List
<
BaitiaoOrderDetail
>
details
=
getBaitiaoOrderDetails
(
new
ArrayList
<>(
mallOrder
)
);
for
(
BaitiaoOrderDetail
detail
:
details
)
{
BaitiaoExpEntity
entity
=
baitiaoMap
.
get
(
detail
.
getOrderNo
());
if
(
null
!=
entity
)
{
entity
.
setProductName
(
detail
.
getProductName
());
entity
.
setSellPrice
(
detail
.
getSellPrice
());
if
(
detail
.
getType
()
==
7
)
{
setProductDetail3C
(
detail
,
entity
);
List
<
BaitiaoExpEntity
>
list
=
baitiaoMap
.
get
(
detail
.
getOrderNo
());
if
(
null
!=
list
)
{
for
(
BaitiaoExpEntity
entity
:
list
){
entity
.
setProductName
(
detail
.
getProductName
());
entity
.
setSellPrice
(
detail
.
getSellPrice
());
if
(
detail
.
getType
()
==
7
)
{
setProductDetail3C
(
detail
,
entity
);
}
}
}
}
// 放如量化派流水号
for
(
BaitiaoExpEntity
expEntity
:
baitiaoExpEntities
)
{
RepayOrderEntity
repayOrderEntity
=
map
.
get
(
expEntity
.
get
PayCenterOrderNo
());
RepayOrderEntity
repayOrderEntity
=
map
.
get
(
expEntity
.
get
RepaymentPlanId
().
toString
());
expEntity
.
setLhpNo
(
repayOrderEntity
.
getOrderId
());
result
.
add
(
convert2RepayDetailFinancial
(
expEntity
));
}
...
...
@@ -84,6 +96,7 @@ public class BaitiaoOnlineDetailService implements DetailService {
RepayDetailFinancial
detail
=
new
RepayDetailFinancial
();
detail
.
setBizType
(
DetailService
.
BIZ_TYPE_BAITIAO
);
detail
.
setRepaymentPlanId
(
entity
.
getRepaymentPlanId
());
detail
.
setFundingCorpName
(
entity
.
getMerchantName
());
detail
.
setOrderId
(
entity
.
getLhpNo
());
detail
.
setLhpSeriaNo
(
entity
.
getLhpNo
());
detail
.
setUserName
(
entity
.
getUserName
());
...
...
@@ -177,21 +190,28 @@ public class BaitiaoOnlineDetailService implements DetailService {
private
List
<
BaitiaoExpEntity
>
getBaiTiaoExp
(
List
<
String
>
merchantRepayOrderNoList
)
{
int
size
=
merchantRepayOrderNoList
.
size
();
List
<
BaitiaoExpEntity
>
baitiaoExpEntities
=
null
;
List
<
Long
>
baitiaoOrderIds
=
new
ArrayList
<>();
for
(
String
payCenterRepayOrderNo:
merchantRepayOrderNoList
){
String
[]
split
=
payCenterRepayOrderNo
.
split
(
"_"
);
for
(
String
id:
split
){
baitiaoOrderIds
.
add
(
Long
.
valueOf
(
id
));
}
}
if
(
size
>
0
)
{
if
(
size
<
item_size
)
{
List
<
BaitiaoExpEntity
>
list
=
exportExcelMapper
.
baitiaoRepayExport
(
merchantRepayOrderNoList
);
List
<
BaitiaoExpEntity
>
list
=
exportExcelMapper
.
baitiaoRepayExport
(
baitiaoOrderIds
);
return
list
;
}
else
{
baitiaoExpEntities
=
new
ArrayList
<
BaitiaoExpEntity
>();
int
group
=
size
/
item_size
;
int
i
=
0
;
for
(
i
=
0
;
i
<
group
;
i
++)
{
List
<
String
>
subList
=
merchantRepayOrderNoList
.
subList
(
i
*
item_size
,
(
i
+
1
)
*
item_size
);
List
<
Long
>
subList
=
baitiaoOrderIds
.
subList
(
i
*
item_size
,
(
i
+
1
)
*
item_size
);
List
<
BaitiaoExpEntity
>
list
=
exportExcelMapper
.
baitiaoRepayExport
(
subList
);
baitiaoExpEntities
.
addAll
(
list
);
}
if
(
0
!=
size
%
item_size
)
{
List
<
String
>
subList
=
merchantRepayOrderNoList
.
subList
(
i
*
item_size
,
merchantRepayOrderNoList
.
size
());
List
<
Long
>
subList
=
baitiaoOrderIds
.
subList
(
i
*
item_size
,
baitiaoOrderIds
.
size
());
List
<
BaitiaoExpEntity
>
list
=
exportExcelMapper
.
baitiaoRepayExport
(
subList
);
baitiaoExpEntities
.
addAll
(
list
);
}
...
...
src/main/java/cn/gq/financial/service/XYQBDetailService.java
View file @
5dfd16d2
...
...
@@ -64,7 +64,7 @@ public class XYQBDetailService implements DetailService {
if
(
null
==
result
)
{
emap
.
put
(
entity
.
getRepaymentPlanId
(),
entity
);
}
else
{
if
(
null
!=
result
.
getContractCreatedAt
()
&&
null
!=
result
.
getContractCreatedAt
()
)
{
if
(
null
!=
result
.
getContractCreatedAt
())
{
if
(
result
.
getContractCreatedAt
().
getTime
()
<
entity
.
getContractCreatedAt
().
getTime
())
{
emap
.
put
(
entity
.
getRepaymentPlanId
(),
entity
);
}
...
...
src/main/java/cn/gq/financial/utils/BillParsers.java
View file @
5dfd16d2
...
...
@@ -24,6 +24,10 @@ public class BillParsers {
static
String
PARSE_PATTERN_1
=
"yyyy-MM-dd HH:mm:ss"
;
static
String
PARSE_PATTERN_2
=
"yyyyMMdd"
;
public
static
<
T
>
List
<
T
>
parseBillFromInputStream
(
String
filePath
,
Class
<
T
>
clazz
)
throws
Exception
{
return
parseBillFromInputStream
(
new
FileInputStream
(
filePath
),
clazz
);
}
public
static
<
T
>
List
<
T
>
parseBillFromInputStream
(
File
file
,
Class
<
T
>
clazz
)
throws
Exception
{
return
parseBillFromInputStream
(
new
FileInputStream
(
file
),
clazz
);
}
...
...
@@ -31,7 +35,7 @@ public class BillParsers {
@SuppressWarnings
(
"unchecked"
)
public
static
<
T
>
List
<
T
>
parseBillFromInputStream
(
InputStream
inputStream
,
Class
<
T
>
clazz
)
throws
Exception
{
if
(
clazz
.
equals
(
YeepayBill
.
class
))
{
return
(
List
<
T
>)
parseBillYeepay
(
inputStream
);
return
(
List
<
T
>)
parseBillYeepay
FromInputStream
(
inputStream
);
}
if
(
clazz
.
equals
(
WXBill
.
class
))
{
return
(
List
<
T
>)
parseBillWXPayFromInputStream
(
inputStream
);
...
...
src/main/java/cn/gq/financial/utils/HttpUtils.java
View file @
5dfd16d2
...
...
@@ -96,7 +96,7 @@ public class HttpUtils {
}
apiUrl
+=
param
;
String
result
=
null
;
CloseableHttpClient
httpclient
=
HttpClients
.
custom
().
build
();
CloseableHttpClient
httpclient
=
HttpClients
.
custom
().
setConnectionManager
(
connMgr
).
setDefaultRequestConfig
(
requestConfig
).
build
();
try
{
HttpGet
httpPost
=
new
HttpGet
(
apiUrl
);
CloseableHttpResponse
response
=
null
;
...
...
@@ -119,7 +119,8 @@ public class HttpUtils {
}
}
catch
(
Exception
ex
)
{
ex
.
printStackTrace
();
}
finally
{
}
/*finally {
if (httpclient != null) {
try {
httpclient.close();
...
...
@@ -127,7 +128,7 @@ public class HttpUtils {
e.printStackTrace();
}
}
}
}
*/
return
result
;
}
...
...
@@ -149,7 +150,7 @@ public class HttpUtils {
* @return
*/
public
static
String
doPost
(
String
apiUrl
,
Map
<
String
,
Object
>
params
)
{
CloseableHttpClient
httpClient
=
HttpClients
.
c
reateDefault
();
CloseableHttpClient
httpClient
=
HttpClients
.
c
ustom
().
setConnectionManager
(
connMgr
).
setDefaultRequestConfig
(
requestConfig
).
build
();
String
httpStr
=
null
;
HttpPost
httpPost
=
new
HttpPost
(
apiUrl
);
CloseableHttpResponse
response
=
null
;
...
...
src/main/resources/applicationContext.properties
View file @
5dfd16d2
...
...
@@ -37,4 +37,9 @@ lkbadmin.jdbc.password=wj0msj8J8/v2Ee6Xl75ZDizrJBdEDOAQGlxTGKbRFng=
#localDB
local.repayment.jdbc.url
=
jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf8
local.repayment.jdbc.username
=
root
local.repayment.jdbc.password
=
root
\ No newline at end of file
local.repayment.jdbc.password
=
root
#offlineBaitiao
offlineBaitiao.jdbc.url
=
jdbc:mysql://172.168.20.125:3307/offline?useUnicode=true&characterEncoding=UTF8
offlineBaitiao.jdbc.username
=
xyqb_offline
offlineBaitiao.jdbc.password
=
UJdcOndlPChVZM1X
\ No newline at end of file
src/main/resources/applicationContext.xml
View file @
5dfd16d2
...
...
@@ -148,8 +148,22 @@
<property
name=
"maxActive"
value=
"50"
/>
<!--minIdle: 最小空闲连接-->
<property
name=
"minIdle"
value=
"5"
/>
</bean>
</bean>
<!-- 线下白条数据源 -->
<bean
id=
"offlineDS"
class=
"org.apache.commons.dbcp.BasicDataSource"
destroy-method=
"close"
>
<property
name=
"driverClassName"
value=
"${jdbc.driver.name}"
/>
<property
name=
"url"
value=
"${offlineBaitiao.jdbc.url}"
/>
<property
name=
"username"
value=
"${offlineBaitiao.jdbc.username}"
/>
<property
name=
"password"
value=
"${offlineBaitiao.jdbc.password}"
/>
<!--maxActive: 最大连接数量-->
<property
name=
"maxActive"
value=
"50"
/>
<!--minIdle: 最小空闲连接-->
<property
name=
"minIdle"
value=
"5"
/>
</bean>
<!-- 商城数据源 -->
<!-- <bean id="mallDS"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
...
...
@@ -225,7 +239,14 @@
<property
name=
"configLocation"
value=
"classpath:mybatis-mall-config.xml"
></property>
<property
name=
"dataSource"
ref=
"mallDS"
/>
</bean>
<!-- offline数据源SqlSessionFactory -->
<bean
id=
"offlineSqlSessionFactory"
class=
"org.mybatis.spring.SqlSessionFactoryBean"
>
<property
name=
"configLocation"
value=
"classpath:mybatis-offline-config.xml"
></property>
<property
name=
"dataSource"
ref=
"offlineDS"
/>
</bean>
<!-- lkbadmin数据源SqlSessionFactory -->
<!-- <bean id="lkbAdminSqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="configLocation" value="classpath:mybatis-lkbadmin-config.xml"></property>
...
...
@@ -255,6 +276,12 @@
<property
name=
"basePackage"
value=
"cn.gq.financial.db.mall.dao"
/>
<property
name=
"sqlSessionFactoryBeanName"
value=
"mallSqlSessionFactory"
/>
</bean>
<!-- offline数据源SqlSessionFactory的扫描 -->
<bean
class=
"org.mybatis.spring.mapper.MapperScannerConfigurer"
>
<property
name=
"basePackage"
value=
"cn.gq.financial.db.offline.dao"
/>
<property
name=
"sqlSessionFactoryBeanName"
value=
"offlineSqlSessionFactory"
/>
</bean>
<!-- financial数据源SqlSessionFactory的扫描 -->
<!-- <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
...
...
src/main/resources/mybatis-offline-config.xml
0 → 100644
View file @
5dfd16d2
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC
"-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<mappers>
<mapper
resource=
"cn/gq/financial/db/offline/mapping/OfflineOrderRepaidRecordEntityMapper.xml"
/>
<mapper
resource=
"cn/gq/financial/db/offline/mapping/OfflineOrderEntityMapper.xml"
/>
<mapper
resource=
"cn/gq/financial/db/offline/mapping/OfflineUserDetailEntityMapper.xml"
/>
</mappers>
</configuration>
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment