Promotionbundling.php 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186
  1. <?php
  2. namespace app\admin\controller;
  3. use think\facade\View;
  4. use think\facade\Lang;
  5. /**
  6. * ============================================================================
  7. * DSMall多用户商城
  8. * ============================================================================
  9. * 版权所有 2014-2028 长沙德尚网络科技有限公司,并保留所有权利。
  10. * 网站地址: http://www.csdeshang.com
  11. * ----------------------------------------------------------------------------
  12. * 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和使用 .
  13. * 不允许对程序代码以任何形式任何目的的再发布。
  14. * ============================================================================
  15. * 控制器
  16. */
  17. class Promotionbundling extends AdminControl
  18. {
  19. public function initialize()
  20. {
  21. parent::initialize(); // TODO: Change the autogenerated stub
  22. Lang::load(base_path() . 'admin/lang/'.config('lang.default_lang').'/promotionbundling.lang.php');
  23. }
  24. /**
  25. * 套餐管理
  26. */
  27. public function bundling_quota()
  28. {
  29. //自动开启优惠套装
  30. if (intval(input('param.promotion_allow')) === 1) {
  31. $config_model = model('config');
  32. $update_array = array();
  33. $update_array['promotion_allow'] = 1;
  34. $config_model->editConfig($update_array);
  35. }
  36. $pbundling_model = model('pbundling');
  37. // 查询添加
  38. $where = array();
  39. if (input('param.store_name') != '') {
  40. $where[]=array('store_name','like', '%' . trim(input('param.store_name')) . '%');
  41. }
  42. if (is_numeric(input('param.state'))) {
  43. $where[]=array('blquota_state','=',intval(input('param.state')));
  44. }
  45. $bundlingquota_list = $pbundling_model->getBundlingQuotaList($where,10);
  46. View::assign('show_page', $pbundling_model->page_info->render());
  47. // 状态数组
  48. $state_array = array(0 => lang('bundling_state_0'), 1 => lang('bundling_state_1'));
  49. View::assign('state_array', $state_array);
  50. $this->setAdminCurItem('bundling_quota');
  51. View::assign('bundlingquota_list', $bundlingquota_list);
  52. return View::fetch();
  53. }
  54. /**
  55. * 活动管理
  56. */
  57. public function index()
  58. {
  59. $pbundling_model = model('pbundling');
  60. // 查询添加
  61. $where = '';
  62. if (input('param.bundling_name') != '') {
  63. $where[]=array('bl_name','like', '%' . trim(input('param.bundling_name')) . '%');
  64. }
  65. if (input('param.store_name') != '') {
  66. $where[]=array('store_name','like', '%' . trim(input('param.store_name')) . '%');
  67. }
  68. if (is_numeric(input('param.state'))) {
  69. $where[]=array('bl_state','=',input('param.state'));
  70. }
  71. $pbundling_list = $pbundling_model->getBundlingList($where,'*','bl_id desc',10);
  72. $pbundling_list = array_under_reset($pbundling_list, 'bl_id');
  73. View::assign('show_page', $pbundling_model->page_info->render());
  74. if (!empty($pbundling_list)) {
  75. $blid_array = array_keys($pbundling_list);
  76. $bgoods_array = $pbundling_model->getBundlingGoodsList(array( array('bl_id','in', $blid_array)), 'bl_id,goods_id,count(*) as count', 'blgoods_appoint desc', 'bl_id');
  77. $bgoods_array = array_under_reset($bgoods_array, 'bl_id');
  78. foreach ($pbundling_list as $key => $val) {
  79. $pbundling_list[$key]['goods_id'] = isset($bgoods_array[$val['bl_id']]['goods_id'])?$bgoods_array[$val['bl_id']]['goods_id']:'';
  80. $pbundling_list[$key]['count'] = isset($bgoods_array[$val['bl_id']]['count'])?$bgoods_array[$val['bl_id']]['count']:'';
  81. }
  82. }
  83. View::assign('pbundling_list', $pbundling_list);
  84. // 状态数组
  85. $state_array = array(0 => lang('bundling_state_0'), 1 => lang('bundling_state_1'));
  86. View::assign('state_array', $state_array);
  87. // 输出自营店铺IDS
  88. // View::assign('flippedOwnShopIds', array_flip(model('store')->getOwnShopIds()));
  89. View::assign('flippedOwnShopIds', '');
  90. $this->setAdminCurItem('index');
  91. return View::fetch();
  92. }
  93. /**
  94. * 设置
  95. */
  96. public function bundling_setting()
  97. {
  98. // 实例化模型
  99. $config_model = model('config');
  100. if (request()->isPost()) {
  101. // 验证
  102. $data = [
  103. 'promotion_bundling_price' => input('post.promotion_bundling_price'),
  104. 'promotion_bundling_sum' => input('post.promotion_bundling_sum'),
  105. 'promotion_bundling_goods_sum' => input('post.promotion_bundling_goods_sum')
  106. ];
  107. $promotionbundling_validate = ds_validate('promotionbundling');
  108. if (!$promotionbundling_validate->scene('bundling_setting')->check($data)){
  109. $this->error($promotionbundling_validate->getError());
  110. }
  111. $data['promotion_bundling_price'] = intval(input('post.promotion_bundling_price'));
  112. $data['promotion_bundling_sum'] = intval(input('post.promotion_bundling_sum'));
  113. $data['promotion_bundling_goods_sum'] = intval(input('post.promotion_bundling_goods_sum'));
  114. $return = $config_model->editConfig($data);
  115. if ($return) {
  116. $this->log(lang('ds_set') . lang('ds_promotion_bundling'));
  117. dsLayerOpenSuccess(lang('ds_common_op_succ'));
  118. }
  119. else {
  120. $this->error(lang('ds_common_op_fail'));
  121. }
  122. } else {
  123. $this->setAdminCurItem('bundling_setting');
  124. // 查询setting列表
  125. $setting = rkcache('config', true);
  126. View::assign('setting', $setting);
  127. return View::fetch();
  128. }
  129. }
  130. /**
  131. * 删除套餐活动
  132. */
  133. public function del_bundling()
  134. {
  135. $bl_id = intval(input('param.bl_id'));
  136. if ($bl_id <= 0) {
  137. $this->error(lang('param_error'));
  138. }
  139. $rs = model('pbundling')->delBundlingForAdmin(array('bl_id' => $bl_id));
  140. if ($rs) {
  141. ds_json_encode(10000, lang('ds_common_op_succ'));
  142. }
  143. else {
  144. ds_json_encode(10001, lang('ds_common_op_fail'));
  145. }
  146. }
  147. protected function getAdminItemList()
  148. {
  149. $menu_array = array(
  150. array(
  151. 'name' => 'index',
  152. 'text' => lang('bundling_list'),
  153. 'url' => (string)url('Promotionbundling/index')
  154. ), array(
  155. 'name' => 'bundling_quota',
  156. 'text' => lang('bundling_quota'),
  157. 'url' => (string)url('Promotionbundling/bundling_quota')
  158. ), array(
  159. 'name' => 'bundling_setting',
  160. 'text' => lang('bundling_setting'),
  161. 'url' => "javascript:dsLayerOpen('".(string)url('Promotionbundling/bundling_setting')."','".lang('bundling_setting')."')"
  162. ),
  163. );
  164. return $menu_array;
  165. }
  166. }