数据传输,数据解析与写数据库
新建分支
克隆代码
git clone http://10.18.30.102:9091/zhangchengshun/datacenterserver.git
切换分支
git checkout v1.4.0
修改代码
void ImageServiceHandler::sendSample(Response &_return, const SampleData &data)
{int64 uid = -1;int ret = verifyToken(data.token, uid);if(0 != ret){_return.__set_iRetCode(RET_INVALID_TOKEN);cout<<"error invalid token"<<endl;return;}if(m_pThreadPool){std::string sqlbuffer;if((int)data.deviceType == DEVICE_JMMINI){std::string sampleNum = data.sampleNum;//解析JSON串int dsmode = -1;std::string batchNum;std::string jmmodel;Json::Value root;//定义reader对象Json::Reader read;if(read.parse(sampleNum, root)){Json::Value dsmodeValue = root["dsmode"];Json::Value batchNumValue = root["batchnum"];Json::Value jmmodelValue = root["jmmodel"];if(!dsmodeValue.isNull()){dsmode = dsmodeValue.asInt();}if(!batchNumValue.isNull()){batchNum = batchNumValue.asString();}if(!jmmodelValue.isNull()){jmmodel = jmmodelValue.asString();}}sampleNum = "";//样本编号设为空sqlbuffer = (boost::format("insert into %1% (user_id, device_type, device_id, sample_id, detect_time, sample_num, sample_type,"" detector, dilution, model_type, settle_time, dye_level, sample_info, device_code, dsmode, batchnum, jmmodel)"" values(%2%, %3%, %4%, \'%5%\', %6%, \'%7%\', \'%8%\', \'%9%\', %10%, %11%, %12%, %13%, \'%14%\', \'%15%\'"" , %16%, \'%17%\', \'%18%\');")%PRE_SAMPLE_TABLE %uid %(int)data.deviceType %data.deviceId %data.sampleId %data.detectTime%sampleNum %data.sampleType %data.detector %data.dilution %data.modelType%data.depositionTime %data.dyeNo %data.sampleInfo %data.sampleDescription%dsmode %batchNum %jmmodel).str();}else{sqlbuffer = (boost::format("insert into %1% (user_id, device_type, device_id, sample_id, detect_time, sample_num, sample_type,"" detector, dilution, model_type, settle_time, dye_level, sample_info, device_code)"" values(%2%, %3%, %4%, \'%5%\', %6%, \'%7%\', \'%8%\', \'%9%\', %10%, %11%, %12%, %13%, \'%14%\', \'%15%\');")%PRE_SAMPLE_TABLE %uid %(int)data.deviceType %data.deviceId %data.sampleId %data.detectTime%data.sampleNum %data.sampleType %data.detector %data.dilution %data.modelType%data.depositionTime %data.dyeNo %data.sampleInfo %data.sampleDescription).str();}//key uid+devicetype+deviceid+detectTimestd::string key = to_string(uid) +"_" +to_string(data.deviceType) +"_" +to_string(data.deviceId)+ "_" + to_string(data.detectTime);m_mapSampleSql[key] = sqlbuffer;_return.__set_iRetCode(RET_SUCCESS);}
}
部署服务,先停止再启动服务
配置server IP和端口,以及存储目录
配置DB地址,端口,用户名和密码