SendController.php 11.7 KB
<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2019/9/4
 * Time: 10:53
 */

namespace api\index\controller;


use cmf\controller\RestBaseController;
use think\Db;
use think\Validate;

/**
 * @title 发布信息
 * @description
 */
class SendController extends RestBaseController
{
    /**
     * @title 我要提供
     * @description 我要提供
     * @author GuoSheng
     * @url /index/Send/index
     * @method GET
     *
     * @header name:XX-Token require:1 default: desc:token
     *
     * @param name:job_title type:string require:1 desc:信息标题
     * @param name:end_time type:string require:0 desc:有效日期
     * @param name:linkman type:string require:1 desc:联系人
     * @param name:linkman_tel type:string require:1 desc:手机号码
     * @param name:city type:string require:1 desc: 城市(最多添加五个)
     * @param name:company_name type:string require:1 desc:公司名称
     * @param name:needpeople type:int require:1 desc:需求人数
     * @param name:content type:text require:1 desc:项目详情
     * @param name:status type:int require:1 desc:保存为0  发布为1
     * @param name:image type:string require:0 desc:项目详情图片
     */
     public function index()
     {
         $user_id = $this->getUserId();
         $param = $this->request->param();
         $param['user_id'] = $user_id;
         $param['create_time'] = time();
         $param['job_type'] = 1;
         if(empty($param['end_time'])){
             $param['end_time'] = $param['create_time']+7*24*60*60;
         }else{
             $end_time = strtotime($param['end_time']);
             if($end_time<$param['create_time']+86400){
                 $this->error('请选择合理日期');
             }else{
                 $param['end_time'] = strtotime($param['end_time']);
             }
         }
         if($param['status'] == 0){
             $data = Db::name('job')
                 ->insert($param);
             if(empty($data)){
                 $this->error(['code'=>40006,'msg'=>'sql执行失败']);
             }
             $this->success('SUCCESS');
         }else{
             $validate = new Validate([
                 'job_title' => 'require',
                 'linkman' => 'require',
                 'needpeople'=>'require',
                 'city'=>'require',
                 'linkman_tel'=>'require|number|max:11',
                 'company_name'=>'require',
                 'content'=>'require',
             ]);
             if (!$validate->check($param)) {
                 $this->error(['code'=>40005,'msg'=>$validate->getError()]);
             }
             $data = Db::name('job')
                 ->insert($param);
             if(empty($data)){
                 $this->error(['code'=>40006,'msg'=>'sql执行失败']);
             }
             $this->success('SUCCESS');
         }
     }

    /**
     * @title 二级城市
     * @description
     * @author GuoSheng
     * @url /index/Send/city
     * @method GET
     *
     * @return id:城市ID
     * @return name:城市名称
     *
     */
    public function city()
    {
        $data = Db::name('area')
            ->where('level',2)
            ->field('id,name')
            ->select();
        $this->success('SUCCESS',$data);
    }

    /**
     * @title 我有需求
     * @description 我有需求
     * @author GuoSheng
     * @url /index/Send/demand
     * @method GET
     *
     * @header name:XX-Token require:1 default: desc:token
     *
     * @param name:job_title type:string require:1 desc:信息标题
     * @param name:end_time type:string require:0 desc:有效日期
     * @param name:linkman type:string require:1 desc:联系人
     * @param name:linkman_tel type:string require:1 desc:手机号码
     * @param name:workplace type:string require:1 desc:工作地点
     * @param name:needpeople type:int require:1 desc:需求人数
     * @param name:sex type:int require:1 desc:性别 (0女 1男 2不限 )
     * @param name:min_age type:int require:0 desc:年龄(最小年龄)
     * @param name:max_age type:int require:0 desc:年龄(最大年龄)
     * @param name:education type:string require:1 desc:学历
     * @param name:company_name type:string require:1 desc:公司名称不能为空
     * @param name:empoying type:string require:1 desc:用工单位
     * @param name:content type:text require:1 desc:项目详情
     * @param name:status type:int require:1 desc:保存为0  发布为1
     * @param name:image type:string require:0 desc:项目详情图片
     * @param name:city name:string require:1 desc:发布城市
     *
     */
    public function demand()
    {
        $user_id = $this->getUserId();
        $param = $this->request->param();
        $param['user_id'] = $user_id;
        $param['create_time'] = time();
        $param['job_type'] = 2;
        if(empty($param['end_time'])){
            $param['end_time'] = $param['create_time']+7*24*60*60;
        }else{
            $end_time = strtotime($param['end_time']);
            if($end_time<$param['create_time']+86400){
                $this->error('请选择合理日期');
            }else{
                $param['end_time'] = strtotime($param['end_time']);
            }
        }
        if(empty($param['min_age'])){
            $param['min_age'] = 18;
        }
        if(empty($param['max_age'])){
            $param['max_age'] = 45;
        }
        if($param['status'] == 0) {
            $data = Db::name('job')
                ->insert($param);
            if (empty($data)) {
                $this->error(['code' => 40006, 'msg' => 'sql执行失败']);
            }
            $this->success('SUCCESS');
        }else{
            $validate = new Validate([
                'job_title' => 'require',
                'city'=>'require',
                'linkman' => 'require',
                'workplace'=>'require',
                'needpeople' =>'require|number',
                'sex'=>'require|number',
                'education'=>'require',
                'company_name'=>'require',
                'empoying'=>'require',
                'content'=>'require',
                'linkman_tel'=>'require|number|max:11',
            ]);
            if (!$validate->check($param)) {
                $this->error(['code'=>40005,'msg'=>$validate->getError()]);
            }
            $data = Db::name('job')
                ->insert($param);
            if(empty($data)){
                $this->error(['code'=>40006,'msg'=>'sql执行失败']);
            }
            $this->success('SUCCESS');
        }
    }

