gasWellWatch/src/main/java/com/isu/gaswellwatch/service/impl/DeviceOptLogServiceImpl.java

61 lines
2.6 KiB
Java
Raw Normal View History

2024-11-26 18:46:34 +08:00
package com.isu.gaswellwatch.service.impl;
import cn.dev33.satoken.stp.StpUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.isu.gaswellwatch.config.SnowflakeConfig;
import com.isu.gaswellwatch.constants.UserConstant;
import com.isu.gaswellwatch.dao.DeviceDao;
import com.isu.gaswellwatch.dao.DeviceOptLogDao;
import com.isu.gaswellwatch.entity.DeviceOptLog;
import com.isu.gaswellwatch.service.*;
import com.isu.gaswellwatch.vo.BlockVO;
import com.isu.gaswellwatch.vo.DeviceVO;
import com.isu.gaswellwatch.vo.UserLoginInfoVO;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
@Service("deviceOptLogService")
@Transactional(rollbackFor = Exception.class)
public class DeviceOptLogServiceImpl extends ServiceImpl<DeviceOptLogDao, DeviceOptLog> implements DeviceOptLogService {
@Resource
private DeviceOptLogDao deviceOptLogDao;
@Resource
private UserService userService;
@Resource
private DeviceDao deviceDao;
@Resource
private BlockService blockService;
@Resource
private SnowflakeConfig snowflakeConfig;
@Override
public void saveGasWellOptLog(Integer isOpen, Long deviceId) {
UserLoginInfoVO userLoginInfoVO = (UserLoginInfoVO) StpUtil.getTokenSession().get(UserConstant.TOKEN_SESSION);
DeviceVO deviceVO = deviceDao.getDeviceById(deviceId);
DeviceOptLog deviceOptLog = new DeviceOptLog();
deviceOptLog.setId(snowflakeConfig.snowflakeId());
deviceOptLog.setDeviceId(deviceId);
deviceOptLog.setUsername(userLoginInfoVO.getUserVO().getUsername());
deviceOptLog.setName(userLoginInfoVO.getUserVO().getNickname());
BlockVO blockVO = blockService.selectBlockById(deviceVO.getGasWell().getBlockId());
deviceOptLog.setBlock("苏里格气田-"+blockVO.getName());
deviceOptLog.setGasWell(deviceVO.getGasWell().getName());
deviceOptLog.setDeviceDetail(deviceVO.getDeviceType().getName()+"-"+deviceVO.getProduct().getName());
deviceOptLog.setGasStation(deviceVO.getGasStation());
String content = isOpen==null?"设置成功":(isOpen==1?"开井成功":"关井成功");
deviceOptLog.setContent(content);
deviceOptLogDao.insert(deviceOptLog);
}
@Override
public Page<DeviceOptLog> page(Page<DeviceOptLog> page, Date start, Date end, Long deviceId) {
return deviceDao.deviceOptLogPage(page, start, end, deviceId);
}
}