예제 #1
0
def merge(template_obj, daily_new_obj):
    issue_num = 1
    if daily_new_obj:
        issue_num = daily_new_obj['issue_num'] + 1
    else:
        daily_new_obj = dict()
    daily_new_obj.update({
        'product_id': template_obj['product_id'],
        'issue_num': issue_num,
        'title': template_obj['title'],
        'total_value': template_obj['total_value'],
        'cur_value': 0,
        'single_limit_num': template_obj['single_limit_num'],
        'limit_num': template_obj['limit_num'],
        'cost_value': template_obj['cost_value'],
        'created_time': get_datetime_str(),
        'sort_num': template_obj['sort_num'],
        'template_id': template_obj['_id'],
        'auto_result': template_obj['auto_result'],
        'auto_putaway': template_obj['auto_putaway'],
        'status': 0,
        'pv_count': 0,
        'play_count': 0,
    })
    return daily_new_obj
예제 #2
0
 def default_values(self):
     return {
         'type_num': self.__TYPE,
         'serial_days': 0,
         'reward_value': 0,
         'created_time': get_datetime_str(),
         'invalid': 0
     }
예제 #3
0
 def default_values(self):
     return {
         'type_num': self.__TYPE,
         'level_id': u'',
         'cost_limit_num': 0,
         'created_time': get_datetime_str(),
         'invalid': 0
     }
예제 #4
0
def flash_sale_info_processor(flash_sale_obj):
    _obj = flash_sale_template_info_processor(flash_sale_obj)
    date = _obj['date']
    hour = _obj['hour']
    end_hour = hour + 1 % 24
    _obj['hour_name'] = '%02d:00~%02d:00' % (hour, end_hour)
    _obj['date_name'] = get_datetime_str('%Y-%m-%d', date)
    return _obj
예제 #5
0
 def default_values(self):
     return {
         'type_num': CONFIG_TYPE_DIVIDEND,
         'pile_num': 0,
         'dividend_rate': 0,
         'created_time': get_datetime_str(),
         'invalid': 0
     }
예제 #6
0
파일: api.py 프로젝트: FreeGodCode/looting
def copyitem(_id):
    detail_obj = get_detail_obj(_id)
    del detail_obj[u'_id']
    del detail_obj[u'created_time']
    detail_obj[u'created_time'] = get_datetime_str()
    logger.info(detail_obj)
    ret = create_obj(detail_obj)
    return Resp.ok()
예제 #7
0
 def default_values(self):
     return {
         'type_num': self.__TYPE,
         'name': u'分类名称',
         'limit_num': 0,
         'daily_limit_num': 0,
         'created_time': get_datetime_str(),
         'invalid': 0
     }
예제 #8
0
 def default_values(self):
     return {
         'type_num': CONFIG_TYPE_NEW_USER,
         'status': 0,
         'reward_des': u'新用户奖励',
         'coupon_reward_value': 0.0,
         'cash_reward_value': 0.0,
         'created_time': get_datetime_str()
     }
예제 #9
0
 def default_values(self):
     return {
         'type_num': self.__TYPE,
         'name': u'',
         'path': u'',
         'priority': 0,
         'created_time': get_datetime_str(),
         'invalid': 0
     }
예제 #10
0
 def default_values(self):
     return {
         'type_num': self.__TYPE,
         'name': u'',
         'level': 0,
         'icon_url': u'',
         'invite_num': 0,
         'created_time': get_datetime_str(),
         'invalid': 0
     }
예제 #11
0
 def default_values(self):
     return {
         'type_num': self.__TYPE,
         'status': 0,
         'reward_cash': 0.0,
         'reward_coupon': 0.0,
         'created_time': get_datetime_str(),
         'rules': u'',
         'status_require_addnew':1,
         'continue_check':3,
     }
예제 #12
0
def _insert(data):
    d_v = {
        'order_num': '',
        'commodity_id': '',
        'user_id': '',
        'issue_num': '',
        'status': 0,
        'status_name': '',
        'created_time': get_datetime_str('%Y-%m-%d %H:%M:%S'),
        'today': get_datetime_str('%Y-%m-%d'),
        'channel_id': 0,
        'gained_time': '',
        'to_addr_info': {
            'name': u'',
            'mobile': u'',
            'province': u'',
            'city': u'',
            'district': u'',
            'address': u''
        }
    }
    add_dict = copy.copy(d_v)

    for key in default_values:
        if key in data:
            _values = data.get(key)
            if _values:
                # if isinstance(_values, str) or isinstance(_values, unicode):
                if isinstance(_values, str):
                    _values = _values.strip()
                if key in int_keys:
                    try:
                        _values = int(_values)
                    except:
                        return {'status': False, 'msg': u'参数错误'}
                add_dict.update({key: _values})
    try:
        planet_img.insert_one(add_dict)
    except DuplicateKeyError:
        return {'status': False, 'msg': u'已存在'}
    return {'status': True, 'user_id': str(add_dict['_id'])}
