QCloud 上传接口

This commit is contained in:
pengtao 2019-07-11 20:42:58 +08:00
parent d3440e3cd6
commit 1294f9cc4a
3 changed files with 19 additions and 11 deletions

View File

@ -39,6 +39,7 @@ http://192.168.100.20:8888/company?status=0
| id | int | 否 | 自动产生的公司ID |
| name | string | 是 | 公司名称 |
| contact | string | 是 | 联系人 |
| user | string | 是 | 登录账号 |
| tel | int | 是 | 联系电话 |
| companyid | string | 是 | 公司标识 |
| companykey | string | 是 | 用于API认证 |
@ -422,6 +423,8 @@ http://192.168.100.20:8888/ad
http://192.168.100.20:8888/ad?id=1002
http://192.168.100.20:8888/ad?companyid=0
http://192.168.100.20:8888/ad?status=0
##### 请求参数说明

View File

@ -10,7 +10,7 @@ from config import mysql_promotion_config
import pdb
log = logging.getLogger(__name__)
mydb = MysqlBase(**mysql_promotion_config)
parser = reqparse.RequestParser()
parser.add_argument('id')
parser.add_argument('name')
@ -24,6 +24,7 @@ parser.add_argument('tel')
class Company(Resource):
def __init__(self):
self.args = parser.parse_args()
self.mydb = MysqlBase(**mysql_promotion_config)
def get(self):
status = self.args['status']
@ -36,7 +37,7 @@ class Company(Resource):
sql = f"select id,name,contact,tel,appid,appkey,status from company where id={id};"
else:
sql = f"select id,name,contact,tel,appid,appkey,status from company ;"
data = mydb.query(sql)
data = self.mydb.query(sql)
log.info(f"get data from db was {data}")
if data:
@ -59,7 +60,7 @@ class Company(Resource):
id = self.args['id']
try:
del_sql = f'delete from company where id={id};'
mydb.query(del_sql)
self.mydb.query(del_sql)
except Exception:
log.error(f"remove {id} failed!", exc_info=True)
return jsonify({'code': 500})
@ -74,14 +75,14 @@ class Company(Resource):
appid = self.get_random()
# check appid not in db
check_appid = f"select appid from company where appid='{appid}'"
data = mydb.query(check_appid)
data = self.mydb.query(check_appid)
if data:
self.get_appid()
return appid
def get_companyid(self):
max_id = f"select id from company order by id desc limit 1"
data = mydb.query(max_id)
data = self.mydb.query(max_id)
log.info(f"1 {data}")
try:
max = int(data[0][0]) + 1
@ -101,7 +102,7 @@ class Company(Resource):
company['id'] = self.get_companyid()
company['appid'] = self.get_appid()
company['appkey'] = 'undefined'
mydb.insert("company", company)
self.mydb.insert("company", company)
except Exception:
log.error("set values to company mysql failed!", exc_info=True)
return jsonify({'code': 500})
@ -120,10 +121,10 @@ class Company(Resource):
company['appkey'] = self.args['appkey']
sel_sql = f"select name from company where id={self.args['id']};"
data = mydb.query(sel_sql)
data = self.mydb.query(sel_sql)
if data:
condition = f"id='{self.args['id']}'"
mydb.update("company", company, condition)
self.mydb.update("company", company, condition)
return jsonify({'code': 200})
else:
return jsonify({'code': 404, 'message': f"{self.args['id']} not found in mysql!"})

View File

@ -6,7 +6,7 @@ from qcloud_cos import CosS3Client
import sys
import logging
from flask import Flask, jsonify
from flask import Flask, jsonify, request
from flask_restful import reqparse, abort, Api, Resource
logging.basicConfig(level=logging.INFO, stream=sys.stdout)
@ -32,9 +32,13 @@ class Cos_sdk(Resource):
self.url = "https://test.kingsome.cn"
def post(self):
filename = self.args['filename']
# filename = self.args['filename']
# body = self.args['body']
import uuid
filename = request.form.get('files') or uuid.uuid1()
body = request.form.get('image-file')
print(f"body={body} ")
cos_filename = f"{self.base_dirs}/{filename}"
body = self.args['body']
url = f"{self.url}/{cos_filename}"
response = self.client.put_object(Bucket=self.bucket, Body=body, Key=cos_filename, StorageClass='STANDARD',