All Downloads are FREE. Search and download functionalities are using the official Maven repository.

mybatis.ca.CaMapper.xml Maven / Gradle / Ivy

<?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.higgschain.trust.slave.dao.mysql.ca.CaDao">

    <insert id="insertCa" parameterType="com.higgschain.trust.slave.dao.po.ca.CaPO">
		INSERT INTO ca(version,
								period,
								valid,
								pub_key,
								`user`,
								`usage`,
								create_time,
								update_time)
					  VALUES (#{version},
					  			#{period},
					  			#{valid},
					  			#{pubKey},
					  			#{user},
					  			#{usage},
					  			now(3),
					  			now(3))
					  ON DUPLICATE KEY UPDATE update_time=now(3)
	</insert>


    <insert id="batchInsert" parameterType="com.higgschain.trust.slave.dao.po.ca.CaPO">
		INSERT INTO
		ca(version,
			period,
			valid,
			pub_key,
			`user`,
			`usage`,
			create_time,
			update_time)
		VALUES
		<foreach collection="list" item="item" index="index" separator=",">
			(#{item.version},
				#{item.period},
				#{item.valid},
				#{item.pubKey},
				#{item.user},
				#{item.usage},
				now(3),
				now(3))
		</foreach>
	</insert>


    <update id="updateCa" parameterType="com.higgschain.trust.slave.dao.po.ca.CaPO">
		UPDATE ca
		<trim prefix="SET" suffixOverrides=",">
            update_time=now(3),
            valid=#{valid},
            <if test="period != null and period!=''">
                period=#{period},
            </if>
            <if test="pubKey != null and pubKey!=''">
                pub_key=#{pubKey},
            </if>
		</trim>
		WHERE `user`=#{user} and `usage`='biz' and valid=1
	</update>


    <update id="batchUpdate" parameterType="com.higgschain.trust.slave.dao.po.ca.CaPO">
		UPDATE ca
		<trim prefix="SET" suffixOverrides=",">
			<!-- set update_time -->
			<trim prefix="`update_time` = CASE" suffix="END,">
				<foreach collection="list" item="item">
					WHEN `user`=#{item.user} and `usage`=#{item.usage}
					THEN now(3)
				</foreach>
				ELSE `update_time`
			</trim>
			<!-- set period -->
			<trim prefix="`period` = CASE" suffix="END,">
				<foreach collection="list" item="item">
					WHEN `user`=#{item.user} and `usage`=#{item.usage}
					THEN #{item.period}
				</foreach>
				ELSE `period`
			</trim>
			<!-- set pub_key -->
			<trim prefix="`pub_key` = CASE" suffix="END,">
				<foreach collection="list" item="item">
					WHEN `user`=#{item.user} and `usage`=#{item.usage}
					THEN #{item.pubKey}
				</foreach>
				ELSE `pub_key`
			</trim>
			<!-- set valid -->
			<trim prefix="`valid` = CASE" suffix="END">
				<foreach collection="list" item="item">
					WHEN `user`=#{item.user} and `usage`=#{item.usage}
					THEN #{item.valid}
				</foreach>
				ELSE `valid`
			</trim>
		</trim>
		<where>
			<foreach collection="list" item="item" separator="or" open="(" close=")">
				`user`=#{item.user} and `usage`=#{item.usage}
			</foreach>
		</where>
	</update>


    <select id="getCaForBiz" parameterType="java.lang.String"
            resultType="com.higgschain.trust.slave.dao.po.ca.CaPO">
		SELECT    version as version,
								period as period,
								valid as valid,
								pub_key as pubKey,
								`user` as `user`,
								`usage` as `usage`,
								create_time as createTime,
								update_time as updateTime
		      FROM ca WHERE `user`=#{user} and `usage`='biz'
	</select>


    <select id="getCaForConsensus" parameterType="java.lang.String"
            resultType="com.higgschain.trust.slave.dao.po.ca.CaPO">
		SELECT    version as version,
								period as period,
								valid as valid,
								pub_key as pubKey,
								`user` as `user`,
								`usage` as `usage`,
								create_time as createTime,
								update_time as updateTime
		      FROM ca WHERE `user`=#{user} and `usage`='consensus'
	</select>

    <select id="getAllCa"  resultType="com.higgschain.trust.slave.dao.po.ca.CaPO">
		SELECT    version as version,
				period as period,
				valid as valid,
				pub_key as pubKey,
				`user` as `user`,
				`usage` as `usage`,
				create_time as createTime,
				update_time as updateTime
		FROM ca WHERE valid=1
	</select>

	<select id="getAllPubkeyByUsage"  resultType="com.higgschain.trust.slave.dao.po.ca.CaPO">
		SELECT
		pub_key as pubKey,
		`user` as `user`,
		`usage` as `usage`
		FROM ca WHERE valid=1 AND `usage` = #{usage}
	</select>

</mapper>




© 2015 - 2025 Weber Informatics LLC | Privacy Policy