Exemple #1
0
 def get_comMessage(self):
     if is_tourist():
         return TOKEN_ERROR
     try:
         args = request.args.to_dict()
         page = int(args.get('page', 1))  # 页码
         count = int(args.get('count', 10))  # 取出条数
     except Exception as e:
         return PARAMS_ERROR
     if is_admin():
         comMessage_list = get_model_return_list(
             self.smessage.get_comMessage_list(page, count))  # 分页查询出的公司消息列表
         from common.timeformat import get_web_time_str
         for message in comMessage_list:
             message['CMdate'] = get_web_time_str(message['CMdate'])
         comMessage_num = self.smessage.get_commessage_num()  # 公司消息总条数
         data = import_status('get_commessage_list_success', 'OK')
         data['mount'] = int(comMessage_num)
         data['data'] = comMessage_list
         return data
     else:
         comMessage_num = self.smessage.get_commessage_num()  # 公司消息总条数
         print comMessage_num
         comMessage_list = get_model_return_list(
             self.smessage.get_comMessage_list(page, count))  # 分页查询出的公司消息列表
         print len(comMessage_list)
         a = request.user.id
         already_list = get_model_return_list(
             self.smessage.get_alreadyMessage_by_usid(
                 request.user.id))  # 已经阅读的消息的id集合
         already_id_list = []
         for already in already_list:
             already_id_list.append(already['ARmessageid'])
         notread_count = int(comMessage_num) - len(
             already_list)  # 该用户未读的消息条数
         return_message_list = []
         from common.timeformat import get_web_time_str
         for message in comMessage_list:
             message_dic = {}
             if message['CMid'] not in already_id_list:  # 如果没有读,加个标记isread
                 message_dic['isread'] = 0
                 message_dic['CMid'] = message['CMid']
                 message_dic['CMdate'] = get_web_time_str(message['CMdate'])
                 message_dic['CMtype'] = message['CMtype']
                 message_dic['CMtitle'] = message['CMtitle']
                 message_dic['CMfile'] = message['CMfile']
                 return_message_list.append(message_dic)
             else:
                 message_dic['isread'] = 1
                 message_dic['CMid'] = message['CMid']
                 message_dic['CMdate'] = get_web_time_str(message['CMdate'])
                 message_dic['CMtype'] = message['CMtype']
                 message_dic['CMtitle'] = message['CMtitle']
                 message_dic['CMfile'] = message['CMfile']
                 return_message_list.append(message_dic)
         data = import_status('get_commessage_list_success', 'OK')
         data['notread'] = notread_count
         data['data'] = return_message_list
         data['mount'] = int(comMessage_num)
         return data
Exemple #2
0
 def get_order_list(self):
     if is_tourist():
         return TOKEN_ERROR
     data = request.json
     if not data:
         return PARAMS_MISS
     try:
         type = int(data.get('type'))
         page = int(data.get('page'))
         count = int(data.get('count'))
     except:
         return PARAMS_ERROR
     order_return_list = []
     if type == 0:
         order_list = get_model_return_list(
             self.sorder.get_allorder_list(request.user.id, page, count))
         state0 = int(self.sorder.get_total_order_num(
             request.user.id)) if self.sorder.get_total_order_num(
                 request.user.id) else 0
         state1 = int(self.sorder.get_order_num(
             request.user.id, 1)) if self.sorder.get_order_num(
                 request.user.id, 1) else 0
         state2 = int(self.sorder.get_order_num(
             request.user.id, 2)) if self.sorder.get_order_num(
                 request.user.id, 2) else 0
         state3 = int(self.sorder.get_order_num(
             request.user.id, 3)) if self.sorder.get_order_num(
                 request.user.id, 3) else 0
         for order in order_list:
             product_list = get_model_return_list(
                 self.sorder.get_product_list(order['OIid']))
             order['product_list'] = product_list
             from common.timeformat import get_web_time_str
             order['OIcreatetime'] = get_web_time_str(order['OIcreatetime'])
             order_return_list.append(order)
         response = import_status("get_orderlist_success", "OK")
         response['data'] = order_return_list
         response['state0_num'] = state0
         response['state1_num'] = state1
         response['state2_num'] = state2
         response['state3_num'] = state3
         return response
     else:
         order_list = get_model_return_list(
             self.sorder.get_order_list(request.user.id, type, page, count))
         if not order_list:
             response = import_status("get_orderlist_success", "OK")
             response['data'] = order_return_list
             return response
         for order in order_list:
             product_list = get_model_return_list(
                 self.sorder.get_product_list(order['OIid']))
             order['product_list'] = product_list
             from common.timeformat import get_web_time_str
             order['OIcreatetime'] = get_web_time_str(order['OIcreatetime'])
             order_return_list.append(order)
         response = import_status("get_orderlist_success", "OK")
         response['data'] = order_return_list
         return response
