有赚开发资料.txt
22.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
有赚功能说明.md
定义
有赚用户:用户在有赚申请页申请成为有赚用户,几分钟后自动审核成为有赚用户,获取特有的个人渠道号
分享:有赚用户从列表页、h5分享页、商品详情页、有赚内配置的带渠道号的分享链接,分享给其他用户(分享链接中都带有渠道号)
粉丝:yoho用户点击带有个人渠道号的分享链接,同时不是其他人的粉丝,则被锁粉,即为该用户粉丝7天(部分个人渠道号有锁粉30天的功能,可在platform有赚用户后台加此权限)
佣金:有赚用户通过分享,促使被分享人(粉丝)进行的一些行为,从而产生可提现金额
功能涉及发券,券是产品或者业务维护by于水,在这个菜单里面
http://admin.portal.yohobuy.com/market/eventConfig/index#page=1
邀请用户注册有赚
邀请注册有赚历史 queryInviteList
select * from yh_unions.union_share_user_invite;
操作流程:
发邀请注册有赚的h5邀请页
被邀请人登录yoho账号填写申请有赚的信息
请求有赚申请接口
邀请新用户
邀请注册yoho成功列表queryInviteYohoList
select * from yh_unions.union_share_yoho_user;
操作流程:
发邀请注册yoho的分享
用户从小程序或者h5邀请页不跨域注册yoho(前端有注册事件上报,带渠道号)
每小时从大数据定时塞的mysql表中取新数据保存,判断是否发邀请注册yoho的奖励
邀新yoho用户发奖励 InviteYohoUserTask 定时任务 30分钟处理一次
每天从大数据插入的表yoho_service.app_yoho_cps_new_uid中取数据,检查重复后插入到union自己的库表中yh_unions.union_share_yoho_user select * from app_yoho_cps_new_uid where date_id = #{dateId,jdbcType=INTEGER}
过滤掉已插入数据 select uid from union_share_yoho_user where uid in ()
查询符合的邀新有礼活动 select * from union_share_orders_activity where status=1 and type=5 order by priority desc
给报名的邀请人发奖励
过滤掉非新用户(会员提供新用户标识)
过滤udid有过记录的用户
过滤掉表中已存在的重复数据
插入新用户数据 union_share_yoho_new_uid
处理邀新活动
判断是否符合活动条件 活动类型:1-特殊返,2-订单返利翻x倍,3-额外返,4-cps新人额外返,5-邀新返
是否活动期间
是否满足活动条件
邀新返,需要报名才可以返佣 --已删除
判断当日邀请数是否已达最大值,达到则不发奖励,且不记录
记录邀请 union_share_yoho_user
插入额外返利单 union_share_orders
记录满单返活动参与日志 union_share_orders_activity_logs
更新用户月预估收入 删除、修改或者插入 update union_share_orders_month
银行卡+身份证
提现必须绑定银行卡和身份证
上传身份证正反面
校验身份证是否唯一
佣金
佣金分为:订单佣金和活动佣金
订单佣金:新用户6%,老用户3%,zk可配置:
union.newUserRebatesRatio 新用户,值为6
union.oldUserRebatesRatio 老用户,值为3
订单状态:10-已支付 20-可结算 30-打款中 40-已打款 91-不可结算取消 92-不可结算退换货 100-因拆单作废 200-活动失败
正常订单从erp那边mq过来是10-已支付,每月固定时间发送20-可结算(时间看客诉问题)给我们更新
活动佣金:
活动类型:
1-特殊返,
2-订单返利翻x倍,
3-额外返,
4-cps新人额外返(已上线但没有投入使用过),
5-邀新返,
6-邀新下单
同类活动时间有重叠需要有优先级,只能参加一个同类活动,目前只有加倍返有配置过时间重叠的活动
参加了类型6的订单不可以参加活动2、3
类型1是补单时使用,platform后台有赚用户页操作
类型1、2、3、4、6需要有关联订单
类型5只需要关联新yoho用户
类型6,下单人和分享人关系需先获得了活动5的奖励且下单时间和奖励时间7天内
活动2、6是直接关联单个订单的,订单和活动佣金使用同一状态
订单
下单人是分享的粉丝(粉丝定义如上)
erp每天早上8点和下午4点推送前一天订单过来(可能会有更早的订单)
提现
必须:
提现必须绑定银行卡和身份证
上传身份证正反面
校验身份证是否唯一
可提现金额不小于50
无提现中请求(erp收到提现单,每个月操作一次提现打款,把打款完成的状态mq过来,提现中单子变成已打款,满足其他条件可以提现)
接口:
获取用户可提现金额、已提现金额、是否可以提现 getShareInfoByUid
获取当前可取现数额 select IFNULL(sum(amount),0) from yh_unions.union_share_orders where promote_uid = #{promoteUid,jdbcType=INTEGER} and status in (2)
获取当前已取现数额 select IFNULL(sum(settlement_amount),0) from yh_unions.union_share_settlement where promote_uid = #{uid,jdbcType=INTEGER}
查询当前是否可提现 union_share_settlement表中有处理中的记录便不能提现
是否已绑银行卡 select * from union_share_user_bank where uid = #{uid,jdbcType=INTEGER}
提现确认信息checkSettlement
校验是否可以提现
查询该用户是否为特邀用户 union_share_orders 中是否存在记录
是否绑定了有效银行卡 union_share_user_bank
校验身份证是否唯一 select count(1) from union_share_user_bank where id_card_no = #{idCardNo,jdbcType=VARCHAR} and status=1
是否有处理中的提现 union_share_settlement
查询当前是否有可提现的订单 union_share_orders 可提现金额为50元
判断是否上传了身份证 select * from union_share_user_identity_card where uid = #{uid,jdbcType=INTEGER} and status=1
计算税
提现addSettlement
校验是否可以提现 同上
生成取现单,绑定订单
生成提现编号
更新订单状态,由可结算变为打款中 update union_share_orders set status = #{newStatus,jdbcType=VARCHAR}, settlement_code = #{settlementCode,jdbcType=VARCHAR}, update_time = #{updateTime,jdbcType=INTEGER} where promote_uid = #{promoteUid,jdbcType=INTEGER} and status = #{oldStatus,jdbcType=VARCHAR}
计算提现金额 select IFNULL(sum(amount),0) from union_share_orders where promote_uid = #{promoteUid,jdbcType=INTEGER} and settlement_code = #{settlementCode,jdbcType=VARCHAR}
生成提现单 union_share_settlement 表中插入记录
查询活动额外返的返利单
查找有提现单号没有订单code的id: select id from union_share_orders where settlement_code = #{settlementCode,jdbcType=VARCHAR} and order_code is null
查找活动订单: select * from union_share_orders_activity_logs where order_id IN (ids)
发送取现mq给erp SETTLEMENT_TOPIC front.union.shareSettleAdd
发送失败的话,可以手动触发,提现mq重新发送给erp,sendSettlementMqToErp
提现记录列表querySettlementRecord
手动触发:提现mq重新发送给erp(补)sendSettlementMqToErp
达人排行榜
达人排行queryRank
后台操作向redis塞待执行的马甲随机增任务addVirtual(未使用过)
手动执行一次马甲随机增toAddVirtual(未使用过)
mq
UnionFansRelationConsumer 锁粉粉丝关系同步mq
查询表 union_share_user_fans 如果存在则更新(更新成为好友的时间),不存在则插入。
UnionSettleUpdateConsumer erp打款状态mq
更新表 union_share_settlement状态
更新关联订单 union_share_orders status为结算(关联字段为settlement_code)
发送通知消息(已打款)
UnionShareOrderConsumer erp把大数据给的有赚订单推送过来
1 根据订单号查询表 union_share_orders,如果表中不存在则执行插入逻辑,存在则执行更新逻辑
新增:
1)参数非空校验
2)状态检查(ERP传过来的状态要在枚举中且level为1或者2否则流程结束)
3)计算返利金额入表union_share_orders(其中返利金额按照配置计算,新老用户不一样)
4)新增订单商品信息 union_share_orders_product(一个订单可能对应多个product)
5)活动返现(type活动类型:1-特殊返,2-订单返利翻x倍,3-额外返,4-cps新人额外返,5-邀新返, 6-邀新下单 优先参加活动类型6)
先判断type为6的活动,检验项包括(状态是否正确;是否满足或者条件(活动是否存在查询union_share_orders_activity,邀请人(推广人)是否存在union_share_user,
邀请人表的创建时间在活动期间(该校验项只有当该活动union_share_orders_activity的new_days有值才生效),
查询表union_share_activity_uid(uid大于0才校验)(这组uid作用:0-不筛选uid 1-指定可参与活动的uid 2-剔除可参与活动的uid)限制用户是否具有参与
某种活动类似黑白名单,
活动是否新人专享,订单下单时间是否在活动期间,订单金额门槛(订单金额为2的时候校验),
拼团订单处理:0-不做处理,1-剔除拼团订单,2-拼团参与
查询union_share_orders_product和union_share_activity_skn表判断产品是否在范围内(0-不筛选skn,1-指定可参与活动的skn,2-剔除可参与活动的skn)有的产品不参加活动,
判断资格(type == 2则需要先报名union_share_orders_activity_page_pre)(type == 6则需要邀新下单,需要有邀新记录且注册和下单时间差不超过7天才可以返佣 union_share_yoho_user),
通过上面的校验活动已经可以参与了需要计算返利金额,分别计算type=2和type=6的金额,保存日志union_share_orders_activity_logs,
更新邀请下单佣金 union_share_yoho_user 字段order_amount,更新订单返利金额 union_share_orders(extraAmount字段、 amount字段)
))
6)更新下单人被拉新数据
如果是新人第一次拉新直接写入表 union_share_user_invite(此处不涉及)
老用户更新粉丝注册有赚7天内订单统计数据 union_share_orders
查询邀请信息 union_share_user_invite,如果不存在直接写入表 union_share_user_invite否则更新union_share_user_invite
7)清除缓存
更新:
1)判断是否可以进行状态变更(新状态必须必以前的大)
2)更新为新状态 union_share_orders,如果失败重试
3)判断订单状态是否是失败订单(level=2且code=20为成功订单其他为失败)
如果为失败订单且订单参与额外返或者新人额外返则订单不可参与活动,重新处理该单参与的满单返,及状态变更。具体如下:
查询日志表,通过日志表查询用户参与的活动。查询 union_share_orders_activity_item 表 比较union_share_orders_activity_item中需要的最少活动和已经参加的活动
如果已经参加的活动小于最小需要参加的活动则走降级逻辑。
降级逻辑 把活动参与日志状态作废 union_share_orders_activity_logs;把union_share_orders表状态置为废弃
尝试重新参加活动 如果activityType为3则校验是否已经参加该活动 union_share_orders;该活动是否已经作废;是否满足活动条件包括(是否在活动有效期,参 与的品牌是否可以参与活动),
额外返现需要先报名union_share_orders_activity_page,查询已经参与的订单,且过滤那些受到限制的订单得到最新订单,如果订单数满足限制条件则
如果activityType为3则更新表union_share_orders中的活动ID
如果activityType为4则union_share_user表的活动ID和关联表union_share_orders中的活动ID。
插入额外返利单 union_share_orders
插入日志表 union_share_orders_activity_logs
插入更新月统计表 union_share_orders_month
如果已经参加的活动大于最小需要参加的活动
遍历所有订单,判断是否有状态为pay(活动满单返有已支付暂不可结算的订单,活动返利还不可以结算)流程结束
有效订单状态全部>10(已支付),更新满返单状态为可结算
4)如果订单状态为可结算code=20 或者level大于2(打款中、已打款)状态订单状态为已结算(不明白这段代码什么意思)
5)判断订单状态是否是失败订单(level=2且code=20为成功订单其他为失败)且参与普通活动则
作废活动日志
活动类型6-邀新下单,需要把邀新下单活动佣金减去作废部分(把邀新下单活动该订单增加的佣金部分减去 union_share_yoho_user )
6)判断订单状态是否是失败订单(level=2且code=20为成功订单其他为失败)则
更新下单人被拉新数据 union_share_user(拉新关系表)
如果是新人第一次拉新直接写入表 union_share_user_invite(此处不涉及)
老用户更新粉丝注册有赚7天内订单统计数据 union_share_orders
查询邀请信息 union_share_user_invite,如果不存在直接写入表 union_share_user_invite否则更新union_share_user_invite
UnionUicRegisterConsumer 消费uic的用户注册消息to获取设备首次注册的用户(邀新yoho需此数据做首次注册判断)
插入表 union_uic_register
定时任务
CpsApplyPassTask cps用户申请自动通过task
CpsNewUserActivityTask cps新用户7天满单额外返活动奖励定时发放
CpsOrderExtraActivityTask cps满x单额外返活动收益定时发放
CpsOrdersSumMessageTask 每日新产生佣金提醒
CpsSettlementMessageTask 每月20号和28号会有erp推送过来的订单可结算状态,发送相关公众号消息
CpsVirtualUserTask 马甲用户隔日随机增
InviteYohoUserTask 邀新yoho用户发奖励
1、测试环境模拟分享下单获取订单佣金
1、用户测试环境下单获取订单号订单数据
2、测试环境触发erp订单绑定分享人(补大数据推送订单给erp)
http://192.168.103.48:9098/erp-order-web/ordersPromoteBalance/saveBatchByMq
post
application/json
json参数:
{
"list": [{
"unionUserName": "分享人渠道名可以随便填",
"unionId": "108588",
"promoteUid": "600033680",
"orderCode": "17411528021"
}]
}
3、找erp那边,例如@吴强手动推送一个订单到union,或者走4
4、自己模拟erp的mq,注意参数的订单号,订单时间,分享人和下单人,还有订单状态等 ??????
http://java-yoho-union.test3.ingress.dev.yohocorp.com/union/UnionShareRest/mqUnionShareOrder
post
application/json
[
{
"promoteUid": 600046600,
"activitiesId": 14,
"orderTime": 1570638497,
"orderUid": 66069788,
"lastOrderAmount": 60.00,
"specialStatus": 1,
"orderCode": 57011901534,
"isNew": "Y",
"productList": [
{
"image": "/2019/09/10/14/02d0a44cde8dbebf5584993a974f18d1ee.jpg",
"price": 25.00,
"num": 1,
"productSkn": 52196694,
"productName": "云朵工厂 小黄脸刺绣翻边针织冷帽"
}
],
"paymentType": 1,
"status": 10
}
]
处理逻辑:
订单插入或更新
union_share_orders表中不存在的话,就插入
union_share_orders表中存在的话,就更新 update union_share_orders set status = #{newStatus,jdbcType=VARCHAR}, update_time = #{updateTime,jdbcType=INTEGER} where id = #{id,jdbcType=INTEGER} and status = #{oldStatus,jdbcType=VARCHAR}
更新dates月用户月收益数据
2、测试环境模拟用户邀请注册yoho发活动佣金
配置活动:
活动1:邀新返-5,存在有效中的无需再建
活动2:邀新下单-6,
1、造大数据数据
INSERT INTO `yoho_service`.`app_yoho_cps_new_uid`
(`date_id`, `inviter_uid`, `uid`, `create_time`) VALUES
('2019081410', '500027570', '600046502', '1565751028'),
('2019081410', '500027570', '600046500', '1565751028')
造首次注册设备
date_id是大数据推送的年月日时,
inviter_uid是邀请人,uid是新注册用户,
create_time是注册时间
2、触发读取大数据的任务
http://java-yoho-union.test3.ingress.dev.yohocorp.com/union/UnionShareRest/dealInviteYohoTask?timeId=2019072210
timeId=上面的date_id,链接会触发date_id相同的数据读取
3、用新用户下单,并走erp推送订单过来
注意事项
各种活动都是配置在活动表中的,邀新2元、邀新下单和特殊返把结束时间配的很大
同类活动有优先级,活动类型:1-特殊返,2-订单返利翻x倍,3-额外返,4-cps新人额外返,5-邀新返, 6-邀新下单,其中4已上线但没有投入使用过
马甲相关的操作没有线上使用过
手动触发的操作,不要操作到线上
接口:
申请成为有赚用户
申请成为有赚 userApply
校验是否已是有赚用户 union_share_user
是否有申请中的记录
校验通过后,插入记录 union_share_user_apply
是否存在申请中的请求 checkApply union_share_user_apply
重置拒绝申请状态 resetApply(现在自动审核通过,无拒绝未读状态,基本算废弃)
拒绝用户申请-后台 refuseApply(现在几分钟自动审核通过,基本无拒绝操作,基本算废弃)
通过用户申请-后台 agreeApply(现在几分钟自动审核通过,无需手动通过,基本算废弃)
定时任务 CpsApplyPassTask cps用户申请自动通过task
批量修改union_share_user_apply表中数据为通过
绑定unionType
查询最大渠道号 select max(union_type) from mkt_marketing_url where channel_type=1
插入渠道 insert into mkt_marketing_url
插入有赚用户表 union_share_user表
新用户的话,更新邀请拉新数据 insert union_share_user_invite表
老用户的话,更新粉丝注册有赚7天内订单统计数据,union_share_user_invite表 ????
发送联盟用户申请成功公众号消息,调消息接口
发券 yhProducer.send("promotion.cpsSendCoupon", couponMesBo);
开通用户锁粉权限-后台 passSpecialFans(开通该用户30天锁粉特权,单向,去除需sql)
update union_share_user set update_time = #{updateTime,jdbcType=INTEGER},special_status=2 where id in () and special_status=1
用户登录时获取对应的渠道号、申请状态、各种banner、各种分享活动id queryUnionTypeByUid
select * from union_share_user where uid = #{uid,jdbcType=INTEGER}
查询是否存在申请中的记录 select * from union_share_user_apply where uid = #{uid,jdbcType=INTEGER}
获取用户分享统计数据 queryShareTotal
select count(id) from union_share_user_invite where inviter_uid = #{inviterUid,jdbcType=INTEGER}
有锁粉权限的话,查询粉丝数
select count(1) from union_share_user_fans where uid = #{uid,jdbcType=INTEGER} and create_time > #{time,jdbcType=INTEGER}
获取app个人中心有赚用户的banner数据queryBannerInfoByUid(新版本已弃用)
已是有赚用户
查询本月订单
非有赚用户
查询申请记录-后台queryUnionShareUserApplys
查询联盟用户列表-后台queryUnionShareUsers
预估详细列表(订单、活动、昨日、本月、上月) queryEstimateDetailList(新版本弃用)
手动触发:更新用户月预估数据updateMonthData
查询社交媒体基本参数getSocialMediaBasicParams(抖音,微信...)
手动补粉丝关系 mqFansRelation
插入 union_share_user_fans 表
手动补打款完成状态 mqUnionSettleUpdate
修改 union_share_settlement 表
更新关联订单状态 update union_share_orders set status = #{newStatus,jdbcType=VARCHAR}, update_time = #{updateTime,jdbcType=INTEGER} where settlement_code = #{settlementCode,jdbcType=VARCHAR} and status = #{oldStatus,jdbcType=VARCHAR}
发送打款公众号消息 调消息中心接口
预估详细列表(订单、活动、昨日、本月、上月) getStatisticsInfo
select sum(extra_amount) extraAmountSum,sum(order_amount) orderAmountSum,count(order_code) orderNum from union_share_orders where status in (10,20,30,40) and promote_uid =#{uid} and order_time > #{beginTime} and order_time <#{endTime}
查询大数据的点击数据 select * from app_ad_union_usershare_click where usershare_union_type = #{unionType,jdbcType=VARCHAR} and date_id >= #{startDate,jdbcType=INTEGER} and date_id <= #{endDate,jdbcType=INTEGER}
查询预估收入月统计记录-后台 queryUnionShareOrdersMonthList 月统计数据更新触发场景:后台批量导入,
查询union_share_orders_month
cps消息列表 union_share_message 表
后台添加消息addMessage
后台删除消息deleteMessage
后台更新消息updateMessage
查询消息列表queryMessageList
获取消息详情getMessageById
后台查询消息列表queryUnionShareMessageList
cps用户银行卡信息 union_share_user_bank 表
获取银行列表getBankList
绑定银行卡(ufo也调用)bindBankCard
校验
插入数据 union_share_user_bank
erp发送数据 yhProducer.send("front.union.bankcard", card);
校验银行卡信息checkBankCard
查询绑定的银行卡getBankCard
ufo查询绑定的银行卡getBankCardUfo
查询用户绑定银行卡信息-后台queryUnionShareUserBanks
作废用户绑定的银行卡-后台cancelUserBanks
修改用户绑定的银行卡支行-后台updateBankBranch
cps用户身份证信息 union_share_user_identity_card表
新增身份证照片bindIdentityCard
查询绑定的身份证getIdentityCard
批量查询绑定的身份证batchGetIdentityCard
作废身份证信息reject
用户前台获取个人推广近期订单queryRecentlyOrderLimitTen(新版本已弃用)
订单列表queryOrderList
订单明细queryOderDetail
平台端查询订单列表queryUnionShareOrders union_share_orders、union_share_user
erp每天早上8点和下午4点推送前一天订单过来(可能会有更早的订单)
每个月
手动推送erp发过来的订单mqUnionShareOrder
活动奖励明细queryActivityOrder
查询活动报名落地页信息及用户参与情况queryActivityPage
报名参加活动preJoinActivity
手动执行一次满x单额外返活动奖励发放dealExtraActivityTask
手动执行一次新人额外活动奖励发放dealNewUserActivityTask(未使用过)
手动触发邀请注册yoho活动发奖励dealInviteYohoTask
手动触发重新参加订单x倍返活动reParticipateActivity
清union内活动缓存clearActivity
特殊佣金发放(补单)-后台 specialAward
查询有赚用户 union_share_user
查询有赚活动 select * from union_share_orders_activity where id = #{id,jdbcType=INTEGER}
查询用户的有赚订单 select * from union_share_orders where status !=100 and order_code in () and promote_uid=#{uid}
是否已参加过此特批佣金活动
select * from union_share_orders where promote_uid = #{promoteUid} and activity_id = #{activityId} and order_code is null and status in (10,20,30,40)
查询用户参与活动记录 select * from union_share_orders_activity_logs where 1=1 and status=#{status,jdbcType=INTEGER} and order_uid=##{orderUid,jdbcType=INTEGER} and promote_uid=#{promoteUid,jdbcType=INTEGER} and activity_id=#{activityId,jdbcType=INTEGER} and id = #{id,jdbcType=INTEGER}
没有参与的话,插入数据,向数据库插入参与某种额外返、新cps额外返活动的数据 ????
更新订单额外返数据
3-额外返
更新关联订单 update union_share_orders set update_time = #{updateTime,jdbcType=INTEGER}, extra_activity_id = #{extraActivityId,jdbcType=INTEGER} where id in ()
4-cps新人n天额外返
update union_share_user set cps_activity_id = #{activityId,jdbcType=INTEGER}, update_time = #{updateTime,jdbcType=INTEGER} where uid = #{uid,jdbcType=INTEGER} and (cps_activity_id = 0 or cps_activity_id is NULL)
更新关联订单 update union_share_orders set update_time = #{updateTime,jdbcType=INTEGER}, cps_extra_activity_id = #{cpsExtraActivityId,jdbcType=INTEGER} where id in ()
插入额外返利单 insert into union_share_orders
记录满单返活动参与日志 insert into union_share_orders_activity_logs
更新用户月统计数据
update union_share_orders_month
需使用生效中的补单活动id(目前是,活动类型:1-特殊返)
特殊佣金状态变更(把补单变成可结算20)-后台 specialAwardChange
update union_share_orders set status = #{newStatus,jdbcType=VARCHAR}, update_time = #{updateTime,jdbcType=INTEGER} where order_code is null and status = #{oldStatus,jdbcType=VARCHAR} and extra_activity_id=0 and cps_extra_activity_id=0 and id in ()
status>90的时候,update union_share_orders_activity_logs set status = 0, update_time = #{updateTime,jdbcType=INTEGER} where order_id in ()
手动执行java
1、绑定新的有赚用户 CpsNewCreate.java
E:\union\20191021newcps.txt
2、有赚活动批量新增 ActivityCreateSqlUtils.java
E:\union\content20191017.txt
E:\union\skn20191017.txt
E:\union\uid20191017.txt
3、修改分享活动的图片banner queryUnionTypeByUid,修改zookeeper值
union.cps.ImageUrl改成http://img13.static.yhbimg.com/unionimg/2019/10/24/14/0261cd9c5156784427ae484de521046015.pic_hd.jpg
4、活动配错,需要修复加倍翻的记录
修改活动配置:例如 update yh_unions.union_share_orders_activity set is_new=1,collage=1 where id=138;
导出有问题订单
select o.order_code from union_share_orders o,union_share_orders_product p
where o.order_code=p.order_code and o.order_time>=1572537600 and p.product_skn in(select skn from union_share_activity_skn where activity_id=138) and o.promote_uid not in(select uid from union_share_activity_uid where activity_id=138)
group by o.order_code;
手动修复数据
http://union.yoho.cn/union/UnionShareRest/reParticipateActivity?ordercodes=59935843413
客诉常涉及
1、订单显示时间,佣金结算时间,佣金提现时间,佣金到账时间
订单显示时间:在线支付订单为支付后最近的8点、16点、23点,货到付款订单是确认收货付款后最近的8点、16点、23点;
佣金结算时间:每月20号上午8点会把上一个月生成的订单,统一变成可结算,例如11月2号下单,如无换货则下月20号即12月20号可结算,如果有一次换货则下月28号即12月28号8点可结算;
佣金提现时间:有“可结算”的订单可以点击提现按钮申请提现,但如果有一个提现中未打款的申请则需要等打款后才可以重新点击提现;
佣金到账时间:用户提现申请可以在erp后台查看是否打款,一般打款会推迟一个月,例如11月提现,12月打款,打款流程是业务“秦源”拉出上一个月的用户的提现申请发请款单给财务,财务收到请款单才去打款,如果用户提现了没有收到打款,请联系业务“秦源”
!!涉及未打款请联系业务“秦源”
2、佣金发放比例 以订单实付金额为基础 新客单返6% 老客3% 这个规则是暂时的,以后可能会变
3、如何分享商品 用户需要先成为有赚用户,成为有赚用户后,可通过分享商品列表、商品详情、逛、h5活动页面、有赚频道内的可分享消息等分享给用户,这些类型的分享包括yoho的app、有货精选小程序、yoho主网的wap端 需要提醒点击分享链接跳到下载app新注册的用户,下载注册成功后下单前请重新点击一下分享链接,否则可能会有漏单,漏单问题见问题4
4、为何分享下单后我的佣金还是0,分享的订单佣金怎么没有? 如果下单用户是新注册用户可能是漏单了,漏单原因的是用户点击下载app时,订单绑到了下载app的运营商,这时请客服联系我们判断是否给予补单
!!涉及第二天无佣金需调查是否大数据推送订单失败(需重新推送给erp,再通知erp推送)或者漏单(需补单)
5、怎样的订单不会给用户佣金? 以下订单无佣金: 订单包含寄售商品、瑕疵商品,订单使用礼品卡,订单实付金额等于0,下单人uid和分享人uid为同一个
2019.3.01添加申请退货,退货还未完成时20号处理逻辑:不修改状态,保持已支付状态;下月20号更新该订单实际状态(退货、可结算) 如何有未审核或审核状态的退货时,就把修改cps状态延迟到“取消”或“清点”发生时的下个20号