SystemGroup.php 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. <?php
  2. namespace app\admin\controller\setting;
  3. use EasyWeChat\ShakeAround\Group;
  4. use service\UtilService as Util;
  5. use service\JsonService as Json;
  6. use think\Request;
  7. use think\Url;
  8. use app\admin\model\system\SystemGroup as GroupModel;
  9. use app\admin\model\system\SystemGroupData as GroupDataModel;
  10. use app\admin\controller\AuthController;
  11. /**
  12. * 组合数据控制器
  13. * Class SystemGroup
  14. * @package app\admin\controller\system
  15. */
  16. class SystemGroup extends AuthController
  17. {
  18. /**
  19. * 显示资源列表
  20. *
  21. * @return \think\Response
  22. */
  23. public function index()
  24. {
  25. $this->assign(GroupModel::page());
  26. return $this->fetch();
  27. }
  28. /**
  29. * 显示创建资源表单页.
  30. *
  31. * @return \think\Response
  32. */
  33. public function create()
  34. {
  35. $this->assign(['title'=>'添加数据组','save'=>Url::build('save')]);
  36. return $this->fetch();
  37. }
  38. /**
  39. * 保存新建的资源
  40. *
  41. * @param \think\Request $request
  42. * @return \think\Response
  43. */
  44. public function save(Request $request)
  45. {
  46. $params = Util::postMore([
  47. ['name',''],
  48. ['config_name',''],
  49. ['info',''],
  50. ['typelist',[]],
  51. ],$this->request);
  52. //数据组名称判断
  53. if(!$params['name'])return Json::fail('请输入数据组名称!');
  54. if(!$params['config_name'])return Json::fail('请输入配置名称!');
  55. if(GroupModel::be($params['config_name'],'config_name')) return Json::fail('数据关键字已存在!');
  56. $data["name"] = $params['name'];
  57. $data["config_name"] = $params['config_name'];
  58. $data["info"] = $params['info'];
  59. //字段信息判断
  60. if(!count($params['typelist']))
  61. return Json::fail('字段至少存在一个!');
  62. else{
  63. $validate = ["name","type","title","description"];
  64. foreach ($params["typelist"] as $key => $value) {
  65. foreach ($value as $name => $field) {
  66. if(empty($field["value"]) && in_array($name,$validate))
  67. return Json::fail("字段".($key + 1).":".$field["placeholder"]."不能为空!");
  68. else
  69. $data["fields"][$key][$name] = $field["value"];
  70. }
  71. }
  72. }
  73. $data["fields"] = json_encode($data["fields"]);
  74. GroupModel::set($data);
  75. return Json::successful('添加数据组成功!');
  76. }
  77. /**
  78. * 删除指定资源
  79. *
  80. * @param int $id
  81. * @return \think\Response
  82. */
  83. public function delete($id)
  84. {
  85. if(!GroupModel::del($id))
  86. return Json::fail(GroupModel::getErrorInfo('删除失败,请稍候再试!'));
  87. else{
  88. GroupDataModel::del(["gid"=>$id]);
  89. return Json::successful('删除成功!');
  90. }
  91. }
  92. }