예제 #13
0
 def default_values(self):
     return {
         'type_num': self.__TYPE,
         'pile_num': 0,
         'worth_value': 0,
         'lottery_value': 0,
         'threshold_invite_num': 0,
         'restricted_worth_value': 0,
         'restricted_lottery_value': 0,
         'created_time': get_datetime_str(),
         'invalid': 0
     }
예제 #14
0
 def default_values(self):
     return {
         'thumbnail_url': u'',
         'image_list': u'',
         'name': u'',
         'description': u'',
         'worth_value': 0,
         'stock_num': 0,
         'created_time': get_datetime_str(),
         'sort_num': 0,
         'status': 0,
         'remark': u'',
         'rules': u'',
         'pv_count': 0,
         'use_count': 0,
         'disabled': 0
     }
예제 #15
0
 def default_values(self):
     return {
         'product_id': u'',
         'title': u'',
         'status': 0,
         'total_value': 0,
         'cost_value': 0,
         'limit_num': 0,
         'created_time': get_datetime_str(),
         'sort_num': 0,
         'date_list': [],
         'hour_list': [],
         'notify': [],
         'disabled': 0,
         'remark': u'',
         'rules': u''
     }
예제 #16
0
 def default_values(self):
     return {
         'product_id': u'',
         'title': u'',
         'status': 0,
         'total_value': 0,
         'single_limit_num': 0,
         'limit_num': 0,
         'cost_value': 0,
         'created_time': get_datetime_str(),
         'sort_num': 0,
         'auto_result': 0,
         'auto_putaway': 0,
         'notify': {},
         'disabled': 0,
         'remark': u'',
         'rules': u'',
     }
예제 #17
0
 def default_values(self):
     return {
         'name': u'',
         'repeatable': 0,
         'created_time': get_datetime_str()
     }
예제 #18
0
def sync_flash_sale(template_id):
    template_obj = flash_sale_template.find_one({'_id': template_id})
    if not template_obj:
        return
    if template_obj['status'] == 1:
        # 删除掉没有开始的任务
        flash_sale.remove({'template_id': template_id, 'status': 0})
        # 获取最大期号
        flash_sale_obj = flash_sale.find_one(
            {
                'template_id': template_id,
                'status': {
                    '$ne': 0
                }
            },
            sort=[('issue_num', -1)])
        if not flash_sale_obj:
            issue_num = 1
        else:
            issue_num = flash_sale_obj['issue_num'] + 1
        date_list = template_obj['date_list']
        hour_list = template_obj['hour_list']
        now_date = get_now_part('%Y-%m-%d')
        for date in date_list:
            if date < now_date:
                continue
            elif date > now_date:
                is_today = False
            else:
                is_today = True
            for hour in hour_list:
                now_hour = datetime.now().hour
                if is_today and hour <= now_hour:
                    continue
                flash_sale_data = copy.copy(template_obj)
                if flash_sale_data.has_key('_id'):
                    del flash_sale_data['_id']
                if flash_sale_data.has_key('date_list'):
                    del flash_sale_data['date_list']
                if flash_sale_data.has_key('hour_list'):
                    del flash_sale_data['hour_list']
                if flash_sale_data.has_key('notify'):
                    del flash_sale_data['notify']
                flash_sale_data.update({
                    'template_id': template_obj['_id'],
                    'issue_num': issue_num,
                    'date': date,
                    'hour': hour,
                    'status': 0,
                    'cur_value': 0,
                    'pv_count': 0,
                    'play_count': 0,
                    'created_time': get_datetime_str()
                })
                flash_sale.insert_one(flash_sale_data)
                issue_num += 1
    else:
        # 删除掉没有开始的任务
        now = datetime.now()
        now_date = get_now_part('%Y-%m-%d')
        flash_sale.remove({
            'template_id': template_id,
            'status': 0,
            'date': {
                '$gte': now_date
            },
            'hour': {
                '$gt': now.hour
            }
        })