严谨的程序案例Api

简介:

文档

  1. 功能
    同步推荐关系
  2. 接口方法
    syncRelation
  3. 参数描述
    OriginalUsername 查询的用户用户名
    RecommandUsername 推荐人用户名
  4. 返回值
    status 1成功 9 失败
  5. 备注
    Status=1 原用户不存在,关系未建立
    Status=2 推荐用户不存在,关系未建立
    Status=3 原用户存在,并且没有推荐人,推荐用户也存在,成功建立关系
    Status=4 原用户存在,而且已经有了推荐人,推荐人是传递的推荐用户,关系不再重建
    Status=5 原用户存在,而且已经有了推荐人,推荐人不是传递的推荐用户,关系重新建立,原推荐人是XXX
    Status=9 查询失败,操作异常
    protected function _initialize() {
        parent::_initialize();
        $this->outData = array('status'=>0,'msg'=>'','info'=>array());//输出参数
    }

    // 同步推荐关系
    public function syncRelation() {
        $memberModel = D('Member');
        $memberInviteeModel = D('Member_invitee');
        $OriginalUsername = $this->_request('OriginalUsername','trim'); // 被推荐人号码
        $RecommandUsername= $this->_request('RecommandUsername','trim'); // 推荐人号码
        if ($OriginalUsername == $RecommandUsername) {
            $this->outData['status'] = '9';
            $this->outData['msg']    = '参数有误';
            $this->printOut();
        }
        $o_member = $memberModel->getMemberByTel($OriginalUsername);
        if (empty($o_member)) {
            $this->outData['status'] = '1';
            $this->outData['msg']    = '原用户'.$OriginalUsername.'不存在,关系未建立';
            $this->printOut();
        }
        $o_wxinfo = $memberModel->getWxinfo($o_member['id']);

        $r_member = $memberModel->getMemberByTel($RecommandUsername);
        if (empty($r_member)) {
            $this->outData['status'] = '2';
            $this->outData['msg']    = '推荐用户'.$RecommandUsername.'不存在,关系未建立';
            $this->printOut();
        }
        $r_wxinfo = $memberModel->getWxinfo($r_member['id']);

        // 查询原用户是否存在推荐关系
        $o_member_invitee = $memberInviteeModel->getInviteeWxuserMember($o_wxinfo['id'],$o_member['id']);
        if (empty($o_member_invitee)) { // 不存在推荐人
            $r = $memberInviteeModel->setRelationship($r_member['id'],$o_member['id'],$o_wxinfo['id']);
            if ($r !== FALSE) {
                $this->outData['status'] = '3';
                $this->outData['msg']    = '原用户'.$OriginalUsername.'存在,并且没有推荐人,推荐用户'.$RecommandUsername.'也存在,成功建立关系';
                $this->printOut();
            } else {
                $this->outData['status'] = '9';
                $this->outData['msg']    = '查询失败,操作异常';
                $this->printOut();
            }
        }

        if ($o_member_invitee['member_id'] == $r_member['id']) {
            $this->outData['status'] = '4';
            $this->outData['msg']    = '原用户'.$OriginalUsername.'存在,而且已经有了推荐人,推荐人'.$RecommandUsername.'是传递的推荐用户,关系不再重建';
            $this->printOut();
        }

        // 获取原推荐人信息
        $o_member_inviter = $memberModel->getMemberById($o_member_invitee['member_id']);

        // 修改原有推荐关系
        $o_member_invitee['member_id'] = $r_member['id'];
        $r = $memberInviteeModel->where(array('id'=>$o_member_invitee['id']))->save($o_member_invitee);

        if ($r !== FALSE) {
            $this->outData['status'] = '5';
            $this->outData['msg']    = '原用户'.$OriginalUsername.'存在,而且已经有了推荐人,推荐人不是传递的推荐用户,关系重新建立,新推荐人'.$RecommandUsername.',原推荐人是'.$o_member_inviter['tel'];
            $this->printOut();
        } else {
            $this->outData['status'] = '9';
            $this->outData['msg']    = '查询失败,操作异常';
            $this->printOut();
        }

    }

    protected function printOut() {
        exit(json_encode($this->outData));
    }

