上报接口传递的为list

This commit is contained in:
pengtao 2019-08-08 11:49:39 +08:00
parent c39ce464e2
commit 76e6f4b8b8
4 changed files with 153 additions and 113 deletions

View File

@ -334,22 +334,23 @@ http://154.8.214.202:5015/interface/promotion?name=abc&gameid=1003&locationid=1&
##### 请求参数说明 ##### 请求参数说明
| 名称 | 类型 | 必填 | 说明 | | 名称 | 类型 | 必填 | 说明 |
| ---------- | -------- | ---- | ------------------------------------------------------- | | ----------- | -------- | ---- | ------------------------------------------------------- |
| name | string | 是 | 广告名称 | | name | string | 是 | 广告名称 |
| gameid | int | 是 | 广告投放的游戏ID | | gameid | int | 是 | 广告投放的游戏ID |
| channelid | int | 是 | 渠道ID默认是6001 NEW | | channelid | int | 是 | 渠道ID默认是6001 NEW |
| locationid | int | 是 | 位置ID通过该ID到localtion表中获得areatypemode信息 | | locationid | int | 是 | 位置ID通过该ID到localtion表中获得areatypemode信息 |
| ad_title | string | 是 | 广告标题 | | ad_title | string | 是 | 广告标题 |
| ad_body | string | 是 | 广告正文 | | ad_body | string | 是 | 广告正文 |
| ad_image | string | 是 | 头像链接 | | ad_image | string | 是 | 头像链接 |
| ad_url | string | 是 | 跳转链接 | | ad_url | string | 是 | 跳转链接 |
| begin_time | datetime | 否 | 开始时间默认是1999-01-01 | | begin_time | datetime | 否 | 开始时间默认是1999-01-01 |
| end_time | datetime | 否 | 结束时间默认是3000-01-01 | | end_time | datetime | 否 | 结束时间默认是3000-01-01 |
| ad_num | int | 否 | 投放次数默认是0(次数无限) | | ad_num | int | 否 | 投放次数默认是0(次数无限) |
| ad_sort | int | 否 | 优先级默认为0 | | ad_sort | int | 否 | 优先级默认为0 |
| status | int | 否 | 默认为0未审批1=审批通过2=审批未通过3=暂停 | | status | int | 否 | 默认为0未审批1=审批通过2=审批未通过3=暂停 |
| companyid | int | 是 | 广告提交公司 | | companyid | int | 是 | 广告提交公司 |
| ad_property | json | 是 | 广告属性描述 |
##### 返回参数说明 ##### 返回参数说明
@ -381,23 +382,24 @@ http://154.8.214.202:5015/interface/promotion?name=abc&gameid=1003&locationid=1&
##### #####
| 名称 | 类型 | 必填 | 说明 | | 名称 | 类型 | 必填 | 说明 |
| ---------- | -------- | ---- | --------------------------------------------------- | | ----------- | -------- | ---- | --------------------------------------------------- |
| id | int | 是 | 广告ID | | id | int | 是 | 广告ID |
| name | string | 是 | 广告名称 | | name | string | 是 | 广告名称 |
| gameid | int | 是 | 广告投放的游戏ID | | gameid | int | 是 | 广告投放的游戏ID |
| channelid | int | 是 | 渠道ID默认是6001 NEW | | channelid | int | 是 | 渠道ID默认是6001 NEW |
| locationid | int | 是 | 位置ID | | locationid | int | 是 | 位置ID |
| ad_title | string | 是 | 广告标题 | | ad_title | string | 是 | 广告标题 |
| ad_body | string | 是 | 广告正文 | | ad_body | string | 是 | 广告正文 |
| ad_image | string | 是 | 头像链接 | | ad_image | string | 是 | 头像链接 |
| ad_url | string | 是 | 跳转链接 | | ad_url | string | 是 | 跳转链接 |
| begin_time | datetime | 是 | 开始时间默认是1999-01-01 | | begin_time | datetime | 是 | 开始时间默认是1999-01-01 |
| end_time | datetime | 是 | 结束时间默认是3000-01-01 | | end_time | datetime | 是 | 结束时间默认是3000-01-01 |
| ad_num | int | 是 | 投放次数,默认是-1(无限) | | ad_num | int | 是 | 投放次数,默认是-1(无限) |
| ad_sort | int | 是 | 优先级默认为0 | | ad_sort | int | 是 | 优先级默认为0 |
| status | int | 是 | 默认为0未审批1=审批通过2=审批未通过3=暂停 | | status | int | 是 | 默认为0未审批1=审批通过2=审批未通过3=暂停 |
| companyid | int | 是 | 广告提交公司 | | companyid | int | 是 | 广告提交公司 |
| ad_property | json | 是 | 广告属性描述 |
##### 返回参数说明 ##### 返回参数说明