Exemple #3
0
    def get_register_record(self):
        if not is_admin():
            return TOKEN_ERROR
        try:
            data = request.json
            status = int(data.get('status'))
            page_size = data.get('page_size')
            page_num = data.get('page_num')
        except:
            return PARAMS_ERROR
        list = get_model_return_list(self.suser.get_register_record(status))
        if not list:
            response = import_status("get_registerinfo_success", "OK")
            response['data'] = []
            return response
        from common.timeformat import get_web_time_str
        for record in list:
            record['IRIcreatetime'] = get_web_time_str(record['IRIcreatetime'])
            record['IRIpaytime'] = get_web_time_str(record['IRIpaytime'])
            record['IRIproof'] = record['IRIproof'].split(',')

            if record['IRIarea']:
                area = get_model_return_dict(
                    self.smycenter.get_area_by_areaid(record['IRIarea']))
                city = get_model_return_dict(
                    self.smycenter.get_city_by_cityid(area['cityid']))
                province = get_model_return_dict(
                    self.smycenter.get_province_by_provinceid(
                        city['provinceid']))
                record['address'] = province['provincename'] + city[
                    'cityname'] + area['areaname']
            else:
                city = get_model_return_dict(
                    self.smycenter.get_city_by_cityid(record['IRIcity']))
                province = get_model_return_dict(
                    self.smycenter.get_province_by_provinceid(
                        city['provinceid']))
                record['address'] = province['provincename'] + city['cityname']

        mount = len(list)
        page = mount / page_size
        if page == 0 or page == 1 and mount % page_size == 0:
            real_return_list = list[0:]
        else:
            if ((mount - (page_num - 1) * page_size) / page_size) >= 1 and \
                    (mount - (page_num * page_size)) > 0:
                real_return_list = list[((page_num - 1) *
                                         page_size):(page_num * page_size)]
            else:
                real_return_list = list[((page_num - 1) * page_size):]
        response = import_status("get_registerinfo_success", "OK")
        response['data'] = real_return_list
        response['mount'] = mount
        return response
Exemple #4
0
 def get_order_details(self):
     if is_tourist():
         return TOKEN_ERROR
     data = request.json
     if not data:
         return PARAMS_MISS
     try:
         OIsn = int(data.get('OIsn'))
     except:
         return PARAMS_ERROR
     detail = get_model_return_dict(self.sorder.get_order_details(OIsn))
     if not detail:
         response = import_status("get_orderdetails_success", "OK")
         response['data'] = []
         return response
     address = get_model_return_dict(
         self.smycenter.get_other_address(request.user.id, detail['UAid']))
     if not address:
         return NO_ADDRESS
     area = get_model_return_dict(
         self.smycenter.get_area_by_areaid(address['areaid']))
     from common.timeformat import get_web_time_str
     if area:
         city = get_model_return_dict(
             self.smycenter.get_city_by_cityid(area['cityid']))
         province = get_model_return_dict(
             self.smycenter.get_province_by_provinceid(city['provinceid']))
         detail['provincename'] = province['provincename']
         detail['cityname'] = city['cityname']
         detail['areaname'] = area['areaname']
         detail['details'] = address['UAdetails']
         detail['username'] = address['UAname']
         detail['userphonenum'] = address['UAphonenum']
         detail['createtime'] = get_web_time_str(address['UAcreatetime'])
     else:
         city = get_model_return_dict(
             self.smycenter.get_city_by_cityid(address['cityid']))
         province = get_model_return_dict(
             self.smycenter.get_province_by_provinceid(city['provinceid']))
         detail['provincename'] = province['provincename']
         detail['cityname'] = city['cityname']
         detail['details'] = address['UAdetails']
         detail['username'] = address['UAname']
         detail['userphonenum'] = address['UAphonenum']
         detail['createtime'] = get_web_time_str(address['UAcreatetime'])
     product_list = get_model_return_list(
         self.sorder.get_product_list(detail['OIid']))
     detail['product_list'] = product_list
     response = import_status("get_orderdetails_success", "OK")
     response['data'] = detail
     return response
