|
@@ -2,8 +2,12 @@
|
|
|
|
|
|
use App\Http\Requests\Admin\Business as Request;
|
|
|
use App\Models\Business as Model;
|
|
|
+use App\Models\AdminUser;
|
|
|
use App\Models\City;
|
|
|
+use App\Models\AuthRule;
|
|
|
+use App\Models\AdminRule;
|
|
|
use Illuminate\Support\Carbon;
|
|
|
+use Illuminate\Support\Facades\DB;
|
|
|
|
|
|
/**
|
|
|
* 商业公司管理
|
|
@@ -39,6 +43,16 @@ class Business extends Auth{
|
|
|
if( $startTime ) $map[] = ['insert_time','>=',Carbon::createFromFormat('Y-m-d',$startTime)->startOfDay()->getTimestamp()];
|
|
|
if( $startTime ) $map[] = ['insert_time','<=',Carbon::createFromFormat('Y-m-d',$startTime)->endOfDay()->getTimestamp()];
|
|
|
if( !is_null($status) ) $map[] = ['status','=',$status];
|
|
|
+ $session = session('userRule');
|
|
|
+ if ($session){
|
|
|
+ $map[] = ['company_id','=',$session['company_id']];
|
|
|
+ if ($session['business_id']){
|
|
|
+ $map[] = ['id','=',$session['business_id']];
|
|
|
+ }
|
|
|
+ if ($session['menu_type'] == 1 && $session['data_type'] == 2){
|
|
|
+ $map[] = ['leader_uid','=',$session['admin_uid']];
|
|
|
+ }
|
|
|
+ }
|
|
|
// 查询数据
|
|
|
$list = $Model->query()->where($map)->orderByDesc('id')->paginate(config('page_num',10));
|
|
|
// 循环处理数据
|
|
@@ -72,7 +86,7 @@ class Business extends Auth{
|
|
|
* 添加
|
|
|
*
|
|
|
* */
|
|
|
- public function add(Request $request,Model $Model,City $City){
|
|
|
+ public function add(Request $request,Model $Model,City $City,AdminUser $AdminUser,AdminRule $AdminRule){
|
|
|
if( request()->isMethod('post') ){
|
|
|
// 验证参数
|
|
|
$request->scene('add')->validate();
|
|
@@ -81,10 +95,75 @@ class Business extends Auth{
|
|
|
$data['phone'] = request('phone','');
|
|
|
$data['logopic'] = request('logopic','');
|
|
|
$data['desc'] = request('desc','');
|
|
|
- // 写入数据表
|
|
|
- $id = $Model->add($data);
|
|
|
- // 如果操作失败
|
|
|
- if( !$id ) return json_send(['code'=>'error','msg'=>'新增失败']);
|
|
|
+ $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','');
|
|
|
+ $session = session('userRule');
|
|
|
+ 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);
|
|
|
+ // 开启事务
|
|
|
+ DB::beginTransaction();
|
|
|
+ try {
|
|
|
+ // 写入数据表
|
|
|
+ $id = $Model->add($data);
|
|
|
+ // 如果操作失败
|
|
|
+ if( !$id ){
|
|
|
+ return json_send(['code'=>'error','msg'=>'新增店铺失败']);
|
|
|
+ }
|
|
|
+ // 写入数据表
|
|
|
+ $uid = $AdminUser->add($userData);
|
|
|
+ // 如果操作失败
|
|
|
+ if( !$uid ){
|
|
|
+ // 回滚事务
|
|
|
+ DB::rollBack();
|
|
|
+ return json_send(['code'=>'error','msg'=>'新增管理员失败']);
|
|
|
+ }
|
|
|
+ $ruleData['admin_uid'] = $uid;
|
|
|
+ $ruleData['business_id'] = $id;
|
|
|
+ $ruleData['menu_type'] = 2;
|
|
|
+ // 写入数据表
|
|
|
+ $ruleUid = $AdminRule->add($ruleData);
|
|
|
+ // 如果操作失败
|
|
|
+ if( !$ruleUid ){
|
|
|
+ // 回滚事务
|
|
|
+ DB::rollBack();
|
|
|
+ return json_send(['code'=>'error','msg'=>'新增管理员角色失败']);
|
|
|
+ }
|
|
|
+ // 写入数据表
|
|
|
+ $re = $Model->edit($id,['admin_uid'=>$uid]);
|
|
|
+ // 如果操作失败
|
|
|
+ if( !$re ){
|
|
|
+ // 回滚事务
|
|
|
+ DB::rollBack();
|
|
|
+ return json_send(['code'=>'error','msg'=>'新增失败','data'=>'新增店铺管理员']);
|
|
|
+ }
|
|
|
+ // 写入数据表
|
|
|
+ $re = DB::table('auth_group_access')->insert(['group_id'=>5,'user_uid'=>$uid]);
|
|
|
+ // 如果操作失败
|
|
|
+ if( !$re ){
|
|
|
+ // 回滚事务
|
|
|
+ DB::rollBack();
|
|
|
+ return json_send(['code'=>'error','msg'=>'新增失败','data'=>'新增店铺管理员']);
|
|
|
+ }
|
|
|
+ }catch (\Exception $e){
|
|
|
+ // 回滚事务
|
|
|
+ DB::rollBack();
|
|
|
+ // 告知错误
|
|
|
+ return json_send(['code'=>'error','msg'=>'新增失败','data'=>json_encode($e->getMessage())]);
|
|
|
+ }
|
|
|
+ // 提交事务
|
|
|
+ DB::commit();
|
|
|
// 记录行为
|
|
|
$this->addAdminHistory(admin('uid'),$Model->getTable(),$id,1,[],$data);
|
|
|
// 告知结果
|
|
@@ -92,9 +171,25 @@ class Business extends Auth{
|
|
|
}
|
|
|
// 获取列表
|
|
|
$cityList = $City->getCityList();
|
|
|
+ $session = session('userRule');
|
|
|
+ $mp = [];
|
|
|
+ if ($session){
|
|
|
+ $mp[] = ['admin_rule.company_id','=',$session['company_id']];
|
|
|
+ if ($session['menu_type'] == 1 && $session['data_type'] == 2){
|
|
|
+ $mp[] = ['admin_rule.admin_uid','=',$session['admin_uid']];
|
|
|
+ }else{
|
|
|
+ $mp[] = ['admin_rule.menu_type','=',1];
|
|
|
+ $mp[] = ['admin_rule.data_type','=',2];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ $leaderList = $AdminRule::query()
|
|
|
+ ->join('admin','admin.uid','=','admin_rule.admin_uid')
|
|
|
+ ->where($mp)
|
|
|
+ ->get(['admin.uid','admin.username']);
|
|
|
// 分配数据
|
|
|
$this->assign('crumbs','新增');
|
|
|
$this->assign('cityList',$cityList);
|
|
|
+ $this->assign('leaderList',$leaderList);
|
|
|
// 加载模板
|
|
|
return $this->fetch();
|
|
|
}
|
|
@@ -103,7 +198,7 @@ class Business extends Auth{
|
|
|
* 修改
|
|
|
*
|
|
|
* */
|
|
|
- public function edit(Request $request,Model $Model){
|
|
|
+ public function edit(Request $request,Model $Model,AdminUser $AdminUser,City $City,AdminRule $AdminRule){
|
|
|
// 接收参数
|
|
|
$id = request('id',0);
|
|
|
// 查询用户
|
|
@@ -117,10 +212,31 @@ class Business extends Auth{
|
|
|
$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']);
|
|
|
+ }
|
|
|
// 写入数据表
|
|
|
$result = $Model->edit($id,$data);
|
|
|
// 如果操作失败
|
|
|
if( !$result ) return json_send(['code'=>'error','msg'=>'新增失败']);
|
|
|
+ $userData['username'] = $custom_name;
|
|
|
+ $userData['phone'] = $phone;
|
|
|
+ if ($custom_password){
|
|
|
+ $userData['password'] = md5($custom_password);
|
|
|
+ }
|
|
|
+ //获取店铺信息
|
|
|
+ $info = $Model->getOne($id);
|
|
|
+ // 写入数据表
|
|
|
+ $result = $AdminUser->edit($info['admin_uid'],$userData);
|
|
|
+ // 如果操作失败
|
|
|
+ if( !$result ) return json_send(['code'=>'error','msg'=>'新增失败']);
|
|
|
+ //var_dump($data);exit();
|
|
|
// 记录行为
|
|
|
$this->addAdminHistory(admin('uid'),$Model->getTable(),$id,2,$oldData,$data);
|
|
|
// 告知结果
|
|
@@ -128,8 +244,33 @@ class Business extends Auth{
|
|
|
}
|
|
|
// 错误告知
|
|
|
if( !$oldData ) return $this->error('查无数据');
|
|
|
+ //查询管理账户信息
|
|
|
+ $adminInfo = $AdminUser->getOne($oldData['admin_uid']);
|
|
|
+ // 错误告知
|
|
|
+ if( !$adminInfo ) return $this->error('查无管理员账户数据');
|
|
|
+ $oldData['city_ids'] = explode(',',$oldData['city_ids']);
|
|
|
+ // 获取列表
|
|
|
+ $cityList = $City->getCityList();
|
|
|
+ $session = session('userRule');
|
|
|
+ $mp = [];
|
|
|
+ if ($session){
|
|
|
+ $mp[] = ['admin_rule.company_id','=',$session['company_id']];
|
|
|
+ if ($session['menu_type'] == 1 && $session['data_type'] == 2){
|
|
|
+ $mp[] = ['admin_rule.admin_uid','=',$session['admin_uid']];
|
|
|
+ }else{
|
|
|
+ $mp[] = ['admin_rule.menu_type','=',1];
|
|
|
+ $mp[] = ['admin_rule.data_type','=',2];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ $leaderList = $AdminRule::query()
|
|
|
+ ->join('admin','admin.uid','=','admin_rule.admin_uid')
|
|
|
+ ->where($mp)
|
|
|
+ ->get(['admin.uid','admin.username']);
|
|
|
// 分配数据
|
|
|
$this->assign('oldData',$oldData);
|
|
|
+ $this->assign('adminInfo',$adminInfo);
|
|
|
+ $this->assign('cityList',$cityList);
|
|
|
+ $this->assign('leaderList',$leaderList);
|
|
|
$this->assign('crumbs','修改');
|
|
|
// 加载模板
|
|
|
return $this->fetch();
|