Commit 4af0702a authored by clone's avatar clone

bug

parent 55836c5e
......@@ -54,17 +54,20 @@ class Register extends Basic
}
/**
* @return \think\Response
*/
public function registerVerify()
{
$params = $this->params;
$params = array(
/*$params = array(
"phone" => "16617616471",
"device_id" => "1111",
"code" => 1231,
"wx_union_id" => "1111111111", //false
"referrer_id" => 1, //邀请人id 经纪人or客户 也用于判断是否是分享出去的请求
"referrer_source" => 20, //false
);
);*/
$checkResult = $this->validate($params, "RegisterValidate.register");
if (true !== $checkResult) {
return $this->response("101", $checkResult);
......@@ -79,7 +82,13 @@ class Register extends Basic
$referrer_source = !empty($params["referrer_source"]) ? $params["referrer_source"] : 0;
$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
if ($id > 0) {
return $this->response("200", "request success", [ "id" => $id ]);
return $this->response("200", "request success", $wxInfoObj);
} else {
return $this->response("101", "request exception");
}
......
......@@ -2,6 +2,7 @@
namespace app\api\service;
use app\api\untils\JwtUntils;
use app\model\Users;
use app\model\UWxInfo;
......@@ -37,6 +38,7 @@ class RegisterService
$id = 0;
$status = 0;
$agent_id = 0;
$other_pic = "";
if (count($user_info) > 0) {
switch ((int)$user_info[0]["status"]) {
......@@ -45,79 +47,126 @@ class RegisterService
break;
case 0: //正常
if ($referrer_id > 0)
return '该账号已注册激活';
return [ "code" => 101, "data" => "该账号已注册激活" ];
break;
case 1:
return '该账号已被冻结';
return [ "code" => 101, "data" => "该账号已被冻结" ];
case 2://删除的账号该状态
$status = 0;
break;
default:
return '改帐号异常';
return [ "code" => 101, "data" => "该帐号异常" ];
}
$user_nick = $user_info[0]["user_nick"];
$sex = $user_info[0]["sex"];
$agent_id = $user_info[0]["agent_id"];
} else {
//注册+绑定
$status = 0;
$id = $user_info[0]["id"];
}
// 验证union_id是否已经存在,
$wxInfoArr = [];
if ($wx_union_id) {
$field = "id,wx_union_id,buyer_nick,buyer_img,sex";
$wxInfoArr = $this->wxInfoModel->getWxInfoByOpenId($wx_union_id, $field);
if (count($wxInfoArr) > 0) {
$user_nick = !empty($user_nick) ? $user_nick : $wxInfoArr[0]["buyer_nick"];
$sex = !empty($sex) ? $sex : $wxInfoArr[0]["sex"];
$other_pic = $wxInfoArr[0]["buyer_img"];
} else {
return '没有找到授权信息';
return [ "code" => 101, "data" => "没有找到授权信息" ];
}
}
//判断邀请关系 if邀请人是用户的话则此客户的盘方修改为邀请人的盘方
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) {
$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 ($agent_id == 0) {
$agent_id = $this->inviteRelationship($referrer_id, $referrer_source);
}
$userArr = $this->userBin($user_nick, $sex, $id, $status, $agent_id, $phone, $referrer_id, $referrer_source, $last_login_ip, $other_pic);
//保存数据
$id = $this->userModel->saveUser($userArr);
//绑定微信
}
if ($wxInfoArr) {
$params["user_id"] = $id;
$params["id"] = $wxInfoArr[0]["id"];
$this->wxInfoModel->updateWxInfo($params);
}
private function inviteRelationship($referrer_id, $referrer_source)
{
$jwt_data['id'] = $id;
$jwt_data['userNick'] = $user_nick;
$jwt_data['phone'] = $phone;
$jwt = new JwtUntils();
$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());
$userParams["registration_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["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
if ($is_share == 0) {
if ($referrer_id == 0) {
$userParams["last_login_ip"] = $last_login_ip;
$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
$wxBin = $this->wxInfoBin($params);
Db::startTrans();
try {
$this->where([ "id" => $wxBin["id"] ])->update($wxBin);
$this->update($wxBin);
Db::commit();
return $params["id"];
} catch (Exception $exception) {
......@@ -67,7 +67,7 @@ class UWxInfo extends Model
* @param string $field
* @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_["is_del"] = 0;
......
......@@ -331,26 +331,26 @@ class Users extends Model
{
$field = 'id as user_id,agent_id,sex,user_nick,user_name,user_pic,user_status,user_phone,create_time,
referrer_source,referrer_id,registration_time,industry_type,price_demand,area_demand,source';
$data = db('u_users')
$data = db('u_users')
->where('id', $user_id)
->field($field)
->find();
if ($referrer != 0) {
if ($data['referrer_source'] == 10) {
$referrer_user = $data['referrer_user'] = db('u_users')
$referrer_user = $data['referrer_user'] = db('u_users')
->where('id', $data['referrer_id'])
->field('user_phone,user_name')
->find();
$referrer_user_string = $referrer_user['user_name'] . '-'.$referrer_user['user_phone'];
$referrer_user_string = $referrer_user['user_name'] . '-' . $referrer_user['user_phone'];
} else {
$referrer_user = $data['referrer_user'] = db('a_agents')
$referrer_user = $data['referrer_user'] = db('a_agents')
->where('id', $data['referrer_id'])
->field('name,phone')
->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;
......@@ -456,14 +456,15 @@ class Users extends Model
->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)
->where($params)
->order($order)
->page($pageNo)
->limit($pageSize)
->select();
// echo $this->getLastSql();
// echo $this->getLastSql();
return $result;
}
......@@ -567,12 +568,36 @@ class Users extends Model
return $this->saveAll($data);
}
public function countUser(){
public function countUser()
{
$result = $this
->field("id")
->where(["user_status"=>0])
->where([ "user_status" => 0 ])
->count("id");
// echo $this->getLastSql();
// echo $this->getLastSql();
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