Exemple #5
0
 def get_qrcode(self):
     if is_tourist():
         return TOKEN_ERROR
     try:
         data = request.json
     except:
         return PARAMS_ERROR
     time = datetime.strftime(datetime.now(), format_for_db)
     from common.timeformat import get_web_time_str
     qrcode_list = self.suser.get_qrcode_list(request.user.id)
     if qrcode_list:
         return_list = []
         qrcode_list = get_model_return_list(qrcode_list)
         for code in qrcode_list:
             if str(code['QRovertime']) > time and int(
                     code['QRnumber']) > 0:
                 code['QRovertime'] = get_web_time_str(code['QRovertime'])
                 return_list.append(code)
         response = import_status("get_qrcode_success", "OK")
         response['data'] = return_list
         return response
     else:
         response = import_status("get_qrcode_success", "OK")
         response['data'] = []
         return response
Exemple #6
0
 def check_qrcode(self):
     try:
         data = request.json
         id = str(data.get('qrid'))
     except:
         return PARAMS_ERROR
     result = get_model_return_dict(self.suser.get_arcode_details(
         id)) if self.suser.get_arcode_details(id) else None
     if not result:
         return NOT_FOUND_QRCODE
     user_info = get_model_return_dict(self.smycenter.get_user_basicinfo(result['USid'])) if self.smycenter \
         .get_user_basicinfo(result['USid']) else None
     if not user_info:
         return NOT_FOUND_USER
     if user_info['USbail'] < float(self.conf.get('account', 'bail')):
         return NO_BAIL
     else:
         response = {}
         date = result['QRovertime']
         number = result['QRnumber']
         timenow = datetime.strftime(datetime.now(), format_for_db)
         if date < timenow:
             response['message'] = u"二维码已过期"
             response['success'] = False
             return response
         if number < 1:
             response['message'] = u"二维码次数已用完"
             response['success'] = False
             return response
         from common.timeformat import get_web_time_str
         result['QRovertime'] = get_web_time_str(result['QRovertime'])
         response['status'] = 200
         response['data'] = result
         response['success'] = True
         return response
Exemple #7
0
 def get_agentMessage(self):
     print "hello"
     if is_tourist():
         return TOKEN_ERROR
     try:
         args = request.args.to_dict()
         page = int(args.get('page', 1))  # 页码
         count = int(args.get('count', 15))  # 取出条数
     except Exception as e:
         return PARAMS_ERROR
     from common.timeformat import get_web_time_str
     message_list, mount = self.smessage.get_agentMessage_by_usid(
         request.user.id, page, count)
     message_list = get_model_return_list(message_list)
     message_return = []
     for message in message_list:
         data = {}
         data['USid'] = message['USid']
         data['AMdate'] = get_web_time_str(message['AMdate'])
         data['AMid'] = message['AMid']
         data['AMcontent'] = message['AMcontent']
         data['AMtype'] = message['AMtype']
         message_return.append(data)
     data = import_status('get_agentmessage_list_success', 'OK')
     data['data'] = message_return
     data['mount'] = mount
     return data
Exemple #8
0
 def get_commessage_details(self):
     if is_tourist():
         return TOKEN_ERROR
     try:
         args = request.args.to_dict()
         messageid = args.get('messageid')
     except Exception as e:
         return PARAMS_ERROR
     message = get_model_return_dict(
         self.smessage.get_commessage_details(messageid))
     from common.timeformat import get_web_time_str
     message['CMdate'] = get_web_time_str(message['CMdate'])
     data = import_status('get_commessage_details_success', 'OK')
     data['data'] = message
     if is_admin():
         return data
     else:
         try:
             note = self.smessage.get_isread(messageid, request.user.id)
             if note:
                 return data
             else:
                 self.smessage.insert_alreadyread(str(uuid.uuid4()),
                                                  messageid,
                                                  request.user.id)
                 return data
         except Exception as e:
             print 'repeat'
