示例#1
0
    def parameters_record_retrieve(self):
        """
        读取经营参数变更纪录
        :return:
        """
        try:
            body = self.request.parameters_record_retrieve_request
            numbers = body.numbers
            merchant_identity = body.merchant_identity
            identity = body.identity

            if not numbers:
                # 根据包体中的identity获取numbers
                code, numbers = identity_to_numbers(identity)
                if code != 10500:
                    self.code = 50201
                    self.message = "missing argument"
                    return 1

            if merchant_identity:
                g_log.debug("%s retrieve merchant %s parameters", numbers, merchant_identity)
            else:
                g_log.debug("%s retrieve all merchant parameters", numbers)
            self.code, self.message = parameters_record_retrieve(numbers, merchant_identity)

            if 50600 == self.code:
                # 更新成功
                response = common_pb2.Response()
                response.head.cmd = self.head.cmd
                response.head.seq = self.head.seq
                response.head.code = 1
                response.head.message = "retrieve record done"

                parameters_record = response.parameters_record_retrieve_response.parameters_record
                last_merchant = ""
                # 遍历管理员所有商家
                for value in self.message:
                    if last_merchant != value["merchant_identity"]:
                        parameters_record_one = parameters_record.add()
                        # 商家资料
                        code, merchants = merchant_retrieve_with_merchant_identity_only(value["merchant_identity"])
                        merchant_material_copy_from_document(parameters_record_one.merchant, merchants[0])
                        aggressive_record = parameters_record_one.aggressive_record
                    aggressive_record_one = aggressive_record.add()
                    last_merchant = value["merchant_identity"]
                    business_parameters_record_copy_from_document(aggressive_record_one, value)

                return response
            else:
                return 1
        except Exception as e:
            g_log.error("%s", e)
            return 0
示例#2
0
    def merchant_credit_flow_retrieve(self):
        """
        读取商家积分、余额详情
        :return:
        """
        try:
            body = self.request.merchant_credit_flow_retrieve_request
            numbers = body.numbers
            merchant_identity = body.merchant_identity
            identity = body.identity

            if not numbers:
                # 根据包体中的merchant_identity获取numbers
                code, numbers = identity_to_numbers(identity)
                if code != 10500:
                    self.code = 60101
                    self.message = "missing argument"
                    return 1

            if merchant_identity:
                g_log.debug("%s retrieve merchant %s credit", numbers, merchant_identity)
            else:
                g_log.debug("%s retrieve all merchant credit", numbers)
            self.code, self.message = merchant_credit_flow_retrieve(numbers, merchant_identity)

            if 60100 == self.code:
                # 更新成功
                response = common_pb2.Response()
                response.head.cmd = self.head.cmd
                response.head.seq = self.head.seq
                response.head.code = 1
                response.head.message = "retrieve merchant credit done"

                credit_flow = response.merchant_credit_flow_retrieve_response.credit_flow
                last_merchant = ""
                # 遍历管理员所有商家
                for value in self.message:
                    if last_merchant != value["merchant_identity"]:
                        credit_flow_one = credit_flow.add()
                        # 商家资料
                        code, merchants = merchant_retrieve_with_merchant_identity_only(value["merchant_identity"])
                        merchant_material_copy_from_document(credit_flow_one.merchant, merchants[0])
                        material = credit_flow_one.material
                    # aggressive_record_one = aggressive_record.add()
                    last_merchant = value["merchant_identity"]
                    merchant_flow_copy_from_document(material, value)

                return response
            else:
                return 1
        except Exception as e:
            g_log.error("%s", e)
            return 0
示例#3
0
    def activity_retrieve(self):
        """
        获取activity资料
        :return: 0/不回包给前端,pb/正确返回,1/错误,并回错误包
        """
        try:
            body = self.request.activity_retrieve_request
            numbers = body.numbers
            identity = body.identity
            merchant_identity = body.merchant_identity
            
            if not numbers:
                # 根据包体中的identity获取numbers
                code, numbers = identity_to_numbers(identity)
                if code != 10500:
                    self.code = 70201
                    self.message = "missing argument"
                    return 1

            # 发起请求的用户和要获取的用户不同,认为没有权限,TODO...更精细控制
            if self.numbers != numbers:
                g_log.warning("%s no privilege to retrieve activity %s", self.numbers, numbers)
                self.code = 70202
                self.message = "no privilege to retrieve activity"
                return 1

            self.code, self.message = activity_retrieve_with_numbers(numbers, merchant_identity)

            if 70200 == self.code:
                # 获取成功
                response = common_pb2.Response()
                response.head.cmd = self.head.cmd
                response.head.seq = self.head.seq
                response.head.code = 1
                response.head.message = "retrieve activity done"

                body = response.activity_retrieve_response
                code, merchants = merchant_retrieve_with_merchant_identity_only(merchant_identity)
                merchant_material_copy_from_document(body.merchant, merchants[0])
                for value in self.message:
                    material = body.materials.add()
                    activity_material_copy_from_document(material, value)

                return response
            else:
                return 1
        except Exception as e:
            g_log.error("%s", e)
            return 0
示例#4
0
    def consumer_retrieve_voucher(self):
        """
        用户读取优惠
        :return:
        """
        try:
            body = self.request.consumer_retrieve_voucher_request
            numbers = body.numbers
            merchant_identity = body.merchant_identity
            identity = body.identity

            if not numbers:
                # 根据包体中的merchant_identity获取numbers
                code, numbers = identity_to_numbers(identity)
                if code != 10500:
                    self.code = 80101
                    self.message = "missing argument"
                    return 1
                
            self.code, self.message = consumer_retrieve_voucher(numbers, merchant_identity)
            if 80100 == self.code:
                # 更新成功
                response = common_pb2.Response()
                response.head.cmd = self.head.cmd
                response.head.seq = self.head.seq
                response.head.code = 1
                response.head.message = "retrieve voucher done"

                merchant_voucher = response.consumer_retrieve_voucher_response.merchant_voucher
                last_merchant = ""
                # 遍历所有商家
                for value in self.message:
                    if last_merchant != value["merchant_identity"]:
                        merchant_voucher_one = merchant_voucher.add()
                        # 商家资料
                        code, merchants = merchant_retrieve_with_merchant_identity_only(value["merchant_identity"])
                        merchant_material_copy_from_document(merchant_voucher_one.merchant, merchants[0])
                        vouchers = merchant_voucher_one.vouchers
                    vouchers_one = vouchers.add()
                    last_merchant = value["merchant_identity"]
                    voucher_copy_from_document(vouchers_one, value)

                return response
            else:
                return 1
        except Exception as e:
            g_log.error("%s", e)
            return 0