<?xml version="1.0" encoding="UTF-8" ?>
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
|
<mapper namespace="com.wgcloud.mapper.ShellStateMapper">
|
<resultMap id="resultMap" type="com.wgcloud.entity.ShellState">
|
<id column="ID" property="id" jdbcType="CHAR" />
|
<result column="SHELL_ID" property="shellId" jdbcType="CHAR" />
|
<result column="HOST_NAME" property="hostname" jdbcType="CHAR" />
|
<result column="STATE" property="state" jdbcType="CHAR" />
|
<result column="SHELL" property="shell" jdbcType="CHAR" />
|
<result column="SHELL_TIME" property="shellTime" jdbcType="CHAR" />
|
<result column="CREATE_TIME" property="createTime" jdbcType="TIMESTAMP" />
|
</resultMap>
|
|
<sql id="tableColumnList">
|
ID,SHELL_ID,SHELL, HOST_NAME,STATE,CREATE_TIME,SHELL_TIME
|
</sql>
|
|
<select id="selectById" resultMap="resultMap" parameterType="java.lang.String">
|
SELECT
|
<include refid="tableColumnList" />
|
FROM SHELL_STATE
|
WHERE ID=#{id}
|
</select>
|
|
|
<delete id="deleteByShellId" parameterType="java.lang.String">
|
DELETE FROM SHELL_STATE WHERE APP_INFO_ID = #{shellId}
|
</delete>
|
|
<delete id="deleteByDate" parameterType="map">
|
DELETE FROM SHELL_STATE WHERE
|
<if test="_databaseId == 'mysql'">
|
<![CDATA[ CREATE_TIME <=#{endTime}]]>
|
</if>
|
<if test="_databaseId == 'postgresql'">
|
<![CDATA[ CREATE_TIME <= cast(#{endTime} as timestamp)]]>
|
</if>
|
<if test="_databaseId == 'oracle'">
|
<![CDATA[ CREATE_TIME <= to_date(#{endTime},'yyyy-MM-dd hh24:mi:ss')]]>
|
</if>
|
</delete>
|
|
<delete id="deleteByPrimaryKey" parameterType="java.lang.String">
|
DELETE FROM SHELL_STATE
|
WHERE ID = #{id}
|
</delete>
|
|
<delete id="deleteById" parameterType="java.lang.String">
|
DELETE FROM
|
SHELL_STATE
|
WHERE ID IN
|
<foreach item="item" index="index" collection="array" open="(" separator="," close=")">
|
#{item}
|
</foreach>
|
</delete>
|
|
<update id="updateSendByIds" parameterType="java.lang.String">
|
update SHELL_STATE set STATE='4' WHERE ID IN
|
<foreach item="item" index="index" collection="array" open="(" separator="," close=")">
|
#{item}
|
</foreach>
|
</update>
|
|
<update id="cancelByShellId" parameterType="java.lang.String">
|
update SHELL_STATE set STATE='2' WHERE STATE='1' and SHELL_ID = #{shellId}
|
</update>
|
|
<update id="restartByShellId" parameterType="java.lang.String">
|
update SHELL_STATE set STATE='1',CREATE_TIME=current_timestamp WHERE SHELL_ID = #{shellId} AND SHELL_TIME = #{shellTime}
|
</update>
|
|
|
<insert id="save" parameterType="com.wgcloud.entity.ShellState">
|
INSERT INTO SHELL_STATE
|
<trim prefix="(" suffix=")" suffixOverrides="," >
|
<if test="id != null" >ID,</if>
|
<if test="shellId != null" >SHELL_ID,</if>
|
<if test="hostname != null" >HOST_NAME,</if>
|
<if test="state != null" >STATE,</if>
|
<if test="shell != null" >SHELL,</if>
|
<if test="shellTime != null" >SHELL_TIME,</if>
|
<if test="createTime != null" >CREATE_TIME</if>
|
</trim>
|
<trim prefix="values (" suffix=")" suffixOverrides="," >
|
<if test="id != null" >#{id},</if>
|
<if test="shellId != null" >#{shellId},</if>
|
<if test="hostname != null" >#{hostname},</if>
|
<if test="state != null" >#{state},</if>
|
<if test="shell != null" >#{shell},</if>
|
<if test="shellTime != null" >#{shellTime},</if>
|
<if test="createTime != null" >#{createTime}</if>
|
</trim>
|
</insert>
|
|
<update id="updateById" parameterType="com.wgcloud.entity.ShellState">
|
UPDATE SHELL_STATE
|
<set>
|
<if test="shellId != null">
|
SHELL_ID = #{shellId},
|
</if>
|
<if test="hostname != null">
|
HOST_NAME = #{hostname},
|
</if>
|
<if test="state != null">
|
STATE = #{state},
|
</if>
|
<if test="shell != null">
|
SHELL = #{shell},
|
</if>
|
<if test="shellTime != null">
|
SHELL_TIME = #{shellTime},
|
</if>
|
<if test="createTime != null">
|
CREATE_TIME = #{createTime}
|
</if>
|
</set>
|
WHERE ID = #{id}
|
</update>
|
|
|
<insert id="insertList" parameterType="java.util.List" >
|
<choose>
|
<when test="_databaseId == 'oracle'">
|
begin
|
<foreach collection="list" item="item" index="index">
|
INSERT INTO SHELL_STATE (ID, SHELL_ID,SHELL, HOST_NAME,STATE,CREATE_TIME,SHELL_TIME) VALUES
|
(#{item.id},#{item.shellId},#{item.shell},#{item.hostname},#{item.state},#{item.createTime},#{item.shellTime});
|
</foreach>
|
end;
|
</when>
|
<otherwise>
|
INSERT INTO SHELL_STATE (ID, SHELL_ID,SHELL, HOST_NAME,STATE,CREATE_TIME,SHELL_TIME) VALUES
|
<foreach collection="list" item="item" index="index" separator="," >
|
(#{item.id},#{item.shellId},#{item.shell},#{item.hostname},#{item.state},#{item.createTime},#{item.shellTime})
|
</foreach>
|
</otherwise>
|
</choose>
|
</insert>
|
|
|
<select id="countByParams" parameterType="map" resultType="java.lang.Integer">
|
SELECT count(*) FROM SHELL_STATE t
|
<where>
|
<if test="shellId != null">
|
<![CDATA[ AND SHELL_ID = #{shellId} ]]>
|
</if>
|
<if test="state != null">
|
<![CDATA[ AND STATE = #{state} ]]>
|
</if>
|
</where>
|
</select>
|
|
<select id="selectAllByParams" parameterType="map" resultMap="resultMap">
|
SELECT
|
<include refid="tableColumnList" />
|
FROM SHELL_STATE t
|
<where>
|
<if test="hostname != null">
|
<![CDATA[ AND HOST_NAME = #{hostname} ]]>
|
</if>
|
<if test="shellId != null">
|
<![CDATA[ AND SHELL_ID = #{shellId} ]]>
|
</if>
|
<if test="state != null">
|
<![CDATA[ AND STATE = #{state} ]]>
|
</if>
|
<if test="shellTime != null">
|
<if test="_databaseId == 'mysql'">
|
<![CDATA[ AND convert(SHELL_TIME, signed) <= #{shellTime} ]]>
|
</if>
|
<if test="_databaseId == 'postgresql'">
|
<![CDATA[ AND to_number(SHELL_TIME,'9999999999999') <= #{shellTime} ]]>
|
</if>
|
<if test="_databaseId == 'oracle'">
|
<![CDATA[ AND to_number(SHELL_TIME,'9999999999999') <= #{shellTime} ]]>
|
</if>
|
</if>
|
<if test="startTime != null and endTime !=null and startTime !='' and endTime != '' ">
|
<if test="_databaseId == 'mysql'">
|
<![CDATA[ AND CREATE_TIME >= #{startTime} and CREATE_TIME <=#{endTime}]]>
|
</if>
|
<if test="_databaseId == 'postgresql'">
|
<![CDATA[ AND CREATE_TIME >= cast(#{startTime} as timestamp) and CREATE_TIME <= cast(#{endTime} as timestamp)]]>
|
</if>
|
<if test="_databaseId == 'oracle'">
|
<![CDATA[ AND CREATE_TIME >= to_date(#{startTime},'yyyy-MM-dd hh24:mi:ss') and CREATE_TIME <= to_date(#{endTime},'yyyy-MM-dd hh24:mi:ss')]]>
|
</if>
|
</if>
|
</where>
|
ORDER BY ID ASC
|
</select>
|
|
<select id="selectByParams" parameterType="map" resultMap="resultMap">
|
SELECT
|
<include refid="tableColumnList" />
|
FROM SHELL_STATE
|
<where>
|
<if test="hostname != null">
|
<![CDATA[ AND HOST_NAME = #{hostname} ]]>
|
</if>
|
<if test="shellId != null">
|
<![CDATA[ AND SHELL_ID = #{shellId} ]]>
|
</if>
|
<if test="state != null">
|
<![CDATA[ AND STATE = #{state} ]]>
|
</if>
|
<if test="startTime != null and endTime !=null and startTime !='' and endTime != '' ">
|
<if test="_databaseId == 'mysql'">
|
<![CDATA[ AND CREATE_TIME >= #{startTime} and CREATE_TIME <=#{endTime}]]>
|
</if>
|
<if test="_databaseId == 'postgresql'">
|
<![CDATA[ AND CREATE_TIME >= cast(#{startTime} as timestamp) and CREATE_TIME <= cast(#{endTime} as timestamp)]]>
|
</if>
|
<if test="_databaseId == 'oracle'">
|
<![CDATA[ AND CREATE_TIME >= to_date(#{startTime},'yyyy-MM-dd hh24:mi:ss') and CREATE_TIME <= to_date(#{endTime},'yyyy-MM-dd hh24:mi:ss')]]>
|
</if>
|
</if>
|
</where>
|
ORDER BY ID DESC
|
</select>
|
|
|
</mapper>
|