flask 定时任务and挡板

util新建oper_sql.py文件数据库操作

#coding:utf-8

import  pymysql

class Opre_sql:
    def __init__(self):
        self.db=pymysql.connect(host='192.168.1.30',port=3306,user="root",password="123456",db="test",charset="utf8")
        self.curcor=self.db.cursor()

    def insert_sql(self,serialNo,amount,inst_code):
        sql="insert into paygw.order_test (serialNo,amount,`status`,inst_code) VALUES ({0},{1},'process','{2}')".format(serialNo,amount,inst_code)
        self.curcor.execute(sql)
        self.db.commit()

    def sel_status(self):
        sql="select * from paygw.order_test where `status`='process'"
        self.curcor.execute(sql)
        data=self.curcor.fetchall()
        #print(data)
        return data
    def update_sattus(self,serialNo,status):
        sql="update  paygw.order_test set `status`= '{0}' where serialNo='{1}'".format(status,serialNo)
        self.curcor.execute(sql)
        self.db.commit()

    def update_notify_result(self,serialNo):
        sql="update  paygw.order_test set core_notif_result= '已通知' where serialNo='{0}'".format(serialNo)
        self.curcor.execute(sql)
        self.db.commit()

if __name__=="__main__":
    a=Opre_sql()
    a.insert_sql(1234,30,'cib')
    #a.sel_status()

asy_servers.py 挡板和定时任务内容

from flask import Flask, request
import json
import time
from util.oper_sql import Opre_sql
from flask_apscheduler import APScheduler
import requests



oper_sql=Opre_sql()
class Config(object):  # 创建配置,用类
    # 任务列表
    JOBS = [
        # {  # 第一个任务
        #     'id': 'job1',
        #     'func': '__main__:job_1',
        #     'args': (1, 2),
        #     'trigger': 'cron', # cron表示定时任务
        #     'hour': 19,
        #     'minute': 27
        # },
        {  # 第二个任务,每隔5S执行一次
            'id': 'job2',
            'func': '__main__:sany_order',  # 方法名
            #'args': (1, 2),  # 入参
            'trigger': 'interval',  # interval表示循环任务
            'seconds': 5,
        }
    ]


def sany_order():
    process_order=oper_sql.sel_status()
    if len(process_order)==0:
        print("无需处理")
    else:
        for i in range(len(process_order)):
            serialNo=process_order[i][0]
            amount=float(process_order[i][1])
            #status=process_order[i][2]
            if amount<=10.00:
                tranStatus="0"
                status='fail'
                respMsg='处理失败'
                respCode='E0001'
            else:
                tranStatus="1"
                status='success'
                respMsg='处理成功'
                respCode = 'E0000'
            print("tranStatus:",tranStatus)
            print(serialNo,type(serialNo), type(amount))
            url="http://192.168.30.33:8087/outter/payCib/deputeAsyNotify"
            data={
 "version":"1.0.2",
 "mchtId":"xiaoxian001",
 "mac": "XggLWznW3Ov02PsPenuRhEAeVkXyezg3MxzyukvR847RKJV2Vh5RBNuAR2NpiiuV646k+5SNTfcxPPJhs+3gDqrvICalfZMgNb91Hc00uLXpcIIHTPK4sD2tXc+QEIzKMuNFQvehPPHohGaAP3ekLBHKjHVMHGsyzVEQkpQrj9s=",
 "signType": "RSA",
 "serialNo":serialNo,
 "respCode":respCode,
 "respMsg":respMsg,
 "traceNo":"2001201905131440303127006",
 "stateTime":"20190513144224",
 "tranStatus":tranStatus,
 "transTime":"20190513144030",
 "acctNo":"6214622521000633165",
 "amount":amount,
 "currency":"156",
 "bankNo":"05004",
 "bizType":"3001"


}
            headers={"Content-Type":"application/json"}
            res=requests.post(url,data=json.dumps(data),headers=headers)
            print("回掉响应信息:",res.text)

            oper_sql.update_sattus(serialNo,status)#更新表状态
            print(serialNo,amount,status)

app = Flask(__name__)
app.config.from_object(Config())  # 为实例化的flask引入配置


@app.route('/depute', methods=['POST'])
def depute():
    if request.method=="POST":
        serialNo=request.json["serialNo"]
        amount=request.json["amount"]
        oper_sql.insert_sql(serialNo,amount,'cib')
        print(serialNo,amount)
        data={
    "respCode": "A0523",
    "respMsg": "订单处理中",
    "version": "1.0.2",
    "mchtId": "ORG07*************089",
    "signType": "RSA",
    "mac": "go/USPoYMpD4hiWokrsB3imKg0ZSWkV/PmO+IE4HMELFo1RlUdlt/WG58OGpfxuBTeaB3W/9Z8r6ofW+o2Y1teNBwtB02pQTiPte1AmlvjE9zvD8KcPgrhFzBy0tNnpA8k89cfLJCHri3aETzmWRaaSxasS/JkoHTQ0j7iB5QdQ=",
    "serialNo": "2****************006",
    "traceNo": "3*****************60154",
    "transTime": "20210823175339",
    "stateTime": "20210823174720",
    "tranStatus":'2',
    "acctNo": "6****************65",
    "bankNo": "05013",
    "amount": float(amount),
    "currency": "156",
    "desc": "测试用",
    "ext": ""
}
        #print(type(data))
        return json.dumps(data,ensure_ascii=False)

@app.route('/core_notif',methods=['POST','GET'])
def core_notif():
    if request.method=='POST':
        #serialNo=request.json["serialNo"]
        data={"respCode":"G0000","respMsg":"交易成功"}
        oper_sql.update_notify_result("20210910000000000008")
        return json.dumps(data,ensure_ascii=False)



if __name__ == '__main__':
    scheduler = APScheduler()
    scheduler.init_app(app)
    #scheduler.start()
    app.run(debug=True, host='127.0.0.1', port='8080')
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,907评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,987评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,298评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,586评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,633评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,488评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,275评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,176评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,619评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,819评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,932评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,655评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,265评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,871评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,994评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,095评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,884评论 2 354

推荐阅读更多精彩内容