chengkun
2025-05-26 8f3df543230cd4403368b39b9bbe5726d11a0284
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
<?php
 
class fk_controller extends com_controller{
    /**
     * @desc 会员套餐、增值服务、单项购买页面
     */
    function server_action(){
        
        include(CONFIG_PATH.'db.data.php');
        // 根据是否有猎头模块,来确定是否有子账号功能
        $is_son     = isset($arr_data['modelconfig']['lietou']) ? 1 : 2;
        $spview_web = isset($arr_data['modelconfig']['spview']) && isset($this->config['sy_spview_web']) ? $this->config['sy_spview_web'] : 2;
        $chat_web   = isset($this->config['sy_chat_open']) ? $this->config['sy_chat_open'] : 2;
 
        $sy_only_price  =   @explode(',', $this->config['sy_only_price']);
        $ratingM    =   $this->MODEL('rating');
        $ratingList =   $ratingM -> getList(array('display' => 1, 'orderby' => array('type,asc', 'sort,desc')));
        
        $rating_1   =   $rating_2   =   $raV    =   array();
        
        if (!empty($ratingList)) {
            
            foreach ($ratingList as $ratingV) {
                
                $raV[$ratingV['id']]    =   $ratingV;
                
                if ($ratingV['category'] == 1 && $ratingV['service_price'] > 0) {
                    //有效期处理
                    if($ratingV['service_time']>0){
                        
                        $ratingV['service_time']    =    $ratingV['service_time'].'天';
                        
                    }else{
                        $ratingV['service_time']    =    '永久';
                    }
                    //有效期处理end
                    
                    //价格显示处理
                    if($ratingV['time_start'] < time() && $ratingV['time_end'] > time()){
                        if($this->config['com_integral_online']==3 && !in_array('vip', $sy_only_price)){
                            $ratingV['service_price_n']    =    intval($ratingV['service_price'] * $this->config['integral_proportion']);
                            $ratingV['yh_price_n']        =    intval($ratingV['yh_price'] * $this->config['integral_proportion']).$this->config['integral_pricename'];
                        }else{
                            $ratingV['service_price_n']    =    $ratingV['service_price'];
                            $ratingV['yh_price_n']        =    '¥'.$ratingV['yh_price'];
                        }
                    }else{
                        if($this->config['com_integral_online']==3 && !in_array('vip', $sy_only_price)){
                            $ratingV['service_price_n']    =    intval($ratingV['service_price'] * $this->config['integral_proportion']).$this->config['integral_pricename'];
                        }else{
                            $ratingV['service_price_n']    =    '¥'.$ratingV['service_price'];
                        }
                        
                        unset($ratingV['yh_price']);
                    }
                    //价格显示处理end
                    
                    // 根据版本判断,子账号、视频面试、聊天套餐是否显示
                    if ($is_son == 2){
                        unset($ratingV['sons_num']);
                    }
                    if ($spview_web == 2){
                        unset($ratingV['spview_num']);
                    }
                    if ($chat_web == 2){
                        unset($ratingV['chat_num']);
                    }
                    // 根据版本判断,子账号、视频面试、聊天套餐是否显示 end
                    if ($ratingV['type'] == 1) {
                        
                        $rating_1[]     =   $ratingV;
                    } elseif ($ratingV['type'] == 2) {
                        //套餐详细处理
                        if ($ratingV['interview'] > 0 || $ratingV['resume'] > 0){
                            $ratingV['interview_resume']    =    '';
                            if($ratingV['interview'] > 0){
                                $ratingV['interview_resume'].='面试邀请: '.$ratingV['interview'].'次;';
                            }
                            if($ratingV['resume'] > 0){
                                $ratingV['interview_resume'].='简历下载: '.$ratingV['resume'].'次;';
                            }
                        }
                        if ($ratingV['job_num'] > 0 || $ratingV['breakjob_num'] > 0){
                            $ratingV['job_breakjob']    =    '';
                            if($ratingV['job_num'] > 0){
                                $ratingV['job_breakjob'].='发布职位: '.$ratingV['job_num'].'份;';
                            }
                            if($ratingV['breakjob_num'] > 0){
                                $ratingV['job_breakjob'].='刷新职位: '.$ratingV['breakjob_num'].'份;';
                            }
                        }
                        if($ratingV['zph_num'] > 0){
                            $ratingV['zph'].='招聘会报名 : '.$ratingV['zph_num'].'次';
                        }
                        //套餐详细处理
                        
                        $rating_2[]     =   $ratingV;
                    }
                }
            }
        }
        $data['rating_1']    =    $rating_1;//套餐会员
        $data['rating_2']    =    $rating_2;//时间会员
        
        $comStatis             =   $this->company_statis($this->member['uid']);
 
        $statis             =   array();
        
        if(!empty($comStatis)){
            
            $discount               =   isset($raV[$comStatis['rating']]) ? $raV[$comStatis['rating']] : array();
            if($discount['service_discount'] > 0){
                $statis['zk']       =   $discount['service_discount'] * 0.01 ;
                $statis['zk_n']     =   $discount['service_discount'] * 0.1 ;
            }
            if (isVip($comStatis['vip_etime'])){
                $statis['notOvertime']  =  1;
            }else{
                $statis['notOvertime']  =  0;
            }
            $statis['rating_type']  =  $comStatis['rating_type'];
            $statis['rating_name']  =  $comStatis['rating_name'];
            $statis['integral']     =  $comStatis['integral'];
            
            $data['statis']        =    $statis;//当前已有的服务信息
        }
 
        if ($this->member['usertype'] == 2) {
            
            $add            =   $ratingM->getComServiceList(array('display' => 1 , 'orderby' => array('sort,desc')), array('detail' => 'yes'));
        }
        if(!empty($add)){
            foreach ($add as $k => $v) {
                foreach ($v['detail'] as $dk => $dv) {
                    //价格显示处理
                    if($this->config['com_integral_online']==3 && !in_array('pack', $sy_only_price)){
                        
                        if($statis['zk']){
                            $add[$k]['detail'][$dk]['service_price_n']    =    intval($dv['service_price'] * $this->config['integral_proportion']);
                            
                            $add[$k]['detail'][$dk]['yh_price_n']        =    intval($dv['service_price'] * $this->config['integral_proportion'] * $statis['zk']).$this->config['integral_pricename'];
                            $add[$k]['detail'][$dk]['yh_price']            =    sprintf('%.2f',$dv['service_price'] * $statis['zk']);
                        }else{
                            
                            $add[$k]['detail'][$dk]['service_price_n']    =    intval($dv['service_price'] * $this->config['integral_proportion']).$this->config['integral_pricename'];
                        }
                        
                    }else{
                        
                        if($statis['zk']){
                            $add[$k]['detail'][$dk]['service_price_n']    =    $dv['service_price'];
                            $add[$k]['detail'][$dk]['yh_price_n']        =    '¥'.$dv['service_price'] * $statis['zk'];
                            $add[$k]['detail'][$dk]['yh_price']            =    sprintf('%.2f',$dv['service_price'] * $statis['zk']);
                        }else{
                            $add[$k]['detail'][$dk]['service_price_n']    =    '¥'.$dv['service_price'];
                        }
                        
                    }
                    //价格显示处理end
                }
            }
        }
        $data['add']  =  $add;//增值列表
        
        $server  =  trim($_POST['server']);
        $com_single_can = explode(',', $this->config['com_single_can']);
 
        $serverCheck = $server;
        if($server=='sxltjob'||$server=='sxpart'||$server=='sxjob'){
            $serverCheck = 'sxjob';
        }
        // 判断后台是否设置可以单项购买
        if($serverCheck && ($serverCheck=='autojob' || in_array($serverCheck,$com_single_can))){
            $data['sigle_show'] = 1;
        }
        switch($server){
            case 'issuejob':
                $single_price      =     $this->config['integral_job'];
                $single_integral  =  $single_price * $this->config['integral_proportion'];
                $single_msg          =     '本次职位发布';
                break;
            case 'jobtop':
                $single_price      =     $this->config['integral_job_top'];
                $single_integral  =  $single_price * $this->config['integral_proportion'];
                $single_msg          =     '本次职位置顶';
                break;
            case 'jobrec':
                $single_price      =     $this->config['com_recjob'];
                $single_integral  =  $single_price * $this->config['integral_proportion'];
                $single_msg          =     '本次职位推荐';
                break;
            case 'joburgent':
                $single_price      =     $this->config['com_urgent'];
                $single_integral  =  $single_price * $this->config['integral_proportion'];
                $single_msg          =     '本次职位紧急招聘';
                break;
            case 'sxjob':
                
                if ($_POST['id'] == 'all'){
                    $jobM  =  $this->MODEL('job');
                    $jobs  =  $jobM -> getList(array('uid'=>$this->member['uid'],'state' => 1, 'status' => 0,'r_status' => 1),array('field'=>'`id`'));
                    foreach ($jobs['list'] as $v){
                        $jobid[]  =  $v['id'];
                    }
                }else{
                    $jobid        =   array($_POST['id']);
                }
                $num              =  count($jobid) - $statis['breakjob_num'];
                $single_price      =     $this->config['integral_jobefresh'] * $num;
                $single_integral  =  $single_price * $this->config['integral_proportion'];
                $single_msg          =     '本次刷新职位';
                
                break;
            case 'sxpart':
                $single_price      =     $this->config['integral_jobefresh'];
                $single_integral  =  $single_price * $this->config['integral_proportion'];
                $single_msg          =     '本次刷新职位';
                
                break;
            case 'downresume':
                $resumeM          =  $this->MODEL('resume');
                $id               =  intval($_POST['id']);
                $price            =  $resumeM -> setDayprice($id);
                
                $single_price      =     $price;
                $single_integral  =  $price * $this->config['integral_proportion'];
                $single_msg          =     '本次下载简历';
                
                break;
            case 'invite':
                $single_price      =     $this->config['integral_interview'];
                $single_integral  =  $single_price * $this->config['integral_proportion'];
                $single_msg          =     '本次邀请面试';
                
                break;
            case 'zph':
                $zphM             =   $this -> MODEL('zph');
                $id               =   intval($_POST['bid']);
                $space            =   $zphM -> getZphSpaceInfo(array('id' => $id));
                
                $single_price      =     $space['price'] / $this->config['integral_proportion'];
                $single_integral  =  $space['price'];
                $single_msg          =    '本次报名招聘会';
                
                break;
            case 'autojob':
                $single_price      =     $this->config['job_auto'];
                $single_integral  =  $single_price * $this->config['integral_proportion'];
                $single_msg          =     '本次设置自动刷新';
                break;
            case 'createson':
                $single_price     =  $this->config['integral_sons_num'];
                $single_integral  =  $single_price * $this->config['integral_proportion'];
                $single_msg       =  '本次创建子账号';
                break;
            case 'chat':
                $single_price     =  $this->config['integral_chat_num'];
                $single_integral  =  $single_price * $this->config['integral_proportion'];
                $single_msg       =  '本次购买'.$this->config['sy_chat_name'];
                break;
            case 'zphnet':
                $single_price     =  $this->config['integral_zphnet'];
                $single_integral  =  $single_price * $this->config['integral_proportion'];
                $single_msg       =  '本次购买网络招聘会报名';
                break;
            case 'spview':
                $single_price     =  $this->config['integral_spview'];
                $single_integral  =  $single_price * $this->config['integral_proportion'];
                $single_msg       =  '本次购买视频面试';
                break;
        }
        
        $config  =  array(
            'com_vip_type'            =>    $this->config['com_vip_type'],
            'com_integral_online'    =>    $this->config['com_integral_online'],
            'integral_proportion'    =>    $this->config['integral_proportion'],
            'integral_pricename'    =>    $this->config['integral_pricename'],
            'integral_min_recharge'    =>    $this->config['integral_min_recharge'],
            'sy_chat_name'            =>  $this->config['sy_chat_name'],
            'sy_only_price'         =>  $sy_only_price,
            'sy_help_open'          =>  $this->config['sy_help_open'],
            'meal_vip'              =>  in_array('vip', $sy_only_price) ? 1 : 0,
            'meal_pack'             =>  in_array('pack', $sy_only_price) ? 1 : 0,
            'sy_only_price'         =>  $this->config['sy_only_price']
        );
        
        $config['fktype']          =     $this->fktype();//支付方式
        $data['config']              =     $config;
        $data['single_price']      =     $single_price;
        $data['single_integral']  =     $single_integral;
        $data['single_msg']          =     $single_msg;
        
        $this->render_json(0,'',$data);
    }
    function dkzf_action(){
        
        $data               =   $this   ->  post_trim($_POST);
 
        $data['uid']        =   $this   ->  member['uid'];
        $data['username']   =   $this   ->  member['username'];
        $data['usertype']   =   $this   ->  member['usertype'];
    
        $M                  =   $this   ->  MODEL('jfdk');
        
        $return             =   $M      ->  dkBuy($data);
        
        $this->render_json($return['error'],$return['msg']);
        
    }
    //完全优惠券购买
    function coupongm_action(){
        
        $data               =   $_POST;
        $data['uid']        =   $this   ->  member['uid'];
        $data['username']   =   $this   ->  member['username'];
        $data['usertype']   =   $this   ->  member['usertype'];
        
        $M                  =   $this   ->  MODEL('coupon');
        $return             =   $M      ->  couponBuy($data);
        $this->render_json($return['error'],$return['msg']);
    }
    /**
     * 
     */
    function getCouponList_action()
    {
        $price      =   $_POST['price'];
        
        $couponM    =   $this->MODEL('coupon');
        $couponList =   $couponM -> getCouponList(array('uid' => $this->member['uid'], 'orderby' => array('coupon_amount,desc', 'coupon_scope,asc')));
        
        $coupon  =  array();
        
        if (!empty($couponList)) {
            
            foreach ($couponList as $v){
                
                if ($v['coupon_scope'] <= $price && $v['status'] == 1 && $v['validity'] > time()) {
                    
                    $coupon['ky'][]  =  $v;
                    
                } 
            }
        }
        $this->render_json(0, 'ok', $coupon);
    }
    /**
     * 生成订单
     */
    function getOrder_action()
    {
        $_POST  =  $this -> post_trim($_POST);
        
        if($_POST){
 
            $arr['uid']           =  $this->member['uid'];
            $arr['did']           =  $this->member['did'];
            $arr['usertype']   =  $this->member['usertype'];
            $arr['username']   =  $this->member['username'];
            $arr['coupon_id']  =  $_POST['coupon_id'];
            $arr['price_int']  =  $_POST['price_int'];
            $arr['dkjf']       =  $_POST['integral_dk'];
            if ($this->comInfo['crm_uid']){
                $arr['crm_uid']  =   $this->comInfo['crm_uid'];
            }
            if ($_POST['fktype'] == 'fkwx'){
                $arr['paytype']  =  'wxh5';
            }elseif ($_POST['fktype'] == 'fkal'){
                $arr['paytype']  =  'alipay';
            }elseif ($_POST['fktype'] == 'wxxcx'){
                $arr['paytype']  =  'wxxcx';
            }elseif ($_POST['fktype'] == 'baidu'){
                $arr['paytype']  =  'baidu';
            }elseif ($_POST['fktype'] == 'toutiao'){
                $arr['paytype']  =  'toutiao';
            }
            if ($_POST['from'] == 'wap'){
                $arr['paytype'] = $_POST['paytype'];
            }
            
            $compayM  =  $this -> MODEL('compay');
            
            if($_POST['server']=='autojob'){
                
                $arr['days']        =  $_POST['days'];
                $arr['jobautoids']  =  $_POST['single_id'];
                $return  =    $compayM -> buyAutoJob($arr);
                
            }elseif ($_POST['server']=='jobtop'){
                
                $arr['days']     =  $_POST['days'];
                $arr['zdjobid']  =  $_POST['single_id'];
                $return  =    $compayM -> buyZdJob($arr);
                
            }elseif ($_POST['server']=='joburgent'){
                
                $arr['days']    =  $_POST['days'];
                $arr['ujobid']  =  $_POST['single_id'];
                $return  =    $compayM -> buyUrgentJob($arr);
                
            }elseif ($_POST['server']=='jobrec'){
                
                $arr['days']      =  $_POST['days'];
                $arr['recjobid']  =  $_POST['single_id'];
                $return  =    $compayM -> buyRecJob($arr);
                
            }elseif ($_POST['server']=='sxjob'){
                
                $arr['sxjobid']  =  $_POST['single_id'];
                $return  =    $compayM -> buyRefreshJob($arr);
                
            }elseif ($_POST['server']=='sxpart'){
                
                $arr['sxpartid']  =  $_POST['single_id'];
                $return  =    $compayM -> buyRefreshPart($arr);
                
            }elseif ($_POST['server']=='partrec'){
 
                $arr['days']      =  $_POST['days'];
                $arr['recpartid']  =  $_POST['single_id'];
                $return  =    $compayM -> buyRecPart($arr);
 
            }elseif ($_POST['server']=='issuejob'){
                
                $return  =  $compayM -> buyIssueJob($arr);
                
            }elseif ($_POST['server']=='downresume'){
                
                $arr['eid']   =  $_POST['single_id'];
                $return =    $compayM -> buyDownresume($arr);
                
            }elseif ($_POST['server']=='invite'){
                
                $return =    $compayM -> buyInviteResume($arr);
                
            }elseif ($_POST['server']=='rewardjob'){
                
                $arr['jobid']  =  $_POST['jobid'];
                $arr['rewardid']  =  $_POST['rewardid'];
                
                $packM     =    $this -> MODEL('pack');
                $return  =    $packM -> rewardPackOrder($arr);
                
            }elseif ($_POST['server']=='sharejob'){
                
                $arr['jobid']      =  $_POST['jobid'];
                $arr['packmoney']  =  $_POST['packmoney'];
                $arr['packnum']    =  $_POST['packnum'];
                $arr['pay_type']    =  $arr['paytype'];
                
                $packM    =    $this -> MODEL('pack');
                $return =    $packM -> redPackOrder($arr);
                
            }elseif ($_POST['server'] == 'createson'){
                
                $return  =    $compayM -> buyCreateSon($arr);
                
            }elseif($_POST['server'] == 'zph'){
                
                $arr['bid']    =  $_POST['bid'];
                $arr['zid']    =  $_POST['single_id'];
                $arr['jobid']  =  $_POST['jobid'];
                $return  =    $compayM -> buyZph($arr);
                
            }elseif($_POST['server'] == 'vip'){
                
                $arr['ratingid']  =  $_POST['single_id'];
                $return  =    $compayM -> buyVip($arr);
                
            }elseif($_POST['server'] == 'pack'){
 
                $arr['tcid']   =  $_POST['single_id'];
                $return  =  $compayM -> buyPackOrder($arr);
                
            }elseif($_POST['server'] == 'chat'){
                
                $arr['chatid']   =  $_POST['single_id'];
                $return  =    $compayM -> buyChat($arr);
                
            }elseif($_POST['server'] == 'zphnet'){
                
                $arr['zid']    =  $_POST['single_id'];
                $arr['jobid']  =  $_POST['jobid'];
                $return  =    $compayM -> buyZphnet($arr);
            }elseif ($_POST['server']=='spview'){
                
                $return  =  $compayM -> buySpview($arr);
                
            }
            
            if($return['order']['order_id'] && $return['order']['id']){
                $dingdan    =    $return['order']['order_id'];
                $price        =    $return['order']['order_price'];
                $id            =    $return['order']['id'];
                
                $result  =  array(
                    'id'   =>  $id
                );
                if ($_POST['from'] == 'wap') {
                    if ($_POST['paytype'] == 'alipay') {
 
                        $result['url']  =   $this->config['sy_weburl'].'/api/wapalipay/alipayto.php?dingdan=' . $dingdan . '&dingdanname=' . $dingdan . '&alimoney=' . $price;
                    } elseif ($_POST['paytype'] == 'wxh5') {
 
                        $result['url']  =   'index.php?c=wxpay&type=wxh5&id=' . $id;
                    }
                }
                
                $this->render_json(0,'ok',$result);
                
            }else{
                
                // 生成失败 返回具体原因
                $this->render_json(1,$return['error']);
            }
        }else{
            
            $this->render_json(1,'参数错误,请重试!');
        }
    }
}