|  | @@ -12,7 +12,7 @@ import random
 | 
	
		
			
				|  |  |  import requests
 | 
	
		
			
				|  |  |  from utils.commonFunc import get_db_engine, is_contains_gender, is_contains_age, is_contains_region
 | 
	
		
			
				|  |  |  from utils.BaseClass import NpEncoder
 | 
	
		
			
				|  |  | -from config.url import create_campaign_url, create_group_and_creative_url, headers
 | 
	
		
			
				|  |  | +from config.url import create_campaign_url, create_group_and_creative_url, headers, update_campaign_status_url
 | 
	
		
			
				|  |  |  import logging
 | 
	
		
			
				|  |  |  from concurrent_log import ConcurrentTimedRotatingFileHandler
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -157,8 +157,6 @@ class GetTargetAndAssemblyParameters(object):
 | 
	
		
			
				|  |  |                                          'day_budget': self.advertiser_strategy['campaign_day_budget'],
 | 
	
		
			
				|  |  |                                          'day_budget_schedule': eval(self.advertiser_strategy['campaign_day_budget_schedule'])
 | 
	
		
			
				|  |  |                                          if self.advertiser_strategy['campaign_day_budget_schedule'] else None}
 | 
	
		
			
				|  |  | -        # TODO self.advertiser_strategy['campaign_status'] 如果为暂停,需要创建成功后,调用修改广告计划状态的接口
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |          request = requests.post(url=create_campaign_url,
 | 
	
		
			
				|  |  |                                  headers=headers,
 | 
	
		
			
				|  |  |                                  data=json.dumps(create_campaign_request_data, cls=NpEncoder))
 | 
	
	
		
			
				|  | @@ -183,6 +181,26 @@ class GetTargetAndAssemblyParameters(object):
 | 
	
		
			
				|  |  |              campaign_info_to_db['status'] = response_data.get('code', None)
 | 
	
		
			
				|  |  |              campaign_info_to_db['message'] = response_data.get('message', None)
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +            # self.advertiser_strategy['campaign_status'] 如果为暂停,需要创建成功后,调用修改广告计划状态的接口
 | 
	
		
			
				|  |  | +            # `campaign_status` int(11) DEFAULT '1' COMMENT '计划状态: 1:投放 2:暂停 '
 | 
	
		
			
				|  |  | +            if self.advertiser_strategy['campaign_status'] == 2:
 | 
	
		
			
				|  |  | +                update_campaign_status_request = requests.post(url=update_campaign_status_url,
 | 
	
		
			
				|  |  | +                                                               headers=headers,
 | 
	
		
			
				|  |  | +                                                               data=json.dumps({'accountId': self.account_id,
 | 
	
		
			
				|  |  | +                                                                                'putStatus': 2,
 | 
	
		
			
				|  |  | +                                                                                'userId': '113dee46c7df464da78c07a985e92cd1',
 | 
	
		
			
				|  |  | +                                                                                'campaignIds': [self.campaign_id]},
 | 
	
		
			
				|  |  | +                                                                               cls=NpEncoder))
 | 
	
		
			
				|  |  | +                update_campaign_status_response_data = json.loads(update_campaign_status_request.text)
 | 
	
		
			
				|  |  | +                if update_campaign_status_response_data.get('result') and \
 | 
	
		
			
				|  |  | +                        update_campaign_status_response_data.get('result').get('failCount') == 0:
 | 
	
		
			
				|  |  | +                    logger.info("账户 %s 下的广告计划 %s 暂停成功!" % (self.account_id, self.campaign_id))
 | 
	
		
			
				|  |  | +                else:
 | 
	
		
			
				|  |  | +                    logger.error("账户 %s 下的广告计划 %s 暂停失败,异常信息: %s!" %
 | 
	
		
			
				|  |  | +                                 (self.account_id,
 | 
	
		
			
				|  |  | +                                  self.campaign_id,
 | 
	
		
			
				|  |  | +                                  str(update_campaign_status_response_data.get('result'))))
 | 
	
		
			
				|  |  | +                    raise Exception("账户 %s 下的广告计划 %s 暂停失败!" % (self.account_id, self.campaign_id))
 | 
	
		
			
				|  |  |          else:
 | 
	
		
			
				|  |  |              campaign_info_to_db['message'] = response_data['message']
 | 
	
		
			
				|  |  |              campaign_info_to_db['status'] = response_data['code']
 | 
	
	
		
			
				|  | @@ -312,7 +330,7 @@ class GetTargetAndAssemblyParameters(object):
 | 
	
		
			
				|  |  |          creative_cnt_df = creative_cnt_df[creative_cnt_df.creative_count < 200]
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          # 1-2 计算每个素材还能创建的广告组(定向)个数: (200 - 已关联创意个数) / 15
 | 
	
		
			
				|  |  | -        creative_cnt_df['target_combine_cnt'] = np.floor((200 - creative_cnt_df['creative_count']) / 15)
 | 
	
		
			
				|  |  | +        creative_cnt_df['target_combine_cnt'] = int(np.floor((200 - creative_cnt_df['creative_count']) / 15))
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          final_target_combine = pd.DataFrame([])
 | 
	
		
			
				|  |  |          for sig in creative_cnt_df.signature.unique():
 |