def get(self, *args, **kwargs):
     sign = self.get_argument('sign')
     time = self.get_argument('time')
     page = int(self.get_argument('page'))
     size = int(self.get_argument('size'))
     cateCode = self.get_argument('cateCode')
     sort = int(self.get_argument('sort'))
     skuval = self.get_argument('skuval')
     md5Util = MD5Util()
     baseResponse = BaseResponse()
     if sign == md5Util.md5Signature(time):
         getGoods = GetGoods()
         netHostGoods = getGoods.getHostGoods(cateCode, skuval, page, size,
                                              sort)
         if netHostGoods:
             baseResponse.code = ResponseCode.op_success
             baseResponse.desc = ResponseCode.op_success_desc
             hostGoodsCount = getGoods.getGoodsCountByCate(cateCode, skuval)
             page_total = (hostGoodsCount /
                           size) + (1 if hostGoodsCount % size > 0 else 0)
             baseResponse.pageNum = page
             baseResponse.pageSize = size
             baseResponse.page_total = page_total
             baseResponse.totalCount = hostGoodsCount
             baseResponse.data = netHostGoods
         else:
             baseResponse.code = ResponseCode.op_fail
             baseResponse.desc = ResponseCode.op_fail_desc
     else:
         baseResponse.code = ResponseCode.fail_check_api_md5
         baseResponse.desc = ResponseCode.fail_check_api_md5_desc
     json_str = json.dumps(baseResponse, cls=HostGoodsEncoder)
     self.write(json_str)
示例#2
0
 def post(self, *args, **kwargs):
     param = self.request.body.decode('utf-8')
     param = json.loads(param)
     sign = param['sign']
     time = param['time']
     admin_tel = param['tel']
     sms_pwd = param['sms']
     cate_id = param['cate_id']
     permissionMgr = PermissionManager()
     baseResponse = permissionMgr.checkAdminPermissionWithLoginStatus(
         sign=sign, time=time, admin_tel=admin_tel, sms_pwd=sms_pwd)
     if baseResponse.code == ResponseCode.success_check_admin_permission:
         getGoods = GetGoods()
         # 删除分类及商品
         deleteResult = getGoods.deleteCateAndGoods(cate_id)
         # 删除广告banner, 无论是否删除(不管结果)
         getAdverts = GetAdverts()
         getAdverts.deleteAdvertsByCateId(cate_id)
         if deleteResult:
             baseResponse.code = ResponseCode.op_success
             baseResponse.desc = ResponseCode.op_success_desc
         else:
             baseResponse.code = ResponseCode.op_fail_db_data
             baseResponse.desc = ResponseCode.op_fail_db_data_desc
     json_str = json.dumps(baseResponse, cls=StrEncoder)
     self.write(json_str)
示例#3
0
 def get(self, *args, **kwargs):
     getGoods = GetGoods()
     # todo getAllGoods
     allGoodsList = getGoods.getAllGoods()
     baseResponse = BaseResponse()
     baseResponse.code = "000001"
     baseResponse.desc = "successfully"
     for goods in allGoodsList:
         baseResponse.data.append(goods)
     json_str = json.dumps(baseResponse, cls=AllGoodsEncoder)
     self.write(json_str)
示例#4
0
 def get(self, *args, **kwargs):
     sign = self.get_argument('sign')
     time = self.get_argument('time')
     goods_id = self.get_argument('id')
     baseResponse = BaseResponse()
     md5Util = MD5Util()
     if sign == md5Util.md5Signature(time):
         getGoods = GetGoods()
         netGoodsDetail = getGoods.getGoodsById(goods_id)
         baseResponse.code = ResponseCode.op_success
         baseResponse.desc = ResponseCode.op_success_desc
         baseResponse.data = netGoodsDetail
     else:
         baseResponse.code = ResponseCode.fail_check_api_md5
         baseResponse.desc = ResponseCode.fail_check_api_md5_desc
     json_str = json.dumps(baseResponse, cls=GoodsDetailEncoder)
     self.write(json_str)
