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);
- }
- }
|