| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141 |
- <?php
- /**
- * Created by PhpStorm.
- * User: Administrator
- * Date: 2018/10/15
- * Time: 13:46
- */
- namespace app\backend\modules\finance\controllers;
- use app\backend\modules\finance\models\Advertisement;
- use app\backend\modules\uploadVerificate\UploadVerificationBaseController;
- use app\common\components\BaseController;
- use app\common\exceptions\ShopException;
- use app\common\helpers\PaginationHelper;
- use app\common\helpers\Url;
- class AdvertisementController extends UploadVerificationBaseController
- {
- public function index()
- {
- $search = request()->input('search');
- $list = Advertisement::getList($search)->paginate(15);
- $pager = PaginationHelper::show($list->total(), $list->currentPage(), $list->perPage());
- return view('finance.advertisement.adv_list', [
- 'list' => $list,
- 'pager'=> $pager,
- 'search' => $search,
- ])->render();
- }
- public function add()
- {
- $adv = request()->input('adv');
- if (request()->isMethod('post')) {
- $adv_model = new Advertisement();
- if($adv['area_open'] == 1){
- if(!$adv['lng'] || !$adv['lat']) throw new ShopException('若需开启投放区域,请选择详细地址');
- }
- $adv['longitude'] = trim($adv['lng']);
- $adv['latitude'] = trim($adv['lat']);
- unset($adv['lng']);
- unset($adv['lat']);
- $adv_model->setRawAttributes($adv);
- $validator = $adv_model->validator($adv_model->getAttributes());
- if ($validator->fails()) {
- $this->error($validator->messages());
- } else {
- //其他字段赋值
- $adv_model->uniacid = \YunShop::app()->uniacid;
- if ($adv_model->save()) {
- //显示信息并跳转
- return $this->message('添加成功', Url::absoluteWeb('finance.advertisement.index'));
- } else {
- $this->error('添加失败');
- }
- }
- }
- return view('finance.advertisement.adv_form', [
- 'adv' => $adv,
- ])->render();
- }
- public function edit()
- {
- $id = intval(\Yunshop::request()->id);
- $adv_model = Advertisement::find($id);
- if (!$adv_model) {
- return $this->message('无记录或已被删除', '', 'error');
- }
- $requestData = \Yunshop::request()->adv;
- if ($requestData) {
- if($requestData['area_open'] == 1){
- if(!$requestData['lng'] || !$requestData['lat']) throw new ShopException('若需开启投放区域,请选择详细地址');
- }
- $requestData['longitude'] = trim($requestData['lng']);
- $requestData['latitude'] = trim($requestData['lat']);
- unset($requestData['lng']);
- unset($requestData['lat']);
- //数据保存
- $adv_model->setRawAttributes($requestData);
- $validator = $adv_model->validator($adv_model->getAttributes());
- if ($validator->fails()) {
- $this->error($validator->messages());
- } else {
- if ($adv_model->save()) {
- //显示信息并跳转
- return $this->message('修改成功', Url::absoluteWeb('finance.advertisement.index'));
- } else {
- $this->error('修改失败');
- }
- }
- }
- return view('finance.advertisement.adv_form', [
- 'adv' => $adv_model,
- 'id' => $id,
- ])->render();
- }
- public function del()
- {
- $id = intval(\Yunshop::request()->id);
- $adv_model = Advertisement::find($id);
- if (!$adv_model) {
- return $this->message('无记录或已被删除', '', 'error');
- }
- if ($adv_model->delete()) {
- return $this->message('删除成功', Url::absoluteWeb('finance.advertisement.index'));
- }
- return $this->message('删除失败', '', 'error');
- }
- public function setStatus()
- {
- $id = \YunShop::request()->id;
- $adv_model = Advertisement::find($id);
- $type = $adv_model->status == 1 ? 0:1;
- $adv_model->status = $type;
- $adv_model->save();
- echo json_encode(["status" => $type, "result" => 1]);
- }
- }
|