| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719 | <?phpnamespace 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);    }}
 |