Exemplo n.º 1
0
 /**
  *计算某个经纬度的周围某段距离的范围SQL语句
  *
  *@param lng float 经度
  *@param lat float 纬度
  *@param distance float 该点所在圆的半径,该圆与此正方形内切,默认值为0.5千米
  *@return array $p_where
  */
 public static function returnWhereForDBToolAroundPoint($lng, $lat, $distance = 0.5)
 {
     $squares = W2Map::returnSquarePoint($lng, $lat, $distance);
     $p_where = array();
     $p_where['lat > \'%s\''] = $squares['right-bottom']['lat'];
     $p_where['lat < \'%s\''] = $squares['left-top']['lat'];
     $p_where['lng > \'%s\''] = $squares['left-top']['lng'];
     $p_where['lng < \'%s\''] = $squares['right-bottom']['lng'];
     return $p_where;
 }
Exemplo n.º 2
0
 public static function actionList()
 {
     //周本筛选
     if (W2HttpRequest::getRequestString('weekThis') == 1) {
         if (!empty(W2HttpRequest::getRequestString('weeks', false))) {
             $where = JobHandler::myCheckWeek(W2HttpRequest::getRequestString('weeks', false));
         } else {
             $where = JobHandler::getCheckedweek(Utility::getCurrentUserID());
         }
     }
     //附近筛选
     $lng = W2HttpRequest::getRequestFloat('lng');
     //经度
     $lat = W2HttpRequest::getRequestFloat('lat');
     //纬度
     if (!empty($lng) && !empty($lat)) {
         $point = W2Map::returnSquarePoint($lng, $lat, 1.5);
         $where_point = JobHandler::getPointWhere($point);
         if (!empty($where_point)) {
             $p_where['lat %s'] = $where_point["lat"];
             $p_where['lng %s'] = $where_point["lng"];
         }
     }
     $p_where = array();
     $p_where['id in (%s)'] = W2HttpRequest::getRequestArrayString('ids', false, true);
     if (!empty($where)) {
         $p_where['jobStartDate %s'] = $where;
     }
     $p_where['id'] = W2HttpRequest::getRequestInt('id');
     //
     $p_where['bossGenre'] = W2HttpRequest::getRequestInt('bossgenre');
     //雇主类型 1学生  11个人 21公司  31@bang 企业类型 22私营、23事业单位、24上市公司、25外资
     $p_where['jobType'] = W2HttpRequest::getRequestInt('jobtype');
     //任务类型 1事件型  2实习生型
     // $p_where['tagID']                        = W2HttpRequest::getRequestInt('tagid');//标签ID
     $p_where['userID'] = W2HttpRequest::getRequestInt('userid');
     //筛选用户ID
     $p_where['jobStartDate >= \'%s\''] = W2HttpRequest::getRequestDate('jobstartdatestart');
     //工作开始时间
     $p_where['jobStartDate < \'%s\''] = W2HttpRequest::getRequestDate('jobstartdateend');
     //工作开始时间
     $p_where['jobEndDate >= \'%s\''] = W2HttpRequest::getRequestDate('jobenddatestart');
     //工作结束时间
     $p_where['jobEndDate < \'%s\''] = W2HttpRequest::getRequestDate('jobenddateend');
     //工作结束时间
     $p_where['jobAreaID'] = W2HttpRequest::getRequestInt('jobareaid');
     //工作城市地区ID
     $p_where['address'] = W2HttpRequest::getRequestString('address', false);
     //地址
     $p_where['jobberCount'] = W2HttpRequest::getRequestInt('jobbercount');
     //招收人数
     $p_where['money'] = W2HttpRequest::getRequestFloat('money');
     //薪酬
     $p_where['advanceMoney'] = W2HttpRequest::getRequestFloat('advancemoney');
     //预付款金额
     $p_where['advanceType'] = W2HttpRequest::getRequestInt('advancetype');
     //预付款方式 0: 不存在  11:余额 21: 支付宝  31:微信  41:网银
     $p_where['advanceTime >= \'%s\''] = W2HttpRequest::getRequestDateTime('advancetimestart');
     //预付款时间
     $p_where['advanceTime < \'%s\''] = W2HttpRequest::getRequestDateTime('advancetimeend');
     //预付款时间
     $p_where['payType'] = W2HttpRequest::getRequestInt('paytype');
     //结算方式 0一次性结算 1日结 2周结 3月结
     $p_where['payDay'] = W2HttpRequest::getRequestInt('payday');
     //结算日期 每周x日 或 每月x日
     $p_where['description'] = W2HttpRequest::getRequestString('description', false);
     //任务介绍
     $p_where['feedbackType'] = W2HttpRequest::getRequestInt('feedbacktype');
     //汇报单位 1分钟 2小时 3天
     $p_where['feedbackRate'] = W2HttpRequest::getRequestInt('feedbackrate');
     //汇报频次
     $p_where['schoolIDs'] = W2HttpRequest::getRequestString('schoolids', false);
     //要求学校
     $p_where['professionalIDs'] = W2HttpRequest::getRequestString('professionalids', false);
     //要求专业
     $p_where['degreeTypes'] = W2HttpRequest::getRequestString('degreetypes', false);
     //要求学位
     $p_where['status'] = STATUS_NORMAL;
     //默认列表页只筛选STATUS_NORMAL状态的数据
     $p_where['jobStatus'] = W2HttpRequest::getRequestInt('jobstatus');
     //0: 不存在  11: 招募中 21: 进行中  31:已结束
     $p_where['createTime >= \'%s\''] = W2HttpRequest::getRequestDateTime('createtimestart');
     //创建时间
     $p_where['createTime < \'%s\''] = W2HttpRequest::getRequestDateTime('createtimeend');
     //创建时间
     $p_where['modifyTime >= \'%s\''] = W2HttpRequest::getRequestDateTime('modifytimestart');
     //修改时间
     $p_where['modifyTime < \'%s\''] = W2HttpRequest::getRequestDateTime('modifytimeend');
     //修改时间
     //根据权限不同,支持的筛选功能也可以不同
     switch ($auth = static::getAuthIfUserCanDoIt(Utility::getCurrentUserID(), 'list')) {
         case 'admin':
             //有管理权限
             $p_where['status'] = W2HttpRequest::getRequestInt('status', null, true, false, STATUS_NORMAL);
             //管理员可以筛选数据状态
         //管理员可以筛选数据状态
         case 'self':
             //作者
         //作者
         case 'normal':
             //正常用户
             //                 if ($auth == 'normal')
             //                 {
             //                     $p_where['userID']           = Utility::getCurrentUserID();//普通用户,默认只能筛选自己名下数据。
             //                 }
         //正常用户
         //                 if ($auth == 'normal')
         //                 {
         //                     $p_where['userID']           = Utility::getCurrentUserID();//普通用户,默认只能筛选自己名下数据。
         //                 }
         case 'draft':
             //未激活
         //未激活
         case 'pending':
             //待审禁言
         //待审禁言
         case 'disabled':
             //封号
         //封号
         case 'visitor':
             //游客
             break;
         default:
             return Utility::getArrayForResults(RUNTIME_CODE_ERROR_NO_AUTH, '您没有权限执行该操作');
             break;
     }
     $_order = W2HttpRequest::getRequestString('order', false, '');
     switch (strtolower($_order)) {
         case 'id':
         case 'userid':
             //发布用户ID
         //发布用户ID
         case 'bossgenre':
             //雇主类型 1学生  11个人 21公司  31@bang 企业类型 22私营、23事业单位、24上市公司、25外资
         //雇主类型 1学生  11个人 21公司  31@bang 企业类型 22私营、23事业单位、24上市公司、25外资
         case 'jobtype':
             //任务类型 1事件型  2实习生型
         //任务类型 1事件型  2实习生型
         case 'tagid':
             //标签ID
         //标签ID
         case 'jobstartdate':
             //工作开始时间
         //工作开始时间
         case 'jobenddate':
             //工作结束时间
         //工作结束时间
         case 'jobareaid':
             //工作城市地区ID
         //工作城市地区ID
         case 'address':
             //地址
         //地址
         case 'lng':
             //经度
         //经度
         case 'lat':
             //纬度
         //纬度
         case 'jobbercount':
             //招收人数
         //招收人数
         case 'money':
             //薪酬
         //薪酬
         case 'advancemoney':
             //预付款金额
         //预付款金额
         case 'advancetype':
             //预付款方式 0: 不存在  11:余额 21: 支付宝  31:微信  41:网银
         //预付款方式 0: 不存在  11:余额 21: 支付宝  31:微信  41:网银
         case 'advancetime':
             //预付款时间
         //预付款时间
         case 'paytype':
             //结算方式 0一次性结算 1日结 2周结 3月结
         //结算方式 0一次性结算 1日结 2周结 3月结
         case 'payday':
             //结算日期 每周x日 或 每月x日
         //结算日期 每周x日 或 每月x日
         case 'feedbacktype':
             //汇报单位 1分钟 2小时 3天
         //汇报单位 1分钟 2小时 3天
         case 'feedbackrate':
             //汇报频次
         //汇报频次
         case 'schoolids':
             //要求学校
         //要求学校
         case 'professionalids':
             //要求专业
         //要求专业
         case 'degreetypes':
             //要求学位
         //要求学位
         case 'status':
             //0: 不存在  1: 正常 2: 待审  3:草稿
         //0: 不存在  1: 正常 2: 待审  3:草稿
         case 'jobstatus':
             //0: 不存在  11: 招募中 21: 进行中  31:已结束
         //0: 不存在  11: 招募中 21: 进行中  31:已结束
         case 'createtime':
             //创建时间
         //创建时间
         case 'modifytime':
             //修改时间
             $p_order = $_order;
             break;
         case '':
         case 'default':
             $p_order = 'id';
             break;
         default:
             return Utility::getArrayForResults(RUNTIME_CODE_ERROR_PARAM, '请使用可选的排序方案。');
             break;
     }
     $p_countThis = -1;
     return static::aList($p_where, $p_order, $p_pageIndex = null, $p_pageSize = null, $p_countThis, $isDetail = false);
 }