View File

@ -38,6 +38,7 @@ http://promotion.kingsome.cn/webapp/index.php?c=Ops&a=getAdList&body={"gameid":"
| area | string | 是 | 区域(第一元素1=首页2=游戏中3=结算页4=关闭第二元素X轴第三元素Y轴其中X,Y取值范围0,15)如1,0,0代表首页左上 | | area | string | 是 | 区域(第一元素1=首页2=游戏中3=结算页4=关闭第二元素X轴第三元素Y轴其中X,Y取值范围0,15)如1,0,0代表首页左上 |
| type | int | 是 | 类型1=icon2=banner3=浮窗) | | type | int | 是 | 类型1=icon2=banner3=浮窗) |
| mode | int | 是 | 广告单播或轮播模式1=单播2=轮播) | | mode | int | 是 | 广告单播或轮播模式1=单播2=轮播) |
| ad_property | string | 是 | 广告属性描述 |
##### 返回示例 ##### 返回示例

View File

@ -28,69 +28,7 @@ def send_cache_data():
log.info("start update cache !") log.info("start update cache !")
now = datetime.datetime.today().strftime("%Y-%m-%d %H:%M:%S") now = datetime.datetime.today().strftime("%Y-%m-%d %H:%M:%S")
all = [] all = []
# # 添加无天数限定的记录
# get_full_data = f"""SELECT
# a.id,
# a.name,
# a.ad_num,
# a.ad_title,
# a.ad_body,
# a.ad_image,
# a.jump_param,
# a.ad_sort,
# a.companyid,
# a.gameid,
# a.channelid,
# a.jump_status,
# b.area,
# b.type,
# b.mode,
# a.locationid
# FROM
# (SELECT
# id,
# name,
# ad_num,
# ad_title,
# ad_body,
# ad_image,
# jump_param,
# ad_sort,
# companyid,
# gameid,
# channelid,
# jump_status,
# locationid
# FROM
# ad
# WHERE
# status=1
# AND in_used=1 AND (begin_time='{BEGIN}' OR end_time='{END}')) a ,
# (SELECT
# id,
# area,
# type,
# mode
# FROM
# location) b
# WHERE
# a.locationid=b.id"""
# full_data = mydb.query(get_full_data)
#
# if full_data:
# for line in full_data:
# if line:
# log.info(f"line was {line}")
# item = {}
# try:
# item['id'], item['name'], item['ad_num'], item['ad_title'], item['ad_body'], item['ad_image'], item[
# 'jump_param'], item['ad_sort'], item['companyid'], item['gameid'], item['channelid'], item[
# 'jump_status'], item['area'], item['type'], item['mode'], item['locationid'] = line
# all.append(item)
# except Exception:
# log.error("split data failed", exc_info=True)
# 添加有天数限定的记录
get_data_sql = f"""select get_data_sql = f"""select
a.id, a.id,
a.name, a.name,
@ -104,6 +42,7 @@ def send_cache_data():
a.gameid, a.gameid,
a.channelid, a.channelid,
a.jump_status, a.jump_status,
a.ad_property,
b.area, b.area,
b.type, b.type,
b.mode, b.mode,
@ -147,9 +86,7 @@ def send_cache_data():
if line: if line:
item = {} item = {}
try: try:
item['id'], item['name'], item['ad_num'], item['ad_title'], item['ad_body'], item['ad_image'], item[ item['id'], item['name'], item['ad_num'], item['ad_title'], item['ad_body'], item['ad_image'], item['jump_param'], item['ad_sort'], item['companyid'], item['gameid'], item['channelid'], item['jump_status'],item['ad_property'], item['area'], item['type'], item['mode'], item['locationid'] = line
'jump_param'], item['ad_sort'], item['companyid'], item['gameid'], item['channelid'], item[
'jump_status'], item['area'], item['type'], item['mode'], item['locationid'] = line
all.append(item) all.append(item)
except Exception: except Exception:
log.error("split data failed", exc_info=True) log.error("split data failed", exc_info=True)

