#include "syscommugroupmgtthread.h" #include #include #include #include SysCommuGroupMgtThread::SysCommuGroupMgtThread(QObject *iParent) : TopClassThreadAbs(iParent) { } SysCommuGroupMgtThread::~SysCommuGroupMgtThread() { } void SysCommuGroupMgtThread::run() { if (invokeName() == "DELETE_MAILGROUP") { deleteMailGroup(); } } void SysCommuGroupMgtThread::deleteMailGroup() { TDataResponse dataRes; TSqlQueryV2 sqlQuery(T_SQLCNT_POOL->getSqlDatabase()); sqlQuery.begin(); try { //删除邮箱组中的数据 TSqlDeleterV2 sqlDeleter; sqlDeleter.setTable("sys_commu_grp"); sqlDeleter.setWhere("id", invokeParameter()); sqlQuery.deleteRow(sqlDeleter); if (sqlQuery.lastError().isValid()) { throw sqlQuery.lastError(); } //删除关联表中的数据 sqlDeleter.setTable("sys_commu_grp_detail"); sqlDeleter.setWhere("commu_grp_id", invokeParameter()); sqlQuery.deleteRow(sqlDeleter); if (sqlQuery.lastError().isValid()) { throw sqlQuery.lastError(); } sqlQuery.commit(); setInvokeResult(dataRes.toVariantMap()); return; } catch (const TError &err) { dataRes.setError(err); } catch (...) { dataRes.setErrText(ttr("Unknow Error!")); } sqlQuery.rollback(); setInvokeResult(dataRes.toVariantMap()); }