Ejemplo n.º 1
0
 def add_one(self):
     """添加一个首页上部导航, 需要管理员的登录状态"""
     if not hasattr(request, 'user'):
         return TOKEN_ERROR  # 未登录, 或token错误
     if not is_admin():
         return AUTHORITY_ERROR  # 权限不足
     data = request.json
     tnid = str(uuid.uuid1())
     tnname = data.get('tnname')
     tsort = data.get('tsort')
     tnurl = data.get('tnurl')
     tntype = data.get('tntype')
     tnparentid = data.get('tnparentid')
     if not tnid or not tnname:
         return PARAMS_MISS
     add_model(
         'TopNav', **{
             'TNid': tnid,
             'TNname': tnname,
             'TSort': tsort,
             'TNurl': tnurl,
             'TNtype': tntype,
             'TNparentid': tnparentid
         })
     response_make_topnav = import_status('add_topnav_success', 'OK')
     response_make_topnav['data'] = {'tnid': tnid}
     return response_make_topnav
Ejemplo n.º 2
0
 def add_one(self):
     """添加一个轮播图, 需要管理员的登录状态"""
     if not hasattr(request, 'user'):
         return TOKEN_ERROR  # 未登录, 或token错误
     if not is_admin():
         return AUTHORITY_ERROR  # 权限不足
     data = request.json
     now_time = datetime.strftime(datetime.now(), format_for_db)
     bastarttime = data.get('bastarttime', now_time)  # 轮播 开始时间
     bastarttime_str_to_time = datetime.strptime(bastarttime, format_for_db)
     # 7天以后
     seven_days_later = datetime.strftime(bastarttime_str_to_time + timedelta(days=7), format_for_db)
     baentime = data.get('baendtime', seven_days_later)  # 轮播结束时间, 默认7天以后
     baid = str(uuid.uuid1())
     baimage = data.get('baimage')
     basort = data.get('basort')
     acid = data.get('acid')
     if not baimage or not acid:
         return PARAMS_MISS
     # if not self.sactivity.get_activity_by_acid(acid):
     #     return SYSTEM_ERROR
     add_model('Banner', **{
         'BAid': baid,
         'BAimage': baimage,
         'ACid': acid,
         'BAstarttime': bastarttime,
         'BAendtime': baentime,
         'BAsort': basort
     })
     response_make_banner = import_status('add_banner_success', 'OK')
     response_make_banner['data'] = {'baid': baid}
     return response_make_banner
Ejemplo n.º 3
0
 def add_one(self):
     """添加一个轮播图, 需要管理员的登录状态"""
     if not hasattr(request, 'user'):
         return TOKEN_ERROR  # 未登录, 或token错误
     if not is_admin():
         return AUTHORITY_ERROR  # 权限不足
     data = request.json
     now_time = datetime.strftime(datetime.now(), format_for_db)
     rbstarttime = data.get('rbstarttime', now_time)  # 轮播 开始时间
     rbstarttime_str_to_time = datetime.strptime(rbstarttime, format_for_db)
     one_days_later = datetime.strftime(
         rbstarttime_str_to_time + timedelta(days=1), format_for_db)
     rbentime = data.get('rbendtime', one_days_later)  # 轮播结束时间, 默认1天以后
     rbid = str(uuid.uuid1())
     rbimage = data.get('rbimage')
     rbsort = data.get('rbsort')
     prid = data.get('prid')
     if not rbimage or not prid:
         return PARAMS_MISS
     if not self.sproduct.get_product_by_prid(prid):
         return SYSTEM_ERROR("缺少对应的商品id")
     add_model(
         'RecommendBanner', **{
             'RBid': rbid,
             'RBimage': rbimage,
             'RRid': prid,
             'RBstarttime': rbstarttime,
             'RBendtime': rbentime,
             'RBsort': rbsort
         })
     response_make_banner = import_status('add_recommendbanner_success',
                                          'OK')
     response_make_banner['data'] = {'rbid': rbid}
     return response_make_banner