示例#5
0
    def post(self, *args, **kwargs):
        param = self.request.body.decode('utf-8')
        param = json.loads(param)
        sign = param['sign']
        time = param['time']
        admin_tel = param['tel']
        sms_pwd = param['sms']
        goods_id = param['goodsid']

        permissionMgr = PermissionManager()
        baseResponse = permissionMgr.checkAdminPermissionWithLoginStatus(sign=sign, time=time,
                                                                         admin_tel=admin_tel, sms_pwd=sms_pwd)
        if baseResponse.code == ResponseCode.success_check_admin_permission:
            getGoods = GetGoods()
            deleteResult = getGoods.deleteByGoodsId(goods_id=goods_id)
            if deleteResult:
                # todo 删除商品对应保存的图片
                baseResponse.code = ResponseCode.op_success
                baseResponse.desc = ResponseCode.op_success_desc
            else:
                baseResponse.code = ResponseCode.fail_op_db_data
                baseResponse.desc = ResponseCode.fail_op_db_data_desc
        json_str = json.dumps(baseResponse, cls=StrEncoder)
        self.write(json_str)
示例#6
0
 def __init__(self):
     self.userDao = UserDao()
     self.orderDao = OrderDao()
     self.goodsDao = GoodsDao()
     self.getGoods = GetGoods()
