Example #1
0
    def confirm_voucher(self):
        """
        商家确认优惠券
        :return:
        """
        try:
            body = self.request.confirm_voucher_request
            numbers = body.numbers
            identity = body.identity
            c_numbers = body.c_numbers
            c_identity = body.c_identity
            merchant_identity = body.merchant_identity
            voucher_identity = body.voucher_identity
            activity_identity = body.activity_identity
            exec_confirm = body.exec_confirm

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

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

            kwargs = {"manager": numbers, "numbers": c_numbers, "merchant_identity": merchant_identity,
                      "voucher_identity": voucher_identity, "activity_identity": activity_identity,
                      "exec_confirm": exec_confirm}
            self.code, self.message = confirm_voucher(**kwargs)

            if 80300 == 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 = "manager confirm voucher done"

                response.confirm_voucher_response.state = self.message

                return response
            else:
                return 1
        except Exception as e:
            g_log.error("%s", e)
            return 0
Example #2
0
    def version_report(self):
        """
        版本上报
        :return:
        """
        try:
            body = self.request.version_report_request
            numbers = body.numbers
            version = body.version
            identity = body.identity

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

            self.code, self.message = version_report(numbers, version)

            if 90100 == 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 = "version report done"

                return response
            else:
                return 1
        except Exception as e:
            g_log.error("%s", e)
            return 0
Example #3
0
    def activity_update(self):
        """
        修改activity资料
        :return: 0/不回包给前端,pb/正确返回,1/错误,并回错误包
        """
        try:
            body = self.request.activity_update_request
            numbers = body.numbers
            identity = body.identity
            merchant_identity = body.merchant_identity
            activity_identity = body.activity_identity
            material = body.material

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

            # 发起请求的商家和要创建的商家不同,认为没有权限,TODO...更精细控制
            if self.numbers != numbers:
                g_log.warning("%s no privilege to update activity %s", self.numbers, numbers)
                self.code = 70402
                self.message = "no privilege to update activity"
                return 1

            value = {}

            if message_has_field(material, "title"):
                value["title"] = material.title
            if message_has_field(material, "poster"):
                value["poster"] = material.poster
            if message_has_field(material, "introduce"):
                value["introduce"] = material.introduce
            if message_has_field(material, "credit"):
                value["credit"] = material.credit
            if message_has_field(material, "expire_time"):
                value["expire_time"] = material.expire_time

            value["merchant_identity"] = merchant_identity
            value["activity_identity"] = activity_identity
            g_log.debug("update activity material: %s", value)
            self.code, self.message = activity_update_with_numbers(numbers, **value)

            if 70400 == 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 = "update activity material done"
                return response
            else:
                return 1
        except Exception as e:
            g_log.error("%s", e)
            return 0
Example #4
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
Example #5
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
Example #6
0
    def buy_activity(self):
        """
        用户购买优惠活动
        :return: 0/不回包给前端,pb/正确返回,1/错误,并回错误包
        """
        try:
            body = self.request.buy_activity_request
            numbers = body.numbers
            identity = body.identity
            merchant_identity = body.merchant_identity
            activity_identity = body.activity_identity

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

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

            spend_credit = []
            for credit in body.credits:
                spend_credit.append({"identity": credit.identity, "quantity": credit.quantity})
            kwargs = {"numbers": numbers,"activity_identity": activity_identity, "merchant_identity": merchant_identity,
                      "spend_credit": spend_credit}
            g_log.debug("buy activity: %s", kwargs)
            self.code, self.message = buy_activity(**kwargs)

            if 70800 == 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 = "buy activity done"

                body = response.buy_activity_response
                body.voucher = self.message

                return response
            else:
                return 1
        except Exception as e:
            g_log.error("%s", e)
            return 0
Example #7
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
Example #8
0
    def activity_create(self):
        """
        创建activity资料
        :return: 0/不回包给前端,pb/正确返回,1/错误,并回错误包
        """
        try:
            body = self.request.activity_create_request
            numbers = body.numbers
            identity = body.identity
            merchant_identity = body.merchant_identity
            material = body.material

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

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

            kwargs = {"numbers": numbers, "title": material.title, "poster": material.poster, "credit": material.credit,
                      "introduce": material.introduce, "merchant_identity": merchant_identity,
                      "expire_time": material.expire_time}
            g_log.debug("create activity: %s", kwargs)
            self.code, self.message = activity_create(**kwargs)

            if 70100 == 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 = "create activity done"
                
                response.activity_create_response.identity = self.message
                return response
            else:
                return 1
        except Exception as e:
            g_log.error("%s", e)
            return 0
