insertGetId($data); return empty($id) ? false : $id; } public function getInfo($where, $field = "*", $row = true) { $info = $this->field($field)->where($where); if ($row) { $info = $info->find(); } else { $info = $info->select(); } return empty($info) ? false : $info; } public function getList($where = [], $field = "*", $page = 1, $size = 10, $order = "id desc", $group = "", $row = false) { $sqlObj = $this->where($where); if ("count" != $field) { $sqlObj = $sqlObj->field($field)->order($order)->group($group)->page($page, $size); if ($row) { $data = $sqlObj->find(); } else { $data = $sqlObj->select(); } } else { $data = $sqlObj = $sqlObj->count(); } return $data; } public function updateinfo($where, $updateData) { $row = $this->where($where)->update($updateData); return empty($row) ? false : $row; } public function deleteinfo($where) { $row = $this->where($where)->delete(); return empty($row) ? false : $row; } public function incField($where, $field, $step = 1) { $row = $this->where($where)->setInc($field, $step); return empty($row) ? false : $row; } /* * 20211002 * 根据发布者ID获取清单 * 应用于发布者查看本人发布的消息 */ public function sellistbyuid($uid) { $where_arr['createuid'] = $uid; $rlist = $this->where($where_arr)->order('id', 'desc')->select(); $rlist = collection($rlist)->toArray(); return $rlist; } /** * 根据条件查询 */ public function getlistjoinuser($where, $field = "*", $page = 1, $size = 10, $order = "id desc", $group = "", $row = false) { $sql = $this->alias('i')->join('t_userinfo u', 'i.createuid=u.id')->join('t_webuser w', 'i.releaseid=w.id', 'LEFT'); $whereUse = []; if (isset($where['telno']) && !empty($where['telno'])) { $whereUse['u.telno'] = ['like', '%' . $where['telno'] . '%']; } if (isset($where['wname']) && !empty($where['wname'])) { $whereUse['u.wname'] = ['like', '%' . $where['wname'] . '%']; } if (isset($where['isactive']) && is_numeric($where['isactive'])) { $whereUse['i.isactive'] = $where['isactive']; } if (isset($where['ispass']) && is_numeric($where['ispass'])) { $whereUse['i.ispass'] = $where['ispass']; } if (isset($where['code']) && !empty($where['code'])) { $whereUse['i.code'] = ['like', '%' . $where['code'] . '%']; } if (isset($where['worktype']) && !empty($where['worktype'])) { $whereUse['i.worktype'] = $where['worktype']; } if (isset($where['release_user']) && !empty($where['release_user'])) { if ('null' == $where['release_user']) { $sql->whereNull('i.releaseid'); } else { $whereUse['w.user_name'] = ['like', '%' . $where['release_user'] . '%']; } } if (isset($where['createdate']) && is_array($where['createdate'])) { $whereUse['createdate'] = ['between', $where['createdate']]; } if ($field == 'count') { $data = $sql->where($whereUse)->count(); } else { $field = ['u.wname', 'u.telno', 'u.isactive', 'w.user_name release_user', 'i.*']; if ($row) { $data = $sql->where($whereUse)->field($field)->page($page, $size)->order($order)->find(); } else { $data = $sql->where($whereUse)->field($field)->page($page, $size)->order($order)->group($group)->select(); } } return empty($data) ? false : $data; } /** * 获取总数 * 20211117 * wj */ public function getcount() { $count = $this->where([])->count(); return $count; } /** * 获取分析数据 * 20211117 * wj */ public function statistics() { $sql = "select isactive,ispass,count(*) as count from " . $this->table . " group by isactive,ispass"; $list = $this->query("select * from (" . $sql . ") as t"); return $list; } /* * 20211130 * steelxu5 * 根据ID获取信息 */ public function selinfobyid($id) { $where_arr['id'] = $id; $rec = $this->where($where_arr)->find(); return $rec; } /*** * 移动端根据多个条件获取列表 * 20211215 * wj */ public function getlistbymultiplecondition($where = [], $page = 1, $size = 10, $order = "id desc") { //$whereUse = ['isactive=1', 'ispass=1']; $whereUse = []; if (!empty($where)) { foreach ($where as $key => $value) { if ('city' == $key) { $whereUse[] = "city like '%" . $value . "%'"; } if ('disc' == $key) { $whereUse[] = "disc like '%" . $value . "%'"; } if ('town' == $key) { $whereUse[] = "town like '%" . $value . "%'"; } if ('address' == $key) { $whereUse[] = "address like '%" . $value . "%'"; } if ('worktype' == $key) { $whereUse[] = "worktype like '%" . $value . "%'"; } if ('lng' == $key) { $value = (double) $value; $radii = (double) $where['radii']; $whereUse[] = "ABS(gps_lng-" . $value . ")<=" . $radii; } if ('lat' == $key) { $value = (double) $value; $radii = (double) $where['radii']; $whereUse[] = "ABS(gps_lat-" . $value . ")<=" . $radii; } if ('isactive' == $key) { $whereUse[] = "isactive='" . $value . "'"; } if ('ispass' == $key) { $whereUse[] = "ispass='" . $value . "'"; } } } $whereStr = implode(' and ', $whereUse); $index = ($page - 1) * $size; $sql = "select * from t_invent where " . $whereStr . " order by " . $order . " limit " . $index . ',' . $size; $list = $this->query("select * from (" . $sql . ") as t"); return $list; } /** * 获取一定时间内无联系数量 * 20211222 * wj */ public function getnocalldata($min = 5, $where = [], $count = false, $page = 1, $size = 10) { if (empty($min) || !is_numeric($min)) { $min = 5; } $sql = "select u.wname,u.telno,i.* from t_invent as i join t_userinfo as u on i.createuid=u.id where i.passtime>= now()-interval " . $min . " minute and i.concount<=0 and i.ispass=1 and i.isactive=1"; $whereUse = []; if (!empty($where)) { foreach ($where as $key => $value) { if ('wname' == $key) { $whereUse[] = "i.wname like '%" . $value . "%'"; } if ('telno' == $key) { $whereUse[] = "i.telno like '%" . $value . "%'"; } } } $whereStr = implode(' and ', $whereUse); if (!empty($whereStr)) { $sql .= ' where ' . $whereStr; } if ($count) { $list = $this->query("select count(*) count from (" . $sql . ") as t"); $count = $list[0]['count']; return $count; } $index = ($page - 1) * $size; $list = $this->query("select * from (" . $sql . ") as t limit " . $index . "," . $size); return $list; } }