Subversion Repositories SmartDukaan

Rev

Rev 5759 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
5519 amar.kumar 1
<?xml version="1.0" encoding="UTF-8"?>
2
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" 
3
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
4
 
5
<mapper namespace="in.shop2020.alert.persistence.EntityMapper">
6
<resultMap type="monitored_entity" id="monitored_entityResult">
7
		<id property="id" column="id"/>
8
	</resultMap>
9
 
10
<select id="isEntityMonitorable" parameterType="int" resultType="boolean">
11
	SELECT isActive
12
	FROM entity_monitoring_status
13
	<where>
14
        entityType = #{entityType}
15
	</where>
16
</select>
17
 
18
<insert id="insertEntity" parameterType="monitored_entity" useGeneratedKeys="true" keyProperty="id">
19
	INSERT INTO monitored_entity
20
		(entityType, eventType, entityIdentifier, warnExpiryTime, criticalExpiryTime, entityProperties, entityProcessedState)
21
    VALUES
22
      (#{entityType}, #{eventType}, #{entityIdentifier}, #{warnExpiryTime}, #{criticalExpiryTime}, #{entityProperties}, 1)
23
</insert>
24
 
25
<update id="updateEntity" parameterType="monitored_entity">
26
	UPDATE monitored_entity
27
      SET eventType=#{eventType}, warnExpiryTime=#{warnExpiryTime}, 
28
      	criticalExpiryTime=#{criticalExpiryTime}, 
5781 amar.kumar 29
      	entityProperties=#{entityProperties},
30
      	entityProcessedState = 1 
5519 amar.kumar 31
	<where>
32
  		id = #{id}
33
  	</where>   	
34
</update>
35
 
36
<!--  select id="isEntityMonitorable" parameterType="int" resultType="int">
37
	SELECT ISNULL((SELECT 1 FROM entity_monitoring_status WHERE entityType = entityType AND isActive = true), 0)
38
</select-->
39
 
40
<select id="getEntity" parameterType="map" resultType="monitored_entity">
41
	SELECT * 
42
	FROM monitored_entity
43
	<where>
44
  		 entityType = #{entityType}
45
  		 AND entityIdentifier = #{entityIdentifier}
46
  	</where>
47
</select>
48
 
5536 amar.kumar 49
<select id="getEntityMonitoringStatus" parameterType="int" resultType="entity_monitoring_status">
50
	SELECT * 
51
	FROM entity_monitoring_status
52
	<where>
53
  		 entityType = #{entityType}
54
  	</where>
55
</select>
56
 
5563 amar.kumar 57
<insert id="insertAlertedEntity" parameterType="alerted_entity" useGeneratedKeys="true" keyProperty="id">
5519 amar.kumar 58
	INSERT INTO alerted_entity
59
      (entityType, eventType, entityIdentifier, lastAlertedTime, entityProperties, entityProcessedState)
60
    VALUES
61
      (#{entityType}, #{eventType}, #{entityIdentifier}, #{lastAlertedTime}, #{entityProperties}, #{entityProcessedState})
62
</insert>
63
 
64
<delete id="removeMonitoredEntity" parameterType="map">
65
	DELETE FROM monitored_entity
66
	<where>
67
  		 entityType = #{entityType}
68
  		 AND entityIdentifier = #{entityIdentifier}
69
  	</where>
70
</delete>
71
 
72
<select id="getEntitiesToBeAlerted" resultType="monitored_entity">
73
	SELECT * 
74
	FROM monitored_entity
75
	<where>
76
  		 (warnExpiryTime &lt;= NOW()
77
  		 AND entityProcessedState &lt; 1)
78
  		 OR (criticalExpiryTime &lt;= NOW()
79
  		 AND entityProcessedState &lt; 2)
80
  	</where>
81
</select>
82
 
5674 amar.kumar 83
<select id="getActiveAlertEntities" resultType="monitored_entity">
84
	SELECT * 
85
	FROM monitored_entity
86
	<where>
87
  		 warnExpiryTime &lt;= NOW()
5759 amar.kumar 88
  		 OR criticalExpiryTime &lt;= NOW()
5674 amar.kumar 89
  	</where>
90
</select>
91
 
5519 amar.kumar 92
<update id="updateEntityProcessedState" parameterType="map">
93
	UPDATE monitored_entity
94
      SET entityProcessedState=#{state}
95
	<where>
96
  		id = #{id}
97
  	</where>   	
98
</update>
99
 
100
<select id="getEntities" parameterType="searchFilter" resultType="monitored_entity">
101
	SELECT * from monitored_entity
102
	<where>
103
    <if test="entityType != 0">
104
        AND entityType = #{entityType}
105
    </if>
106
    <if test="eventType != null">
107
        AND eventType = #{eventType}
108
    </if>
109
    <if test="entityIdentifier != null">
110
        AND entityIdentifier = #{entityIdentifier}
111
    </if>
112
    <if test="entityProcessedState != null">
113
        AND entityProcessedState = #{entityProcessedState}
114
    </if>
115
    </where>
116
</select>
117
 
118
<select id="getAlertedEntities" parameterType="searchFilter" resultType="alerted_entity">
119
	SELECT * from alerted_entity
120
	<where>
121
    <if test="entityType != null">
122
        AND entityType = #{entityType}
123
    </if>
124
    <if test="eventType != null">
125
        AND eventType = #{eventType}
126
    </if>
127
    <if test="entityIdentifier != null">
128
        AND entityIdentifier = #{entityIdentifier}
129
    </if>
130
    <if test="entityProcessedState != null">
131
        AND entityProcessedState = #{entityProcessedState}
132
    </if>
133
    </where>
134
</select>
135
 
136
<select id="getAlertMapper" parameterType="map" resultType="alert_mapper">
137
	SELECT * 
138
	FROM alert_mapper
139
	<where>
140
  		 entityType = #{entityType}
141
  		 AND eventType = #{eventType}
142
  	</where>
143
  	LIMIT 1
144
</select>
145
 
146
<update id="activateEntityMonitoring" parameterType="map">
147
	UPDATE entity_monitoring_status 
148
	SET isActive = true
149
	AND defaultAlertGroup = #{userIds}
150
	<where>
151
  		 entityType = #{entityType}
152
  	</where>
153
</update>
154
 
155
<update id="deActivateEntityMonitoring" parameterType="map">
156
	UPDATE entity_monitoring_status 
157
	SET isActive = 0
158
	<where>
159
  		 entityType = #{entityType}
160
  	</where>
161
</update>
162
 
163
<insert id="registerEventType" parameterType="alert_mapper">
164
	INSERT INTO alert_mapper
165
      (entityType, eventType, eventDescription, userIds, alertType)
166
    VALUES
167
      (#{entityType}, #{eventType}, #{eventDescription}, #{userIds}, #{alertType})
168
</insert>
169
 
170
</mapper>