Commit 4af0702a authored by clone's avatar clone

bug

parent 55836c5e
...@@ -54,17 +54,20 @@ class Register extends Basic ...@@ -54,17 +54,20 @@ class Register extends Basic
} }
/**
* @return \think\Response
*/
public function registerVerify() public function registerVerify()
{ {
$params = $this->params; $params = $this->params;
$params = array( /*$params = array(
"phone" => "16617616471", "phone" => "16617616471",
"device_id" => "1111", "device_id" => "1111",
"code" => 1231, "code" => 1231,
"wx_union_id" => "1111111111", //false "wx_union_id" => "1111111111", //false
"referrer_id" => 1, //邀请人id 经纪人or客户 也用于判断是否是分享出去的请求 "referrer_id" => 1, //邀请人id 经纪人or客户 也用于判断是否是分享出去的请求
"referrer_source" => 20, //false "referrer_source" => 20, //false
); );*/
$checkResult = $this->validate($params, "RegisterValidate.register"); $checkResult = $this->validate($params, "RegisterValidate.register");
if (true !== $checkResult) { if (true !== $checkResult) {
return $this->response("101", $checkResult); return $this->response("101", $checkResult);
...@@ -79,7 +82,13 @@ class Register extends Basic ...@@ -79,7 +82,13 @@ class Register extends Basic
$referrer_source = !empty($params["referrer_source"]) ? $params["referrer_source"] : 0; $referrer_source = !empty($params["referrer_source"]) ? $params["referrer_source"] : 0;
$last_login_ip = ip2long($this->request->ip()); $last_login_ip = ip2long($this->request->ip());
$this->service_->userRegister($phone, $referrer_id, $referrer_source, $wx_union_id,$last_login_ip); $msg = $this->service_->userRegister($phone, $referrer_id, $referrer_source, $wx_union_id,$last_login_ip);
if($msg["code"] == 101){
return $this->response("101",$msg["date"]);
}else{
return $this->response("200","request success",$msg["date"]);
}
} }
} }
\ No newline at end of file
...@@ -64,7 +64,7 @@ class WxSdk extends Basic ...@@ -64,7 +64,7 @@ class WxSdk extends Basic
if ($id > 0) { if ($id > 0) {
return $this->response("200", "request success", [ "id" => $id ]); return $this->response("200", "request success", $wxInfoObj);
} else { } else {
return $this->response("101", "request exception"); return $this->response("101", "request exception");
} }
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
namespace app\api\service; namespace app\api\service;
use app\api\untils\JwtUntils;
use app\model\Users; use app\model\Users;
use app\model\UWxInfo; use app\model\UWxInfo;
...@@ -37,6 +38,7 @@ class RegisterService ...@@ -37,6 +38,7 @@ class RegisterService
$id = 0; $id = 0;
$status = 0; $status = 0;
$agent_id = 0; $agent_id = 0;
$other_pic = "";
if (count($user_info) > 0) { if (count($user_info) > 0) {
switch ((int)$user_info[0]["status"]) { switch ((int)$user_info[0]["status"]) {
...@@ -45,79 +47,126 @@ class RegisterService ...@@ -45,79 +47,126 @@ class RegisterService
break; break;
case 0: //正常 case 0: //正常
if ($referrer_id > 0) if ($referrer_id > 0)
return '该账号已注册激活'; return [ "code" => 101, "data" => "该账号已注册激活" ];
break; break;
case 1: case 1:
return '该账号已被冻结'; return [ "code" => 101, "data" => "该账号已被冻结" ];
case 2://删除的账号该状态 case 2://删除的账号该状态
$status = 0; $status = 0;
break;
default: default:
return '改帐号异常'; return [ "code" => 101, "data" => "该帐号异常" ];
} }
$user_nick = $user_info[0]["user_nick"]; $user_nick = $user_info[0]["user_nick"];
$sex = $user_info[0]["sex"]; $sex = $user_info[0]["sex"];
$agent_id = $user_info[0]["agent_id"]; $agent_id = $user_info[0]["agent_id"];
} else { $id = $user_info[0]["id"];
//注册+绑定
$status = 0;
} }
// 验证union_id是否已经存在, // 验证union_id是否已经存在,
$wxInfoArr = [];
if ($wx_union_id) { if ($wx_union_id) {
$field = "id,wx_union_id,buyer_nick,buyer_img,sex"; $field = "id,wx_union_id,buyer_nick,buyer_img,sex";
$wxInfoArr = $this->wxInfoModel->getWxInfoByOpenId($wx_union_id, $field); $wxInfoArr = $this->wxInfoModel->getWxInfoByOpenId($wx_union_id, $field);
if (count($wxInfoArr) > 0) { if (count($wxInfoArr) > 0) {
$user_nick = !empty($user_nick) ? $user_nick : $wxInfoArr[0]["buyer_nick"]; $user_nick = !empty($user_nick) ? $user_nick : $wxInfoArr[0]["buyer_nick"];
$sex = !empty($sex) ? $sex : $wxInfoArr[0]["sex"]; $sex = !empty($sex) ? $sex : $wxInfoArr[0]["sex"];
$other_pic = $wxInfoArr[0]["buyer_img"];
} else { } else {
return '没有找到授权信息'; return [ "code" => 101, "data" => "没有找到授权信息" ];
} }
} }
//判断邀请关系 if邀请人是用户的话则此客户的盘方修改为邀请人的盘方 //判断邀请关系 if邀请人是用户的话则此客户的盘方修改为邀请人的盘方
if ($referrer_source == 10) { //会员邀请 if ($agent_id == 0) {
//查找邀请人的信息 $agent_id = $this->inviteRelationship($referrer_id, $referrer_source);
$field_referrer = 'id,agent_id,referrer_id,referrer_source';
$referrerArr = $this->userModel->getUserByWhere([ "id" => $referrer_id ], $field_referrer);
if (count($referrerArr) <= 0) {
return '邀请人不存在';
} }
$userArr = $this->userBin($user_nick, $sex, $id, $status, $agent_id, $phone, $referrer_id, $referrer_source, $last_login_ip, $other_pic);
//邀请人是经纪人直接邀请的,之前关系只存在一级,所以客方也是此经纪人 //保存数据
if ($referrerArr[0]['referrer_source'] == 20) { $id = $this->userModel->saveUser($userArr);
$agent_id = $referrerArr[0]['agent_id'];
} else {//邀请人是用户邀请的,判断此用户的邀请人和客房是否存在
$upParams["referrer_id"] = $referrer_id;
$upParams["agent_id"] = $referrerArr[0]['agent_id'];
$upReferrerArr = $this->userModel->getUserByWhere($upParams, "id");
if (count($upReferrerArr) <= 0) { //绑定微信
$agent_id = $referrerArr[0]['agent_id']; if ($wxInfoArr) {
} $params["user_id"] = $id;
} $params["id"] = $wxInfoArr[0]["id"];
$this->wxInfoModel->updateWxInfo($params);
} }
$jwt_data['id'] = $id;
$jwt_data['userNick'] = $user_nick;
$jwt_data['phone'] = $phone;
//绑定微信 $jwt = new JwtUntils();
}
private function inviteRelationship($referrer_id, $referrer_source) $AuthToken = $jwt->createToken($jwt_data);
{ return [ "code" => 200, "data" => $AuthToken ];
} }
public function userBin($last_login_ip, $is_share) /**
* @param $user_nick
* @param $sex
* @param $id
* @param $status
* @param $agent_id
* @param $phone
* @param $referrer_id
* @param $referrer_source
* @param $last_login_ip
* @param $other_pic
* @return mixed
*/
public function userBin($user_nick, $sex, $id, $status, $agent_id, $phone, $referrer_id, $referrer_source, $last_login_ip, $other_pic)
{ {
$userParams["update_time"] = date("Y-m-d H:i:s", time());
$userParams["update_time"] = date("Y-m-d H:i:s", time()); if ($id > 0) {
$userParams["id"] = $id;
} else {
$userParams["registration_time"] = date("Y-m-d H:i:s", time()); $userParams["registration_time"] = date("Y-m-d H:i:s", time());
}
$userParams["user_phone"] = $phone;
$userParams["user_nick"] = $user_nick;
$userParams["sex"] = $sex;
$userParams["status"] = $status;
$userParams["other_pic"] = $other_pic;
$userParams["agent_id"] = $agent_id;
$userParams["referrer_id"] = $referrer_id;
$userParams["referrer_source"] = $referrer_source;
$userParams["update_time"] = date("Y-m-d H:i:s", time());
//分享出去激活的不记录登录时间和ip //分享出去激活的不记录登录时间和ip
if ($is_share == 0) { if ($referrer_id == 0) {
$userParams["last_login_ip"] = $last_login_ip; $userParams["last_login_ip"] = $last_login_ip;
$userParams["last_login_time"] = date("Y-m-d H:i:s", time()); $userParams["last_login_time"] = date("Y-m-d H:i:s", time());
} }
return $userParams;
}
/**
* @param $referrer_id
* @param $referrer_source
* @return int|string
*/
private function inviteRelationship($referrer_id, $referrer_source)
{
$agent_id = 0;
if ($referrer_source == 10) { //会员邀请
//查找邀请人的信息
$field_referrer = 'id,agent_id,referrer_id,referrer_source';
$referrerArr = $this->userModel->getUserByWhere([ "id" => $referrer_id ], $field_referrer);
if (count($referrerArr) <= 0)
return '邀请人不存在';
//邀请人是经纪人直接邀请的,并且客方==邀请人
if ($referrerArr[0]['referrer_source'] == 20 && $referrerArr[0]['agent_id'] == $referrerArr[0]['referrer_id'])
$agent_id = $referrerArr[0]['referrer_id'];
} elseif ($referrer_source == 20) {
$agent_id = $referrer_id;
} }
return $agent_id;
}
} }
\ No newline at end of file
...@@ -50,7 +50,7 @@ class UWxInfo extends Model ...@@ -50,7 +50,7 @@ class UWxInfo extends Model
$wxBin = $this->wxInfoBin($params); $wxBin = $this->wxInfoBin($params);
Db::startTrans(); Db::startTrans();
try { try {
$this->where([ "id" => $wxBin["id"] ])->update($wxBin); $this->update($wxBin);
Db::commit(); Db::commit();
return $params["id"]; return $params["id"];
} catch (Exception $exception) { } catch (Exception $exception) {
...@@ -67,7 +67,7 @@ class UWxInfo extends Model ...@@ -67,7 +67,7 @@ class UWxInfo extends Model
* @param string $field * @param string $field
* @return false|\PDOStatement|string|\think\Collection * @return false|\PDOStatement|string|\think\Collection
*/ */
public function getWxInfoByOpenId(string $open_id , string $field = "id") public function getWxInfoByOpenId(string $open_id , string $field = "id,user_id")
{ {
$where_["wx_union_id"] = $open_id; $where_["wx_union_id"] = $open_id;
$where_["is_del"] = 0; $where_["is_del"] = 0;
......
...@@ -342,15 +342,15 @@ class Users extends Model ...@@ -342,15 +342,15 @@ class Users extends Model
->where('id', $data['referrer_id']) ->where('id', $data['referrer_id'])
->field('user_phone,user_name') ->field('user_phone,user_name')
->find(); ->find();
$referrer_user_string = $referrer_user['user_name'] . '-'.$referrer_user['user_phone']; $referrer_user_string = $referrer_user['user_name'] . '-' . $referrer_user['user_phone'];
} else { } else {
$referrer_user = $data['referrer_user'] = db('a_agents') $referrer_user = $data['referrer_user'] = db('a_agents')
->where('id', $data['referrer_id']) ->where('id', $data['referrer_id'])
->field('name,phone') ->field('name,phone')
->find(); ->find();
$referrer_user_string = $referrer_user['name'] . '-'.$referrer_user['phone']; $referrer_user_string = $referrer_user['name'] . '-' . $referrer_user['phone'];
} }
$data['referrer_user'] = $referrer_user_string ; $data['referrer_user'] = $referrer_user_string;
} }
return $data; return $data;
...@@ -456,7 +456,8 @@ class Users extends Model ...@@ -456,7 +456,8 @@ class Users extends Model
->select(); ->select();
} }
public function selectUserList($field,$params,$pageNo,$pageSize,$order = "id desc"){ public function selectUserList($field, $params, $pageNo, $pageSize, $order = "id desc")
{
$result = $this->field($field) $result = $this->field($field)
->where($params) ->where($params)
->order($order) ->order($order)
...@@ -567,12 +568,36 @@ class Users extends Model ...@@ -567,12 +568,36 @@ class Users extends Model
return $this->saveAll($data); return $this->saveAll($data);
} }
public function countUser(){ public function countUser()
{
$result = $this $result = $this
->field("id") ->field("id")
->where(["user_status"=>0]) ->where([ "user_status" => 0 ])
->count("id"); ->count("id");
// echo $this->getLastSql(); // echo $this->getLastSql();
return $result; return $result;
} }
/**
* 保存用户信息
* @param $user_data
* @return int|string
*/
public function saveUser($user_data)
{
Db::startTrans();
try {
if (!isset($user_data["id"])) {
$id = $this->insertGetId($user_data);
} else {
$this->update($user_data);
$id = $user_data["id"];
}
Db::commit();
return $id;
} catch (\Exception $e) {
Db::rollback();
return 0;
}
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment