def _diff_bankcard(walis_bankcard_dict, zeus_bankcard_dict, user_dict, user_profile_dict): add_num = 0 change_num = 0 same_num = 0 not_admin_num = 0 session = DBSession() for zb_rst_id, zb in zeus_bankcard_dict.iteritems(): wb = walis_bankcard_dict.get(zb_rst_id) rst_admin = user_profile_dict.get(zb.user_id) if rst_admin is None: not_admin_num += 1 continue if wb is not None: if zb.card_id.strip() == wb.card_id.strip(): same_num += 1 continue else: change_num += 1 print('walis_bankcard({}) is not same with zeus({}):{}=>{}'. format(wb.id, zb.id, model2dict(wb), ttype2dict(zb))) _current_to_history(wb) session.add(wb) new_wb = _force_add_rst_bankcard( rst_id=zb_rst_id, username=user_dict[zb.user_id]['username'], cardholder_name=zb.cardholder_name, card_id=zb.card_id, bank_id=zb.bank_id, mobile=rst_admin.mobile, status=RstBankCard.STATUS_VALID) session.add(new_wb) else: add_num += 1 print('zeus_bankcard({}) does not exist in walis:{}'.format( zb.id, ttype2dict(zb))) new_wb = _force_add_rst_bankcard( rst_id=zb_rst_id, username=user_dict[zb.user_id]['username'], cardholder_name=zb.cardholder_name, card_id=zb.card_id, bank_id=zb.bank_id, mobile=rst_admin.mobile, status=RstBankCard.STATUS_VALID) session.add(new_wb) print( '(add_num:{add_num}, change_num:{change_num}, same_num:{same_num}, not_admin_num:{not_admin_num})' .format(add_num=add_num, change_num=change_num, same_num=same_num, not_admin_num=not_admin_num))
def gets_by_userid(user_id): page_no, page_size = get_paging_params() t_query = thirdparty_svc.eus.THongbaoQuery() t_query.user_id = user_id t_query.statuses = [STATUS_UNUSED, STATUS_USED] t_query.offset = (page_no - 1) * page_size t_query.limit = page_size with thrift_client('eus') as eus: hongbaos = eus.query_hongbao(t_query) results = [] disp_keys = [ 'sn', 'sum_condition', 'begin_date', 'end_date', 'amount', 'used_amount' ] for hongbao in hongbaos: hongbao_dict = ttype2dict(hongbao, keys=disp_keys) hongbao_dict['left_amount'] =\ hongbao_dict['amount'] - hongbao_dict['used_amount'] if hongbao_dict['left_amount'] != 0: results.append(hongbao_dict) return results
def get_restaurant_activities(ids): ids = list(set(ids)) restaurant_activities = activity_base.mget_restaurant_activities(ids) def create_name(acty): setattr(acty, 'name', get_restaurant_activity_name(acty)) return acty return [ttype2dict(create_name(activity)) for activity in restaurant_activities]
def save_generic_coupon(batch_sn, deadline, sn, remain): with thrift_client('eos') as eos: coupon = eos.save_coupon( id=None, sn=sn, batch_sn=batch_sn, remain=remain, deadline=deadline ) return ttype2dict(coupon)
def get_restaurant_activities(ids): ids = list(set(ids)) restaurant_activities = activity_base.mget_restaurant_activities(ids) def create_name(acty): setattr(acty, 'name', get_restaurant_activity_name(acty)) return acty return [ ttype2dict(create_name(activity)) for activity in restaurant_activities ]
def _diff_bankcard(walis_bankcard_dict, zeus_bankcard_dict, user_dict, user_profile_dict): add_num = 0 change_num = 0 same_num = 0 not_admin_num = 0 session = DBSession() for zb_rst_id, zb in zeus_bankcard_dict.iteritems(): wb = walis_bankcard_dict.get(zb_rst_id) rst_admin = user_profile_dict.get(zb.user_id) if rst_admin is None: not_admin_num += 1 continue if wb is not None: if zb.card_id.strip() == wb.card_id.strip(): same_num += 1 continue else: change_num += 1 print('walis_bankcard({}) is not same with zeus({}):{}=>{}' .format(wb.id, zb.id, model2dict(wb), ttype2dict(zb))) _current_to_history(wb) session.add(wb) new_wb = _force_add_rst_bankcard(rst_id=zb_rst_id, username=user_dict[zb.user_id]['username'], cardholder_name=zb.cardholder_name, card_id=zb.card_id, bank_id=zb.bank_id, mobile=rst_admin.mobile, status=RstBankCard.STATUS_VALID) session.add(new_wb) else: add_num += 1 print('zeus_bankcard({}) does not exist in walis:{}'.format(zb.id, ttype2dict(zb))) new_wb = _force_add_rst_bankcard(rst_id=zb_rst_id, username=user_dict[zb.user_id]['username'], cardholder_name=zb.cardholder_name, card_id=zb.card_id, bank_id=zb.bank_id, mobile=rst_admin.mobile, status=RstBankCard.STATUS_VALID) session.add(new_wb) print('(add_num:{add_num}, change_num:{change_num}, same_num:{same_num}, not_admin_num:{not_admin_num})' .format(add_num=add_num, change_num=change_num, same_num=same_num, not_admin_num=not_admin_num))
def gets_hongbao_exchange(args): query = get_hongbao_query(args) with thrift_client('eus') as eus: count = eus.walle_count_hongbao_exchange(query) query.offset = args.get('offset', None) query.limit = args.get('limit', None) results = eus.walle_query_hongbao_exchange(query) hongbao_exchanges = [] hongbao_exchange_keys = ['exchange','amount','sum_condition','created_at','end_date','status','hongbao_sn','phone'] for hongbao_exchange in results: hongbao_exchange_dict = ttype2dict(hongbao_exchange, keys=hongbao_exchange_keys) hongbao_exchange_dict['created_at'] = timestamp2datetime(hongbao_exchange_dict['created_at']) hongbao_exchanges.append(hongbao_exchange_dict) return hongbao_exchanges,count
def gets_hongbao_grab(args): query = get_hongbao_query(args) with thrift_client('eus') as eus: count = eus.walle_count_weixin_hongbao_record(query) query.offset = args.get('offset', None) query.limit = args.get('limit', None) results = eus.walle_query_weixin_hongbao_record(query) hongbao_grab_list = [] hongbao_grab_keys = ['id','sn','group_sn','sns_uid','sns_username','sns_avatar','phone','amount','sum_condition','status','name','source','created_at','updated_at','user_id'] for hongbao_grab in results: hongbao_grab = ttype2dict(hongbao_grab, keys=hongbao_grab_keys) hongbao_grab['created_at'] = timestamp2datetime(hongbao_grab['created_at']) hongbao_grab['updated_at'] = timestamp2datetime(hongbao_grab['updated_at']) hongbao_grab_list.append(hongbao_grab) return hongbao_grab_list,count
def gets_hongbao(args): query = get_hongbao_query(args) with thrift_client('eus') as eus: count = eus.walle_count_user_hongbao(query) query.offset = args.get('offset', None) query.limit = args.get('limit', None) results = eus.walle_query_user_hongbao(query) hongbaos = [] user_hongbao_keys = ['hongbao_sn','created_at','amount','sum_condition','begin_date','end_date','status','name','username','phone','order_id'] for result in results: hongbao_dict = ttype2dict(result, keys=user_hongbao_keys) hongbao_dict['order_id'] = str(hongbao_dict['order_id']) hongbao_dict['created_at'] = timestamp2datetime(hongbao_dict['created_at']) hongbaos.append(hongbao_dict) return hongbaos,count
def gets_hongbao_share(args): query = get_hongbao_query(args) with thrift_client('eus') as eus: count = eus.walle_count_hongbao_group(query) query.offset = args.get('offset', None) query.limit = args.get('limit', None) results = eus.walle_query_hongbao_group(query) hongbao_shares = [] hongbao_share_keys = ['order_id','phone','total_count','used_count','status','source','updated_at'] for hongbao_share in results: hongbao_share = ttype2dict(hongbao_share, keys=hongbao_share_keys) hongbao_share['order_id'] = str(hongbao_share['order_id']) hongbao_share['updated_at'] = timestamp2datetime(hongbao_share['updated_at']) hongbao_shares.append(hongbao_share) return hongbao_shares,count
def query(city_ids, activity_category_id=None, restaurant_ids=None, status=None, created_at_from=arrow.now().replace(days=-8).timestamp, offset=None, limit=None): condition = base.create_contract_query_condition( city_ids=city_ids, activity_category_id=activity_category_id, restaurant_ids=restaurant_ids, status=status, created_at_from=created_at_from, offset=offset, limit=limit ) contract_list = base.query_contract(condition) contract_list = [ttype2dict(ct) for ct in contract_list] contract_count = base.count_contract(condition) return {"count": contract_count, "contracts": contract_list}
def gets_hongbao_share(args): query = get_hongbao_query(args) with thrift_client('eus') as eus: count = eus.walle_count_hongbao_group(query) query.offset = args.get('offset', None) query.limit = args.get('limit', None) results = eus.walle_query_hongbao_group(query) hongbao_shares = [] hongbao_share_keys = [ 'order_id', 'phone', 'total_count', 'used_count', 'status', 'source', 'updated_at' ] for hongbao_share in results: hongbao_share = ttype2dict(hongbao_share, keys=hongbao_share_keys) hongbao_share['order_id'] = str(hongbao_share['order_id']) hongbao_share['updated_at'] = timestamp2datetime( hongbao_share['updated_at']) hongbao_shares.append(hongbao_share) return hongbao_shares, count
def gets_hongbao_exchange(args): query = get_hongbao_query(args) with thrift_client('eus') as eus: count = eus.walle_count_hongbao_exchange(query) query.offset = args.get('offset', None) query.limit = args.get('limit', None) results = eus.walle_query_hongbao_exchange(query) hongbao_exchanges = [] hongbao_exchange_keys = [ 'exchange', 'amount', 'sum_condition', 'created_at', 'end_date', 'status', 'hongbao_sn', 'phone' ] for hongbao_exchange in results: hongbao_exchange_dict = ttype2dict(hongbao_exchange, keys=hongbao_exchange_keys) hongbao_exchange_dict['created_at'] = timestamp2datetime( hongbao_exchange_dict['created_at']) hongbao_exchanges.append(hongbao_exchange_dict) return hongbao_exchanges, count
def gets_hongbao(args): query = get_hongbao_query(args) with thrift_client('eus') as eus: count = eus.walle_count_user_hongbao(query) query.offset = args.get('offset', None) query.limit = args.get('limit', None) results = eus.walle_query_user_hongbao(query) hongbaos = [] user_hongbao_keys = [ 'hongbao_sn', 'created_at', 'amount', 'sum_condition', 'begin_date', 'end_date', 'status', 'name', 'username', 'phone', 'order_id' ] for result in results: hongbao_dict = ttype2dict(result, keys=user_hongbao_keys) hongbao_dict['order_id'] = str(hongbao_dict['order_id']) hongbao_dict['created_at'] = timestamp2datetime( hongbao_dict['created_at']) hongbaos.append(hongbao_dict) return hongbaos, count
def query(city_ids, activity_category_id=None, restaurant_ids=None, status=None, created_at_from=arrow.now().replace(days=-8).timestamp, offset=None, limit=None): condition = base.create_contract_query_condition( city_ids=city_ids, activity_category_id=activity_category_id, restaurant_ids=restaurant_ids, status=status, created_at_from=created_at_from, offset=offset, limit=limit) contract_list = base.query_contract(condition) contract_list = [ttype2dict(ct) for ct in contract_list] contract_count = base.count_contract(condition) return {"count": contract_count, "contracts": contract_list}
def gets_hongbao_grab(args): query = get_hongbao_query(args) with thrift_client('eus') as eus: count = eus.walle_count_weixin_hongbao_record(query) query.offset = args.get('offset', None) query.limit = args.get('limit', None) results = eus.walle_query_weixin_hongbao_record(query) hongbao_grab_list = [] hongbao_grab_keys = [ 'id', 'sn', 'group_sn', 'sns_uid', 'sns_username', 'sns_avatar', 'phone', 'amount', 'sum_condition', 'status', 'name', 'source', 'created_at', 'updated_at', 'user_id' ] for hongbao_grab in results: hongbao_grab = ttype2dict(hongbao_grab, keys=hongbao_grab_keys) hongbao_grab['created_at'] = timestamp2datetime( hongbao_grab['created_at']) hongbao_grab['updated_at'] = timestamp2datetime( hongbao_grab['updated_at']) hongbao_grab_list.append(hongbao_grab) return hongbao_grab_list, count
def query(status=None, order_id=None, pay_platform=None, offset=None, limit=None): resource = refund_base.query(status, order_id, pay_platform, offset, limit) for item in resource.drawback_process_records: # create opt log (only one row at now) item.optlog = [] if item.process_user_id and item.bank_drawback_process_record: admin = user_service.get_user(item.process_user_id) item.optlog.append({ 'time': datetime.fromtimestamp(int(item.retry_at)).strftime('%Y-%m-%d %H:%M:%S'), 'admin': admin.username, 'detail': u'提交打款账号' }) # process_user_id maybe changed in the future, don't expose it to front delattr(item, 'process_user_id') # complete img url if item.bank_drawback_process_record and item.bank_drawback_process_record.image_hash: item.image_url = file_utils.get_file_url( item.bank_drawback_process_record.image_hash ) # convert order_id as string, that to prevent exceeding the maximum # integer in javascript item.order_id = str(item.order_id) return ttype2dict(resource)
def gets_by_userid(user_id): page_no, page_size = get_paging_params() t_query = thirdparty_svc.eus.THongbaoQuery() t_query.user_id = user_id t_query.statuses = [STATUS_UNUSED, STATUS_USED] t_query.offset = (page_no - 1) * page_size t_query.limit = page_size with thrift_client('eus') as eus: hongbaos = eus.query_hongbao(t_query) results = [] disp_keys = ['sn', 'sum_condition', 'begin_date', 'end_date', 'amount','used_amount'] for hongbao in hongbaos: hongbao_dict = ttype2dict(hongbao, keys=disp_keys) hongbao_dict['left_amount'] =\ hongbao_dict['amount'] - hongbao_dict['used_amount'] if hongbao_dict['left_amount'] != 0: results.append(hongbao_dict) return results
def get_food_activities(ids): ids = list(set(ids)) food_activities = activity_base.mget_food_activities(ids) return [ttype2dict(activity) for activity in food_activities]
def get(coupon_id): with thrift_client('eos') as eos: result = eos.get_coupon(int(coupon_id)) return ttype2dict(result)
def get_citys(ids): ids = list(set(ids)) citys = city_base.get_citys(ids) return [ttype2dict(city) for city in citys]
def get_restaurants(ids): ids = list(set(ids)) restaurants = inner.get_restaurants(ids) return [ttype2dict(rst) for rst in restaurants]