memberInfoRepository=$memberInfoRepository; parent::__construct($app); } /** * 操作类型。 * @var array */ public $type_arr = array( 1000=>array('type'=>'注册','content'=>'注册成功'), 1001=>array('type'=>'登录','content'=>'登录成功'), 1002=>array('type'=>'发布了职位','content'=>'发布了职位(id:%s)'), 1003=>array('type'=>'修改了职位','content'=>'修改了职位(id:%s)'), 1004=>array('type'=>'保存企业资料','content'=>'保存企业资料'), 1005=>array('type'=>'上传营业执照','content'=>'上传营业执照'), 1006=>array('type'=>'刷新职位','content'=>'刷新职位(id:%s,方式:%u)'), 1007=>array('type'=>'关闭职位','content'=>'关闭职位(id:%s)'), 1008=>array('type'=>'恢复显示职位','content'=>'恢复显示职位(id:%s)'), 1009=>array('type'=>'删除职位','content'=>'删除职位(id:%s)'), 1010=>array('type'=>'邀请面试','content'=>'邀请面试(职位id:%s,简历id:%u)'), 1011=>array('type'=>'删除邀请面试记录','content'=>'删除邀请面试记录(记录id:%s)'), 1012=>array('type'=>'下载简历','content'=>''), 1013=>array('type'=>'删除职位申请','content'=>'删除职位申请(记录id:%s)'), // 1014=>array('type'=>'简历保存到电脑','content'=>'将简历保存到电脑(简历id:%s)'), // 1015=>array('type'=>'修改过滤条件','content'=>'修改职位接收简历的过滤条件(职位id:%s)'), 1016=>array('type'=>'已收到简历设为已查看','content'=>'将已收到简历设为已查看(记录id:%s)'), 1017=>array('type'=>'删除已下载简历','content'=>'删除已下载简历(记录id:%s)'), 1018=>array('type'=>'收藏简历','content'=>'收藏简历(简历id:%s)'), 1019=>array('type'=>'删除收藏简历','content'=>'删除收藏简历(记录id:%s)'), 1020=>array('type'=>'删除浏览过的简历','content'=>'删除浏览过的简历(记录id:%s)'), 1021=>array('type'=>'删除谁看过我的职位','content'=>'删除谁看过我的职位(记录id:%s)'), 1022=>array('type'=>'删除企业风采','content'=>'删除企业风采(记录id:%s)'), // 1023=>array('type'=>'修改企业风采备注','content'=>'修改企业风采备注(记录id:%s)'), // 1024=>array('type'=>'查看系统消息','content'=>'查看系统消息(消息id:%s)'), 1025=>array('type'=>'删除系统消息','content'=>'删除系统消息(消息id:%s)'), 1026=>array('type'=>'发送反馈消息','content'=>'发送反馈消息(发送者uid:%s,接收者uid:%u,消息内容:%f)'), // 1027=>array('type'=>'删除反馈消息','content'=>'删除反馈消息(消息id:%s)'), // 1028=>array('type'=>'发送简历到邮箱','content'=>'发送简历到邮箱(简历id:%s,接收邮箱:%u)'), 1029=>array('type'=>'标记收到的简历','content'=>'标记收到的简历(记录id:%s,标记为:%u)'), 1030=>array('type'=>'标记已下载简历','content'=>'标记已下载简历(记录id:%s,标记为:%u)'), 1031=>array('type'=>'更换企业模板','content'=>'更换企业模板(模板目录名:%s)'), 1032=>array('type'=>'举报简历','content'=>'举报简历(简历id:%s)'), 1033=>array('type'=>'预定招聘会展位','content'=>'预定招聘会展位(招聘会id:%s,展位id:%u)'), 1034=>array('type'=>'发布招聘会职位','content'=>'发布了招聘会职位【%s】(id:%u)'), 1035=>array('type'=>'修改招聘会职位','content'=>'修改了招聘会职位【%s】(id:%u)'), 1036=>array('type'=>'删除招聘会职位','content'=>'删除招聘会职位(id:%s)'), 1037=>array('type'=>'修改招聘会参展职位','content'=>'修改了招聘会参展职位(id:%s)'), 8001=>array('type'=>'邮箱验证','content'=>'邮箱验证'), 8002=>array('type'=>'手机验证','content'=>'手机验证'), 8003=>array('type'=>'签到','content'=>'签到'), 9001=>array('type'=>'创建订单','content'=>'创建订单(订单号:%s,付款方式:%u)'), 9002=>array('type'=>'开通服务','content'=>'开通服务(服务名称:%s,付款方式:%u)'), 9003=>array('type'=>'索取发票','content'=>'索取发票(订单ID:%s)'), 9004=>array('type'=>'取消订单','content'=>'取消订单(订单号:%s)'), 9005=>array('type'=>'删除订单','content'=>'删除订单(订单号:%s)'), // 9006=>array('type'=>'申请退出诚聘通','content'=>'申请退出诚聘通会员'), 2001=>array('type'=>'刷新简历','content'=>'刷新简历(简历id:%s)'), 2002=>array('type'=>'添加屏蔽企业','content'=>'添加屏蔽企业关健字:%s'), 2003=>array('type'=>'删除屏蔽企业','content'=>'删除屏蔽企业关健字(关键字:%s)'), 2004=>array('type'=>'保存隐私设置','content'=>'保存隐私设置(简历id:%s)'), 2005=>array('type'=>'设置简历委托','content'=>'设置简历委托(简历id:%s)'), 2006=>array('type'=>'取消简历委托','content'=>'取消简历委托(简历id:%s)'), 2007=>array('type'=>'更换简历模板','content'=>'更换简历模板(简历id:%s,模板目录名:%u)'), 2008=>array('type'=>'删除简历','content'=>'删除简历(简历id:%s)'), 2009=>array('type'=>'设置默认简历','content'=>'设置默认简历(简历id:%s)'), 2010=>array('type'=>'创建简历','content'=>'创建简历(简历id:%s)'), 2011=>array('type'=>'复制简历','content'=>'复制简历(被复制简历id:%s,新简历id:%u)'), 2012=>array('type'=>'修改简历','content'=>'修改简历(简历id:%s)'), 2013=>array('type'=>'删除教育经历','content'=>'删除教育经历(简历id:%s)'), 2014=>array('type'=>'删除工作经历','content'=>'删除工作经历(简历id:%s)'), 2015=>array('type'=>'删除培训经历','content'=>'删除培训经历(简历id:%s)'), 2016=>array('type'=>'删除语言能力','content'=>'删除语言能力(简历id:%s)'), 2017=>array('type'=>'删除证书','content'=>'删除证书(简历id:%s)'), 2018=>array('type'=>'添加教育经历','content'=>'添加教育经历(简历id:%s)'), 2019=>array('type'=>'修改教育经历','content'=>'修改教育经历(简历id:%s)'), 2020=>array('type'=>'添加工作经历','content'=>'添加工作经历(简历id:%s)'), 2021=>array('type'=>'修改工作经历','content'=>'修改工作经历(简历id:%s)'), 2022=>array('type'=>'添加培训经历','content'=>'添加培训经历(简历id:%s)'), 2023=>array('type'=>'修改培训经历','content'=>'修改培训经历(简历id:%s)'), 2024=>array('type'=>'保存语言能力','content'=>'保存语言能力(简历id:%s)'), 2025=>array('type'=>'添加证书','content'=>'添加证书(简历id:%s)'), 2026=>array('type'=>'修改证书','content'=>'修改证书(简历id:%s)'), 2027=>array('type'=>'保存个人简介','content'=>'保存个人简介(简历id:%s)'), 2028=>array('type'=>'保存特长标签','content'=>'保存特长标签(简历id:%s)'), 2029=>array('type'=>'删除简历附件','content'=>'删除简历附件(简历id:%s)'), 2030=>array('type'=>'保存附件','content'=>'保存附件(简历id:%s)'), 2031=>array('type'=>'删除word简历','content'=>'删除word简历(简历id:%s)'), 2032=>array('type'=>'简历外发','content'=>'简历外发(简历id:%s,接收邮箱:%u)'), 2033=>array('type'=>'删除简历外发','content'=>'删除简历外发(记录id:%s)'), 2034=>array('type'=>'面试邀请设为已查看','content'=>'面试邀请设为已查看(记录id:%s)'), 2035=>array('type'=>'删除收藏的职位','content'=>'删除收藏的职位(记录id:%s)'), 2036=>array('type'=>'删除谁在关注我','content'=>'删除谁在关注我(记录id:%s)'), 2037=>array('type'=>'删除浏览过的职位','content'=>'删除浏览过的职位(记录id:%s)'), 2038=>array('type'=>'删除关注的企业','content'=>'删除关注的企业(记录id:%s)'), 2039=>array('type'=>'保存职位订阅器','content'=>'保存职位订阅器(记录id:%s)'), 2040=>array('type'=>'退订职位订阅器','content'=>'退订职位订阅器(记录id:%s)'), 2041=>array('type'=>'订阅职位订阅器','content'=>'订阅职位订阅器(记录id:%s)'), 2042=>array('type'=>'举报职位','content'=>'举报职位(职位id:%s)'), 2043=>array('type'=>'修改个人资料','content'=>'修改个人资料'), 2044=>array('type'=>'修改了个人头像','content'=>'修改了个人头像'), 2045=>array('type'=>'修改了登录密码','content'=>'修改了登录密码') ); /** * Specify Model class name * * @return string */ // if(!$this->memberLogRepository->createLog(auth('web-member')->user(),2007,[$resume_id,$tpl])){ // throw new \Exception("日志记失败!"); // } public function model() { return MembersLog::class; } /** * Boot up the repository, pushing criteria */ public function boot() { $this->pushCriteria(app(RequestCriteria::class)); } /** * @param $log_uid * @param $log_utype * @param $type * @return mixed */ public function getMemberLog($log_uid, $log_utype, $type) { return $this->model->where([ 'log_uid'=>$log_uid, 'log_utype'=>$log_utype, 'type'=>$type ])->orderBy('id', 'desc')->paginate(10); } public function addNew($data) { $data['log_address'] = getAddressByIp(); return $this->model->create($data); } public function getTypes() { return $this->model->getTypeArr(); } /** * @param $user * @param $type * @param $log_value * @return mixed * @throws \ErrorException * @throws \Prettus\Validator\Exceptions\ValidatorException */ public function createLog($user, $type, $log_value,$is_toString=false) { if (empty($user)) { return true; } //把数组中空元素删掉 if (is_array($log_value)){ foreach ($log_value as $key=>$item) { if (empty($item)){ unset($log_value[$key]); } } } is_array($log_value) && $is_toString ? $log_value=implode(',',$log_value) : ''; //如果传来数组就拆分 $utyp=$user->utype; $log_username=""; if($utyp==2){ //个人用户 $memberInfo=$this->memberInfoRepository->getMemberInfo($user->id); $log_username=$memberInfo?$memberInfo->realname:$user->username; }elseif($utyp == 1) { //企业 $log_username = $user->companyname; }else{ $log_username = $user->orgname; } $data['log_uid'] = $user->id; $data['log_username'] = $log_username; $data['log_value'] = $this->getLogValue($type, $log_value); $data['log_ip'] = ip2long(request()->ip()); $data['log_address'] = getAddressByIp(); $data['log_utype'] = $user->utype; $data['log_source'] = $this->verSource(); // $data['subsite_id'] = $user->subsite_id; $data['type'] = $type; return $this->model->create($data); } public function addDebugLog($log){ $data['log_uid'] = 0; $data['log_username'] = 0; $data['log_value'] = json_encode($log); $data['log_ip'] = ip2long(request()->ip()); $data['log_address'] = getAddressByIp(); $data['log_utype'] = 1; $data['log_source'] = $this->verSource(); $data['subsite_id'] = 0; $data['type'] = 0; return $this->model->create($data); } /** * 获取日志说明。 * @param $key * @param $date * @return mixed|null */ public function getLogValue($key, $date) { if (isset($this->type_arr[$key])) { $content = $this->type_arr[$key]['content']; $res = str_replace(['%s','%u','%f'], $date, $content); empty($res) ? $res=$date : ""; return $res; } else { return null; } } /** * 判断是PC端还是手机端。 */ public function verSource() { if (isMobile()) { return '触屏端'; } else { return '网页版'; } } public function typeArrs() { return collect($this->type_arr)->map(function ($value) { return $value['type']; })->toArray(); } }