package com.fdkankan.manage.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.fdkankan.manage.common.PageInfo; import com.fdkankan.manage.entity.*; import com.fdkankan.manage.mapper.IRtkUseLogMapper; import com.fdkankan.manage.service.IRtkUseLogService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.fdkankan.manage.vo.request.RtkInfoParam; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import java.util.HashMap; import java.util.List; import java.util.Set; import java.util.stream.Collectors; /** *

* 服务实现类 *

* * @author * @since 2024-07-22 */ @Service public class RtkUseLogServiceImpl extends ServiceImpl implements IRtkUseLogService { @Override public void saveLog(RtkInfo rtkInfo, String clientIP,Integer rtkAccountId,String cameraSn,RtkDevice rtkDevice) { RtkUseLog rtkUseLog = new RtkUseLog(); BeanUtils.copyProperties(rtkInfo,rtkUseLog); rtkUseLog.setId(null); rtkUseLog.setCreateTime(null); rtkUseLog.setUpdateTime(null); rtkUseLog.setVisitIp(clientIP); rtkUseLog.setRtkAccountId(rtkAccountId); rtkUseLog.setUseType(0); rtkUseLog.setCameraSn(cameraSn); rtkUseLog.setSgRtkSn(rtkDevice.getSgRtkSn()); this.save(rtkUseLog); } @Override public void saveLog(RtkDevice rtkDevice, String clientIP, RtkAccount rtkAccount,String cameraSn) { RtkUseLog rtkUseLog = new RtkUseLog(); rtkUseLog.setVisitIp(clientIP); rtkUseLog.setRtkSnCode(rtkDevice.getRtkSnCode()); rtkUseLog.setSgRtkSn(rtkDevice.getSgRtkSn()); rtkUseLog.setCameraSn(cameraSn); rtkUseLog.setUserName(rtkAccount.getUserName()); rtkUseLog.setPassword(rtkAccount.getPassword()); rtkUseLog.setIpAddr(rtkAccount.getIpAddr()); rtkUseLog.setMountPoint(rtkAccount.getMountPoint()); rtkUseLog.setPort(rtkAccount.getPort()); rtkUseLog.setOperator(rtkAccount.getOperator()); rtkUseLog.setRtkType(rtkDevice.getRtkType()); rtkUseLog.setAccountStatus(rtkAccount.getStatus()); rtkUseLog.setVisitIp(clientIP); rtkUseLog.setRtkAccountId(rtkAccount.getId()); rtkUseLog.setUseType(1); this.save(rtkUseLog); } @Override public void saveLog(RtkAccount rtkAccount) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(RtkUseLog::getUserName,rtkAccount.getUserName()); wrapper.eq(RtkUseLog::getUseType,0); wrapper.orderByDesc(RtkUseLog::getId); List logList = this.list(wrapper); if(logList.isEmpty()){ return; } RtkUseLog rtkUseLog = logList.get(0); rtkUseLog.setId(null); rtkUseLog.setUseType(1); rtkUseLog.setCreateTime(null); rtkUseLog.setUpdateTime(null); this.save(rtkUseLog); } @Override public RtkUseLog getByRtkSn(String rtkSnCode) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(RtkUseLog::getRtkSnCode,rtkSnCode); wrapper.orderByDesc(RtkUseLog::getId); List list = this.list(wrapper); if(list != null && !list.isEmpty()){ return list.get(0); } return null; } @Override public Object pageList(RtkInfoParam param) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); if(StringUtils.isNotBlank(param.getRtkSnCode())){ wrapper.like(RtkUseLog::getRtkSnCode,param.getRtkSnCode()); } if(StringUtils.isNotBlank(param.getCameraSn())){ wrapper.like(RtkUseLog::getCameraSn,param.getCameraSn()); } if(StringUtils.isNotBlank(param.getSgRtkSn())){ wrapper.like(RtkUseLog::getSgRtkSn,param.getSgRtkSn()); } if(StringUtils.isNotBlank(param.getUserName())){ wrapper.like(RtkUseLog::getUserName,param.getUserName()); } if(param.getUseType() !=null){ wrapper.eq(RtkUseLog::getUseType,param.getUseType()); } if(StringUtils.isNotBlank(param.getStartTime())&& StringUtils.isNotBlank(param.getEndTime()) ) { wrapper.between(RtkUseLog::getCreateTime,param.getStartTime(),param.getEndTime()); } wrapper.orderByDesc(RtkUseLog::getCreateTime); wrapper.orderByDesc(RtkUseLog::getId); Page page = this.page(new Page<>(param.getPageNum(), param.getPageSize()), wrapper); return PageInfo.PageInfo(page); } }