>백엔드 개발 >PHP 튜토리얼 >PHP로 구현된 동기화 추천 연산 API 인터페이스 사례 연구

PHP로 구현된 동기화 추천 연산 API 인터페이스 사례 연구

黄舟
黄舟원래의
2017-02-25 09:14:561842검색

이 글에서는 PHP로 구현한 동기식 권장 작업 API 인터페이스를 분석합니다. 참고용으로 다음과 같이 공유하세요.

문서

1. 기능

동기화된 추천 관계

2. 인터페이스 방식

syncRelation

3. 매개변수 설명

OriginalUsername 사용자 이름 조회

RecommandUsername 권장 사용자 이름

4. 반환 값

상태 1 성공 9 실패

5. 상태= 1 원래 사용자가 존재하지 않고 관계가 성립되지 않았습니다
상태=2 추천 사용자가 존재하지 않으며 관계가 성립되지 않았습니다

상태=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));
}




위 사례 분석 내용입니다. PHP로 구현된 동기화 권장 작업 API 인터페이스에 대한 자세한 내용은 PHP 중국어 웹사이트(www.php.cn)를 참고하세요!


-->

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.