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
1a9bd326
Commit
1a9bd326
authored
Oct 28, 2019
by
guanchen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加逻辑处理 重复发送的revoke记录, 如果存在120的revoke 不再做处理
revoke添加settle_time字段
parent
a8770582
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
95 additions
and
10 deletions
+95
-10
AgentRevokeRecordsMapper.java
...com/lanren/huhu/partner/dao/AgentRevokeRecordsMapper.java
+5
-1
AgentReward.java
...main/java/com/lanren/huhu/partner/domain/AgentReward.java
+19
-3
RevokeAgentRewardTask.java
...m/lanren/huhu/partner/schedule/RevokeAgentRewardTask.java
+15
-2
AgentRevokeRecordsService.java
...anren/huhu/partner/service/AgentRevokeRecordsService.java
+2
-0
AgentRevokeRecordsServiceImpl.java
...u/partner/service/impl/AgentRevokeRecordsServiceImpl.java
+5
-0
AgentRewardServiceImpl.java
...ren/huhu/partner/service/impl/AgentRewardServiceImpl.java
+1
-0
AgentRevokeRecordsMapper.xml
src/main/resources/mapper/AgentRevokeRecordsMapper.xml
+6
-0
AgentRewardMapper.xml
src/main/resources/mapper/AgentRewardMapper.xml
+42
-4
No files found.
src/main/java/com/lanren/huhu/partner/dao/AgentRevokeRecordsMapper.java
View file @
1a9bd326
...
@@ -2,10 +2,11 @@ package com.lanren.huhu.partner.dao;
...
@@ -2,10 +2,11 @@ package com.lanren.huhu.partner.dao;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.lanren.huhu.partner.domain.AgentRevokeRecords
;
import
com.lanren.huhu.partner.domain.AgentRevokeRecords
;
import
java.util.List
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
@Mapper
@Mapper
public
interface
AgentRevokeRecordsMapper
extends
BaseMapper
<
AgentRevokeRecords
>
{
public
interface
AgentRevokeRecordsMapper
extends
BaseMapper
<
AgentRevokeRecords
>
{
int
updateBatch
(
List
<
AgentRevokeRecords
>
list
);
int
updateBatch
(
List
<
AgentRevokeRecords
>
list
);
...
@@ -15,4 +16,6 @@ public interface AgentRevokeRecordsMapper extends BaseMapper<AgentRevokeRecords>
...
@@ -15,4 +16,6 @@ public interface AgentRevokeRecordsMapper extends BaseMapper<AgentRevokeRecords>
int
insertOrUpdate
(
AgentRevokeRecords
record
);
int
insertOrUpdate
(
AgentRevokeRecords
record
);
int
insertOrUpdateSelective
(
AgentRevokeRecords
record
);
int
insertOrUpdateSelective
(
AgentRevokeRecords
record
);
int
getSuccessExisting
(
String
refId
,
Integer
revokeType
);
}
}
\ No newline at end of file
src/main/java/com/lanren/huhu/partner/domain/AgentReward.java
View file @
1a9bd326
...
@@ -8,7 +8,6 @@ import lombok.Data;
...
@@ -8,7 +8,6 @@ import lombok.Data;
import
java.io.Serializable
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
import
java.util.Date
;
import
java.util.Date
;
@Data
@Data
...
@@ -39,7 +38,7 @@ public class AgentReward implements Serializable {
...
@@ -39,7 +38,7 @@ public class AgentReward implements Serializable {
private
Integer
userId
;
private
Integer
userId
;
/**
/**
* 奖励类型 40 开卡奖励 50 充值奖励 30 购买VIP会员 20 购买超级VIP会员 60 分享赚 300 自购省
* 奖励类型 40 开卡奖励 50 充值奖励 30 购买VIP会员 20 购买超级VIP会员 60 分享赚 300 自购省
得的购买年-VIP; 720 城市代理商所得的购买半年-VIP; 730 城市代理商所得的购买超级VIP收益; 740 城市代理商的红包收益; 750 城市代理商的自购省收益; 760 城市代理商的分享赚收益
*/
*/
@TableField
(
value
=
"reward_type"
)
@TableField
(
value
=
"reward_type"
)
private
Integer
rewardType
;
private
Integer
rewardType
;
...
@@ -189,7 +188,7 @@ public class AgentReward implements Serializable {
...
@@ -189,7 +188,7 @@ public class AgentReward implements Serializable {
* 创建时间
* 创建时间
*/
*/
@TableField
(
value
=
"create_time"
)
@TableField
(
value
=
"create_time"
)
private
LocalDateTim
e
createTime
;
private
Dat
e
createTime
;
/**
/**
* 来源基础金额
* 来源基础金额
...
@@ -203,6 +202,18 @@ public class AgentReward implements Serializable {
...
@@ -203,6 +202,18 @@ public class AgentReward implements Serializable {
@TableField
(
value
=
"ratio_all"
)
@TableField
(
value
=
"ratio_all"
)
private
String
ratioAll
;
private
String
ratioAll
;
/**
* 结算奖励的时间: 淘宝客/京东联盟为确认收货时间, 其他类型奖励同于recharge_time
*/
@TableField
(
value
=
"settle_time"
)
private
Date
settleTime
;
/**
* 是否提前结算: 1是,0否
*/
@TableField
(
value
=
"settle_in_advance"
)
private
Integer
settleInAdvance
;
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"
;
...
@@ -268,4 +279,8 @@ public class AgentReward implements Serializable {
...
@@ -268,4 +279,8 @@ public class AgentReward implements Serializable {
public
static
final
String
COL_ALL_MONEY_ORI
=
"all_money_ori"
;
public
static
final
String
COL_ALL_MONEY_ORI
=
"all_money_ori"
;
public
static
final
String
COL_RATIO_ALL
=
"ratio_all"
;
public
static
final
String
COL_RATIO_ALL
=
"ratio_all"
;
public
static
final
String
COL_SETTLE_TIME
=
"settle_time"
;
public
static
final
String
COL_SETTLE_IN_ADVANCE
=
"settle_in_advance"
;
}
}
\ No newline at end of file
src/main/java/com/lanren/huhu/partner/schedule/RevokeAgentRewardTask.java
View file @
1a9bd326
...
@@ -15,6 +15,7 @@ import org.springframework.transaction.TransactionStatus;
...
@@ -15,6 +15,7 @@ import org.springframework.transaction.TransactionStatus;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.List
;
import
static
com
.
lanren
.
huhu
.
partner
.
constants
.
Constants
.*;
import
static
com
.
lanren
.
huhu
.
partner
.
constants
.
Constants
.*;
...
@@ -76,6 +77,16 @@ public class RevokeAgentRewardTask {
...
@@ -76,6 +77,16 @@ public class RevokeAgentRewardTask {
return
;
return
;
}
}
/**
/**
* 如果存在已成功扣除的记录
* 不再重复处理, 写190
*/
int
existingCnt
=
agentRevokeRecordsService
.
getSuccessExisting
(
revokeRecord
.
getRefId
(),
revokeRecord
.
getRevokeType
());
if
(
existingCnt
>
0
)
{
revokeRecord
.
setState
(
REVOKE_STATE_DO_NOTHING
);
agentRevokeRecordsService
.
updateById
(
revokeRecord
);
return
;
}
/**
* 开启事务
* 开启事务
*/
*/
transactionStatus
=
dataSourceTransactionManager
.
getTransaction
(
transactionDefinition
);
transactionStatus
=
dataSourceTransactionManager
.
getTransaction
(
transactionDefinition
);
...
@@ -95,9 +106,11 @@ public class RevokeAgentRewardTask {
...
@@ -95,9 +106,11 @@ public class RevokeAgentRewardTask {
*/
*/
if
(
null
!=
agentRewardList
&&
agentRewardList
.
size
()
>
0
)
{
if
(
null
!=
agentRewardList
&&
agentRewardList
.
size
()
>
0
)
{
for
(
AgentReward
agentReward
:
agentRewardList
)
{
for
(
AgentReward
agentReward
:
agentRewardList
)
{
if
(
agentReward
.
getSettleState
()
==
SETTLE_STATE_DONE
)
{
if
(
agentReward
.
getSettleState
()
==
SETTLE_STATE_DONE
&&
agentReward
.
getAmount
().
compareTo
(
BigDecimal
.
ZERO
)
>
0
)
{
agentReward
.
setAmount
(
agentReward
.
getAmount
().
negate
());
agentReward
.
setAmount
(
agentReward
.
getAmount
().
negate
());
agentReward
.
setCommission
(
agentReward
.
getCommission
().
negate
());
agentReward
.
setCommission
(
agentReward
.
getAmount
().
negate
());
agentReward
.
setSettleTime
(
new
Date
());
insertList
.
add
(
agentReward
);
insertList
.
add
(
agentReward
);
}
else
if
(
agentReward
.
getSettleState
()
==
SETTLE_STATE_ON_THE_WAY
||
agentReward
.
getSettleState
()
==
SETTLE_STATE_PRE
)
{
}
else
if
(
agentReward
.
getSettleState
()
==
SETTLE_STATE_ON_THE_WAY
||
agentReward
.
getSettleState
()
==
SETTLE_STATE_PRE
)
{
agentReward
.
setAmount
(
new
BigDecimal
(
0
));
agentReward
.
setAmount
(
new
BigDecimal
(
0
));
...
...
src/main/java/com/lanren/huhu/partner/service/AgentRevokeRecordsService.java
View file @
1a9bd326
...
@@ -23,4 +23,6 @@ public interface AgentRevokeRecordsService extends IService<AgentRevokeRecords>{
...
@@ -23,4 +23,6 @@ public interface AgentRevokeRecordsService extends IService<AgentRevokeRecords>{
int
insertOrUpdateSelective
(
AgentRevokeRecords
record
);
int
insertOrUpdateSelective
(
AgentRevokeRecords
record
);
List
<
AgentRevokeRecords
>
getAllPending
();
List
<
AgentRevokeRecords
>
getAllPending
();
int
getSuccessExisting
(
String
refId
,
Integer
revokeType
);
}
}
src/main/java/com/lanren/huhu/partner/service/impl/AgentRevokeRecordsServiceImpl.java
View file @
1a9bd326
...
@@ -43,4 +43,9 @@ public class AgentRevokeRecordsServiceImpl extends ServiceImpl<AgentRevokeRecord
...
@@ -43,4 +43,9 @@ public class AgentRevokeRecordsServiceImpl extends ServiceImpl<AgentRevokeRecord
wrapper
.
eq
(
"state"
,
REVOKE_STATE_PENDING
).
orderByAsc
(
"updated_at"
);
wrapper
.
eq
(
"state"
,
REVOKE_STATE_PENDING
).
orderByAsc
(
"updated_at"
);
return
baseMapper
.
selectList
(
wrapper
);
return
baseMapper
.
selectList
(
wrapper
);
}
}
@Override
public
int
getSuccessExisting
(
String
refId
,
Integer
revokeType
)
{
return
baseMapper
.
getSuccessExisting
(
refId
,
revokeType
);
}
}
}
src/main/java/com/lanren/huhu/partner/service/impl/AgentRewardServiceImpl.java
View file @
1a9bd326
...
@@ -92,3 +92,4 @@ public class AgentRewardServiceImpl extends ServiceImpl<AgentRewardMapper, Agent
...
@@ -92,3 +92,4 @@ public class AgentRewardServiceImpl extends ServiceImpl<AgentRewardMapper, Agent
src/main/resources/mapper/AgentRevokeRecordsMapper.xml
View file @
1a9bd326
...
@@ -254,4 +254,9 @@
...
@@ -254,4 +254,9 @@
</if>
</if>
</trim>
</trim>
</insert>
</insert>
<select
id=
"getSuccessExisting"
resultType=
"int"
>
SELECT count(*)
FROM agent_revoke_records
WHERE state=120 and ref_id=#{refId} and revoke_type=#{revokeType}
</select>
</mapper>
</mapper>
\ No newline at end of file
src/main/resources/mapper/AgentRewardMapper.xml
View file @
1a9bd326
...
@@ -36,6 +36,8 @@
...
@@ -36,6 +36,8 @@
<result
column=
"create_time"
property=
"createTime"
/>
<result
column=
"create_time"
property=
"createTime"
/>
<result
column=
"all_money_ori"
property=
"allMoneyOri"
/>
<result
column=
"all_money_ori"
property=
"allMoneyOri"
/>
<result
column=
"ratio_all"
property=
"ratioAll"
/>
<result
column=
"ratio_all"
property=
"ratioAll"
/>
<result
column=
"settle_time"
property=
"settleTime"
/>
<result
column=
"settle_in_advance"
property=
"settleInAdvance"
/>
</resultMap>
</resultMap>
<sql
id=
"Base_Column_List"
>
<sql
id=
"Base_Column_List"
>
<!--@mbg.generated-->
<!--@mbg.generated-->
...
@@ -43,7 +45,8 @@
...
@@ -43,7 +45,8 @@
reward_remark, reward_status, money, amount, cash_code, recharge_time, commission_acount,
reward_remark, reward_status, money, amount, cash_code, recharge_time, commission_acount,
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
created_at, updated_at, deleted_at, create_time, all_money_ori, ratio_all, settle_time,
settle_in_advance
</sql>
</sql>
<update
id=
"updateBatch"
parameterType=
"java.util.List"
>
<update
id=
"updateBatch"
parameterType=
"java.util.List"
>
<!--@mbg.generated-->
<!--@mbg.generated-->
...
@@ -209,6 +212,16 @@
...
@@ -209,6 +212,16 @@
when id = #{item.id} then #{item.ratioAll}
when id = #{item.id} then #{item.ratioAll}
</foreach>
</foreach>
</trim>
</trim>
<trim
prefix=
"settle_time = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id} then #{item.settleTime}
</foreach>
</trim>
<trim
prefix=
"settle_in_advance = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id} then #{item.settleInAdvance}
</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=
", "
>
...
@@ -222,7 +235,8 @@
...
@@ -222,7 +235,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)
updated_at, deleted_at, create_time, all_money_ori, ratio_all, settle_time, settle_in_advance
)
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},
...
@@ -232,7 +246,7 @@
...
@@ -232,7 +246,7 @@
#{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.ratioAll}
, #{item.settleTime}, #{item.settleInAdvance}
)
</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"
>
...
@@ -274,6 +288,8 @@
...
@@ -274,6 +288,8 @@
create_time,
create_time,
all_money_ori,
all_money_ori,
ratio_all,
ratio_all,
settle_time,
settle_in_advance,
</trim>
</trim>
values
values
<trim
prefix=
"("
suffix=
")"
suffixOverrides=
","
>
<trim
prefix=
"("
suffix=
")"
suffixOverrides=
","
>
...
@@ -312,6 +328,8 @@
...
@@ -312,6 +328,8 @@
#{createTime},
#{createTime},
#{allMoneyOri},
#{allMoneyOri},
#{ratioAll},
#{ratioAll},
#{settleTime},
#{settleInAdvance},
</trim>
</trim>
on duplicate key update
on duplicate key update
<trim
suffixOverrides=
","
>
<trim
suffixOverrides=
","
>
...
@@ -350,6 +368,8 @@
...
@@ -350,6 +368,8 @@
create_time = #{createTime},
create_time = #{createTime},
all_money_ori = #{allMoneyOri},
all_money_ori = #{allMoneyOri},
ratio_all = #{ratioAll},
ratio_all = #{ratioAll},
settle_time = #{settleTime},
settle_in_advance = #{settleInAdvance},
</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"
>
...
@@ -455,6 +475,12 @@
...
@@ -455,6 +475,12 @@
<if
test=
"ratioAll != null"
>
<if
test=
"ratioAll != null"
>
ratio_all,
ratio_all,
</if>
</if>
<if
test=
"settleTime != null"
>
settle_time,
</if>
<if
test=
"settleInAdvance != null"
>
settle_in_advance,
</if>
</trim>
</trim>
values
values
<trim
prefix=
"("
suffix=
")"
suffixOverrides=
","
>
<trim
prefix=
"("
suffix=
")"
suffixOverrides=
","
>
...
@@ -557,6 +583,12 @@
...
@@ -557,6 +583,12 @@
<if
test=
"ratioAll != null"
>
<if
test=
"ratioAll != null"
>
#{ratioAll},
#{ratioAll},
</if>
</if>
<if
test=
"settleTime != null"
>
#{settleTime},
</if>
<if
test=
"settleInAdvance != null"
>
#{settleInAdvance},
</if>
</trim>
</trim>
on duplicate key update
on duplicate key update
<trim
suffixOverrides=
","
>
<trim
suffixOverrides=
","
>
...
@@ -659,6 +691,12 @@
...
@@ -659,6 +691,12 @@
<if
test=
"ratioAll != null"
>
<if
test=
"ratioAll != null"
>
ratio_all = #{ratioAll},
ratio_all = #{ratioAll},
</if>
</if>
<if
test=
"settleTime != null"
>
settle_time = #{settleTime},
</if>
<if
test=
"settleInAdvance != null"
>
settle_in_advance = #{settleInAdvance},
</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"
>
...
@@ -871,7 +909,7 @@
...
@@ -871,7 +909,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 else settle_state end
SET reward_status=120, settle_state=case when settle_state
>
=0 then 300 else settle_state end
WHERE recharge_time
WHERE recharge_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}
...
...
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