派生自 development/c++

xuxiuxi
2019-02-28 41a1e1ea6173eee746f3b393e164d4815dfc7fa7
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
 
#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