wuzeyu
2024-05-29 f1599d8230e83fb08ebb0473bbe486979b4d1d38
pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeVirtualCardMapper.xml
@@ -5,15 +5,17 @@
    <!--@mbg.generated-->
    <!--@Table se_virtual_card-->
    <id column="id" jdbcType="BIGINT" property="id" />
    <result column="vc_num" jdbcType="BIGINT" property="vcNum" />
    <result column="client_id" jdbcType="BIGINT" property="clientId" />
    <result column="money" jdbcType="FLOAT" property="money" />
    <result column="last_operate" jdbcType="TINYINT" property="lastOperate" />
    <result column="last_operate_time" jdbcType="TIMESTAMP" property="lastOperateTime" />
    <result column="in_use" jdbcType="TINYINT" property="inUse" />
    <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
  </resultMap>
  <sql id="Base_Column_List">
    <!--@mbg.generated-->
    id, client_id, money, last_operate, last_operate_time, create_time
    id, vc_num, client_id, money, last_operate, last_operate_time, in_use, create_time
  </sql>
  <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
    <!--@mbg.generated-->
@@ -29,12 +31,12 @@
  </delete>
  <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoSe.SeVirtualCard">
    <!--@mbg.generated-->
    insert into se_virtual_card (id, client_id, money,
      last_operate, last_operate_time, create_time
      )
    values (#{id,jdbcType=BIGINT}, #{clientId,jdbcType=BIGINT}, #{money,jdbcType=FLOAT},
      #{lastOperate,jdbcType=TINYINT}, #{lastOperateTime,jdbcType=TIMESTAMP}, #{createTime,jdbcType=TIMESTAMP}
      )
    insert into se_virtual_card (id, vc_num, client_id,
      money, last_operate, last_operate_time,
      in_use, create_time)
    values (#{id,jdbcType=BIGINT}, #{vcNum,jdbcType=BIGINT}, #{clientId,jdbcType=BIGINT},
      #{money,jdbcType=FLOAT}, #{lastOperate,jdbcType=TINYINT}, #{lastOperateTime,jdbcType=TIMESTAMP},
      #{inUse,jdbcType=TINYINT}, #{createTime,jdbcType=TIMESTAMP})
  </insert>
  <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoSe.SeVirtualCard">
    <!--@mbg.generated-->
@@ -42,6 +44,9 @@
    <trim prefix="(" suffix=")" suffixOverrides=",">
      <if test="id != null">
        id,
      </if>
      <if test="vcNum != null">
        vc_num,
      </if>
      <if test="clientId != null">
        client_id,
@@ -55,6 +60,9 @@
      <if test="lastOperateTime != null">
        last_operate_time,
      </if>
      <if test="inUse != null">
        in_use,
      </if>
      <if test="createTime != null">
        create_time,
      </if>
@@ -62,6 +70,9 @@
    <trim prefix="values (" suffix=")" suffixOverrides=",">
      <if test="id != null">
        #{id,jdbcType=BIGINT},
      </if>
      <if test="vcNum != null">
        #{vcNum,jdbcType=BIGINT},
      </if>
      <if test="clientId != null">
        #{clientId,jdbcType=BIGINT},
@@ -75,6 +86,9 @@
      <if test="lastOperateTime != null">
        #{lastOperateTime,jdbcType=TIMESTAMP},
      </if>
      <if test="inUse != null">
        #{inUse,jdbcType=TINYINT},
      </if>
      <if test="createTime != null">
        #{createTime,jdbcType=TIMESTAMP},
      </if>
@@ -84,6 +98,9 @@
    <!--@mbg.generated-->
    update se_virtual_card
    <set>
      <if test="vcNum != null">
        vc_num = #{vcNum,jdbcType=BIGINT},
      </if>
      <if test="clientId != null">
        client_id = #{clientId,jdbcType=BIGINT},
      </if>
@@ -96,6 +113,9 @@
      <if test="lastOperateTime != null">
        last_operate_time = #{lastOperateTime,jdbcType=TIMESTAMP},
      </if>
      <if test="inUse != null">
        in_use = #{inUse,jdbcType=TINYINT},
      </if>
      <if test="createTime != null">
        create_time = #{createTime,jdbcType=TIMESTAMP},
      </if>
@@ -105,12 +125,77 @@
  <update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoSe.SeVirtualCard">
    <!--@mbg.generated-->
    update se_virtual_card
    set client_id = #{clientId,jdbcType=BIGINT},
    set vc_num = #{vcNum,jdbcType=BIGINT},
      client_id = #{clientId,jdbcType=BIGINT},
      money = #{money,jdbcType=FLOAT},
      last_operate = #{lastOperate,jdbcType=TINYINT},
      last_operate_time = #{lastOperateTime,jdbcType=TIMESTAMP},
      in_use = #{inUse,jdbcType=TINYINT},
      create_time = #{createTime,jdbcType=TIMESTAMP}
    where id = #{id,jdbcType=BIGINT}
  </update>
  <!--验证农户是否拥有指定名称的虚拟卡-->
  <select id="getRecordCountByName" resultType="java.lang.Integer">
    SELECT COUNT(*) AS recordCount
    FROM se_virtual_card
    <where>
      <if test = "clientId != null and clientId > 0">
        AND client_id = #{clientId}
      </if>
      <if test = "vcName != null and vcName !=''">
        AND vc_name = #{vcName}
      </if>
    </where>
  </select>
  <!--获取农户全部虚拟卡-->
  <select id="getVCs" resultType="com.dy.pipIrrGlobal.voSe.VoVirtualCard">
    SELECT
      CAST(id AS char) AS id,
      vc_num AS vcNum,
      money,
      in_use AS inUse,
      (CASE
        WHEN in_use = 0 THEN "未使用"
        WHEN in_use = 1 THEN "使用中"
      END) AS inUseName
    FROM se_virtual_card
    <where>
      <if test = "clientId != null">
        AND client_id = #{clientId}
      </if>
    </where>
    ORDER BY in_use, money
  </select>
  <!--根据虚拟卡ID获取虚拟卡对象-->
  <select id="getVcById" resultType="com.dy.pipIrrGlobal.voSe.VoVirtualCard">
    SELECT
        CAST(id AS char) AS id,
        vc_num AS vcNum,
        money,
        in_use AS inUse,
        (CASE
            WHEN in_use = 0 THEN "未使用"
            WHEN in_use = 1 THEN "使用中"
        END) AS inUseName
    FROM se_virtual_card
    WHERE id = #{vcId}
  </select>
  <!--根据虚拟卡编号获取虚拟卡ID-->
  <select id="getVcIdByNum" resultType="java.lang.Long">
    SELECT id FROM se_virtual_card WHERE vc_num = #{vcNum}
  </select>
  <!--根据行政区划串模糊查询虚拟卡编号-->
  <select id="getVcCardNumOfMax"  resultType="java.lang.String">
    SELECT vc_num
    FROM se_virtual_card
    WHERE vc_num LIKE CONCAT('%',#{areaCode},'%')
    ORDER BY vc_num desc
    LIMIT 0,1
  </select>
</mapper>