123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157 |
- <?php
- /**
- * Created by PhpStorm.
- * User: Administrator
- * Date: 2018/10/17
- * Time: 15:07
- */
- namespace App\Admin\Controllers\Company;
- use App\Http\Controllers\Controller;
- use App\Models\Company;
- use App\Models\Jobs;
- use App\Models\Member;
- use App\Models\Pms;
- use App\Models\Resume;
- use App\Models\SmsRule;
- use App\Repositories\SmsTemplateRepository;
- use App\Services\Common\EmailService;
- use App\Services\Common\SmsService;
- use Encore\Admin\Facades\Admin;
- use Illuminate\Http\Request;
- class AjaxController extends Controller
- {
- protected $smsService;
- protected $smsTemplateRepository;
- protected $emailService;
- /**
- * AjaxController constructor.
- * @param $smsService
- * @param $smsTemplateRepository
- */
- public function __construct(SmsService $smsService, SmsTemplateRepository $smsTemplateRepository, EmailService $emailService)
- {
- $this->smsService = $smsService;
- $this->smsTemplateRepository = $smsTemplateRepository;
- $this->emailService = $emailService;
- }
- public function getInfo(Request $request)
- {
- if ($request->utype == 1) {
- $data['info'] = Company::findOrFail($request->id);
- $data['utype'] =1;
- } else {
- $data['info'] = Member::findOrFail($request->id);
- $data['utype'] = 2;
- }
- return view('admin.ajax.getInfo')->with('info', $data);
- }
- public function getPromotion(Request $request)
- {
- $where = [];
- if ($request->id) {
- $where[] =['id', '=', $request->id];
- }
- if ($request->jobs_name) {
- $where[] =['jobs_name', 'like', "%$request->jobs_name%"];
- }
- if ($request->company_id) {
- $where[] =['company_id', '=', $request->company_id];
- }
- if ($request->company_name) {
- $where[] =['company_name', 'like', "%$request->company_name%"];
- }
- if ($where) {
- $where['valid'] = 1;
- $where['audit'] = 1;
- $where['display'] = 1;
- $where['subsite_id'] = get_subsite_id();
- $data = Jobs::select('id', 'company_id', 'jobs_name', 'company_name', 'deadline', 'created_at', 'refresh_time')->where($where)->get();
- if (!$data->isEmpty()) {
- return json_encode(['data'=>$data, 'code'=>1]);
- }
- }
- return json_encode(['msg'=>'<tr><td colspan="5">暂无数据</td></tr>', 'code'=>0]);
- }
- public function getResume(Request $request)
- {
- $where = [];
- if ($request->id) {
- $where[] =['id', '=', $request->id];
- }
- if ($request->fullname) {
- $where[] =['fullname', 'like', "%$request->fullname%"];
- }
- if ($request->uid) {
- $where[] =['uid', '=', $request->uid];
- }
- if ($where) {
- $where[] = ['audit','=',2];
- $where[] = ['subsite_id', '=',get_subsite_id()];
- $data = Resume::select('id', 'uid', 'fullname', 'created_at', 'updated_at')->where($where)->get()->toArray();
- }
- if (!empty($data)) {
- return json_encode(['data'=>$data, 'code'=>1]);
- }
- return json_encode(['msg'=>'<tr><td colspan="5">暂无数据</td></tr>', 'code'=>0]);
- }
- /**发送站内信
- * @param Request $request
- * @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector
- */
- public function sendSys(Request $request)
- {
- $psm = new Pms();
- $data = $request->except(['_token']);
- $company = Company::where('id', $data['uid'])->first();
- $psm->utype = 1;
- $psm->msgtype = 1;
- $psm->msgfromuid = Admin::user()->id;
- $psm->msgfrom = Admin::user()->username;
- $psm->msgtoname = $company->username;
- $psm->msgtouid = $company->id;
- $psm->message = $data['body'];
- if ($psm->save()) {
- admin_toastr('站内信发送成功', 'success');
- return redirect(route("company.index"));
- }
- admin_toastr('站内信发送失败', 'error');
- return back();
- }
- public function sendEmail(Request $request)
- {
- $email = $request->email;
- $title = $request->title;
- $body = $request->body;
- $this->emailService->sendMail($email, EmailService::TEMPLATE_SEND_CONTENT, ['title'=>$title], ['content'=>$body]);
- admin_toastr('邮件发送成功', 'success');
- return back();
- }
- public function sendSms(Request $request)
- {
- $mobile = $request->mobile;
- $body = $request->body;
- $sms_id = $request->sms_id;
- // $sms_alias = $this->smsTemplateRepository->findWhere(['id'=>$sms_id], ['alias']);
- $SmsRule = SmsRule::where('alias', $sms_id)->first();
- if (isset($SmsRule->status) && !empty($SmsRule->status)) {
- $this->smsService->sendSms($mobile, $sms_id, ['content'=>$body]);
- admin_toastr('短信发送成功', 'success');
- } else {
- admin_toastr('请先开启短信-短信规则配置!', 'error');
- }
- return back();
- }
- }
|