Пример #1
0
 def handle(self, start, end, *args, **options):
     print "__sdb trade"
     if not token:
         print "no token!!"
         return
     date_list = []
     if not start or not end:
         end_date = datetime.now()
         days = DAYS
         if end_date.hour < 12:
             days += 1
         for i in range(days):
             adate = end_date - timedelta(i)
             date_list.append(adate)
     else:
         start_date = utils.string_to_datetime(start)
         end_date = utils.string_to_datetime(end)
         date_list.append(start_date)
         n = 1
         while True:
             day_date = start_date + timedelta(n)
             if day_date >= end_date:
                 break
             date_list.append(day_date)
             n += 1
     cookies = get_cookies(token)
     for adate in date_list:
         adate_str = utils.datetime_to_string(adate, format_str="%Y-%m-%d")
         terminal_data = get_trade_data(cookies, adate_str)
         write_to_db_trade(terminal_data)
     print "ok"
Пример #2
0
 def handle(self, start, end, *args, **options):
     now = datetime.now()
     if end is None:
         end_datetime = now
     else:
         end_datetime = utils.string_to_datetime(end)
     if start is None:
         start_datetime = end_datetime - timedelta(3)
     else:
         start_datetime = utils.string_to_datetime(start)
     start_date = start_datetime.date()
     end_date = end_datetime.date()
     print "__sync sdb user rmb", start_date, end_date
     print now
     default_user = None
     # SDBTrade
     used_trans_ids = set(
         models.SDBProfit.objects.values_list("trans_id", flat=True))
     objs = models.SDBTrade.objects.filter(card_type=u"贷记卡").filter(
         return_code="00").filter(trade_type=u"刷卡支付收款").filter(
             business_type=u"非VIP交易")
     for obj in objs:
         if obj.trans_id in used_trans_ids:
             continue
         adatetime = utils.string_to_datetime(obj.trade_date[:10],
                                              format_str="%Y-%m-%d")
         adate = adatetime.date()
         if start_date <= adate <= end_date:
             process_sdb_rmb(obj, default_user)
     print "ok"
Пример #3
0
 def handle(self, start, end, *args, **options):
     now = datetime.now()
     if end is None:
         end_datetime = now
     else:
         end_datetime = utils.string_to_datetime(end)
     if start is None:
         start_datetime = end_datetime - timedelta(3)
     else:
         start_datetime = utils.string_to_datetime(start)
     start_date = start_datetime.date()
     end_date = end_datetime.date()
     print "__sync sdb child user rmb yun", start_date, end_date
     print now
     default_user = None
     # SDBTrade
     objs = models.SDBTrade.objects.filter(card_type=u"贷记卡").filter(
         return_code="00").filter(trade_type=u"云闪付支付收款").filter(
             business_type=u"非VIP交易")
     # SDBChildOneProfit
     one_ids = set(
         models.SDBChildOneProfit.objects.values_list("trans_id",
                                                      flat=True))
     two_ids = set(
         models.SDBChildTwoProfit.objects.values_list("trans_id",
                                                      flat=True))
     three_ids = set(
         models.SDBChildThreeProfit.objects.values_list("trans_id",
                                                        flat=True))
     for obj in objs:
         trade_rmb = Decimal(obj.trade_rmb)
         if trade_rmb > 1000:
             continue
         adatetime = utils.string_to_datetime(obj.trade_date[:10],
                                              format_str="%Y-%m-%d")
         adate = adatetime.date()
         if start_date <= adate <= end_date:
             if obj.trans_id not in one_ids:
                 process_sdb_one_rmb(obj, default_user)
             if obj.trans_id not in two_ids:
                 process_sdb_two_rmb(obj, default_user)
             if obj.trans_id not in three_ids:
                 process_sdb_three_rmb(obj, default_user)
     print "ok"
Пример #4
0
    def handle(self, start, end, *args, **options):
        now = datetime.now()
        if end is None:
            end_datetime = now
        else:
            end_datetime = utils.string_to_datetime(end)
        if start is None:
            start_datetime = end_datetime - timedelta(3)
        else:
            start_datetime = utils.string_to_datetime(start)
        start_date = start_datetime.date()
        end_date = end_datetime.date()
        print "__sync sdb user rmb fanxian", start_date, end_date
        print now
        default_user = None
        # SDBTrade
        fx_objs = models.SDBProfit.objects.filter(point_type='FX')
        used_trans_ids = set()
        used_termials = set()
        for fx_obj in fx_objs:
            trans_id = fx_obj.trans_id
            terminal = fx_obj.terminal
            used_trans_ids.add(trans_id)
            used_termials.add(terminal)

        objs = models.SDBTrade.objects.filter(return_code="00").filter(
            trade_type=u"试刷")
        for obj in objs:
            if obj.trans_id in used_trans_ids:
                continue
            if obj.terminal in used_termials:
                continue
            adatetime = utils.string_to_datetime(obj.trade_date[:10],
                                                 format_str="%Y-%m-%d")
            adate = adatetime.date()
            if start_date <= adate <= end_date:
                process_sdb_rmb(obj, default_user)
        print "ok"
Пример #5
0
    def handle(self, start, end, *args, **options):
        now = datetime.now()
        if end is None:
            end_datetime = now
        else:
            end_datetime = utils.string_to_datetime(end)
        if start is None:
            start_datetime = end_datetime - timedelta(3)
        else:
            start_datetime = utils.string_to_datetime(start)
        start_date = start_datetime.date()
        end_date = end_datetime.date()
        print "__sync sdb child user rmb fanxian", start_date, end_date
        print now
        default_user = None
        # SDBTrade
        objs = models.SDBTrade.objects.filter(return_code="00").filter(
            trade_type=u"试刷")
        # SDBChildOneProfit
        one_fx_objs = models.SDBChildOneProfit.objects.filter(point_type='FX')
        one_used_trans_ids = set()
        one_used_termials = set()
        for fx_obj in one_fx_objs:
            trans_id = fx_obj.trans_id
            terminal = fx_obj.terminal
            one_used_trans_ids.add(trans_id)
            one_used_termials.add(terminal)

        # SDBChildTwoProfit
        two_fx_objs = models.SDBChildTwoProfit.objects.filter(point_type='FX')
        two_used_trans_ids = set()
        two_used_termials = set()
        for fx_obj in two_fx_objs:
            trans_id = fx_obj.trans_id
            terminal = fx_obj.terminal
            two_used_trans_ids.add(trans_id)
            two_used_termials.add(terminal)

        # SDBChildThreeProfit
        three_fx_objs = models.SDBChildThreeProfit.objects.filter(
            point_type='FX')
        three_used_trans_ids = set()
        three_used_termials = set()
        for fx_obj in three_fx_objs:
            trans_id = fx_obj.trans_id
            terminal = fx_obj.terminal
            three_used_trans_ids.add(trans_id)
            three_used_termials.add(terminal)

        for obj in objs:
            adatetime = utils.string_to_datetime(obj.trade_date[:10],
                                                 format_str="%Y-%m-%d")
            adate = adatetime.date()
            if start_date <= adate <= end_date:
                if obj.trans_id not in one_used_trans_ids and obj.terminal not in one_used_termials:
                    process_sdb_one_rmb(obj, default_user)
                if obj.trans_id not in two_used_trans_ids and obj.terminal not in two_used_termials:
                    process_sdb_two_rmb(obj, default_user)
                if obj.trans_id not in three_used_trans_ids and obj.terminal not in three_used_termials:
                    process_sdb_three_rmb(obj, default_user)
        print "ok"