//tomodify 5(数组等复杂结构或单层的结构体) bool CProtoGearPrice::MakeProtoBody_Req(Json::Value &jsnVal, const ProtoReqDataType &data) { CHECK_RET(warn_if_prop_exists(jsnVal, KEY_REQ_PARAM), false); VT_PROTO_FIELD vtField; GetProtoBodyField_Req(vtField, data.body); Json::Value &jsnBody = jsnVal[KEY_REQ_PARAM]; bool bSuc = CProtoParseBase::MakeProtoFields(jsnBody, vtField); CHECK_OP(bSuc, NOOP); return bSuc; }
//tomodify 6(数组等复杂结构或单层的结构体) bool CProtoOrderUpdatePush::MakeProtoBody_Ack(Json::Value &jsnVal, const ProtoAckDataType &data) { CHECK_RET(warn_if_prop_exists(jsnVal, KEY_ACK_DATA), false); VT_PROTO_FIELD vtField; GetProtoBodyField_Ack(vtField, data.body); Json::Value &jsnBody = jsnVal[KEY_ACK_DATA]; bool bSuc = CProtoParseBase::MakeProtoFields(jsnBody, vtField); CHECK_OP(bSuc, NOOP); return bSuc; }
bool CProtoGearPrice::MakeGearArr(Json::Value &jsnRetData, const ProtoAckBodyType &data) { CHECK_RET(warn_if_prop_exists(jsnRetData, "GearArr"), false); Json::Value &jsnGearArr = jsnRetData["GearArr"]; bool bSuc = true; for ( int n = 0; n < (int)data.vtGear.size(); n++ ) { const GearPriceAckItem &item = data.vtGear[n]; VT_PROTO_FIELD vtField; GetGearArrField(vtField, item); Json::Value &jsnItem = jsnGearArr[n]; bSuc = CProtoParseBase::MakeProtoFields(jsnItem, vtField); CHECK_OP(bSuc, break); } return bSuc; }