Commit 64eb625b authored by KeYong's avatar KeYong

Merge branch 'develop_station' of http://39.98.45.134:8090/moa/amos-boot-biz into develop_station

parents 9a97b22e 01bf8593
package com.yeejoin.equipmanage.common.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @ProjectName: amos-biz-boot
* @Package: com.yeejoin.equipmanage.common.vo
* @ClassName: VideoImportantEquipmentVo
* @Author: Jianqiang Gao
* @Description: VideoImportantEquipmentVo
* @Date: 2022/6/16 10:36
* @Version: 1.0
*/
@Data
@ApiModel(value = "VideoImportantEquipmentVo对象", description = "")
public class VideoImportantEquipmentVo {
@ApiModelProperty(value = "视频id")
private Long videoId;
@ApiModelProperty(value = "f_equipment表id(重点设备id)")
private Long importantEquipmentId;
@ApiModelProperty(value = "摄像机编号")
private String code;
@ApiModelProperty(value = "类型编码")
private String typeCode;
@ApiModelProperty(value = "类型")
private String type;
@ApiModelProperty(value = "访问url")
private String url;
@ApiModelProperty(value = "摄像机名称")
private String name;
@ApiModelProperty(value = "图片")
private String img;
@ApiModelProperty(value = "详细地址")
private String address;
}
\ No newline at end of file
...@@ -73,7 +73,6 @@ import com.yeejoin.equipmanage.common.vo.ExtinguishantLossRequest; ...@@ -73,7 +73,6 @@ import com.yeejoin.equipmanage.common.vo.ExtinguishantLossRequest;
import com.yeejoin.equipmanage.common.vo.ExtinguishantRequeset; import com.yeejoin.equipmanage.common.vo.ExtinguishantRequeset;
import com.yeejoin.equipmanage.common.vo.LonAndLatEntityVo; import com.yeejoin.equipmanage.common.vo.LonAndLatEntityVo;
import com.yeejoin.equipmanage.common.vo.OnBoardEquipment; import com.yeejoin.equipmanage.common.vo.OnBoardEquipment;
import com.yeejoin.equipmanage.config.EquipmentIotMqttReceiveConfig;
import com.yeejoin.equipmanage.mapper.CarInfoMapper; import com.yeejoin.equipmanage.mapper.CarInfoMapper;
import com.yeejoin.equipmanage.mapper.CarMapper; import com.yeejoin.equipmanage.mapper.CarMapper;
import com.yeejoin.equipmanage.mapper.CarPropertyMapper; import com.yeejoin.equipmanage.mapper.CarPropertyMapper;
...@@ -97,7 +96,6 @@ import com.yeejoin.equipmanage.service.IEquipmentService; ...@@ -97,7 +96,6 @@ import com.yeejoin.equipmanage.service.IEquipmentService;
import com.yeejoin.equipmanage.service.ISyncDataService; import com.yeejoin.equipmanage.service.ISyncDataService;
import com.yeejoin.equipmanage.service.ISystemDicService; import com.yeejoin.equipmanage.service.ISystemDicService;
import com.yeejoin.equipmanage.service.ProductionQRCode; import com.yeejoin.equipmanage.service.ProductionQRCode;
import com.yeejoin.equipmanage.service.impl.EquipmentSpecificSerivceImpl;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
...@@ -151,8 +149,6 @@ public class CarController extends AbstractBaseController { ...@@ -151,8 +149,6 @@ public class CarController extends AbstractBaseController {
EquipmentQrcodeMapper equipmentQrcodeMapper; EquipmentQrcodeMapper equipmentQrcodeMapper;
@Resource(name = "productionQRCodeFactoryMap") @Resource(name = "productionQRCodeFactoryMap")
private Map<String, ProductionQRCode> messageHandMap; private Map<String, ProductionQRCode> messageHandMap;
@Autowired
EquipmentIotMqttReceiveConfig equipmentIotMqttReceiveConfig;
@Autowired @Autowired
ICarLonAndLatDataService iCarLonAndLatDataService; ICarLonAndLatDataService iCarLonAndLatDataService;
...@@ -204,7 +200,6 @@ public class CarController extends AbstractBaseController { ...@@ -204,7 +200,6 @@ public class CarController extends AbstractBaseController {
// saveFile(carInstance); 图片视频后期统一处理 // saveFile(carInstance); 图片视频后期统一处理
EquipmentSpecificSerivceImpl.registerMqttTopic(car.getIotCode(), equipmentIotMqttReceiveConfig);
car.setQrCode(QRCodeUtil.generateQRCode()); car.setQrCode(QRCodeUtil.generateQRCode());
List<CarProperty> carPropertyList = car.getCarPropertyList(); List<CarProperty> carPropertyList = car.getCarPropertyList();
if (carPropertyList.size() > 0) { if (carPropertyList.size() > 0) {
...@@ -281,7 +276,6 @@ public class CarController extends AbstractBaseController { ...@@ -281,7 +276,6 @@ public class CarController extends AbstractBaseController {
// Set<CarProperty> carpList = carRequest.getCarPropertyList(); // Set<CarProperty> carpList = carRequest.getCarPropertyList();
// carInstance = iCarService.saveCar(getUserInfo(), carInstance, carInfo, carpList); // carInstance = iCarService.saveCar(getUserInfo(), carInstance, carInfo, carpList);
// saveFile(carInstance);视频图片文件后期统一处理 // saveFile(carInstance);视频图片文件后期统一处理
EquipmentSpecificSerivceImpl.registerMqttTopic(car.getIotCode(), equipmentIotMqttReceiveConfig);
return iCarService.updateOneById(car); return iCarService.updateOneById(car);
} }
...@@ -309,29 +303,6 @@ public class CarController extends AbstractBaseController { ...@@ -309,29 +303,6 @@ public class CarController extends AbstractBaseController {
syncDataService.syncDeletedFireVehicle(carIds); syncDataService.syncDeletedFireVehicle(carIds);
iCarService.dataSyncDeletedIds(carIds); iCarService.dataSyncDeletedIds(carIds);
} }
String[] topics = equipmentIotMqttReceiveConfig.adapter.getTopic();
boolean flag = false;
for (String id : idStrings) {
String iotCode = iCarService.getById(id).getIotCode();
if (StringUtil.isNotEmpty(iotCode)) {
String prefix = iotCode.substring(0, 8);
String suffix = iotCode.substring(8);
String oldTopic = prefix + "/" + suffix + "/property";
for (String topic : topics) {
if (topic.equals(oldTopic)) {
flag = true;
break;
}
}
if (flag) {
try {
equipmentIotMqttReceiveConfig.adapter.removeTopic(prefix + "/" + suffix + "/property");
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
return new CommonResponse(SUCCESS); return new CommonResponse(SUCCESS);
} }
} }
...@@ -1030,32 +1001,11 @@ public class CarController extends AbstractBaseController { ...@@ -1030,32 +1001,11 @@ public class CarController extends AbstractBaseController {
public boolean delete(HttpServletRequest request, @RequestBody List<Long> idList) throws Exception { public boolean delete(HttpServletRequest request, @RequestBody List<Long> idList) throws Exception {
List<Car> cars = iCarService.list(new QueryWrapper<Car>().in("id", idList)); List<Car> cars = iCarService.list(new QueryWrapper<Car>().in("id", idList));
String[] topics = equipmentIotMqttReceiveConfig.adapter.getTopic();
cars.forEach(car -> { cars.forEach(car -> {
List<EquipmentOnCarAppVO> equipmentOnCarAppVOS = carMapper.selectEquipmentOnCarAppList(car.getId()); List<EquipmentOnCarAppVO> equipmentOnCarAppVOS = carMapper.selectEquipmentOnCarAppList(car.getId());
if (equipmentOnCarAppVOS.size() > 0) { if (equipmentOnCarAppVOS.size() > 0) {
throw new BadRequest("有车载装备的车辆不能删除,请先卸载装备!"); throw new BadRequest("有车载装备的车辆不能删除,请先卸载装备!");
} }
boolean flag = false;
String iotCode = car.getIotCode();
if (StringUtil.isNotEmpty(car.getIotCode()) && iotCode.length() > 8) {
String prefix = iotCode.substring(0, 8);
String suffix = iotCode.substring(8);
String oldTopic = prefix + "/" + suffix + "/property";
for (String topic : topics) {
if (topic.equals(oldTopic)) {
flag = true;
break;
}
}
if (flag) {
try {
equipmentIotMqttReceiveConfig.adapter.removeTopic(prefix + "/" + suffix + "/property");
} catch (Exception e) {
e.printStackTrace();
}
}
}
}); });
return iCarService.removeOneByIds(idList); return iCarService.removeOneByIds(idList);
} }
......
package com.yeejoin.equipmanage.controller;
import com.yeejoin.equipmanage.common.vo.VideoImportantEquipmentVo;
import com.yeejoin.equipmanage.service.IVideoImportantEquipmentService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
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 org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @ProjectName: amos-biz-boot
* @Package: com.yeejoin.equipmanage.controller
* @ClassName: VideoImportantEquipmentController
* @Author: Jianqiang Gao
* @Description: VideoImportantEquipmentController
* @Date: 2022/6/16 10:24
* @Version: 1.0
*/
@RestController
@Api(tags = "视屏监控关联重点设备Api")
@Slf4j
@RequestMapping(value = "/videoImportantEquipment", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
public class VideoImportantEquipmentController {
@Autowired
private IVideoImportantEquipmentService videoImportantEquipmentService;
@RequestMapping(value = "/getVideoImportantEquipmentList", method = RequestMethod.GET)
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "获取视屏监控关联重点设备集合", notes = "获取视屏监控关联重点设备集合")
public List<VideoImportantEquipmentVo> getVideoImportantEquipmentList(@RequestParam(required = false) Long importantEquipmentId) {
Map<String, Object> map = null;
if (importantEquipmentId != null) {
map = new HashMap<>();
map.put("importantEquipmentId", importantEquipmentId);
}
return videoImportantEquipmentService.getVideoImportantEquipmentList(map);
}
}
\ No newline at end of file
...@@ -2,8 +2,12 @@ package com.yeejoin.equipmanage.mapper; ...@@ -2,8 +2,12 @@ package com.yeejoin.equipmanage.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.equipmanage.common.entity.VideoImportantEquipment; import com.yeejoin.equipmanage.common.entity.VideoImportantEquipment;
import com.yeejoin.equipmanage.common.vo.VideoImportantEquipmentVo;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
/** /**
* @author ZeHua Li * @author ZeHua Li
* @date 2020/11/25 15:48 * @date 2020/11/25 15:48
...@@ -11,4 +15,5 @@ import org.apache.ibatis.annotations.Mapper; ...@@ -11,4 +15,5 @@ import org.apache.ibatis.annotations.Mapper;
*/ */
@Mapper @Mapper
public interface VideoImportantEquipmentMapper extends BaseMapper<VideoImportantEquipment> { public interface VideoImportantEquipmentMapper extends BaseMapper<VideoImportantEquipment> {
List<VideoImportantEquipmentVo> getVideoImportantEquipmentList(Map<String, Object> map);
} }
...@@ -2,6 +2,10 @@ package com.yeejoin.equipmanage.service; ...@@ -2,6 +2,10 @@ package com.yeejoin.equipmanage.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.yeejoin.equipmanage.common.entity.VideoImportantEquipment; import com.yeejoin.equipmanage.common.entity.VideoImportantEquipment;
import com.yeejoin.equipmanage.common.vo.VideoImportantEquipmentVo;
import java.util.List;
import java.util.Map;
/** /**
* @author ZeHua Li * @author ZeHua Li
...@@ -9,4 +13,5 @@ import com.yeejoin.equipmanage.common.entity.VideoImportantEquipment; ...@@ -9,4 +13,5 @@ import com.yeejoin.equipmanage.common.entity.VideoImportantEquipment;
* @since v2.0 * @since v2.0
*/ */
public interface IVideoImportantEquipmentService extends IService<VideoImportantEquipment> { public interface IVideoImportantEquipmentService extends IService<VideoImportantEquipment> {
List<VideoImportantEquipmentVo> getVideoImportantEquipmentList(Map<String, Object> map);
} }
package com.yeejoin.equipmanage.service.impl; package com.yeejoin.equipmanage.service.impl;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Lazy;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import org.springframework.util.ObjectUtils;
import org.typroject.tyboot.core.foundation.utils.Bean;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
...@@ -19,34 +40,90 @@ import com.yeejoin.amos.feign.privilege.model.AgencyUserModel; ...@@ -19,34 +40,90 @@ import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.equipmanage.common.datasync.entity.FireEquipment; import com.yeejoin.equipmanage.common.datasync.entity.FireEquipment;
import com.yeejoin.equipmanage.common.dto.EquipmentSpecificDto; import com.yeejoin.equipmanage.common.dto.EquipmentSpecificDto;
import com.yeejoin.equipmanage.common.dto.UserDto; import com.yeejoin.equipmanage.common.dto.UserDto;
import com.yeejoin.equipmanage.common.entity.*; import com.yeejoin.equipmanage.common.entity.EquProperty;
import com.yeejoin.equipmanage.common.entity.Equipment;
import com.yeejoin.equipmanage.common.entity.EquipmentCategory;
import com.yeejoin.equipmanage.common.entity.EquipmentDetail;
import com.yeejoin.equipmanage.common.entity.EquipmentIndex;
import com.yeejoin.equipmanage.common.entity.EquipmentSpecific;
import com.yeejoin.equipmanage.common.entity.EquipmentSpecificAlarm;
import com.yeejoin.equipmanage.common.entity.EquipmentSpecificIndex;
import com.yeejoin.equipmanage.common.entity.EquipmentSystemSourceStatistics;
import com.yeejoin.equipmanage.common.entity.FireFightingSystemEntity;
import com.yeejoin.equipmanage.common.entity.Stock;
import com.yeejoin.equipmanage.common.entity.StockBill;
import com.yeejoin.equipmanage.common.entity.StockBillDetail;
import com.yeejoin.equipmanage.common.entity.StockDetail;
import com.yeejoin.equipmanage.common.entity.UploadFile;
import com.yeejoin.equipmanage.common.entity.Video;
import com.yeejoin.equipmanage.common.entity.VideoEquipmentSpecific;
import com.yeejoin.equipmanage.common.entity.Warehouse;
import com.yeejoin.equipmanage.common.entity.WarehouseStructure;
import com.yeejoin.equipmanage.common.entity.dto.EquipmentSpecificDTO; import com.yeejoin.equipmanage.common.entity.dto.EquipmentSpecificDTO;
import com.yeejoin.equipmanage.common.entity.vo.*; import com.yeejoin.equipmanage.common.entity.vo.AlamVideoVO;
import com.yeejoin.equipmanage.common.enums.*; import com.yeejoin.equipmanage.common.entity.vo.AlarmInfoVO;
import com.yeejoin.equipmanage.common.entity.vo.AlarmVO;
import com.yeejoin.equipmanage.common.entity.vo.ComplementCodeVO;
import com.yeejoin.equipmanage.common.entity.vo.CurrAlaramVO;
import com.yeejoin.equipmanage.common.entity.vo.DetailPaneVO;
import com.yeejoin.equipmanage.common.entity.vo.DevInfoVO;
import com.yeejoin.equipmanage.common.entity.vo.DevOverviewVO;
import com.yeejoin.equipmanage.common.entity.vo.EquipmentIndexVO;
import com.yeejoin.equipmanage.common.entity.vo.EquipmentSecificDetailVO;
import com.yeejoin.equipmanage.common.entity.vo.EquipmentSpecificVo;
import com.yeejoin.equipmanage.common.entity.vo.ManufacturerVO;
import com.yeejoin.equipmanage.common.entity.vo.PartDetailVO;
import com.yeejoin.equipmanage.common.entity.vo.ProductInfoVO;
import com.yeejoin.equipmanage.common.entity.vo.SourceNameByEquipSpeIdVO;
import com.yeejoin.equipmanage.common.entity.vo.SurrVideoVO;
import com.yeejoin.equipmanage.common.entity.vo.TechInfoListVO;
import com.yeejoin.equipmanage.common.entity.vo.TechInfoVO;
import com.yeejoin.equipmanage.common.entity.vo.VideoVO;
import com.yeejoin.equipmanage.common.enums.AlarmStatusEnum;
import com.yeejoin.equipmanage.common.enums.BillContentEnum;
import com.yeejoin.equipmanage.common.enums.BitmapEnum;
import com.yeejoin.equipmanage.common.enums.EquipmentRiskTypeEnum;
import com.yeejoin.equipmanage.common.enums.FileTypeEnum;
import com.yeejoin.equipmanage.common.enums.StockBillTypeEnum;
import com.yeejoin.equipmanage.common.exception.BaseException; import com.yeejoin.equipmanage.common.exception.BaseException;
import com.yeejoin.equipmanage.common.utils.DateUtils; import com.yeejoin.equipmanage.common.utils.DateUtils;
import com.yeejoin.equipmanage.common.utils.QRCodeUtil; import com.yeejoin.equipmanage.common.utils.QRCodeUtil;
import com.yeejoin.equipmanage.common.utils.StringUtil; import com.yeejoin.equipmanage.common.utils.StringUtil;
import com.yeejoin.equipmanage.common.vo.*; import com.yeejoin.equipmanage.common.vo.EquipFor3DVO;
import com.yeejoin.equipmanage.config.EquipmentIotMqttReceiveConfig; import com.yeejoin.equipmanage.common.vo.EquipmentDate;
import com.yeejoin.equipmanage.mapper.*; import com.yeejoin.equipmanage.common.vo.EquipmentDetailVo;
import com.yeejoin.equipmanage.service.*; import com.yeejoin.equipmanage.common.vo.EquipmentOnCarVo;
import com.yeejoin.equipmanage.common.vo.EquipmentSpecific3dVo;
import com.yeejoin.equipmanage.common.vo.VideoOnEquipmentSpecificVo;
import com.yeejoin.equipmanage.mapper.EquipmentIndexMapper;
import com.yeejoin.equipmanage.mapper.EquipmentSpecificAlarmMapper;
import com.yeejoin.equipmanage.mapper.EquipmentSpecificMapper;
import com.yeejoin.equipmanage.mapper.FireFightingSystemMapper;
import com.yeejoin.equipmanage.mapper.SignalClassifyMapper;
import com.yeejoin.equipmanage.mapper.UploadFileMapper;
import com.yeejoin.equipmanage.mapper.VideoMapper;
import com.yeejoin.equipmanage.service.IEquPropertyService;
import com.yeejoin.equipmanage.service.IEquipmentCategoryService;
import com.yeejoin.equipmanage.service.IEquipmentDetailService;
import com.yeejoin.equipmanage.service.IEquipmentIndexService;
import com.yeejoin.equipmanage.service.IEquipmentService;
import com.yeejoin.equipmanage.service.IEquipmentSpecificAlarmService;
import com.yeejoin.equipmanage.service.IEquipmentSpecificIndexSerivce;
import com.yeejoin.equipmanage.service.IEquipmentSpecificSerivce;
import com.yeejoin.equipmanage.service.IEquipmentSystemSourceStatisticsService;
import com.yeejoin.equipmanage.service.IFireFightingSystemService;
import com.yeejoin.equipmanage.service.IStockBillDetailService;
import com.yeejoin.equipmanage.service.IStockBillService;
import com.yeejoin.equipmanage.service.IStockDetailService;
import com.yeejoin.equipmanage.service.IStockService;
import com.yeejoin.equipmanage.service.ISyncDataService;
import com.yeejoin.equipmanage.service.ISystemDicService;
import com.yeejoin.equipmanage.service.IUploadFileService;
import com.yeejoin.equipmanage.service.IVideoEquipmentSpecificService;
import com.yeejoin.equipmanage.service.IVideoService;
import com.yeejoin.equipmanage.service.IWarehouseService;
import com.yeejoin.equipmanage.service.IWarehouseStructureService;
import com.yeejoin.equipmanage.utils.RelationRedisUtil; import com.yeejoin.equipmanage.utils.RelationRedisUtil;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Lazy;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import org.springframework.util.ObjectUtils;
import org.typroject.tyboot.core.foundation.utils.Bean;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
/** /**
* @author ZeHua Li * @author ZeHua Li
...@@ -70,8 +147,7 @@ public class EquipmentSpecificSerivceImpl extends ServiceImpl<EquipmentSpecificM ...@@ -70,8 +147,7 @@ public class EquipmentSpecificSerivceImpl extends ServiceImpl<EquipmentSpecificM
IStockBillDetailService stockBillDetailService; IStockBillDetailService stockBillDetailService;
@Autowired @Autowired
IStockBillService stockBillService; IStockBillService stockBillService;
@Autowired
EquipmentIotMqttReceiveConfig equipmentIotMqttReceiveConfig;
@Autowired @Autowired
EquipmentSpecificAlarmMapper equipmentSpecificAlarmMapper; EquipmentSpecificAlarmMapper equipmentSpecificAlarmMapper;
@Autowired @Autowired
...@@ -499,38 +575,10 @@ public class EquipmentSpecificSerivceImpl extends ServiceImpl<EquipmentSpecificM ...@@ -499,38 +575,10 @@ public class EquipmentSpecificSerivceImpl extends ServiceImpl<EquipmentSpecificM
stockBillDetailService.save(stockBillDetail); stockBillDetailService.save(stockBillDetail);
} }
} }
registerMqttTopic(equipmentSpecific.getIotCode(), equipmentIotMqttReceiveConfig);
return equipmentSpecific; return equipmentSpecific;
} }
public static void registerMqttTopic(String iotCode, EquipmentIotMqttReceiveConfig equipmentIotMqttReceiveConfig) {
regEquipMqttTopic(iotCode, equipmentIotMqttReceiveConfig);
}
private static void regEquipMqttTopic(String iotCode, EquipmentIotMqttReceiveConfig equipmentIotMqttReceiveConfig) {
if (StringUtil.isNotEmpty(iotCode)) {
String[] topics = equipmentIotMqttReceiveConfig.adapter.getTopic();
if (8 < iotCode.length()) {
String prefix = iotCode.substring(0, 8);
String suffix = iotCode.substring(8);
String newTopic = prefix + "/" + suffix + "/property";
boolean flag = false;
for (String topic : topics) {
if (topic.equals(newTopic)) {
flag = true;
break;
}
}
if (!flag) {
try {
equipmentIotMqttReceiveConfig.adapter.addTopic(prefix + "/" + suffix + "/property", 1);
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
}
@Override @Override
public Map<String, Object> getAll(Long id) { public Map<String, Object> getAll(Long id) {
...@@ -986,27 +1034,6 @@ public class EquipmentSpecificSerivceImpl extends ServiceImpl<EquipmentSpecificM ...@@ -986,27 +1034,6 @@ public class EquipmentSpecificSerivceImpl extends ServiceImpl<EquipmentSpecificM
equipmentDetailService.removeById(equipmentSpecific.getEquipmentDetailId()); equipmentDetailService.removeById(equipmentSpecific.getEquipmentDetailId());
} }
if (res > 0) { if (res > 0) {
String iotCode = equipmentSpecific.getIotCode();
if (StringUtil.isNotEmpty(iotCode)) {
String[] topics = equipmentIotMqttReceiveConfig.adapter.getTopic();
String prefix = iotCode.substring(0, 8);
String suffix = iotCode.substring(8);
String oldTopic = prefix + "/" + suffix + "/property";
boolean flag = false;
for (String topic : topics) {
if (topic.equals(oldTopic)) {
flag = true;
break;
}
}
if (flag) {
try {
equipmentIotMqttReceiveConfig.adapter.removeTopic(prefix + "/" + suffix + "/property");
} catch (Exception e) {
e.printStackTrace();
}
}
}
return true; return true;
} else { } else {
return false; return false;
...@@ -1451,12 +1478,6 @@ public class EquipmentSpecificSerivceImpl extends ServiceImpl<EquipmentSpecificM ...@@ -1451,12 +1478,6 @@ public class EquipmentSpecificSerivceImpl extends ServiceImpl<EquipmentSpecificM
//装备实例对应的性能指标保存 //装备实例对应的性能指标保存
equipmentSpecificIndexSave(equipmentData, equipmentSpecific); equipmentSpecificIndexSave(equipmentData, equipmentSpecific);
} }
//公共:非批量管理,注册物理监听主题
equipmentSpecifics.forEach(e -> {
if (StringUtil.isNotEmpty(e.getIotCode())) {
registerTopic(e.getIotCode());
}
});
} }
relationRedisUtil.delSysRedisKey(fireFightSysIdsBuffer.toString()); relationRedisUtil.delSysRedisKey(fireFightSysIdsBuffer.toString());
return equipmentData; return equipmentData;
...@@ -1552,9 +1573,6 @@ public class EquipmentSpecificSerivceImpl extends ServiceImpl<EquipmentSpecificM ...@@ -1552,9 +1573,6 @@ public class EquipmentSpecificSerivceImpl extends ServiceImpl<EquipmentSpecificM
equipmentSystemSourceStatisticsService.saveBatch(list); equipmentSystemSourceStatisticsService.saveBatch(list);
} }
private void registerTopic(String iotCode) {
regEquipMqttTopic(iotCode, equipmentIotMqttReceiveConfig);
}
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
......
package com.yeejoin.equipmanage.service.impl; package com.yeejoin.equipmanage.service.impl;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.*; import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.atomic.AtomicReference; import java.util.concurrent.atomic.AtomicReference;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import javax.annotation.Resource; import javax.annotation.Resource;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.equipmanage.common.entity.vo.EquipmentSpecificVo;
import com.yeejoin.equipmanage.common.enums.*;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy; import org.springframework.context.annotation.Lazy;
...@@ -22,11 +21,13 @@ import org.springframework.transaction.support.TransactionSynchronization; ...@@ -22,11 +21,13 @@ import org.springframework.transaction.support.TransactionSynchronization;
import org.springframework.transaction.support.TransactionSynchronizationManager; import org.springframework.transaction.support.TransactionSynchronizationManager;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest; import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams; import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel; import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.equipmanage.common.entity.Equipment; import com.yeejoin.equipmanage.common.entity.Equipment;
import com.yeejoin.equipmanage.common.entity.EquipmentDetail; import com.yeejoin.equipmanage.common.entity.EquipmentDetail;
...@@ -44,11 +45,16 @@ import com.yeejoin.equipmanage.common.entity.StockBillDetail; ...@@ -44,11 +45,16 @@ import com.yeejoin.equipmanage.common.entity.StockBillDetail;
import com.yeejoin.equipmanage.common.entity.StockDetail; import com.yeejoin.equipmanage.common.entity.StockDetail;
import com.yeejoin.equipmanage.common.entity.WarehouseStructure; import com.yeejoin.equipmanage.common.entity.WarehouseStructure;
import com.yeejoin.equipmanage.common.entity.vo.EquipmentDetailDownloadVO; import com.yeejoin.equipmanage.common.entity.vo.EquipmentDetailDownloadVO;
import com.yeejoin.equipmanage.common.entity.vo.EquipmentSpecificVo;
import com.yeejoin.equipmanage.common.enums.BillContentEnum;
import com.yeejoin.equipmanage.common.enums.EquipStatusEnum;
import com.yeejoin.equipmanage.common.enums.JournalTypeEnum;
import com.yeejoin.equipmanage.common.enums.NoticeEnum;
import com.yeejoin.equipmanage.common.enums.StockBillTypeEnum;
import com.yeejoin.equipmanage.common.utils.ExcelUtils; import com.yeejoin.equipmanage.common.utils.ExcelUtils;
import com.yeejoin.equipmanage.common.utils.QRCodeUtil; import com.yeejoin.equipmanage.common.utils.QRCodeUtil;
import com.yeejoin.equipmanage.common.utils.StringUtil; import com.yeejoin.equipmanage.common.utils.StringUtil;
import com.yeejoin.equipmanage.common.vo.StockDataVO; import com.yeejoin.equipmanage.common.vo.StockDataVO;
import com.yeejoin.equipmanage.config.EquipmentIotMqttReceiveConfig;
import com.yeejoin.equipmanage.dto.EquipmentDetailDownloadTemplateDto; import com.yeejoin.equipmanage.dto.EquipmentDetailDownloadTemplateDto;
import com.yeejoin.equipmanage.mapper.EquipmentDetailMapper; import com.yeejoin.equipmanage.mapper.EquipmentDetailMapper;
import com.yeejoin.equipmanage.mapper.EquipmentMapper; import com.yeejoin.equipmanage.mapper.EquipmentMapper;
...@@ -105,8 +111,7 @@ public class StockServiceImpl extends ServiceImpl<StockMapper, Stock> implements ...@@ -105,8 +111,7 @@ public class StockServiceImpl extends ServiceImpl<StockMapper, Stock> implements
private ProductionQRCode equipmentProductionQRCode; private ProductionQRCode equipmentProductionQRCode;
@Autowired @Autowired
private IEquipmentSpecificIndexSerivce iEquipmentSpecificIndexSerivce; private IEquipmentSpecificIndexSerivce iEquipmentSpecificIndexSerivce;
@Autowired
EquipmentIotMqttReceiveConfig equipmentIotMqttReceiveConfig;
@Autowired @Autowired
IManufacturerInfoService manufacturerInfoService; IManufacturerInfoService manufacturerInfoService;
...@@ -490,9 +495,6 @@ public class StockServiceImpl extends ServiceImpl<StockMapper, Stock> implements ...@@ -490,9 +495,6 @@ public class StockServiceImpl extends ServiceImpl<StockMapper, Stock> implements
if (!equipmentSpecificIndices.isEmpty()) { if (!equipmentSpecificIndices.isEmpty()) {
iEquipmentSpecificIndexSerivce.saveBatch(equipmentSpecificIndices); iEquipmentSpecificIndexSerivce.saveBatch(equipmentSpecificIndices);
} }
if (equipmentSpecific.getSingle() && StringUtil.isNotEmpty(equipmentSpecific.getIotCode())) {
EquipmentSpecificSerivceImpl.registerMqttTopic(equipmentSpecific.getIotCode(), equipmentIotMqttReceiveConfig);
}
} }
@Override @Override
......
...@@ -2,10 +2,15 @@ package com.yeejoin.equipmanage.service.impl; ...@@ -2,10 +2,15 @@ package com.yeejoin.equipmanage.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yeejoin.equipmanage.common.entity.VideoImportantEquipment; import com.yeejoin.equipmanage.common.entity.VideoImportantEquipment;
import com.yeejoin.equipmanage.common.vo.VideoImportantEquipmentVo;
import com.yeejoin.equipmanage.mapper.VideoImportantEquipmentMapper; import com.yeejoin.equipmanage.mapper.VideoImportantEquipmentMapper;
import com.yeejoin.equipmanage.service.IVideoImportantEquipmentService; import com.yeejoin.equipmanage.service.IVideoImportantEquipmentService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
/** /**
* @author ZeHua Li * @author ZeHua Li
* @date 2020/11/25 15:49 * @date 2020/11/25 15:49
...@@ -13,4 +18,12 @@ import org.springframework.stereotype.Service; ...@@ -13,4 +18,12 @@ import org.springframework.stereotype.Service;
*/ */
@Service @Service
public class VideoImportantEquipmentServiceImpl extends ServiceImpl<VideoImportantEquipmentMapper,VideoImportantEquipment> implements IVideoImportantEquipmentService { public class VideoImportantEquipmentServiceImpl extends ServiceImpl<VideoImportantEquipmentMapper,VideoImportantEquipment> implements IVideoImportantEquipmentService {
@Autowired
private VideoImportantEquipmentMapper videoImportantEquipmentMapper;
@Override
public List<VideoImportantEquipmentVo> getVideoImportantEquipmentList(Map<String, Object> map) {
return videoImportantEquipmentMapper.getVideoImportantEquipmentList(map);
}
} }
<?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.yeejoin.equipmanage.mapper.VideoImportantEquipmentMapper">
<select id="getVideoImportantEquipmentList"
resultType="com.yeejoin.equipmanage.common.vo.VideoImportantEquipmentVo" parameterType="java.util.Map">
SELECT
v.id AS videoId,
v.`name`,
v.`code`,
v.type_code,
v.type,
v.url,
v.img,
v.address,
vie.important_equipment_id
FROM
wl_video v
LEFT JOIN wl_video_important_equipment vie ON v.id = vie.video_id
<where>
<if test="importantEquipmentId != null">
vie.important_equipment_id = #{importantEquipmentId}
</if>
</where>
</select>
</mapper>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment