Auction.php 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205
  1. <?php
  2. namespace app\admin\controller\auction;
  3. use app\admin\controller\AuthController;
  4. use app\admin\controller\Union;
  5. use app\admin\model\auction\AuctionGu;
  6. use app\admin\model\User;
  7. use crmeb\services\{ExpressService,
  8. JsonService,
  9. MiniProgramService,
  10. upload\Upload,
  11. WechatService,
  12. FormBuilder as Form,
  13. CacheService,
  14. UtilService as Util,
  15. JsonService as Json};
  16. use app\admin\model\system\{
  17. SystemAttachment as SystemAttachmentModel, SystemAttachmentCategory as Category
  18. };
  19. use think\facade\Route as Url;
  20. use think\facade\Validate;
  21. /**
  22. * 竞拍管理
  23. * Class StoreOrder
  24. * @package app\admin\controller\store
  25. */
  26. class Auction extends AuthController
  27. {
  28. public function index()
  29. {
  30. return $this->fetch();
  31. }
  32. public function list()
  33. {
  34. $where = Util::getMore([
  35. ['status', ''],
  36. ['page', 1],
  37. ['limit', 20],
  38. ['auction']
  39. ]);
  40. $data = \app\admin\model\auction\Auction::list($where);
  41. return Json::successlayui($data);
  42. }
  43. /**
  44. * 显示创建资源表单页.
  45. *
  46. * @return \think\Response
  47. */
  48. public function create($id = 0)
  49. {
  50. $data = \app\admin\model\auction\Auction::find($id);
  51. $f = [];
  52. $f[] = Form::input('name', '场次名称', $data->getData('name'))->col(12);
  53. $f[] = Form::input('advert', '预约广告值', $data->getData('advert'))->col(12);
  54. $f[] = Form::input('lowest', '最低消费额度', $data->getData('lowest'));
  55. $f[] = Form::input('minimum', '最低广告值', $data->getData('minimum'));
  56. $f[] = Form::frameImageOne('image', '场次主图片(305*305px)', Url::buildUrl('admin/widget.images/index', array('fodder' => 'image')), $data->getData('image'))->icon('image')->width('100%')->height('500px');
  57. $f[] = Form::radio('status', '状态', $data->getData('status'))->options([['label' => '开启', 'value' => 1], ['label' => '关闭', 'value' => 0]]);
  58. $f[] = Form::dateTimes('radd_time', '入场时间', $data->getData('radd_time'));
  59. $f[] = Form::dateTimes('rend_time', '结束时间', $data->getData('rend_time'));
  60. $f[] = Form::input('sort', '排序', $data->getData('sort'));
  61. $f[] = Form::textarea('info', '介绍', $data->getData('info'));
  62. $form = Form::make_post_form('添加', $f, Url::buildUrl('save'));
  63. $this->assign(compact('form'));
  64. return $this->fetch('public/form-builder');
  65. }
  66. public function save()
  67. {
  68. $mode = new \app\admin\model\auction\Auction();
  69. $data = Util::postMore([
  70. 'id',
  71. 'name',
  72. 'image',
  73. 'status',
  74. 'sort',
  75. 'radd_time',
  76. 'rend_time',
  77. 'info',
  78. 'advert',
  79. 'lowest',
  80. 'minimum'
  81. ]);
  82. $validate = Validate::rule('nickname', 'require')->rule([
  83. 'name' => 'require',
  84. 'image' => 'require',
  85. 'status' => 'require',
  86. 'advert' => 'require',
  87. 'radd_time' => 'require',
  88. 'rend_time' => 'require',
  89. 'lowest' => 'require',
  90. 'minimum' => 'require',
  91. ]);
  92. $validate->message([
  93. 'name.require' => '名称不能为空',
  94. 'image.require' => '图片不能为空',
  95. 'status.require' => '状态不能为空',
  96. 'advert.require' => '请填写预约广告值',
  97. 'radd_time.require' => '请选择进场时间',
  98. 'rend_time.require' => '请选择结束时间',
  99. 'lowest.require' => '请填写额度门槛',
  100. 'minimum.require' => '请选择广告值门槛',
  101. ]);
  102. if (!$validate->check($data)) {
  103. return Json::fail($validate->getError());
  104. }
  105. $res = $mode->save($data);
  106. if ($res){
  107. return Json::success('添加成功!');
  108. }else{
  109. return Json::fail('添加失败');
  110. }
  111. }
  112. /**
  113. * 删除
  114. * @param $id
  115. * @return void
  116. * @throws \Exception
  117. */
  118. public function delete($id)
  119. {
  120. if (!$id) Json::fail('删除失败');
  121. $model = new \app\admin\model\auction\Auction();
  122. $res = $model->where('id', $id)->delete();
  123. if ($res){
  124. return Json::success('删除成功!');
  125. }else{
  126. return Json::fail(\app\admin\model\auction\Auction::getErrorInfo());
  127. }
  128. }
  129. public function set_status($id, $status)
  130. {
  131. if (empty($id))return Json::fail('修改失败');
  132. $res = \app\admin\model\auction\Auction::update(['status' => $status, 'id' => $id]);
  133. if ($res){
  134. return Json::success('修改成功!');
  135. }else{
  136. return Json::fail(\app\admin\model\auction\Auction::getErrorInfo());
  137. }
  138. }
  139. public function edit($id)
  140. {
  141. if (!$id) Json::fail('数据不存在');
  142. $data = \app\admin\model\auction\Auction::find($id);
  143. $f = [];
  144. $f[] = Form::input('nickname', '场次名称', $data->getData('nickname'))->col(12);
  145. $f[] = Form::input('anticipate', '预约价格', $data->getData('anticipate'))->col(12);
  146. $f[] = Form::frameImageOne('image', '场次主图片(305*305px)',Url::buildUrl('admin/widget.images/index', array('fodder' => 'image')), $data->getData('image'))->icon('image')->width('100%')->height('500px');
  147. $f[] = Form::radio('status', '状态', $data->getData('status'))->options([['label' => '开启', 'value' => 1], ['label' => '关闭', 'value' => 0]])->col(12);
  148. $f[] = Form::select('auction_gu_id', '绑定场馆', (string)$data->getData('auction_gu_id'))->setOptions(function () {
  149. $model = new AuctionGu();
  150. $list = $model->select();
  151. $menus = [];
  152. foreach ($list as $menu) {
  153. $menus[] = ['value' => $menu['id'], 'label' => $menu['name']];
  154. }
  155. return $menus;
  156. })->filterable(1)->col(12);
  157. $f[] = Form::dateTimes('add_time', '预约开始时间', $data->getData('add_time'));
  158. $f[] = Form::dateTimes('end_time', '预约结束时间', $data->getData('end_time'));
  159. $f[] = Form::dateTimes('radd_time', '入场时间', $data->getData('radd_time'));
  160. $f[] = Form::dateTimes('rend_time', '结束时间', $data->getData('rend_time'));
  161. $f[] = Form::input('sort', '排序', '0', $data->getData('sort'));
  162. $f[] = Form::textarea('info', '介绍', $data->getData('info'))->col(12);
  163. $form = Form::make_post_form('修改', $f, Url::buildUrl('update', compact('id')));
  164. $this->assign(compact('form'));
  165. return $this->fetch('public/form-builder');
  166. }
  167. public function get_auction($id)
  168. {
  169. if (!$id) Json::fail('数据不存在');
  170. $model = new \app\admin\model\auction\Auction();
  171. $info = $model->find($id);
  172. $data['productInfo'] = $info;
  173. return JsonService::successful($data);
  174. }
  175. }