MemberController.php 14.2 KB
<?php
// +----------------------------------------------------------------------
// | bronet [ 以客户为中心 以奋斗者为本 ]
// +----------------------------------------------------------------------
// | Copyright (c) 2013-2017 http://www.bronet.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
namespace app\portal\controller;



use app\portal\model\ResumeModel;
use think\Db;
use think\Session;

class MemberController extends CommentController
{
//    个人中心
    public function index()
    {
        $where_member['id'] = Session::get('uid');
        $member = Db::name('Member')->where($where_member)->find();
        $member['wx_pic'] = cmf_get_image_url($member['wx_pic']);
        $this->assign('list',$member);
        return $this->fetch();
    }
//    编辑资料
    public function changeUser(){
        $where_member['id'] = Session::get('uid');
        $member = Db::name('Member')->where($where_member)->find();
        $member['wx_pic'] = cmf_get_image_url($member['wx_pic']);
        $this->assign('list',$member);
        return $this->fetch('editmaterial');
    }
//    修改资料
    public function change(){
        $data = $this->request->param();
        $final = array();
        if(!empty($_FILES)){
//            图片
            $res = $this->pic($_FILES);
            $final[] = cmf_get_image_url($res);
            $data['wx_pic'] = $res;
        }
        $where_member['id'] = Session::get('uid');
        $data['update_time'] = time();
        $res = Db::name('Member')->where($where_member)->update($data);
        if($res){
            $this->apiResponse('1',"成功",$final);
        }else{
            $this->apiResponse('0',"失败");
        }

    }
//    图片
    public function pic($file){
        if ((($file["file"]["type"] == "image/gif")
                || ($file["file"]["type"] == "image/jpeg")
                || ($file["file"]["type"] == "image/png"))
            && ($file["file"]["size"] < 100000))
        {
            if ($file["file"]["error"] > 0)
            {
                $this->apiResponse('0',$file["file"]["error"]);
            }else{
                $data = './upload/';
                $flodername =  'pic/' . date("Ymd", time());
                $png = uniqid() . '.png';
                $filename = $data.$flodername . '/' . $png;
                if (!file_exists($data.$flodername)){
                    mkdir($data.$flodername, 0777, true);
                }
                move_uploaded_file($_FILES["file"]["tmp_name"],
                    $filename);
                    return  $flodername . '/' . $png;
            }
        }else{
            $this->apiResponse('0','图片格式错误');
        }
    }

//    我的订单
    public function myOrder(){
        $config = $this->getSignPackage();
        $this->assign('config',$config);
        return $this->fetch('myorder');
    }
//    我的订单内容
    public function orderContent(){
        $data = $this->request->param();
        if(!empty($data['type'])){
            $where_order['o.status'] = $data['type'];
        }else{
            $where_order['o.status'] = array('neq',9);
        }
        $a = array();
        $where_order['h.user_id'] = Session::get('uid');
        $coo_list = Db::name('Order')->alias('o')
            ->where($where_order)
            ->join("Hire h",'h.id = o.hire_id')
            ->join("Select s",'s.id = h.select_id')
            ->join("Member m",'m.id = h.user_id')
            ->field('o.id,o.order_sn,o.status as orderStatus,o.create_time as cre,o.update_time as up , h.id as hire_id,h.* , s.name as select_name ,m.name as member_name ')
            ->order('o.create_time desc')
            ->select()->toArray();
        if($coo_list){
//            查询分配表
            $where_compare['l.status'] = array('neq',9);
            $log = Db::name('CompareLog')->alias('l')
                ->where($where_compare)
                ->join("Member m",'m.id = l.resume_user_id')
                ->field('m.name,m.tel,l.order_id,l.status,l.id')
                ->select()->toArray();
            foreach ($coo_list as $k=>$v){
                if($log){
                    $middle_list = $v;
                    foreach ($log as $lk=>$lv){
                        if($lv['order_id'] == $middle_list['id']){
                            $middle_list['start_time'] = date('Y.m.d',strtotime($middle_list['start_time']));
                            $middle_list['end_time'] = date('Y.m.d',strtotime($middle_list['end_time']));
                            $middle_list['orderStatus'] = $lv['status'];
                            $middle = $middle_list;
                            $middle['resume_name'] = $lv['name'];
                            $middle['resume_tel'] = $lv['tel'];
                            $middle['logId'] = $lv['id'];
                            $a[] = $middle;
                            $v = array();
                        }
                    }
                    if(!empty($v)){
                        $v['start_time'] = date('Y.m.d',strtotime($v['start_time']));
                        $v['end_time'] = date('Y.m.d',strtotime($v['end_time']));
                        $middle['resume_name'] = '';
                        $middle['resume_tel'] = '';
                        $middle['logId'] = 0;
                        $a[] = $v;
                    }
                }
            }
        }
        echo "<pre/>";
        print_r($a);
        die;
        $this->apiResponse('1','成功',$a);
    }

//    我的订单详情
    public function detail(){
        $data = $this->request->param();

        if(!empty($data['logId'])){
            $where_compare['l.id'] = $data['logId'];
            $where_compare['l.status'] = array('neq',9);
            $coo_list = Db::name('CompareLog')->alias('l')
                ->where($where_compare)
                ->join("Member m",'m.id = l.resume_user_id')
                ->join("Hire h",'h.id = l.hire_id')
                ->join("Order o",'o.id = l.order_id')
                ->join("Select s",'s.id = h.select_id')
                ->field('h.*,m.name as user_name,m.tel as user_tel,l.order_id,l.status,l.id,o.order_sn,s.name as select_name')
                ->find();
        }else{
            $where_order['o.id'] = $data['id'];
            $where_order['h.user_id'] = Session::get('uid');
            $coo_list = Db::name('Order')->alias('o')
                ->where($where_order)
                ->join("Hire h",'h.id = o.hire_id')
                ->join("Select s",'s.id = h.select_id')
                ->join("Member m",'m.id = h.user_id')
                ->field('o.id,o.order_sn,o.status as orderStatus,o.create_time as cre,o.update_time as up , h.id as hire_id,h.* , s.name as select_name ,m.name as member_name ')
                ->order('o.create_time desc')
                ->find();
        }


        $config = $this->getSignPackage();
        $this->assign('config',$config);
        $this->assign('list',$coo_list);
        return $this->fetch('ordertail');
    }

//    付款
    public function toPay(){
        $data = $this->request->param();
        $pay = new SomepayController();
        $where_order['o.id'] = $data['id'];
        $where_order['o.user_id'] = Session::get('uid');
        $where_order['o.status'] = 3;
        $order = Db::name('Order')->alias('o')
            ->where($where_order)
            ->join("Member m",'m.id = o.user_id')
            ->field('m.openid,o.*')
            ->find();
        if(!$order){
            $this->apiResponse('0','订单错误',$where_order);
        }else{
            $order['money'] = 0.01;
            $some_attr = $pay->pay($order['openid'],$order['money'],$order['order_sn'],url('portal/Somepay/pay_notify',['order_sn'=>$order['order_sn'],'id'=>$order['id']],'',true),'青云职上');
            $this->apiResponse('1','成功',$some_attr);
        }
    }


//    取消订单/确认完成
    public function changeStatus(){
        $data = $this->request->param();
//            取消
        $where_order['id'] = $data['id'];
        $where_order['status'] = 3;
        $order = Db::name('Order')->where($where_order)->find();
        if($order){
//            取消
            $up['status'] = 5;
            $up['update_time'] = time();
            $res = Db::name('Order')->where($where_order)->update($up);
            if($res){
                $this->apiResponse('1',"取消成功");
            }else{
                $this->apiResponse('0','取消失败');
            }
        }else{
            $this->apiResponse('0','状态错误');
        }

    }