示例#7
0
class GetOrder:
    def __init__(self):
        self.userDao = UserDao()
        self.orderDao = OrderDao()
        self.goodsDao = GoodsDao()
        self.getGoods = GetGoods()

    """
    小程序, 获取单个用户的订单接口
    user_id: 用户ID信息
    order_status:订单状态{@see #OrderStatus}
    receive_flag:收货状态(暂不支持,接口中已去除,根据order_status处理)
    type: 1:全部订单;  2:补货订单(暂不支持,接口中已去除)
    page_num: 分页页码
    page_size: 分页每页数量
    """

    def getMyOrderList(self, user_id, order_status, page_num=1, page_size=10):
        if not user_id:
            return None
        user = self.userDao.queryByUserId(user_id)
        if not user:
            return None
        dbOrderResult = self.orderDao.queryByUserIdAndStatus(
            user, order_status, page_num, page_size)
        dbOrderList = self.convertDbRow2OrderList(dbOrderResult)
        if not dbOrderList:
            return None
        goodsIdList = []
        for order in dbOrderList:
            goodsIdList.append(order.order_id)
        if not goodsIdList:
            return None
        dbGoodsList = self.getGoods.getDbGoodsByIdList(goodsIdList)
        return self.convert2NetOrderList(dbOrderList=dbOrderList)

    """
    小程序, 获取单个用户的的订单总数
    """

    def getMyOrderSize(self, user_id):
        if not user_id:
            return 0
        return self.orderDao.queryCountByUserId(user_id)

    """
    小程序,获取单个用户的,特定订单状态的订单总数
    """

    def getMyOrderSizeByStatus(self, user_id, order_status):
        if not user_id:
            return 0
        return self.orderDao.queryCountByUserIdAndStatus(user_id, order_status)

    # 将数据库查询出来的结果,对应设置给category实体bean, 并作为集合返回出去
    def convertDbRow2OrderList(self, dbOrderAllRowsResult):
        if not dbOrderAllRowsResult:
            return None
        orderList = []
        for row in dbOrderAllRowsResult:
            dbOrder = DbOrder()
            row_id = row[0]
            dbOrder.order_id = row[1]
            dbOrder.goods_id = row[2]
            dbOrder.user_id = row[3]
            dbOrder.order_goods_size = row[4]
            dbOrder.order_goods_color = row[5]
            dbOrder.order_goods_count = row[6]
            dbOrder.order_status = row[7]
            dbOrder.order_pay_time = row[8]
            dbOrder.order_update_time = row[9]
            dbOrder.order_express_num = row[10]
            dbOrder.order_express_code = row[11]
            orderList.append(dbOrder)
        return orderList

    # 将数据库类型的dbOrder 转换为网络类型的netOrder
    def convert2NetOrder(self, dbOrder):
        if not dbOrder:
            return None
        netOrder = NetOrder()
        netOrder.order_id = dbOrder.order_id
        netOrder.goods_id = dbOrder.goods_id
        netOrder.user_id = dbOrder.user_id
        netOrder.order_goods_size = dbOrder.order_goods_size
        netOrder.order_goods_color = dbOrder.order_goods_color
        netOrder.order_goods_count = dbOrder.order_goods_count
        netOrder.order_status = dbOrder.order_status
        netOrder.order_pay_time = dbOrder.order_pay_time
        netOrder.order_update_time = dbOrder.order_update_time
        netOrder.order_express_num = dbOrder.order_express_num
        netOrder.order_express_code = dbOrder.order_express_code
        return netOrder

    # 将数据库类型的dbOrder 集合转换为网络类型的netOrder 集合
    def convert2NetOrderList(self, dbOrderList):
        if dbOrderList:
            netOrderList = []
            for dbOrder in dbOrderList:
                netorder = self.convert2NetOrder(dbOrder=dbOrder)
                if netorder:
                    netOrderList.append(netorder)
            return netOrderList
        return None
    def post(self, *args, **kwargs):
        param = self.request.body.decode('utf-8')
        param = json.loads(param)
        sign = param['sign']
        time = param['time']
        admin_tel = param['tel']
        sms_pwd = param['sms']
        goods_id = param['goodsid']
        cate_id = param['cateid']
        brand_id = param['brandid']
        goods_name = param['name']
        market_price = param['marketprice']
        current_price = param['currentprice']
        sale_count = param['salecount']
        stock_num = param['stocknum']
        status = param['status']
        goods_code = param['goodscode']
        goods_logo = param['goodslogo']
        thum_logo = param['thumlogo']
        keywords = param['keywords']

        # goods picture
        photo_thum_list = param['photosthumlist']

        # goods attribute
        attr_market_year = param['marketyear']
        attr_size_color_list = param['sizecolorlist']

        permissionMgr = PermissionManager()
        baseResponse = permissionMgr.checkAdminPermissionWithLoginStatus(sign=sign, time=time,
                                                                         admin_tel=admin_tel, sms_pwd=sms_pwd)
        if baseResponse.code == ResponseCode.success_check_admin_permission:
            getGoods = GetGoods()
            getPhoto = GetGoodsPhoto()
            getAttr = GetGoodsAttr()
            netGoodsDetail = getGoods.getGoodsById(goods_id=goods_id)
            if not netGoodsDetail:
                baseResponse.code = ResponseCode.fail_goods_not_found
                baseResponse.desc = ResponseCode.fail_goods_not_found_desc
            else:
                # 更新数据
                dbGoods = DbGoods()
                dbGoods.goods_id = netGoodsDetail.id
                if cate_id:
                    dbGoods.cate_id = cate_id
                if brand_id:
                    dbGoods.brand_id = brand_id
                if goods_name:
                    dbGoods.goods_name = goods_name
                if market_price:
                    dbGoods.market_price = market_price
                if current_price:
                    dbGoods.current_price = current_price
                if sale_count:
                    dbGoods.sale_count = sale_count
                if stock_num:
                    dbGoods.stock_num = stock_num
                if status:
                    dbGoods.status = status
                if goods_code:
                    dbGoods.goods_code = goods_code
                if goods_logo:
                    dbGoods.goods_logo = goods_logo
                if thum_logo:
                    dbGoods.thum_logo = thum_logo
                if keywords:
                    dbGoods.keywords = keywords
                #  photo
                dbPhotoThumList = []
                if photo_thum_list:
                    # delete first when update
                    getPhoto.deleteGoodsPhotoById(goods_id=dbGoods.goods_id)
                    for photo_thum in photo_thum_list:
                        dbGoodsPhoto = DbGoodsPhoto()
                        dbGoodsPhoto.photo = photo_thum['photos']
                        dbGoodsPhoto.thum_photo = photo_thum['thum_photo']
                        dbGoodsPhoto.goods_id = dbGoods.goods_id
                        dbPhotoThumList.append(dbGoodsPhoto)
                # attr
                dbGoodsAttrList = []
                if attr_size_color_list:
                    # delete first when update
                    getAttr.deleteGoodsAttr(dbGoods.goods_id)
                    for attr_size_color in attr_size_color_list:
                        dbGoodsAttr = DbAttribute()
                        attr_size = attr_size_color['goodssize']
                        attr_color = attr_size_color['goodscolor']
                        dbGoodsAttr.attr_size = attr_size
                        dbGoodsAttr.attr_color = attr_color
                        dbGoodsAttr.attr_market_year = attr_market_year
                        dbGoodsAttr.goods_id = dbGoods.goods_id
                        dbGoodsAttr.cate_id = dbGoods.cate_id
                        dbGoodsAttrList.append(dbGoodsAttr)
                updateResult = getGoods.updateToDb(goods=dbGoods)
                savePhotoResult = getPhoto.addGoodsPhotoList(dbPhotoThumList)
                saveAttrResult = getAttr.addGoodsAttrList(dbGoodsAttrList)
                if updateResult and savePhotoResult and saveAttrResult:
                    baseResponse.code = ResponseCode.op_success
                    baseResponse.desc = ResponseCode.op_success_desc
                else:
                    baseResponse.code = ResponseCode.fail_op_db_data
                    baseResponse.desc = ResponseCode.fail_op_db_data_desc
        json_str = json.dumps(baseResponse, cls=StrEncoder)
        self.write(json_str)
    def post(self, *args, **kwargs):
        param = self.request.body.decode('utf-8')
        param = json.loads(param)
        sign = param['sign']
        time = param['time']
        admin_tel = param['tel']
        sms_pwd = param['sms']
        cate_id = param['cateid']
        brand_id = param['brandid']
        goods_name = param['name']
        market_price = param['marketprice']
        current_price = param['currentprice']
        sale_count = param['salecount']
        stock_num = param['stocknum']
        status = param['status']
        goods_code = param['goodscode']
        goods_logo = param['goodslogo']
        thum_logo = param['thumlogo']
        keywords = param['keywords']

        # goods picture
        photo_thum_list = param['photosthumlist']

        # goods attribute
        attr_market_year = param['marketyear']
        attr_size_color_list = param['sizecolorlist']

        permissionMgr = PermissionManager()
        baseResponse = permissionMgr.checkAdminPermissionWithLoginStatus(
            sign=sign, time=time, admin_tel=admin_tel, sms_pwd=sms_pwd)
        if baseResponse.code == ResponseCode.success_check_admin_permission:
            genIdUtil = GenerateIDUtil()
            dbGoods = DbGoods()
            getGoods = GetGoods()
            getPhoto = GetGoodsPhoto()
            getAttr = GetGoodsAttr()
            dbGoods.goods_id = genIdUtil.getUID()
            if cate_id:
                dbGoods.cate_id = str(cate_id)
            if brand_id:
                dbGoods.brand_id = str(brand_id)
            if goods_name:
                dbGoods.goods_name = str(goods_name.encode('utf-8'))
            if market_price:
                dbGoods.market_price = str(market_price)
            if current_price:
                dbGoods.current_price = str(current_price)
            if sale_count:
                dbGoods.sale_count = str(sale_count)
            if stock_num:
                dbGoods.stock_num = str(stock_num)
            if status:
                dbGoods.status = str(status)
            else:
                dbGoods.status = str(GoodsStatus.STATUS_ON_SALE)
            if goods_code:
                dbGoods.goods_code = str(goods_code)
            if goods_logo:
                dbGoods.goods_logo = str(goods_logo)
            if thum_logo:
                dbGoods.thum_logo = str(thum_logo)
            if keywords:
                dbGoods.keywords = str(keywords.encode('utf-8'))
            #  photo
            dbPhotoThumList = []
            if photo_thum_list:
                for photo_thum in photo_thum_list:
                    dbGoodsPhoto = DbGoodsPhoto()
                    dbGoodsPhoto.photo = photo_thum['photos']
                    dbGoodsPhoto.thum_photo = photo_thum['thum_photo']
                    dbGoodsPhoto.goods_id = dbGoods.goods_id
                    dbPhotoThumList.append(dbGoodsPhoto)
            # attr
            dbGoodsAttrList = []
            if attr_size_color_list:
                for attr_size_color in attr_size_color_list:
                    dbGoodsAttr = DbAttribute()
                    attr_size = attr_size_color['goodssize']
                    attr_color = attr_size_color['goodscolor']
                    dbGoodsAttr.attr_size = attr_size
                    dbGoodsAttr.attr_color = attr_color
                    dbGoodsAttr.attr_market_year = attr_market_year
                    dbGoodsAttr.goods_id = dbGoods.goods_id
                    dbGoodsAttr.cate_id = dbGoods.cate_id
                    dbGoodsAttrList.append(dbGoodsAttr)

            saveResult = getGoods.saveOrUpdateToDb(goods=dbGoods)
            savePhotoResult = getPhoto.addGoodsPhotoList(dbPhotoThumList)
            saveAttrResult = getAttr.addGoodsAttrList(dbGoodsAttrList)
            if saveResult and savePhotoResult and saveAttrResult:
                baseResponse.code = ResponseCode.op_success
                baseResponse.desc = ResponseCode.op_success_desc
            else:
                baseResponse.code = ResponseCode.fail_op_db_data
                baseResponse.desc = ResponseCode.fail_op_db_data_desc
        json_str = json.dumps(baseResponse, cls=StrEncoder)
        self.write(json_str)