派生自 development/c++

xuxiuxi
2019-03-08 2faad2a7aa2a5f41badd5fa86904dd9dbab7d286
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
 
#ifndef VSSDOMAINUNITTBL_MANAGER_H
#define VSSDOMAINUNITTBL_MANAGER_H
 
#include "../model/VssDomainUnitTbl.h"
#include "BaseDao.h"
 
#define VSSDomainUnitTbl_TABLE_NAME "VSSDomainUnitTbl"
 
/**
 * 创建一级设备表管理类
 */
class VssDomainUnitTblDao : public BaseDao {
private:
    /** 创建一级设备表构造函数 */
    VssDomainUnitTblDao() {}
public:
    /** 创建一级设备表单例模式 */
    static VssDomainUnitTblDao* instance() {
        static VssDomainUnitTblDao instance;
        return &instance;
    }
    
    /** 添加创建一级设备表 keyValuesToAdd 需要添加的列名和列值对map*/
    mysqlpp::SimpleResult addVssDomainUnitTbl(std::map<std::string, std::string>& keyValuesToAdd) {
        return add(keyValuesToAdd, VSSDomainUnitTbl_TABLE_NAME);
    }
    
    /** 删除创建一级设备表 whereKey 列名;whereValue 列值 */
    bool deleteByColumn(string whereKey, string whereValue) {
        std::map<std::string, std::string> whereKeyValues;
        whereKeyValues[whereKey] = whereValue;
        return deleteVssDomainUnitTbl(whereKeyValues);
    }
 
    /** 删除创建一级设备表 whereColumnNameValues 列名和列值对条件 */
    bool deleteVssDomainUnitTbl(std::map<std::string, std::string>& whereKeyValues) {
        return del(VSSDomainUnitTbl_TABLE_NAME, whereKeyValues);
    }
    
    /** 更新创建一级设备表 keyValuesToUpdate 需要更新的列名和列值对; whereKeyValues 列名和列值条件 */
    bool updateVssDomainUnitTbl(std::map<std::string, std::string>& keyValuesToUpdate, 
                                    std::map<std::string, std::string>& whereKeyValues) {
        return update(keyValuesToUpdate, VSSDomainUnitTbl_TABLE_NAME, whereKeyValues);
    }
    
    /** 更新创建二级设备表 keyValuesToUpdate 需要更新的列名和列值对; whereKeyValues 列名和列值条件 */
    bool updateVssDomainUnitTbl(std::map<std::string, std::string>& keyValuesToUpdate,
                             string whereKey,
                             string whereValue) {
        std::map<std::string, std::string> whereKeyValues;
        whereKeyValues[whereKey] = whereValue;
        return update(keyValuesToUpdate, VSSDomainUnitTbl_TABLE_NAME, whereKeyValues);
    }
    
    /** 查询创建一级设备表列表  querySql 要查询的sql语句 */
    vector<VssDomainUnitTbl> findVssDomainUnitTblList(string querySql) {
        vector<VssDomainUnitTbl> vssDomainUnitTblVec;
        vector<map<string, string>> rowDatList = findList(querySql);
        vssDomainUnitTblVec.reserve(rowDatList.size());
        for (auto rowData : rowDatList) {
            vssDomainUnitTblVec.emplace_back(mapToModel(rowData));
        }
        return vssDomainUnitTblVec;
    }
    
    /**查询创建一级设备表列表 whereKeyValues 列名和列值对条件 */
    vector<VssDomainUnitTbl> findVssDomainUnitTblList(std::map<std::string, std::string>& whereKeyValues) {
        return findVssDomainUnitTblList(string("select * from ") + VSSDomainUnitTbl_TABLE_NAME + " where 1=1 " + getWhereColumnNameValuePair(whereKeyValues));
    }
    
    /**查询所有创建一级设备表列表 */
    vector<VssDomainUnitTbl> findAllVssDomainUnitTblList() {
        return findVssDomainUnitTblList(string("select * from ") + VSSDomainUnitTbl_TABLE_NAME + " where 1=1 ");
    }
    
    /** 查询map列表 querySql 要查询的sql语句 */
    vector<map<string, string>> findMapList(string querySql) {
        return findList(querySql);
    }
    
    /** 执行sql语句 */
    bool execute(string sql) {
        return exec(move(sql));
    }
    
    /** map转model类 */
    VssDomainUnitTbl mapToModel(map<string, string>& rowData) {
        VssDomainUnitTbl vssDomainUnitTbl;
        string IDValue = rowData[VssDomainUnitTbl_ID];
        if (IDValue.length() != 0 && IDValue != "NULL") {
            vssDomainUnitTbl.ID = std::stoi(IDValue);
        }
        string DevPubIDValue = rowData[VssDomainUnitTbl_DevPubID];
        if (DevPubIDValue.length() != 0 && DevPubIDValue != "NULL") {
            vssDomainUnitTbl.DevPubID = DevPubIDValue;
        }
        string DomainPubIDValue = rowData[VssDomainUnitTbl_DomainPubID];
        if (DomainPubIDValue.length() != 0 && DomainPubIDValue != "NULL") {
            vssDomainUnitTbl.DomainPubID = DomainPubIDValue;
        }
        string NameValue = rowData[VssDomainUnitTbl_Name];
        if (NameValue.length() != 0 && NameValue != "NULL") {
            vssDomainUnitTbl.Name = NameValue;
        }
        string BusinessGroupIDValue = rowData[VssDomainUnitTbl_BusinessGroupID];
        if (BusinessGroupIDValue.length() != 0 && BusinessGroupIDValue != "NULL") {
            vssDomainUnitTbl.BusinessGroupID = BusinessGroupIDValue;
        }
        string ParentIdValue = rowData[VssDomainUnitTbl_ParentId];
        if (ParentIdValue.length() != 0 && ParentIdValue != "NULL") {
            vssDomainUnitTbl.ParentId = ParentIdValue;
        }
        string DomainTypeValue = rowData[VssDomainUnitTbl_DomainType];
        if (DomainTypeValue.length() != 0 && DomainTypeValue != "NULL") {
            vssDomainUnitTbl.DomainType = std::stoi(DomainTypeValue);
        }
        string UpdateTimeValue = rowData[VssDomainUnitTbl_UpdateTime];
        if (UpdateTimeValue.length() != 0 && UpdateTimeValue != "NULL") {
            vssDomainUnitTbl.UpdateTime = UpdateTimeValue;
        }
        return vssDomainUnitTbl;
    }
   
};
 
 
#endif //VSSDOMAINUNITTBL_MANAGER_H