Example #9
0
    def consumer_create(self):
        """
        创建consumer资料
        :return: 0/不回包给前端,pb/正确返回,1/错误,并回错误包
        """
        try:
            body = self.request.consumer_create_request
            numbers = body.numbers
            identity = body.identity
            material = body.material

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

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

            kwargs = {"numbers": numbers, "nickname": material.nickname, "avatar": material.avatar,
                      "email": material.email, "sexy": material.sexy, "age": material.age,
                      "introduce": material.introduce, "country": material.country, "location": material.location,
                      "qrcode": material.qrcode}
            g_log.debug("create consumer: %s", kwargs)
            self.code, self.message = consumer_create(**kwargs)

            if 20100 == 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 = "create consumer done"
                return response
            else:
                return 1
        except Exception as e:
            g_log.error("%s", e)
            return 0
Example #10
0
def consumer_delete_with_identity(identity):
    """
    删除用户资料
    :param identity: 用户ID
    :return:
    """
    try:
        # 根据用户id查找用户电话号码
        code, numbers = identity_to_numbers(identity)
        if code != 10500:
            return 20515, "illegal identity"
        return consumer_delete_with_numbers(numbers)
    except Exception as e:
        g_log.error("%s", e)
        return 20516, "exception"
Example #11
0
def activity_retrieve_with_identity(identity, merchant_identity):
    """
    查询活动资料
    :param identity: 用户ID
    :return:
    """
    try:
        # 根据用户id查找用户电话号码
        code, numbers = identity_to_numbers(identity)
        if code != 10500:
            return 70216, "illegal identity"
        return activity_retrieve_with_numbers(numbers, merchant_identity)
    except Exception as e:
        g_log.error("%s", e)
        return 70217, "exception"
Example #12
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
Example #13
0
    def upload_token_retrieve(self):
        """
        获取上传token
        """
        try:
            body = self.request.upload_token_request
            numbers = body.numbers
            identity = body.identity
            debug = body.debug
            kind = body.resource_kind
            merchant_identity = body.merchant_identity

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

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

            kwargs = {"numbers": numbers, "kind": kind, "debug": debug, "merchant_identity": merchant_identity}
            self.code, self.message = upload_token_retrieve(**kwargs)

            if 70100 == 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 upload token done"

                body = response.upload_token_response
                body.upload_token = self.message[0]
                body.key = self.message[1]
                return response
            else:
                return 1
        except Exception as e:
            g_log.error("%s", e)
            return 0
Example #14
0
def consumer_update_with_identity(identity, **kwargs):
    """
    更用户资料
    :param identity: 用户ID
    :param kwargs: {"numbers": "18688982240", "nickname": "trace deng", "introduce": "ego cogito ergo sum",
                    "avatar": "", "qrcode": "", "email": "*****@*****.**", "country": "RPC", "location": "magic city",
                    "sexy": "male", "age": 18}
    :return:
    """
    try:
        # 根据用户id查找用户电话号码
        code, numbers = identity_to_numbers(identity)
        if code != 10500:
            return 20416, "illegal identity"
        return consumer_update_with_numbers(numbers, **kwargs)
    except Exception as e:
        g_log.error("%s", e)
        return 20417, "exception"
Example #15
0
    def activity_delete(self):
        """
        删除活动资料
        :return: 0/不回包给前端,pb/正确返回,1/错误,并回错误包
        """
        try:
            body = self.request.activity_delete_request
            numbers = body.numbers
            identity = body.identity
            merchant_identity = body.merchant_identity
            activity_identity = body.activity_identity

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

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

            self.code, self.message = activity_delete_with_numbers(numbers, merchant_identity, activity_identity)

            if 70500 == 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 = "delete activity done"

                return response
            else:
                return 1
        except Exception as e:
            g_log.error("%s", e)
            return 0
Example #16
0
    def business_parameters_retrieve(self):
        """
        获取商家经营参数
        :return: 0/不回包给前端,pb/正确返回,1/错误,并回错误包
        """
        try:
            body = self.request.business_parameters_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

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

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

            if 50200 == 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 business parameters done"

                material = response.business_parameters_retrieve_response.material
                business_parameters_material_copy_from_document(material, self.message)
                return response
            else:
                return 1
        except Exception as e:
            g_log.error("%s", e)
            return 0