本文转自TBHacker博客园博客,原文链接:http://www.cnblogs.com/jiqing9006/p/5735367.html,如需转载请自行联系原作者
相关文章
|
监控 前端开发 JavaScript
实战篇:商品API接口在跨平台销售中的有效运用与案例解析
随着电子商务的蓬勃发展,企业为了扩大市场覆盖面,经常需要在多个在线平台上展示和销售产品。然而,手工管理多个平台的库存、价格、商品描述等信息既耗时又容易出错。商品API接口在这一背景下显得尤为重要,它能够帮助企业在不同的销售平台之间实现商品信息的高效同步和管理。本文将通过具体的淘宝API接口使用案例,展示如何在跨平台销售中有效利用商品API接口,以及如何通过代码实现数据的统一管理。
|
API
GEE案例分析——利用sentinel-3数据计算空气污染指数(Air Pollution Index,简称API)
GEE案例分析——利用sentinel-3数据计算空气污染指数(Air Pollution Index,简称API)
649 0
|
缓存 负载均衡 监控
微服务架构下的电商API接口设计:策略、方法与实战案例
本文探讨了微服务架构下的电商API接口设计,旨在打造高效、灵活与可扩展的电商系统。通过服务拆分(如商品、订单、支付等模块)和标准化设计(RESTful或GraphQL风格),确保接口一致性与易用性。同时,采用缓存策略、负载均衡及限流技术优化性能,并借助Prometheus等工具实现监控与日志管理。微服务架构的优势在于支持敏捷开发、高并发处理和独立部署,满足电商业务快速迭代需求。未来,电商API设计将向智能化与安全化方向发展。
623 102
|
供应链 API
案例分享:API如何助力小型电商实现月销售额翻倍
"悦居生活"通过接入支付、库存、营销及物流API,优化运营流程,解决库存滞后、营销低效、物流体验差等问题,实现库存周转率提升152%、会员复购率增长128%、月销售额突破32万元。
|
SQL Java 程序员
Java 8中的Stream API:简介与实用案例
【5月更文挑战第23天】本文将深入探讨Java 8中的Stream API,这是一种能够极大提升Java程序员生产力的新特性。我们将从基础概念开始,然后通过一些实用的案例来展示如何使用Stream API进行数据处理和操作。无论你是Java的初学者还是经验丰富的开发者,本文都将为你提供有价值的信息。
|
JSON BI API
商城上货API接口的实战案例
在商城上货过程中,API接口扮演着至关重要的角色。以下是对商城上货API接口的实战分析,涵盖其主要功能、类型、安全性以及实战案例等方面。
|
XML 数据可视化 API
商品详情数据实战案例,API接口系列
淘宝商品详情数据在电商领域具有广泛的应用价值,而淘宝商品详情API接口则为开发者提供了获取这些数据的重要途径。通过合理利用这些接口和数据,可以提升业务效率、优化用户体验,为电商行业的发展注入新的活力。
|
开发者
告别繁琐代码,JSF标签库带你走进高效开发的新时代!
【8月更文挑战第31天】JSF(JavaServer Faces)标准标签库为页面开发提供了大量组件标签,如`<h:inputText>`、`<h:dataTable>`等,简化代码、提升效率并确保稳定性。本文通过示例展示如何使用这些标签实现常见功能,如创建登录表单和展示数据列表,帮助开发者更高效地进行Web应用开发。
305 1
|
存储 Linux API
Linux源码阅读笔记08-进程调度API系统调用案例分析
Linux源码阅读笔记08-进程调度API系统调用案例分析
|
JSON 数据管理 关系型数据库
【Dataphin V3.9】颠覆你的数据管理体验!API数据源接入与集成优化,如何让企业轻松驾驭海量异构数据,实现数据价值最大化?全面解析、实战案例、专业指导,带你解锁数据整合新技能!
【8月更文挑战第15天】随着大数据技术的发展,企业对数据处理的需求不断增长。Dataphin V3.9 版本提供更灵活的数据源接入和高效 API 集成能力,支持 MySQL、Oracle、Hive 等多种数据源,增强 RESTful 和 SOAP API 支持,简化外部数据服务集成。例如,可轻松从 RESTful API 获取销售数据并存储分析。此外,Dataphin V3.9 还提供数据同步工具和丰富的数据治理功能,确保数据质量和一致性,助力企业最大化数据价值。
744 1