package com.hxzk.gps.service.impl.WarnTongJi;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.hxzk.gps.controller.System.SystemLogUtil;
import com.hxzk.gps.controller.Warning.dto.TableSearchResult.TableSearchResult;
import com.hxzk.gps.entity.WarnTongJi.WarnTongjiCompany;
import com.hxzk.gps.entity.Warning.TbWarning;
import com.hxzk.gps.mapper.WarnTongJi.WarnTongjiCompanyMapper;
import com.hxzk.gps.result.ListDataResult;
import com.hxzk.gps.result.ResultTable;
import com.hxzk.gps.result.table;
import com.hxzk.gps.service.WarnTongJi.WarnTongjiCompanyService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.hxzk.gps.util.GetUser.UserInfoUtil;
import com.hxzk.gps.util.MessageUtils.MessageUtils;
import com.hxzk.gps.util.Result.ReturnMessage;
import com.hxzk.gps.util.Time.TimeUtil;
import org.springframework.stereotype.Service;
import java.util.List;
/**
*
* 服务实现类
*
*
* @author YuZhiTong
* @since 2025-06-09
*/
@Service
public class WarnTongjiCompanyServiceImpl extends ServiceImpl implements WarnTongjiCompanyService {
@Override
public ResultTable FindWarningTongJiInfo(TableSearchResult TableSearchResult) {
QueryWrapper queryWrapper = new QueryWrapper<>();
queryWrapper.eq("company",UserInfoUtil.getUserCompany());
PageHelper.startPage(TableSearchResult.getTableList().getPageNum(),TableSearchResult.getTableList().getPageSize());
PageInfo info = new PageInfo<>(baseMapper.selectList(queryWrapper));
table achortable = new table<>(info.getList(),TableSearchResult.getTableList().getPageNum(),TableSearchResult.getTableList().getPageSize(),info.getTotal());
return ListDataResult.resultTableSuccess(achortable, MessageUtils.getMessage("Success"));
}
@Override
public Integer InsertWarnTongJi(String company) {
Integer count = 0;
for (WarnType warnType : WarnType.values()) {
WarnTongjiCompany warnTongjiCompany = new WarnTongjiCompany();
warnTongjiCompany.setCompany(company);
warnTongjiCompany.setTitle(warnType.getTitle());
switch (warnType.getTitle()){
case "SOS报警":
warnTongjiCompany.setIsshow(1);
break;
case "聚集报警":
warnTongjiCompany.setIsshow(1);
break;
case "越界报警":
warnTongjiCompany.setIsshow(1);
break;
case "进入报警":
warnTongjiCompany.setIsshow(1);
break;
case "离线人员":
warnTongjiCompany.setIsshow(1);
break;
case "在线人员":
warnTongjiCompany.setIsshow(1);
break;
case "在线车辆":
warnTongjiCompany.setIsshow(1);
break;
}
warnTongjiCompany.setDanwei(warnType.getDanwei());
warnTongjiCompany.setAddtime(warnType.getAddtime());
warnTongjiCompany.setIcon(warnType.getIcon());
baseMapper.insert(warnTongjiCompany);
count++;
}
return count;
}
@Override
public ReturnMessage update(WarnTongjiCompany warnTongjiCompany) {
/*
声明操作状态
* */
boolean isSuccess = false;
QueryWrapper queryWrapper = new QueryWrapper<>();
queryWrapper.eq("id",warnTongjiCompany.getId());
try {
isSuccess= true;
baseMapper.update(warnTongjiCompany,queryWrapper);
}catch (Exception e){
}
return SystemLogUtil.handleUpdateResult(isSuccess,"WarnTongJiUpdate",warnTongjiCompany.getTitle());
}
@Override
public List FindDayCountInfo() {
QueryWrapper queryWrapper = new QueryWrapper<>();
queryWrapper.eq("company",UserInfoUtil.getUserCompany());
queryWrapper.eq("isshow",1);
List warnTongjis = baseMapper.selectList(queryWrapper);
return warnTongjis;
}
enum WarnType {
STATIC_ALARM("静止报警", "条", TimeUtil.GetTime(),"jingzhibudong.png"),
SOS_ALARM("SOS报警", "人",TimeUtil.GetTime(),"sosimage.png"),
FALL_ALARM("跌落报警", "个",TimeUtil.GetTime(),"dieluo.png"),
PERSONNEL_SHORTAGE_ALARM("缺员报警", "条",TimeUtil.GetTime(),"queyuan.png"),
OVERCROWDED_ALARM("超员报警", "条",TimeUtil.GetTime(),"chaoyuan.png"),
GATHERING_ALARM("聚集报警", "条",TimeUtil.GetTime(),"jujiimage.png"),
BOUNDARY_ALARM("越界报警", "条",TimeUtil.GetTime(),"yujie.png"),
ENTER_ALARM("进入报警", "条",TimeUtil.GetTime(),"jinruimage.png"),
LOW_BATTERY_ALARM("低电报警", "条",TimeUtil.GetTime(),"lowpoer.png"),
OFFLINE_BASE_STATION("离线基站", "条",TimeUtil.GetTime(),"lixianjizhan.png"),
OFFLINE_PERSONNEL("离线人员", "人",TimeUtil.GetTime(),"lixianimage.png"),
OFFLINE_SUPPLIES("离线物资", "个",TimeUtil.GetTime(),"wuzilixian.png"),
OFFLINE_VEHICLE("离线车辆", "辆",TimeUtil.GetTime(),"lixiancheliang.png"),
ONLINE_PERSONNEL("在线人员", "人",TimeUtil.GetTime(),"zaixian.png"),
ONLINE_BASE_STATION("在线基站", "条",TimeUtil.GetTime(),"zaixianjizhan.png"),
MESSAGE_STATISTICS("报文统计", "条",TimeUtil.GetTime(),"baowentongji.png"),
ONLINE_VEHICLE("在线车辆", "辆",TimeUtil.GetTime(),"zaixiancar.png");
private final String title;
private final String danwei;
private final String addtime;
private final String icon;
WarnType(String title, String danwei, String addtime, String icon) {
this.title = title;
this.danwei = danwei;
this.addtime = addtime;
this.icon = icon;
}
public String getTitle() {
return title;
}
public String getDanwei() {
return danwei;
}
public String getAddtime() {
return addtime;
}
public String getIcon() {
return icon;
}
}
}