有赚开发资料.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号