⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 smsserverhelper.java

📁 用Java编写的GPS监控系统后台私服的核心代码。
💻 JAVA
📖 第 1 页 / 共 4 页
字号:

                            String strMessage;
                            Device device = ApplicationContext.devicesQueue.findDeviceByID(nDeviceID);
                            if (device == null) {
                                strMessage = "监控设备 " + nDeviceID + " 为系统非法设备!";
                                CommonLogger.Info("SMSServerHelper", strMessage);
                                continue;
                            }
                            //获取设备的SIM卡号
                            String strMobile = device.getDeviceInfos().getMobileCard();
                            //从数据库中获取设备的信息
                            String strResult = DatabaseHelper.getDeviceInfos(nDeviceID);
                            String strSMSText;
                            if (strResult == null) {
                                strSMSText = Integer.toString(SERVER_RESPONSE_DEVICES_INFOS_DEVICE)
                                        + "|0|";
                                //回复命令
                                sb.sendSMS(strMobile, strSMSText);
                            } else {
                                SplitSMSString splitSMS = new SplitSMSString(strResult);
                                int nCount = splitSMS.getSMSCount();
                                String strHeader = Integer.toString(SERVER_RESPONSE_DEVICES_INFOS_DEVICE)
                                        + "|1|";
                                for (int nIndex = 0; nIndex < nCount; nIndex++) {
                                    strSMSText = strHeader + splitSMS.getSMS(nIndex);
                                    //发送短消息
                                    sb.sendSMS(strMobile, strSMSText);
                                    try {
                                        sleep(500);
                                    } catch (InterruptedException e) {
                                        e.printStackTrace();
                                    }
                                }
                            }
                            strMessage = "监控设备 " + Integer.toString(nDeviceID)
                                    + " 请求获取其它监控设备的信息";
                            CommonLogger.Info("设备请求设备信息(GSM)", strMessage);
                            break;
                        }
                        //导航设备向后台服务请求预设行动路线信息,命令码值为:11
                    case DEVICE_REQUEST_ACTION_ROUTE_INFOS_SERVER:
                        {
                            String strData = parser.getDataBody();
                            if (strData == null)
                                break;
                            RequestParser rParser = new RequestParser(strData);
                            rParser.parse();

                            //获取设备的信息
                            int nDeviceID = rParser.getDeviceID();
                            if (nDeviceID == 0)
                                break;
                            String strMessage;
                            Device device = ApplicationContext.devicesQueue.findDeviceByID(nDeviceID);
                            if (device == null) {
                                strMessage = "监控设备 " + nDeviceID + " 为系统非法设备!";
                                CommonLogger.Info("SMSServerHelper", strMessage);
                                continue;
                            }
                            //从数据库中获取行动路线信息
                            String strResult = DatabaseHelper.getActionInfosByDeviceIDEx(nDeviceID);
                            String strSMSText = null;
                            if (strResult == null) {
                                strSMSText = Integer.toString(SERVER_SEND_ACTION_ROUTE_INFOS_DEVICE)
                                        + "|0";
                            } else {
                                strSMSText = Integer.toString(SERVER_SEND_ACTION_ROUTE_INFOS_DEVICE)
                                        + "|" + strResult;
                            }
                            //回复命令
                            String strMobile = device.getDeviceInfos().getMobileCard();
                            sb.sendSMS(strMobile, strSMSText);
                            //打印信息
                            strMessage = "监控设备 " + Integer.toString(nDeviceID)
                                    + " 请求获取行动路线信息";
                            CommonLogger.Info("设备请求行动路线信息(GSM)", strMessage);
                            break;
                        }
                        //导航设备向后台服务响应预设行动路线的信息,命令码值为:12
                    case DEVICE_RESPONSE_ACTION_ROUTE_INFOS_SERVER:
                        {
                            String strData = parser.getDataBody();
                            if (strData == null)
                                break;
                            RequestParser rParser = new RequestParser(strData);
                            rParser.parse();

                            //获取设备信息
                            int nDeviceID = rParser.getDeviceID();
                            if (nDeviceID == 0)
                                break;
                            //打印信息
                            String strMessage = "监控设备 " + Integer.toString(nDeviceID)
                                    + "响应获取行动路线信息";
                            CommonLogger.Info("设备响应行动路线信息(GSM)", strMessage);
                            break;
                        }
                        //监控设备向后台服务报告设备的状态处于语音状态,命令码值为:13
                    case DEVICE_SEND_STATE_INFOS_SERVER:
                        {
                            String strData = parser.getDataBody();
                            if (strData == null)
                                break;
                            RequestParser rParser = new RequestParser(strData);
                            rParser.parse();

                            //获取设备编号
                            int nDeviceID = rParser.getDeviceID();
                            if (nDeviceID == 0)
                                break;

                            //设置设备的状态
                            ApplicationContext.devicesQueue.setDeviceCommunicationState(nDeviceID, REGISTERED_SPEECHING_STATE);
                            //打印信息
                            String strMessage = "监控设备 " + Integer.toString(nDeviceID)
                                    + "发送设备处于语音状态的信息";
                            CommonLogger.Info("设备处于语音状态的信息(GSM)", strMessage);
                            break;
                        }
                        //导航设备向后台服务请求车辆信息,命令码值为:13
                    case DEVICE_REQUEST_VEHICLE_INFOS_SERVER:
                        {
                            String strData = parser.getDataBody();
                            if (strData == null)
                                break;

                            RequestParserExt rParser = new RequestParserExt(strData);
                            rParser.parse();

                            //获取设备的编号
                            int nDeviceID = rParser.getDeviceID();
                            if (nDeviceID == 0)
                                break;

                            String strMessage, strMobile;
                            Device device = ApplicationContext.devicesQueue.findDeviceByID(nDeviceID);
                            if (device == null) {
                                strMessage = "监控设备 " + nDeviceID + " 为系统非法设备!";
                                CommonLogger.Info("SMSServerHelper", strMessage);
                                continue;
                            } else {
                                strMobile = device.getDeviceInfos().getMobileCard();
                            }
                            //获取查询标志
                            String strQueryFlag = rParser.getQueryFlag();
                            if (strQueryFlag == null || strQueryFlag.length() == 0)
                                break;

                            String strLicense, strSMSText;
                            VehicleInfos vInfos = null;
                            PersonInfos pInfos = null;
                            if (strQueryFlag.equals("0")) {
                                //获取车牌号码
                                strLicense = rParser.getVehicleLicense();
                                //根据车牌号码获取车辆信息
                                vInfos = DatabaseHelper.getVehicleInfosByLicense(strLicense);
                                if (vInfos == null) {
                                    strSMSText = Integer.toString(SERVER_RESPONSE_VEHICLE_INFOS_DEVICE)
                                            + "|0";
                                    sb.sendSMS(strMobile, strSMSText);
                                    break;
                                }

                                int nPersonID = vInfos.getPersonID();
                                pInfos = DatabaseHelper.getPersonInfosByID(nPersonID);
                                if (pInfos == null) {
                                    strSMSText = Integer.toString(SERVER_RESPONSE_VEHICLE_INFOS_DEVICE)
                                            + "|1|" + vInfos.toMiniString() + "|NULL";
                                    sb.sendSMS(strMobile, strSMSText);
                                    break;
                                }
                            } else {
                                //获取身份证号
                                strLicense = rParser.getIDCode();
                                //根据车主编号获取车辆信息
                                pInfos = DatabaseHelper.getPersonInfosByIDCode(strLicense);
                                if (pInfos == null) {
                                    strSMSText = Integer.toString(SERVER_RESPONSE_VEHICLE_INFOS_DEVICE)
                                            + "|0";
                                    sb.sendSMS(strMobile, strSMSText);
                                    break;
                                }

                                int nPersonID = pInfos.getPersonID();
                                vInfos = DatabaseHelper.getVehicleInfosByPersonID(nPersonID);
                                if (vInfos == null) {
                                    strSMSText = Integer.toString(SERVER_RESPONSE_VEHICLE_INFOS_DEVICE)
                                            + "|1|NULL|" + pInfos.toMiniString();
                                    sb.sendSMS(strMobile, strSMSText);
                                    break;
                                }
                            }
                            //利用短信发送车辆信息和车主信息。
                            strSMSText = Integer.toString(SERVER_RESPONSE_VEHICLE_INFOS_DEVICE)
                                    + "|1|" + vInfos.toMiniString()
                                    + "|" + pInfos.toMiniString();
                            sb.sendSMS(strMobile, strSMSText);

                            strMessage = "监控设备 " + Integer.toString(nDeviceID)
                                    + "查询车牌号码为: " + strLicense + " 的车辆及车主的信息";
                            CommonLogger.Info("设备查询车辆信息(GSM)", strMessage);
                            break;
                        }

                } //END OF SWITCH
                strReadBuffer = null;
            }
            System.out.println("SMSServerHelper: Stop Thread...");

        }  //END OF WHILE

    } //END OF Reader
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -