def newOrder(stamp10, secondsDelay): msgDict_array = [] pro_id_array = md_init(setting.pro_id()) for pro_id_dict in pro_id_array: newOrders = [] # 获取一次订单信息,返回一个dictionary orderDict = sorted_orders(pro_id_dict['pro_id'], 1) # 查询失败则返回错误信息 if int(orderDict['status']) == 2: WARN("modian newOrder error", "获取订单错误", orderDict['message']) return orderDict['message'] # 20180319,防止空订单,循环查询五次 retry = 0 while not len(orderDict['data']): INFO("modian newOrder info", "疑似空订单") orderDict = sorted_orders(pro_id_dict['pro_id'], 1) retry += 1 if retry > 5: INFO("modian newOrder info", "订单5次为空,判断为无人集资") break # 查询成功,遍历data for data in orderDict['data']: pay_success_time = data['pay_success_time'] # 将字符串时间转换为unix时间戳 data['pay_success_time'] = int(time.mktime(time.strptime(pay_success_time, '%Y-%m-%d %H:%M:%S'))) # 筛选订单时间在查询时间前的设定时间段之间的订单 if data['pay_success_time'] >= stamp10 - secondsDelay and data['pay_success_time'] < stamp10: newOrders.append(data) msgDict = {} # 有新订单 if newOrders: # 获取项目信息 detail = getDetail(pro_id_dict['pro_id']) # 查询失败则返回错误信息 if int(detail['status']) == 2: WARN("modian newOrder error", "获取项目信息错误", detail['message']) return detail['message'] # 查询成功,初始化消息 msgDict['msg'] = [] msg = '' for newOrder in newOrders: msg = "ID: " + newOrder['nickname'] +\ " 的聚聚刚刚在【" + pro_id_dict['name'] + "】中支持了 ¥" +\ str(newOrder['backer_money']) + '\n' + "感谢这位聚聚对" +\ setting.idol_name() + "的支持" + '\n' msgDict['msg'].append(msg) msgDict['end'] = '【摩点】:' + pro_id_dict['url_short'] + '\n目前集资进度:¥' +\ str(detail['data'][0]['already_raised']) + '\n目标:¥' +\ str(detail['data'][0]['goal']) msgDict_array.append(msgDict) msgDict_array.append(orderDict) return msgDict_array
def diff(num): detail = getDetail(str(setting.pro_id())) msg = '' if num > 20: num = 20 order = getOrders(setting.pro_id(), 1) if int(order['status']) == 2: return order['message'] for i in range(0, num): msg += "ID: " + order['data'][i]['nickname'] +\ " 的聚聚刚刚在【" + setting.wds_name() + "】中支持了 ¥" +\ str(order['data'][i]['backer_money']) + '\n' + "感谢这位聚聚对" +\ setting.idol_name() + "的支持" + '\n' msg += '【摩点】:' + setting.wds_url() + '\n目前集资进度:¥' +\ str(detail['data'][0]['already_raised']) + '\n目标:¥' +\ str(detail['data'][0]['goal']) return msg
def newOrder(stamp10, secondsDelay): newOrders = [] # 获取一次订单信息,返回一个dictionary orderDict = getOrders(setting.pro_id(), 1) # 查询失败则返回错误信息 if int(orderDict['status']) == 2: return orderDict['message'] # 查询成功,遍历data for data in orderDict['data']: pay_time = data['pay_time'] # 将字符串时间转换为unix时间戳 data['pay_time'] = int( time.mktime(time.strptime(pay_time, '%Y-%m-%d %H:%M:%S'))) # 筛选订单时间在查询时间前的设定时间段之间的订单 if data['pay_time'] >= stamp10 - secondsDelay and data[ 'pay_time'] < stamp10: newOrders.append(data) msgDict = {} # 有新订单 if newOrders: # 获取项目信息 detail = getDetail(setting.pro_id()) # 查询失败则返回错误信息 if int(detail['status']) == 2: return detail['message'] # 查询成功,初始化消息 msgDict['msg'] = [] msg = '' for newOrder in newOrders: msg = "ID: " + newOrder['nickname'] +\ " 的聚聚刚刚在【" + setting.wds_name() + "】中支持了 ¥" +\ str(newOrder['backer_money']) + '\n' + "感谢这位聚聚对" +\ setting.idol_name() + "的支持" + '\n' msgDict['msg'].append(msg) msgDict['end'] = '【摩点】:' + setting.wds_url() + '\n目前集资进度:¥' +\ str(detail['data'][0]['already_raised']) + '\n目标:¥' +\ str(detail['data'][0]['goal']) return msgDict
def newOrder(stamp10, secondsDelay): newOrders = [] # 获取一次订单信息,返回一个dictionary orderDict = getOrders(setting.pro_id(), 1) # 查询失败则返回错误信息 if int(orderDict['status']) == 2: return orderDict['message'] # 查询成功,遍历data for data in orderDict['data']: pay_time = data['pay_time'] # 将字符串时间转换为unix时间戳 data['pay_time'] = int(time.mktime(time.strptime(pay_time, '%Y-%m-%d %H:%M:%S'))) # 筛选订单时间在查询时间前的设定时间段之间的订单 if data['pay_time'] >= stamp10 - secondsDelay and data['pay_time'] < stamp10: newOrders.append(data) msgDict = {} # 有新订单 if newOrders: # 获取项目信息 detail = getDetail(setting.pro_id()) # 查询失败则返回错误信息 if int(detail['status']) == 2: return detail['message'] # 查询成功,初始化消息 msgDict['msg'] = [] msg = '' for newOrder in newOrders: msg = "ID: " + newOrder['nickname'] +\ " 的聚聚刚刚在【" + setting.wds_name() + "】中支持了 ¥" +\ str(newOrder['backer_money']) + '\n' + "感谢这位聚聚对" +\ setting.idol_name() + "的支持" + '\n' msgDict['msg'].append(msg) msgDict['end'] = '【摩点】:' + setting.wds_url() + '\n目前集资进度:¥' +\ str(detail['data'][0]['already_raised']) + '\n目标:¥' +\ str(detail['data'][0]['goal']) return msgDict
def newOrder(stamp10, secondsDelay): msgDict_array = [] pro_id_array = md_init(setting.pro_id(0)) for pro_id_dict in pro_id_array: newOrders = [] # 获取一次订单信息,返回一个dictionary orderDict = sorted_orders(pro_id_dict['pro_id'], 1) # 查询失败则返回错误信息 if int(orderDict['status']) == 2: WARN("modian newOrder error", "获取订单错误", orderDict['message']) print(orderDict['message']) return msgDict_array # 20180319,防止空订单,循环查询五次 retry = 0 while not len(orderDict['data']): INFO("modian newOrder info", "疑似空订单") orderDict = sorted_orders(pro_id_dict['pro_id'], 1) retry += 1 if retry > 5: INFO("modian newOrder info", "订单5次为空,判断为无人集资") break # 不具备本地order.josn的写法 查询成功,遍历摩点库 # for data in orderDict['data']: # pay_success_time = data['pay_success_time'] # # 将字符串时间转换为unix时间戳 # data['pay_success_time'] = int(time.mktime(time.strptime(pay_success_time, '%Y-%m-%d %H:%M:%S'))) # # 筛选订单时间在查询时间前的设定时间段之间的订单 # if data['pay_success_time'] >= stamp10 - secondsDelay and data['pay_success_time'] < stamp10: # newOrders.append(data) # ------ 20180723具备本地order.json的写法 ------ # 获得本地库 data = setting.openjson("order/" + str(pro_id_dict['pro_id'])) # 判断本地库是都为空 if data == []: newOrders = orderDict["data"] else: # 获得摩点库 alldata = orderDict["data"] # 对摩点库进行排序 alldata = setting.sortOrder(alldata) # 与本地库对比 if alldata[0]["pay_success_time"] == data[0]["pay_success_time"]: pass else: print("发现遗漏订单" + str(pro_id_dict['pro_id'])) # 获取本地库第一个订单的时间转换为时间戳 oneTime = int( time.mktime( time.strptime(data[0]["pay_success_time"], '%Y-%m-%d %H:%M:%S'))) # 循环摩点接口所有订单 for i in range(len(alldata)): # 将摩点订单时间转换为时间戳 iTime = int( time.mktime( time.strptime(alldata[i]["pay_success_time"], '%Y-%m-%d %H:%M:%S'))) # 在摩点库中找到本地最新的那一个订单 if iTime == oneTime: for j in range(i): newOrders.append(alldata[j]) data = newOrders + data setting.writejson(data, "order/" + str(pro_id_dict['pro_id'])) # 有新订单 msgDict = [] if newOrders: # 获取项目信息 detail = getDetail(pro_id_dict['pro_id']) # 查询失败则返回错误信息 if int(detail['status']) == 2: WARN("modian newOrder error", "获取项目信息错误", detail['message']) # return detail['message'] # 查询成功,初始化消息 msg = '' for newOrder in newOrders: msg = "ID:" + newOrder['nickname'] + "\n" +\ "金额:¥ " + str(newOrder['backer_money']) + '\n' +\ "项目:" + pro_id_dict['name'] + "\n" +\ "链接:" + pro_id_dict['url_short'] + "\n" +\ "感谢"+newOrder['nickname']+"对" + setting.idol_name() + "的支持呦~" + \ tool.relay(newOrder['backer_money']) +\ card.DrawCard(newOrder["user_id"],newOrder["nickname"],newOrder["backer_money"]) if str(pro_id_dict['pro_id']) == str( setting.openjson('ini')['modian']['pk']) or ( setting.openjson('ini')['pk']['status'] and not (setting.openjson('ini')['modian']['pk'])): msg += tool.showPk("\n\npk实况:") msgDict.append(msg) msgDict_array.append(msgDict) return msgDict_array