上报接口传递的为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 | 是 | 广告名称 |
| gameid | int | 是 | 广告投放的游戏ID |
| channelid | int | 是 | 渠道ID默认是6001 NEW |
| locationid | int | 是 | 位置ID通过该ID到localtion表中获得areatypemode信息 |
| ad_title | string | 是 | 广告标题 |
| ad_body | string | 是 | 广告正文 |
| ad_image | string | 是 | 头像链接 |
| ad_url | string | 是 | 跳转链接 |
| begin_time | datetime | 否 | 开始时间默认是1999-01-01 |
| end_time | datetime | 否 | 结束时间默认是3000-01-01 |
| ad_num | int | 否 | 投放次数默认是0(次数无限) |
| ad_sort | int | 否 | 优先级默认为0 |
| status | int | 否 | 默认为0未审批1=审批通过2=审批未通过3=暂停 |
| companyid | int | 是 | 广告提交公司 |
| 名称 | 类型 | 必填 | 说明 |
| ----------- | -------- | ---- | ------------------------------------------------------- |
| name | string | 是 | 广告名称 |
| gameid | int | 是 | 广告投放的游戏ID |
| channelid | int | 是 | 渠道ID默认是6001 NEW |
| locationid | int | 是 | 位置ID通过该ID到localtion表中获得areatypemode信息 |
| ad_title | string | 是 | 广告标题 |
| ad_body | string | 是 | 广告正文 |
| ad_image | string | 是 | 头像链接 |
| ad_url | string | 是 | 跳转链接 |
| begin_time | datetime | 否 | 开始时间默认是1999-01-01 |
| end_time | datetime | 否 | 结束时间默认是3000-01-01 |
| ad_num | int | 否 | 投放次数默认是0(次数无限) |
| ad_sort | int | 否 | 优先级默认为0 |
| status | int | 否 | 默认为0未审批1=审批通过2=审批未通过3=暂停 |
| 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 |
| name | string | 是 | 广告名称 |
| gameid | int | 是 | 广告投放的游戏ID |
| channelid | int | 是 | 渠道ID默认是6001 NEW |
| locationid | int | 是 | 位置ID |
| ad_title | string | 是 | 广告标题 |
| ad_body | string | 是 | 广告正文 |
| ad_image | string | 是 | 头像链接 |
| ad_url | string | 是 | 跳转链接 |
| begin_time | datetime | 是 | 开始时间默认是1999-01-01 |
| end_time | datetime | 是 | 结束时间默认是3000-01-01 |
| ad_num | int | 是 | 投放次数,默认是-1(无限) |
| ad_sort | int | 是 | 优先级默认为0 |
| status | int | 是 | 默认为0未审批1=审批通过2=审批未通过3=暂停 |
| companyid | int | 是 | 广告提交公司 |
| 名称 | 类型 | 必填 | 说明 |
| ----------- | -------- | ---- | --------------------------------------------------- |
| id | int | 是 | 广告ID |
| name | string | 是 | 广告名称 |
| gameid | int | 是 | 广告投放的游戏ID |
| channelid | int | 是 | 渠道ID默认是6001 NEW |
| locationid | int | 是 | 位置ID |
| ad_title | string | 是 | 广告标题 |
| ad_body | string | 是 | 广告正文 |
| ad_image | string | 是 | 头像链接 |
| ad_url | string | 是 | 跳转链接 |
| begin_time | datetime | 是 | 开始时间默认是1999-01-01 |
| end_time | datetime | 是 | 结束时间默认是3000-01-01 |
| ad_num | int | 是 | 投放次数,默认是-1(无限) |
| ad_sort | int | 是 | 优先级默认为0 |
| status | int | 是 | 默认为0未审批1=审批通过2=审批未通过3=暂停 |
| 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代表首页左上 |
| type | int | 是 | 类型1=icon2=banner3=浮窗) |
| mode | int | 是 | 广告单播或轮播模式1=单播2=轮播) |
| ad_property | string | 是 | 广告属性描述 |
##### 返回示例

View File

@ -28,69 +28,7 @@ def send_cache_data():
log.info("start update cache !")
now = datetime.datetime.today().strftime("%Y-%m-%d %H:%M:%S")
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
a.id,
a.name,
@ -104,6 +42,7 @@ def send_cache_data():
a.gameid,
a.channelid,
a.jump_status,
a.ad_property,
b.area,
b.type,
b.mode,
@ -147,9 +86,7 @@ def send_cache_data():
if 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
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
all.append(item)
except Exception:
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('companyid')
parser.add_argument('jump_param')
parser.add_argument('ad_property')
class Ad(Resource):
def __init__(self):
@ -55,23 +56,120 @@ class Ad(Resource):
# now = datetime.datetime.today().strftime("%Y-%m-%d %H:%M:%S")
if not id:
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," \
f"a.jump_param,a.ad_sort,a.status,a.companyid,a.locationid,a.gameid,a.channelid,a.jump_status," \
f"b.area,b.type,b.mode from ad a,location b where a.locationid=b.id and a.in_used=1 and " \
f"a.companyid={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,
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:
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," \
f"a.jump_param,a.ad_sort,a.status,a.companyid,a.locationid,a.gameid,a.channelid,a.jump_status," \
f"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};"
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,
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:
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," \
f"a.jump_param,a.ad_sort,a.status,a.companyid,a.locationid,a.gameid,a.channelid,a.jump_status," \
f"b.area,b.type,b.mode FROM ad a,location b WHERE a.locationid=b.id AND a.in_used=1 ;"
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,
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:
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," \
f"a.jump_param,a.ad_sort,a.status,a.companyid,a.locationid,a.gameid,a.channelid,a.jump_status,b.area," \
f"b.type,b.mode from ad a,location b where a.locationid=b.id and a.in_used=1 and a.id={id};"
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,
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)
log.info(f"sql={sel_sql},data={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['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_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
all.append(ad_info)
return jsonify({'code': 200, 'message': all})
@ -110,6 +208,7 @@ class Ad(Resource):
ad['jump_status'] = self.args['jump_status']
ad['ad_sort'] = self.args['ad_sort'] or 0
ad['companyid'] = self.args['companyid']
ad['ad_property'] = self.args['ad_property']
# 检查必需有的字段
if not (
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['companyid'] = self.args['companyid']
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']};"
data = self.mydb.query(sel_sql)