CommunityController.php 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. <?php
  2. namespace addons\Area\backend\controllers;
  3. use addons\Area\common\service\CommunityService;
  4. use common\enums\StatusEnum;
  5. /**
  6. * 社区
  7. */
  8. class CommunityController extends BaseController
  9. {
  10. public $enableCsrfValidation = false;
  11. public function actionIndex()
  12. {
  13. if (\Yii::$app->request->isAjax) {
  14. $data = \Yii::$app->request->get();
  15. if (!\Yii::$app->services->validate->validate($data, [
  16. [['keyword', 'address'], 'string'],
  17. [['page', 'limit', 'town_id'], 'integer'],
  18. ])) {
  19. return $this->error(\Yii::$app->services->validate->getErrorMessage());
  20. }
  21. $ret = (new CommunityService())->page($this->mall_id, $data);
  22. return is_string($ret) ? $this->error($ret) : $this->success('获取成功', $ret);
  23. }
  24. return $this->render('index');
  25. }
  26. /**
  27. * 不分页获取数据
  28. * @return mixed|void|null
  29. */
  30. public function actionList()
  31. {
  32. if (\Yii::$app->request->isAjax) {
  33. $data = \Yii::$app->request->get();
  34. if (!\Yii::$app->services->validate->validate($data, [
  35. [['town_id', 'is_district'], 'integer'],
  36. ])) {
  37. return $this->error(\Yii::$app->services->validate->getErrorMessage());
  38. }
  39. $ret = (new CommunityService())->list($this->mall_id, $data);
  40. return is_string($ret) ? $this->error($ret) : $this->success('获取成功', $ret);
  41. }
  42. }
  43. public function actionCreate()
  44. {
  45. if (\Yii::$app->request->isAjax) {
  46. if (\Yii::$app->request->isGet) {
  47. $data = \Yii::$app->request->get();
  48. if (!\Yii::$app->services->validate->validate($data, [
  49. [['id'], 'integer'],
  50. [['id'], 'required'],
  51. ])) {
  52. return $this->error(\Yii::$app->services->validate->getErrorMessage());
  53. }
  54. $ret = (new CommunityService())->fetch($this->mall_id, $data['id']);
  55. return is_string($ret) ? $this->error($ret) : $this->success('获取成功', $ret);
  56. } else {
  57. $data = \Yii::$app->request->post();
  58. if (!\Yii::$app->services->validate->validate($data, [
  59. [['id', 'province_id', 'city_id', 'district_id', 'town_id'], 'integer'],
  60. [['community_name', 'province_id', 'city_id', 'district_id', 'lng', 'lat'], 'required'],
  61. [['lng', 'lat'], 'number'],
  62. [['community_name', 'street', 'fully_address'], 'string'],
  63. [['addressComponents'], 'safe']
  64. ])) {
  65. return $this->error(\Yii::$app->services->validate->getErrorMessage());
  66. }
  67. $ret = (new CommunityService())->create($this->mall_id, $data);
  68. return is_string($ret) ? $this->error($ret) : $this->success('操作成功', $ret);
  69. }
  70. }
  71. return $this->render('create');
  72. }
  73. /**
  74. * 更改状态
  75. * @return mixed|null
  76. */
  77. public function actionStatus()
  78. {
  79. $data = \Yii::$app->request->post();
  80. if (!\Yii::$app->services->validate->validate($data, [
  81. [['id', 'status'], 'integer'],
  82. [['id', 'status'], 'required'],
  83. [['status'], 'in', 'range' => [StatusEnum::ENABLED, StatusEnum::DISABLED]]
  84. ])) {
  85. return $this->error(\Yii::$app->services->validate->getErrorMessage());
  86. }
  87. $ret = (new CommunityService())->status($this->mall_id, $data['id'], $data['status']);
  88. return is_string($ret) ? $this->error($ret) : $this->success();
  89. }
  90. /**
  91. * 删除记录行
  92. * @return mixed|null
  93. */
  94. public function actionDelete()
  95. {
  96. $data = \Yii::$app->request->post();
  97. if (!\Yii::$app->services->validate->validate($data, [
  98. [['id'], 'integer'],
  99. [['id'], 'required'],
  100. ])) {
  101. return $this->error(\Yii::$app->services->validate->getErrorMessage());
  102. }
  103. $ret = (new CommunityService())->delete($this->mall_id, $data['id']);
  104. return is_string($ret) ? $this->error($ret) : $this->success();
  105. }
  106. }