|
@@ -66,21 +66,21 @@ class Business extends Auth{
|
|
->paginate(config('page_num',10));
|
|
->paginate(config('page_num',10));
|
|
// 循环处理数据
|
|
// 循环处理数据
|
|
foreach ($list as $key => $value) {
|
|
foreach ($list as $key => $value) {
|
|
- $value['username'] = $value['admin_uid'] ? (string) $AdminUser->getOne($value['admin_uid'],'username') : '';
|
|
|
|
- $value['phone'] = $value['admin_uid'] ? (string) $AdminUser->getOne($value['admin_uid'],'phone') : '';
|
|
|
|
- // id转编号
|
|
|
|
|
|
+ // id转编号
|
|
$value['business_code'] = $Model->idToCode($value['id']);
|
|
$value['business_code'] = $Model->idToCode($value['id']);
|
|
|
|
+ $value['username'] = $value['admin_uid'] ? (string) $AdminUser->getOne($value['admin_uid'],'username') : '';
|
|
|
|
+ $value['admin_phone'] = $value['admin_uid'] ? (string) $AdminUser->getOne($value['admin_uid'],'phone') : '';
|
|
$value['logopic'] = $value['logopic'] ? path_compat($value['logopic']) : '';
|
|
$value['logopic'] = $value['logopic'] ? path_compat($value['logopic']) : '';
|
|
$addHistory = AdminHistory::query()
|
|
$addHistory = AdminHistory::query()
|
|
- ->join('admin','admin.uid','=','admin_history.admin_uid')
|
|
|
|
- ->where(['admin_history.primary_id'=>$value['id'],'admin_history.notes_type'=>1,'admin_history.table_name'=>$Model->getTable()])
|
|
|
|
- ->select('admin_history.insert_time','admin.username as username')
|
|
|
|
- ->first();
|
|
|
|
|
|
+ ->join('admin','admin.uid','=','admin_history.admin_uid')
|
|
|
|
+ ->where(['admin_history.primary_id'=>$value['id'],'admin_history.notes_type'=>1,'admin_history.table_name'=>$Model->getTable()])
|
|
|
|
+ ->select('admin_history.insert_time','admin.username as username')
|
|
|
|
+ ->first();
|
|
$editHistory = AdminHistory::query()
|
|
$editHistory = AdminHistory::query()
|
|
- ->join('admin','admin.uid','=','admin_history.admin_uid')
|
|
|
|
- ->where(['admin_history.primary_id'=>$value['id'],'admin_history.notes_type'=>2,'admin_history.table_name'=>$Model->getTable()])
|
|
|
|
- ->select('admin_history.update_time','admin.username as username')
|
|
|
|
- ->orderByDesc('id')->first();
|
|
|
|
|
|
+ ->join('admin','admin.uid','=','admin_history.admin_uid')
|
|
|
|
+ ->where(['admin_history.primary_id'=>$value['id'],'admin_history.notes_type'=>2,'admin_history.table_name'=>$Model->getTable()])
|
|
|
|
+ ->select('admin_history.update_time','admin.username as username')
|
|
|
|
+ ->orderByDesc('id')->first();
|
|
$value['add_history_username'] = $addHistory ? $addHistory->username : '';
|
|
$value['add_history_username'] = $addHistory ? $addHistory->username : '';
|
|
$value['add_history_time'] = $addHistory ? $addHistory->insert_time : 0;
|
|
$value['add_history_time'] = $addHistory ? $addHistory->insert_time : 0;
|
|
$value['edit_history_username'] = $editHistory ? $editHistory->username : '';
|
|
$value['edit_history_username'] = $editHistory ? $editHistory->username : '';
|
|
@@ -115,87 +115,96 @@ class Business extends Auth{
|
|
*
|
|
*
|
|
* */
|
|
* */
|
|
public function add(Request $request,Model $Model,City $City,AdminUser $AdminUser,AdminRule $AdminRule){
|
|
public function add(Request $request,Model $Model,City $City,AdminUser $AdminUser,AdminRule $AdminRule){
|
|
- $session = session('userRule') ? session('userRule') : ['menu_type'=>0,'company_id'=>0,'business_id'=>0];
|
|
|
|
|
|
+ // 当前用户角色
|
|
|
|
+ $session = session('userRule') ? session('userRule') : ['menu_type'=>0,'company_id'=>1,'business_id'=>0];
|
|
|
|
+ // 添加
|
|
if( request()->isMethod('post') ){
|
|
if( request()->isMethod('post') ){
|
|
// 验证参数
|
|
// 验证参数
|
|
$request->scene('add')->validate();
|
|
$request->scene('add')->validate();
|
|
// 接收数据
|
|
// 接收数据
|
|
- $data['name'] = request('name','');
|
|
|
|
- $data['phone'] = request('phone','');
|
|
|
|
- $data['logopic'] = request('logopic','');
|
|
|
|
- $data['desc'] = request('desc','');
|
|
|
|
- $data['leader_uid'] = request('leader_uid','');
|
|
|
|
- $data['address'] = request('address','');
|
|
|
|
- $data['city_ids'] = request('city_ids','');
|
|
|
|
- if ($data['city_ids']){
|
|
|
|
- $data['city_ids'] = implode(',',$data['city_ids']);
|
|
|
|
- }
|
|
|
|
- $custom_name = request('custom_name','');
|
|
|
|
- $phone = request('phone','');
|
|
|
|
- $custom_password = request('custom_password','');
|
|
|
|
- if ($session['company_id']){
|
|
|
|
- $data['company_id'] = $session['company_id'];
|
|
|
|
- $ruleData['company_id'] = $session['company_id'];
|
|
|
|
- }
|
|
|
|
- $userData['username'] = $custom_name;
|
|
|
|
- $userData['phone'] = $phone;
|
|
|
|
- $userData['password'] = md5($custom_password);
|
|
|
|
|
|
+ $data['name'] = request('name','');
|
|
|
|
+ $data['phone'] = request('phone','');
|
|
|
|
+ $data['logopic'] = request('logopic','');
|
|
|
|
+ $data['desc'] = request('desc','');
|
|
|
|
+ $data['leader_uid'] = request('leader_uid','');
|
|
|
|
+ $data['address'] = request('address','');
|
|
|
|
+ $data['city_ids'] = request('city_ids',[]);
|
|
|
|
+ $data['city_ids'] = implode(',',$data['city_ids']);
|
|
|
|
+ // 店铺管理员
|
|
|
|
+ $userData['username'] = request('custom_name','');
|
|
|
|
+ $userData['phone'] = request('phone','');
|
|
|
|
+ $userData['password'] = request('custom_password','');
|
|
|
|
+ $userData['password'] = md5($userData['password']);
|
|
|
|
+ // 如果有公司ID
|
|
|
|
+ $data['company_id'] = empty($session['company_id'])? 1 : $session['company_id'];
|
|
|
|
+ // 查询店铺管理员
|
|
|
|
+ $oldAdmin = $AdminUser->query()->where([['username','=',$userData['username']]])->first();
|
|
|
|
+ // 如果存在的话
|
|
|
|
+ if( $oldAdmin ) return json_send(['code'=>'error','msg'=>'管理员账号不可重复']);
|
|
// 开启事务
|
|
// 开启事务
|
|
DB::beginTransaction();
|
|
DB::beginTransaction();
|
|
try {
|
|
try {
|
|
// 写入数据表
|
|
// 写入数据表
|
|
$id = $Model->add($data);
|
|
$id = $Model->add($data);
|
|
// 如果操作失败
|
|
// 如果操作失败
|
|
- if( !$id ){
|
|
|
|
- return json_send(['code'=>'error','msg'=>'新增店铺失败']);
|
|
|
|
|
|
+ if( !$id ) {
|
|
|
|
+ // 回滚事务
|
|
|
|
+ DB::rollBack();
|
|
|
|
+ // 失败提示
|
|
|
|
+ return json_send(['code'=>'error','msg'=>'新增商业公司失败']);
|
|
}
|
|
}
|
|
// 写入数据表
|
|
// 写入数据表
|
|
- $uid = $AdminUser->add($userData);
|
|
|
|
|
|
+ $uid = $AdminUser->add($userData);
|
|
// 如果操作失败
|
|
// 如果操作失败
|
|
if( !$uid ){
|
|
if( !$uid ){
|
|
// 回滚事务
|
|
// 回滚事务
|
|
DB::rollBack();
|
|
DB::rollBack();
|
|
- return json_send(['code'=>'error','msg'=>'新增管理员失败']);
|
|
|
|
|
|
+ // 提示
|
|
|
|
+ return json_send(['code'=>'error','msg'=>'新增管理员失败']);
|
|
}
|
|
}
|
|
- $ruleData['admin_uid'] = $uid;
|
|
|
|
- $ruleData['business_id'] = $id;
|
|
|
|
- $ruleData['menu_type'] = 2;
|
|
|
|
|
|
+ // 角色数据
|
|
|
|
+ $ruleData['admin_uid'] = $uid;
|
|
|
|
+ $ruleData['business_id']= $id;
|
|
|
|
+ $ruleData['menu_type'] = 2;
|
|
// 写入数据表
|
|
// 写入数据表
|
|
- $ruleUid = $AdminRule->add($ruleData);
|
|
|
|
|
|
+ $ruleUid = $AdminRule->add($ruleData);
|
|
// 如果操作失败
|
|
// 如果操作失败
|
|
if( !$ruleUid ){
|
|
if( !$ruleUid ){
|
|
// 回滚事务
|
|
// 回滚事务
|
|
DB::rollBack();
|
|
DB::rollBack();
|
|
- return json_send(['code'=>'error','msg'=>'新增管理员角色失败']);
|
|
|
|
|
|
+ // 提示
|
|
|
|
+ return json_send(['code'=>'error','msg'=>'新增管理员角色失败']);
|
|
}
|
|
}
|
|
// 写入数据表
|
|
// 写入数据表
|
|
- $re = $Model->edit($id,['admin_uid'=>$uid]);
|
|
|
|
|
|
+ $re = $Model->edit($id,['admin_uid'=>$uid]);
|
|
// 如果操作失败
|
|
// 如果操作失败
|
|
if( !$re ){
|
|
if( !$re ){
|
|
// 回滚事务
|
|
// 回滚事务
|
|
DB::rollBack();
|
|
DB::rollBack();
|
|
- return json_send(['code'=>'error','msg'=>'新增失败','data'=>'新增店铺管理员']);
|
|
|
|
|
|
+ // 提示
|
|
|
|
+ return json_send(['code'=>'error','msg'=>'新增失败','data'=>'新增店铺管理员']);
|
|
}
|
|
}
|
|
// 写入数据表
|
|
// 写入数据表
|
|
- $re = DB::table('auth_group_access')->insert(['group_id'=>5,'user_uid'=>$uid]);
|
|
|
|
|
|
+ $re = DB::table('auth_group_access')->insert(['group_id'=>5,'user_uid'=>$uid]);
|
|
// 如果操作失败
|
|
// 如果操作失败
|
|
if( !$re ){
|
|
if( !$re ){
|
|
// 回滚事务
|
|
// 回滚事务
|
|
DB::rollBack();
|
|
DB::rollBack();
|
|
- return json_send(['code'=>'error','msg'=>'新增失败','data'=>'新增店铺管理员']);
|
|
|
|
|
|
+ // 提示
|
|
|
|
+ return json_send(['code'=>'error','msg'=>'新增失败','data'=>'新增店铺管理员']);
|
|
}
|
|
}
|
|
|
|
+ // 提交事务
|
|
|
|
+ DB::commit();
|
|
|
|
+ // 记录行为
|
|
|
|
+ $this->addAdminHistory(admin('uid'),$Model->getTable(),$id,1,[],$data);
|
|
|
|
+ // 告知结果
|
|
|
|
+ return json_send(['code'=>'success','msg'=>'新增成功','action'=>'add']);
|
|
}catch (\Exception $e){
|
|
}catch (\Exception $e){
|
|
// 回滚事务
|
|
// 回滚事务
|
|
DB::rollBack();
|
|
DB::rollBack();
|
|
// 告知错误
|
|
// 告知错误
|
|
return json_send(['code'=>'error','msg'=>'新增失败','data'=>json_encode($e->getMessage())]);
|
|
return json_send(['code'=>'error','msg'=>'新增失败','data'=>json_encode($e->getMessage())]);
|
|
}
|
|
}
|
|
- // 提交事务
|
|
|
|
- DB::commit();
|
|
|
|
- // 记录行为
|
|
|
|
- $this->addAdminHistory(admin('uid'),$Model->getTable(),$id,1,[],$data);
|
|
|
|
- // 告知结果
|
|
|
|
- return json_send(['code'=>'success','msg'=>'新增成功','action'=>'add']);
|
|
|
|
}
|
|
}
|
|
// 获取列表
|
|
// 获取列表
|
|
$cityList = $City->getCityList();
|
|
$cityList = $City->getCityList();
|
|
@@ -230,76 +239,89 @@ class Business extends Auth{
|
|
$id = request('id',0);
|
|
$id = request('id',0);
|
|
// 查询用户
|
|
// 查询用户
|
|
$oldData = $Model->where(['id'=>$id])->first();
|
|
$oldData = $Model->where(['id'=>$id])->first();
|
|
|
|
+ // 当前用户角色
|
|
|
|
+ $session = session('userRule') ? session('userRule') : ['menu_type'=>0,'company_id'=>0,'business_id'=>0];
|
|
// 修改
|
|
// 修改
|
|
if(request()->isMethod('post')){
|
|
if(request()->isMethod('post')){
|
|
// 验证参数
|
|
// 验证参数
|
|
$request->scene('edit')->validate();
|
|
$request->scene('edit')->validate();
|
|
// 接收数据
|
|
// 接收数据
|
|
- $data['name'] = request('name','');
|
|
|
|
- $data['phone'] = request('phone','');
|
|
|
|
- $data['logopic'] = request('logopic','');
|
|
|
|
- $data['desc'] = request('desc','');
|
|
|
|
- $data['leader_uid'] = request('leader_uid','');
|
|
|
|
- $data['address'] = request('address','');
|
|
|
|
- $data['city_ids'] = request('city_ids','');
|
|
|
|
- $custom_name = request('custom_name','');
|
|
|
|
- $phone = request('phone','');
|
|
|
|
- $custom_password = request('custom_password','');
|
|
|
|
- if ($data['city_ids']){
|
|
|
|
- $data['city_ids'] = implode(',',$data['city_ids']);
|
|
|
|
- }
|
|
|
|
- //事务
|
|
|
|
|
|
+ $data['name'] = request('name','');
|
|
|
|
+ $data['phone'] = request('phone','');
|
|
|
|
+ $data['logopic'] = request('logopic','');
|
|
|
|
+ $data['desc'] = request('desc','');
|
|
|
|
+ $data['leader_uid'] = request('leader_uid','');
|
|
|
|
+ $data['address'] = request('address','');
|
|
|
|
+ $data['city_ids'] = request('city_ids',[]);
|
|
|
|
+ $data['city_ids'] = implode(',',$data['city_ids']);
|
|
|
|
+ // 店铺管理员
|
|
|
|
+ $userData['username'] = request('custom_name','');
|
|
|
|
+ $userData['phone'] = request('phone','');
|
|
|
|
+ // 是否修改密码
|
|
|
|
+ if( request('custom_password','') ) $userData['password'] = md5(request('custom_password',''));
|
|
|
|
+ // 如果有公司ID
|
|
|
|
+ $data['company_id'] = empty($session['company_id'])? 1 : $session['company_id'];
|
|
|
|
+ // 查询店铺管理员
|
|
|
|
+ $oldAdmin = $AdminUser->query()->where([['username','=',$userData['username']]])->value('uid');
|
|
|
|
+ // 如果存在的话,而且不是当前的管理员
|
|
|
|
+ if( $oldAdmin && $oldAdmin != $oldData['admin_uid'] ) return json_send(['code'=>'error','msg'=>'管理员账号不可重复']);
|
|
|
|
+ // 事务
|
|
DB::beginTransaction();
|
|
DB::beginTransaction();
|
|
|
|
+ // 尝试执行
|
|
try {
|
|
try {
|
|
- // 写入数据表
|
|
|
|
- $result = $Model->edit($id,$data);
|
|
|
|
|
|
+ // 修改或者新增
|
|
|
|
+ $data['admin_uid'] = $oldData['admin_uid'] ? $AdminUser->edit($oldData['admin_uid'],$userData) : $AdminUser->add($userData);
|
|
// 如果操作失败
|
|
// 如果操作失败
|
|
- if( !$result ) return json_send(['code'=>'error','msg'=>'新增失败']);
|
|
|
|
- $userData['username'] = $custom_name;
|
|
|
|
- $userData['phone'] = $phone;
|
|
|
|
- if ($custom_password){
|
|
|
|
- $userData['password'] = md5($custom_password);
|
|
|
|
|
|
+ if( !$data['admin_uid'] ) {
|
|
|
|
+ // 回滚事务
|
|
|
|
+ DB::rollBack();
|
|
|
|
+ // 提示
|
|
|
|
+ return json_send(['code'=>'error','msg'=>'编辑失败']);
|
|
}
|
|
}
|
|
- //获取用户信息
|
|
|
|
- $userInfo = $AdminUser->getOne($oldData['admin_uid']);
|
|
|
|
// 写入数据表
|
|
// 写入数据表
|
|
- if (!$userInfo){
|
|
|
|
- $result = $AdminUser->add($userData);
|
|
|
|
- if( !$result ){
|
|
|
|
- DB::rollBack();
|
|
|
|
- return json_send(['code'=>'error','msg'=>'编辑失败']);
|
|
|
|
- }
|
|
|
|
- $result = $Model->edit($id,['admin_uid'=>$result['admin_uid']]);
|
|
|
|
- if( !$result ){
|
|
|
|
- DB::rollBack();
|
|
|
|
- return json_send(['code'=>'error','msg'=>'编辑失败']);
|
|
|
|
- }
|
|
|
|
- }else{
|
|
|
|
- $result = $AdminUser->edit($oldData['admin_uid'],$userData);
|
|
|
|
- if( !$result ){
|
|
|
|
|
|
+ $result = $Model->edit($id,$data);
|
|
|
|
+ // 如果操作失败
|
|
|
|
+ if( !$result ) {
|
|
|
|
+ // 回滚事务
|
|
|
|
+ DB::rollBack();
|
|
|
|
+ // 提示
|
|
|
|
+ return json_send(['code'=>'error','msg'=>'编辑失败']);
|
|
|
|
+ }
|
|
|
|
+ // 如果新增的话,绑定角色关系
|
|
|
|
+ if( !$oldData['admin_uid'] ){
|
|
|
|
+ // 角色数据
|
|
|
|
+ $ruleData['admin_uid'] = $data['admin_uid'];
|
|
|
|
+ $ruleData['business_id']= $id;
|
|
|
|
+ $ruleData['menu_type'] = 2;
|
|
|
|
+ // 写入数据表
|
|
|
|
+ $ruleUid = $AdminRule->add($ruleData);
|
|
|
|
+ // 如果操作失败
|
|
|
|
+ if( !$ruleUid ) {
|
|
|
|
+ // 回滚事务
|
|
DB::rollBack();
|
|
DB::rollBack();
|
|
- return json_send(['code'=>'error','msg'=>'编辑失败']);
|
|
|
|
|
|
+ // 提示
|
|
|
|
+ return json_send(['code'=>'error','msg'=>'新增管理员角色失败']);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- }catch (\Exception $e){
|
|
|
|
|
|
+ // 提交事务
|
|
|
|
+ DB::commit();
|
|
|
|
+ // 记录行为
|
|
|
|
+ $this->addAdminHistory(admin('uid'),$Model->getTable(),$id,2,$oldData,$data);
|
|
|
|
+ // 告知结果
|
|
|
|
+ return json_send(['code'=>'success','msg'=>'修改成功','action'=>'edit']);
|
|
|
|
+ }catch (\Exception $e) {
|
|
DB::rollBack();
|
|
DB::rollBack();
|
|
- return json_send(['code'=>'error','msg'=>'编辑失败','data'=>json_encode($e->getMessage())]);
|
|
|
|
|
|
+ return json_send(['code'=>'error','msg'=>'编辑失败','data'=>json_encode($e->getMessage())]);
|
|
}
|
|
}
|
|
- // 记录行为
|
|
|
|
- $this->addAdminHistory(admin('uid'),$Model->getTable(),$id,2,$oldData,$data);
|
|
|
|
- // 告知结果
|
|
|
|
- return json_send(['code'=>'success','msg'=>'修改成功','action'=>'edit']);
|
|
|
|
}
|
|
}
|
|
// 错误告知
|
|
// 错误告知
|
|
if( !$oldData ) return $this->error('查无数据');
|
|
if( !$oldData ) return $this->error('查无数据');
|
|
//查询管理账户信息
|
|
//查询管理账户信息
|
|
$adminInfo = $AdminUser->getOne($oldData['admin_uid']);
|
|
$adminInfo = $AdminUser->getOne($oldData['admin_uid']);
|
|
- // 错误告知
|
|
|
|
- if( !$adminInfo ) return $this->error('查无管理员账户数据');
|
|
|
|
- $oldData['city_ids'] = explode(',',$oldData['city_ids']);
|
|
|
|
|
|
+ $adminInfo = $adminInfo ? $adminInfo : ['username'=>'','phone'=>''];
|
|
|
|
+ $oldData['city_ids'] = explode(',',$oldData['city_ids']);
|
|
// 获取列表
|
|
// 获取列表
|
|
$cityList = $City->getCityList();
|
|
$cityList = $City->getCityList();
|
|
- $session = session('userRule') ? session('userRule') : ['menu_type'=>0,'company_id'=>0,'business_id'=>0];
|
|
|
|
$mp = [];
|
|
$mp = [];
|
|
if ($session){
|
|
if ($session){
|
|
$mp[] = ['admin_rule.company_id','=',$session['company_id']];
|
|
$mp[] = ['admin_rule.company_id','=',$session['company_id']];
|