Exemple #9
0
 def get_order_details(self):
     if is_tourist():
         return TOKEN_ERROR
     data = request.json
     if not data:
         return PARAMS_MISS
     try:
         OIsn = int(data.get('OIsn'))
     except:
         return PARAMS_ERROR
     detail = get_model_return_dict(self.sorder.get_order_details(OIsn))
     from common.timeformat import get_web_time_str
     detail['createtime'] = get_web_time_str(detail['OIcreatetime'])
     product_list = get_model_return_list(
         self.sorder.get_product_list(detail['OIid']))
     for product in product_list:
         product['PRnum'] = 0
         sku_list = get_model_return_list(
             self.sorder.get_sku_list_by_opiid(product['OPIid']))
         for sku in sku_list:
             product['PRnum'] = product['PRnum'] + sku['number']
         product['skulist'] = sku_list
     detail['product_list'] = product_list
     response = import_status("get_orderdetails_success", "OK")
     response['data'] = detail
     return response
Exemple #10
0
    def get_product_list(self):
        args = request.args.to_dict()
        try:
            page_num = int(args.get("page_num"))
            page_size = int(args.get("page_size"))
            PRstatus = int(args.get("PRstatus"))
            PRname = args.get("PRname")
            PAid = str(args.get("PAid"))
            PAtype = int(args.get("PAtype"))
            print args
        except:
            return PARAMS_MISS
        product_list = []
        if PAid == '':
            return PARAMS_ERROR
        if PAid == str(0):
            print 'PAid == str(0)'
            product_list = get_model_return_list(self.sgoods.admin_get_product(PRstatus, PRname))
        elif int(PAtype) == 1:
            print 'int(PAtype) == 1'
            paid_list = get_model_return_list(self.sgoods.get_childid(str(PAid)))
            for paid in paid_list:
                product_list = product_list + get_model_return_list(
                    self.sgoods.admin_get_product(PRstatus, PRname, paid['PAid']))
        elif int(PAtype) == 2:
            print 'int(PAtype) == 2'
            product_list = product_list + get_model_return_list(
                self.sgoods.admin_get_product(PRstatus, PRname, PAid))
        print product_list
        for product in product_list:
            print 'for product in product_list'
            print product['PAid']
            category = get_model_return_dict(self.sgoods.get_category_byid(product['PAid']))
            print category
            product['firstpaid'] = category['Parentid']
            parent_category = get_model_return_dict(self.sgoods.get_category_byid(category['Parentid']))
            product['firstpaname'] = parent_category['PAname']
            product['categoryname'] = category['PAname']
            product['PRcreatetime'] = get_web_time_str(product['PRcreatetime'])

        mount = len(product_list)
        page = mount / page_size
        if page == 0 or page == 1 and mount % page_size == 0:
            return_list = product_list[0:]
        else:
            if ((mount - (page_num - 1) * page_size) / page_size) >= 1 and \
                    (mount - (page_num * page_size)) > 0:
                return_list = product_list[((page_num - 1) * page_size):(page_num * page_size)]
            else:
                return_list = product_list[((page_num - 1) * page_size):]
        response = import_status("get_product_list_success", "OK")
        response["data"] = return_list
        response['mount'] = mount
        return response
Exemple #11
0
 def get_product(self):
     self.json_param_miss("get")
     args = request.args.to_dict()
     try:
         PRid = args.get("PRid")
         product = get_model_return_dict(self.sgoods.get_product(PRid))
         from common.timeformat import get_web_time_str
         product['PRcreatetime'] = get_web_time_str(product['PRcreatetime'])
     except Exception as e:
         print(e.message)
         return PARAMS_MISS
     response = import_status("get_product_success", "OK")
     response["data"] = product
     return response
Exemple #12
0
    def get_user_totalinfo(self):
        if is_tourist():
            return TOKEN_ERROR
        result = get_model_return_dict(
            self.smycenter.get_user_totalinfo(request.user.id))

        if result:
            result['USmount'] = round(result['USmount'], 2)
            result['UScreatetime'] = get_web_time_str(result['UScreatetime'])
            res = import_status("get_user_totalinfo_success", "OK")
            res['data'] = result
            return res
        else:
            return SYSTEM_ERROR
