package com.fdkankan.ucenter.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.fdkankan.common.constant.Constant; import com.fdkankan.ucenter.common.AgentConstant; import com.fdkankan.ucenter.entity.Camera; import com.fdkankan.ucenter.entity.CameraDetail; import com.fdkankan.ucenter.entity.UserIncrement; import com.fdkankan.ucenter.service.ICameraDetailService; import com.fdkankan.ucenter.service.ICameraService; import com.fdkankan.ucenter.service.IUserIncrementService; import com.fdkankan.ucenter.util.DateUserUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.UUID; import java.util.stream.Collectors; @Service public class QczjService { @Autowired ICameraService cameraService; @Autowired ICameraDetailService cameraDetailService; @Autowired IUserIncrementService userIncrementService; public List inCameraAndIncrement(Long userId, List snCodeList) { if(snCodeList.size() <=0){ return snCodeList; } LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.in(Camera::getSnCode,snCodeList); List cameraList = cameraService.list(wrapper); List inSnCodeList = new ArrayList<>(); if(cameraList.size() >0){ inSnCodeList = cameraList.parallelStream().map(Camera::getSnCode).collect(Collectors.toList()); } List errorCodeList = new ArrayList<>(); for (String snCode : snCodeList) { if(inSnCodeList.contains(snCode)){ errorCodeList.add(snCode); continue; } Camera camera = new Camera(); camera.setWifiName("4DKKPRO_" + snCode); camera.setSnCode(snCode); camera.setChildName(snCode); camera.setWifiPassword(AgentConstant.WIFI_PASSWORD_VALUE); camera.setChildPassword(AgentConstant.CHILD_PASSWORD_VALUE); camera.setActivatedTime(new Date()); camera.setIsOut(1); camera.setRecStatus("A"); camera.setCreateTime(DateUserUtil.getDate(new Date())); camera.setUpdateTime(DateUserUtil.getDate(new Date())); cameraService.save(camera); CameraDetail detailEntity = new CameraDetail(); detailEntity.setCameraId(camera.getId()); detailEntity.setAgency(AgentConstant.DEFAULT_AGENT); detailEntity.setCountry(0);//默认中国 detailEntity.setType(9); //商品类型,type:1为8目,type:2为双目 3:为转台 detailEntity.setGoodsId(9L); detailEntity.setTotalSpace(Long.valueOf(Constant.CAMERA_BASE_SPACE_VALUE)); detailEntity.setUsedSpace(0L); detailEntity.setRecStatus("A"); detailEntity.setCreateTime(DateUserUtil.getDate(new Date())); detailEntity.setUpdateTime(DateUserUtil.getDate(new Date())); detailEntity.setLastRequestTime(new Date()); detailEntity.setOrderSn(""); detailEntity.setOwn(0); cameraDetailService.save(detailEntity); UserIncrement userIncrement = new UserIncrement(); userIncrement.setCameraId(camera.getId()); userIncrement.setKeyWord(UUID.randomUUID().toString().replace("-", "")); userIncrement.setUserId(userId); userIncrement.setOrderSn("qczj_"+camera.getId()); userIncrement.setIncrementStartTime(DateUserUtil.getDate(new Date())); userIncrement.setIncrementEndTime("2100-01-01 00:00:00"); userIncrement.setIsExpired(0); userIncrement.setRecStatus("A"); userIncrement.setCreateTime(DateUserUtil.getDate(new Date())); userIncrement.setUpdateTime(DateUserUtil.getDate(new Date())); userIncrementService.save(userIncrement); } return errorCodeList; } }