厨房问题修复,视频列表接口编写
This commit is contained in:
parent
e02b958d46
commit
806260b76b
|
|
@ -108,4 +108,7 @@ public class KitchenDeviceInfo extends Model<KitchenDeviceInfo> {
|
||||||
private Date updateTime;
|
private Date updateTime;
|
||||||
|
|
||||||
|
|
||||||
|
private String ip;
|
||||||
|
private Integer channel;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -117,6 +117,28 @@ public class KitchenDeviceInfoServiceImpl extends ServiceImpl<KitchenDeviceInfoM
|
||||||
if(bean !=null) {
|
if(bean !=null) {
|
||||||
throw new ServiceException("设备名称已存在,请检查后重新输入");
|
throw new ServiceException("设备名称已存在,请检查后重新输入");
|
||||||
}
|
}
|
||||||
|
if(kitchenDeviceInfo.getDeviceType() == DeviceTypeEnum.CAMERA.getKey()) {
|
||||||
|
// 如果设备类型是摄像头,IP地址不能为空
|
||||||
|
if (StringHelper.isNullOrEmptyString(kitchenDeviceInfo.getIp())) {
|
||||||
|
throw new ServiceException("摄像头设备的IP地址不能为空");
|
||||||
|
}
|
||||||
|
bean = kitchenDeviceInfoMapper.selectOne(
|
||||||
|
Wrappers.<KitchenDeviceInfo>lambdaQuery()
|
||||||
|
.eq(KitchenDeviceInfo::getIp, kitchenDeviceInfo.getIp()));
|
||||||
|
if(bean !=null) {
|
||||||
|
throw new ServiceException("设备IP已存在,请检查后重新输入");
|
||||||
|
}
|
||||||
|
if (kitchenDeviceInfo.getChannel() == null || kitchenDeviceInfo.getChannel() < 1) {
|
||||||
|
throw new ServiceException("摄像头设备的IP地址不能为空或小于1");
|
||||||
|
}
|
||||||
|
bean = kitchenDeviceInfoMapper.selectOne(
|
||||||
|
Wrappers.<KitchenDeviceInfo>lambdaQuery()
|
||||||
|
.eq(KitchenDeviceInfo::getDeviceType, kitchenDeviceInfo.getDeviceType())
|
||||||
|
.eq(KitchenDeviceInfo::getChannel, kitchenDeviceInfo.getChannel()));
|
||||||
|
if(bean !=null) {
|
||||||
|
throw new ServiceException("改类型设备通道已存在,请检查后重新输入");
|
||||||
|
}
|
||||||
|
}
|
||||||
try {
|
try {
|
||||||
return kitchenDeviceInfoMapper.insertKitchenDeviceInfo(kitchenDeviceInfo);
|
return kitchenDeviceInfoMapper.insertKitchenDeviceInfo(kitchenDeviceInfo);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
|
@ -143,6 +165,14 @@ public class KitchenDeviceInfoServiceImpl extends ServiceImpl<KitchenDeviceInfoM
|
||||||
if(StringHelper.isNullOrEmptyString(kitchenDeviceInfo.getDeviceSn())){
|
if(StringHelper.isNullOrEmptyString(kitchenDeviceInfo.getDeviceSn())){
|
||||||
throw new ServiceException("编设备sn号不能为空");
|
throw new ServiceException("编设备sn号不能为空");
|
||||||
}
|
}
|
||||||
|
if(kitchenDeviceInfo.getDeviceType() == DeviceTypeEnum.CAMERA.getKey()) {
|
||||||
|
if(StringHelper.isNullOrEmptyString(kitchenDeviceInfo.getIp())){
|
||||||
|
throw new ServiceException("编设备ip号不能为空");
|
||||||
|
}
|
||||||
|
if(kitchenDeviceInfo.getCanteenId() == null){
|
||||||
|
throw new ServiceException("编设备通道号号不能为空");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
KitchenDeviceInfo bean;
|
KitchenDeviceInfo bean;
|
||||||
bean = kitchenDeviceInfoMapper.selectOne(
|
bean = kitchenDeviceInfoMapper.selectOne(
|
||||||
|
|
@ -159,15 +189,24 @@ public class KitchenDeviceInfoServiceImpl extends ServiceImpl<KitchenDeviceInfoM
|
||||||
.ne(KitchenDeviceInfo::getDeviceId, kitchenDeviceInfo.getDeviceId())
|
.ne(KitchenDeviceInfo::getDeviceId, kitchenDeviceInfo.getDeviceId())
|
||||||
);
|
);
|
||||||
if(bean !=null){
|
if(bean !=null){
|
||||||
throw new ServiceException("编设备sn码已存在");
|
throw new ServiceException("设备sn码已存在");
|
||||||
}
|
}
|
||||||
bean = kitchenDeviceInfoMapper.selectOne(
|
bean = kitchenDeviceInfoMapper.selectOne(
|
||||||
Wrappers.<KitchenDeviceInfo>lambdaQuery()
|
Wrappers.<KitchenDeviceInfo>lambdaQuery()
|
||||||
.eq(KitchenDeviceInfo::getDeviceNo, kitchenDeviceInfo.getDeviceNo())
|
.eq(KitchenDeviceInfo::getIp, kitchenDeviceInfo.getIp())
|
||||||
.ne(KitchenDeviceInfo::getDeviceId, kitchenDeviceInfo.getDeviceId())
|
.ne(KitchenDeviceInfo::getDeviceId, kitchenDeviceInfo.getDeviceId())
|
||||||
);
|
);
|
||||||
if(bean !=null){
|
if(bean !=null){
|
||||||
throw new ServiceException("编设备编码已存在");
|
throw new ServiceException("设备ip已存在");
|
||||||
|
}
|
||||||
|
bean = kitchenDeviceInfoMapper.selectOne(
|
||||||
|
Wrappers.<KitchenDeviceInfo>lambdaQuery()
|
||||||
|
.eq(KitchenDeviceInfo::getChannel, kitchenDeviceInfo.getChannel())
|
||||||
|
.eq(KitchenDeviceInfo::getDeviceType, kitchenDeviceInfo.getDeviceType())
|
||||||
|
.ne(KitchenDeviceInfo::getDeviceId, kitchenDeviceInfo.getDeviceId())
|
||||||
|
);
|
||||||
|
if(bean !=null){
|
||||||
|
throw new ServiceException("改设备类型 设备通道号已存在");
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
return kitchenDeviceInfoMapper.update(kitchenDeviceInfo,
|
return kitchenDeviceInfoMapper.update(kitchenDeviceInfo,
|
||||||
|
|
|
||||||
|
|
@ -105,11 +105,13 @@ public class KitchenHomePageerviceImpl implements IKitchenHomePageService {
|
||||||
int expireCount = 0;
|
int expireCount = 0;
|
||||||
for(KitchenStaffInfo kitchenStaffInfo : selectKitchenStaffInfoList){
|
for(KitchenStaffInfo kitchenStaffInfo : selectKitchenStaffInfoList){
|
||||||
LocalDate healthCertExpire = kitchenStaffInfo.getHealthCertExpire();
|
LocalDate healthCertExpire = kitchenStaffInfo.getHealthCertExpire();
|
||||||
|
System.err.println("111: " + ChronoUnit.DAYS.between(healthCertExpire,LocalDate.now()));
|
||||||
|
System.err.println("222: " + ChronoUnit.DAYS.between(LocalDate.now(),healthCertExpire));
|
||||||
if(healthCertExpire == null){
|
if(healthCertExpire == null){
|
||||||
lackCount ++;
|
lackCount ++;
|
||||||
}else if(ChronoUnit.DAYS.between(LocalDate.now(), healthCertExpire)>inemValue){
|
}else if(ChronoUnit.DAYS.between(LocalDate.now(), healthCertExpire)<inemValue && ChronoUnit.DAYS.between(LocalDate.now(), healthCertExpire)>0){
|
||||||
adventCount ++;
|
adventCount ++;
|
||||||
}else if (ChronoUnit.DAYS.between(LocalDate.now(), healthCertExpire)<0){
|
}else if (ChronoUnit.DAYS.between(LocalDate.now(),healthCertExpire)<0){
|
||||||
expireCount ++;
|
expireCount ++;
|
||||||
}else{
|
}else{
|
||||||
normalCount ++;
|
normalCount ++;
|
||||||
|
|
|
||||||
|
|
@ -87,5 +87,8 @@ public class KitchenDeviceListVO {
|
||||||
|
|
||||||
private String canteenName;
|
private String canteenName;
|
||||||
|
|
||||||
|
private String ip;
|
||||||
|
|
||||||
|
private String channel;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
package com.bonus.canteen.core.video.controller;
|
package com.bonus.canteen.core.video.controller;
|
||||||
|
|
||||||
|
import com.bonus.canteen.core.video.dto.CameraByPlaceDTO;
|
||||||
import com.bonus.canteen.core.video.dto.PlaybackURLsDTO;
|
import com.bonus.canteen.core.video.dto.PlaybackURLsDTO;
|
||||||
import com.bonus.canteen.core.video.dto.PreviewDTO;
|
import com.bonus.canteen.core.video.dto.PreviewDTO;
|
||||||
import com.bonus.canteen.core.video.entity.VideoRequestBean;
|
import com.bonus.canteen.core.video.entity.VideoRequestBean;
|
||||||
|
|
@ -54,8 +55,8 @@ public class VideoController extends BaseController {
|
||||||
@ApiOperation(value = "根据位置分类摄像头")
|
@ApiOperation(value = "根据位置分类摄像头")
|
||||||
@SysLog(title = "根据位置分类摄像头", businessType = OperaType.DELETE, logType = 1,module = "视频管理->根据位置分类摄像头")
|
@SysLog(title = "根据位置分类摄像头", businessType = OperaType.DELETE, logType = 1,module = "视频管理->根据位置分类摄像头")
|
||||||
@PostMapping("/getCameraByPlace")
|
@PostMapping("/getCameraByPlace")
|
||||||
public AjaxResult getCameraByPlace(@RequestBody PlaybackURLsDTO playbackURLsDTO) {
|
public AjaxResult getCameraByPlace(@RequestBody CameraByPlaceDTO cameraByPlaceDTO) {
|
||||||
return success(videoService.playbackURLs(playbackURLsDTO));
|
return success(videoService.getCameraByPlace(cameraByPlaceDTO));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,20 @@
|
||||||
|
package com.bonus.canteen.core.video.dto;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author xliu
|
||||||
|
* @date 2025/6/27 16:10
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class CameraByPlaceDTO {
|
||||||
|
|
||||||
|
private String placeId; // 区域ID
|
||||||
|
|
||||||
|
private String placeName; // 区域名称
|
||||||
|
|
||||||
|
private String cameraName; // 摄像头名称
|
||||||
|
|
||||||
|
private Integer deviceType;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,19 @@
|
||||||
|
package com.bonus.canteen.core.video.mapper;
|
||||||
|
|
||||||
|
import com.bonus.canteen.core.screening.vo.EchartsVO;
|
||||||
|
import com.bonus.canteen.core.screening.vo.SingleModelVO;
|
||||||
|
import com.bonus.canteen.core.video.dto.CameraByPlaceDTO;
|
||||||
|
import com.bonus.canteen.core.video.vo.CameraByPlaceVO;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author 19814
|
||||||
|
*/
|
||||||
|
public interface VideoMapper {
|
||||||
|
|
||||||
|
List<CameraByPlaceVO> getPlace(CameraByPlaceDTO cameraByPlaceDTO);
|
||||||
|
|
||||||
|
List<CameraByPlaceVO> getDevice(CameraByPlaceDTO cameraByPlaceDTO);
|
||||||
|
}
|
||||||
|
|
@ -1,8 +1,12 @@
|
||||||
package com.bonus.canteen.core.video.service;
|
package com.bonus.canteen.core.video.service;
|
||||||
|
|
||||||
|
import com.bonus.canteen.core.video.dto.CameraByPlaceDTO;
|
||||||
import com.bonus.canteen.core.video.dto.PlaybackURLsDTO;
|
import com.bonus.canteen.core.video.dto.PlaybackURLsDTO;
|
||||||
import com.bonus.canteen.core.video.dto.PreviewDTO;
|
import com.bonus.canteen.core.video.dto.PreviewDTO;
|
||||||
import com.bonus.canteen.core.video.entity.VideoRequestBean;
|
import com.bonus.canteen.core.video.entity.VideoRequestBean;
|
||||||
|
import com.bonus.canteen.core.video.vo.CameraByPlaceVO;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author xliu
|
* @author xliu
|
||||||
|
|
@ -15,4 +19,6 @@ public interface VideoService {
|
||||||
String previewURLs(PreviewDTO previewDTO);
|
String previewURLs(PreviewDTO previewDTO);
|
||||||
|
|
||||||
String playbackURLs(PlaybackURLsDTO playbackURLsDTO);
|
String playbackURLs(PlaybackURLsDTO playbackURLsDTO);
|
||||||
|
|
||||||
|
List<CameraByPlaceVO> getCameraByPlace(CameraByPlaceDTO cameraByPlaceDTO);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,16 +1,25 @@
|
||||||
package com.bonus.canteen.core.video.service.impl;
|
package com.bonus.canteen.core.video.service.impl;
|
||||||
|
|
||||||
import com.alibaba.fastjson2.JSON;
|
import com.alibaba.fastjson2.JSON;
|
||||||
|
import com.bonus.canteen.core.video.dto.CameraByPlaceDTO;
|
||||||
import com.bonus.canteen.core.video.dto.PlaybackURLsDTO;
|
import com.bonus.canteen.core.video.dto.PlaybackURLsDTO;
|
||||||
import com.bonus.canteen.core.video.dto.PreviewDTO;
|
import com.bonus.canteen.core.video.dto.PreviewDTO;
|
||||||
import com.bonus.canteen.core.video.entity.VideoRequestBean;
|
import com.bonus.canteen.core.video.entity.VideoRequestBean;
|
||||||
|
import com.bonus.canteen.core.video.mapper.VideoMapper;
|
||||||
import com.bonus.canteen.core.video.service.VideoService;
|
import com.bonus.canteen.core.video.service.VideoService;
|
||||||
import com.bonus.canteen.core.video.utils.HCNetVedio;
|
import com.bonus.canteen.core.video.utils.HCNetVedio;
|
||||||
import com.bonus.canteen.core.video.utils.HKRequest;
|
import com.bonus.canteen.core.video.utils.HKRequest;
|
||||||
|
import com.bonus.canteen.core.video.vo.CameraByPlaceVO;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Set;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author xliu
|
* @author xliu
|
||||||
* @date 2025/6/23 15:27
|
* @date 2025/6/23 15:27
|
||||||
|
|
@ -18,6 +27,9 @@ import org.springframework.stereotype.Service;
|
||||||
@Service
|
@Service
|
||||||
public class VideoServiceImpl implements VideoService {
|
public class VideoServiceImpl implements VideoService {
|
||||||
public static Logger logger = LoggerFactory.getLogger(VideoServiceImpl.class);
|
public static Logger logger = LoggerFactory.getLogger(VideoServiceImpl.class);
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private VideoMapper videoMapper;
|
||||||
@Override
|
@Override
|
||||||
public String download(VideoRequestBean bean) {
|
public String download(VideoRequestBean bean) {
|
||||||
String fileName = "";
|
String fileName = "";
|
||||||
|
|
@ -57,4 +69,22 @@ public class VideoServiceImpl implements VideoService {
|
||||||
String result = HKRequest.sendHttp(HKRequest.GET_VIDEO_HISTORY_URL, JSON.toJSONString(playbackURLsDTO));
|
String result = HKRequest.sendHttp(HKRequest.GET_VIDEO_HISTORY_URL, JSON.toJSONString(playbackURLsDTO));
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<CameraByPlaceVO> getCameraByPlace(CameraByPlaceDTO cameraByPlaceDTO) {
|
||||||
|
List<CameraByPlaceVO> placeList = videoMapper.getPlace(cameraByPlaceDTO);
|
||||||
|
List<CameraByPlaceVO> deviceList = videoMapper.getDevice(cameraByPlaceDTO);
|
||||||
|
List<CameraByPlaceVO> allList = new ArrayList<>();
|
||||||
|
Set<String> placeIds = placeList.stream()
|
||||||
|
.map(CameraByPlaceVO::getId)
|
||||||
|
.collect(Collectors.toSet());
|
||||||
|
// 过滤 deviceList 中 pId 存在于 placeIds 中的元素
|
||||||
|
List<CameraByPlaceVO> filteredDevices = deviceList.stream()
|
||||||
|
.filter(device -> placeIds.contains(device.getPId()))
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
// 将 placeList 和 filteredDevices 合并
|
||||||
|
allList.addAll(placeList);
|
||||||
|
allList.addAll(filteredDevices);
|
||||||
|
return allList;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
package com.bonus.canteen.core.video.vo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author xliu
|
||||||
|
* @date 2025/6/27 16:12
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class CameraByPlaceVO {
|
||||||
|
private String id;
|
||||||
|
private String name;
|
||||||
|
private String pId;
|
||||||
|
private String ip;
|
||||||
|
private String channel;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -20,6 +20,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
<result property="deviceRepairPeriod" column="device_repair_period" />
|
<result property="deviceRepairPeriod" column="device_repair_period" />
|
||||||
<result property="deviceExtendInfo" column="device_extend_info" />
|
<result property="deviceExtendInfo" column="device_extend_info" />
|
||||||
<result property="delFlag" column="del_flag" />
|
<result property="delFlag" column="del_flag" />
|
||||||
|
<result property="ip" column="ip" />
|
||||||
|
<result property="channel" column="channel" />
|
||||||
<result property="areaName" column="areaName" />
|
<result property="areaName" column="areaName" />
|
||||||
<result property="subPlaceName" column="sub_place_name" />
|
<result property="subPlaceName" column="sub_place_name" />
|
||||||
<result property="canteenName" column="canteenName" />
|
<result property="canteenName" column="canteenName" />
|
||||||
|
|
@ -42,6 +44,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
<result property="deviceExtendInfo" column="device_extend_info" />
|
<result property="deviceExtendInfo" column="device_extend_info" />
|
||||||
<result property="subPlaceName" column="sub_place_name" />
|
<result property="subPlaceName" column="sub_place_name" />
|
||||||
<result property="delFlag" column="del_flag" />
|
<result property="delFlag" column="del_flag" />
|
||||||
|
<result property="ip" column="ip" />
|
||||||
|
<result property="channel" column="channel" />
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<sql id="selectKitchenDeviceInfoVo">
|
<sql id="selectKitchenDeviceInfoVo">
|
||||||
|
|
@ -62,6 +66,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
device_repair_period,
|
device_repair_period,
|
||||||
device_extend_info,
|
device_extend_info,
|
||||||
del_flag,
|
del_flag,
|
||||||
|
ip,
|
||||||
|
channel,
|
||||||
kit.create_by,
|
kit.create_by,
|
||||||
kit.create_time,
|
kit.create_time,
|
||||||
kit.update_by,
|
kit.update_by,
|
||||||
|
|
@ -125,6 +131,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
<if test="createTime != null">create_time,</if>
|
<if test="createTime != null">create_time,</if>
|
||||||
<if test="updateBy != null">update_by,</if>
|
<if test="updateBy != null">update_by,</if>
|
||||||
<if test="updateTime != null">update_time,</if>
|
<if test="updateTime != null">update_time,</if>
|
||||||
|
<if test="ip != null">ip,</if>
|
||||||
|
<if test="channel != null">channel,</if>
|
||||||
</trim>
|
</trim>
|
||||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||||
<if test="deviceNo != null and deviceNo != ''">#{deviceNo},</if>
|
<if test="deviceNo != null and deviceNo != ''">#{deviceNo},</if>
|
||||||
|
|
@ -145,6 +153,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
<if test="createTime != null">#{createTime},</if>
|
<if test="createTime != null">#{createTime},</if>
|
||||||
<if test="updateBy != null">#{updateBy},</if>
|
<if test="updateBy != null">#{updateBy},</if>
|
||||||
<if test="updateTime != null">#{updateTime},</if>
|
<if test="updateTime != null">#{updateTime},</if>
|
||||||
|
<if test="ip != null">#{ip},</if>
|
||||||
|
<if test="channel != null">#{channel},</if>
|
||||||
</trim>
|
</trim>
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,30 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
<!DOCTYPE mapper
|
||||||
|
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="com.bonus.canteen.core.video.mapper.VideoMapper">
|
||||||
|
|
||||||
|
<select id="getPlace" resultType="com.bonus.canteen.core.video.vo.CameraByPlaceVO">
|
||||||
|
select concat('a',sub_place_id) as id,sub_place_name as `name` ,'0' as pId
|
||||||
|
from kitchen_sub_place
|
||||||
|
<where>
|
||||||
|
<if test="placeId != null and placeId != ''">
|
||||||
|
and sub_place_id = #{placeId}
|
||||||
|
</if>
|
||||||
|
<if test="placeName != null and placeName != ''">
|
||||||
|
and sub_place_name like concat('%',#{placeName},'%')
|
||||||
|
</if>
|
||||||
|
|
||||||
|
</where>
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="getDevice" resultType="com.bonus.canteen.core.video.vo.CameraByPlaceVO">
|
||||||
|
select device_id as id,device_name as `name`,concat('a',sub_place) as pId,ip,channel
|
||||||
|
from kitchen_device_info
|
||||||
|
<where>
|
||||||
|
<if test="cameraName != null and cameraName != ''">
|
||||||
|
and device_name like concat('%',#{deviceName},'%')
|
||||||
|
</if>
|
||||||
|
</where>
|
||||||
|
</select>
|
||||||
|
</mapper>
|
||||||
Loading…
Reference in New Issue