package com.fdkankan.ucenter.controller.api; import com.fdkankan.common.exception.BusinessException; import com.fdkankan.ucenter.common.BaseController; import com.fdkankan.ucenter.common.Result; import com.fdkankan.ucenter.entity.ScenePlus; import com.fdkankan.ucenter.entity.ScenePro; import com.fdkankan.ucenter.entity.User; import com.fdkankan.ucenter.service.*; import com.fdkankan.ucenter.vo.LaserSceneVo; import com.fdkankan.ucenter.vo.response.CameraAppVo; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import java.util.*; import java.util.stream.Collectors; /** * 激光使用接口 */ @RestController @RequestMapping("/ucenter/laser") public class LaserController extends BaseController { @Autowired ISceneProService sceneProService; @Autowired IScenePlusService scenePlusService; @Autowired ICameraService cameraService; @Autowired IUserService userService; @Autowired ICameraDetailService cameraDetailService; /** * 根据手机号码获取 相机 sncode */ @RequestMapping(value = "/getSnCodeByPhone",method = RequestMethod.GET) public Result getSnCodeByUserName(@RequestParam(required = false)String phone, @RequestParam(required = false)Integer sceneSource) throws Exception { List userIds = userService.getLikeUserName(phone); HashMap map = new HashMap<>(); Set snCodeSet = new HashSet<>(); map.put("phone",phone); map.put("snCodes",snCodeSet); if(userIds.size() <=0){ return Result.success(map); } List camera = new ArrayList<>(); if(sceneSource == 4){ camera = cameraDetailService.getListByUserIdsAndType(userIds, 10); } if(sceneSource == 5){ camera = cameraDetailService.getListByUserIdsAndType(userIds, 11); } if(camera.size() >0){ snCodeSet = camera.stream().map(CameraAppVo::getSnCode).collect(Collectors.toSet()); map.put("snCodes",snCodeSet); } return Result.success(map); } /** * 获取场景数据 */ @RequestMapping(value = "/getSceneByNum",method = RequestMethod.GET) public Result getSceneByNum(@RequestParam(required = false)String num) throws Exception { ScenePro sceneProEntity = sceneProService.getByNum(num); LaserSceneVo vo = new LaserSceneVo(); Long userId = null; if(sceneProEntity!= null){ vo.setNum(sceneProEntity.getNum()); userId = sceneProEntity.getUserId(); } ScenePlus scenePlus = scenePlusService.getByNum(num); if(scenePlus != null){ vo.setNum(scenePlus.getNum()); userId = scenePlus.getUserId(); } if(userId != null){ User user = userService.getById(userId); if(user!=null){ vo.setUserPhone(user.getUserName()); vo.setUserId(user.getId()); } } return Result.success(vo); } }