Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Q
quant-andy
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
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
贺超
quant-andy
Commits
06628d60
Commit
06628d60
authored
Sep 06, 2021
by
Administrator
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
创建项目
parent
64f7635d
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
306 additions
and
4 deletions
+306
-4
README.md
README.md
+302
-0
BalanceService.java
...e/src/main/java/cn/quant/andy/service/BalanceService.java
+2
-2
AppTest.java
quant-andy-server/src/test/java/cn/quant/AppTest.java
+2
-2
No files found.
README.md
View file @
06628d60
##1、 ps_pay_inf_sku
###1.1 pay_inf_sku 关联SKU信息表
```
SELECT
oinf.TERM_NO,
oinf.ID,
oinf.ROOT_ORDER_NO,
oinf.ORDER_NO,
oinf.ORDER_TYPE,
oinf.order_status,
oinf.order_time,
oinf.pay_time,
oinf.delivery_at,
oinf.PAY_TYPE,
oinf.order_complete_time,
osku.SKU_NO,
osku.shop_name,
osku.sku_name,
osku.price,
osku.cost_price,
osku.amount,
osku.pay_amount,
osku.count
FROM
t_order_info oinf
LEFT JOIN order_sku osku ON osku.TERM_NO = oinf.TERM_NO
AND oinf.ROOT_ORDER_NO = osku.order_no
WHERE
oinf.TERM_NO = 202108
AND oinf.ORDER_STATUS <> '51'
GROUP BY
oinf.ROOT_ORDER_NO,
osku.SKU_NO;
```
###1.2 ps_pay_inf_sku 拉取商品信息表
```
SELECT
isku.ID AS 'ORDER_INFO_ID',
psts.ORDER_GOODS_ID AS 'ORDER_GOODS_ID',
psts.FLOW_NO AS 'FLOW_NO',
skui.ID AS 'ID',
psts.TERM_NO AS 'TERM_NO',
psts.ORDER_NO AS 'ROOT_ORDER_NO',
isku.ORDER_NO AS 'SUB_ORDER_NO',
psts.SKU_NO AS 'SKU_NO',
gcat1.CATEGROY_NAME AS 'CATEGROY_NAME1',
gcat2.CATEGROY_NAME AS 'CATEGROY_NAME2',
gcat3.CATEGROY_NAME AS 'CATEGROY_NAME3',
skui.BRAND_NAME AS 'BRAND_NAME',
isku.SHOP_NAME AS 'SHOP_NAME',
isku.SKU_NAME AS 'SKU_NAME',
isku.ORDER_TYPE AS 'ORDER_TYPE',
isku.order_status AS 'ORDER_STATUS',
isku.PAY_TYPE AS 'PAY_TYPE',
CASE psts.TXN_CODE
WHEN 'R004' THEN
psts.POST_AMT
ELSE
0.0
END AS 'VCC_AMT',
CASE psts.TXN_CODE
WHEN 'R002' THEN
psts.POST_AMT
ELSE
0.0
END AS 'WX_AMT',
CASE psts.TXN_CODE
WHEN 'R003' THEN
psts.POST_AMT
ELSE
0.0
END AS 'ZFB_AMT',
isku.AMOUNT AS 'AMOUNT',
isku.COUNT AS 'COUNT',
isku.PAY_AMOUNT AS 'PAY_AMOUNT',
ogd_inf.AMT_DEDUCT_PAY_COUPON AS 'AMT_DEDUCT_PAY_COUPON',
ogd_inf.AMT_CASH_COUPON_DEDUCT AS 'AMT_CASH_COUPON_DEDUCT',
ogd_inf.AMT_COUPON_DEDUCT AS 'AMT_COUPON_DEDUCT',
ogd_inf.AMT_ACTIVITY_DEDUCT AS 'AMT_ACTIVITY_DEDUCT',
ogd_inf.AMT_NEED_PAY AS 'AMT_NEED_PAY',
psts.POST_AMT AS 'POST_AMT',
isku.PRICE AS 'PRICE',
isku.COST_PRICE AS 'COST_PRICE',
ogd_inf.AMT_FREIGHT AS 'AMT_FREIGHT',
ogd_inf.AMT_FREIGHT_DEDUCT AS 'AMT_FREIGHT_DEDUCT',
isku.ORDER_TIME AS 'ORDER_TIME',
isku.PAY_TIME AS 'PAY_TIME',
isku.DELIVERY_AT AS 'DELIVERY_AT',
isku.ORDER_COMPLETE_TIME AS 'ORDER_COMPLETE_TIME'
FROM
ps_txn_summary psts
LEFT JOIN pay_inf_sku isku ON psts.ORDER_NO = isku.ROOT_ORDER_NO
AND psts.SKU_NO = isku.SKU_NO
AND psts.TERM_NO = isku.term_no
LEFT JOIN order_goods_info ogd_inf ON ogd_inf.ID = psts.ORDER_GOODS_ID
LEFT JOIN sku_info skui ON psts.SKU_NO = skui.SKU_NO
LEFT JOIN t_goods_rear_category gcat1 ON skui.C_ID1 = gcat1.CATEGROY_ID
LEFT JOIN t_goods_rear_category gcat2 ON skui.C_ID1 = gcat2.CATEGROY_ID
LEFT JOIN t_goods_rear_category gcat3 ON skui.C_ID2 = gcat3.CATEGROY_ID
WHERE
psts.TERM_NO = 202108
AND ROOT_ORDER_NO IN (
'1432734833913839616',
'1432671460492763136'
)
```
#2、ps_pay_sku_bill 合并SKU粒度表
```
--合计应付金额 = 合计商品金额 + 合计运费金额
--合计支付金额 = 合计商品金额 + 合计运费金额 - 支付减免券金额 - 现金减免券金额 - 优惠券券减免金额 - 活动减免金额
--核应付实付 = (合计商品金额 + 运费金额 - 运费抵扣金额 - 实付金额 - 支付减免券金额 - 现金减免券金额 - 优惠券减免券金额 - 活动减免金额 = 0.0)
--核商品金额 = (合计商品金额 - 商品售价 * 合计商品数量 == 0.0)
--核实付金额 = (VCC支付金额 + 微信支付金额+ 支付宝支付金额 - 实付金额 == 0.0)
SELECT
pspis.TERM_NO AS 'TERM_NO',
-- pspis.ORDER_INFO_ID,
CONCAT('#', pspis.ROOT_ORDER_NO) AS 'ROOT_ORDER_NO',
CONCAT('#', pspis.SUB_ORDER_NO) AS 'SUB_ORDER_NO',
CONCAT('#', pspis.SKU_NO) AS 'SKU_NO',
pspis.CATEGROY_NAME1 AS 'CATEGROY_NAME1',
pspis.CATEGROY_NAME2 AS 'CATEGROY_NAME2',
pspis.CATEGROY_NAME3 AS 'CATEGROY_NAME3',
pspis.BRAND_NAME AS 'BRAND_NAME',
pspis.SHOP_NAME AS 'SHOP_NAME',
pspis.SKU_NAME AS 'SKU_NAME',
CASE pspis.ORDER_TYPE
WHEN 1 THEN
'自营'
WHEN 2 THEN
'京东开普勒'
WHEN 3 THEN
'京东联盟'
WHEN 4 THEN
'众联'
WHEN 5 THEN
'众联企业购'
WHEN 6 THEN
'京东企业购'
END AS 'ORDER_TYPE',
CASE pspis.order_status
WHEN '' THEN
'空值'
WHEN '11' THEN
'待付款'
WHEN '12' THEN
'待发货'
WHEN '13' THEN
'待收货'
WHEN '14' THEN
'发货中'
WHEN '21' THEN
'订单完成'
WHEN '31' THEN
'订单已付款主动取消'
WHEN '32' THEN
'订单已付款自动取消'
WHEN '33' THEN
'订单拒收取消'
WHEN '41' THEN
'已付款主动取消退款完成订单关闭'
WHEN '42' THEN
'已付款自动取消退款完成订单关闭'
WHEN '43' THEN
'未支付用户主动取消订单关闭'
WHEN '44' THEN
'未支付超时取消订单关闭'
WHEN '45' THEN
'订单拒收退款订单取消'
WHEN '46' THEN
'订单已付款充值失败已退款订单关闭'
WHEN '51' THEN
'订单拆单关闭'
ELSE
'未知'
END AS 'ORDER_STATUS',
CASE pspis.PAY_TYPE
WHEN '' THEN
'空类型支付'
WHEN '1' THEN
'微信支付'
WHEN '2' THEN
'额度支付'
WHEN '3' THEN
'支付宝支付'
WHEN '4' THEN
'微信+信用支付'
WHEN '5' THEN
'支付宝加信用支付'
WHEN '6' THEN
'未知类型支付'
END AS 'PAY_TYPE',
SUM(pspis.VCC_AMT) AS 'VCC_AMT',
SUM(pspis.WX_AMT) AS 'WX_AMT',
SUM(pspis.ZFB_AMT) AS 'ZFB_AMT',
MAX(pspis.amount) AS 'AMOUNT',
MAX(pspis.COUNT) AS 'COUNT',
-- SUM(1) AS 'TOTAL_COUNT',
-- SUM(pspis.amt_freight) AS 'TOTAL_AMT_FREIGHT',
(
SUM(pspis.amt_freight) / SUM(1) * MAX(pspis.count) - SUM(pspis.AMT_FREIGHT_DEDUCT) / SUM(1) * MAX(pspis.count)
) AS 'POST_AMT_FREIGHT',
MAX(pspis.pay_amount) AS 'PAY_AMOUNT',
SUM(pspis.amt_deduct_pay_coupon) / SUM(1) * MAX(pspis.count) AS 'AMT_DEDUCT_PAY_COUPON',
SUM(pspis.amt_cash_coupon_deduct) / SUM(1) * MAX(pspis.count) AS 'AMT_CASH_COUPON_DEDUCT',
SUM(pspis.amt_coupon_deduct) / SUM(1) * MAX(pspis.count) AS 'AMT_COUPON_DEDUCT',
SUM(pspis.amt_activity_deduct) / SUM(1) * MAX(pspis.count) AS 'AMT_ACTIVITY_DEDUCT',
SUM(pspis.amt_need_pay) / SUM(1) * MAX(pspis.count) AS 'AMT_NEED_PAY',
SUM(pspis.POST_AMT) AS 'POST_AMT',
CASE
WHEN CAST(
(MAX(pspis.amount)
+ (SUM(pspis.amt_freight) / SUM(1) * MAX(pspis.count))
- SUM(pspis.POST_AMT)
- (SUM(pspis.AMT_FREIGHT_DEDUCT) / SUM(1) * MAX(pspis.count))
- (SUM(pspis.amt_deduct_pay_coupon) / SUM(1) * MAX(pspis.count))
- (SUM(pspis.amt_cash_coupon_deduct) / SUM(1) * MAX(pspis.count))
- (SUM(pspis.amt_coupon_deduct) / SUM(1) * MAX(pspis.count))
- (SUM(pspis.amt_activity_deduct)/ SUM(1) * MAX(pspis.count))) AS DECIMAL(10,3))=0.000 THEN
'Y'
ELSE
'N'
END AS 'CHECKED_PAY',
CASE
WHEN MAX(pspis.amount) - (pspis.PRICE * pspis.count) = 0.0 THEN
'Y'
ELSE
'N'
END AS 'CHECKED_AMT',
CASE
WHEN SUM(pspis.VCC_AMT + pspis.WX_AMT + pspis.ZFB_AMT) - SUM(pspis.POST_AMT) = 0.000 THEN
'Y'
ELSE
'N'
END AS 'CHECKED_PAY_AMT',
pspis.PRICE AS 'PRICE',
pspis.COST_PRICE AS 'COST_PRICE',
SUM(pspis.amt_freight) / SUM(1) * MAX(pspis.count) AS 'AMT_FREIGHT',
SUM(pspis.AMT_FREIGHT_DEDUCT) / SUM(1) * MAX(pspis.count) AS 'AMT_FREIGHT_DEDUCT',
pspis.ORDER_TIME AS 'ORDER_TIME',
pspis.PAY_TIME AS 'PAY_TIME',
pspis.DELIVERY_AT AS 'DELIVERY_AT',
pspis.ORDER_COMPLETE_TIME AS 'ORDER_COMPLETE_TIME',
GROUP_CONCAT(pspis.FLOW_NO) AS 'FLOW_NO'
FROM
`ps_pay_inf_sku` pspis
WHERE
pspis.TERM_NO = 202108
-- and pspis.ROOT_ORDER_NO IN (
-- '1432734833913839616'
-- )
GROUP BY
pspis.ROOT_ORDER_NO,
pspis.SKU_NO;
```
#3、pay_sku_bill 出SKU粒度的核对明细
```
SELECT
CONCAT('#', pspsb.`ROOT_ORDER_NO`) AS '根订单号',
CONCAT('#', pspsb.`SUB_ORDER_NO`) AS '子订单号',
CONCAT('#', pspsb.`SKU_NO`) AS 'SKU号',
pspsb.`CATEGROY_NAME1` AS '一级品类',
pspsb.`CATEGROY_NAME2` AS '二级品类',
pspsb.`CATEGROY_NAME3` AS '三级品类',
pspsb.`BRAND_NAME` AS '品牌',
pspsb.`SHOP_NAME` AS '店铺',
pspsb.`SKU_NAME` AS '商品名称',
pspsb.`ORDER_TYPE` AS '商品来源',
pspsb.`ORDER_STATUS` AS '订单状态',
pspsb.`PAY_TYPE` AS '支付方式',
pspsb.`VCC_AMT` AS 'VCC支付金额/元',
pspsb.`WX_AMT` AS '微信支付金额/元',
pspsb.`ZFB_AMT` AS '支付宝支付金额/元',
pspsb.`AMOUNT` AS '合计商品金额/元',
pspsb.`COUNT` AS '合计商品数量/件',
pspsb.`POST_AMT_FREIGHT` AS '合计运费金额/元',
pspsb.`PAY_AMOUNT` AS '合计应付总额/元',
pspsb.`AMT_DEDUCT_PAY_COUPON` AS '支付减免券金额/元',
pspsb.`AMT_CASH_COUPON_DEDUCT` AS '现金减免券金额/元',
pspsb.`AMT_COUPON_DEDUCT` AS '优惠券减免券金额/元',
pspsb.`AMT_ACTIVITY_DEDUCT` AS '活动减免金额/元',
pspsb.`AMT_NEED_PAY` AS '合计支付金额/元',
pspsb.`POST_AMT` AS '实付金额/元',
pspsb.`CHECKED_PAY` AS '核应付实付',
pspsb.`CHECKED_AMT` AS '核商品金额',
pspsb.`CHECKED_PAY_AMT` AS '核实付金额',
pspsb.`PRICE` AS '商品零售价/元',
pspsb.`COST_PRICE` AS '商品成本/元',
pspsb.`AMT_FREIGHT` AS '运费金额/元',
pspsb.`AMT_FREIGHT_DEDUCT` AS '运费抵扣金额/元',
pspsb.`ORDER_TIME` AS '下单时间',
pspsb.`PAY_TIME` AS '支付时间',
pspsb.`DELIVERY_AT` AS '发货时间',
pspsb.`ORDER_COMPLETE_TIME` AS '订单完成时间',
pspsb.`FLOW_NO` AS '流水号'
FROM
ps_pay_sku_bill pspsb;
```
\ No newline at end of file
quant-andy-core/src/main/java/cn/quant/andy/service/BalanceService.java
View file @
06628d60
...
@@ -86,13 +86,13 @@ public class BalanceService extends AbstractService {
...
@@ -86,13 +86,13 @@ public class BalanceService extends AbstractService {
Pagination
pagination
=
new
Pagination
(
1
,
10
,
false
);
Pagination
pagination
=
new
Pagination
(
1
,
10
,
false
);
try
{
try
{
while
(
loop
)
{
while
(
loop
)
{
loop
=
billing
(
billing
,
pagination
,
202106
)
>
0
;
loop
=
billing
(
billing
,
pagination
,
termNo
)
>
0
;
}
}
loop
=
true
;
loop
=
true
;
pagination
=
new
Pagination
(
1
,
10
,
false
);
pagination
=
new
Pagination
(
1
,
10
,
false
);
while
(
loop
)
{
while
(
loop
)
{
loop
=
billingRight
(
billing
,
pagination
,
202106
)
>
0
;
loop
=
billingRight
(
billing
,
pagination
,
termNo
)
>
0
;
}
}
BalanceUtils
.
refresh
(
billing
,
BillStatusCode
.
SUCC
);
BalanceUtils
.
refresh
(
billing
,
BillStatusCode
.
SUCC
);
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
...
...
quant-andy-server/src/test/java/cn/quant/AppTest.java
View file @
06628d60
...
@@ -37,7 +37,7 @@ public class AppTest {
...
@@ -37,7 +37,7 @@ public class AppTest {
public
void
load
()
{
public
void
load
()
{
try
{
try
{
dataLoader
.
load
(
20210
7
);
dataLoader
.
load
(
20210
8
);
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
e
.
printStackTrace
();
}
}
...
@@ -61,6 +61,6 @@ public class AppTest {
...
@@ -61,6 +61,6 @@ public class AppTest {
@Test
@Test
public
void
billing
()
{
public
void
billing
()
{
balanceService
.
billing
(
"INST"
,
20210
6
);
balanceService
.
billing
(
"INST"
,
20210
7
);
}
}
}
}
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