Esempio n. 1
0
 def __update_ibs_user_service(self,
                               user_id,
                               ibs_id,
                               update_expire=False,
                               update_credit=False):
     service = UserCurrentService.objects.filter(user=user_id).first()
     if not service:
         return False
     assert isinstance(service, UserCurrentService)
     ibs = IBSManager(username='******')
     if update_expire:
         if service.expire_date:
             self.update_expire_date_by_invoice(user_id)
             # expire_date = make_naive(service.expire_date) - datetime.today()
             # ibs.set_expire_date_by_uid(ibs_id, expire_date.days, True)
     ibs.update_service(ibs_id, service.service.ibs_name)
     if update_credit:
         if service.service.group_type == 1:
             ibs.change_credit_by_uid(5120, ibs_id, True)
     return True
Esempio n. 2
0
def send_gift_for_users(users, add_days, add_package, add_days_for_limited=False):
    # assert isinstance(users, User.objects)
    for u in users:
        # assert isinstance(u, User)
        if not u.is_active:
            continue
        if not u.fk_user_current_service_user.exists():
            continue
        user_service = u.fk_user_current_service_user.get()
        if not u.fk_ibs_user_info_user.exists():
            continue
        ibi = u.fk_ibs_user_info_user.get().ibs_uid
        if not user_service.is_active:
            continue
        ibs = IBSManager()
        gh = GiftHistory()
        gh.target_user = u
        gh.extended_days = int(add_days)
        gh.extended_package = int(add_package)
        gh.save()
        if add_days > 0:
            if user_service.service_property.initial_package > 0 and add_days_for_limited:
                ibs.set_expire_date_by_uid(ibi, add_days)
            if user_service.service_property.initial_package == 0:
                ibs.set_expire_date_by_uid(ibi, add_days)
        if add_package > 0 and user_service.service_property.initial_package > 0:
            ibs.change_credit_by_uid(add_package, ibi)
            add_package = convert_credit(add_package)
            trm = convert_credit(ibs.get_user_credit_by_user_id(ibi))
        else:
            trm = None
        kw = {'name': '', 'ta': add_package,
              'exp': convert_date(parse_date_from_str_to_julian(str(ibs.get_expire_date_by_uid(ibi)))),
              'ads': add_days,
              'trm': trm}
        send_from_template(u.pk, 17, **kw)