package com.zy.bms.service; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.zy.bms.common.exception.ApiRuntimeException; import com.zy.bms.mapper.SetBaseMapper; import com.zy.bms.model.SetBase; import org.springframework.stereotype.Service; /** * 其他设置相关 * * @author chenyi * Create on 2020/4/10 */ @Service public class SetBaseService extends ServiceImpl { /** * 后台 * 获取全部的设置信息 * * @param deviceId 设备ID */ public SetBase getByDeviceId(String deviceId) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("deviceId", deviceId); return baseMapper.selectOne(queryWrapper); } /** * 设备刚注册时,调用此方法,初始化创建设置相关关联关系 * * @param deviceId 设备ID */ public void initSetBase(String deviceId) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("deviceId", deviceId); SetBase setBase = new SetBase(); setBase.setDeviceId(deviceId); this.saveOrUpdate(setBase, queryWrapper); } /** * 获取音量设置信息 */ public SetBase getVolumeSet(String deviceId) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.select("deviceId", "msgVol", "phoneVol", "ringVol"); queryWrapper.eq("deviceId", deviceId); return baseMapper.selectOne(queryWrapper); } /** * 获取SOS设置信息 */ public SetBase getSosSet(String deviceId) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.select("deviceId", "key0Name", "key0Phone", "key1Name", "key1Phone", "key2Name", "key2Phone"); queryWrapper.eq("deviceId", deviceId); return baseMapper.selectOne(queryWrapper); } /** * 获取其他设置设置信息 */ public SetBase getOtherSet(String deviceId) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.select("deviceId", "autoAnswer", "gpsRate", "highFreq"); queryWrapper.eq("deviceId", deviceId); return baseMapper.selectOne(queryWrapper); } /** * 通过设备ID 更新设备信息 * * @param entity 设备实体类 */ public void updateByDeviceId(SetBase entity) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("deviceId", entity.getDeviceId()); if (baseMapper.update(entity, queryWrapper) < 1) { throw new ApiRuntimeException("更新设备设置信息失败"); } } }