123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- <?php
- namespace app\admin\controller\base\menu;
- /**
- * @title: 菜单请求
- */
- use app\admin\controller\Base;
- use app\common\model\base\menu\Menurequest as menuRequestModel;
- use app\common\model\base\org\OrgRoleAuth;
- use app\common\model\base\Systemroles;
- use app\common\model\base\org\OrgType;
- use app\common\model\base\org\Org;
- use app\common\model\base\org\OrgRole;
- class Menurequest extends Base
- {
- protected $menurequestModel = null;
- protected $noNeedValidate = ['doEdit'];
- public function initialize()
- {
- parent::initialize();
- $this->menurequestModel = new menuRequestModel;
- }
- /**
- * @title: 获取菜单请求列表
- * @param {int} {menu_id} {必填} {菜单id}
- * @return array
- * @Author: wangkewei
- * @Date: 2021/5/18 9:31
- */
- public function getList()
- {
- $data = $this->request->param();
- $menu_id = isset($data['menu_id'])?$data['menu_id']:0;
- $list = $this->menurequestModel->where("menu_id",$menu_id)->field(['menu_request_id','menu_id','name','path','mode','operate','status'])->with(['menu'])->select();
- return res(1,"获取成功",$list);
- }
- /**
- * @title: 编辑菜单请求
- * @param array
- * @return array
- * @Author: wangkewei
- * @Date: 2021/5/18 9:31
- */
- public function doEdit()
- {
- $data = $this->request->param();
- $this->menurequestModel->replace()->save($data);
- slog(1,"编辑了菜单请求");
- return res(1,"保存成功");
- }
- /**
- * @title: 删除菜单请求
- * @param {int} {i} {必填} {请求id}
- * @return array
- * @Author: wangkewei
- * @Date: 2021/5/18 9:31
- */
- public function doDelete(int $id)
- {
- $where = [];
- $where[] = ['menu_request_id','=',$id];
- try{
- menuRequestModel::startTrans();
- // 删除企业类型相关的请求
- $orgTypeList = OrgType::where('request_ids','FIND IN SET',$id)->select()->toArray();
- $orgTypeSaveData = [];
- foreach($orgTypeList as $orgTypeItem){
- $orgTypeItem['request_ids'] = array_diff($orgTypeItem['request_ids'],[$id]);
- $orgTypeSaveData[] = $orgTypeItem;
- }
- // 删除企业相关的请求
- $orgList = Org::where('request_ids','FIND IN SET',$id)->select()->toArray();
- $orgSaveData = [];
- foreach($orgList as $orgItem){
- $orgItem['request_ids'] = array_diff($orgItem['request_ids'],[$id]);
- $orgSaveData[] = $orgItem;
- }
- // 删除企业角色相关的请求
- $orgRoleList = OrgRole::where('request_ids','FIND IN SET',$id)->select()->toArray();
- $orgRoleSaveData = [];
- foreach($orgRoleList as $orgRoleItem){
- $orgRoleItem['request_ids'] = array_diff($orgRoleItem['request_ids'],[$id]);
- $orgRoleSaveData[] = $orgRoleItem;
- }
- // 保存修改
- (new OrgType)->replace()->saveAll($orgTypeSaveData);
- (new Org)->replace()->saveAll($orgSaveData);
- (new OrgRole)->replace()->saveAll($orgRoleSaveData);
- // 删除请求
- menuRequestModel::destroy(function($query)use($where){
- $query->where($where);
- });
- menuRequestModel::commit();
- slog(1,"删除了菜单请求");
- return res(1,"删除成功",$id);
- }catch(\Exception $e){
- menuRequestModel::rollback();
- return res(2,"删除失败",$e->getMessage(),$e->getTrace());
- }
- }
- }
|