diff --git a/evo-admin/src/main/java/com/evo/equipment/service/IEqButtonService.java b/evo-admin/src/main/java/com/evo/equipment/service/IEqButtonService.java index de6b582..7cb6718 100644 --- a/evo-admin/src/main/java/com/evo/equipment/service/IEqButtonService.java +++ b/evo-admin/src/main/java/com/evo/equipment/service/IEqButtonService.java @@ -2,6 +2,7 @@ package com.evo.equipment.service; import com.evo.common.core.domain.AjaxResult; import com.evo.equipment.domain.EqButton; +import com.evo.equipment.domain.EqSnDetail; import java.util.List; @@ -60,4 +61,7 @@ public interface IEqButtonService * @return 按钮信息 */ public EqButton selectEqButtonByName(String name); + + + public void sendButton(EqSnDetail snDetail); } diff --git a/evo-admin/src/main/java/com/evo/equipment/service/impl/EqButtonServiceImpl.java b/evo-admin/src/main/java/com/evo/equipment/service/impl/EqButtonServiceImpl.java index 5eb4e44..0d18bf3 100644 --- a/evo-admin/src/main/java/com/evo/equipment/service/impl/EqButtonServiceImpl.java +++ b/evo-admin/src/main/java/com/evo/equipment/service/impl/EqButtonServiceImpl.java @@ -205,4 +205,34 @@ public class EqButtonServiceImpl implements IEqButtonService return eqButtonMapper.selectEqButtonByName(name); } + @Override + public void sendButton(EqSnDetail snDetail) { + //获取所有打卡按钮 + List bt_list = eqButtonMapper.selectEqButtonList(null); + + CwButtonVo cbv = new CwButtonVo(); + CwButtonData cbd = new CwButtonData(); + //该接口固定为to_device,发送给设备用于识别对应哪个指令 + cbv.setCmd("to_device"); + //无用值,空串 + cbv.setForm(""); + //设备号 + cbv.setTo(snDetail.getSn()); + //发送的数据 + cbd.setCmd("setButtons"); + //按钮对象 + CwBottonDto cwBottonDto = null; + //按钮集合 + List list2 = new ArrayList(); + for (EqButton button : bt_list) { + cwBottonDto = new CwBottonDto(); + cwBottonDto.setIcon(button.getImage()); + list2.add(cwBottonDto); + } + cbd.setValue(list2); + cbv.setData(cbd); + //调用websocket,推送给设备 + WebSocketUsers.sendMessageToUsersByText(JSONObject.toJSONString(cbv)); + } + } diff --git a/evo-admin/src/main/java/com/evo/framework/websocket/WebSocketServer.java b/evo-admin/src/main/java/com/evo/framework/websocket/WebSocketServer.java index 670f970..df61f13 100644 --- a/evo-admin/src/main/java/com/evo/framework/websocket/WebSocketServer.java +++ b/evo-admin/src/main/java/com/evo/framework/websocket/WebSocketServer.java @@ -3,6 +3,7 @@ package com.evo.framework.websocket; import com.alibaba.fastjson2.JSONObject; import com.evo.common.constant.Constants; import com.evo.equipment.domain.EqSnDetail; +import com.evo.equipment.service.IEqButtonService; import com.evo.equipment.service.IEqSnDetailService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -26,9 +27,12 @@ public class WebSocketServer{ private static IEqSnDetailService snDetailService; + private static IEqButtonService qButtonService; + @Autowired - public void setBrandService(IEqSnDetailService snDetailService) { + public void setBrandService(IEqSnDetailService snDetailService, IEqButtonService qButtonService) { WebSocketServer.snDetailService = snDetailService; + WebSocketServer.qButtonService = qButtonService; } /** @@ -158,6 +162,8 @@ public class WebSocketServer{ //添加 snDetailService.insertEqSnDetail(snDetail); } + //更新按钮 + qButtonService.sendButton(snDetail); }else{ //接受设备端返回的数据,先不做处理 System.out.println("设备返回信息:"+message);