    //    确认完成
    public function sureStatus(){
        $data = $this->request->param();
//            确认完成
        $where_order['status'] = 6;
        $where_order['id'] = $data['id'];
        $log = Db::name('CompareLog')->where($where_order)->find();
        if($log){
            $up['status'] = 7;
            $up['update_time'] = time();
            $res = Db::name('CompareLog')->where($where_order)->update($up);
            if($res){
                $this->apiResponse('1',"确认完成成功");
            }else{
                $this->apiResponse('0','确认完成失败');
            }
        }else{
            $this->apiResponse('0','状态错误');
        }
    }

//    评价
    public function common(){
        return $this->fetch('evalute');
    }
// 评价提交
    public function subCommon(){
        $data = $this->request->param();
        $where_log['id'] = $data['id'];
        $where_log['status'] = 7;
        $log = Db::name('CompareLog')->where($where_log)->find();
        if($log){
            $up['start'] = $data['start']+1;
            $up['status'] = 8;
            $up['common_time'] = time();
            $up['update_time'] = time();
            $res = Db::name('CompareLog')->where($where_log)->update($up);
            if($res){
                $this->apiResponse('1','评论成功');
            }else{
                $this->apiResponse('0','评论失败');
            }
        }else{
            $this->apiResponse('0','订单错误');
        }
    }

//    我的钱包
    public function myBalance(){
        $where_member['id'] = Session::get('uid');
        $where_member['status'] = array('neq',9);
        $member = Db::name('Member')->where($where_member)->find();
        $this->assign('list',$member);
        return $this->fetch('myremain');
    }
//    我要提现
    public function getMoney(){
        $where_member['id'] = Session::get('uid');
        $where_member['status'] = array('neq',9);
        $member = Db::name('Member')->where($where_member)->find();
        $this->assign('list',$member);
        return $this->fetch('mybalance');
    }

//    我的简历
    public function myResume(){
        $where_member['m.id'] = Session::get('uid');
        $where_member['m.status'] = array('neq',9);
        $member = Db::name('Member')->alias('m')
            ->join("Resume r",'r.user_id = m.id')
            ->join("Select s",'r.select_id = s.id')
            ->where($where_member)
            ->field('m.wx_name,m.wx_pic,m.name,m.tel,m.card_num,r.*,s.name as select_name,s.id as select_id')
            ->order('create_time desc')
            ->find();
        $member['wx_pic'] = cmf_get_image_url($member['wx_pic']);
        $member['just'] = cmf_get_image_url($member['just']);
        $member['back'] = cmf_get_image_url($member['back']);
        $member['skill'] = explode(',',$member['skill']);
        $this->assign('list',$member);
        $where_select['status'] = array('neq',9);
        $where_select['type'] = 2;
        $select = Db::name('Select')->where($where_select)->order('score desc,create_time desc')->select()->toArray();
        $final['select'] = $select;
        //        判断是否填写过
        $where_resume['user_id'] = Session::get('uid');
        $where_resume['status'] = array('neq',9);
        $is_resume = Db::name('Resume')->where($where_resume)->find();

        $this->assign('final',$final);
        return $this->fetch('viae');
    }
//    上传图片
    public function getPic(){
        $this->apiResponse('1','成功',$this->pic($_FILES)) ;
    }
//    修改简历
    public function changeResume(){
        $data = $this->request->param();
        $model = new ResumeModel();
//        用户
        $where_member['id'] = Session::get('uid');
        if($data['wx_pic']){
            $add_member['wx_pic'] = $data['wx_pic'];
        }
//        $add_member['wx_pic'] = $data['wx_pic']?$data['wx_pic']:;
        $add_member['name'] = $data['name'];
        $add_member['card_num'] = $data['card_num'];
        $add_member['update_time'] = time();
        $res_member = Db::name('Member')->where($where_member)->update($add_member);
        if(!$res_member){
            $this->apiResponse('0','修改失败1');
        }
//        简历
        unset($data['wx_pic']);
        unset($data['name']);
        unset($data['card_num']);
        $where_resume['user_id'] = Session::get('uid');
        $where_resume['status'] = array('neq',9);;
        $id = $model->where($where_resume)->order('create_time desc')->value('id');
        if($id){
            $where_resume['user_id'] = Session::get('uid');
            $where_resume['status'] = array('neq',9);
            if(!$data['just']){
                unset($data['just']);
            }
            if(!$data['back']){
                unset($data['back']);
            }
            $data['id'] = $id;
            $data['status'] = 2;
            $res = $model->isUpdate(true)->save($data);
            if($res){
                $this->apiResponse('1','成功');
            }else{
                $this->apiResponse('0','失败');
            }
        }else{
            $this->apiResponse('0','简历错误');
        }

    }
//    关于我们
    public function aboutUs(){
        $where_art['type'] = 3;
        $where_art['status'] = array('neq',9);
        $content = Db::name('Art')->where($where_art)->find();
        $content['pic'] = cmf_get_image_url($content['pic']);
        $content['content'] = htmlspecialchars_decode($content['content']);
        $this->assign('list',$content);
        return $this->fetch('index/aboutus');
    }
}