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
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)