Subversion Repositories SmartDukaan

Rev

Rev 5674 | Go to most recent revision | 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}, 
29
      	entityProperties=#{entityProperties} 
30
	<where>
31
  		id = #{id}
32
  	</where>   	
33
</update>
34
 
35
<!--  select id="isEntityMonitorable" parameterType="int" resultType="int">
36
	SELECT ISNULL((SELECT 1 FROM entity_monitoring_status WHERE entityType = entityType AND isActive = true), 0)
37
</select-->
38
 
39
<select id="getEntity" parameterType="map" resultType="monitored_entity">
40
	SELECT * 
41
	FROM monitored_entity
42
	<where>
43
  		 entityType = #{entityType}
44
  		 AND entityIdentifier = #{entityIdentifier}
45
  	</where>
46
</select>
47
 
5536 amar.kumar 48
<select id="getEntityMonitoringStatus" parameterType="int" resultType="entity_monitoring_status">
49
	SELECT * 
50
	FROM entity_monitoring_status
51
	<where>
52
  		 entityType = #{entityType}
53
  	</where>
54
</select>
55
 
5563 amar.kumar 56
<insert id="insertAlertedEntity" parameterType="alerted_entity" useGeneratedKeys="true" keyProperty="id">
5519 amar.kumar 57
	INSERT INTO alerted_entity
58
      (entityType, eventType, entityIdentifier, lastAlertedTime, entityProperties, entityProcessedState)
59
    VALUES
60
      (#{entityType}, #{eventType}, #{entityIdentifier}, #{lastAlertedTime}, #{entityProperties}, #{entityProcessedState})
61
</insert>
62
 
63
<delete id="removeMonitoredEntity" parameterType="map">
64
	DELETE FROM monitored_entity
65
	<where>
66
  		 entityType = #{entityType}
67
  		 AND entityIdentifier = #{entityIdentifier}
68
  	</where>
69
</delete>
70
 
71
<select id="getEntitiesToBeAlerted" resultType="monitored_entity">
72
	SELECT * 
73
	FROM monitored_entity
74
	<where>
75
  		 (warnExpiryTime &lt;= NOW()
76
  		 AND entityProcessedState &lt; 1)
77
  		 OR (criticalExpiryTime &lt;= NOW()
78
  		 AND entityProcessedState &lt; 2)
79
  	</where>
80
</select>
81
 
5674 amar.kumar 82
<select id="getActiveAlertEntities" resultType="monitored_entity">
83
	SELECT * 
84
	FROM monitored_entity
85
	<where>
86
  		 warnExpiryTime &lt;= NOW()
5759 amar.kumar 87
  		 OR criticalExpiryTime &lt;= NOW()
5674 amar.kumar 88
  	</where>
89
</select>
90
 
5519 amar.kumar 91
<update id="updateEntityProcessedState" parameterType="map">
92
	UPDATE monitored_entity
93
      SET entityProcessedState=#{state}
94
	<where>
95
  		id = #{id}
96
  	</where>   	
97
</update>
98
 
99
<select id="getEntities" parameterType="searchFilter" resultType="monitored_entity">
100
	SELECT * from monitored_entity
101
	<where>
102
    <if test="entityType != 0">
103
        AND entityType = #{entityType}
104
    </if>
105
    <if test="eventType != null">
106
        AND eventType = #{eventType}
107
    </if>
108
    <if test="entityIdentifier != null">
109
        AND entityIdentifier = #{entityIdentifier}
110
    </if>
111
    <if test="entityProcessedState != null">
112
        AND entityProcessedState = #{entityProcessedState}
113
    </if>
114
    </where>
115
</select>
116
 
117
<select id="getAlertedEntities" parameterType="searchFilter" resultType="alerted_entity">
118
	SELECT * from alerted_entity
119
	<where>
120
    <if test="entityType != null">
121
        AND entityType = #{entityType}
122
    </if>
123
    <if test="eventType != null">
124
        AND eventType = #{eventType}
125
    </if>
126
    <if test="entityIdentifier != null">
127
        AND entityIdentifier = #{entityIdentifier}
128
    </if>
129
    <if test="entityProcessedState != null">
130
        AND entityProcessedState = #{entityProcessedState}
131
    </if>
132
    </where>
133
</select>
134
 
135
<select id="getAlertMapper" parameterType="map" resultType="alert_mapper">
136
	SELECT * 
137
	FROM alert_mapper
138
	<where>
139
  		 entityType = #{entityType}
140
  		 AND eventType = #{eventType}
141
  	</where>
142
  	LIMIT 1
143
</select>
144
 
145
<update id="activateEntityMonitoring" parameterType="map">
146
	UPDATE entity_monitoring_status 
147
	SET isActive = true
148
	AND defaultAlertGroup = #{userIds}
149
	<where>
150
  		 entityType = #{entityType}
151
  	</where>
152
</update>
153
 
154
<update id="deActivateEntityMonitoring" parameterType="map">
155
	UPDATE entity_monitoring_status 
156
	SET isActive = 0
157
	<where>
158
  		 entityType = #{entityType}
159
  	</where>
160
</update>
161
 
162
<insert id="registerEventType" parameterType="alert_mapper">
163
	INSERT INTO alert_mapper
164
      (entityType, eventType, eventDescription, userIds, alertType)
165
    VALUES
166
      (#{entityType}, #{eventType}, #{eventDescription}, #{userIds}, #{alertType})
167
</insert>
168
 
169
</mapper>