Exemple #13
0
    def get_product_list(self):
        #self.json_param_miss("get")
        args = request.args.to_dict()
        try:
            page_num = int(args.get("page_num"))
            page_size = int(args.get("page_size"))
            PRstatus = int(args.get("PRstatus"))
            PAid = args.get("PAid")
            PAtype = int(args.get("PAtype"))
        except:
            return PARAMS_MISS
        if int(PAid) == 0:
            return_list, mount = self.sgoods.get_product_list(
                page_size, page_num, None, PRstatus)
            return_list = get_model_return_list(return_list)
        elif PAtype == 1:
            paid_list = get_model_return_list(
                self.sgoods.get_childid(int(args.get("PAid"))))
            product_list = []
            for row in paid_list:
                product_list = product_list + (get_model_return_list(
                    self.sgoods.get_type1_product(row['PAid'], PRstatus)))
            mount = len(product_list)
            page = mount / page_size
            if page == 0 or page == 1 and mount % page_num == 0:
                return_list = product_list[0:]
            else:
                if ((mount - (page_num - 1) * page_size)/page_size) >= 1 and \
                        ((mount - (page_num - 1) * page_size)%page_size) > 0:
                    return_list = product_list[((page_num - 1) *
                                                page_size):(page_num *
                                                            page_size)]
                else:
                    return_list = product_list[((page_num - 1) * page_size):]

        elif PAtype == 2:
            return_list, mount = self.sgoods.get_product_list(
                page_size, page_num, PAid, PRstatus)
            return_list = get_model_return_list(return_list)
        else:
            return PARAMS_MISS
        for product in return_list:
            product['PRcreatetime'] = get_web_time_str(product['PRcreatetime'])
        response = import_status("get_product_list_success", "OK")
        response["data"] = return_list
        response['mount'] = mount
        return response
Exemple #14
0
 def get_comment_list(self):
     if not is_admin():
         return TOKEN_ERROR
     try:
         args = request.args.to_dict()
         page_num = int(args.get("page_num"))
         page_size = int(args.get("page_size"))
         status = int(args.get("status"))
     except:
         return PARAMS_ERROR
     try:
         comment_list = get_model_return_list(
             self.smycenter.get_comments(status))
         if not comment_list:
             response = import_status('get_commentslist_success', 'OK')
             response['data'] = []
             response['mount'] = 0
             return response
         for comment in comment_list:
             comment['CMcreatetime'] = get_web_time_str(
                 comment['CMcreatetime'])
         mount = len(comment_list)
         page = mount / page_size
         if page == 0 or page == 1 and mount % page_size == 0:
             return_list = comment_list[0:]
         else:
             if ((mount - (page_num - 1) * page_size) / page_size) >= 1 and \
                     (mount - (page_num * page_size)) > 0:
                 return_list = comment_list[((page_num - 1) *
                                             page_size):(page_num *
                                                         page_size)]
             else:
                 return_list = comment_list[((page_num - 1) * page_size):]
         response = import_status('get_commentslist_success', 'OK')
         response['data'] = return_list
         response['mount'] = mount
         return response
     except Exception as e:
         print e
         return SYSTEM_ERROR
Exemple #15
0
    def update_order(self):
        if not is_admin():
            return AUTHORITY_ERROR
        try:
            data = request.json
            oisn = data.get('oisn')
            expressname = data.get('expressname')
            expressnum = data.get('expressnum')
            if not expressname or not expressnum:
                raise dberror
        except:
            return PARAMS_ERROR
        detail = get_model_return_dict(self.sorder.get_order_details(oisn))
        if not detail:
            return NOT_FOUND_ORDER
        session = db_session()
        try:
            is_exits = get_model_return_dict(
                session.query(OrderInfo.expressnum).filter(
                    OrderInfo.OIsn == oisn).first())
            if is_exits['expressnum']:
                update = {}
                update['OIstatus'] = 2
                update['expressname'] = expressname
                update['expressnum'] = expressnum
                session.query(OrderInfo).filter(
                    OrderInfo.OIsn == oisn).update(update)
            else:
                update = {}
                update['OIstatus'] = 2
                update['expressname'] = expressname
                update['expressnum'] = expressnum
                session.query(OrderInfo).filter(
                    OrderInfo.OIsn == oisn).update(update)
                monthnow = datetime.strftime(datetime.now(),
                                             format_for_db)[0:6]
                amount_data = self.saccount.get_user_date(
                    detail['USid'], monthnow)
                order = get_model_return_dict(
                    self.sorder.get_order_details(oisn))
                user = self.smycenter.get_user_basicinfo(
                    detail['USid'])  # 插入销售表,有数据就更新
                if not user:
                    raise dberror
                user = get_model_return_dict(user)
                if not order:
                    raise dberror
                if amount_data:
                    amount_data = get_model_return_dict(amount_data)
                    new_data = {}
                    new_data['performance'] = amount_data[
                        'performance'] + order['discountnum']
                    try:
                        session.query(Amount).filter(
                            Amount.USid == detail['USid']).filter(
                                Amount.AMmonth == monthnow).update(new_data)
                    except:
                        raise dberror
                else:
                    amount = Amount()
                    amount.USid = detail['USid']
                    amount.AMid = str(uuid.uuid4())
                    amount.USagentid = user['USagentid']
                    amount.performance = order['discountnum']
                    amount.USname = user['USname']
                    amount.AMstatus = 1
                    amount.USheadimg = user['USheadimg']
                    amount.AMcreattime = datetime.strftime(
                        datetime.now(), format_for_db)
                    amount.AMmonth = monthnow
                    session.add(amount)

                performance = Performance()  # 插入业绩表
                performance.USid = detail['USid']
                performance.REmonth = datetime.strftime(
                    datetime.now(), format_for_db)[0:6]
                performance.PEid = str(uuid.uuid4())
                performance.PEdiscountnum = order['discountnum']
                performance.PEcreatetime = datetime.strftime(
                    datetime.now(), format_for_db)
                session.add(performance)
            session.commit()
        except Exception as e:
            print e
            session.rollback()
            return SYSTEM_ERROR
        finally:
            session.close()
        reponse = import_status("update_order_success", "OK")
        detail = get_model_return_dict(self.sorder.get_order_details(oisn))
        from common.timeformat import get_web_time_str
        detail['OIcreatetime'] = get_web_time_str(detail['OIcreatetime'])
        product_list = get_model_return_list(
            self.sorder.get_product_list(detail['OIid']))
        detail['product_list'] = product_list
        reponse['data'] = detail
        return reponse
