|
|
@@ -154,6 +154,26 @@ public class DbStockController extends AbstractController {
|
|
|
DbStock oldDbStock = dbStockService.getById(dbStockBo.getId());
|
|
|
if (dbStockService.update(new LambdaUpdateWrapper<DbStock>().eq(DbStock::getId, dbStockBo.getId()).set(DbStock::getBeaconTag, dbStockBo.getBeaconTag()))) {
|
|
|
redisService.deleteObject(BaseConstants.BEACON_MATE_DET+"~"+ oldDbStock.getBeaconTag()+"~"+oldDbStock.getSubjectId()+"~"+oldDbStock.getGasName());
|
|
|
+ //先把对应的信标提示语撤销
|
|
|
+ List <Map<String,Object>> beaconNoticeList = redisService.getCacheObject(BaseConstants.BEACON_MATE_NOTICE+"~"+oldDbStock.getSubjectId());
|
|
|
+ List <Map<String,Object>> newNoticeList = new ArrayList <>();
|
|
|
+ if(beaconNoticeList!=null){
|
|
|
+ newNoticeList.addAll(beaconNoticeList);
|
|
|
+ }
|
|
|
+ //todo 循环信标通知,修改的信标提示语移除。
|
|
|
+ if(beaconNoticeList != null){
|
|
|
+ for(Map notice:beaconNoticeList){
|
|
|
+ if(notice.get("beaconTag").equals(oldDbStock.getBeaconTag())){
|
|
|
+ log.info("=====================================》移除返回来的信标提示语:"+notice);
|
|
|
+ newNoticeList.remove(notice);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //下发通知,告诉前端页面,查询redis获取相关信息
|
|
|
+ if(beaconNoticeList!=null && beaconNoticeList.size()!=newNoticeList.size()){
|
|
|
+ //判断通知消息集合有数据,说明信标有变动,需要重新变更加通知
|
|
|
+ redisService.setCacheObject(BaseConstants.BEACON_MATE_NOTICE+"~"+ oldDbStock.getSubjectId(),newNoticeList, 30L, TimeUnit.MINUTES);
|
|
|
+ }
|
|
|
//todo 重新加载入库的信标到redis chai
|
|
|
DbStock newDbStock = dbStockService.getById(dbStockBo.getId());
|
|
|
new Thread(()->loadBeaconDate(newDbStock)).start();
|