1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117 |
- <?php
- namespace app\worker\controller;
- use app\worker\BaseController;
- use app\common\model\Param as ParamModel;
- use app\common\model\Demand as DemandModel;
- use app\common\model\DemandOther as DemandOtherModel;
- use app\common\model\DemandCate as DemandCateModel;
- use app\common\model\DemandLog as DemandLogModel;
- use app\common\model\User as UserModel;
- use app\common\model\UserIntegral as UserIntegralModel;
- use app\common\model\DemandSnatch as DemandSnatchModel;
- use app\common\model\DemandReport as DemandReportModel;
- use app\common\validate\Demand as DemandValidate;
- use think\exception\ValidateException;
- use think\facade\Session;
- use think\facade\Db;
- use think\facade\Request;
- class Demand extends BaseController
- {
- // 我的报名记录
- public function logList()
- {
- $workerid = $this->access_worker['id'];
- $workerid = 89;
- $data = Db::name("demand_log")
- ->alias('a')
- ->field('c.ftitle,b.title,a.id,a.gworkerid,a.demandid')
- ->where('a.workerid', $workerid)
- ->join('demand b', 'a.demandid = b.id', 'LEFT')
- ->join('worker c', 'a.gworkerid = c.id', 'LEFT')
- ->select()
- ->toArray();
- $gworker_data = assoc_unique($data, 'gworkerid');
- $demand_data = assoc_unique($data, 'demandid');
- return view('demand/loglist', [
- 'gworker_data' => $gworker_data,
- 'demand_data' => $demand_data,
- ]);
- }
- public function delLog()
- {
- $idarr = input('idarr/a');
- $workerid = $this->access_worker['id'];
- $workerid = 89;
- $res = Db::name('demand_log')
- ->where('workerid', $workerid)
- ->whereIn('id', $idarr)
- ->update(['del_status' => (int)2]);
- if ($res) {
- exit(json_encode([
- 'code' => 0,
- 'msg' => "",
- ]));
- }
- exit(json_encode([
- 'code' => 1,
- 'msg' => "删除失败,请稍后重试",
- ]));
- }
- public function fieldLog()
- {
- $id = input('id/d', 0);
- $log = DemandLogModel::findOrEmpty($id);
- if ($log->isEmpty()) {
- exit(json_encode([
- 'code' => 1,
- 'msg' => "信息不存在",
- ]));
- } else {
- $log->save([
- input('field/s') => input('value'),
- ]);
- }
- exit(json_encode([
- 'code' => 0,
- ]));
- }
- public function listLog()
- {
- $limit = input('limit/d', 20);
- $page = input('page/d', 1);
- $map = [];
- $gworkerid = input('gworkerid/d');
- $demandid = input('demandid/d');
- $workerid = $this->access_worker['id'];
- $workerid = 89;
- $map[] = ['workerid', '=', $workerid];
- $map[] = ['del_status', '=', 1];
- if (!empty($gworkerid)) {
- $map[] = ['gworkerid', '=', $gworkerid];
- }
- if (!empty($demandid)) {
- $map[] = ['demandid', '=', $demandid];
- }
- $list = DemandLogModel::with(['gworker', 'worker', 'demand'])->where($map)->order('id', 'DESC')->limit($limit)->page($page)->select();
- $count = DemandLogModel::where($map)->count();
- if ($count == 0) {
- exit(json_encode([
- 'code' => 1,
- 'msg' => "未查询到数据",
- ]));
- }
- exit(json_encode([
- 'code' => 0,
- 'msg' => "",
- 'count' => $count,
- 'data' => $list,
- ]));
- }
- public function exportLog()
- {
- $map = [];
- $workerdemandarr = explode(",", input('workerdemand/s'));
- $workerid = isset($workerdemandarr[0]) ? $workerdemandarr[0] : 0;
- $demandid = isset($workerdemandarr[1]) ? $workerdemandarr[1] : 0;
- if (!empty($workerid)) {
- $map[] = ['workerid', '=', $workerid];
- }
- if (!empty($demandid)) {
- $map[] = ['demandid', '=', $demandid];
- }
- $xlsData = DemandLogModel::with(['gworker', 'worker', 'demand'])->where($map)->order('id', 'DESC')->select()->toArray();
- $xlsCell = [
- ['id', '表ID'],
- ['gworker.title', '接单公司名称'],
- ['gworker.realname', '接单公司联系人姓名'],
- ['gworker.mobile', '接单公司联系人手机号'],
- ['worker.title', '发单公司'],
- ['demand.title', '订单标题'],
- ['createtime', '接单时间'],
- ];
- export_excel("接单报名记录", $xlsCell, $xlsData);
- }
- // 企业招聘
- public function demandList()
- {
- if (Request::isAjax()) {
- $limit = input('limit/d', 20);
- $page = input('page/d', 1);
- $map = [];
- $workerid = $this->access_worker['id'];
- $map[] = ['workerid', '=', $workerid];
- $keywords = input('keywords/s', "");
- if (!empty($keywords)) {
- $map[] = ['title', 'like', '%' . $keywords . '%'];
- }
- $cateid = input('cateid/d', 0);
- if (!empty($cateid)) {
- $map[] = ['cateid', '=', $cateid];
- }
- $wtype = input('wtype/d');
- if (!empty($wtype)) {
- $map[] = ['wtype', '=', $wtype];
- }
- $ftype = input('ftype/d');
- if (!empty($ftype)) {
- $map[] = ['ftype', '=', $ftype];
- }
- $status = input('status/d');
- if (!empty($status)) {
- $map[] = ['status', '=', $status];
- } else {
- $map[] = ['status', '<', 6];
- }
- $isfree = input('isfree/d', 0);
- if (!empty($isfree)) {
- $map[] = ['isfree', '=', $isfree];
- }
- $list = DemandModel::with(['worker', 'demandCate'])
- ->withCount(['demandLog'])
- ->where($map)
- ->order(['priority' => 'desc', 'id' => 'desc',])
- ->limit($limit)
- ->page($page)
- ->append(['wtype_text', 'ftype_text', 'status_text', 'isfree_text'])
- ->select();
- $count = DemandModel::where($map)->count();
- if ($count == 0) {
- exit(json_encode([
- 'code' => 1,
- 'msg' => "未查询到数据",
- ]));
- }
- exit(json_encode([
- 'code' => 0,
- 'msg' => "",
- 'count' => $count,
- 'data' => $list,
- ]));
- } else {
- $catelist = DemandCateModel::order(['priority' => 'desc', 'id' => 'desc'])->select();
- $param = ParamModel::where(1)->findOrEmpty();
- $access_worker = Session::get('access_worker');
- $is_released = 1;
- if ($access_worker['status'] == 1) {
- $is_released = is_released($access_worker['id']);
- }
- return view('demand/demandlist', [
- 'param' => $param,
- 'catelist' => $catelist,
- 'wtype' => $access_worker['wtype'],
- 'is_released' => $is_released['code'],
- ]);
- }
- }
- public function demandForm()
- {
- $worker_data = Session::get('access_worker');
- $catelist = DemandCateModel::order(['priority' => 'desc', 'id' => 'desc'])->select();
- return view('demand/demandform', [
- 'catelist' => $catelist,
- 'title' => $worker_data['title'],
- ]);
- }
- public function demandFormWyd()
- {
- $worker_data = Session::get('access_worker');
- $catelist = DemandCateModel::order(['priority' => 'desc', 'id' => 'desc'])->select();
- return view('demand/demandformwyd', [
- 'catelist' => $catelist,
- 'title' => $worker_data['title'],
- ]);
- }
- //修改订单状态
- public function editDemandStatus()
- {
- $id = input('id/d', 0);
- $workerid = $this->access_worker['id'];
- if (Request::isAjax()) {
- $status = input('status/d', 0);
- $res = Db::name("demand")
- ->where('workerid', $workerid)
- ->where('id', $id)
- ->update(['status' => $status]);
- if ($res) {
- exit(json_encode([
- 'code' => 0,
- ]));
- }
- } else {
- $data = Db::name('demand')
- ->field('id,workerid,title,status')
- ->where('workerid', $workerid)
- ->where('id', $id)
- ->find();
- if ($data['status'] == 1) {
- $data['status_text'] = '待修改';
- } elseif ($data['status'] == 2) {
- $data['status_text'] = '待审核';
- } elseif ($data['status'] == 3) {
- $data['status_text'] = '已上架';
- } elseif ($data['status'] == 4) {
- $data['status_text'] = '已停招';
- } elseif ($data['status'] == 5) {
- $data['status_text'] = '已下架';
- } elseif ($data['status'] == 6) {
- $data['status_text'] = '已删除';
- }
- return view('demand/editdemandstatus', [
- 'data' => $data,
- ]);
- }
- }
- public function editDemand()
- {
- $id = input('id/d', 0);
- $workerid = $this->access_worker['id'];
- $user = UserModel::findOrEmpty($this->access_worker['userid']);
- $param = ParamModel::where(1)->findOrEmpty();
- if ($user->isEmpty()) {
- exit(json_encode([
- 'code' => 1,
- 'msg' => "用户信息不存在",
- ]));
- }
- $wtype = input('wtype/d', 1);
- $type = input('type/d', 1);
- $zwagall = $wtype == 1 ? input('zwagall/s', "") : '';
- $data = [
- 'workerid' => $workerid,
- 'title' => input('title/s', ""),
- 'num' => input('num/d', 1),
- 'cateid' => input('cateid/d', 0),
- 'province' => input('province/s', ""),
- 'city' => input('city/s', ""),
- 'district' => input('district/s', ""),
- 'agegroup' => input('agegroup/s', ""),
- 'tags' => input('tags/a', []),
- 'enddate' => input('enddate/s', ""),
- 'requirement' => input('requirement/s', ""),
- 'comdetails' => input('comdetails/s', ""),
- 'picall' => input('picall/a', []),
- 'wtype' => $wtype,
- 'type' => $type,
- 'bwagall' => input('bwagall/s', ""),
- 'zwagall' => $zwagall,
- 'ftype' => input('ftype/d', 1),
- 'fwagall' => input('fwagall/s', ""),
- 'telephone' => input('telephone/s', ""),
- 'remark' => input('remark/s', ""),
- 'isfree' => 1,
- ];
- try {
- validate(DemandValidate::class)->check($data);
- } catch (ValidateException $e) {
- exit(json_encode([
- 'code' => 1,
- 'msg' => $e->getError(),
- ]));
- }
- if (empty($id)) {
- if ($this->access_worker['status'] == 1) {
- $is_released = is_released($workerid);
- if ($is_released['code'] == 1001) {
- return $is_released;
- }
- } else {
- if ($user->integral < $param->adddemand) {
- page_result1(1, "每次发布订单信息需要扣除" . $param->adddemand . "积分,你当前积分不足。");
- }
- }
- $data['video'] = input('new_video/s', "");
- $data['updatetime'] = time();
- $data['createtime'] = time();
- $data['status'] = (int)2;
- $data['volume'] = 0;
- $data['telearr'] = [];
- $demand = DemandModel::create($data);
- $intdata = [
- 'userid' => $user->id,
- 'title' => "发布订单信息扣除",
- 'intvalue' => 0 - $param->adddemand,
- 'intmoney' => 0.00,
- 'onlycontent' => "",
- 'remark' => input('title/s', ""),
- 'itype' => 4,
- 'createtime' => date("Y-m-d H:i:s"),
- 'yeartime' => date("Y"),
- 'monthtime' => date("Ym"),
- ];
- UserIntegralModel::create($intdata);
- $integral = intval($user->integral) - intval($param->adddemand);
- $user->save([
- 'integral' => $integral,
- ]);
- } else {
- $old_video = input('old_video/s', '');
- $new_video = input('new_video/s', '');
- if (!empty($new_video)) {
- $data['video'] = $new_video;
- } else {
- if (!empty($old_video)) {
- $data['video'] = $old_video;
- }
- }
- $data['createtime'] = time();
- $data['status'] = input('status/d', 0);
- $demand = DemandModel::find($id);
- DemandLogModel::update(['workerid' => input('workerid/d', 0)], ['demandid' => $demand->id]);
- $demand->save($data);
- }
- exit(json_encode([
- 'code' => 0,
- ]));
- }
- public function editdemandformWyd()
- {
- $id = input('id/d', 0);
- $workerid = $this->access_worker['id'];
- $user = UserModel::findOrEmpty($this->access_worker['userid']);
- $param = ParamModel::where(1)->findOrEmpty();
- if ($user->isEmpty()) {
- exit(json_encode([
- 'code' => 1,
- 'msg' => "用户信息不存在",
- ]));
- }
- $wtype = input('wtype/d', 1);
- $zwagall = $wtype == 1 ? input('zwagall/s', "") : '';
- $data = [
- 'workerid' => $workerid,
- 'title' => input('title/s', ""),
- 'cateid' => input('cateid/d', 0),
- 'province' => input('province/s', ""),
- 'city' => input('city/s', ""),
- 'district' => input('district/s', ""),
- 'agegroup' => input('agegroup/s', ""),
- 'tags' => input('tags/a', []),
- 'enddate' => input('enddate/s', ""),
- 'requirement' => input('requirement/s', ""),
- 'comdetails' => input('comdetails/s', ""),
- 'wtype' => $wtype,
- 'bwagall' => input('bwagall/s', ""),
- 'zwagall' => $zwagall,
- 'ftype' => input('ftype/d', 1),
- 'fwagall' => input('fwagall/s', ""),
- 'telephone' => input('telephone/s', ""),
- 'remark' => input('remark/s', ""),
- 'isfree' => 2,
- ];
- try {
- validate(DemandValidate::class)->check($data);
- } catch (ValidateException $e) {
- exit(json_encode([
- 'code' => 1,
- 'msg' => $e->getError(),
- ]));
- }
- if (empty($id)) {
- if ($this->access_worker['status'] == 1) {
- $is_released = is_released($workerid);
- if ($is_released['code'] == 1001) {
- return $is_released;
- }
- } else {
- if ($user->integral < $param->adddemandwyd) {
- page_result1(1, "每次发布悬赏单需要扣除" . $param->adddemandwyd . "积分,你当前积分不足。");
- }
- }
- $data['video'] = input('new_video/s', "");
- $data['updatetime'] = time();
- $data['createtime'] = time();
- $data['status'] = (int)2;
- $data['volume'] = 0;
- $data['telearr'] = [];
- $demand = DemandModel::create($data);
- $intdata = [
- 'userid' => $user->id,
- 'title' => "发布悬赏单扣除",
- 'intvalue' => 0 - $param->adddemandwyd,
- 'intmoney' => 0.00,
- 'onlycontent' => "",
- 'remark' => input('title/s', ""),
- 'itype' => 4,
- 'createtime' => date("Y-m-d H:i:s"),
- 'yeartime' => date("Y"),
- 'monthtime' => date("Ym"),
- ];
- UserIntegralModel::create($intdata);
- $integral = intval($user->integral) - intval($param->adddemandwyd);
- $user->save([
- 'integral' => $integral,
- ]);
- } else {
- $data['updatetime'] = time();
- $data['status'] = input('status/d', 0);
- $old_video = input('old_video/s', '');
- $new_video = input('new_video/s', '');
- if (!empty($new_video)) {
- $data['video'] = $new_video;
- } else {
- if (!empty($old_video)) {
- $data['video'] = $old_video;
- }
- }
- $demand = DemandModel::find($id);
- DemandLogModel::update(['workerid' => input('workerid/d', 0)], ['demandid' => $demand->id]);
- $demand->save($data);
- }
- exit(json_encode([
- 'code' => 0,
- ]));
- }
- public function fieldDemand()
- {
- $id = input('id/d', 0);
- $demand = DemandModel::findOrEmpty($id);
- if ($demand->isEmpty()) {
- exit(json_encode([
- 'code' => 1,
- 'msg' => "信息不存在",
- ]));
- } else {
- $demand->save([
- 'telephone' => input('value'),
- ]);
- }
- exit(json_encode([
- 'code' => 0,
- ]));
- }
- public function delDemand()
- {
- $workerid = $this->access_worker['id'];
- $idarr = input('idarr/a');
- $res = Db::name('demand')
- ->where(['workerid' => $workerid])
- ->whereIn('id', $idarr)
- ->update(['status' => 6]);
- if ($res) {
- exit(json_encode([
- 'code' => 0,
- 'msg' => "",
- ]));
- }
- exit(json_encode([
- 'code' => 1,
- 'msg' => "删除失败,请稍后重试",
- ]));
- }
- public function listDemand()
- {
- $limit = input('limit/d', 20);
- $page = input('page/d', 1);
- $map = [];
- $keywords = input('keywords/s', "");
- if (!empty($keywords)) {
- $map[] = ['title', 'like', '%' . $keywords . '%'];
- }
- $workerid = input('workerid/d', 0);
- if (!empty($workerid)) {
- $map[] = ['workerid', '=', $workerid];
- }
- $cateid = input('cateid/d', 0);
- if (!empty($cateid)) {
- $map[] = ['cateid', '=', $cateid];
- }
- $wtype = input('wtype/d');
- if (!empty($wtype)) {
- $map[] = ['wtype', '=', $wtype];
- }
- $ftype = input('ftype/d');
- if (!empty($ftype)) {
- $map[] = ['ftype', '=', $ftype];
- }
- $status = input('status/d');
- if (!empty($status)) {
- $map[] = ['status', '=', $status];
- }
- $isfree = input('isfree/d', 0);
- if (!empty($isfree)) {
- $map[] = ['isfree', '=', $isfree];
- }
- $list = DemandModel::with(['worker', 'demandCate'])
- ->withCount(['demandLog'])
- ->where($map)
- ->order(['priority' => 'desc', 'id' => 'desc',])
- ->limit($limit)
- ->page($page)
- ->append(['wtype_text', 'ftype_text', 'status_text', 'isfree_text'])
- ->select();
- $count = DemandModel::where($map)->count();
- if ($count == 0) {
- exit(json_encode([
- 'code' => 1,
- 'msg' => "未查询到数据",
- ]));
- }
- exit(json_encode([
- 'code' => 0,
- 'msg' => "",
- 'count' => $count,
- 'data' => $list,
- ]));
- }
- // 企业招聘
- public function otherList()
- {
- if (Request::isAjax()) {
- $limit = input('limit/d', 20);
- $page = input('page/d', 1);
- $map = [];
- $workerid = $this->access_worker['id'];
- $map[] = ['workerid', '=', $workerid];
- $title = input('title/s', "");
- if (!empty($title)) {
- $map[] = ['title', 'like', '%' . $title . '%'];
- }
- $keywords = input('keywords/s', "");
- if (!empty($keywords)) {
- $map[] = ['company_name|company_contact|company_mobile', 'like', '%' . $keywords . '%'];
- }
- $cateid = input('cateid/d', 0);
- if (!empty($cateid)) {
- $map[] = ['cateid', '=', $cateid];
- }
- $wtype = input('wtype/d');
- if (!empty($wtype)) {
- $map[] = ['wtype', '=', $wtype];
- }
- $ftype = input('ftype/d');
- if (!empty($ftype)) {
- $map[] = ['ftype', '=', $ftype];
- }
- $status = input('status/d');
- if (!empty($status)) {
- $map[] = ['status', '=', $status];
- } else {
- $map[] = ['status', '<', 6];
- }
- $isfree = input('isfree/d', 0);
- if (!empty($isfree)) {
- $map[] = ['isfree', '=', $isfree];
- }
- $list = DemandOtherModel::with(['worker', 'demandCate'])
- ->where($map)
- ->order(['priority' => 'desc', 'id' => 'desc',])
- ->limit($limit)
- ->page($page)
- ->append(['wtype_text', 'ftype_text', 'status_text', 'isfree_text'])
- ->select();
- $count = DemandOtherModel::where($map)->count();
- if ($count == 0) {
- exit(json_encode([
- 'code' => 1,
- 'msg' => "未查询到数据",
- ]));
- }
- exit(json_encode([
- 'code' => 0,
- 'msg' => "",
- 'count' => $count,
- 'data' => $list,
- ]));
- } else {
- $catelist = DemandCateModel::order(['priority' => 'desc', 'id' => 'desc'])->select();
- $param = ParamModel::where(1)->findOrEmpty();
- $access_worker = Session::get('access_worker');
- return view('demand/otherlist', [
- 'param' => $param,
- 'catelist' => $catelist,
- 'wtype' => $access_worker['wtype'],
- ]);
- }
- }
- public function otherForm()
- {
- $worker_data = Session::get('access_worker');
- $id = input('id/d, 0');
- $demand = DemandOtherModel::where('workerid', $worker_data['id'])->findOrEmpty($id);
- $catelist = DemandCateModel::order(['priority' => 'desc', 'id' => 'desc'])->select();
- return view('demand/otherform', [
- 'catelist' => $catelist,
- 'demand' => $demand,
- 'title' => $worker_data['title'],
- ]);
- }
- public function editOther()
- {
- $worker_data = Session::get('access_worker');
- $id = input('id/d', 0);
- $wtype = input('wtype/d', 1);
- $type = input('type/d', 1);
- $zwagall = $wtype == 1 ? input('zwagall/s', "") : '';
- $data = [
- 'workerid' => input('workerid/d', 0),
- 'title' => input('title/s', ""),
- 'cateid' => input('cateid/d', 0),
- 'province' => input('province/s', ""),
- 'city' => input('city/s', ""),
- 'district' => input('district/s', ""),
- 'agegroup' => input('agegroup/s', ""),
- 'tags' => input('tags/a', []),
- 'enddate' => input('enddate/s', ""),
- 'requirement' => input('requirement/s', ""),
- 'comdetails' => input('comdetails/s', ""),
- 'type' => $type,
- 'wtype' => $wtype,
- 'bwagall' => input('bwagall/s', ""),
- 'zwagall' => $zwagall,
- 'ftype' => input('ftype/d', 1),
- 'fwagall' => input('fwagall/s', ""),
- 'telephone' => input('telephone/s', ""),
- 'remark' => input('remark/s', ""),
- 'status' => input('status/d', 1),
- 'isfree' => input('isfree/d', 1),
- 'priority' => input('priority/d', 0),
- 'updatetime' => input('updatetime/s', ""),
- 'createtime' => input('createtime/s', ""),
- 'volume' => input('volume/d', 0),
- 'company_name' => input('remark/s', ""),
- 'company_contact' => input('remark/s', ""),
- 'company_mobile' => input('remark/s', ""),
- ];
- try {
- validate(DemandValidate::class)->check($data);
- } catch (ValidateException $e) {
- exit(json_encode([
- 'code' => 1,
- 'msg' => $e->getError(),
- ]));
- }
- if (empty($id)) {
- $data['workerid'] = $worker_data['id'];
- $data['telearr'] = [];
- $data['video'] = input('new_video/s', "");
- DemandOtherModel::create($data);
- } else {
- $old_video = input('old_video/s', '');
- $new_video = input('new_video/s', '');
- if (!empty($new_video)) {
- $data['video'] = $new_video;
- } else {
- if (!empty($old_video)) {
- $data['video'] = $old_video;
- }
- }
- $demand = DemandOtherModel::find($id);
- $demand->save($data);
- }
- exit(json_encode([
- 'code' => 0,
- ]));
- }
- // 企业招聘
- public function allhall()
- {
- if (Request::isAjax()) {
- $limit = input('limit/d', 20);
- $page = input('page/d', 1);
- $map = [];
- $map[] = ['status', '=', 3];
- $keywords = input('keywords/s', "");
- if (!empty($keywords)) {
- $map[] = ['title', 'like', '%' . $keywords . '%'];
- }
- $cateid = input('cateid/d', 0);
- if (!empty($cateid)) {
- $map[] = ['cateid', '=', $cateid];
- }
- $wtype = input('wtype/d');
- if (!empty($wtype)) {
- $map[] = ['wtype', '=', $wtype];
- }
- $ftype = input('ftype/d');
- if (!empty($ftype)) {
- $map[] = ['ftype', '=', $ftype];
- }
- $isfree = input('isfree/d', 0);
- if (!empty($isfree)) {
- $map[] = ['isfree', '=', $isfree];
- }
- $list = DemandModel::with(['worker', 'demandCate'])
- ->withCount(['demandLog'])
- ->where($map)
- ->order(['priority' => 'desc', 'id' => 'desc',])
- ->limit($limit)
- ->page($page)
- ->append(['wtype_text', 'ftype_text', 'status_text', 'isfree_text'])
- ->select();
- $count = DemandModel::where($map)->count();
- if ($count == 0) {
- exit(json_encode([
- 'code' => 1,
- 'msg' => "未查询到数据",
- ]));
- }
- exit(json_encode([
- 'code' => 0,
- 'msg' => "",
- 'count' => $count,
- 'data' => $list,
- ]));
- } else {
- $catelist = DemandCateModel::order(['priority' => 'desc', 'id' => 'desc'])->select();
- $param = ParamModel::where(1)->findOrEmpty();
- return view('demand/allhall', [
- 'param' => $param,
- 'catelist' => $catelist,
- ]);
- }
- }
- public function snatchDemand()
- {
- $id = input('id/d', 0);
- if (empty($id)) {
- exit(json_encode([
- 'code' => 1,
- 'msg' => "未查询到数据",
- ]));
- }
- if (Request::isAjax()) {
- //数据校验
- $num = input('num/d', 0);
- if ($num <= 0) {
- exit(json_encode([
- 'code' => 1,
- 'msg' => "抢单人数必须大于等于0",
- ]));
- }
- $demand = DemandModel::find($id);
- if (empty($demand)) {
- exit(json_encode([
- 'code' => 1,
- 'msg' => "订单不存在 ",
- ]));
- }
- if ($demand != 3) {
- exit(json_encode([
- 'code' => 1,
- 'msg' => "订单已结束",
- ]));
- }
- $total = DemandSnatchModel::where('status', '>', 1)->where('demand_id', $id)->sum('num');
- $remain = $demand['num'] - $total;
- if ($demand['num'] - $total < $num) {
- exit(json_encode([
- 'code' => 1,
- 'msg' => "订单剩余{$remain}人,请输入该人数以下的值",
- ]));
- }
- //抢单
- $worker_data = Session::get('access_worker');
- DemandSnatchModel::create([
- 'demand_id' => $id,
- 'worker_id' => $worker_data['id'],
- 'num' => $num,
- 'status' => 1,
- 'createtime' => date("Y-m-d H:i:s"),
- ]);
- if (($demand['num'] - $total) == $num) {
- $demand->status = 4;
- $demand->save();
- }
- exit(json_encode(['code' => 0]));
- } else {
- return view('demand/snatchDemand', [
- 'id' => $id,
- ]);
- }
- }
- public function roblist()
- {
- if (Request::isAjax()) {
- $limit = input('limit/d', 20);
- $page = input('page/d', 1);
- $worker_data = Session::get('access_worker');
- $map = [['worker_id', '=', $worker_data['id']]];
- $status = input('status/d', 0);
- if (!empty($status)) {
- $map[] = ['status', '=', $status];
- }
- $list = DemandSnatchModel::with(['demand', 'demand.worker'])
- ->where($map)
- ->order(['id' => 'desc'])
- ->limit($limit)
- ->page($page)
- ->append(['status_text'])
- ->select();
- $count = DemandSnatchModel::where($map)->count();
- if ($count == 0) {
- exit(json_encode([
- 'code' => 1,
- 'msg' => "未查询到数据",
- ]));
- }
- exit(json_encode([
- 'code' => 0,
- 'msg' => "",
- 'count' => $count,
- 'data' => $list,
- ]));
- } else {
- return view('demand/roblist');
- }
- }
- public function demandDetail()
- {
- $id = input('id/d, 0');
- if (empty($id)) {
- return '未查询到数据';
- }
- $demand = DemandModel::with(['worker', 'demand_cate'])->findOrEmpty($id);
- if ($demand->isEmpty()) {
- return '未查询到数据';
- }
- $typelist = [1 => '代招', 2 => '劳务派遣'];
- $wtypelist = [1 => '按月', 2 => '按时', 3 => '按件', 4 => '按项目', 5 => '其他'];
- $ftypelist = [1 => '一次性', 2 => '小时工', 3 => '管理费', 4 => '其他'];
- $statuslist = [1 => '待修改', 2 => '待审核', 3 => '已上架', 4 => '已停招', 5 => '已下架'];
- return view('demand/demanddetail', [
- 'demand' => $demand,
- 'typelist' => $typelist,
- 'wtypelist' => $wtypelist,
- 'ftypelist' => $ftypelist,
- 'statuslist' => $statuslist,
- ]);
- }
- public function report()
- {
- $id = input('id/d', 0);
- if (empty($id)) {
- return '未查询到数据';
- }
- if (Request::isAjax()) {
- //订单信息
- $snatch = DemandSnatchModel::with('demand')->find($id);
- if (empty($snatch)) {
- exit(json_encode([
- 'code' => 1,
- 'msg' => "订单不存在",
- ]));
- }
- if ($snatch['status'] != 2) {
- exit(json_encode([
- 'code' => 1,
- 'msg' => "该订单暂时无法报备",
- ]));
- }
- $snatch_num = DemandReportModel::where('snatchid', $id)->count();
- if ($snatch_num >= $snatch['num']) {
- exit(json_encode([
- 'code' => 1,
- 'msg' => "人数已满",
- ]));
- }
- $mobile = input('mobile/s', '');
- $idcard = input('idcard/s', '');
- $check = DemandReportModel::where('snatchid', $id)->where('mobile', $mobile)->whereOr('idcard', $idcard)->find();
- if (!empty($check)) {
- exit(json_encode([
- 'code' => 1,
- 'msg' => "该手机号或身份证号已报备,请勿重复",
- ]));
- }
- DemandReportModel::create([
- 'demandid' => $snatch['demand_id'],
- 'snatchid' => $id,
- 'workerid' => $snatch['demand']['workerid'],
- 'realname' => input('realname/s', ''),
- 'mobile' => $mobile,
- 'idcard' => $idcard,
- 'arrivetime' => input('arrivetime/s', ''),
- 'remark' => input('remark/s', ''),
- 'createtime' => time(),
- ]);
- if ($snatch_num + 1 == $snatch['num']) {
- $snatch->status == 3;
- $snatch->save();
- }
- exit(json_encode(['code' => 0]));
- } else {
- return view('demand/report', [
- 'id' => $id,
- ]);
- }
- }
- public function reportLog()
- {
- $id = input('id/d', 0);
- if (empty($id)) {
- return '未查询到数据';
- }
- if (Request::isAjax()) {
- $limit = input('limit/d', 20);
- $page = input('page/d', 1);
- $map = [['snatchid', '=', $id]];
- $map = $this->dealLikeInput($map, ['realname', 'mobile', 'idcard']);
- $list = DemandReportModel::with(['agent', 'broker'])
- ->where($map)
- ->order(['id' => 'desc'])
- ->limit($limit)
- ->page($page)
- ->select();
- $count = DemandReportModel::where($map)->count();
- if ($count == 0) {
- exit(json_encode([
- 'code' => 1,
- 'msg' => "未查询到数据",
- ]));
- }
- exit(json_encode([
- 'code' => 0,
- 'msg' => "",
- 'count' => $count,
- 'data' => $list,
- ]));
- } else {
- return view('demand/reportlog', [
- 'id' => $id,
- ]);
- }
- }
- public function snatchDetailList()
- {
- $id = input('id/d', 0);
- if (empty($id)) {
- return '未查询到数据';
- }
- if (Request::isAjax()) {
- $limit = input('limit/d', 20);
- $page = input('page/d', 1);
- $map = [['demand_id', '=', $id], ['status', '>', 1]];
- $list = DemandSnatchModel::with(['worker'])
- ->where($map)
- ->order(['id' => 'desc'])
- ->limit($limit)
- ->page($page)
- ->select();
- if (!$list->isEmpty()) {
- foreach ($list as $v) {
- $v['snatch_num'] = DemandReportModel::where('snatchid', $v['id'])->count();
- }
- }
- $count = DemandSnatchModel::where($map)->count();
- if ($count == 0) {
- exit(json_encode([
- 'code' => 1,
- 'msg' => "未查询到数据",
- ]));
- }
- exit(json_encode([
- 'code' => 0,
- 'msg' => "",
- 'count' => $count,
- 'data' => $list,
- ]));
- } else {
- return view('demand/snatchdetaillist', ['id' => $id]);
- }
- }
- }
|