|
@@ -1,8 +1,9 @@
|
|
<?php
|
|
<?php
|
|
|
|
+
|
|
namespace app\agent\controller;
|
|
namespace app\agent\controller;
|
|
|
|
|
|
use app\agent\BaseController;
|
|
use app\agent\BaseController;
|
|
-use app\common\model\Agent as AgentModel;
|
|
|
|
|
|
+use app\common\model\UserPart as UserPartModel;
|
|
use app\common\model\Broker as BrokerModel;
|
|
use app\common\model\Broker as BrokerModel;
|
|
use app\common\model\User as UserModel;
|
|
use app\common\model\User as UserModel;
|
|
|
|
|
|
@@ -11,167 +12,213 @@ use think\exception\ValidateException;
|
|
|
|
|
|
class Broker extends BaseController
|
|
class Broker extends BaseController
|
|
{
|
|
{
|
|
-
|
|
|
|
- public function brokerList()
|
|
|
|
- {
|
|
|
|
- return view('broker/brokerlist');
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- public function brokerForm()
|
|
|
|
- {
|
|
|
|
- $id = input('id/d, 0');
|
|
|
|
- $broker = BrokerModel::findOrEmpty($id);
|
|
|
|
- $agent = $this->access_agent;
|
|
|
|
- return view('broker/brokerform',[
|
|
|
|
- 'agent' => $agent,
|
|
|
|
- 'broker' => $broker
|
|
|
|
- ]);
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- public function editBroker()
|
|
|
|
- {
|
|
|
|
- $agent = $this->access_agent;
|
|
|
|
- $data = [
|
|
|
|
- 'workerid' => $agent['workerid'],
|
|
|
|
- 'agentid' => $agent['id'],
|
|
|
|
- 'title' => input('title/s', ""),
|
|
|
|
- 'mobile' => input('mobile/s', ""),
|
|
|
|
- 'weixin' => input('weixin/s', ""),
|
|
|
|
- 'qq' => input('qq/s', ""),
|
|
|
|
- 'province' => input('province/s', ""),
|
|
|
|
- 'city' => input('city/s', ""),
|
|
|
|
- 'district' => input('district/s', ""),
|
|
|
|
- 'details' => input('details/s', ""),
|
|
|
|
- 'powerreport' => input('powerreport/d', 0)==1 ? 1 : 2,
|
|
|
|
- 'status' => input('status/d')==1 ? 1 : 2
|
|
|
|
- ];
|
|
|
|
|
|
|
|
|
|
+ public function brokerList()
|
|
|
|
+ {
|
|
|
|
+ return view('broker/brokerlist');
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public function brokerForm()
|
|
|
|
+ {
|
|
|
|
+ $id = input('id/d, 0');
|
|
|
|
+ $broker = BrokerModel::findOrEmpty($id);
|
|
|
|
+ $agent = $this->access_agent;
|
|
|
|
+ return view('broker/brokerform', [
|
|
|
|
+ 'agent' => $agent,
|
|
|
|
+ 'broker' => $broker,
|
|
|
|
+ ]);
|
|
|
|
+ }
|
|
|
|
|
|
|
|
+ public function editBroker()
|
|
|
|
+ {
|
|
|
|
+ $agent = $this->access_agent;
|
|
|
|
+ $data = [
|
|
|
|
+ 'workerid' => $agent['workerid'],
|
|
|
|
+ 'agentid' => $agent['id'],
|
|
|
|
+ 'title' => input('title/s', ""),
|
|
|
|
+ 'mobile' => input('mobile/s', ""),
|
|
|
|
+ 'weixin' => input('weixin/s', ""),
|
|
|
|
+ 'qq' => input('qq/s', ""),
|
|
|
|
+ 'province' => input('province/s', ""),
|
|
|
|
+ 'city' => input('city/s', ""),
|
|
|
|
+ 'district' => input('district/s', ""),
|
|
|
|
+ 'details' => input('details/s', ""),
|
|
|
|
+ 'powerreport' => input('powerreport/d', 0) == 1 ? 1 : 2,
|
|
|
|
+ 'status' => input('status/d') == 1 ? 1 : 2,
|
|
|
|
+ ];
|
|
|
|
|
|
|
|
|
|
- if (empty($id)){
|
|
|
|
- $id = input('id/d');
|
|
|
|
- $vdata = array(
|
|
|
|
- 'id' => $id,
|
|
|
|
- 'mobile' => input('mobile/s')
|
|
|
|
- );
|
|
|
|
|
|
+ if (empty($id)) {
|
|
|
|
+ $id = input('id/d');
|
|
|
|
+ $vdata = [
|
|
|
|
+ 'id' => $id,
|
|
|
|
+ 'mobile' => input('mobile/s'),
|
|
|
|
+ ];
|
|
try {
|
|
try {
|
|
validate(BrokerValidate::class)->check($vdata);
|
|
validate(BrokerValidate::class)->check($vdata);
|
|
} catch (ValidateException $e) {
|
|
} catch (ValidateException $e) {
|
|
- exit(json_encode(array(
|
|
|
|
- 'code' => 1,
|
|
|
|
- 'msg' => $e->getError()
|
|
|
|
- )));
|
|
|
|
|
|
+ exit(json_encode([
|
|
|
|
+ 'code' => 1,
|
|
|
|
+ 'msg' => $e->getError(),
|
|
|
|
+ ]));
|
|
}
|
|
}
|
|
|
|
|
|
- $musermap = array();
|
|
|
|
- $brokeridarr = BrokerModel::where('agentid','=',$agent['id'])->column('id');
|
|
|
|
- $musermap[] = ['brokerid', 'in', $brokeridarr];
|
|
|
|
- $musermap[] = ['brokerid', '<>', 0];
|
|
|
|
- $musermap[] = ['mobile', '=', input('musermobile/s', '')];
|
|
|
|
- $muser = UserModel::where($musermap)->findOrEmpty();
|
|
|
|
- if ($muser->isEmpty()){
|
|
|
|
- exit(json_encode(array(
|
|
|
|
- 'code' => 1,
|
|
|
|
- 'msg' => "关联的用户不存在。"
|
|
|
|
- )));
|
|
|
|
|
|
+ $musermap = [];
|
|
|
|
+ $brokeridarr = BrokerModel::where('agentid', '=', $agent['id'])->column('id');
|
|
|
|
+ $musermap[] = ['brokerid', 'in', $brokeridarr];
|
|
|
|
+ $musermap[] = ['brokerid', '<>', 0];
|
|
|
|
+ $musermap[] = ['mobile', '=', input('musermobile/s', '')];
|
|
|
|
+ $muser = UserModel::where($musermap)->findOrEmpty();
|
|
|
|
+ if ($muser->isEmpty()) {
|
|
|
|
+ exit(json_encode([
|
|
|
|
+ 'code' => 1,
|
|
|
|
+ 'msg' => "关联的用户不存在。",
|
|
|
|
+ ]));
|
|
}
|
|
}
|
|
|
|
|
|
- $broker_user = BrokerModel::where('userid',$muser->id)->find();
|
|
|
|
|
|
+ $broker_user = BrokerModel::where('userid', $muser->id)->find();
|
|
if (!empty($broker_user)) {
|
|
if (!empty($broker_user)) {
|
|
- exit(json_encode(array(
|
|
|
|
- 'code' => 1,
|
|
|
|
- 'msg' => "该用户已是经纪人。"
|
|
|
|
- )));
|
|
|
|
|
|
+ exit(json_encode([
|
|
|
|
+ 'code' => 1,
|
|
|
|
+ 'msg' => "该用户已是经纪人。",
|
|
|
|
+ ]));
|
|
}
|
|
}
|
|
|
|
|
|
- $data['userid'] = $muser->id;
|
|
|
|
- $data['createtime'] = time();
|
|
|
|
- $broker = BrokerModel::create($data);
|
|
|
|
-
|
|
|
|
- event('brokerAdd',$broker);
|
|
|
|
- }else{
|
|
|
|
- $broker = BrokerModel::find($id);
|
|
|
|
- $broker->save($data);
|
|
|
|
- }
|
|
|
|
- exit(json_encode(array(
|
|
|
|
- 'code' => 0
|
|
|
|
- )));
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- public function fieldBroker()
|
|
|
|
- {
|
|
|
|
- $id = input('id/d',0);
|
|
|
|
- $broker = BrokerModel::findOrEmpty($id);
|
|
|
|
- if ($broker->isEmpty()){
|
|
|
|
- exit(json_encode(array(
|
|
|
|
- 'code' => 1,
|
|
|
|
- 'msg' => "信息不存在"
|
|
|
|
- )));
|
|
|
|
- }else{
|
|
|
|
- $broker->save([
|
|
|
|
- input('field/s') => input('value')
|
|
|
|
- ]);
|
|
|
|
- }
|
|
|
|
- exit(json_encode(array(
|
|
|
|
- 'code' => 0
|
|
|
|
- )));
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- public function delBroker()
|
|
|
|
- {
|
|
|
|
- $idarr = input('idarr/a');
|
|
|
|
- $user_check = UserModel::whereIn('brokerid',$idarr)->find();
|
|
|
|
|
|
+ $data['userid'] = $muser->id;
|
|
|
|
+ $data['createtime'] = time();
|
|
|
|
+ $broker = BrokerModel::create($data);
|
|
|
|
+
|
|
|
|
+ event('brokerAdd', $broker);
|
|
|
|
+ } else {
|
|
|
|
+ $broker = BrokerModel::find($id);
|
|
|
|
+ $broker->save($data);
|
|
|
|
+ }
|
|
|
|
+ exit(json_encode([
|
|
|
|
+ 'code' => 0,
|
|
|
|
+ ]));
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public function fieldBroker()
|
|
|
|
+ {
|
|
|
|
+ $id = input('id/d', 0);
|
|
|
|
+ $broker = BrokerModel::findOrEmpty($id);
|
|
|
|
+ if ($broker->isEmpty()) {
|
|
|
|
+ exit(json_encode([
|
|
|
|
+ 'code' => 1,
|
|
|
|
+ 'msg' => "信息不存在",
|
|
|
|
+ ]));
|
|
|
|
+ } else {
|
|
|
|
+ $broker->save([
|
|
|
|
+ input('field/s') => input('value'),
|
|
|
|
+ ]);
|
|
|
|
+ }
|
|
|
|
+ exit(json_encode([
|
|
|
|
+ 'code' => 0,
|
|
|
|
+ ]));
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public function delBroker()
|
|
|
|
+ {
|
|
|
|
+ $idarr = input('idarr/a');
|
|
|
|
+ $user_check = UserModel::whereIn('brokerid', $idarr)->find();
|
|
if (!empty($user_check)) {
|
|
if (!empty($user_check)) {
|
|
- exit(json_encode(array(
|
|
|
|
- 'code' => 1,
|
|
|
|
- 'msg' => "该经纪人还有下线,请先转移再删除"
|
|
|
|
- )));
|
|
|
|
|
|
+ exit(json_encode([
|
|
|
|
+ 'code' => 1,
|
|
|
|
+ 'msg' => "该经纪人还有下线,请先转移再删除",
|
|
|
|
+ ]));
|
|
|
|
+ }
|
|
|
|
+ $broker = BrokerModel::whereIn('id', $idarr)->select();
|
|
|
|
+ $result = $broker->delete();
|
|
|
|
+ if ($result) {
|
|
|
|
+ exit(json_encode([
|
|
|
|
+ 'code' => 0,
|
|
|
|
+ 'msg' => "",
|
|
|
|
+ ]));
|
|
|
|
+ }
|
|
|
|
+ exit(json_encode([
|
|
|
|
+ 'code' => 1,
|
|
|
|
+ 'msg' => "删除失败,请稍后重试",
|
|
|
|
+ ]));
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public function listBroker()
|
|
|
|
+ {
|
|
|
|
+ $agentid = $this->access_agent['id'];
|
|
|
|
+ $limit = input('limit/d', 20);
|
|
|
|
+ $page = input('page/d', 1);
|
|
|
|
+ $map = [];
|
|
|
|
+ $map[] = ['agentid', '=', $agentid];
|
|
|
|
+ $keywords = input('keywords/s');
|
|
|
|
+ if (!empty($keywords)) {
|
|
|
|
+ $map[] = ['title', 'like', '%' . $keywords . '%'];
|
|
|
|
+ }
|
|
|
|
+ $status = input('status/d');
|
|
|
|
+ if (!empty($status)) {
|
|
|
|
+ $map[] = ['status', '=', $status];
|
|
|
|
+ }
|
|
|
|
+ $list = BrokerModel::with(['agent', 'muser'])->withCount(['user'])->where($map)->order('id', 'DESC')->limit($limit)->page($page)->append(['status_text', 'powerreport_text'])->select();
|
|
|
|
+ $count = BrokerModel::where($map)->count();
|
|
|
|
+ if ($count == 0) {
|
|
|
|
+ exit(json_encode([
|
|
|
|
+ 'code' => 1,
|
|
|
|
+ 'msg' => "未查询到数据",
|
|
|
|
+ ]));
|
|
|
|
+ }
|
|
|
|
+ exit(json_encode([
|
|
|
|
+ 'code' => 0,
|
|
|
|
+ 'msg' => "",
|
|
|
|
+ 'count' => $count,
|
|
|
|
+ 'data' => $list,
|
|
|
|
+ ]));
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public function transferFrom()
|
|
|
|
+ {
|
|
|
|
+ $broker_id = input('broker_id/d, 0');
|
|
|
|
+ $agentid = $this->access_agent['id'];
|
|
|
|
+ $broker_list = BrokerModel::where('agentid', $agentid)->where('id','<>',$broker_id)->select();
|
|
|
|
+ return view('broker/transferform', [
|
|
|
|
+ 'origin_broker_id' => $broker_id,
|
|
|
|
+ 'broker_list' => $broker_list,
|
|
|
|
+ ]);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public function edittransfer()
|
|
|
|
+ {
|
|
|
|
+ $origin_broker_id = input('origin_broker_id/d, 0');
|
|
|
|
+ $broker_id = input('broker_id/d, 0');
|
|
|
|
+ if (empty($origin_broker_id) || empty($broker_id)) {
|
|
|
|
+ exit(json_encode([
|
|
|
|
+ 'code' => 1,
|
|
|
|
+ 'msg' => "参数错误",
|
|
|
|
+ ]));
|
|
|
|
+ }
|
|
|
|
+ if ($origin_broker_id == $broker_id) {
|
|
|
|
+ exit(json_encode([
|
|
|
|
+ 'code' => 1,
|
|
|
|
+ 'msg' => "不可以转移给自己",
|
|
|
|
+ ]));
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ $origin_broker = BrokerModel::where('id',$origin_broker_id)->find();
|
|
|
|
+ $broker = BrokerModel::where('id',$broker_id)->find();
|
|
|
|
+ if (empty($origin_broker) || empty($broker)) {
|
|
|
|
+ exit(json_encode([
|
|
|
|
+ 'code' => 1,
|
|
|
|
+ 'msg' => "参数错误",
|
|
|
|
+ ]));
|
|
|
|
+ }
|
|
|
|
+ if ($origin_broker['agentid'] != $broker['agentid']) {
|
|
|
|
+ exit(json_encode([
|
|
|
|
+ 'code' => 1,
|
|
|
|
+ 'msg' => "只有相同门店的经纪人才可以转移",
|
|
|
|
+ ]));
|
|
}
|
|
}
|
|
- $broker = BrokerModel::whereIn('id',$idarr)->select();
|
|
|
|
- $result = $broker->delete();
|
|
|
|
- if ($result){
|
|
|
|
- exit(json_encode(array(
|
|
|
|
- 'code' => 0,
|
|
|
|
- 'msg' => ""
|
|
|
|
- )));
|
|
|
|
- }
|
|
|
|
- exit(json_encode(array(
|
|
|
|
- 'code' => 1,
|
|
|
|
- 'msg' => "删除失败,请稍后重试"
|
|
|
|
- )));
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- public function listBroker()
|
|
|
|
- {
|
|
|
|
- $agentid = $this->access_agent['id'];
|
|
|
|
- $limit = input('limit/d',20);
|
|
|
|
- $page = input('page/d',1);
|
|
|
|
- $map = array();
|
|
|
|
- $map[] = ['agentid', '=', $agentid];
|
|
|
|
- $keywords = input('keywords/s');
|
|
|
|
- if (!empty($keywords)){
|
|
|
|
- $map[] =['title', 'like', '%'.$keywords.'%'];
|
|
|
|
- }
|
|
|
|
- $status = input('status/d');
|
|
|
|
- if (!empty($status)){
|
|
|
|
- $map[] = ['status', '=', $status];
|
|
|
|
- }
|
|
|
|
- $list = BrokerModel::with(['agent','muser'])->withCount(['user'])->where($map)->order('id','DESC')->limit($limit)->page($page)->append(['status_text','powerreport_text'])->select();
|
|
|
|
- $count = BrokerModel::where($map)->count();
|
|
|
|
- if ($count==0){
|
|
|
|
- exit(json_encode(array(
|
|
|
|
- 'code' => 1,
|
|
|
|
- 'msg' => "未查询到数据"
|
|
|
|
- )));
|
|
|
|
- }
|
|
|
|
- exit(json_encode(array(
|
|
|
|
- 'code' => 0,
|
|
|
|
- 'msg' => "",
|
|
|
|
- 'count' => $count,
|
|
|
|
- 'data' => $list
|
|
|
|
- )));
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
|
|
|
|
|
|
+ UserModel::where('brokerid',$origin_broker_id)->update(['brokerid'=>$broker_id]);
|
|
|
|
+ UserPartModel::where('puserid',$origin_broker['userid'])->update(['puserid'=>$broker['userid']]);
|
|
|
|
+ exit(json_encode([
|
|
|
|
+ 'code' => 0,
|
|
|
|
+ ]));
|
|
|
|
+ }
|
|
}
|
|
}
|