package com.moral.api.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.moral.api.entity.Device;
import com.moral.api.entity.DeviceAdjustValue;
import com.moral.api.entity.Sensor;
import com.moral.api.mapper.DeviceAdjustValueMapper;
import com.moral.api.mapper.DeviceMapper;
import com.moral.api.mapper.SensorMapper;
import com.moral.api.service.DeviceAdjustValueService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.moral.api.util.LogUtils;
import com.moral.constant.Constants;
import com.moral.constant.ResponseCodeEnum;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.Map;
/**
*
* 服务实现类
*
*
* @author moral
* @since 2021-06-07
*/
@Service
public class DeviceAdjustValueServiceImpl extends ServiceImpl implements DeviceAdjustValueService {
@Autowired(required = false)
private DeviceAdjustValueMapper deviceAdjustValueMapper;
@Autowired(required = false)
private DeviceMapper deviceMapper;
@Autowired(required = false)
private SensorMapper sensorMapper;
@Autowired
LogUtils logUtils;
@Override
@Transactional
public Map insertOne(DeviceAdjustValue deviceAdjustValue) {
Map resultMap = new HashMap<>();
if (ObjectUtils.isEmpty(deviceAdjustValue.getMac())){
resultMap.put("code",ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode());
resultMap.put("msg",ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
return resultMap;
}
if (ObjectUtils.isEmpty(deviceAdjustValue.getValue())||deviceAdjustValue.getValue().equals("")){
resultMap.put("code",ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode());
resultMap.put("msg",ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
return resultMap;
}
QueryWrapper wrapper_device = new QueryWrapper<>();
wrapper_device.eq("is_delete",Constants.NOT_DELETE);
wrapper_device.eq("mac",deviceAdjustValue.getMac());
if (deviceMapper.selectCount(wrapper_device)==0){
resultMap.put("code",ResponseCodeEnum.DEVICE_IS_NULL.getCode());
resultMap.put("msg",ResponseCodeEnum.DEVICE_IS_NULL.getMsg());
return resultMap;
}
QueryWrapper wrapper_sensor = new QueryWrapper<>();
wrapper_sensor.eq("is_delete",Constants.NOT_DELETE);
wrapper_sensor.eq("code",deviceAdjustValue.getSensorCode());
if (sensorMapper.selectCount(wrapper_sensor)==0){
resultMap.put("code",ResponseCodeEnum.SENSOR_IS_NOT_EXIST.getCode());
resultMap.put("msg",ResponseCodeEnum.SENSOR_IS_NOT_EXIST.getMsg());
return resultMap;
}
deviceAdjustValueMapper.insert(deviceAdjustValue);
//操作插入日志
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
String content = "添加校准值:"+deviceAdjustValue+";";
logUtils.saveOperationForManage(request,content,Constants.INSERT_OPERATE_TYPE);
resultMap.put("code", ResponseCodeEnum.SUCCESS.getCode());
resultMap.put("msg", ResponseCodeEnum.SUCCESS.getMsg());
return resultMap;
}
}