123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- package com.fdkankan.agent.service.impl;
- import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
- import com.fdkankan.agent.common.ResultCode;
- import com.fdkankan.agent.entity.AgentNewCamera;
- import com.fdkankan.agent.entity.Camera;
- import com.fdkankan.agent.entity.CameraDetail;
- import com.fdkankan.agent.exception.BusinessException;
- import com.fdkankan.agent.mapper.IAgentNewCameraMapper;
- import com.fdkankan.agent.request.CameraParam;
- import com.fdkankan.agent.service.IAgentNewCameraService;
- import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
- import com.fdkankan.agent.service.ICameraDetailService;
- import com.fdkankan.agent.service.ICameraService;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import java.util.HashMap;
- import java.util.List;
- import java.util.stream.Collectors;
- /**
- * <p>
- * 服务实现类
- * </p>
- *
- * @author
- * @since 2024-06-18
- */
- @Service
- @Slf4j
- public class AgentNewCameraServiceImpl extends ServiceImpl<IAgentNewCameraMapper, AgentNewCamera> implements IAgentNewCameraService {
- @Autowired
- ICameraService cameraService;
- @Autowired
- ICameraDetailService cameraDetailService;
- @Override
- public void giveCamera(CameraParam param) {
- Camera camera = cameraService.getById(param.getId());
- if(camera == null){
- throw new BusinessException(ResultCode.CAMERA_EMPTY);
- }
- CameraDetail cameraDetail = cameraDetailService.getByCameraId(camera.getId());
- if(cameraDetail == null){
- throw new BusinessException(ResultCode.CAMERA_EMPTY);
- }
- if(!cameraDetail.getAgentId().equals(param.getAgentId())){
- throw new BusinessException(ResultCode.CAMERA_EMPTY);
- }
- giveCamera(param.getId(),param.getAgentId(),param.getSubAgentId());
- }
- public void giveCamera(Long cameraId,Integer agentId,Integer subAgentId) {
- AgentNewCamera agentNewCamera = this.getByCameraId(cameraId);
- if(agentNewCamera == null){
- agentNewCamera = new AgentNewCamera();
- }
- agentNewCamera.setCameraId(cameraId);
- agentNewCamera.setAgentId(agentId);
- agentNewCamera.setSubAgentId(subAgentId);
- this.saveOrUpdate(agentNewCamera);
- }
- @Override
- public Integer giveCameraBatch(List<Long> cameraIds, Integer agentId, Integer subAgentId) {
- Integer successNum = 0;
- for (Long cameraId : cameraIds) {
- try {
- giveCamera(cameraId,agentId,subAgentId);
- successNum ++;
- }catch (Exception e){
- log.info("分发失败:cameraId:{},agentId:{},subAgentId:{}",cameraId,agentId,subAgentId);
- }
- }
- return successNum;
- }
- private AgentNewCamera getByCameraId(Long cameraId) {
- LambdaQueryWrapper<AgentNewCamera> wrapper = new LambdaQueryWrapper<>();
- wrapper.eq(AgentNewCamera::getCameraId,cameraId);
- return this.getOne(wrapper);
- }
- @Override
- public List<Long> getBySubAgent(Integer subAgentId) {
- LambdaQueryWrapper<AgentNewCamera> wrapper = new LambdaQueryWrapper<>();
- wrapper.eq(AgentNewCamera::getSubAgentId,subAgentId);
- List<AgentNewCamera> list = this.list(wrapper);
- return list.stream().map(AgentNewCamera::getCameraId).collect(Collectors.toList());
- }
- @Override
- public HashMap<Long, AgentNewCamera> getMapByCameraIds(List<Long> voCameraIds) {
- HashMap<Long, AgentNewCamera> map = new HashMap<>();
- if(voCameraIds.isEmpty()){
- return map;
- }
- LambdaQueryWrapper<AgentNewCamera> wrapper = new LambdaQueryWrapper<>();
- wrapper.in(AgentNewCamera::getCameraId,voCameraIds);
- List<AgentNewCamera> list = this.list(wrapper);
- list.forEach(e -> map.put(e.getCameraId(),e));
- return map;
- }
- }
|