Level.php 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166
  1. <?php
  2. /**
  3. * Niushop商城系统 - 团队十年电商经验汇集巨献!
  4. * =========================================================
  5. * Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
  6. * ----------------------------------------------
  7. * 官方网址: https://www.niushop.com
  8. * =========================================================
  9. */
  10. namespace addon\fenxiao\shop\controller;
  11. use addon\fenxiao\model\Config as ConfigModel;
  12. use addon\fenxiao\model\FenxiaoLevel as FenxiaoLevelModel;
  13. use app\shop\controller\BaseShop;
  14. use addon\fenxiao\model\Fenxiao;
  15. /**
  16. * 分销等级管理
  17. */
  18. class Level extends BaseShop
  19. {
  20. /**
  21. * 分销等级列表
  22. */
  23. public function lists()
  24. {
  25. $model = new FenxiaoLevelModel();
  26. $field = 'level_id,level_num,level_name,one_rate,two_rate,three_rate,status,create_time,is_default,one_fenxiao_order_num,one_fenxiao_order_money,one_fenxiao_total_order,order_num,order_money,one_child_num,one_child_fenxiao_num,upgrade_type';
  27. if (request()->isAjax()) {
  28. $page = input('page', 1);
  29. $page_size = input('page_size', PAGE_LIST_ROWS);
  30. $list = $model->getLevelPageList([ [ 'site_id', '=', $this->site_id ], ['is_default', '=', 0] ], $page, $page_size, 'level_num asc,one_rate asc', $field);
  31. if (!empty($list[ 'data' ][ 'list' ])) {
  32. foreach ($list[ 'data' ][ 'list' ] as $key => $val) {
  33. $fenxiao_model = new Fenxiao();
  34. $fenxiao_count = $fenxiao_model->getFenxiaoMemberCount([ [ 'level_id', '=', $val[ 'level_id' ] ] ]);
  35. $list[ 'data' ][ 'list' ][ $key ][ 'fenxiao_num' ] = $fenxiao_count;
  36. }
  37. }
  38. return $list;
  39. } else {
  40. $this->forthMenu();
  41. //获取系统配置
  42. $config_model = new ConfigModel();
  43. $basics = $config_model->getFenxiaoBasicsConfig($this->site_id);
  44. $this->assign("basics_info", $basics[ 'data' ][ 'value' ]);
  45. return $this->fetch('level/lists');
  46. }
  47. }
  48. /**
  49. * 添加分销等级
  50. */
  51. public function add()
  52. {
  53. $model = new FenxiaoLevelModel();
  54. if (request()->isAjax()) {
  55. $data = [
  56. 'site_id' => $this->site_id,
  57. 'level_name' => input('level_name', ''),
  58. 'one_rate' => input('one_rate', ''),
  59. 'two_rate' => input('two_rate', ''),
  60. 'three_rate' => input('three_rate', ''),
  61. 'upgrade_type' => input('upgrade_type', ''),
  62. 'level_num' => input('level_num', 1),
  63. 'fenxiao_order_num' => input('fenxiao_order_num', ''),
  64. 'fenxiao_order_meney' => input('fenxiao_order_meney', ''),
  65. 'one_fenxiao_order_num' => input('one_fenxiao_order_num', ''),
  66. 'one_fenxiao_order_money' => input('one_fenxiao_order_money', ''),
  67. 'one_fenxiao_total_order' => input('one_fenxiao_total_order', ''),
  68. 'order_num' => input('order_num', ''),
  69. 'order_money' => input('order_money', ''),
  70. 'child_num' => input('child_num', ''),
  71. 'child_fenxiao_num' => input('child_fenxiao_num', ''),
  72. 'one_child_num' => input('one_child_num', ''),
  73. 'one_child_fenxiao_num' => input('one_child_fenxiao_num', ''),
  74. ];
  75. $res = $model->addLevel($data);
  76. return $res;
  77. } else {
  78. //获取系统配置
  79. $config_model = new ConfigModel();
  80. $basics = $config_model->getFenxiaoBasicsConfig($this->site_id);
  81. $this->assign("basics_info", $basics[ 'data' ][ 'value' ]);
  82. $level_weight = $model->getLevelList([ [ 'level_num', '<>', '' ], [ 'site_id', '=', $this->site_id ] ], 'level_num');
  83. $level_weight = $level_weight[ 'data' ];
  84. if (!empty($level_weight)) $level_weight = array_column($level_weight, 'level_num');
  85. $this->assign('level_weight', $level_weight);
  86. return $this->fetch('level/add');
  87. }
  88. }
  89. /**
  90. * 编辑分销等级
  91. */
  92. public function edit()
  93. {
  94. $model = new FenxiaoLevelModel();
  95. if (request()->isAjax()) {
  96. $data = [
  97. 'level_name' => input('level_name', ''),
  98. 'one_rate' => input('one_rate', ''),
  99. 'two_rate' => input('two_rate', ''),
  100. 'three_rate' => input('three_rate', ''),
  101. 'upgrade_type' => input('upgrade_type', ''),
  102. 'level_num' => input('level_num', 0),
  103. 'fenxiao_order_num' => input('fenxiao_order_num', ''),
  104. 'fenxiao_order_meney' => input('fenxiao_order_meney', ''),
  105. 'one_fenxiao_order_num' => input('one_fenxiao_order_num', ''),
  106. 'one_fenxiao_order_money' => input('one_fenxiao_order_money', ''),
  107. 'one_fenxiao_total_order' => input('one_fenxiao_total_order', ''),
  108. 'order_num' => input('order_num', ''),
  109. 'order_money' => input('order_money', ''),
  110. 'child_num' => input('child_num', ''),
  111. 'child_fenxiao_num' => input('child_fenxiao_num', ''),
  112. 'one_child_num' => input('one_child_num', ''),
  113. 'one_child_fenxiao_num' => input('one_child_fenxiao_num', ''),
  114. ];
  115. $level_id = input('level_id', '');
  116. $res = $model->editLevel($data, [ [ 'level_id', '=', $level_id ], [ 'site_id', '=', $this->site_id ] ]);
  117. return $res;
  118. } else {
  119. $level_id = input('level_id', '');
  120. $info = $model->getLevelInfo([ [ 'level_id', '=', $level_id ], [ 'site_id', '=', $this->site_id ] ]);
  121. if (empty($info[ 'data' ])) $this->error('未获取到等级数据', addon_url('fenxiao://shop/level/lists'));
  122. $this->assign('info', $info[ 'data' ]);
  123. //获取系统配置
  124. $config_model = new ConfigModel();
  125. $basics = $config_model->getFenxiaoBasicsConfig($this->site_id);
  126. $this->assign("basics_info", $basics[ 'data' ][ 'value' ]);
  127. $level_weight = $model->getLevelList([ [ 'level_num', '<>', '' ], [ 'level_id', '<>', $level_id ], [ 'site_id', '=', $this->site_id ] ], 'level_num');
  128. $level_weight = $level_weight[ 'data' ];
  129. if (!empty($level_weight)) $level_weight = array_column($level_weight, 'level_num');
  130. $this->assign('level_weight', $level_weight);
  131. }
  132. return $this->fetch('level/edit');
  133. }
  134. /**
  135. * 删除分销等级
  136. */
  137. public function delete()
  138. {
  139. $model = new FenxiaoLevelModel();
  140. $level_id = input('level_id', '');
  141. $res = $model->deleteLevel($level_id, $this->site_id);
  142. return $res;
  143. }
  144. }