Example #17
0
    def consumption_ratio_update(self):
        """
        更新消费换积分比率
        :return: 0/不回包给前端,pb/正确返回,1/错误,并回错误包
        """
        try:
            body = self.request.consumption_ratio_update_request
            numbers = body.numbers
            merchant_identity = body.merchant_identity
            ratio = body.consumption_ratio
            identity = body.identity

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

            if self.numbers != numbers:
                g_log.warning("%s no privilege to retrieve consumer %s", self.numbers, numbers)
                self.code = 50402
                self.message = "no privilege"
                return 1

            kwargs = {"numbers": numbers, "merchant_identity": merchant_identity, "consumption_ratio": ratio}
            g_log.debug("update consumption ratio: %s", kwargs)
            self.code, self.message = consumption_ratio_update(**kwargs)

            if 50400 == 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 = "update consumption ratio done"
                return response
            else:
                return 1
        except Exception as e:
            g_log.error("%s", e)
            return 0
Example #18
0
    def access_token_retrieve(self):
        """
        获取资源管理token
        """
        try:
            body = self.request.access_token_request
            numbers = body.numbers
            identity = body.identity

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

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

            self.code, self.message = upload_token_retrieve(numbers)

            if 70300 == 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 access token done"

                body = response.access_token_response
                body.upload_token = self.message
                return response
            else:
                return 1
        except Exception as e:
            g_log.error("%s", e)
            return 0
Example #19
0
    def platform_update_parameters(self):
        """
        平台修改商家保证金、账户余额换积分比率
        :return: 0/不回包给前端,pb/正确返回,1/错误,并回错误包
        """
        try:
            body = self.request.platform_update_parameters_request
            numbers = body.numbers
            identity = body.identity
            # manager = body.manager
            merchant_identity = body.merchant_identity
            bond = body.bond
            ratio = body.balance_ratio

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

            kwargs = {"numbers": numbers, "merchant_identity": merchant_identity, "bond": bond, "balance_ratio": ratio}
            g_log.debug("platform update parameters: %s", kwargs)
            self.code, self.message = platform_update_parameters(**kwargs)

            if 50100 == 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 = "add business parameters done"

                return response
            else:
                return 1
        except Exception as e:
            g_log.error("%s", e)
            return 0
Example #20
0
    def recharge_trade_no_retrieve(self):
        """
        商家充值
        :return: 0/不回包给前端,pb/正确返回,1/错误,并回错误包
        """
        try:
            body = self.request.merchant_recharge_trade_no_request
            numbers = body.numbers
            merchant_identity = body.merchant_identity
            money = body.money
            identity = body.identity

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

            kwargs = {"numbers": numbers, "merchant_identity": merchant_identity, "money": money}
            g_log.debug("merchant recharge trade no: %s", kwargs)
            self.code, self.message = recharge_trade_no(**kwargs)

            if 60700 == 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 = "query recharge trade no done"

                body = response.merchant_recharge_trade_no_response
                body.trade_no = self.message
                return response
            else:
                return 1
        except Exception as e:
            g_log.error("%s", e)
            return 0
Example #21
0
    def merchant_retrieve_voucher(self):
        """
        商家读取优惠券
        :return:
        """
        try:
            body = self.request.merchant_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 = 80201
                    self.message = "missing argument"
                    return 1

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

            if 80200 == 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 = "merchant retrieve voucher done"

                vouchers = response.merchant_retrieve_voucher_response.vouchers
                for value in self.message:
                    vouchers_one = vouchers.add()
                    voucher_copy_from_document(vouchers_one, value)

                return response
            else:
                return 1
        except Exception as e:
            g_log.error("%s", e)
            return 0
Example #22
0
    def merchant_allow_exchange_in(self):
        """
        商家允许积分转入
        :return: 0/不回包给前端,pb/正确返回,1/错误,并回错误包
        """
        try:
            body = self.request.merchant_allow_exchange_in_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 = 60201
                    self.message = "missing argument"
                    return 1

            kwargs = {"numbers": numbers, "merchant_identity": merchant_identity}
            # g_log.debug("merchant exchange in: %s", kwargs)
            self.code, self.message = merchant_allow_exchange_in(**kwargs)

            if 60200 == 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 = "merchant allow exchange in done"

                response.merchant_allow_exchange_in_response.allow = self.message
                return response
            else:
                return 1
        except Exception as e:
            g_log.error("%s", e)
            return 0
