This commit is contained in:
2025-01-22 14:23:00 +08:00
parent f670fb2f91
commit 38c4b553bc
17 changed files with 178 additions and 131 deletions

View File

@ -9,8 +9,10 @@ import com.ycwl.basic.model.mobile.goods.GoodsReqQuery;
import com.ycwl.basic.model.mobile.scenic.ScenicAppVO;
import com.ycwl.basic.model.mobile.scenic.ScenicDeviceCountVO;
import com.ycwl.basic.model.mobile.scenic.content.ContentPageVO;
import com.ycwl.basic.model.pc.scenic.entity.ScenicConfigEntity;
import com.ycwl.basic.model.pc.scenic.req.ScenicReqQuery;
import com.ycwl.basic.model.pc.scenic.resp.ScenicRespVO;
import com.ycwl.basic.repository.ScenicRepository;
import com.ycwl.basic.service.mobile.AppScenicService;
import com.ycwl.basic.service.pc.ScenicService;
import com.ycwl.basic.utils.ApiResponse;
@ -33,6 +35,8 @@ public class AppScenicController {
@Autowired
private AppScenicService appScenicService;
@Autowired
private ScenicRepository scenicRepository;
@ApiOperation("分页查询景区列表")
@PostMapping("/page")
@ -46,6 +50,13 @@ public class AppScenicController {
return appScenicService.getDetails(id);
}
@GetMapping("/{id}/config")
@IgnoreToken
public ApiResponse<ScenicConfigEntity> getConfig(@PathVariable Long id){
ScenicConfigEntity scenicConfig = scenicRepository.getScenicConfig(id);
return ApiResponse.success(scenicConfig);
}
@ApiOperation("查询景区设备总数和拍到用户的机位数量")
@GetMapping("/{scenicId}/deviceCount/")
public ApiResponse<ScenicDeviceCountVO> deviceCountByScenicId(@PathVariable Long scenicId){

View File

@ -25,6 +25,7 @@ import com.ycwl.basic.model.viid.req.RegisterReq;
import com.ycwl.basic.model.viid.req.UnRegisterReq;
import com.ycwl.basic.model.viid.resp.SystemTimeResp;
import com.ycwl.basic.model.viid.resp.VIIDBaseResp;
import com.ycwl.basic.repository.DeviceRepository;
import com.ycwl.basic.service.task.TaskFaceService;
import com.ycwl.basic.storage.StorageFactory;
import com.ycwl.basic.storage.adapters.IStorageAdapter;
@ -61,6 +62,8 @@ public class ViidController {
private static final String serverId = "00000000000000000001";
@Autowired
private SourceMapper sourceMapper;
@Autowired
private DeviceRepository deviceRepository;
// region 注册注销基础接口
/**
@ -75,7 +78,7 @@ public class ViidController {
DeviceIdObject deviceIdObject = req.getRegisterObject();
log.info("注册的设备信息:{}", deviceIdObject);
// 保存设备注册时间
DeviceEntity device = deviceMapper.getByDeviceNo(deviceIdObject.getDeviceId());
DeviceEntity device = deviceRepository.getDeviceByDeviceNo(deviceIdObject.getDeviceId());
if (device == null) {
device = new DeviceEntity();
device.setName("未配置设备");
@ -86,6 +89,7 @@ public class ViidController {
device.setIpAddr(IpUtils.getIpAddr(request));
if (device.getId() != null) {
deviceMapper.updateEntity(device);
deviceRepository.clearDeviceCache(device.getId());
} else {
device.setId(SnowFlakeUtil.getLongId());
deviceMapper.addEntity(device);
@ -109,7 +113,7 @@ public class ViidController {
// log.info("对方发送的心跳的信息:{}", keepaliveObject);
String deviceId = keepaliveObject.getDeviceId();
DeviceEntity device = deviceMapper.getByDeviceNo(deviceId);
DeviceEntity device = deviceRepository.getDeviceByDeviceNo(deviceId);
// 判断设备状态
if (device == null) {
@ -123,9 +127,7 @@ public class ViidController {
device.setId(SnowFlakeUtil.getLongId());
deviceMapper.addEntity(device);
} else {
device.setOnline(1);
device.setKeepaliveAt(new Date());
deviceMapper.updateEntity(device);
deviceRepository.updateOnlineStatus(device.getId(), IpUtils.getIpAddr(request), 1, new Date());
}
// log.info("已经解析过的心跳信息:{}", keepaliveObject);
@ -141,19 +143,17 @@ public class ViidController {
* @return 返回
*/
@RequestMapping(value = "/System/UnRegister", method = RequestMethod.POST)
public VIIDBaseResp unRegister(@RequestBody UnRegisterReq req) {
public VIIDBaseResp unRegister(@RequestBody UnRegisterReq req, HttpServletRequest request) {
// 获取设备id
DeviceIdObject unRegisterObject = req.getUnRegisterObject();
String deviceId = unRegisterObject.getDeviceId();
log.info("获取的注销的请求参数:{}", unRegisterObject);
// 首先查询该设备是否存在
DeviceEntity device = deviceMapper.getByDeviceNo(deviceId);
DeviceEntity device = deviceRepository.getDeviceByDeviceNo(deviceId);
// 判断
if (device != null) {
device.setOnline(0);
device.setKeepaliveAt(new Date());
int update = deviceMapper.updateEntity(device);
deviceRepository.updateOnlineStatus(device.getId(), IpUtils.getIpAddr(request), 0, new Date());
}
return new VIIDBaseResp(
new ResponseStatusObject(deviceId, "/VIID/System/UnRegister", "0", "注销成功", sdfTime.format(new Date()))
@ -201,7 +201,7 @@ public class ViidController {
SubImageList subImageList = face.getSubImageList();
// 判断人脸对象中的列表是否为空
String deviceID = face.getDeviceID();
DeviceEntity device = deviceMapper.getByDeviceNo(deviceID);
DeviceEntity device = deviceRepository.getDeviceByDeviceNo(deviceID);
if (device == null) {
continue;
}