package com.huimv.admin.service.impl; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.huimv.admin.common.utils.DataUill; import com.huimv.admin.common.utils.DateUtil; import com.huimv.admin.common.utils.Result; import com.huimv.admin.common.utils.ResultCode; import com.huimv.admin.entity.FeedingData; import com.huimv.admin.entity.FeedingEnv; import com.huimv.admin.entity.vo.FeedDataVo2; import com.huimv.admin.mapper.FeedingDataMapper; import com.huimv.admin.mapper.FeedingEnvMapper; import com.huimv.admin.service.IFeedingDataService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; import java.util.Map; /** *

* 服务实现类 *

* * @author author * @since 2023-09-19 */ @Service public class FeedingDataServiceImpl extends ServiceImpl implements IFeedingDataService { @Autowired private FeedingDataMapper dataMapper; @Autowired private FeedingEnvMapper envMapper; @Override public Result listFeed(Map paramsMap) { String farmId = paramsMap.get("farmId"); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("farm_id", farmId); List dataVo2s = dataMapper.listDayFeed(queryWrapper); for (FeedDataVo2 dataVo2 : dataVo2s) { Date dateTime = dataVo2.getDateTime(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); String format = sdf.format(dateTime); String start = format + " 00:00:00"; String end = format + " 23:59:59"; QueryWrapper queryWrapper1 = new QueryWrapper<>(); queryWrapper1.eq("farm_id", farmId).between("upload_time", start, end); queryWrapper1.groupBy("device_code"); List feedingData = dataMapper.selectList(queryWrapper1); dataVo2.setCount(feedingData.size()); } return new Result(ResultCode.SUCCESS, dataVo2s); } @Override public Result listPig(Map paramsMap) { String farmId = paramsMap.get("farmId"); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("farm_id", farmId).eq("device_type", 0); Integer integer = envMapper.selectCount(queryWrapper);//哺乳 QueryWrapper queryWrapper1 = new QueryWrapper<>(); queryWrapper1.eq("farm_id", farmId).eq("device_type", 1); Integer integer1 = envMapper.selectCount(queryWrapper);//配怀 Date timesmorning = DataUill.getTimesmorning(); QueryWrapper queryWrapper2 = new QueryWrapper<>(); queryWrapper2.eq("farm_id", farmId).ge("upload_time", timesmorning).groupBy("device_code"); Integer integer2 = dataMapper.selectCount(queryWrapper2);//头数 JSONObject jsonObject = new JSONObject(); jsonObject.put("peihuai", integer1); jsonObject.put("buru", integer); jsonObject.put("oneHour", integer2); jsonObject.put("threeHour", integer2); jsonObject.put("allHour", integer1 + integer); return new Result(ResultCode.SUCCESS, jsonObject); } @Override public Result listEnv(Map paramsMap) { String farmId = paramsMap.get("farmId"); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("farm_id", farmId).orderByDesc("last_time").groupBy("device_code"); List feedingEnvs = envMapper.selectList(queryWrapper); return new Result(ResultCode.SUCCESS, feedingEnvs); } @Override public Result listMeals(Map paramsMap) { String farmId = paramsMap.get("farmId"); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("farm_id", farmId).groupBy("device_code").eq("meals", 0); List feedingData = dataMapper.selectList(queryWrapper); QueryWrapper queryWrapper2 = new QueryWrapper<>(); queryWrapper2.eq("farm_id", farmId).groupBy("device_code").eq("meals", 1); List feedingData2 = dataMapper.selectList(queryWrapper2); QueryWrapper queryWrapper3 = new QueryWrapper<>(); queryWrapper3.eq("farm_id", farmId).groupBy("device_code").eq("meals", 2); List feedingData3 = dataMapper.selectList(queryWrapper3); JSONObject jsonObject = new JSONObject(); jsonObject.put("first", feedingData.size()); jsonObject.put("second", feedingData2.size()); jsonObject.put("third", feedingData3.size()); jsonObject.put("huai", feedingData.size()); jsonObject.put("yun", feedingData2.size()); return new Result(ResultCode.SUCCESS, jsonObject); } }