| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719 | 
							- <?php
 
- namespace App\Http\Controllers\Api\Crm;
 
- use App\Http\Controllers\Api\ApiBaseController;
 
- use Illuminate\Http\Request;
 
- use App\Services\Crm\JobsService;
 
- use App\Services\Crm\CompanyService;
 
- use App\Services\Crm\JobfairService;
 
- use App\Services\Crm\PersonService;
 
- use App\Services\Auth\RegisterService;
 
- use Illuminate\Support\Facades\Cache;
 
- use App\Services\Common\EmailService;
 
- use App\Services\Common\MembersSetmealService;
 
- use App\Services\Common\SmsService;
 
- use App\Services\Common\TaskService;
 
- use App\Services\Common\SetmealService;
 
- use App\Services\Common\SetmealIncrementsService;
 
- use App\Services\Person\MemberPointService;
 
- use App\Services\Common\PaymentService;
 
- use App\Services\Common\PayService;
 
- use App\Services\Common\OrderService;
 
- use App\Services\Company\ServiceService;
 
- use Aix\Pay\Data\PayOrder;
 
- use App\Models\Order;
 
- class IndexController extends ApiBaseController
 
- {
 
-     protected $jobsService;
 
-     protected $companyService;
 
-     protected $jobfairService;
 
-     protected $personService;
 
-     protected $registerService;
 
-     protected $membersSetmealService;
 
-     protected $emailService;
 
-     protected $taskService;
 
-     protected $setmealService;
 
-     protected $setmealIncrementsService;
 
-     protected $memberPointService;
 
-     protected $paymentService;
 
-     protected $payService;
 
-     protected $orderService;
 
-     protected $serviceService;
 
-     protected $hash;
 
-     public function __construct
 
-     (
 
-         JobsService $jobsService,
 
-         CompanyService $companyService,
 
-         JobfairService $jobfairService,
 
-         PersonService $personService,
 
-         RegisterService $registerService,
 
-         MembersSetmealService $membersSetmealService,
 
-         EmailService $emailService,
 
-         TaskService $taskService,
 
-         SetmealService $setmealService,
 
-         SetmealIncrementsService $setmealIncrementsService,
 
-         MemberPointService $memberPointService,
 
-         PaymentService $paymentService,
 
-         PayService $payService,
 
-         OrderService $orderService,
 
-         ServiceService $serviceService
 
-     )
 
-     {
 
-         $this->jobsService              = $jobsService;
 
-         $this->companyService           = $companyService;
 
-         $this->jobfairService           = $jobfairService;
 
-         $this->personService            = $personService;
 
-         $this->registerService          = $registerService;
 
-         $this->membersSetmealService    = $membersSetmealService;
 
-         $this->emailService             = $emailService;
 
-         $this->taskService              = $taskService;
 
-         $this->setmealService           = $setmealService;
 
-         $this->setmealIncrementsService = $setmealIncrementsService;
 
-         $this->memberPointService       = $memberPointService;
 
-         $this->paymentService           = $paymentService;
 
-         $this->payService               = $payService;
 
-         $this->orderService             = $orderService;
 
-         $this->serviceService           = $serviceService;
 
-         $this->hash                     = 'e@LJ9V9YmCm3#CJr';
 
-     }
 
-     //企业会员登录
 
-     public function companyLogin(Request $request)
 
-     {
 
-         $token = $request->input('token');
 
-         $auth_success = $this->check_auth($token);
 
-         if (!$auth_success) {
 
-             $data = ['status'=>'0','msg'=>'验证失败'];
 
-             return response()->json($data);
 
-         }
 
-         $company_id = $request->input('uid', 0);
 
-         if (!$company_id) {
 
-             return false;
 
-         }
 
-         $company = $this->companyService->getCompany($company_id);
 
-         if (!$company) {
 
-             $data = ['status'=>'0','msg'=>'企业不存在'];
 
-             return response()->json($data);
 
-         }
 
-         $key=uniqid();
 
-         Cache::put($key, $company, 1);
 
-         $url=route('auth.thirdlogin.background', ['ticket' => $key])."?redirect_url=".urlencode(route('com.index'));
 
-         return redirect($url);
 
-     }
 
-     public function check_auth($token){
 
-         $auth_success = false;
 
-         if ($token) {
 
-             if ($this->decrypt($token, $this->hash) == $this->hash) {
 
-                 $auth_success = true;
 
-             }
 
-         }
 
-         return $auth_success;
 
-     }
 
-     public function decrypt($txt, $key = '_qscms') {
 
-         // $txt 的结果为加密后的字串经过 base64 解码,然后与私有密匙一起,
 
-         // 经过 passport_key() 函数处理后的返回值
 
-         $txt = $this->passport_key(base64_decode($txt), $key);
 
-         // 变量初始化
 
-         $tmp = '';
 
-         // for 循环,$i 为从 0 开始,到小于 $txt 字串长度的整数
 
-         for ($i = 0; $i < strlen($txt); $i++) {
 
-             // $tmp 字串在末尾增加一位,其内容为 $txt 的第 $i 位,
 
-             // 与 $txt 的第 $i + 1 位取异或。然后 $i = $i + 1
 
-             $tmp .= $txt[$i] ^ $txt[++$i];
 
-         }
 
-         // 返回 $tmp 的值作为结果
 
-         return $tmp;
 
-     }
 
-     /**
 
-      * Passport 密匙处理函数
 
-      *
 
-      * @param        string          待加密或待解密的字串
 
-      * @param        string          私有密匙(用于解密和加密)
 
-      *
 
-      * @return       string          处理后的密匙
 
-      */
 
-     function passport_key($txt, $encrypt_key) {
 
-         // 将 $encrypt_key 赋为 $encrypt_key 经 md5() 后的值
 
-         $encrypt_key = md5($encrypt_key);
 
-         // 变量初始化
 
-         $ctr = 0;
 
-         $tmp = '';
 
-         // for 循环,$i 为从 0 开始,到小于 $txt 字串长度的整数
 
-         for($i = 0; $i < strlen($txt); $i++) {
 
-             // 如果 $ctr = $encrypt_key 的长度,则 $ctr 清零
 
-             $ctr = $ctr == strlen($encrypt_key) ? 0 : $ctr;
 
-             // $tmp 字串在末尾增加一位,其内容为 $txt 的第 $i 位,
 
-             // 与 $encrypt_key 的第 $ctr + 1 位取异或。然后 $ctr = $ctr + 1
 
-             $tmp .= $txt[$i] ^ $encrypt_key[$ctr++];
 
-         }
 
-         // 返回 $tmp 的值作为结果
 
-         return $tmp;
 
-     }
 
-     public function getApplys()
 
-     {
 
-         $data = ['status'=>'1','msg'=>['Aio','Analyze','Crm','Daping','Jobfair']];
 
-         return response()->json($data);
 
-     }
 
-     //获取企业职位信息
 
-     public function getjobs(Request $request)
 
-     {
 
-         $uid = $request->input('com_id');
 
-         $audit = $request->input('audit', 0);
 
-         $jobtype = $request->input('jobtype', 0);
 
-         $limit = $request->input('limit', '');
 
-         $offset = $request->input('offset');
 
-         $order_by = 'field(audit,2) desc, id desc';
 
-         $map = [];
 
-         if($audit){
 
-             $map[] = ['audit','=',$audit];
 
-         }
 
-         /*$map['valid'] = 1;
 
-         $map['display'] = 1;*/
 
-         $where_in = [];
 
-         if($uid){
 
-             $where_in = ['company_id'=>array($uid)];
 
-         }
 
-         $rst = $this->jobsService->getJobs($map, $where_in, $order_by, '', $offset, $limit);
 
-         if ($rst) {
 
-             $list = [];
 
-             if ($rst->isNotEmpty()) {
 
-                 $list = $this->jobsService->dealjobFilelds($rst);
 
-             }
 
-             return response()->json(['status'=>1,'msg'=>['list'=>$list]]);
 
-         } else {
 
-             return response()->json(['status'=>0,'msg'=>'查询失败']);
 
-         }
 
-     }
 
-     //获取企业预约刷新的职位
 
-     public function getJobRefresh(Request $request)
 
-     {
 
-         $uid = $request->input('com_uid', 0);
 
-         $type = $request->input('type', 1);
 
-         $return_data = [];
 
-         if($uid && $type){
 
-             $where = array('uid'=>$uid,'type'=>$type);
 
-             $res = $this->jobsService->getAutoRefreshJobs($where, 'pid');
 
-             if ($res->isNotEmpty()) {
 
-                 $return_data = $res->toArray();
 
-             }
 
-         }
 
-         return response()->json(['status'=>1,'msg'=>$return_data]);
 
-     }
 
-     //获取招聘会参会企业
 
-     public function jobfairExhibitors(Request $request)
 
-     {
 
-         $com_ids = $request->input('com_id');
 
-         $rst = $this->jobfairService->getJobfairExhibitors($com_ids, $request->all());
 
-         return response()->json(['status'=>1,'msg'=>$rst]);
 
-     }
 
-     //审核招聘会展位预定
 
-     public function auditJobfairExhibitor(Request $request)
 
-     {
 
-         $rst = $request->all();
 
-         $rst = $this->jobfairService->auditExhibitors($request->all());
 
-         return response()->json($rst);
 
-     }
 
-     //获取招聘会职位信息
 
-     public function getJobfairJobs(Request $request)
 
-     {
 
-         $rst = $this->jobfairService->getJobs($request->all());
 
-         return response()->json(['status'=>1,'msg'=>['list'=>$rst]]);
 
-     }
 
-     //获取招聘会详细信息
 
-     public function getJobfairInfo(Request $request)
 
-     {
 
-         $id = $request->input('id', 0);
 
-         if(!$id){
 
-             return response()->json(['status'=>0,'msg'=>'招聘会编号不正确!']);
 
-         }
 
-         $info = $this->jobfairService->getJobfairInfo([['id','=',$id]]);
 
-         if (!$info) {
 
-             return response()->json(['status'=>0,'msg'=>'招聘会编号不正确!']);
 
-         }
 
-         return response()->json(['status'=>1,'msg'=>$info]);
 
-     }
 
-     //企业认证
 
-     public function companyAudit(Request $request)
 
-     {
 
-         $ids = $request->id;
 
-         if (!$ids) {
 
-             return response()->json(['status'=>0,'msg'=>'请选择要审核的企业']);
 
-         }
 
-         $rst = $this->companyService->auditCompany($request->all());
 
-         return response()->json($rst);
 
-     }
 
-     //获取职位详细信息
 
-     public function getJobInfo(Request $request)
 
-     {
 
-         $id = $request->input('id', 0);
 
-         if (!$id) {
 
-             return response()->json(['status'=>0,'msg'=>'职位id不正确!']);
 
-         }
 
-         $jtype = $request->input('jtype', '');
 
-         if ($jtype == 'network') {  //网络职位信息
 
-             $info = $this->jobsService->getJobInfo($id);
 
-             return response()->json($info);
 
-         } elseif ($jtype == 'jobFair') {    //招聘会职位信息
 
-             $info = $this->jobfairService->getJobInfo($id);
 
-             return response()->json($info);
 
-         } else {
 
-             return response()->json(['status'=>0,'msg'=>'参数错误']);
 
-         }
 
-     }
 
-     //审核网络职位
 
-     public function auditJobs(Request $request)
 
-     {
 
-         //审核职位、刷新职位
 
-         $rst = $this->jobsService->auditJobs($request->all());
 
-         return response()->json($rst);
 
-     }
 
-     //审核招聘会职位
 
-     public function auditFairJobs(Request $request)
 
-     {
 
-         $rst =$this->jobfairService->auditJobs($request->all());
 
-         return response()->json($rst);
 
-     }
 
-     //获取网络职位数量
 
-     public function jobNums(Request $request){
 
-         $uid = $request->input('com_id', 0);
 
-         $audit = $request->input('audit', 0);
 
-         $jobtype = $request->input('jobtype', 0);
 
-         $map = [];
 
-         if($audit){
 
-             $map[] = ['audit','=',$audit];
 
-         }
 
-         $whereIn = [];
 
-         if ($uid) {
 
-             $whereIn['company_id'] = explode(',', $uid);
 
-         }
 
-         $num = $this->jobsService->getJobNums($map, $whereIn);
 
-         if ($num !== false) {
 
-             return response()->json(['status'=>1,'msg'=>['total'=>$num]]);
 
-         } else {
 
-             return response()->json(['status'=>0,'msg'=>'查询失败']);
 
-         }
 
-     }
 
-     //获取在招职位数量
 
-     public function validJobNums(Request $request)
 
-     {
 
-         $uid = $request->input('com_id', 0);
 
-         $map = [];
 
-         if (config('aix.companyset.comset.show_set.jobs_display')==1) {
 
-             $map[] = array('audit','=',1);
 
-         } else {
 
-             $map[] = array('audit','<>',3);
 
-         }
 
-         $whereIn = [];
 
-         if ($uid) {
 
-             $whereIn['company_id'] = explode(',', $uid);
 
-         }
 
-         $num = $this->jobsService->getJobNums($map, $whereIn);
 
-         if ($num !== false) {
 
-             return response()->json(['status'=>1,'msg'=>['total'=>$num]]);
 
-         } else {
 
-             return response()->json(['status'=>0,'msg'=>'查询失败']);
 
-         }
 
-     }
 
-     //获取招聘会职位数量
 
-     public function fairjobsNums(Request $request)
 
-     {
 
-         $uid = $request->input('com_id', 0);
 
-         $audit = $request->input('audit', 0);
 
-         $map = [];
 
-         if($audit){
 
-             $map[] = ['audit','=',$audit];
 
-         }
 
-         $whereIn = [];
 
-         if ($uid) {
 
-             $whereIn['company_id'] = $uid;
 
-         }
 
-         $num = $this->jobfairService->getJobNums($map, $whereIn);
 
-         if ($num !== false) {
 
-             return response()->json(['status'=>1,'msg'=>['total'=>$num]]);
 
-         } else {
 
-             return response()->json(['status'=>0,'msg'=>'查询失败']);
 
-         }
 
-     }
 
-     //获取招聘会预定数量
 
-     public function jobfairExhibitorsNum(Request $request)
 
-     {
 
-         $rst = $this->jobfairService->getJobfairExhibitorNums($request->all());
 
-         return response()->json($rst);
 
-     }
 
-     //获取简历信息
 
-     public function getResume(Request $request)
 
-     {
 
-         $resume_id = $request->input('resume_id', 0);
 
-         if (!$resume_id) {
 
-             return response()->json(['status'=>0,'msg'=>'请选择简历!']);
 
-         }
 
-         $resume_info = $this->personService->getResume($resume_id);
 
-         return response()->json($resume_info);
 
-     }
 
-     //审核简历
 
-     public function auditResume(Request $request)
 
-     {
 
-         $id = $request->input('id', 0);
 
-         if (!$id) {
 
-             return response()->json(['staus'=>0, 'msg'=>'请选择简历!']);
 
-         }
 
-         $id = explode(",", $id);
 
-         $rst = $this->personService->auditResume($id, $request->all());
 
-         return response()->json($rst);
 
-     }
 
-     //获取付款方式
 
-     public function getPayments(){
 
-     }
 
-     //添加企业会员
 
-     public function addCompany(Request $request)
 
-     {
 
-         $company=$this->registerService->registerCompany($request->all());
 
-         $this->membersSetmealService->addMemberSetmeal($company, config('aix.companyset.setmeal_com.setmeal_com_set.reg_service'));
 
-         $company->uid = $company->id;
 
-         $this->taskService->doUserTask($company, 17);
 
-         $this->emailService->setAuthTag('company')->setCallback('App\Services\Company\CompanyService', 'sendAuthEmailHook', [$request->email, $company])->sendAuthMail($request->email, EmailService::TEMPLATE_VALIDATION);
 
-         if ($company) {
 
-             return response()->json(['status'=>1,'msg'=>$company]);
 
-         } else {
 
-             return response()->json(['status'=>0,'msg'=>'操作失败']);
 
-         }
 
-     }
 
-     //处理订单
 
-     public function setOrder(Request $request)
 
-     {
 
-         //参数
 
-         $order_id = $request->input('id', 0);
 
-         $notes = $request->input('notes', '');
 
-         if (!$order_id) {
 
-             return response()->json(['status'=>0,'msg'=>'请选择订单!']);
 
-         }
 
-         //获取订单信息
 
-         $order = Order::where('id', $order_id)->first();
 
-         if ($order->is_pay != '1') {
 
-             return response()->json(['status'=>0,'msg'=>'只有未付款订单可以确认收款!']);
 
-         }
 
-         $up_data['is_pay'] = 2;
 
-         $up_data['out_trade_no'] = $order->oid;
 
-         $up_data['notes'] = $notes;
 
-         $up_data['admin_id'] = 0;
 
-         $up_data['operate_time'] = date('Y-m-d H:i:s', time());
 
-         if (!$this->payService->offlineHook($up_data)) {
 
-             return response()->json(['status'=>0,'msg'=>'订单操作失败!']);
 
-         }
 
-         return response()->json(['status'=>1,'msg'=>'订单操作成功!']);
 
-     }
 
-     //修改简历联系方式(手机和邮箱)
 
-     //获取订单信息
 
-     public function getSetmealInfo($order_type,$setmeal_id=0)
 
-     {
 
-         switch($order_type){
 
-             case 1:
 
-                 $setmeal = $this->setmealService->getSetmealOne($setmeal_id);
 
-                 if ($setmeal) {
 
-                     return $setmeal->setmeal_name;
 
-                 } else {
 
-                     return '会员套餐';
 
-                 }
 
-                 break;
 
-             case 2:
 
-                 return '充值积分';
 
-                 break;
 
-             case 6:
 
-             case 7:
 
-             case 8:
 
-             case 9:
 
-             case 12:
 
-             case 15:
 
-             case 16:
 
-                 $rst = $this->setmealIncrementsService->getIncrement($setmeal_id);
 
-                 if ($rst) {
 
-                     return $rst->name;
 
-                 } else {
 
-                     return '';
 
-                 }
 
-                 break;
 
-             case 11:
 
-                 return '诚聘通';
 
-                 break;
 
-             case 10:
 
-                 return '企业模板';
 
-                 break;
 
-             default:
 
-                 return "CRM自定义类型订单";
 
-                 break;
 
-         }
 
-     }
 
-     public function getCat($order_type)
 
-     {
 
-         $cat = 'jobs';
 
-         switch($order_type){
 
-             case 5:
 
-                 $cat = 'tpl';
 
-                 break;
 
-             case 6:
 
-                 $cat = 'download_resume';
 
-                 break;
 
-             case 7:
 
-                 $cat = 'sms';
 
-                 break;
 
-             case 8:
 
-                 $cat = 'stick';
 
-                 break;
 
-             case 9:
 
-                 $cat = 'emergency';
 
-                 break;
 
-             case 12:
 
-                 $cat = 'auto_refresh_jobs';
 
-                 break;
 
-             case 15:
 
-                 $cat = "jobs";
 
-                 break;
 
-             case 16:
 
-                 $cat = "jobfair_num";
 
-                 break;
 
-             default:
 
-                 $cat = "";
 
-                 break;
 
-         }
 
-         return $cat;
 
-     }
 
-     //添加企业订单
 
-     public function addCompanyOrder(Request $request)
 
-     {
 
-         $member_uid = $request->input('uid', 0);
 
-         if(!$member_uid){
 
-             return response()->json(['status'=>0,'msg'=>'客户uid错误!']);
 
-         }
 
-         $order_type = $request->input('order_type', 0);
 
-         if($order_type==1 || $order_type==6 || $order_type==7 || $order_type==8 || $order_type==9 || $order_type==12 || $order_type==15|| $order_type==16){
 
-             $setmeal_id = $request->input('setmeal_id', 0);
 
-             if($setmeal_id==0){
 
-                 return response()->json(['status'=>0,'msg'=>'请选择套餐!']);
 
-             }
 
-             $points = 0;
 
-         }elseif($order_type==2){
 
-             $setmeal_id = 0;
 
-             $points = $request->input('points', 0);
 
-             if($points==0){
 
-                 return response()->json(['status'=>0,'msg'=>'请填写充值积分数!']);
 
-             }
 
-             //判断是否开启积分充值功能
 
-             if (!config('aix.companyset.points.points_set.enable_com_buy_points')) {
 
-                 return response()->json(['status'=>0,'msg'=>'企业充值未开启,请联系网站管理员!']);
 
-             }
 
-             //判断充值数量是否大于最小值
 
-             if ($points < config('aix.companyset.points.points_set.com_buy_points_min')) {
 
-                 return response()->json(['status'=>0,'msg'=>'企业积分充值不能小于'.config('aix.companyset.points.points_set.com_buy_points_min').'!']);
 
-             }
 
-         } elseif ($order_type==10) {
 
-             $setmeal_id = $request->input('setmeal_id', 0);
 
-             if($setmeal_id==0){
 
-                 return response()->json(['status'=>0,'msg'=>'请选择套餐!']);
 
-             }
 
-             $points = 0;
 
-             //判断当前企业模板是否存在
 
-             $tpl_info = $this->companyService->getTpl($setmeal_id);
 
-             if (!$tpl_info) {
 
-                 return response()->json(['status'=>0,'msg'=>'所选企业模板不存在!']);
 
-             }
 
-             //判断所选模板是否已购买
 
-             $company_tpl = $this->companyService->getCompanyTpl(['uid'=>$member_uid,'tplid'=>$setmeal_id]);
 
-             if ($company_tpl) {
 
-                 return response()->json(['status'=>0,'msg'=>'所选企业模板已购买!']);
 
-             }
 
-         } else{
 
-             $setmeal_id = 0;
 
-             $points = 0;
 
-         }
 
-         //职位置顶/职位紧急时判断是否选择了职位
 
-         if($order_type == 8 || $order_type == 9 || $order_type == 12){
 
-             $job_id = $request->input('job_id', 0);
 
-             if(!$job_id){
 
-                 return response()->json(['status'=>0,'msg'=>'请选择职位!']);
 
-             }
 
-             //判断职位是否已预约刷新
 
-             if($order_type == 12){
 
-                 $promotion_field = $this->jobsService->getAutoRefresh(['pid'=>$job_id,'type'=>1]);
 
-                 if($promotion_field){
 
-                     return response()->json(['status'=>0,'msg'=>'该职位已预约刷新!']);
 
-                 }
 
-             }
 
-         }
 
-         $payment = $request->input('payment', '');
 
-         $payment_cn = $request->input('payment_cn', '');
 
-         if($payment=='' || $payment_cn==''){
 
-             return response()->json(['status'=>0,'msg'=>'请选择支付方式!']);
 
-         }
 
-         //获取服务名称
 
-         $setmeal_name = $this->getSetmealInfo($order_type,$setmeal_id);
 
-         $amount = $request->input('amount', '');
 
-         if($amount==''){
 
-             return response()->json(['status'=>0,'msg'=>'请填写支付金额!']);
 
-         }
 
-         $ordtotal_fee = $request->input('ordtotal_fee', '');
 
-         if($ordtotal_fee==''){
 
-             return response()->json(['status'=>0,'msg'=>'请填写实付金额!']);
 
-         }
 
-         $uid = $request->input('uid', 0);
 
-         if($uid==0){
 
-             return response()->json(['status'=>0,'msg'=>'请选择会员!']);
 
-         }
 
-         //订单类型是crm自定义
 
-         if(!array_key_exists($order_type, [1,2,3,4,5,6,7,8,9,10,12,13,14,15]) && $order_type!=15 && $order_type!=16){
 
-             $setmeal_name = $request->input('setmeal_name', '');
 
-             if(!$setmeal_name){
 
-                 return response()->json(['status'=>0,'msg'=>'请选择订单类型!']);
 
-             }
 
-         }
 
-         $description = '购买服务:'.$setmeal_name.';'.$payment_cn.$ordtotal_fee.'元';
 
-         $notes = $request->input('notes', '');
 
-         $cat = $this->getCat($order_type);
 
-         //获取会员信息
 
-         $user = $this->companyService->getCompany($uid);
 
-         $user->uid = $uid;
 
-         $my_setmeal =  $this->membersSetmealService->getUserSetmeal($user, '1');    //获取会员套餐信息
 
-         $my_point = $this->memberPointService->getPoints($user->id, 1);  //获取会员积分信息
 
-         $increment_info = $this->setmealIncrementsService->getIncrement($setmeal_id);       //获取所选简历增值包信息
 
-         //职位置顶、职位紧急、职位刷新、简历包、短信包
 
-         if ($order_type== 7 || $order_type== 8 || $order_type== 9 || $order_type== 12 || $order_type== 15 || $order_type== 16) {
 
-             $my_discount = $this->setmealIncrementsService->getIncrementDiscountByArray($cat, $my_setmeal);     //套餐折扣
 
-             $params = array();
 
-             if ($order_type != 15 && $order_type != 7  && $order_type != 16 ) {
 
-                 $params['jobs_id'] = $job_id;
 
-                 $params['days'] = $increment_info->value;
 
-                 $nowtime = time();
 
-                 $params['starttime'] = $nowtime;
 
-                 for ($i=0; $i < $params['days']*4; $i++) {
 
-                     $timespace = 3600*6*$i;
 
-                     if($i+1==$params['days']*4){
 
-                         $params['endtime'] = $nowtime+$timespace;
 
-                     }
 
-                 }
 
-             }
 
-             $callback = "App\Services\Common\OrderService.incrementSave";
 
-             $rst = $this->callCashPay($user, $my_setmeal, $my_point, $setmeal_name, $order_type, $payment, $ordtotal_fee, 0, 0, $description, $params, 0, $setmeal_id, '专享'.$my_discount.'折优惠', $notes, $callback);
 
-         } elseif ($order_type == 2) {
 
-             //积分充值
 
-             $params['points'] = $points;
 
-             $params['cash'] = $ordtotal_fee;
 
-             $params['rate'] = config('aix.companyset.points.points_set.payment_rate');
 
-             $callback = "App\Services\Common\OrderService.pointsSave";
 
-             $rst = $this->callCashPay($user, $my_setmeal, $my_point, $setmeal_name, $order_type, $payment, $ordtotal_fee, 0, 0, $description, $params, 0, $setmeal_id, '', $notes, $callback);
 
-         } elseif ($order_type == 1) {
 
-             //套餐
 
-             $params = [
 
-                 'setmeal_id'=>$setmeal_id,
 
-                 'setmeal_name'=>$setmeal_name,
 
-                 'company_id'=>$user->id,
 
-                 'utype'=>$user->utype,
 
-                 'companyname'=>$user->companyname,
 
-                 'amount'=>$ordtotal_fee,
 
-                 'points'=>$points,
 
-                 'payment'=>$payment_cn,
 
-                 'username'=>$user->username,
 
-                 'subsite_id'=>$user->subsite_id,
 
-             ];
 
-             $callback = "App\Services\Common\OrderService.updateCompany";
 
-             $rst = $this->callCashPay($user, $my_setmeal, $my_point, $setmeal_name, $order_type, $payment, $ordtotal_fee, 0, 0, $description, $params, 0, $setmeal_id, '', $notes, $callback);
 
-         } elseif ($order_type == 10) {  //企业模板
 
-             $callback = "App\Services\Common\OrderService.incrementTplUpdate";
 
-             $rst = $this->callCashPay($user, $my_setmeal, $my_point, $setmeal_name, $order_type, $payment, $ordtotal_fee, 0, 0, $description, '', 0, $setmeal_id, '', $notes, $callback);
 
-         } else {
 
-             //添加其他类型订单 - CRM自定义项目
 
-             $callback = "App\Services\Common\OrderService.crmOrderUpdate";
 
-             $rst = $this->callCashPay($user, $my_setmeal, $my_point, $setmeal_name, $order_type, $payment, $ordtotal_fee, 0, 0, $description, '', 0, $setmeal_id, '', $notes, $callback);
 
-         }
 
-         if ($rst['status'] == 0) {
 
-             return response()->json(['status'=>1,'msg'=>$rst['msg']]);
 
-         }
 
-         return response()->json(['status'=>1,'msg'=>['order'=>$rst['order']]]);
 
-     }
 
-     //现金支付
 
-     public function callCashPay($user, $my_setmeal, $my_point, $setmeal_name, $order_pay_type, $payment_name = '', $amount = '0.0', $is_deductible, $deductible = 0, $description = '', $params = '', $points = 0, $stemeal = 0, $discount = '', $notes = '', $callback = "App\Services\Common\OrderService.orderPaid")
 
-     {
 
-         $paymenttpye = $this->paymentService->returnPayment($payment_name); //获取支付方式
 
-         if (!$paymenttpye) {
 
-             return array( 'status'=>0, 'msg' => '支付方式错误!');
 
-         }
 
-         if (!config("aix.system.pay.{$payment_name}.is_on")) {
 
-             return array( 'status'=>0, 'msg' => "支付方式未开启!请联系客服电话:【".config('aix.system.pay.offline.service_tel')."】");
 
-         }
 
-         $is_deductible=0;
 
-         $type='pay';
 
-         $m_amount = $amount;
 
-         $paysetarr['ordtotal_fee']=$m_amount;
 
-         if ($description=='') {
 
-             $description = '购买服务:'.$setmeal_name;
 
-         }
 
-         $description .= ';'.$paymenttpye->name.$paysetarr['ordtotal_fee'].'元';
 
-         $stime = time();
 
-         //生成订单
 
-         $order = $this->orderService->addOrder($user, $order_pay_type, $amount, $paysetarr['ordtotal_fee'], $deductible, $setmeal_name, $payment_name, $paymenttpye->name, $description, 1, $deductible, $stemeal, 0, serialize($params), $discount, $notes);
 
-         $tradeNo = $this->payService->getTradeNo($order->id);
 
-         if (!$this->serviceService->updateOid($order->id, $tradeNo)) {
 
-             return array( 'status'=>0, 'msg' => '生成订单号失败!');
 
-         }
 
-         $payOrder = new PayOrder();
 
-         $payOrder->trade_no = $tradeNo;
 
-         $payOrder->subject = '购买'.$setmeal_name;
 
-         $payOrder->detail = $description;
 
-         $payOrder->price = round($m_amount, 2);
 
-         $payOrder->callback = $callback;
 
-         $payOrder->return_url = route('service.order.index');
 
-         $result = $this->payService->pay($payment_name, $type, $payOrder);
 
-         return [
 
-             'status'=>1,
 
-             'tradeNo'=>$tradeNo,
 
-             'url'=>route("service.order.detail",['id'=>$order->id]),
 
-             'order'=>$order
 
-         ];
 
-     }
 
-     //修改企业信息
 
-     public function updateCompany(Request $request)
 
-     {
 
-         $params = $request->except('_method', 'token');
 
-         $rst = $this->companyService->companySave($params);
 
-         return response()->json($rst);
 
-     }
 
- }
 
 
  |