|  | @@ -0,0 +1,140 @@
 | 
	
		
			
				|  |  | +<?php
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +namespace app\job;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +use think\queue\Job;
 | 
	
		
			
				|  |  | +use think\facade\Log;
 | 
	
		
			
				|  |  | +use think\facade\Db;
 | 
	
		
			
				|  |  | +use app\common\api\ChuanglanSmsApi;
 | 
	
		
			
				|  |  | +use app\common\model\MessageRecord;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/**
 | 
	
		
			
				|  |  | + * Description of Enterprise
 | 
	
		
			
				|  |  | + * 企业相关事务处理
 | 
	
		
			
				|  |  | + * @author sgq
 | 
	
		
			
				|  |  | + */
 | 
	
		
			
				|  |  | +class Enterprise {
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    public function fire(Job $job, $data) {
 | 
	
		
			
				|  |  | +        if ($this->deal($data)) {
 | 
	
		
			
				|  |  | +            $job->delete();
 | 
	
		
			
				|  |  | +            return true;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if ($job->attempts() >= 3) {
 | 
	
		
			
				|  |  | +            $job->delete();
 | 
	
		
			
				|  |  | +            return false;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        $job->release(10); //10秒后重试
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  | +     * 处理业务逻辑
 | 
	
		
			
				|  |  | +     * @param type $data
 | 
	
		
			
				|  |  | +     * @return bool
 | 
	
		
			
				|  |  | +     */
 | 
	
		
			
				|  |  | +    public function deal($data): bool {
 | 
	
		
			
				|  |  | +        $type = $data["type"];
 | 
	
		
			
				|  |  | +        switch ($type) {
 | 
	
		
			
				|  |  | +            case 1:
 | 
	
		
			
				|  |  | +                $id = $data["id"];
 | 
	
		
			
				|  |  | +                //注册成功,检查是否重新注册,如果是,继承账号所有人才数据和申报数据
 | 
	
		
			
				|  |  | +                $ep = \app\common\api\EnterpriseApi::getOne($id);
 | 
	
		
			
				|  |  | +                if ($ep && $ep["checkState"] == 3) {
 | 
	
		
			
				|  |  | +                    $where = [];
 | 
	
		
			
				|  |  | +                    $where[] = ["idCard", "=", $ep["idCard"]];
 | 
	
		
			
				|  |  | +                    $where[] = ["checkState", "=", 3];
 | 
	
		
			
				|  |  | +                    $closeRecord = \app\common\model\EnterpriseCloseAccount::where($where)->order("passTime desc")->find();
 | 
	
		
			
				|  |  | +                    if ($closeRecord && $closeRecord["enterpriseId"]) {
 | 
	
		
			
				|  |  | +                        $oldEpId = $closeRecord["enterpriseId"];
 | 
	
		
			
				|  |  | +                        //开始转移数据
 | 
	
		
			
				|  |  | +                        Db::startTrans();
 | 
	
		
			
				|  |  | +                        try {
 | 
	
		
			
				|  |  | +                            unset($where);
 | 
	
		
			
				|  |  | +                            //生活补贴
 | 
	
		
			
				|  |  | +                            $where[] = ["enterpriseId", "=", $oldEpId];
 | 
	
		
			
				|  |  | +                            $upd["enterpriseId"] = $id;
 | 
	
		
			
				|  |  | +                            $upd["type"] = $ep["type"];
 | 
	
		
			
				|  |  | +                            $upd["enterpriseName"] = $ep["name"];
 | 
	
		
			
				|  |  | +                            Db::table("md_living_allowance_info")->where($where)->save($upd);
 | 
	
		
			
				|  |  | +                            //津补贴
 | 
	
		
			
				|  |  | +                            Db::table("un_talent_allowance_info")->where($where)->save($upd);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                            //积分
 | 
	
		
			
				|  |  | +                            unset($where);
 | 
	
		
			
				|  |  | +                            unset($upd);
 | 
	
		
			
				|  |  | +                            $where[] = ["enterprise_id", "=", $oldEpId];
 | 
	
		
			
				|  |  | +                            $upd["enterprise_id"] = $id;
 | 
	
		
			
				|  |  | +                            $upd["type"] = $ep["type"];
 | 
	
		
			
				|  |  | +                            Db::table("new_integral_log")->where($where)->save($upd);
 | 
	
		
			
				|  |  | +                            unset($upd["type"]);
 | 
	
		
			
				|  |  | +                            Db::table("new_integral_record")->where($where)->save($upd);
 | 
	
		
			
				|  |  | +                            Db::table("new_integral_veto")->where($where)->save($upd);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                            //人才
 | 
	
		
			
				|  |  | +                            unset($where);
 | 
	
		
			
				|  |  | +                            unset($upd);
 | 
	
		
			
				|  |  | +                            $where[] = ["enterprise_id", "=", $oldEpId];
 | 
	
		
			
				|  |  | +                            $upd["enterprise_id"] = $id;
 | 
	
		
			
				|  |  | +                            Db::table("new_talent_info")->where($where)->save($upd);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                            //信息变更
 | 
	
		
			
				|  |  | +                            unset($where);
 | 
	
		
			
				|  |  | +                            unset($upd);
 | 
	
		
			
				|  |  | +                            $where[] = ["enterpriseId", "=", $oldEpId];
 | 
	
		
			
				|  |  | +                            $upd["enterpriseId"] = $id;
 | 
	
		
			
				|  |  | +                            $upd["type"] = $ep["type"];
 | 
	
		
			
				|  |  | +                            Db::table("un_talent_basic_change")->where($where)->save($upd);
 | 
	
		
			
				|  |  | +                            $upd["enterpriseName"] = $ep["name"];
 | 
	
		
			
				|  |  | +                            Db::table("un_talent_type_change")->where($where)->save($upd);
 | 
	
		
			
				|  |  | +                            Db::table("un_talent_quit")->where($where)->save($upd);
 | 
	
		
			
				|  |  | +                            Db::table("un_talent_bank_change")->where($where)->save($upd);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                            //工作变更情况1 作为变更前时候
 | 
	
		
			
				|  |  | +                            unset($where);
 | 
	
		
			
				|  |  | +                            unset($upd);
 | 
	
		
			
				|  |  | +                            $where[] = ["oldEnterpriseId", "=", $oldEpId];
 | 
	
		
			
				|  |  | +                            $upd["oldEnterpriseId"] = $oldEpId;
 | 
	
		
			
				|  |  | +                            Db::table("un_talent_workunit_change")->where($where)->save($upd);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                            //工作变更情况2 作为变更后时候
 | 
	
		
			
				|  |  | +                            unset($where);
 | 
	
		
			
				|  |  | +                            unset($upd);
 | 
	
		
			
				|  |  | +                            $where[] = ["newEnterpriseId", "=", $oldEpId];
 | 
	
		
			
				|  |  | +                            $upd["newEnterpriseId"] = $oldEpId;
 | 
	
		
			
				|  |  | +                            $upd["type"] = $ep["type"];
 | 
	
		
			
				|  |  | +                            Db::table("un_talent_workunit_change")->where($where)->save($upd);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                            //other
 | 
	
		
			
				|  |  | +                            unset($where);
 | 
	
		
			
				|  |  | +                            unset($upd);
 | 
	
		
			
				|  |  | +                            $where[] = ["enterpriseId", "=", $oldEpId];
 | 
	
		
			
				|  |  | +                            $upd["enterpriseId"] = $id;
 | 
	
		
			
				|  |  | +                            Db::table("un_talent_allowance_project")->where($where)->save($upd);
 | 
	
		
			
				|  |  | +                            Db::table("un_talent_allowancecontract_detail")->where($where)->save($upd);
 | 
	
		
			
				|  |  | +                            $upd["type"] = $ep["type"];
 | 
	
		
			
				|  |  | +                            Db::table("un_childschool_fees")->where($where)->save($upd);
 | 
	
		
			
				|  |  | +                            Db::table("un_house_renting")->where($where)->save($upd);
 | 
	
		
			
				|  |  | +                            Db::table("un_house_renting_fees")->where($where)->save($upd);
 | 
	
		
			
				|  |  | +                            Db::table("un_house_renting_purchase_fees")->where($where)->save($upd);
 | 
	
		
			
				|  |  | +                            Db::table("un_housepurchase")->where($where)->save($upd);
 | 
	
		
			
				|  |  | +                            Db::table("un_houser_renting_purchase_apply")->where($where)->save($upd);
 | 
	
		
			
				|  |  | +                            Db::table("un_medical_subsidy")->where($where)->save($upd);
 | 
	
		
			
				|  |  | +                            Db::table("un_training_subsidy")->where($where)->save($upd);
 | 
	
		
			
				|  |  | +                            Db::table("un_major_projects")->where($where)->save($upd);
 | 
	
		
			
				|  |  | +                            Db::commit();
 | 
	
		
			
				|  |  | +                            return true;
 | 
	
		
			
				|  |  | +                        } catch (\think\Exception $e) {
 | 
	
		
			
				|  |  | +                            Db::rollback();
 | 
	
		
			
				|  |  | +                            Log::error(json_encode($data));
 | 
	
		
			
				|  |  | +                            Log::error($e->getMessage());
 | 
	
		
			
				|  |  | +                            return false;
 | 
	
		
			
				|  |  | +                        }
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                break;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        return false;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +}
 |