#include "FindByInterface.h" #include "M_FindByInterfaceDAO.h" #include "DataManager.h" #include "DataAttribute.h" FindByInterface::FindByInterface() {} FindByInterface::~FindByInterface() {} // void static backupDAOData(DBPlatformSpace::M_FindByInterfaceDAO& src, DBPlatformSpace::M_FindByInterfaceDAO& dst) // { // } // void static restoreData(DBPlatformSpace::M_FindByInterfaceDAO& src, FindByInterface& dst) // { // } void FindByInterface::saveToDao() { using namespace DBPlatformSpace; M_FindByInterfaceDAO* pDao = dynamic_cast(_pDBDAO); if (pDao == nullptr) { pDao = new M_FindByInterfaceDAO(); _pDBDAO = pDao; } pDao->_name = CommonHelper::qstringToStdString(getName()); //名称标识 pDao->_type = _interfaceType; pDao->_sortType = _sortType; pDao->_description = CommonHelper::qstringToStdString(_description); pDao->_bExport = _bIsExport; pDao->_paraList = CommonHelper::qstringToStdString(_paraList); pDao->_sortAttributeList = CommonHelper::qstringToStdString(_sortAtrributeList); } /*从数据库加载一条数据到当前对象*/ void FindByInterface::loadData(DBPlatformSpace::DAO* pDao) { using namespace DBPlatformSpace; _pDBDAO = pDao; M_FindByInterfaceDAO* pFindDAO = dynamic_cast(pDao); _id = pFindDAO->_ID; _bIsExport = pFindDAO->_bExport; _name = CommonHelper::stringToQstring(pFindDAO->_name); _description = CommonHelper::stringToQstring(pFindDAO->_description); _sortType = pFindDAO->_sortType; _classID = pFindDAO->_t_M_EntityTableID; _paraList = CommonHelper::stringToQstring(pFindDAO->_paraList); //排序属性列表 _sortAtrributeList = CommonHelper::stringToQstring(pFindDAO->_sortAttributeList); } /*获取新的属性*/ void FindByInterface::getNewProperty(json& parameter, QVariantMap& valueMap) { auto data = parameter["data"]; //接口名称 valueMap.insert("name", CommonHelper::utf8ToQString(data["name"])); //描述 valueMap.insert("description", CommonHelper::utf8ToQString(data["description"])); //interfaceType valueMap.insert("Interfacetype", (int)(data["type"])); //sortType if (!data["sortType"].is_null()) { valueMap.insert("sortType", (int)(data["sortType"])); } //IsExport if (!data["beExport"].is_null()) { valueMap.insert("IsExport", (int)(data["beExport"])); } //参数列表 if (!data["paramList"].is_null()) { valueMap.insert("paralist", CommonHelper::utf8ToQString(data["paramList"])); } //排序属性 sortAttributes if (!data["sortList"].is_null()) { /*vector*/auto list = data["sortList"]; QStringList sortAttribute; for (auto j : list) { sortAttribute.append(QString::number(j.get())); } QString sortList = sortAttribute.join(","); valueMap.insert("sortAttribute", sortList); } } void FindByInterface::toJson(json& jsonObj, bool) { jsonObj["id"] = _id; jsonObj["name"] = CommonHelper::qstringToUtf8(_name); jsonObj["description"] = CommonHelper::qstringToUtf8(_description); jsonObj["type"] = _interfaceType; jsonObj["beExport"] = _bIsExport == 1 ? true : false; jsonObj["paramList"] = CommonHelper::qstringToUtf8(_paraList); jsonObj["sortType"] = _sortType; if (_sortAtrributeList.isEmpty()) { jsonObj["sortList"] = json::array(); } else { QStringList sortlist = _sortAtrributeList.split(","); for (int i = 0; i < sortlist.size(); i++) { QString id = sortlist.at(i); jsonObj["sortList"].push_back(id.toInt()); } } // data["sortList"] = json::parse(dstData._sortAtrributeList.begin(), dstData._sortAtrributeList.end()); } void FindByInterface::setNewData(json& parameter) { QVariantMap newValues; getNewProperty(parameter, newValues); setProperties(newValues); } bool FindByInterface::deleteSelf() { using namespace DBPlatformSpace; ResultMsg rm; M_FindByInterfaceDAO* pDao = dynamic_cast(_pDBDAO); rm = pDao->delself(); if (rm.rCode == 0) { LOG(INFO) << CommonHelper::utf8ToStdString("M_FindByInterfaceDAO.delself success"); return true; } LOG(INFO) << CommonHelper::utf8ToStdString("M_FindByInterfaceDAO.delself failed"); LOG(INFO) << rm.rMsg; return false; } bool FindByInterface::saveSelf() { using namespace DBPlatformSpace; ResultMsg rm; /*将这条项目数据写入数据库*/ M_FindByInterfaceDAO* pDao = dynamic_cast(_pDBDAO); /*备份DAO数据*/ M_FindByInterfaceDAO oldDaoData; // backupDAOData(*pDao, oldDaoData); if (pDao == nullptr) { pDao = new M_FindByInterfaceDAO(); } saveToDao(); rm = pDao->save(); if (rm.rCode == 0) { LOG(INFO) << CommonHelper::utf8ToStdString("M_FindByInterfaceDAO.save success"); return true; } else { // restoreData(oldDaoData, *this); LOG(INFO) << CommonHelper::utf8ToStdString("M_FindByInterfaceDAO.save failed"); LOG(INFO) << rm.rMsg; return false; } } void FindByInterface::setFileData(FileGenerate* generator, QStringList flag) { DataManager& mgr = GetDataRoot(); QStringList para = _paraList.split("#"); QString paraShow; for (int i = 0; i < para.size(); i++) { QString curStr = para.at(i); int pos = curStr.indexOf(","); QString right = curStr.right(curStr.size() - pos - 1); int id = curStr.left(pos).toInt(); //查找id对应的名称 DataAttribute* pdata = qobject_cast(mgr.findObjectById(DataManager::DataType::dataAttribute, id)); paraShow += (pdata->_strDisplayName + right) + " "; } if (flag.size() == 2) { generator->interfaceTableData.append(new CCS_Report::CCSModelDataSet(flag[0], flag[1], _name, paraShow, CommonHelper::convertInterfaceTypeToStr(_interfaceType))); } else if (flag.size() == 3) { generator->interfaceTableData111.append(new CCS_Report::CCSModelDataSet(flag[0], flag[1], flag[2], _name, paraShow, CommonHelper::convertInterfaceTypeToStr(_interfaceType))); } }