StoreActivity.php 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178
  1. <?php
  2. /**
  3. * Created by PhpStorm
  4. * Author: 向往那片天空
  5. * Date: 2020/6/8
  6. * Time: 16:21
  7. * 微信/QQ: 250023777
  8. * 格言: 抓住中心,宁精勿杂,宁专勿多
  9. */
  10. namespace app\admin\controller\ump;
  11. use app\admin\controller\AuthController;
  12. use app\Request;
  13. use crmeb\services\FormBuilder as Form;
  14. use crmeb\services\JsonService;
  15. use crmeb\services\UtilService;
  16. use app\admin\model\ump\StoreActivity as StoreActivityModel;
  17. use think\facade\Route as Url;
  18. use app\admin\model\ump\StoreActivityProduct as StoreActivityProductModel;
  19. class StoreActivity extends AuthController
  20. {
  21. public function index(Request $request)
  22. {
  23. return $this->fetch();
  24. }
  25. public function lst(Request $request)
  26. {
  27. $where = UtilService::getMore([
  28. ['page', 1],
  29. ['limit', 10],
  30. ['title', ''],
  31. ['is_show', ''],
  32. ], $request);
  33. $data = StoreActivityModel::setWherePage(new StoreActivityModel(), $where, ['is_show'], ['title'])->order('id desc')->where("is_del=0")->page($where['page'], $where['limit'])->select()->toArray();
  34. $count = sizeof($data);
  35. return JsonService::successlayui(compact('data','count'));
  36. }
  37. public function create()
  38. {
  39. $field = [
  40. Form::input('title', '活动名称'),
  41. Form::input('price_color', '价格颜色(比如:33aaff)'),
  42. Form::radio('is_new', '新人专享', 1)->options([['label' => '是', 'value' => 1], ['label' => '否', 'value' => 0]]),
  43. Form::frameImageOne('main_img', '活动主图', Url::buildUrl('admin/widget.images/index', array('fodder' => 'main_img')))->icon('image')->width('100%')->height('500px'),
  44. Form::frameImageOne('label_img', '商品标签图', Url::buildUrl('admin/widget.images/index', array('fodder' => 'label_img')))->icon('image')->width('100%')->height('500px'),
  45. Form::frameImageOne('border_img', '商品边框图', Url::buildUrl('admin/widget.images/index', array('fodder' => 'border_img')))->icon('image')->width('100%')->height('500px'),
  46. Form::radio('is_show', '启用', 1)->options([['label' => '是', 'value' => 1], ['label' => '否', 'value' => 0]])
  47. ];
  48. $form = Form::make_post_form('添加活动', $field, Url::buildUrl('save'), 2);
  49. $this->assign(compact('form'));
  50. return $this->fetch('public/form-builder');
  51. }
  52. public function save(Request $request)
  53. {
  54. $data = UtilService::postMore([
  55. 'title',
  56. 'price_color',
  57. 'is_new',
  58. 'is_show',
  59. 'price_color',
  60. ['main_img', []],
  61. ['label_img', []],
  62. ['border_img', []],
  63. ], $request);
  64. if (!$data['title']) return JsonService::fail('请输入活动名称');
  65. if (!$data['price_color']) return JsonService::fail('请输入价格颜色');
  66. if ($data['main_img'][0] == "") return JsonService::fail('请上传活动主图');
  67. if ($data['label_img'][0] == "") return JsonService::fail('请上传商品标签图');
  68. if ($data['border_img'][0] == "") return JsonService::fail('请上传商品边框图');
  69. $data['main_img'] = $data['main_img'][0];
  70. $data['label_img'] = $data['label_img'][0];
  71. $data['border_img'] = $data['border_img'][0];
  72. $data['add_time'] = time();
  73. StoreActivityModel::create($data);
  74. return JsonService::successful('添加活动成功!');
  75. }
  76. public function edit($id)
  77. {
  78. $c = StoreActivityModel::get($id);
  79. if (!$c) return JsonService::fail('数据不存在!');
  80. $field = [
  81. Form::input('title', '活动名称', $c['title']),
  82. Form::input('price_color', '价格颜色(比如:33aaff)', $c['price_color']),
  83. Form::radio('is_new', '新人专享', $c['is_new'])->options([['label' => '是', 'value' => 1], ['label' => '否', 'value' => 0]]),
  84. Form::frameImageOne('main_img', '活动主图', Url::buildUrl('admin/widget.images/index', array('fodder' => 'main_img')), $c['main_img'])->icon('image')->width('100%')->height('500px'),
  85. Form::frameImageOne('label_img', '商品标签图', Url::buildUrl('admin/widget.images/index', array('fodder' => 'label_img')), $c['label_img'])->icon('image')->width('100%')->height('500px'),
  86. Form::frameImageOne('border_img', '商品边框图', Url::buildUrl('admin/widget.images/index', array('fodder' => 'border_img')), $c['border_img'])->icon('image')->width('100%')->height('500px'),
  87. Form::radio('is_show', '启用', $c['is_show'])->options([['label' => '是', 'value' => 1], ['label' => '否', 'value' => 0]])
  88. ];
  89. $form = Form::make_post_form('添加活动', $field, Url::buildUrl('update', array('id' => $id)), 2);
  90. $this->assign(compact('form'));
  91. return $this->fetch('public/form-builder');
  92. }
  93. public function update(Request $request, $id)
  94. {
  95. $data = UtilService::postMore([
  96. 'title',
  97. 'price_color',
  98. 'is_new',
  99. 'is_show',
  100. 'price_color',
  101. ['main_img', []],
  102. ['label_img', []],
  103. ['border_img', []],
  104. ], $request);
  105. if (!$data['title']) return JsonService::fail('请输入活动名称');
  106. if (!$data['price_color']) return JsonService::fail('请输入价格颜色');
  107. if ($data['main_img'][0] == "") return JsonService::fail('请上传活动主图');
  108. if ($data['label_img'][0] == "") return JsonService::fail('请上传商品标签图');
  109. if ($data['border_img'][0] == "") return JsonService::fail('请上传商品边框图');
  110. $data['main_img'] = $data['main_img'][0];
  111. $data['label_img'] = $data['label_img'][0];
  112. $data['border_img'] = $data['border_img'][0];
  113. $data['add_time'] = time();
  114. StoreActivityModel::edit($data, $id);
  115. return JsonService::successful('修改活动成功!');
  116. }
  117. public function del(Request $request, $id)
  118. {
  119. //todo 判断活动下面是否有商品
  120. if (StoreActivityProductModel::be(['aid' => $id, 'is_del=0'])) {
  121. return JsonService::fail("删除失败,活动下面还有商品");
  122. }
  123. StoreActivityModel::update([
  124. 'id' => $id,
  125. 'is_del' => 1
  126. ]);
  127. return JsonService::success("删除成功");
  128. }
  129. public function set_show(Request $request)
  130. {
  131. $param = UtilService::getMore([
  132. 'id',
  133. 'is_show'
  134. ], $request);
  135. StoreActivityModel::update([
  136. 'id' => $param['id'],
  137. 'is_show' => $param['is_show']
  138. ]);
  139. if (!$param['is_show']) { // 活动停用后,下面的所有商品都要设置为停用
  140. StoreActivityProductModel::where("aid={$param['id']}")->update([
  141. 'is_show' => 0,
  142. ]);
  143. }
  144. JsonService::success("修改成功");
  145. }
  146. public function set_new(Request $request)
  147. {
  148. $param = UtilService::getMore([
  149. 'id',
  150. 'is_new'
  151. ], $request);
  152. StoreActivityModel::update([
  153. 'id' => $param['id'],
  154. 'is_new' => $param['is_new']
  155. ]);
  156. JsonService::success("修改成功");
  157. }
  158. }