Exemple #16
0
 def get_order_list(self):
     if is_tourist():
         return TOKEN_ERROR
     data = request.json
     if not data:
         return PARAMS_MISS
     try:
         type = int(data.get('type'))
         page = int(data.get('page'))
         count = int(data.get('count'))
     except:
         return PARAMS_ERROR
     order_return_list = []
     if type == 0:
         order_list = get_model_return_list(
             self.sorder.get_allorder_list(request.user.id, page, count))
         state0 = int(self.sorder.get_total_order_num(
             request.user.id)) if self.sorder.get_total_order_num(
                 request.user.id) else 0
         state1 = int(self.sorder.get_order_num(
             request.user.id, 1)) if self.sorder.get_order_num(
                 request.user.id, 1) else 0
         state2 = int(self.sorder.get_order_num(
             request.user.id, 2)) if self.sorder.get_order_num(
                 request.user.id, 2) else 0
         state3 = int(self.sorder.get_order_num(
             request.user.id, 3)) if self.sorder.get_order_num(
                 request.user.id, 3) else 0
         state4 = int(self.sorder.get_order_num(
             request.user.id, 4)) if self.sorder.get_order_num(
                 request.user.id, 4) else 0
         state1 = state1 + state4
         for order in order_list:
             product_list = get_model_return_list(
                 self.sorder.get_product_list(order['OIid']))
             for product in product_list:
                 product['PRnum'] = 0
                 sku_list = get_model_return_list(
                     self.sorder.get_sku_list_by_opiid(product['OPIid']))
                 for sku in sku_list:
                     product['PRnum'] = product['PRnum'] + sku['number']
                 product['skulist'] = sku_list
             order['product_list'] = product_list
             from common.timeformat import get_web_time_str
             order['OIcreatetime'] = get_web_time_str(order['OIcreatetime'])
             order_return_list.append(order)
         response = import_status("get_orderlist_success", "OK")
         response['data'] = order_return_list
         response['state0_num'] = state0
         response['state1_num'] = state1
         response['state2_num'] = state2
         response['state3_num'] = state3
         return response
     else:
         order_list = get_model_return_list(
             self.sorder.get_order_list(request.user.id, type, page, count))
         if type == 1:
             order_list = order_list + get_model_return_list(
                 self.sorder.get_order_list(request.user.id, 4, page,
                                            count))
             new_list = sorted(order_list,
                               key=lambda order: order['OIcreatetime'],
                               reverse=True)
             order_list = new_list
         if not order_list:
             response = import_status("get_orderlist_success", "OK")
             response['data'] = order_return_list
             return response
         for order in order_list:
             product_list = get_model_return_list(
                 self.sorder.get_product_list(order['OIid']))
             for product in product_list:
                 product['PRnum'] = 0
                 sku_list = get_model_return_list(
                     self.sorder.get_sku_list_by_opiid(product['OPIid']))
                 for sku in sku_list:
                     product['PRnum'] = product['PRnum'] + sku['number']
                 product['skulist'] = sku_list
             order['product_list'] = product_list
             from common.timeformat import get_web_time_str
             order['OIcreatetime'] = get_web_time_str(order['OIcreatetime'])
             order_return_list.append(order)
         response = import_status("get_orderlist_success", "OK")
         response['data'] = order_return_list
         return response
