package com.fzzy.igds.app.v1.service.impl; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.fzzy.common.constant.RespCodeEnum; import com.fzzy.igds.app.v1.constant.PhoneConstant; import com.fzzy.igds.app.v1.data.AuthUser; import com.fzzy.igds.app.v1.data.ParamPatrol; import com.fzzy.igds.app.v1.data.PhoneRequest; import com.fzzy.igds.app.v1.data.PhoneResponse; import com.fzzy.igds.app.v1.dto.PSnapDto; import com.fzzy.igds.app.v1.service.PhoneService; import com.fzzy.igds.app.v1.util.PhoneRespUtil; import com.fzzy.igds.domain.*; import com.fzzy.igds.mapper.SnapRecordMapper; import com.fzzy.igds.mapper.WeighbridgeSnapMapper; import com.fzzy.igds.service.CoreDeptService; import com.fzzy.igds.service.FileService; import com.fzzy.igds.service.InoutConfService; import com.fzzy.igds.service.SecCameraService; import com.fzzy.igds.utils.ContextUtil; import com.fzzy.igds.utils.DateUtil; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.time.DateFormatUtils; import org.apache.commons.lang3.time.DateUtils; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.stream.Collectors; /** * @Author: YYC * @Description: 抓拍管理-抓拍记录列表 * @DateTime: 2026-1-12 14:43 **/ @Service public class ServiceImpl5108 implements PhoneService { @Resource private WeighbridgeSnapMapper weighbridgeSnapMapper; @Resource private CoreDeptService deptService; @Resource private InoutConfService inoutConfService; @Override public String getInterfaceId() { return PhoneConstant.API_PHONE_5108; } @Override public PhoneResponse execute(PhoneRequest req, AuthUser authUser) throws Exception { //转化对象 ParamPatrol param = JSONObject.parseObject(req.getData().toString(), ParamPatrol.class); if (null == param) { return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "参数有误,请重试!!"); } //参数验证 if (StringUtils.isEmpty(param.getDeptId())) { return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "参数有误,请重试!!"); } //参数验证 if (null == param.getDateTime()) { return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "参数有误,请重试!!"); } QueryWrapper queryWrapper = new QueryWrapper<>(); param.setCompanyId(ContextUtil.getCompanyId()); queryWrapper.eq("company_id", param.getCompanyId()); queryWrapper.likeRight("dept_id", param.getDeptId()); queryWrapper.ge("time", DateUtil.getCurZero(param.getDateTime())); queryWrapper.le("time", DateUtil.getNextZero(param.getDateTime())); List list = weighbridgeSnapMapper.selectList(queryWrapper); PSnapDto snapDto; Dept dept; List snapDtoList = new ArrayList<>(); List collect; //获取监控设备 List inoutConfs = inoutConfService.getInoutConfList(ContextUtil.getCompanyId(), param.getDeptId()); for (WeighbridgeSnap weighbridgeSnap : list) { snapDto = new PSnapDto(); BeanUtils.copyProperties(weighbridgeSnap, snapDto); //映射监控设备名称 collect = inoutConfs.stream().filter(camera -> camera.getId().equals(weighbridgeSnap.getSerId())).collect(Collectors.toList()); if (!collect.isEmpty()) { snapDto.setCameraId(collect.get(0).getName()); } dept = deptService.getDeptById(weighbridgeSnap.getDeptId()); snapDto.setDeptName(dept.getKqmc()); snapDtoList.add(snapDto); } return PhoneRespUtil.success(snapDtoList, req); } }