MenuController.php 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. <?php
  2. namespace addons\Happiness\client\controllers;
  3. use addons\Happiness\common\models\HappinessStoreMenu;
  4. use common\enums\AddonsEnum;
  5. use common\enums\StatusEnum;
  6. use common\models\mall\MallAddons;
  7. use Yii;
  8. class MenuController extends BaseController{
  9. /**
  10. * 门店菜单
  11. * @Author bing
  12. * @DateTime 2022-04-26 18:06:53
  13. * @copyright: Copyright (c) 2022 广东七件事集团
  14. * @return void
  15. */
  16. public function actionList(){
  17. $route = Yii::$app->request->get('route','');
  18. $list = HappinessStoreMenu::lists(['where' => [['is_addon' => StatusEnum::DISABLED, 'status' => StatusEnum::ENABLED]]]);
  19. $menus = HappinessStoreMenu::getTreeMenu($list, 0, $route, $this->mall['mall_sign']);
  20. if($this->store_id){
  21. $menus = HappinessStoreMenu::getFreezeMenu($menus, $this->store_id);
  22. }
  23. if (MallAddons::isInstall($this->mall_id, AddonsEnum::ADDONS_NAME_RESERVATION_SERVICE)){
  24. foreach($menus as &$val){
  25. if ($val['url'] === 'store/client/reserve-data/index') {
  26. unset($child);
  27. break;
  28. }
  29. }
  30. unset($val);
  31. }
  32. if (MallAddons::isInstall($this->mall_id, 'ReservationService') == 0){
  33. foreach($menus as $key => $val){
  34. //门店股东判断商城是否安装 预约服务插件
  35. if($val['url'] == 'store/client/reserve-data/index'){
  36. unset($menus[$key]);
  37. }
  38. }
  39. }
  40. if (MallAddons::isInstall($this->mall_id, 'StoreBoss') == 0){
  41. foreach($menus as $key => $val){
  42. //门店股东判断商城是否安装 门店股东插件
  43. if($val['url'] == 'store/client/store-boss/index'){
  44. unset($menus[$key]);
  45. }
  46. }
  47. }
  48. if (MallAddons::isInstall($this->mall_id, AddonsEnum::ADDONS_NAME_HI_GO) == 0){
  49. foreach($menus as $key => $val){
  50. //门店股东判断商城是否安装 海购插件
  51. if($val['url'] == 'store/client/merchant/profit-setting'){
  52. unset($menus[$key]);
  53. }
  54. }
  55. }
  56. $menus = array_values($menus);// 重新排序防止数组在前端变成对象
  57. return $this->success('ok',compact('menus'));
  58. }
  59. /**
  60. * 获取插件的菜单
  61. * @Author:lun
  62. * @Date:2023-12-19 15:50
  63. * @Copyright:copyright(c)2023 广东七件事集团
  64. * @return mixed|null
  65. */
  66. public function actionAddonsMenu(){
  67. $route = Yii::$app->request->get('route','');
  68. $addons_name = Yii::$app->request->get('addons_name','');
  69. if (empty($addons_name)) return $this->error('应用标识不能为空');
  70. $where[] = ['=', 'addons_name', $addons_name];
  71. $where[] = ['=', 'is_addon', StatusEnum::ENABLED];
  72. $where[] = ['=', 'status', StatusEnum::ENABLED];
  73. $list = HappinessStoreMenu::lists(['where' => $where]);
  74. $menus = HappinessStoreMenu::getTreeMenu($list, 0, $route);
  75. return $this->success('ok',compact('menus'));
  76. }
  77. }