| | |
| | | |
| | | import java.util.*; |
| | | |
| | | import com.ruoyi.common.core.domain.entity.SysRole; |
| | | import com.ruoyi.common.utils.uuid.IdUtils; |
| | | import com.ruoyi.system.mapper.SysRoleMapper; |
| | | import com.ruoyi.utils.websocket.util.WebSocketUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | |
| | | |
| | | import javax.annotation.PostConstruct; |
| | | import javax.annotation.Resource; |
| | | import javax.websocket.Session; |
| | | |
| | | import static com.ruoyi.utils.websocket.util.WebSocketUtils.ONLINE_USER_SESSIONS; |
| | | |
| | | /** |
| | | * 单兵端申请查看指挥端位置或三一车辆位置Service业务层处理 |
| | |
| | | public class ArdAppApplicationServiceImpl implements IArdAppApplicationService { |
| | | @Resource |
| | | private ArdAppApplicationMapper ardAppApplicationMapper; |
| | | |
| | | @Resource |
| | | private SysRoleMapper sysRoleMapper; |
| | | |
| | | private Map<String,Thread> threadMap = new HashMap(); |
| | | |
| | |
| | | resultSingle = ardAppApplicationMapper.insertArdAppApplication(ardAppApplication); |
| | | result = result + resultSingle; |
| | | } |
| | | //加入给pc端websocket转发 |
| | | List<SysRole> sysRoleList = sysRoleMapper.selectRolePermissionByUserId(commanderId); |
| | | for(SysRole sysRole : sysRoleList){ |
| | | if(!sysRole.getRoleKey().equals("appLeader")){ |
| | | Map<String,Object> resultMap = ardAppApplicationMapper.selectSYCarApplicationByPCIdAndSoilderId(commanderId,usersId); |
| | | Map<String,Map<String,Object>> msg = new HashMap(); |
| | | msg.put("60000",resultMap); |
| | | for(String id : ONLINE_USER_SESSIONS.keySet()){ |
| | | if(id.startsWith(commanderId)){ |
| | | Session session = ONLINE_USER_SESSIONS.get(id); |
| | | WebSocketUtils.sendMessage(session,msg); |
| | | break; |
| | | } |
| | | } |
| | | break;//一个pc端用户可能挂接多个角色,每个pc端只转发一次 |
| | | } |
| | | } |
| | | } |
| | | return result; |
| | | } |