123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181 |
- <?php
- namespace app\common\model;
- use think\Model;
- /**
- * 手环信息
- *
- * @author wj
- * @date 2023-08-19
- */
- class ShinfoModel extends Model
- {
- protected $table = "t_shouhuan_info";
- public function insertData($data)
- {
- $data = $this->formatData($data);
- if (empty($data)) {
- return false;
- }
- $id = $this->insertGetId($data);
- return $id ? $id : false;
- }
- public function getList($where = [], $field = "*", $page = 1, $size = 10, $order = "id desc", $group = "", $row = false)
- {
- $sqlObj = $this->where($where);
- if ("count" != $field) {
- if (empty($size)) {
- $sqlObj = $sqlObj->field($field)->order($order)->group($group);
- } else {
- $sqlObj = $sqlObj->field($field)->order($order)->group($group)->page($page, $size);
- }
- if ($row) {
- $data = $sqlObj->find();
- } else {
- $data = $sqlObj->select();
- }
- } else {
- $data = $sqlObj->count();
- }
- return $data;
- }
- /**
- * 根据id删除信息
- *
- * @param [type] $id
- * @return void
- * @author wj
- * @date 2023-08-14
- */
- public function deleteinfobyid($id)
- {
- $where = ['id' => $id];
- $row = $this->where($where)->delete();
- return empty($row) ? false : $row;
- }
- public function updateinfo($where, $updateData)
- {
- $updateData = $this->formatData($updateData);
- $row = $this->where($where)->update($updateData);
- return empty($row) ? false : $row;
- }
- private function formatData($data)
- {
- $useData = [];
- $fields = $this->getTableFields();
- foreach ($data as $key => $value) {
- if (in_array($key, $fields)) {
- $useData[$key] = $value;
- }
- }
- return $useData;
- }
- 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;
- }
- /**
- * 格式化信息
- *
- * @return void
- * @author wj
- * @date 2023-08-15
- */
- public function formatinfo($data)
- {
- //血压
- if (isset($data['blood_height_pressure']) || isset($data['blood_low_pressure'])) {
- $data['blood_update_time'] = date('Y-m-d H:i:s');
- }
- //心率
- if (isset($data['heart_rate'])) {
- $data['heart_update_time'] = date('Y-m-d H:i:s');
- }
- //血养
- if (isset($data['oxygen'])) {
- $data['oxygen_update_time'] = date('Y-m-d H:i:s');
- }
- //体温
- if (isset($data['temp'])) {
- $data['temp_update_time'] = date('Y-m-d H:i:s');
- }
- //gps
- if (isset($data['gps_long']) || isset($data['gps_lat'])) {
- $data['gps_update_time'] = date('Y-m-d H:i:s');
- }
- //电量
- if (isset($data['electric_quantity'])) {
- $data['electric_quantity_update_time'] = date('Y-m-d H:i:s');
- }
- //步数
- if (isset($data['step_number'])) {
- $data['step_number_update_time'] = date('Y-m-d H:i:s');
- }
- //翻滚数
- if (isset($data['roll_number'])) {
- $data['roll_number_update_time'] = date('Y-m-d H:i:s');
- }
- //终端状态
- if (isset($data['terminal_status'])) {
- $data['terminal_status_update_time'] = date('Y-m-d H:i:s');
- }
- return $data;
- }
- /**
- * 获取下线时间验证列表
- *
- * @return void
- * @author wj
- * @date 2023-08-21
- */
- public function getcheckupdatetimelist()
- {
- //判断时长1分钟
- $time = date('Y-m-d H:i:s');
- $sql = "select * from " . $this->table . " where TIMESTAMPDIFF(MINUTE, updatetime, '" . $time . "')>1 and online_statis=1";
- $list = $this->query($sql);
- return $list;
- }
- /**
- * 设置上线信息
- *
- * @param [type] $ids
- * @return void
- * @author wj
- * @date 2023-08-21
- */
- public function setonlineinfobyid($id)
- {
- $updateData = [
- 'online_statis' => 1,
- 'onlinetime' => date('Y-m-d H:i:s'),
- ];
- $where = ['id' => $id];
- $row = $this->where($where)->update($updateData);
- }
- /**
- * 设置下线信息
- *
- * @param [type] $ids
- * @return void
- * @author wj
- * @date 2023-08-21
- */
- public function setofflineinfobyids($ids)
- {
- $updateData = [
- 'online_statis' => 0,
- 'offlinetime' => date('Y-m-d H:i:s'),
- ];
- $where = ['id' => ['in', $ids]];
- $row = $this->where($where)->update($updateData);
- }
- }
|