Exemple #17
0
 def get_useraddress(self):
     if is_tourist():
         return TOKEN_ERROR
     try:
         data = request.json
         isdefault = int(data.get('isdefault'))
         all = int(data.get('all'))
         UAid = data.get('UAid')
     except:
         return PARAMS_ERROR
     from common.timeformat import get_web_time_str
     if all == 1:
         all_address = get_model_return_list(self.smycenter.get_all_address(request.user.id))
         if not all_address:
             response = import_status("get_address_success", "OK")
             response['data'] = []
             return response
         address_list = []
         for address in all_address:
             address = get_model_return_dict(self.smycenter.get_other_address(request.user.id, address['UAid']))
             if not address:
                 return NO_ADDRESS
             area = get_model_return_dict(self.smycenter.get_area_by_areaid(address['areaid']))
             if area:
                 city = get_model_return_dict(self.smycenter.get_city_by_cityid(area['cityid']))
                 province = get_model_return_dict(self.smycenter.get_province_by_provinceid(city['provinceid']))
                 data = {}
                 data['provincename'] = province['provincename']
                 data['provinceid'] = province['provinceid']
                 data['cityname'] = city['cityname']
                 data['cityid'] = city['cityid']
                 data['areaname'] = area['areaname']
                 data['areaid'] = area['areaid']
                 data['details'] = address['UAdetails']
                 data['username'] = address['UAname']
                 data['userphonenum'] = address['UAphonenum']
                 data['uaid'] = address['UAid']
                 data['isdefault'] = address['UAdefault']
                 data['createtime'] = get_web_time_str(address['UAcreatetime'])
                 address_list.append(data)
             else:
                 city = get_model_return_dict(self.smycenter.get_city_by_cityid(address['cityid']))
                 province = get_model_return_dict(self.smycenter.get_province_by_provinceid(city['provinceid']))
                 data = {}
                 data['provincename'] = province['provincename']
                 data['provinceid'] = province['provinceid']
                 data['cityname'] = city['cityname']
                 data['cityid'] = city['cityid']
                 data['details'] = address['UAdetails']
                 data['username'] = address['UAname']
                 data['userphonenum'] = address['UAphonenum']
                 data['uaid'] = address['UAid']
                 data['isdefault'] = address['UAdefault']
                 data['createtime'] = get_web_time_str(address['UAcreatetime'])
                 address_list.append(data)
         response = import_status("get_address_success", "OK")
         response['data'] = address_list
         return response
     if isdefault == 1:
         address = get_model_return_dict(self.smycenter.get_default_address(request.user.id))
         if not address:
             response = import_status("get_address_success", "OK")
             response['data'] = []
             return response
         area = get_model_return_dict(self.smycenter.get_area_by_areaid(address['areaid']))
         if area:
             city = get_model_return_dict(self.smycenter.get_city_by_cityid(area['cityid']))
             province = get_model_return_dict(self.smycenter.get_province_by_provinceid(city['provinceid']))
             data = {}
             data['provincename'] = province['provincename']
             data['provinceid'] = province['provinceid']
             data['cityname'] = city['cityname']
             data['cityid'] = city['cityid']
             data['areaname'] = area['areaname']
             data['areaid'] = area['areaid']
             data['details'] = address['UAdetails']
             data['username'] = address['UAname']
             data['userphonenum'] = address['UAphonenum']
             data['uaid'] = address['UAid']
             data['createtime'] = get_web_time_str(address['UAcreatetime'])
             response = import_status("get_address_success", "OK")
             response['data'] = data
             return response
         else:
             city = get_model_return_dict(self.smycenter.get_city_by_cityid(address['cityid']))
             province = get_model_return_dict(self.smycenter.get_province_by_provinceid(city['provinceid']))
             data = {}
             data['provincename'] = province['provincename']
             data['provinceid'] = province['provinceid']
             data['cityname'] = city['cityname']
             data['cityid'] = city['cityid']
             data['details'] = address['UAdetails']
             data['username'] = address['UAname']
             data['userphonenum'] = address['UAphonenum']
             data['uaid'] = address['UAid']
             data['createtime'] = get_web_time_str(address['UAcreatetime'])
             response = import_status("get_address_success", "OK")
             response['data'] = data
             return response
     elif isdefault == 0:
         address = get_model_return_dict(self.smycenter.get_other_address(request.user.id, UAid))
         if not address:
             response = import_status("get_address_success", "OK")
             response['data'] = []
             return response
         area = get_model_return_dict(self.smycenter.get_area_by_areaid(address['areaid']))
         if area:
             city = get_model_return_dict(self.smycenter.get_city_by_cityid(area['cityid']))
             province = get_model_return_dict(self.smycenter.get_province_by_provinceid(city['provinceid']))
             data = {}
             data['provincename'] = province['provincename']
             data['provinceid'] = province['provinceid']
             data['cityname'] = city['cityname']
             data['cityid'] = city['cityid']
             data['areaname'] = area['areaname']
             data['areaid'] = area['areaid']
             data['details'] = address['UAdetails']
             data['username'] = address['UAname']
             data['userphonenum'] = address['UAphonenum']
             data['uaid'] = address['UAid']
             data['createtime'] = get_web_time_str(address['UAcreatetime'])
             response = import_status("get_address_success", "OK")
             response['data'] = data
             return response
         else:
             city = get_model_return_dict(self.smycenter.get_city_by_cityid(address['cityid']))
             province = get_model_return_dict(self.smycenter.get_province_by_provinceid(city['provinceid']))
             data = {}
             data['provincename'] = province['provincename']
             data['provinceid'] = province['provinceid']
             data['cityname'] = city['cityname']
             data['cityid'] = city['cityid']
             data['details'] = address['UAdetails']
             data['username'] = address['UAname']
             data['userphonenum'] = address['UAphonenum']
             data['uaid'] = address['UAid']
             data['createtime'] = get_web_time_str(address['UAcreatetime'])
             response = import_status("get_address_success", "OK")
             response['data'] = data
             return response
