scripts/cronjob/vas/vas_deal.py

80 lines
2.9 KiB
Python
Raw Normal View History

2024-02-04 23:43:55 +08:00
from lib.all import *
2024-02-05 00:17:35 +08:00
service_name = 'vas_deal'
2024-02-04 23:43:55 +08:00
log_dir = '/app/log'
logger = Logger(service_name, log_dir=log_dir)
class S:
def __init__(self):
2024-02-04 23:50:55 +08:00
self.mysql_db_vas = Mysql(
"rm-bp11t1616a1kjvmx5.mysql.rds.aliyuncs.com", 3306, "vas", "root", "Wishpal2024"
2024-02-04 23:43:55 +08:00
)
def __del__(self):
2024-02-04 23:50:55 +08:00
self.mysql_db_vas.close()
2024-02-04 23:43:55 +08:00
# 获取订单
def get_orders(self):
2024-05-06 11:48:29 +08:00
sql = "select * from vas_order where ct<{} and order_status=1 and product_id in ('membership', 'h5_zone_moment', 'h5_zone_admission', 'h5_zone_superfanship')".format(int(time.time()) - 86400 * 7)
2024-02-05 00:12:25 +08:00
logger.Info("get_orders sql: {}".format(sql))
2024-02-04 23:53:11 +08:00
docs = self.mysql_db_vas.query(sql)
2024-02-05 00:01:17 +08:00
return docs
# 结算一个订单
@staticmethod
def deal_one_order(order_id):
url = "https://api.tiefen.fun/api/vas/deal_one_order"
param = {
"order_id": order_id
}
res = call_service(url, param)
return res
2024-02-04 23:53:11 +08:00
2024-02-05 00:12:25 +08:00
# 获取金币订单
2024-02-04 23:53:11 +08:00
def get_coin_orders(self):
2024-02-05 00:12:25 +08:00
sql = "select * from vas_coin_order where ct<{} and order_status in (1,2,3,4)".format(int(time.time()) - 86400 * 7)
2024-02-05 00:01:17 +08:00
logger.Info("get_coin_orders sql: {}".format(sql))
2024-02-04 23:50:55 +08:00
docs = self.mysql_db_vas.query(sql)
2024-02-05 00:12:25 +08:00
return docs
# 结算一个订单
@staticmethod
def deal_one_coin_order(coin_order_id):
url = "https://api.tiefen.fun/api/vas/deal_one_coin_order"
param = {
"coin_order_id": coin_order_id
}
res = call_service(url, param)
return res
2024-02-04 23:43:55 +08:00
def proc(self):
2024-02-05 00:01:17 +08:00
logger.Info("==== start: {} ====".format(get_time_str_by_ts(int(time.time()))))
logger.Info("==== start_order: {} ====".format(get_time_str_by_ts(int(time.time()))))
orders = self.get_orders()
logger.Info("len(orders): {}".format(len(orders)))
2024-02-05 00:12:25 +08:00
if orders and len(orders) > 0:
idx = 0
for order in orders:
idx += 1
order_id = safe_get_str(order, "id")
res = self.deal_one_order(order_id)
logger.Info("{}/{} deal_one_order, {}, {}, {}".format(idx, len(orders), order_id, dict2json(res), dict2json(order)))
2024-02-05 00:01:17 +08:00
2024-02-05 00:12:25 +08:00
logger.Info("==== start_coin_order: {} ====".format(get_time_str_by_ts(int(time.time()))))
coin_orders = self.get_coin_orders()
logger.Info("len(coin_orders): {}".format(len(coin_orders)))
if coin_orders and len(coin_orders) > 0:
idx = 0
for coin_order in coin_orders:
idx += 1
order_id = safe_get_str(coin_order, "id")
res = self.deal_one_coin_order(order_id)
logger.Info("{}/{} deal_one_coin_order, {}, {}, {}".format(idx, len(orders), order_id, res, coin_order))
logger.Info("==== end: {} ====".format(get_time_str_by_ts(int(time.time()))))
2024-02-04 23:43:55 +08:00
return
2024-02-04 23:47:16 +08:00
s = S()
2024-02-05 00:02:07 +08:00
s.proc()