Banner.php 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241
  1. <?php
  2. /**
  3. * Niushop商城系统 - 团队十年电商经验汇集巨献!
  4. * =========================================================
  5. * Copy right 2019-2029 山西牛酷信息科技有限公司, 保留所有权利。
  6. * ----------------------------------------------
  7. * 官方网址: https://www.niushop.com.cn
  8. * 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和使用。
  9. * 任何企业和个人不允许对程序代码以任何形式任何目的再发布。
  10. * =========================================================
  11. */
  12. namespace app\admin\controller;
  13. use app\model\goods\Goods;
  14. use app\model\web\Banner as BannerModel;
  15. use app\model\web\AdvPosition;
  16. /**
  17. * 广告管理
  18. */
  19. class Banner extends BaseAdmin
  20. {
  21. /**
  22. * 广告位管理
  23. * @return mixed
  24. */
  25. public function index()
  26. {
  27. $banner_position = new BannerModel();
  28. if (request()->isAjax()) {
  29. $page = input('page', 1);
  30. $page_size = input('page_size', PAGE_LIST_ROWS);
  31. $search_text = input('search_text', '');
  32. $type = input('type', '');//位置类型 1 pc端 2 手机端
  33. $condition = [];
  34. if (!empty($search_text)) {
  35. $condition[] = [ 'ap_name', 'like', '%' . $search_text . '%' ];
  36. }
  37. if ($type !== '') {
  38. $condition[] = [ 'type', '=', $type ];
  39. }
  40. return $banner_position->getBannerPageList($condition, $page, $page_size);
  41. } else {
  42. $this->forthMenu();
  43. return $this->fetch("banner/index");
  44. }
  45. }
  46. /**
  47. * 添加广告位
  48. */
  49. public function addPosition()
  50. {
  51. $goods_model = new Goods();
  52. $banner_position = new BannerModel();
  53. if (request()->isAjax()) {
  54. $data = [
  55. 'goods_id' => input('goods_id', ''),
  56. 'show_image' => input('show_image', ''),
  57. 'create_time'=>time()
  58. ];
  59. if(!empty($data['goods_id'])){
  60. $goods = $goods_model->getGoodsInfo([['goods_id','=',$data['goods_id']]],'goods_name,sku_id');
  61. $data['goods_name']=$goods['data']['goods_name'];
  62. $data['sku_id']=$goods['data']['sku_id'];
  63. }
  64. return $banner_position->addBanner($data);
  65. } else {
  66. $goods_arr = $goods_model->getGoodsList(['goods_state'=>1,'verify_state'=>1,'is_delete'=>0],'goods_id,goods_name');
  67. $this->assign('goods_arr',$goods_arr['data']);
  68. return $this->fetch("banner/add_banner");
  69. }
  70. }
  71. /**
  72. * 编辑广告位
  73. */
  74. public function editPosition()
  75. {
  76. $adv_position = new BannerModel();
  77. $ap_id = input('ap_id', 0);
  78. if (request()->isAjax()) {
  79. $data = [
  80. 'link' => input('link', ''),
  81. 'show_image' => input('show_image', ''),
  82. ];
  83. return $adv_position->editBanner($data, [ [ 'ap_id', '=', $ap_id ] ]);
  84. } else {
  85. $ap_info = $adv_position->getBannerInfo($ap_id);
  86. $this->assign('info', $ap_info['data']);
  87. return $this->fetch("banner/adv");
  88. }
  89. }
  90. /**
  91. * 修改广告位字段
  92. */
  93. public function editPositionField()
  94. {
  95. if (request()->isAjax()) {
  96. $adv_position = new BannerModel();
  97. $type = input('type', '');
  98. $value = input('value', 0);
  99. $ap_id = input('ap_id', 0);
  100. $data = [
  101. $type => $value
  102. ];
  103. return $adv_position->editBanner($data, [ [ 'ap_id', '=', $ap_id ] ]);
  104. }
  105. }
  106. /**
  107. * 删除广告位
  108. */
  109. public function deleteBanner()
  110. {
  111. if (request()->isAjax()) {
  112. $ap_ids = input('ap_ids', 0);
  113. $adv_position = new BannerModel();
  114. return $adv_position->deleteBanner([ [ 'id', 'in', $ap_ids ] ]);
  115. }
  116. }
  117. /**
  118. * 广告列表
  119. */
  120. public function lists()
  121. {
  122. $adv = new BannerModel();
  123. $ap_id = input('ap_id', '');
  124. if (request()->isAjax()) {
  125. $page = input('page', 1);
  126. $page_size = input('page_size', PAGE_LIST_ROWS);
  127. $search_text = input('search_text', '');
  128. $ap_id = input('ap_id', '');
  129. $condition = [];
  130. if (!empty($search_text)) {
  131. $condition[] = [ 'a.adv_title', 'like', '%' . $search_text . '%' ];
  132. }
  133. if ($ap_id !== '') {
  134. $condition[] = [ 'a.ap_id', '=', $ap_id ];
  135. }
  136. return $adv->getBannerPageList($condition, $page, $page_size);
  137. } else {
  138. $this->assign('ap_id', $ap_id);
  139. $this->forthMenu();
  140. return $this->fetch("banner/lists");
  141. }
  142. }
  143. /**
  144. * 添加广告
  145. */
  146. public function addAdv()
  147. {
  148. $adv = new AdvModel();
  149. if (request()->isAjax()) {
  150. $data = [
  151. 'ap_id' => input('ap_id', 0),
  152. 'adv_title' => input('adv_title', ''),
  153. 'adv_url' => input('adv_url', ''),
  154. 'adv_image' => input('adv_image', ''),
  155. 'slide_sort' => input('slide_sort', 0),
  156. 'price' => input('price', 0),
  157. 'background' => input('background', ''),
  158. ];
  159. return $adv->addAdv($data);
  160. } else {
  161. $adv_position = new AdvPosition();
  162. $adv_position_list = $adv_position->getAdvPositionList();
  163. $this->assign('adv_position_list', $adv_position_list['data']);
  164. return $this->fetch("adv/add_adv");
  165. }
  166. }
  167. /**
  168. * 编辑广告
  169. */
  170. public function editAdv()
  171. {
  172. $goods_model = new Goods();
  173. $adv_id = input('ap_id', '');
  174. $adv = new BannerModel();
  175. if (request()->isAjax()) {
  176. $data = [
  177. 'goods_id' => input('goods_id', ''),
  178. 'show_image' => input('show_image', ''),
  179. 'create_time'=>time()
  180. ];
  181. if(!empty($data['goods_id'])){
  182. $goods = $goods_model->getGoodsInfo([['goods_id','=',$data['goods_id']]],'goods_name,sku_id');
  183. $data['goods_name']=$goods['data']['goods_name'];
  184. $data['sku_id']=$goods['data']['sku_id'];
  185. }
  186. return $adv->editBanner($data, [ [ 'id', '=', $adv_id ] ]);
  187. } else {
  188. $adv_info = $adv->getBannerInfo($adv_id);
  189. $this->assign('adv_info', $adv_info['data']);
  190. $goods_arr = $goods_model->getGoodsList(['goods_state'=>1,'verify_state'=>1,'is_delete'=>0],'goods_id,goods_name');
  191. $this->assign('goods_arr',$goods_arr['data']);
  192. return $this->fetch("banner/edit_adv");
  193. }
  194. }
  195. /**
  196. * 修改广告字段
  197. */
  198. public function editAdvField()
  199. {
  200. if (request()->isAjax()) {
  201. $adv = new AdvModel();
  202. $type = input('type', '');
  203. $value = input('value', '');
  204. $adv_id = input('adv_id', '');
  205. $data = [
  206. $type => $value
  207. ];
  208. return $adv->editAdv($data, [ [ 'adv_id', '=', $adv_id ] ]);
  209. }
  210. }
  211. /**
  212. * 删除广告
  213. */
  214. public function deleteAdv()
  215. {
  216. if (request()->isAjax()) {
  217. $adv_ids = input('adv_ids', 0);
  218. $adv = new AdvModel();
  219. return $adv->deleteAdv([ [ 'adv_id', 'in', $adv_ids ] ]);
  220. }
  221. }
  222. }