package com.dy.pipIrrGlobal.daoSe; 
 | 
  
 | 
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; 
 | 
  
 | 
import java.util.List; 
 | 
import java.util.Map; 
 | 
  
 | 
/** 
 | 
 * @author ZhuBaoMin 
 | 
 * @date 2023/12/22 16:04 
 | 
 * @LastEditTime 2023/12/22 16:04 
 | 
 * @Description 
 | 
 */ 
 | 
  
 | 
@Mapper 
 | 
public interface SeClientCardMapper extends BaseMapper<SeClientCard> { 
 | 
    int deleteByPrimaryKey(Long id); 
 | 
  
 | 
    int insert(SeClientCard record); 
 | 
  
 | 
    int insertSelective(SeClientCard record); 
 | 
  
 | 
    SeClientCard selectByPrimaryKey(Long id); 
 | 
  
 | 
    int updateByPrimaryKeySelective(SeClientCard record); 
 | 
  
 | 
    int updateByPrimaryKey(SeClientCard record); 
 | 
  
 | 
    /** 
 | 
     * 依据水卡地址获取水卡编号(12月19日废弃) 
 | 
     * 2024-06-30取消废弃,恢复使用 
 | 
     * @param cardAddr 
 | 
     * @return 
 | 
     */ 
 | 
    Long getCardIdByAddr(@Param("cardAddr") String cardAddr); 
 | 
  
 | 
    /** 
 | 
     * 根据水卡编号获取水卡表主键(12月19日添加后废弃) 
 | 
     * @param cardNum 16位水卡编号 
 | 
     * @return 水卡表主键 
 | 
     */ 
 | 
    Long getCardIdByNum(@Param("cardNum") String cardNum); 
 | 
  
 | 
    /** 
 | 
     * 根据行政区划串模块查询水卡编号 
 | 
     * @param areaCode 
 | 
     * @return 
 | 
     */ 
 | 
    String getCardNumOfMax(@Param("areaCode") String areaCode); 
 | 
  
 | 
    /** 
 | 
     * 根据水卡编号获取水卡表主键及农户编号 
 | 
     * @param cardNum 
 | 
     * @return 
 | 
     */ 
 | 
    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 
 | 
     */ 
 | 
    List<VoCardInfo> getCardInfoByClientId(@Param("clientId") Long clientId); 
 | 
  
 | 
    /** 
 | 
     * 根据水卡编号获取操作记录列表 
 | 
     * @param cardNum 水卡编号 
 | 
     * @return 水卡操作记录列表 
 | 
     */ 
 | 
    List<Map<String, Object>> getOperateRecordsByCardNum(@Param("cardNum") Long cardNum); 
 | 
  
 | 
    /** 
 | 
     * 根据水卡编号获取余额 
 | 
     * @param cardNum 水卡编号 
 | 
     * @return 余额 
 | 
     */ 
 | 
    Float getMoneyByCardNum(@Param("cardNum") Long cardNum); 
 | 
  
 | 
    /** 
 | 
     * 根据水卡编号获取充值总额 
 | 
     * @param cardNum 
 | 
     * @return 
 | 
     */ 
 | 
    Float sumRechargeByCardNum(@Param("cardNum") Long cardNum); 
 | 
  
 | 
    /** 
 | 
     * 根据水卡编号获取卡片状态 
 | 
     * @param cardNum 
 | 
     * @return 
 | 
     */ 
 | 
    String getCardStateByCardNum(@Param("cardNum") Long cardNum); 
 | 
  
 | 
    /** 
 | 
     * 根据指定条件获取水卡列表记录数,应用程序使用 
 | 
     * @param params 
 | 
     * @return 
 | 
     */ 
 | 
    Long getCardsCount(Map<?, ?> params); 
 | 
  
 | 
    /** 
 | 
     * 根据指定条件获取水卡列表,应用程序使用 
 | 
     * @param params 
 | 
     * @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); 
 | 
  
 | 
} 
 |