| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206 |
- <?php
- namespace app\admin\controller\sms;
- use crmeb\services\SMSService;
- use think\facade\Route;
- use app\admin\controller\AuthController;
- use crmeb\services\FormBuilder;
- use crmeb\services\JsonService;
- use crmeb\services\UtilService;
- /**
- * 短信购买
- * Class SmsPay
- * @package app\admin\controller\sms
- */
- class SmsPay extends AuthController
- {
- /**
- * 显示资源列表
- * @return string
- */
- public function index()
- {
- $sms = new SMSService();
- if(!$sms::$status) return $this->failed('请先填写短信配置');
- return $this->fetch();
- }
- /**
- * 获取账号信息
- */
- public function number()
- {
- $countInfo = SMSService::count();
- if($countInfo['status'] == 400) return JsonService::fail($countInfo['msg']);
- return JsonService::success($countInfo['data']);
- }
- /**
- * 获取支付套餐
- */
- public function price()
- {
- list($page, $limit) = UtilService::getMore([
- ['page',1],
- ['limit',20],
- ], null, true);
- $mealInfo = SMSService::meal($page, $limit);
- if($mealInfo['status'] == 400) return JsonService::fail($mealInfo['msg']);
- return JsonService::success($mealInfo['data']['data']);
- }
- /**
- * 获取支付码
- */
- public function pay()
- {
- list($payType, $mealId, $price)= UtilService::postMore([
- ['payType', 'weixin'],
- ['mealId', 0],
- ['price', 0],
- ], null, true);
- $payInfo = SMSService::pay($payType, $mealId, $price, $this->adminId);
- if($payInfo['status'] == 400) return JsonService::fail($payInfo['msg']);
- return JsonService::success($payInfo['data']);
- }
- public function meal()
- {
- $this->assign('badge',SmsMeal::reckonNumber());
- return $this->fetch();
- }
- /*
- * 异步获取分类列表
- * @return json
- */
- public function meal_list(){
- $where = UtilService::getMore([
- ['is_show',''],
- ['title',''],
- ['page',1],
- ['limit',20],
- ['order','']
- ]);
- return JsonService::successlayui(SmsMeal::lst($where));
- }
- /**
- * 显示创建资源表单页.
- *
- * @return string
- * @throws \FormBuilder\exception\FormBuilderException
- */
- public function create()
- {
- $field = [
- FormBuilder::input('title','套餐名称'),
- FormBuilder::number('price','套餐价格',0)->min(0),
- FormBuilder::number('num','短信条数',0)->min(0),
- FormBuilder::datePicker('end_time','使用期限',0),
- FormBuilder::radio('is_show','是否可用',1)->options([['label'=>'可用','value'=>1],['label'=>'不可用','value'=>0]])
- ];
- $form = FormBuilder::make_post_form('添加短信套餐',$field,Route::buildUrl('save'),2);
- $this->assign(compact('form'));
- return $this->fetch('public/form-builder');
- }
- /**
- * 保存新建的资源
- */
- public function save()
- {
- $data = UtilService::postMore([
- ['title',''],
- ['price',''],
- ['num',''],
- ['end_time',''],
- ['is_show',1],
- ]);
- if(!strlen(trim($data['title']))) return JsonService::fail('请输入套餐名称');
- if(!strlen(trim($data['price']))) return JsonService::fail('请输入套餐价格');
- if(!strlen(trim($data['num']))) return JsonService::fail('请输入短信条数');
- $data['end_time'] = strtotime($data['end_time']);
- $data['add_time'] = time();
- $res = SmsMeal::create($data);
- if($res)
- return JsonService::successful('添加成功');
- return JsonService::fail('添加失败');
- }
- /**
- * 设置单个产品上架|下架
- * @param string $is_show
- * @param string $id
- */
- public function set_show($is_show='',$id=''){
- ($is_show=='' || $id=='') && JsonService::fail('缺少参数');
- $res=SmsMeal::where('id', $id)->update(['is_show'=>(int)$is_show]);
- if($res){
- return JsonService::successful($is_show==1 ? '显示成功':'隐藏成功');
- }else{
- return JsonService::fail($is_show==1 ? '显示失败':'隐藏失败');
- }
- }
- /**
- * 显示编辑资源表单页.
- * @param $id
- * @return string|void
- * @throws \FormBuilder\exception\FormBuilderException
- */
- public function edit($id)
- {
- $adminInfo = SmsMeal::get($id);
- if(!$adminInfo) return $this->failed('数据不存在!');
- $field = [
- FormBuilder::input('title','账号', $adminInfo->getData('title'))->disabled(true),
- FormBuilder::number('price','短信条数', $adminInfo->getData('price'))->min(0),
- FormBuilder::number('num','短信条数', $adminInfo->getData('num'))->min(0),
- FormBuilder::datePicker('end_time','使用期限',date('Y-m-d H:i',$adminInfo->getData('end_time'))),
- FormBuilder::radio('is_show','是否可用', $adminInfo->getData('is_show'))->options([['label'=>'可用','value'=>1],['label'=>'不可用','value'=>0]])
- ];
- $form = FormBuilder::make_post_form('编辑短信套餐',$field,Route::buildUrl('update',array('id'=>$id)),2);
- $this->assign(compact('form'));
- return $this->fetch('public/form-builder');
- }
- /**
- * 保存更新的资源
- * @param \think\Request $request
- * @param int $id
- * @return \think\Response
- */
- public function update($id)
- {
- $adminInfo = SmsAdminModel::get($id);
- if(!$adminInfo) return $this->failed('数据不存在!');
- $data = Util::postMore([
- ['title',''],
- ['price',''],
- ['num',''],
- ['end_time',''],
- ['is_show',1],
- ]);
- if(!strlen(trim($data['title']))) return JsonService::fail('请输入套餐名称');
- if(!strlen(trim($data['price']))) return JsonService::fail('请输入套餐价格');
- if(!strlen(trim($data['num']))) return JsonService::fail('请输入短信条数');
- $data['end_time'] = strtotime($data['end_time']);
- $data['add_time'] = time();
- $res = SmsMeal::edit($data, $id);
- if($res)
- return JsonService::successful('修改成功');
- return JsonService::fail('修改失败');
- }
- /**
- * 删除指定资源
- * @param $id
- */
- public function delete($id)
- {
- $smsAdmin = SmsMeal::get($id);
- if(!$smsAdmin) return JsonService::fail('数据不存在!');
- if($smsAdmin['is_del']) return JsonService::fail('已删除');
- if(SmsMeal::del($id)){
- return JsonService::successful('删除成功');
- }
- return JsonService::fail('删除失败');
- }
- }
|