Example #23
0
    def feed_back(self):
        """
        反馈
        :return:
        """
        try:
            body = self.request.feed_back_request
            numbers = body.numbers
            identity = body.identity
            version = body.version
            mode = body.mode
            feedback = body.feedback

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

            kwargs = {"numbers": numbers, "version": version, "mode": mode, "feedback": feedback}
            self.code, self.message = feed_back(**kwargs)

            if 90400 == 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 = "feed back done"

                return response
            else:
                return 1
        except Exception as e:
            g_log.error("%s", e)
            return 0
Example #24
0
    def merchant_withdrawals(self):
        """
        商家提现
        :return: 0/不回包给前端,pb/正确返回,1/错误,并回错误包
        """
        try:
            body = self.request.merchant_withdrawals_request
            numbers = body.numbers
            merchant_identity = body.merchant_identity
            money = body.money
            identity = body.identity

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

            kwargs = {"numbers": numbers, "merchant_identity": merchant_identity, "money": money}
            g_log.debug("merchant withdrawals: %s", kwargs)
            self.code, self.message = merchant_withdrawals(**kwargs)

            if 60400 == 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 = "merchant withdrawals done"
                return response
            else:
                return 1
        except Exception as e:
            g_log.error("%s", e)
            return 0
Example #25
0
    def balance_retrieve(self):
        """
        读取帐户余额
        :return:
        """
        try:
            body = self.request.merchant_balance_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 = 60601
                    self.message = "missing argument"
                    return 1

            g_log.debug("%s retrieve merchant %s balance", numbers, merchant_identity)
            self.code, self.message = balance_retrieve(numbers, merchant_identity)

            if 60600 == 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 balance done"

                response.merchant_balance_response.balance = self.message
                return response
            else:
                return 1
        except Exception as e:
            g_log.error("%s", e)
            return 0
Example #26
0
    def consumer_update(self):
        """
        修改consumer资料
        :return: 0/不回包给前端,pb/正确返回,1/错误,并回错误包
        """
        try:
            body = self.request.consumer_update_request
            numbers = body.numbers
            identity = body.identity
            material = body.material

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

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

            value = {}
            # TODO... HasField 问题
            # g_log.debug(dir(material))
            # g_log.debug(body.HasField('material'))
            # g_log.debug(body.HasField('numbers'))
            # g_log.debug(material.HasField(material.nickname))
            # g_log.debug(material.ListFields()[0][0].name)
            # g_log.debug(material.ListFields()[1][0].name)
            # g_log.debug("%s", material.ListFields())
            # g_log.debug("%s", body.ListFields())
            # if material.HasField('nickname'):
            #     value["nickname"] = material.nickname
            #
            # if material.HasField("sexy"):
            #     value["sexy"] = material.sexy
            #
            # if material.HasField("age"):
            #     value["age"] = material.age
            #
            # if material.HasField("email"):
            #     value["email"] = material.email
            #
            # if material.HasField("introduce"):
            #     value["introduce"] = material.introduce
            #
            # if material.HasField("country"):
            #     value["country"] = material.country
            #
            # if material.HasField("location"):
            #     value["location"] = material.location
            #
            # if material.HasField("avatar"):
            #     value["avatar"] = material.avatar
            #
            # if material.HasField("qrcode"):
            #     value["qrcode"] = material.qrcode

            if self._has_field(material, 'nickname'):
                value["nickname"] = material.nickname

            if self._has_field(material, "sexy"):
                value["sexy"] = material.sexy

            if self._has_field(material, "age"):
                value["age"] = material.age

            if self._has_field(material, "email"):
                value["email"] = material.email

            if self._has_field(material, "introduce"):
                value["introduce"] = material.introduce

            if self._has_field(material, "country"):
                value["country"] = material.country

            if self._has_field(material, "location"):
                value["location"] = material.location

            if self._has_field(material, "avatar"):
                value["avatar"] = material.avatar

            if self._has_field(material, "qrcode"):
                value["qrcode"] = material.qrcode

            g_log.debug("update consumer: %s", value)
            self.code, self.message = consumer_update_with_numbers(numbers, **value)

            if 20400 == 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 = "update consumer done"
                return response
            else:
                return 1
        except Exception as e:
            g_log.error("%s", e)
            return 0