Exemple #18
0
    def get_all_order(self):
        if not is_admin():
            return AUTHORITY_ERROR
        params = [
            'page_size', 'page_num', 'oisn', 'starttime', 'endtime', 'status',
            'username', 'userphonenum', 'productname'
        ]
        try:
            data = request.json
            for param in params:
                if param not in data:
                    response = {}
                    response['message'] = u"参数缺失"
                    response['paramname'] = param
                    response['status'] = 405
                    return response
        except:
            return PARAMS_ERROR
        page_size = data.get('page_size')
        page_num = data.get('page_num')
        oisn = data.get('oisn')
        starttime = str(data.get('starttime')) + '000000' if data.get(
            'starttime') else None
        endtime = data.get('endtime') + '000000' if data.get(
            'endtime') else None
        status = data.get('status')
        username = data.get('username')
        userphonenum = data.get('userphonenum')
        productname = data.get('productname')
        all_order = get_model_return_list(
            self.sorder.get_all_order(oisn, starttime, endtime, status,
                                      username, userphonenum))
        return_list = []
        for order in all_order:
            detail = get_model_return_dict(
                self.sorder.get_order_details(order['OIsn']))
            from common.timeformat import get_web_time_str
            order['OIcreatetime'] = get_web_time_str(order['OIcreatetime'])
            product_list = get_model_return_list(
                self.sorder.get_product_list(detail['OIid']))
            for product in product_list:
                product['PRnum'] = 0
                sku_list = get_model_return_list(
                    self.sorder.get_sku_list_by_opiid(product['OPIid']))
                for sku in sku_list:
                    product['PRnum'] = product['PRnum'] + sku['number']
                product['skulist'] = sku_list
            order['product_list'] = product_list
            if productname:
                for product in product_list:
                    if productname in product['PRname']:
                        return_list.append(order)
                        break
            else:
                return_list.append(order)

        mount = len(return_list)
        page = mount / page_size
        if page == 0 or page == 1 and mount % page_size == 0:
            real_return_list = return_list[0:]
        else:
            if ((mount - (page_num - 1) * page_size) / page_size) >= 1 and \
                    (mount - (page_num  * page_size)) > 0:
                real_return_list = return_list[((page_num - 1) *
                                                page_size):(page_num *
                                                            page_size)]
            else:
                real_return_list = return_list[((page_num - 1) * page_size):]

        response = import_status("get_allorder_success", "OK")
        response['data'] = real_return_list
        response['mount'] = mount
        return response