liurunyu
2024-10-12 708dce320caedf9973ff0282098fb70dafd6702e
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeClientCardMapper.java
@@ -3,7 +3,11 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dy.pipIrrGlobal.pojoSe.SeClientCard;
import com.dy.pipIrrGlobal.voSe.VoCardInfo;
import com.dy.pipIrrGlobal.voSe.VoCardInfo1;
import com.dy.pipIrrGlobal.voSe.VoCards;
import com.dy.pipIrrGlobal.voSe.VoCards2;
import com.dy.pipIrrGlobal.voSt.VoCardUsage;
import com.dy.pipIrrGlobal.voWe.VoCards3;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@@ -33,6 +37,7 @@
    /**
     * 依据水卡地址获取水卡编号(12月19日废弃)
     * 2024-06-30取消废弃,恢复使用
     * @param cardAddr
     * @return
     */
@@ -57,10 +62,26 @@
     * @param cardNum
     * @return
     */
    Map getCardIdAndClientNum(@Param("cardNum") String cardNum);
    Map getCardIdAndClientNum(@Param("cardNum") Long cardNum);
    /**
     * 根据农户主键获取水卡列表
     * 根据水卡编号获取水卡对应的农户id和姓名
     * @param cardAddr
     * @param cardNum
     * @return
     */
    Map getClientIdAndNameByCardAddrAndCardNo(@Param("cardAddr") String cardAddr, @Param("cardNum") Long cardNum);
    /**
     * 得到水卡对象
     * @param cardAddr
     * @param cardNum
     * @return
     */
    List<VoCardInfo1> getCardsByAddrAndNum(@Param("cardAddr") String cardAddr, @Param("cardNum") Long cardNum);
    /**
     * 根据农户主键获取水卡列表(物理卡+虚拟卡)
     * @param clientId
     * @return
     */
@@ -107,4 +128,127 @@
     * @return
     */
    List<VoCards> getCards(Map<?, ?> params);
    /**
     * 获取已挂失,未补卡的记录数量,应用程序使用
     * @return
     */
    Long getUnreplacedRecordCount();
    /**
     * 获取已挂失,未补卡的记录,应用程序使用
     * @return
     */
    List<VoCards> getUnreplaced(Map<?, ?> params);
    /**
     * 根据指定水卡编号获取挂失记录数量(补卡、解锁使用)
     * @param cardNum
     * @return
     */
    Integer getLostCount(@Param("cardNum") Long cardNum);
    /**
     * 根据指定水卡编号获取已补卡数量(补卡、解锁使用)
     * @param cardNum 水卡编号
     * @return 符合条件记录数,最多一条
     */
    Integer getReplacedCount(@Param("cardNum") Long cardNum);
    /**
     * 根据农户姓名和手机号获取水卡列表记录数,应用程序使用
     * @param params
     * @return
     */
    Long getCardsByClientNameAndPhoneCount(Map<?, ?> params);
    /**
     * 根据农户姓名和手机号获取水卡列表,应用程序使用
     * @param params
     * @return
     */
    List<VoCards2> getCardsByClientNameAndPhone(Map<?, ?> params);
    /**
     * 根据农户ID查询正常状态的水卡列表,小程序使用
     * @param clientId
     * @return
     */
    List<VoCards3> getCardsByClientID(String clientId);
    /**
     * 更新实体卡剩余金额
     * @param id
     * @param money
     */
    void updateMoney(@Param("id")Long id , @Param("money")Double money);
    /**
     *当前余额总量(物理卡)
     * @param
     * @return
     */
    Double getTotalMoneyIcCards();
    /**
     * 根据水卡地址获取水卡数量,用来判断该卡是否允许开卡,无效卡片排除在外
     * @param cardAddr
     * @return
     */
    Long getCountByCardAddr(String cardAddr);
    /**
     * 根据水卡地址获取指定状态的水卡数量,用来判断该卡是否允许开卡
     * @param cardAddr
     * @return
     */
    Long getCountByCardAddrAndState(String cardAddr);
    /**
     * 获取指定时间段水卡使用情况记录数量
     * @param params
     * @return
     */
    List<VoCardUsage> getCardUsagesCount(Map<?, ?> params);
    /**
     * 获取指定时间段水卡使用情况:充值合计、消费合计、余额
     * @param params
     * @return
     */
    List<VoCardUsage> getCardUsages(Map<?, ?> params);
    /**
     * 获取指定时间段内水卡充值总计
     * @param timeStart
     * @param timeStop
     * @return
     */
    Float getTotalRecharge(@Param("timeStart")String timeStart, @Param("timeStop")String timeStop);
    /**
     * 获取指定时间段内水卡消费总计
     * @param timeStart
     * @param timeStop
     * @return
     */
    Float getTotalConsumption(@Param("timeStart")String timeStart, @Param("timeStop")String timeStop);
    /**
     * 依据水卡地址将最后一条无效状态的指定操作记录改为有效
     * @param cardAddr
     * @param operateType
     * @return
     */
    Integer turnCardValidByAddr(@Param("cardAddr")String cardAddr, @Param("operateType")Integer operateType);
    /**
     * 根据水卡ID获取原水卡ID,补卡通知中使用
     * @param cardId
     * @return
     */
    Long getOriginalCardIdByCardId(@Param("cardId") Long cardId);
}