error(__('Invalid parameters')); } $data = [ 'user_id' => $this->auth->id, 'title' => $title, 'info' => $info, 'type' => $type, 'goldprice' => $goldprice, 'createtime' => time(), 'status' => 1, ]; $id = Db::name('hire')->insertGetId($data); $this->success('发布成功',$id); } //需求市场,个人服务,两个列表 public function hire_list(){ $type = input('type',1); $list = Db::name('hire') ->alias('hire') ->join('user','hire.user_id = user.id','LEFT') ->field('user.id as user_id,user.u_id,user.username,user.nickname,user.avatar,user.gender,hire.id,hire.title,hire.info,hire.type,hire.goldprice,hire.status') ->where('hire.type',$type) ->where('hire.status',1) ->order('hire.id desc') ->autopage()->select(); $list = list_domain_image($list,['avatar']); if(!empty($list)){ $my_lingqu = Db::name('user_hire')->where('user_id',$this->auth->id)->where('hire_id','IN',array_column($list,'id'))->column('hire_id'); foreach($list as $key => &$val){ //是否领取 $val['is_lingqu'] = in_array($val['id'],$my_lingqu) ? 1 : 0; //是否是我发布 $val['is_my'] = $val['user_id'] == $this->auth->id ? 1 : 0; } } $this->success('success',$list); } //我领取的列表 public function my_join_list(){ $list = Db::name('user_hire')->alias('uh') ->join('hire','uh.hire_id = hire.id','LEFT') ->join('user','hire.user_id = user.id','LEFT') ->field('user.id as user_id,user.u_id,user.username,user.nickname,user.avatar,user.gender,hire.id,hire.title,hire.info,hire.type,hire.goldprice,hire.status') ->where('uh.user_id',$this->auth->id) ->order('uh.id desc') ->autopage()->select(); $list = list_domain_image($list,['avatar']); $this->success('success',$list); } //我发布的列表 public function my_own_list(){ $list = Db::name('hire') ->alias('hire') ->join('user','hire.user_id = user.id','LEFT') ->field('user.id as user_id,user.u_id,user.username,user.nickname,user.avatar,user.gender,hire.id,hire.title,hire.info,hire.type,hire.goldprice,hire.status') ->where('hire.user_id',$this->auth->id) ->order('hire.id desc') ->autopage()->select(); $list = list_domain_image($list,['avatar']); $this->success('success',$list); } //某任务,参与人员 public function hire_joinuser_list(){ $hire_id = input('hire_id',0); $list = Db::name('user_hire')->alias('uh') ->join('user','uh.user_id = user.id','LEFT') ->field('user.id as user_id,user.u_id,user.username,user.nickname,user.avatar,user.gender,user.desc') ->where('uh.hire_id',$hire_id) ->select(); $list = list_domain_image($list,['avatar']); $this->success('success',$list); } //领取一个任务 public function join_hire(){ $this->apiLimit(); $hire_id = input('hire_id',0); $hire_info = Db::name('hire')->where('id',$hire_id)->find(); if($hire_info['status'] != 1){ $this->error('任务已关闭,请刷新重试'); } if($hire_info['user_id'] == $this->auth->id){ $this->error('不能领取自己发布的任务'); } //去重 $map = [ 'user_id' => $this->auth->id, 'hire_id' => $hire_id ]; $check = Db::name('user_hire')->where($map)->find(); if(!empty($check)){ $this->error('已经领取该任务,无需重复领取'); } $map['createtime'] = time(); Db::name('user_hire')->insertGetId($map); $this->success('领取成功'); } //关闭我的任务 public function close_one(){ $hire_id = input('hire_id',0); if(!$hire_id){ $this->error(__('Invalid parameters')); } $map = [ 'user_id' => $this->auth->id, 'id' => $hire_id, ]; $rs = Db::name('hire')->where($map)->update(['status'=>0]); $this->success('操作成功'); } }