zuoxiao
2025-06-20 1de9da5e2bc2ba8220be882eeaa4a28325c47016
pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml
@@ -788,4 +788,54 @@
    SET money = 0
    WHERE id = (SELECT original_card_id FROM se_client_card WHERE id = (SELECT card_id FROM se_card_operate WHERE order_no = #{orderNumber}))
  </update>
  <!--充值机用获取农户水卡信息-->
  <select id="getTermCardInfo" resultType="com.dy.pipIrrGlobal.voSe.VoTermCard">
    SELECT
        card.cardNum,
        1 AS cardType,
        card.money,
        card.state,
        cli.name AS userName,
        cli.clientNum,
        cli.phone,
        cli.address,
        card.rechargeDt AS lastRechargeTime,
        card.protocol AS cardAgreement
    FROM se_client_card card
        INNER JOIN se_client cli ON cli.id = card.clientId
    WHERE card.cardAddr = #{cardAddr} AND card.state != 4
    ORDER BY card.createDt DESC
    LIMIT 1
  </select>
  <!--获取已挂失水卡列表记录数量-->
  <select id="getLostCardsCount" parameterType="java.util.Map" resultType="java.lang.Long">
    SELECT COUNT(*) AS recordCount
    FROM se_client_card card
    LEFT JOIN se_client cli ON card.clientId = cli.id
    WHERE card.state = 3
  </select>
  <!--获取已挂失水卡列表-->
  <select id="getLostCards" resultType="com.dy.pipIrrGlobal.voSe.VoCards">
    SELECT cli.clientNum,
    cli.name AS clientName,
    card.cardNum,
    cli.phone,
    cli.idCard,
    card.state AS cardState,
    '已挂失' AS stateName,
    '农户卡' AS cardType,
    FORMAT(card.money, 2) AS money
    FROM se_client_card card
    LEFT JOIN se_client cli ON card.clientId = cli.id
    WHERE card.state = 3
    ORDER BY card.lossDtDt DESC
    <trim prefix="limit ">
      <if test="start != null and count != null">
        #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER}
      </if>
    </trim>
  </select>
</mapper>