package com.fdkankan.contro.service.impl; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.fdkankan.common.constant.SpaceType; import com.fdkankan.contro.constant.ApiConstant; import com.fdkankan.contro.entity.Camera; import com.fdkankan.contro.entity.CameraDetail; import com.fdkankan.contro.httpclient.MyClient; import com.fdkankan.contro.mapper.ICameraMapper; import com.fdkankan.contro.service.ICameraDetailService; import com.fdkankan.contro.service.ICameraService; import com.fdkankan.contro.service.IScenePlusService; import com.fdkankan.contro.service.ISceneProService; import com.fdkankan.web.response.ResultData; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.HashMap; import java.util.Map; /** *

* 相机主表 服务实现类 *

* * @author * @since 2021-12-24 */ @Slf4j @Service public class CameraServiceImpl extends ServiceImpl implements ICameraService { @Value("${4dkk.fdService.basePath}") private String fdServiceUrl; @Resource private MyClient myClient; @Autowired private IScenePlusService scenePlusService; @Autowired private ISceneProService sceneProService; @Autowired private ICameraDetailService cameraDetailService; @Override public Camera getByChildName(String childName){ return this.getOne(new LambdaQueryWrapper().eq(Camera::getChildName,childName)); } @Override public Camera getBySnCode(String snCode) { return this.getOne(new LambdaQueryWrapper().eq(Camera::getSnCode,snCode)); } @Override public Long getUsedSpace(Long cameraId, String spaceTypeStr) { return sceneProService.sumUsedSpaceByCameraId(cameraId, spaceTypeStr) + scenePlusService.sumUsedSpaceByCameraId(cameraId, spaceTypeStr); } @Override public Map instorage(int camType, String snCode) { String cameraInStoreUrl = fdServiceUrl + ApiConstant.URL_CAMERA_INSTORE; Map cameraInStoreParams = new HashMap<>(); cameraInStoreParams.put("cameraType", camType); cameraInStoreParams.put("snCode", snCode); ResultData post = myClient.post(cameraInStoreUrl, cameraInStoreParams); log.info("---------cameraInStore result:{}-----------", post); Camera camera = this.getBySnCode(snCode); CameraDetail cameraDetail = cameraDetailService.getByCameraId(camera.getId()); Map result = new HashMap<>(); result.put("camera", camera); result.put("cameraDetail", cameraDetail); return result; } }