    /**
     * @title 同城活动
     * @description 同城活动
     * @author GuoSheng
     * @url /index/Send/active
     * @method GET
     *
     * @header name:XX-Token require:1 default: desc:token
     *
     * @param name:job_title type:string require:1 desc:信息标题
     * @param name:end_time type:string require:0 desc:有效日期
     * @param name:linkman type:string require:1 desc:联系人
     * @param name:linkman_tel type:string require:1 desc:手机号码
     * @param name:needpeople type:int require:1 desc:需求人数
     * @param name:payroll type:int require:1 desc:费用
     * @param name:city type:string require:1 desc: 城市(此处只能添加一个)
     * @param name:adress type:string require:1 desc:详细地址
     * @param name:company_name type:string require:1 desc:公司名称不能为空
     * @param name:content type:text require:1 desc:项目详情
     * @param name:status type:int require:1 desc:保存为0  发布为1
     * @param name:image type:string require:0 desc:项目详情图片
     *
     */
    public function active()
    {
        $user_id = $this->getUserId();
        $param = $this->request->param();
        $param['user_id'] = $user_id;
        $param['create_time'] = time();
        $param['job_type'] = 3;
        if(empty($param['end_time'])){
            $param['end_time'] = $param['create_time']+7*24*60*60;
        }else{
            $end_time = strtotime($param['end_time']);
            if($end_time<$param['create_time']+86400){
                $this->error('请选择合理日期');
            }else{
                $param['end_time'] = strtotime($param['end_time']);
            }
        }

        if($param['status'] == 0) {
            $data = Db::name('job')
                ->insert($param);
            if (empty($data)) {
                $this->error(['code' => 40006, 'msg' => 'sql执行失败']);
            }
            $this->success('SUCCESS');
        }else{
            $validate = new Validate([
                'job_title' => 'require',
                'linkman' => 'require',
                'linkman_tel'=>'require|number|max:11',
                'needpeople' =>'require|number',
                'payroll'=>'require|number',
                'city'=>'require',
                'adress'=>'require',
                'company_name'=>'require',
                'content'=>'require',
            ]);
            if (!$validate->check($param)) {
                $this->error(['code'=>40005,'msg'=>$validate->getError()]);
            }
            $data = Db::name('job')
                ->insert($param);
            if(empty($data)){
                $this->error(['code'=>40006,'msg'=>'sql执行失败']);
            }
            $this->success('SUCCESS');
        }
    }

    /**
     * @title 招商加盟
     * @description 招商加盟
     * @author GuoSheng
     * @url /index/Send/attract
     * @method GET
     *
     * @header name:XX-Token require:1 default: desc:token
     *
     * @param name:job_title type:string require:1 desc:信息标题
     * @param name:end_time type:string require:0 desc:有效日期
     * @param name:linkman type:string require:1 desc:联系人
     * @param name:linkman_tel type:string require:1 desc:手机号码
     * @param name:company_name type:string require:1 desc:公司名称不能为空
     * @param name:adress type:string require:1 desc:地址
     * @param name:content type:text require:1 desc:项目详情
     * @param name:status type:int require:1 desc:保存为0  发布为1
     * @param name:image type:string require:0 desc:项目详情图片
     * @param name:city type:string require:1 desc:发布城市
     *
     */
    public function attract()
    {
        $user_id = $this->getUserId();
        $param = $this->request->param();
        $param['user_id'] = $user_id;
        $param['create_time'] = time();
        $param['job_type'] = 4;
        if(empty($param['end_time'])){
            $param['end_time'] = $param['create_time']+7*24*60*60;
        }else{
            $end_time = strtotime($param['end_time']);
            if($end_time<$param['create_time']+86400){
                $this->error('请选择合理日期');
            }else{
                $param['end_time'] = strtotime($param['end_time']);
            }
        }
        if($param['status'] == 0) {
            $data = Db::name('job')
                ->insert($param);
            if (empty($data)) {
                $this->error(['code' => 40006, 'msg' => 'sql执行失败']);
            }
            $this->success('SUCCESS');
        }else{
            $validate = new Validate([
                'job_title' => 'require',
                'city'=>'require',
                'linkman' => 'require',
                'adress'=>'require',
                'linkman_tel'=>'require|number|max:11',
                'company_name'=>'require',
                'content'=>'require',
            ]);
            if (!$validate->check($param)) {
                $this->error(['code'=>40005,'msg'=>$validate->getError()]);
            }
            $data = Db::name('job')
                ->insert($param);
            if(empty($data)){
                $this->error(['code'=>40006,'msg'=>'sql执行失败']);
            }
            $this->success('SUCCESS');
        }
    }

}