123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358 |
- <?php
- declare (strict_types=1);
- namespace app\admin\controller;
- use app\BaseController;
- use think\facade\Db;
- use think\facade\Validate;
- use think\Request;
- use think\App;
- class Action extends BaseController
- {
- /**
- * public function __construct(App $app)
- * {
- * parent::__construct($app);
- * $post =$this->request->post();
- * $token = isset($post['token']) ? trim($post['token']) : "";
- * if($token==""){
- * return json_show(101,'token不能为空');
- *
- * }
- * $effetc = VerifyTokens($token);
- * if(!empty($effetc) && $effetc['code']!=0){
- * return json_show($effetc['code'],$effetc['message']);
- *
- * }
- * }
- * public function ActionList(){
- * $post =$this->request->post();
- * $pageid = isset($post['id']) ? intval($post['id']) : "";
- * if($pageid==""){
- * return json_show(1001,'页面id不能为空');
- * }
- * $condition = ['menuid'=>$pageid];
- * $data=Db::name('action')->alias("a")->leftJoin("action_list l","a.action_code=l.action_code")->field
- * ("a.*,action_name")->where($condition)->select();
- * return json_show(0,"获取成功",$data);
- * }
- */
- public function ActionSave()
- {
- $post = $this->request->only(['id', 'action_code'], 'post', 'trim');
- $val = Validate::rule([
- 'id|ID' => 'require|number|gt:0',
- 'action_code' => 'require'
- ]);
- if ($val->check($post) == false) return error_show(1004, $val->getError());
- $rs = Db::name("action")
- ->where(['is_del' => 0, 'id' => $post['id']])
- ->update([
- 'action_code' => $post['action_code'],
- 'updatetime' => date("Y-m-d H:i:s")
- ]);
- return $rs ? json_show(0, "修改成功") : json_show(0, "修改失败");
- // $post = $this->request->post();
- // $actionid = isset($post['id']) ? intval($post['id']) : "";
- // if ($actionid != "") {
- // $isf = Db::name("action_list")->where("id", "=", $actionid)->find();
- // if ($isf == false) {
- // return json_show(1005, "未找到数据");
- // }
- // }
- // $action = isset($post['action_name']) ? trim($post['action_name']) : "";
- // if ($action == "") {
- // return json_show(1003, '功能名称不能为空');
- // }
- // $desc = isset($post['action_desc']) ? trim($post['action_desc']) : "";
- // $status = isset($post['status']) ? intval($post['status']) : 0;
- // $data = [
- // "action_name" => $action,
- // "action_desc" => $desc,
- // "action_code" => "",
- // ];
- //
- // $isTrue = Db::name("action_list")->where(["action_name" => $action])->find();
- // if ($isTrue) {
- // if ($isTrue['id'] != $actionid || $actionid == "") {
- // return json_show(1003, '功能名称不能重复');
- // }
- // }
- //
- // try {
- // $message = "";
- // if ($actionid == "") {
- // $data['status'] = $status;
- // $data['is_show'] = 1;
- // $message = "新建成功";
- // } else {
- // $data['status'] = $status;
- // $data['id'] = $actionid;
- // $message = "更新成功";
- // }
- // Db::name("action_list")->save($data);
- // return json_show(0, $message);
- // } catch (\Exception $e) {
- // return json_show(1005, $e->getMessage());
- // }
- }
- public function ActionStatus()
- {
- $post = $this->request->post();
- $actid = isset($post['id']) ? intval($post['id']) : "";
- if ($actid == "") {
- return json_show(1001, '功能id不能为空');
- }
- $status = isset($post['status']) ? intval($post['status']) : 1;
- try {
- $data = ['status' => $status, "updatetime" => date("Y-m-d H:i:s")];
- $result = Db::name("action")->where("id", "=", $actid)->save($data);
- return $result ? json_show(0, "更新成功") : json_show(1004, "更新失败");
- // if ($result) {
- // return json_show(0, "更新成功");
- // } else {
- // return json_show(1004, "更新失败");
- // }
- } catch (\Exception $e) {
- return json_show(1003, $e->getMessage());
- }
- }
- /*
- *
- * public function ActionAdd(){
- * $post =$this->request->post();
- *
- * $pageid = isset($post['menuid']) ? intval($post['menuid']) : "";
- * if($pageid==""){
- * return json_show(1001,'页面id不能为空');
- * }
- * $code = isset($post['action_code']) ? trim($post['action_code']) : "";
- *
- * $status = isset($post['status']) ? intval($post['status']) : 1;
- * if($code==""){
- * return json_show(1002,'功能code不能为空');
- * }
- * try{
- * $where = ['menuid'=>$pageid,'action_code'=>$code];
- * $true =Db::name("action")->where($where)->find();
- * $data = ['menuid'=>$pageid,'action_code'=>$code,'status'=>$status,"updatetime"=>date("Y-m-d H:i:s"),"addtime"=>date("Y-m-d H:i:s")];
- * if($true){
- * return json_show(1003,'此功能已存在');
- * }else{
- * Db::name("action")->insert($data);
- * return json_show(0,"添加成功");
- * }
- * }catch (\Exception $e){
- * return json_show(1005,$e->getMessage());
- * }
- * }
- *
- * public function index(){
- * $post =$this->request->post();
- * $data = Db::name("admin_menu")->where(["pid"=>0,"status"=>1,"is_del"=>0])->select();
- * $result = [];
- * if(empty($data)){
- * return json_show(0,"获取成功",$result);
- * }
- * foreach ($data as $key=>$val){
- * $val["child"]=[];
- * $result[$val['id']] =$val;
- * }
- *
- * $child =Db::name("admin_menu")->where([["pid","<>",0],['status',"=",1],["is_del","=",0]])->select();
- * foreach ($child as $k=>$value){
- * // $act = PasAction::all(['menuid'=>$value['id'],"status"=>1]);
- * $act =Db::name("action")
- * ->alias("a")
- * ->leftJoin("action_list l","a.action_code=l.action_code")
- * ->field("a.*,action_name")
- * ->where(['a.menuid'=>$value['id'],"a.status"=>1])
- * ->withAttr('id',function($val){
- * return (string)$val;
- * })
- * ->select()
- * ->toArray();
- * $act_data = Db::name("action_field")->where(['menuid'=>$value['id'],"status"=>1])->select();
- * $value['action'] = $act;
- * $value['action_data'] = $act_data;
- * if(array_key_exists($value['pid'],$result)){
- * $result[$value['pid']]["child"][]=$value;
- * }
- * }
- *
- * return json_show(0,"获取成功",array_values($result));
- * }
- *
- * public function ActionInfo(){
- * $post =$this->request->post();
- * $token = isset($post['token']) ? trim($post['token']) : "";
- * if($token==""){
- * return json_show(101,'token不能为空');
- * }
- * $effetc = VerifyTokens($token);
- * if(!empty($effetc) && $effetc['code']!=0){
- * return json_show($effetc['code'],$effetc['message']);
- * }
- * $id = isset($post['id'])? intval($post['id']) :"";
- * if($id==""){
- * return json_show(1002,'功能id不能为空');
- * }
- * $menu = Db::name("action_list")->where("id","=",$id)->find();
- * if(empty($menu)){
- * return json_show(1003,"未找到对应的数据");
- * }
- * return json_show(0,"获取成功!",$menu);
- * }
- * **/
- //11获取所有菜单列表数据
- public function index()
- {
- $post = $this->request->post();
- $data = Db::name("admin_menu")
- ->where(["pid" => 0, "status" => 1, "is_del" => 0])
- ->order(['weight'=>'desc','id'=>'desc'])
- ->select()
- ->toArray();
- $result = [];
- if (empty($data)) {
- return app_show(0, "获取成功", $result);
- }
- foreach ($data as $key => $val) {
- $val["child"] = [];
- $result[$val['id']] = $val;
- }
- $child_where = [["pid", "<>", 0], ['status', "=", 1], ["is_del", "=", 0]];
- if (isset($post['level']) && $post['level'] !== '') $child_where[] = ['level', 'in', $post['level']];
- $child = Db::name("admin_menu")
- ->where($child_where)
- ->order(['weight'=>'desc','id'=>'desc'])
- ->select()
- ->toArray();
- foreach ($child as $k => $value) {
- // $act = PasAction::all(['menuid'=>$value['id'],"status"=>1]);
- $act = Db::name("action")
- ->alias("a")
- ->leftJoin("action_list l", "a.action_code=l.action_code")
- ->field("a.*,action_name")
- ->where(['a.menuid' => $value['id'], "a.status" => 1])
- ->select()
- ->toArray();
- $act_data = Db::name("action_field")
- ->where(['menuid' => $value['id'], "status" => 1])
- ->select()
- ->toArray();
- $value['action'] = $act;
- $value['action_data'] = $act_data;
- if (array_key_exists($value['pid'], $result)) {
- $result[$value['pid']]["child"][] = $value;
- }
- }
- return json_show(0, "获取成功", array_values($result));
- }
- public function ActionList(){
- $post =$this->request->post();
- $pageid = isset($post['id']) ? intval($post['id']) : "";
- if($pageid==""){
- return error_show(1001,'页面id不能为空');
- }
- $condition = ['menuid'=>$pageid];
- $data=Db::name('action')
- ->alias("a")
- ->leftJoin("action_list l","a.action_code=l.action_code")
- ->field("a.*,action_name")
- ->where($condition)
- ->select()
- ->toArray();
- return app_show(0,"获取成功",$data);
- }
- /** 菜单下功能信息状态修改
- * @return \think\response\Json|void
- * @throws \think\exception\DbException
- */
- public function ActionAdd()
- {
- $post = $this->request->post();
- $pageid = isset($post['menuid']) ? intval($post['menuid']) : "";
- if ($pageid == "") {
- return error_show(1001, '菜单id不能为空');
- }
- $code = isset($post['action_code']) ? trim($post['action_code']) : "";
- if ($code == "") {
- return error_show(1002, '功能code不能为空');
- }
- $status = isset($post['status']) ? intval($post['status']) : 1;
- try {
- $where = ['menuid' => $pageid, 'action_code' => $code];
- $true = Db::name("action")->field('id')->where($where)->find();
- if ($true) return error_show(1003, '此功能已存在');
- else {
- $data = ['menuid' => $pageid, 'action_code' => $code, 'status' => $status, "updatetime" => date("Y-m-d H:i:s"), "addtime" => date("Y-m-d H:i:s")];
- Db::name("action")->insert($data);
- return app_show(0, "添加成功");
- }
- } catch (\Exception $e) {
- return error_show(1005, $e->getMessage());
- }
- }
- /** 菜单下功能信息状态修改
- * @return \think\response\Json|void
- * @throws \think\exception\DbException
- */
- public function ActionDel()
- {
- $post = $this->request->filter('trim')->post();
- $action_id = isset($post['action_id']) ? intval($post['action_id']) : "";
- if ($action_id === "") {
- return json_show(1001, '参数action_id不能为空');
- }
- $action = Db::name("action_list")->where(["id" => $action_id, "is_del" => 0])->find();
- if ($action == false) {
- return json_show(1004, "未找到功能数据");
- }
- $upda = ["is_del" => 0, "updatetime" => date("Y-m-d H:i:s")];
- Db::startTrans();
- try {
- $up = Db::name("action_list")->where($action)->update($upda);
- if ($up) {
- $upall = Db::name("action")->where(["action_code" => $action['action_code'], "is_del" => 0])->update($upda);
- Db::commit();
- return json_show(0, "删除成功");
- }
- Db::rollback();
- return json_show(1005, "删除失败");
- } catch (\Exception $e) {
- Db::rollback();
- return json_show(1005, $e->getMessage());
- }
- }
- }
|