Ejemplo n.º 4
0
    def update_recommend_by_reid(self):
        if not is_admin():
            raise AUTHORITY_ERROR(u'当前非管理员权限')  # 权限不足
        args = request.args.to_dict()
        logger.debug("update args is %s", args)
        data = request.json
        parameter_required(u'reid')
        logger.debug("update data is %s", data)
        reid = args.get('reid')
        recommend = {
            'REstarttime': get_db_time_str(data.get('restarttime')),
            'REendtime': get_db_time_str(data.get('reendtime')),
            'REfakeviewnum': data.get('reviewnum'),
            'RElikefakenum': data.get('relikenum'),
            'SUid': data.get('suid')
            # 'REisdelete': data.get('reisdelete')
        }
        recommend = {k: v for k, v in recommend.items() if v is not None}
        res = self.srecommend.update_recommend_by_reid(reid, recommend)
        if not res:
            raise SYSTEM_ERROR(u"信息修改错误")
        prid_list = data.get('prid_list')
        if prid_list:
            for item in prid_list:
                prid = item.get('prid')
                prisdelete = item.get('prisdelete')
                rpsort = item.get('rpsort')
                refilter = {'REid': reid, 'PRid': prid}
                already_exist_product = self.srecommend.get_exist_reproduct_by_filter(
                    refilter)
                if not already_exist_product:
                    add_model(
                        'RecommendProduct', **{
                            'REid': reid,
                            'PRid': prid,
                            'RPid': str(uuid.uuid4()),
                            'RPsort': rpsort
                        })
                else:
                    if prisdelete is True:
                        self.srecommend.del_reproduct_by_filter(refilter)
                    elif rpsort:
                        repr_changed = self.srecommend.get_exist_reproduct_by_filter(
                            {'RPsort': rpsort})
                        if repr_changed:
                            self.srecommend.update_exist_reproduct_by_filter(
                                {'RPid': repr_changed.RPid},
                                {'RPsort': already_exist_product.RPsort})
                    self.srecommend.update_exist_reproduct_by_filter(
                        refilter, {
                            'REid': reid,
                            'PRid': prid,
                            'RPsort': rpsort
                        })

        response_update_recommend = import_status('update_recommend_success',
                                                  'OK')
        response_update_recommend['data'] = {'reid': reid}
        return response_update_recommend
Ejemplo n.º 5
0
 def add_one(self):
     """添加推荐"""
     # 此处无需添加图片, 关联商品id即可
     if not is_admin():
         return AUTHORITY_ERROR(u'当前非管理员权限')
     data = request.json
     logger.debug("data is %s", data)
     parameter_required('PRid_list')
     now_time = datetime.strftime(datetime.now(), format_for_web_second)
     restarttime = get_db_time_str(data.get('REstarttime',
                                            now_time))  # 上线时间, 默认当前时间
     restarttime_str_to_time = datetime.strptime(restarttime, format_for_db)
     days_later = datetime.strftime(
         restarttime_str_to_time + timedelta(days=7), format_for_web_second)
     reendtime = get_db_time_str(data.get('REendtime',
                                          days_later))  # 推荐下线时间, 默认7天以后
     relikefakenum = data.get('RElikenum', 0)  # 喜欢数
     refakeviewnum = data.get('REviewnum', 0)  # 浏览数
     prid_list = data.get('PRid_list')
     if not prid_list:
         raise PARAMS_MISS(u'缺失PRid_list')
     reid = str(uuid.uuid4())
     try:
         re_info = {
             # 'REid': reid,
             # 'SUid': request.user.id,
             'RElikefakenum': relikefakenum,
             'REfakeviewnum': refakeviewnum,
             'REstarttime': restarttime,
             'REendtime': reendtime,
         }
         update_info = self.srecommend.update_recommend_by_reid
     except Exception as e:
         logger.debug("add Recommend error")
         raise SYSTEM_ERROR(u'添加Recommend错误')
     try:
         for item in prid_list:
             add_model(
                 'RecommendProduct', **{
                     'REid': reid,
                     'PRid': item.get('PRid'),
                     'RPid': str(uuid.uuid4()),
                     'RPsort': item.get('RPsort')
                 })
     except Exception as e:
         logger.debug("add recommondproduct list error")
         raise SYSTEM_ERROR(u'添加每日推荐商品RecommendProduct内容出错')
     response_make_recommend = import_status('add_recommend_success', 'OK')
     response_make_recommend['data'] = {
         'reid': reid,
     }
     return response_make_recommend
Ejemplo n.º 6
0
 def add_one(self):
     if not hasattr(request, 'user'):
         return TOKEN_ERROR  # 未登录, 或token错误
     if not is_admin():
         return AUTHORITY_ERROR  # 权限不足
     data = request.json
     now_time = datetime.strftime(datetime.now(), format_for_db)
     sfid = str(uuid.uuid1())
     sfstarttime = data.get('sfstarttime', now_time)  # 上线时间默认当前时间
     sfendtime = data.get('sfendtime')
     sftext = data.get('sftext')
     sfsort = data.get('sfsort')
     if not sftext:
         return PARAMS_MISS
     add_model('SearchField', **{
         'SFid': sfid,
         'SFtext': sftext,
         'SFstarttime': sfstarttime,
         'SFendtime': sfendtime,
         'SFsort': sfsort
     })
     response_make_searchfield = import_status('add_searchfield_success', 'OK')
     response_make_searchfield['data'] = {'sfid': sfid}
     return response_make_searchfield