60 lines
3.3 KiB
Plaintext
60 lines
3.3 KiB
Plaintext
async def userinvitecode(ns):
|
|
""" 客户加入邀请码活动 """
|
|
db = DBPools()
|
|
async with db.sqlorContext('kboss') as sor:
|
|
code = ns.get('invitecode')
|
|
if '=' not in code:
|
|
return {'status': False, 'msg': '邀请码不正确'}
|
|
index = code.index('=') + 1
|
|
try:
|
|
invitecode = await sor.R('invitecode', {'invitecode': code[index:]})
|
|
if len(invitecode) >= 1:
|
|
orgid = await sor.R('users', {'id': ns.get('userid')})
|
|
promoted_cutomer = await sor.R('promoted_cutomer',
|
|
{'inviteid': invitecode[0]['id'], 'customer': orgid[0]['orgid']})
|
|
if len(promoted_cutomer) >= 1:
|
|
return {'status': True, 'msg': '已参过该活动'}
|
|
promote_discount = await sor.R('promote_discount', {'dle_flg':'0','promotingid': invitecode[0]['promotingid']})
|
|
saleprotocol = await sor.R('saleprotocol',
|
|
{'bid_orgid': orgid[0]['orgid']})
|
|
if len(saleprotocol) < 1:
|
|
date = await get_business_date(sor=None)
|
|
dict2 = {}
|
|
dict2['id'] = uuid()
|
|
# dict2['id'] = UUID()
|
|
useroffer_orgid = await sor.R('users', {'id': invitecode[0]['iusserid']})
|
|
dict2['offer_orgid'] = useroffer_orgid[0]['orgid']
|
|
dict2['bid_orgid'] = orgid[0]['orgid']
|
|
dict2['salemode'] = '0'
|
|
dict2['start_date'] = date
|
|
dict2['end_date'] = '9999-12-31'
|
|
await sor.C('saleprotocol', dict2)
|
|
sid = dict2['id']
|
|
else:
|
|
sid = saleprotocol[0]['id']
|
|
saleprotocolid = await sor.R('saleprotocol',
|
|
{'bid_orgid': orgid[0]['orgid']})
|
|
for i in promote_discount:
|
|
product_salemodeid = await sor.R('product_salemode', {'protocolid': saleprotocolid[0]['id'],
|
|
'productid': i['productid']})
|
|
if len(product_salemodeid) >= 1:
|
|
await sor.U('product_salemode', {'id': product_salemodeid[0]['id'], 'discount': i['discount']})
|
|
else:
|
|
dict1 = {}
|
|
dict1['id'] = uuid()
|
|
# dict1['id'] = UUID()
|
|
dict1['protocolid'] = sid
|
|
product = await sor.R('product', {'id': i['productid']})
|
|
dict1['providerid'] = product[0]['providerid']
|
|
dict1['productid'] = i['productid']
|
|
dict1['discount'] = i['discount']
|
|
await sor.C('product_salemode', dict1)
|
|
await sor.C('promoted_cutomer',
|
|
{'id': uuid(), 'inviteid': invitecode[0]['id'], 'customer': orgid[0]['orgid'],
|
|
'join_date': datetime.datetime.now()})
|
|
return {'status': True, 'msg': '参加成功'}
|
|
return {'status': False, 'msg': '验证码不正确'}
|
|
except:
|
|
return {'status': False, 'msg': '参加失败'}
|
|
ret = await userinvitecode(params_kw)
|
|
return ret |