123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270 |
- <?php
- namespace App\Repositories;
- use App\Models\MembersLog;
- use App\Services\Common\CurlService;
- use Illuminate\Container\Container as Application;
- use Illuminate\Support\Facades\DB;
- use Prettus\Repository\Eloquent\BaseRepository;
- use Prettus\Repository\Criteria\RequestCriteria;
- /**
- * Class MemberRepositoryEloquent.
- *
- * @package namespace App\Repositories;
- */
- class MemberLogRepository extends BaseRepository
- {
- protected $memberInfoRepository;
- public function __construct(Application $app,MemberInfoRepository $memberInfoRepository)
- {
- $this->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();
- }
- }
|