package com.huimv.admin.service.impl; import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.huimv.admin.common.utils.DataUill; import com.huimv.admin.common.utils.Result; import com.huimv.admin.common.utils.ResultCode; import com.huimv.admin.entity.GasData; import com.huimv.admin.entity.vo.GasDataVo; import com.huimv.admin.mapper.GasDataMapper; import com.huimv.admin.service.IGasDataService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.servlet.http.HttpServletRequest; import java.util.Date; import java.util.LinkedList; import java.util.List; import java.util.Map; /** *

* 服务实现类 *

* * @author author * @since 2023-02-21 */ @Service public class GasDataServiceImpl extends ServiceImpl implements IGasDataService { @Autowired private GasDataMapper dataMapper; @Override public Result list(HttpServletRequest httpServletRequest, Map paramsMap) { String farmId = paramsMap.get("farmId"); String date = paramsMap.get("time"); String displayType = paramsMap.get("displayType"); if (StringUtils.isBlank(displayType)){ displayType = "0"; } QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("display_type",Integer.parseInt(displayType)); queryWrapper.eq("farm_id", farmId); if (farmId.equals("22")) { if (date == null || date == "") { queryWrapper.orderByAsc("create_time"); } else { String startTime = date + " 00:00:00"; String endTime = date + " 23:59:59"; queryWrapper.between("create_time", startTime, endTime).orderByAsc("create_time"); } List gasData = dataMapper.selectList(queryWrapper); GasDataVo gasDataVo = new GasDataVo(); List gasDataList = new LinkedList<>(); List gasDataList1 = new LinkedList<>(); List gasDataList2 = new LinkedList<>(); List gasDataList3 = new LinkedList<>(); for (GasData gasDatum : gasData) { if (gasDatum.getLoctionType() == 1) { gasDataList.add(gasDatum); } else if (gasDatum.getLoctionType() == 2) { gasDataList1.add(gasDatum); } else if (gasDatum.getLoctionType() == 3) { gasDataList2.add(gasDatum); } else if (gasDatum.getLoctionType() == 4) { gasDataList3.add(gasDatum); } } gasDataVo.setPigpen(gasDataList); gasDataVo.setAbove(gasDataList1); gasDataVo.setUnder(gasDataList2); gasDataVo.setPeople(gasDataList3); return new Result(ResultCode.SUCCESS,gasDataVo); }else { if (date == null || date == "") { DateTime dateTime = DateUtil.beginOfDay(new Date()); date = dateTime.toString(); queryWrapper.ge("create_time", date).orderByAsc("create_time"); } else { String startTime = date + " 00:00:00"; String endTime = date + " 23:59:59"; queryWrapper.between("create_time", startTime, endTime).orderByAsc("create_time"); } List gasData = dataMapper.selectList(queryWrapper); GasDataVo gasDataVo = new GasDataVo(); List gasDataList = new LinkedList<>(); List gasDataList1 = new LinkedList<>(); List gasDataList2 = new LinkedList<>(); List gasDataList3 = new LinkedList<>(); for (GasData gasDatum : gasData) { if (gasDatum.getLoctionType() == 1) { gasDataList.add(gasDatum); } else if (gasDatum.getLoctionType() == 2) { gasDataList1.add(gasDatum); } else if (gasDatum.getLoctionType() == 3) { gasDataList2.add(gasDatum); } else if (gasDatum.getLoctionType() == 4) { gasDataList3.add(gasDatum); } } gasDataVo.setPigpen(gasDataList); gasDataVo.setAbove(gasDataList1); gasDataVo.setUnder(gasDataList2); gasDataVo.setPeople(gasDataList3); return new Result(ResultCode.SUCCESS,gasDataVo); } } @Override public Result listArea(HttpServletRequest httpServletRequest, Map paramsMap) { String farmId = paramsMap.get("farmId"); String displayType = paramsMap.get("displayType"); JSONObject jsonObject = new JSONObject(); if (StringUtils.isBlank(displayType)){ displayType = "0"; } QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("display_type",Integer.parseInt(displayType)); queryWrapper.eq("farm_id", farmId).eq("loction_type", 1).orderByDesc("create_time") .last(" limit 1"); GasData gasData = dataMapper.selectOne(queryWrapper); if (ObjectUtil.isEmpty(gasData)){ jsonObject.put("pigpen", new GasData()); }else { jsonObject.put("pigpen", gasData); } QueryWrapper queryWrapper2 = new QueryWrapper<>(); queryWrapper2.eq("display_type",Integer.parseInt(displayType)); queryWrapper2.eq("farm_id", farmId).eq("loction_type", 2).orderByDesc("create_time") .last(" limit 1"); GasData gasData2 = dataMapper.selectOne(queryWrapper2); if (ObjectUtil.isEmpty(gasData2)){ jsonObject.put("above", new GasData()); }else { jsonObject.put("above", gasData2); } QueryWrapper queryWrapper3 = new QueryWrapper<>(); queryWrapper3.eq("display_type",Integer.parseInt(displayType)); queryWrapper3.eq("farm_id", farmId).eq("loction_type", 3).orderByDesc("create_time") .last(" limit 1"); GasData gasData3 = dataMapper.selectOne(queryWrapper3); if (ObjectUtil.isEmpty(gasData3)){ jsonObject.put("under", new GasData()); }else { jsonObject.put("under", gasData3); } QueryWrapper queryWrapper4 = new QueryWrapper<>(); queryWrapper4.eq("display_type",Integer.parseInt(displayType)); queryWrapper4.eq("farm_id", farmId).eq("loction_type", 4).orderByDesc("create_time") .last(" limit 1"); GasData gasData4 = dataMapper.selectOne(queryWrapper4); if (ObjectUtil.isEmpty(gasData4)){ jsonObject.put("people", new GasData()); }else { jsonObject.put("people", gasData4); } return new Result(ResultCode.SUCCESS, jsonObject); } }