Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
H
huhu-partner
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
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
guanchen
huhu-partner
Commits
97e19480
Commit
97e19480
authored
Dec 05, 2019
by
guanchen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
预付款订单按rewad中记录的原始佣金
按比例分别结算定金 和 尾款奖励
parent
2608110a
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
349 additions
and
28 deletions
+349
-28
AgentReward.java
...main/java/com/lanren/huhu/partner/domain/AgentReward.java
+25
-0
PartnerReward.java
...in/java/com/lanren/huhu/partner/domain/PartnerReward.java
+26
-1
AgentSettleTask.java
...ava/com/lanren/huhu/partner/schedule/AgentSettleTask.java
+11
-5
PartnerSettleTask.java
...a/com/lanren/huhu/partner/schedule/PartnerSettleTask.java
+10
-4
AgentRewardMapper.xml
src/main/resources/mapper/AgentRewardMapper.xml
+68
-7
PartnerRewardMapper.xml
src/main/resources/mapper/PartnerRewardMapper.xml
+74
-11
sql.log
src/main/resources/static/sql.log
+135
-0
No files found.
src/main/java/com/lanren/huhu/partner/domain/AgentReward.java
View file @
97e19480
...
@@ -214,6 +214,24 @@ public class AgentReward implements Serializable {
...
@@ -214,6 +214,24 @@ public class AgentReward implements Serializable {
@TableField
(
value
=
"settle_in_advance"
)
@TableField
(
value
=
"settle_in_advance"
)
private
Integer
settleInAdvance
;
private
Integer
settleInAdvance
;
/**
* 失效时间 针对各种失效状态
*/
@TableField
(
value
=
"invalid_time"
)
private
Date
invalidTime
;
/**
* 二次激活订单号
*/
@TableField
(
value
=
"tail_order_sn"
)
private
String
tailOrderSn
;
/**
* 二次激活订单 定金和尾款订单 的 分成比例
*/
@TableField
(
value
=
"deposite_tail_rate"
)
private
BigDecimal
depositeTailRate
;
private
static
final
long
serialVersionUID
=
1L
;
private
static
final
long
serialVersionUID
=
1L
;
public
static
final
String
COL_AGENT_ID
=
"agent_id"
;
public
static
final
String
COL_AGENT_ID
=
"agent_id"
;
...
@@ -283,4 +301,10 @@ public class AgentReward implements Serializable {
...
@@ -283,4 +301,10 @@ public class AgentReward implements Serializable {
public
static
final
String
COL_SETTLE_TIME
=
"settle_time"
;
public
static
final
String
COL_SETTLE_TIME
=
"settle_time"
;
public
static
final
String
COL_SETTLE_IN_ADVANCE
=
"settle_in_advance"
;
public
static
final
String
COL_SETTLE_IN_ADVANCE
=
"settle_in_advance"
;
public
static
final
String
COL_INVALID_TIME
=
"invalid_time"
;
public
static
final
String
COL_TAIL_ORDER_SN
=
"tail_order_sn"
;
public
static
final
String
COL_DEPOSITE_TAIL_RATE
=
"deposite_tail_rate"
;
}
}
\ No newline at end of file
src/main/java/com/lanren/huhu/partner/domain/PartnerReward.java
View file @
97e19480
...
@@ -38,7 +38,7 @@ public class PartnerReward implements Serializable {
...
@@ -38,7 +38,7 @@ public class PartnerReward implements Serializable {
private
Integer
userPartnerLevel
;
private
Integer
userPartnerLevel
;
/**
/**
* 合伙人奖励类型 60 用户在线充值 70 升高开户充值,80邀请奖励,90下单奖励,100购买超级VIP会员,110购物奖励
* 合伙人奖励类型 60 用户在线充值 70 升高开户充值,80邀请奖励,90下单奖励,100购买超级VIP会员,110购物奖励
,120分享赚,130平台额外奖励
*/
*/
@TableField
(
value
=
"reward_type"
)
@TableField
(
value
=
"reward_type"
)
private
Integer
rewardType
;
private
Integer
rewardType
;
...
@@ -209,11 +209,29 @@ public class PartnerReward implements Serializable {
...
@@ -209,11 +209,29 @@ public class PartnerReward implements Serializable {
private
Date
settleTime
;
private
Date
settleTime
;
/**
/**
* 失效时间 针对各种失效订单
*/
@TableField
(
value
=
"invalid_time"
)
private
Date
invalidTime
;
/**
* 是否提前结算: 1是,0否
* 是否提前结算: 1是,0否
*/
*/
@TableField
(
value
=
"settle_in_advance"
)
@TableField
(
value
=
"settle_in_advance"
)
private
Integer
settleInAdvance
;
private
Integer
settleInAdvance
;
/**
* 二次激活订单号
*/
@TableField
(
value
=
"tail_order_sn"
)
private
String
tailOrderSn
;
/**
* 二次激活订单 定金和尾款订单 的 分成比例
*/
@TableField
(
value
=
"deposite_tail_rate"
)
private
BigDecimal
depositeTailRate
;
private
static
final
long
serialVersionUID
=
1L
;
private
static
final
long
serialVersionUID
=
1L
;
public
static
final
String
COL_USER_ID
=
"user_id"
;
public
static
final
String
COL_USER_ID
=
"user_id"
;
...
@@ -282,5 +300,11 @@ public class PartnerReward implements Serializable {
...
@@ -282,5 +300,11 @@ public class PartnerReward implements Serializable {
public
static
final
String
COL_SETTLE_TIME
=
"settle_time"
;
public
static
final
String
COL_SETTLE_TIME
=
"settle_time"
;
public
static
final
String
COL_INVALID_TIME
=
"invalid_time"
;
public
static
final
String
COL_SETTLE_IN_ADVANCE
=
"settle_in_advance"
;
public
static
final
String
COL_SETTLE_IN_ADVANCE
=
"settle_in_advance"
;
public
static
final
String
COL_TAIL_ORDER_SN
=
"tail_order_sn"
;
public
static
final
String
COL_DEPOSITE_TAIL_RATE
=
"deposite_tail_rate"
;
}
}
\ No newline at end of file
src/main/java/com/lanren/huhu/partner/schedule/AgentSettleTask.java
View file @
97e19480
...
@@ -395,7 +395,13 @@ public class AgentSettleTask {
...
@@ -395,7 +395,13 @@ public class AgentSettleTask {
private
void
add2UpdateRewardCommission
(
AgentReward
agentReward
,
BigDecimal
allMoney
,
List
<
AgentReward
>
updateCommisionList
)
{
private
void
add2UpdateRewardCommission
(
AgentReward
agentReward
,
BigDecimal
allMoney
,
List
<
AgentReward
>
updateCommisionList
)
{
String
ratioAllStr
=
""
;
String
ratioAllStr
=
""
;
try
{
try
{
agentReward
.
setAllMoneyOri
(
allMoney
);
BigDecimal
allMoneyOri
;
if
(
agentReward
.
getDepositeTailRate
().
compareTo
(
BigDecimal
.
ZERO
)
>
0
)
{
allMoneyOri
=
allMoney
.
multiply
(
agentReward
.
getDepositeTailRate
());
}
else
{
allMoneyOri
=
allMoney
;
}
agentReward
.
setAllMoneyOri
(
allMoneyOri
);
ratioAllStr
=
agentReward
.
getRatioAll
().
replaceAll
(
"[\\[\\]\"]"
,
""
);
ratioAllStr
=
agentReward
.
getRatioAll
().
replaceAll
(
"[\\[\\]\"]"
,
""
);
/**
/**
* 时间点之前的 需要乘比例数组 之后 再乘commission_rate
* 时间点之前的 需要乘比例数组 之后 再乘commission_rate
...
@@ -405,7 +411,7 @@ public class AgentSettleTask {
...
@@ -405,7 +411,7 @@ public class AgentSettleTask {
if
(!
isEmpty
(
ratioAllStr
))
{
if
(!
isEmpty
(
ratioAllStr
))
{
String
[]
strs
=
ratioAllStr
.
split
(
","
);
String
[]
strs
=
ratioAllStr
.
split
(
","
);
if
(
strs
.
length
>
0
)
{
if
(
strs
.
length
>
0
)
{
BigDecimal
cash
=
allMoney
;
BigDecimal
cash
=
allMoney
Ori
;
for
(
String
s
:
strs
)
{
for
(
String
s
:
strs
)
{
BigDecimal
ratio
=
new
BigDecimal
(
s
);
BigDecimal
ratio
=
new
BigDecimal
(
s
);
cash
=
cash
.
multiply
(
ratio
);
cash
=
cash
.
multiply
(
ratio
);
...
@@ -421,9 +427,9 @@ public class AgentSettleTask {
...
@@ -421,9 +427,9 @@ public class AgentSettleTask {
}
}
}
}
}
else
{
}
else
{
agentReward
.
setMoney
(
allMoney
);
agentReward
.
setMoney
(
allMoney
Ori
);
agentReward
.
setCommissionAcount
(
allMoney
);
agentReward
.
setCommissionAcount
(
allMoney
Ori
);
BigDecimal
commission
=
allMoney
.
multiply
(
agentReward
.
getCommissionRate
());
BigDecimal
commission
=
allMoney
Ori
.
multiply
(
agentReward
.
getCommissionRate
());
agentReward
.
setAmount
(
commission
);
agentReward
.
setAmount
(
commission
);
agentReward
.
setCommission
(
commission
);
agentReward
.
setCommission
(
commission
);
agentReward
.
setSettleState
(
Constants
.
SETTLE_STATE_DONE
);
agentReward
.
setSettleState
(
Constants
.
SETTLE_STATE_DONE
);
...
...
src/main/java/com/lanren/huhu/partner/schedule/PartnerSettleTask.java
View file @
97e19480
...
@@ -346,7 +346,13 @@ public class PartnerSettleTask {
...
@@ -346,7 +346,13 @@ public class PartnerSettleTask {
private
void
add2UpdateRewardCommission
(
PartnerReward
partnerReward
,
BigDecimal
allMoney
,
List
<
PartnerReward
>
updateCommisionList
)
{
private
void
add2UpdateRewardCommission
(
PartnerReward
partnerReward
,
BigDecimal
allMoney
,
List
<
PartnerReward
>
updateCommisionList
)
{
try
{
try
{
partnerReward
.
setAllMoneyOri
(
allMoney
);
BigDecimal
allMoneyOri
;
if
(
partnerReward
.
getDepositeTailRate
().
compareTo
(
BigDecimal
.
ZERO
)
>
0
)
{
allMoneyOri
=
allMoney
.
multiply
(
partnerReward
.
getDepositeTailRate
());
}
else
{
allMoneyOri
=
allMoney
;
}
partnerReward
.
setAllMoneyOri
(
allMoneyOri
);
String
ratioAllStr
=
partnerReward
.
getRatioAll
().
replaceAll
(
"[\\[\\]\"]"
,
""
);
String
ratioAllStr
=
partnerReward
.
getRatioAll
().
replaceAll
(
"[\\[\\]\"]"
,
""
);
/**
/**
* 时间点之前的 需要乘比例数组 之后 再乘commission_rate
* 时间点之前的 需要乘比例数组 之后 再乘commission_rate
...
@@ -356,7 +362,7 @@ public class PartnerSettleTask {
...
@@ -356,7 +362,7 @@ public class PartnerSettleTask {
if
(!
isEmpty
(
ratioAllStr
))
{
if
(!
isEmpty
(
ratioAllStr
))
{
String
[]
strs
=
ratioAllStr
.
split
(
","
);
String
[]
strs
=
ratioAllStr
.
split
(
","
);
if
(
strs
.
length
>
0
)
{
if
(
strs
.
length
>
0
)
{
BigDecimal
cash
=
allMoney
;
BigDecimal
cash
=
allMoney
Ori
;
for
(
String
s
:
strs
)
{
for
(
String
s
:
strs
)
{
BigDecimal
ratio
=
new
BigDecimal
(
s
);
BigDecimal
ratio
=
new
BigDecimal
(
s
);
cash
=
cash
.
multiply
(
ratio
);
cash
=
cash
.
multiply
(
ratio
);
...
@@ -371,8 +377,8 @@ public class PartnerSettleTask {
...
@@ -371,8 +377,8 @@ public class PartnerSettleTask {
}
}
}
}
}
else
{
}
else
{
partnerReward
.
setCash
(
allMoney
);
partnerReward
.
setCash
(
allMoney
Ori
);
BigDecimal
commission
=
allMoney
.
multiply
(
partnerReward
.
getCommissionRate
());
BigDecimal
commission
=
allMoney
Ori
.
multiply
(
partnerReward
.
getCommissionRate
());
partnerReward
.
setCommissionAcount
(
commission
);
partnerReward
.
setCommissionAcount
(
commission
);
partnerReward
.
setSettleState
(
Constants
.
SETTLE_STATE_DONE
);
partnerReward
.
setSettleState
(
Constants
.
SETTLE_STATE_DONE
);
partnerReward
.
setUpdatedAt
(
System
.
currentTimeMillis
()
/
1000L
);
partnerReward
.
setUpdatedAt
(
System
.
currentTimeMillis
()
/
1000L
);
...
...
src/main/resources/mapper/AgentRewardMapper.xml
View file @
97e19480
...
@@ -38,6 +38,9 @@
...
@@ -38,6 +38,9 @@
<result
column=
"ratio_all"
property=
"ratioAll"
/>
<result
column=
"ratio_all"
property=
"ratioAll"
/>
<result
column=
"settle_time"
property=
"settleTime"
/>
<result
column=
"settle_time"
property=
"settleTime"
/>
<result
column=
"settle_in_advance"
property=
"settleInAdvance"
/>
<result
column=
"settle_in_advance"
property=
"settleInAdvance"
/>
<result
column=
"invalid_time"
property=
"invalidTime"
/>
<result
column=
"tail_order_sn"
property=
"tailOrderSn"
/>
<result
column=
"deposite_tail_rate"
property=
"depositeTailRate"
/>
</resultMap>
</resultMap>
<sql
id=
"Base_Column_List"
>
<sql
id=
"Base_Column_List"
>
<!--@mbg.generated-->
<!--@mbg.generated-->
...
@@ -46,7 +49,7 @@
...
@@ -46,7 +49,7 @@
commission_rate, commission, reference_id, settle_state, source_order, source_user_id,
commission_rate, commission, reference_id, settle_state, source_order, source_user_id,
source_user_level, goods_id, title, order_type, order_sn, sub_order_sn, reward_extend,
source_user_level, goods_id, title, order_type, order_sn, sub_order_sn, reward_extend,
created_at, updated_at, deleted_at, create_time, all_money_ori, ratio_all, settle_time,
created_at, updated_at, deleted_at, create_time, all_money_ori, ratio_all, settle_time,
settle_in_advance
settle_in_advance
, invalid_time, tail_order_sn, deposite_tail_rate
</sql>
</sql>
<update
id=
"updateBatch"
parameterType=
"java.util.List"
>
<update
id=
"updateBatch"
parameterType=
"java.util.List"
>
<!--@mbg.generated-->
<!--@mbg.generated-->
...
@@ -222,6 +225,21 @@
...
@@ -222,6 +225,21 @@
when id = #{item.id} then #{item.settleInAdvance}
when id = #{item.id} then #{item.settleInAdvance}
</foreach>
</foreach>
</trim>
</trim>
<trim
prefix=
"invalid_time = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id} then #{item.invalidTime}
</foreach>
</trim>
<trim
prefix=
"tail_order_sn = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id} then #{item.tailOrderSn}
</foreach>
</trim>
<trim
prefix=
"deposite_tail_rate = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id} then #{item.depositeTailRate}
</foreach>
</trim>
</trim>
</trim>
where id in
where id in
<foreach
close=
")"
collection=
"list"
item=
"item"
open=
"("
separator=
", "
>
<foreach
close=
")"
collection=
"list"
item=
"item"
open=
"("
separator=
", "
>
...
@@ -235,8 +253,8 @@
...
@@ -235,8 +253,8 @@
reward_status, money, amount, cash_code, recharge_time, commission_acount, commission_rate,
reward_status, money, amount, cash_code, recharge_time, commission_acount, commission_rate,
commission, reference_id, settle_state, source_order, source_user_id, source_user_level,
commission, reference_id, settle_state, source_order, source_user_id, source_user_level,
goods_id, title, order_type, order_sn, sub_order_sn, reward_extend, created_at,
goods_id, title, order_type, order_sn, sub_order_sn, reward_extend, created_at,
updated_at, deleted_at, create_time, all_money_ori, ratio_all, settle_time, settle_in_advance
updated_at, deleted_at, create_time, all_money_ori, ratio_all, settle_time, settle_in_advance
,
)
invalid_time, tail_order_sn, deposite_tail_rate
)
values
values
<foreach
collection=
"list"
item=
"item"
separator=
","
>
<foreach
collection=
"list"
item=
"item"
separator=
","
>
(#{item.agentId}, #{item.agentLevel}, #{item.userId}, #{item.rewardType}, #{item.rewardTypeChild},
(#{item.agentId}, #{item.agentLevel}, #{item.userId}, #{item.rewardType}, #{item.rewardTypeChild},
...
@@ -246,7 +264,8 @@
...
@@ -246,7 +264,8 @@
#{item.sourceOrder}, #{item.sourceUserId}, #{item.sourceUserLevel}, #{item.goodsId},
#{item.sourceOrder}, #{item.sourceUserId}, #{item.sourceUserLevel}, #{item.goodsId},
#{item.title}, #{item.orderType}, #{item.orderSn}, #{item.subOrderSn}, #{item.rewardExtend},
#{item.title}, #{item.orderType}, #{item.orderSn}, #{item.subOrderSn}, #{item.rewardExtend},
#{item.createdAt}, #{item.updatedAt}, #{item.deletedAt}, #{item.createTime}, #{item.allMoneyOri},
#{item.createdAt}, #{item.updatedAt}, #{item.deletedAt}, #{item.createTime}, #{item.allMoneyOri},
#{item.ratioAll}, #{item.settleTime}, #{item.settleInAdvance})
#{item.ratioAll}, #{item.settleTime}, #{item.settleInAdvance}, #{item.invalidTime},
#{item.tailOrderSn}, #{item.depositeTailRate})
</foreach>
</foreach>
</insert>
</insert>
<insert
id=
"insertOrUpdate"
keyColumn=
"id"
keyProperty=
"id"
parameterType=
"com.lanren.huhu.partner.domain.AgentReward"
useGeneratedKeys=
"true"
>
<insert
id=
"insertOrUpdate"
keyColumn=
"id"
keyProperty=
"id"
parameterType=
"com.lanren.huhu.partner.domain.AgentReward"
useGeneratedKeys=
"true"
>
...
@@ -290,6 +309,9 @@
...
@@ -290,6 +309,9 @@
ratio_all,
ratio_all,
settle_time,
settle_time,
settle_in_advance,
settle_in_advance,
invalid_time,
tail_order_sn,
deposite_tail_rate,
</trim>
</trim>
values
values
<trim
prefix=
"("
suffix=
")"
suffixOverrides=
","
>
<trim
prefix=
"("
suffix=
")"
suffixOverrides=
","
>
...
@@ -330,6 +352,9 @@
...
@@ -330,6 +352,9 @@
#{ratioAll},
#{ratioAll},
#{settleTime},
#{settleTime},
#{settleInAdvance},
#{settleInAdvance},
#{invalidTime},
#{tailOrderSn},
#{depositeTailRate},
</trim>
</trim>
on duplicate key update
on duplicate key update
<trim
suffixOverrides=
","
>
<trim
suffixOverrides=
","
>
...
@@ -370,6 +395,9 @@
...
@@ -370,6 +395,9 @@
ratio_all = #{ratioAll},
ratio_all = #{ratioAll},
settle_time = #{settleTime},
settle_time = #{settleTime},
settle_in_advance = #{settleInAdvance},
settle_in_advance = #{settleInAdvance},
invalid_time = #{invalidTime},
tail_order_sn = #{tailOrderSn},
deposite_tail_rate = #{depositeTailRate},
</trim>
</trim>
</insert>
</insert>
<insert
id=
"insertOrUpdateSelective"
keyColumn=
"id"
keyProperty=
"id"
parameterType=
"com.lanren.huhu.partner.domain.AgentReward"
useGeneratedKeys=
"true"
>
<insert
id=
"insertOrUpdateSelective"
keyColumn=
"id"
keyProperty=
"id"
parameterType=
"com.lanren.huhu.partner.domain.AgentReward"
useGeneratedKeys=
"true"
>
...
@@ -481,6 +509,15 @@
...
@@ -481,6 +509,15 @@
<if
test=
"settleInAdvance != null"
>
<if
test=
"settleInAdvance != null"
>
settle_in_advance,
settle_in_advance,
</if>
</if>
<if
test=
"invalidTime != null"
>
invalid_time,
</if>
<if
test=
"tailOrderSn != null"
>
tail_order_sn,
</if>
<if
test=
"depositeTailRate != null"
>
deposite_tail_rate,
</if>
</trim>
</trim>
values
values
<trim
prefix=
"("
suffix=
")"
suffixOverrides=
","
>
<trim
prefix=
"("
suffix=
")"
suffixOverrides=
","
>
...
@@ -589,6 +626,15 @@
...
@@ -589,6 +626,15 @@
<if
test=
"settleInAdvance != null"
>
<if
test=
"settleInAdvance != null"
>
#{settleInAdvance},
#{settleInAdvance},
</if>
</if>
<if
test=
"invalidTime != null"
>
#{invalidTime},
</if>
<if
test=
"tailOrderSn != null"
>
#{tailOrderSn},
</if>
<if
test=
"depositeTailRate != null"
>
#{depositeTailRate},
</if>
</trim>
</trim>
on duplicate key update
on duplicate key update
<trim
suffixOverrides=
","
>
<trim
suffixOverrides=
","
>
...
@@ -697,6 +743,15 @@
...
@@ -697,6 +743,15 @@
<if
test=
"settleInAdvance != null"
>
<if
test=
"settleInAdvance != null"
>
settle_in_advance = #{settleInAdvance},
settle_in_advance = #{settleInAdvance},
</if>
</if>
<if
test=
"invalidTime != null"
>
invalid_time = #{invalidTime},
</if>
<if
test=
"tailOrderSn != null"
>
tail_order_sn = #{tailOrderSn},
</if>
<if
test=
"depositeTailRate != null"
>
deposite_tail_rate = #{depositeTailRate},
</if>
</trim>
</trim>
</insert>
</insert>
<select
id=
"selectAgentSettlePageByTs"
resultType=
"com.lanren.huhu.partner.model.AgentSettle"
>
<select
id=
"selectAgentSettlePageByTs"
resultType=
"com.lanren.huhu.partner.model.AgentSettle"
>
...
@@ -862,7 +917,10 @@
...
@@ -862,7 +917,10 @@
all_money_ori,
all_money_ori,
ratio_all,
ratio_all,
settle_time,
settle_time,
settle_in_advance
settle_in_advance,
invalid_time,
tail_order_sn,
deposite_tail_rate
FROM agent_reward
FROM agent_reward
WHERE settle_time BETWEEN FROM_UNIXTIME(#{beginTs}) AND FROM_UNIXTIME(#{endTs})
WHERE settle_time BETWEEN FROM_UNIXTIME(#{beginTs}) AND FROM_UNIXTIME(#{endTs})
AND reward_status = 100
AND reward_status = 100
...
@@ -906,7 +964,10 @@
...
@@ -906,7 +964,10 @@
all_money_ori,
all_money_ori,
ratio_all,
ratio_all,
settle_time,
settle_time,
settle_in_advance
settle_in_advance,
invalid_time,
tail_order_sn,
deposite_tail_rate
FROM agent_reward
FROM agent_reward
WHERE settle_time BETWEEN FROM_UNIXTIME(#{beginTs}) AND FROM_UNIXTIME(#{endTs})
WHERE settle_time BETWEEN FROM_UNIXTIME(#{beginTs}) AND FROM_UNIXTIME(#{endTs})
AND reward_status = 100
AND reward_status = 100
...
@@ -917,7 +978,7 @@
...
@@ -917,7 +978,7 @@
</select>
</select>
<update
id=
"updateRewardStatusByAgentIdAndTs"
>
<update
id=
"updateRewardStatusByAgentIdAndTs"
>
UPDATE agent_reward
UPDATE agent_reward
SET reward_status=120, settle_state=CASE WHEN settle_state
>
0 THEN 300 WHEN settle_state
<
0 THEN settle_state ELSE 0 END
SET reward_status=120, settle_state=CASE WHEN settle_state
>
0 THEN 300 WHEN settle_state
<
0 THEN settle_state ELSE 0 END
WHERE settle_time
WHERE settle_time
BETWEEN FROM_UNIXTIME(#{beginTs}) AND FROM_UNIXTIME(#{endTs})
BETWEEN FROM_UNIXTIME(#{beginTs}) AND FROM_UNIXTIME(#{endTs})
AND agent_id = #{agentId}
AND agent_id = #{agentId}
...
...
src/main/resources/mapper/PartnerRewardMapper.xml
View file @
97e19480
This diff is collapsed.
Click to expand it.
src/main/resources/static/sql.log
View file @
97e19480
...
@@ -248,3 +248,137 @@ where settle_time>='2019-09-01 00:00:00'
...
@@ -248,3 +248,137 @@ where settle_time>='2019-09-01 00:00:00'
and ratio_all like '%0.03]'
and ratio_all like '%0.03]'
and ratio_all not like ',0.03]'
and ratio_all not like ',0.03]'
and ratio_all='["1","0.04500000","0.01"0.03]';
and ratio_all='["1","0.04500000","0.01"0.03]';
结算前洗数据
ALTER TABLE `huhu_finance`.`agent_reward`
ADD COLUMN `tail_order_sn` varchar(64) NULL DEFAULT '' COMMENT '二次激活订单号' AFTER `invalid_time`;
ALTER TABLE `huhu_finance`.`agent_reward`
ADD COLUMN `deposite_tail_rate` decimal(11, 8) NULL DEFAULT 0 COMMENT '二次激活订单 定金和尾款订单 的 分成比例' AFTER `tail_order_sn`;
ALTER TABLE `huhu_finance`.`partner_reward`
ADD COLUMN `tail_order_sn` varchar(64) NULL DEFAULT '' COMMENT '二次激活订单号' AFTER `settle_in_advance`;
ALTER TABLE `huhu_finance`.`partner_reward`
ADD COLUMN `deposite_tail_rate` decimal(11, 8) NULL DEFAULT 0 COMMENT '二次激活订单 定金和尾款订单 的 分成比例' AFTER `tail_order_sn`;
ALTER TABLE `huhu_finance`.`agent_reward`
ADD INDEX `idx_ref`(`reference_id`) USING BTREE;
create table update_partner_agent_tail_order_reward(
type varchar(12),
order_type varchar(32),
order_sn varchar(64),
tail_order_sn varchar(64),
order_id varchar(32),
cnt_tail_order_sn int(11),
all_money decimal(20,6),
sum_all_money decimal(20,6),
deposite_tail_rate decimal(11,8)
);
ALTER TABLE `huhu_finance`.`update_partner_agent_tail_order_reward`
ADD PRIMARY KEY (`type`, `order_type`, `order_sn`, `tail_order_sn`, `order_id`);
INSERT INTO update_partner_agent_tail_order_reward(type,order_type,order_sn,tail_order_sn,order_id,all_money)
SELECT
DISTINCT
'partner',
a.order_type,
a.order_sn,
b.tail_order_sn_,
a.reference_id,
a.all_money_ori
FROM partner_reward a
JOIN
(SELECT
order_id,
max(REPLACE(order_sn,CONCAT(SUBSTRING_INDEX(order_sn,'_',1),'_'),'')) order_sn_,
max(type) order_type_,
max(order_sn) tail_order_sn_
FROM orders_active
WHERE order_sn like '%\_%' and settle_time between '2019-11-01 00:00:00' and '2019-11-30 23:59:59'
GROUP BY 1
) b on a.reference_id=b.order_id
WHERE a.reward_type=110 and a.settle_time between '2019-11-01 00:00:00' and '2019-11-30 23:59:59';
INSERT INTO update_partner_agent_tail_order_reward(type,order_type,order_sn,tail_order_sn,order_id,all_money)
SELECT
DISTINCT
'partner',
a.order_type,
a.order_sn,
'' tail_order_sn_,
a.reference_id,
a.all_money_ori
FROM partner_reward a
JOIN update_partner_agent_tail_order_reward b on a.reward_type=110 and a.order_type=b.order_type and a.order_sn=b.order_sn and b.type='partner'
WHERE a.reference_id<>b.order_id;
INSERT INTO update_partner_agent_tail_order_reward(type,order_type,order_sn,tail_order_sn,order_id,all_money)
SELECT
DISTINCT
'agent',
a.order_type,
a.order_sn,
b.tail_order_sn_,
a.reference_id,
a.all_money_ori
FROM agent_reward a
JOIN
(SELECT
order_id,
max(REPLACE(order_sn,CONCAT(SUBSTRING_INDEX(order_sn,'_',1),'_'),'')) order_sn_,
max(type) order_type_,
max(order_sn) tail_order_sn_
FROM orders_active
WHERE order_sn like '%\_%' and settle_time between '2019-11-01 00:00:00' and '2019-11-30 23:59:59'
GROUP BY 1
) b on a.reference_id=b.order_id
WHERE a.reward_type in (300,750) and a.settle_time between '2019-11-01 00:00:00' and '2019-11-30 23:59:59';
INSERT INTO update_partner_agent_tail_order_reward(type,order_type,order_sn,tail_order_sn,order_id,all_money)
SELECT
DISTINCT
'agent',
a.order_type,
a.order_sn,
'' tail_order_sn_,
a.reference_id,
a.all_money_ori
FROM agent_reward a
JOIN update_partner_agent_tail_order_reward b on a.reward_type in (300,750) and a.order_type=b.order_type and a.order_sn=b.order_sn and b.type='agent'
WHERE a.reference_id<>b.order_id;
UPDATE update_partner_agent_tail_order_reward a
JOIN
(SELECT
type,
order_type,
order_sn,
count(distinct tail_order_sn) cnt_tail_order_sn_,
sum(all_money) sum_all_money_
FROM update_partner_agent_tail_order_reward
GROUP BY 1,2,3
) b on a.type=b.type and a.order_type=b.order_type and a.order_sn=b.order_sn
SET a.cnt_tail_order_sn=b.cnt_tail_order_sn_,a.sum_all_money=b.sum_all_money_;
DELETE FROM update_partner_agent_tail_order_reward WHERE cnt_tail_order_sn=1;
UPDATE update_partner_agent_tail_order_reward SET deposite_tail_rate=all_money/sum_all_money;
UPDATE partner_reward a
JOIN update_partner_agent_tail_order_reward b on a.reward_type=110 and a.reference_id=b.order_id
SET a.tail_order_sn=b.tail_order_sn,a.deposite_tail_rate=b.deposite_tail_rate;
UPDATE agent_reward a
JOIN update_partner_agent_tail_order_reward b on a.reward_type in (300,750) and a.reference_id=b.order_id
SET a.tail_order_sn=b.tail_order_sn,a.deposite_tail_rate=b.deposite_tail_rate;
\ 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