from lib.all import * service_name = 'vas_deal' log_dir = '/app/log' logger = Logger(service_name, log_dir=log_dir) class S: def __init__(self): self.mysql_db_vas = Mysql( "rm-bp11t1616a1kjvmx5.mysql.rds.aliyuncs.com", 3306, "vas", "root", "Wishpal2024" ) def __del__(self): self.mysql_db_vas.close() # 获取订单 def get_orders(self): 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) logger.Info("get_orders sql: {}".format(sql)) docs = self.mysql_db_vas.query(sql) 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 # 获取金币订单 def get_coin_orders(self): sql = "select * from vas_coin_order where ct<{} and order_status in (1,2,3,4)".format(int(time.time()) - 86400 * 7) logger.Info("get_coin_orders sql: {}".format(sql)) docs = self.mysql_db_vas.query(sql) 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 def proc(self): 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))) 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))) 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())))) return s = S() s.proc()