View File

@ -38,6 +38,7 @@ parser.add_argument('ad_sort')
parser.add_argument('status') parser.add_argument('status')
parser.add_argument('companyid') parser.add_argument('companyid')
parser.add_argument('jump_param') parser.add_argument('jump_param')
parser.add_argument('ad_property')
class Ad(Resource): class Ad(Resource):
def __init__(self): def __init__(self):
@ -55,23 +56,120 @@ class Ad(Resource):
# now = datetime.datetime.today().strftime("%Y-%m-%d %H:%M:%S") # now = datetime.datetime.today().strftime("%Y-%m-%d %H:%M:%S")
if not id: if not id:
if companyid: if companyid:
sel_sql = f"select a.id,a.name,a.begin_time,a.end_time,a.ad_num,a.ad_title,a.ad_body,a.ad_image," \ sel_sql = f"""select
f"a.jump_param,a.ad_sort,a.status,a.companyid,a.locationid,a.gameid,a.channelid,a.jump_status," \ a.id,
f"b.area,b.type,b.mode from ad a,location b where a.locationid=b.id and a.in_used=1 and " \ a.name,
f"a.companyid={companyid};" a.begin_time,
a.end_time,
a.ad_num,
a.ad_title,
a.ad_body,
a.ad_image,
a.jump_param,
a.ad_sort,
a.status,
a.companyid,
a.locationid,
a.gameid,
a.channelid,
a.jump_status,
a.ad_property,
b.area,
b.type,
b.mode
from
ad a,
location b
where
a.locationid=b.id
and a.in_used=1
and a.companyid={companyid};"""
elif status or status == 0: elif status or status == 0:
sel_sql = f"select a.id,a.name,a.begin_time,a.end_time,a.ad_num,a.ad_title,a.ad_body,a.ad_image," \ sel_sql = f"""select
f"a.jump_param,a.ad_sort,a.status,a.companyid,a.locationid,a.gameid,a.channelid,a.jump_status," \ a.id,
f"b.area,b.type,b.mode from ad a,location b where a.locationid=b.id and a.in_used=1 and \ a.name,
a.status={status};" a.begin_time,
a.end_time,
a.ad_num,
a.ad_title,
a.ad_body,
a.ad_image,
a.jump_param,
a.ad_sort,
a.status,
a.companyid,
a.locationid,
a.gameid,
a.channelid,
a.jump_status,
a.ad_property,
b.area,
b.type,
b.mode
from
ad a,
location b
where
a.locationid=b.id
and a.in_used=1
and a.status={status};"""
else: else:
sel_sql = f"SELECT a.id,a.name,a.begin_time,a.end_time,a.ad_num,a.ad_title,a.ad_body,a.ad_image," \ sel_sql = f"""select
f"a.jump_param,a.ad_sort,a.status,a.companyid,a.locationid,a.gameid,a.channelid,a.jump_status," \ a.id,
f"b.area,b.type,b.mode FROM ad a,location b WHERE a.locationid=b.id AND a.in_used=1 ;" a.name,
a.begin_time,
a.end_time,
a.ad_num,
a.ad_title,
a.ad_body,
a.ad_image,
a.jump_param,
a.ad_sort,
a.status,
a.companyid,
a.locationid,
a.gameid,
a.channelid,
a.jump_status,
a.ad_property,
b.area,
b.type,
b.mode
from
ad a,
location b
where
a.locationid=b.id
and a.in_used=1 ;"""
else: else:
sel_sql = f"select a.id,a.name,a.begin_time,a.end_time,a.ad_num,a.ad_title,a.ad_body,a.ad_image," \ sel_sql = f"""select
f"a.jump_param,a.ad_sort,a.status,a.companyid,a.locationid,a.gameid,a.channelid,a.jump_status,b.area," \ a.id,
f"b.type,b.mode from ad a,location b where a.locationid=b.id and a.in_used=1 and a.id={id};" a.name,
a.begin_time,
a.end_time,
a.ad_num,
a.ad_title,
a.ad_body,
a.ad_image,
a.jump_param,
a.ad_sort,
a.status,
a.companyid,
a.locationid,
a.gameid,
a.channelid,
a.jump_status,
a.ad_property,
b.area,
b.type,
b.mode
from
ad a,
location b
where
a.locationid=b.id
and a.in_used=1
and a.id={id}; """
data = self.mydb.query(sel_sql) data = self.mydb.query(sel_sql)
log.info(f"sql={sel_sql},data={data}") log.info(f"sql={sel_sql},data={data}")
if data: if data:
@ -82,7 +180,7 @@ class Ad(Resource):
ad_info['id'], ad_info['name'], ad_info['begin_time'], ad_info['end_time'], ad_info['ad_num'], \ ad_info['id'], ad_info['name'], ad_info['begin_time'], ad_info['end_time'], ad_info['ad_num'], \
ad_info['ad_title'], ad_info['ad_body'], ad_info['ad_image'], ad_info['jump_param'], ad_info[ ad_info['ad_title'], ad_info['ad_body'], ad_info['ad_image'], ad_info['jump_param'], ad_info[
'ad_sort'], ad_info['status'], ad_info['companyid'], ad_info['locationid'], ad_info['gameid'], \ 'ad_sort'], ad_info['status'], ad_info['companyid'], ad_info['locationid'], ad_info['gameid'], \
ad_info['channelid'], ad_info['jump_status'], ad_info['area'], ad_info['type'], ad_info[ ad_info['channelid'], ad_info['jump_status'],ad_info['ad_property'], ad_info['area'], ad_info['type'], ad_info[
'mode'] = line 'mode'] = line
all.append(ad_info) all.append(ad_info)
return jsonify({'code': 200, 'message': all}) return jsonify({'code': 200, 'message': all})
@ -110,6 +208,7 @@ class Ad(Resource):
ad['jump_status'] = self.args['jump_status'] ad['jump_status'] = self.args['jump_status']
ad['ad_sort'] = self.args['ad_sort'] or 0 ad['ad_sort'] = self.args['ad_sort'] or 0
ad['companyid'] = self.args['companyid'] ad['companyid'] = self.args['companyid']
ad['ad_property'] = self.args['ad_property']
# 检查必需有的字段 # 检查必需有的字段
if not ( if not (
ad['name'] and ad['gameid'] and ad['locationid'] and ad['ad_image'] and ad['jump_status'] and ad['companyid']): ad['name'] and ad['gameid'] and ad['locationid'] and ad['ad_image'] and ad['jump_status'] and ad['companyid']):
@ -162,6 +261,7 @@ class Ad(Resource):
ad['status'] = self.args['status'] or 0 ad['status'] = self.args['status'] or 0
ad['companyid'] = self.args['companyid'] ad['companyid'] = self.args['companyid']
ad['jump_status'] = self.args['jump_status'] ad['jump_status'] = self.args['jump_status']
ad['ad_property'] = self.args['ad_property']
sel_sql = f"select name from ad where id={self.args['id']};" sel_sql = f"select name from ad where id={self.args['id']};"
data = self.mydb.query(sel_sql) data = self.mydb.query(sel_sql)