VipCardCustInfoDao.java 6.69 KB
package com.zteits.bill.dao.vipcard;

import com.github.pagehelper.PageInfo;
import com.zteits.bill.domain.TVipCardCustInfo;
import com.zteits.bill.domain.TVipNoPushCardCustInfoDO;
import com.zteits.bill.domain.TdBVipCardInfoCheckDayDO;
import com.zteits.bill.domain.VipCardBuyInfoDO;
import com.zteits.bill.domain.sdomain.VipCardCustInfoBuyDO;
import com.zteits.clouds.api.dto.bill.vipcard.VipCardCustInfoDTO;
import com.zteits.clouds.api.dto.bill.vipcard.VipCardExpireWarnPushDTO;
import com.zteits.clouds.api.dto.bill.vipcard.VipCardInfoBuyNumDTO;
import com.zteits.clouds.api.dto.bill.vipcard.param.QueryVipCardBuyInfoForPageRequest;
import com.zteits.clouds.api.dto.bill.vipcard.param.QueryVipCardCustInfoByCustIdRequest;
import com.zteits.clouds.api.dto.bill.vipcard.param.VipCardCustInfoBuyReq;
import com.zteits.clouds.api.dto.bill.vipcard.param.VipCardInfoReq;
import com.zteits.clouds.api.dto.bill.whitelist.param.QueryCarNumIsWhitelistRequest;

import java.util.Date;
import java.util.List;

/**
 * 个人用户购买会员卡记录.<br/>
 *
 * Copyright: Copyright (c) 2017  ZTE-ITS
 *
 * @ClassName: AmountUtils.java
 * @Description:
 * @version: v1.0.0
 * @author: wangfs
 * @date: 2017年10月27日
 * Modification History:
 * Date             Author          Version            Description
 *---------------------------------------------------------*
 * 2017年10月27日      wangfs           v1.0.0               创建
 */
public interface VipCardCustInfoDao {


	/**
	 * 分页查询-用户购买会员卡记录.<br/>
	 * @param request
	 * @return
	 */
	PageInfo<VipCardCustInfoBuyDO> queryVipCardCustInfoForPage(VipCardCustInfoBuyReq request) ;


	/**
	 * 保存用户购买会员卡记录.<br/>
	 * @param tVipCardCustInfo
	 * @return
	 * @throws Exception
	 */
	 Integer saveVipCardCustInfo(TVipCardCustInfo tVipCardCustInfo);

    /**
	 * 批量保存用户购买会员卡记录.<br/>
	 * @param tVipCardCustInfo
	 * @return
	 * @throws Exception
	 */
	 Integer batchSaveVipCardCustInfo(List<TVipCardCustInfo> list);
	 /**
	  * 通过主键修改个人会员卡信息
	  * @param tVipCardCustInfo
	  * @return
	  * 2017年11月1日 langlw
	  */
	 Integer updateVipCardCustInfoById(TVipCardCustInfo record);

	 /**
	  * 根据客户id查询个人购买会员卡信息集合
	  * @param request
	  * @return
	  * 2017年11月2日 langlw
	  */
	 List<TVipCardCustInfo> queryVipCardCustInfoByCustId(QueryVipCardCustInfoByCustIdRequest request);

     /**
	 * 通过车牌/停车场编码查询车辆是否购买会员卡.<br/>
	 * @param request
	 * @param currentDate 系统当前时间 yyyy-MM-dd HH:mm:ss
	 * @return
	 * 2017年11月17日  wangfs.<br/>
	 */
	 TVipCardCustInfo queryCarNumIsBuyVipCard(QueryCarNumIsWhitelistRequest request,String currentDate);

	 /**
	  * 查询未推送给第三发的会员卡
	  * @param currentDate yyyy-MM-dd HH:mm:ss
	  * @return
	  */
	List<TVipNoPushCardCustInfoDO> queryNoPustVipCardCustInfo(String currentDate,Long id);
	/**
	  * 查询推送和未推送给第三发的会员卡
	  * @param currentDate yyyy-MM-dd HH:mm:ss
	  * @return
	  */
	List<TVipNoPushCardCustInfoDO> queryPustVipCardCustInfo(String currentDate,Long id);
	/**
	 * 通过车牌号+开始结束时间查询是否已经办理.<br/>
	 * @param record
	 * @return
	 * 2017年12月30日  wangfs.<br/>
	 */
	int  queryNoPustVipCardCustInfoByCarNum(TVipCardCustInfo record );

	/**
	 * 分页查询-会员卡记录(订单管理->会员卡记录页面)
	 * @param request
	 * @return
	 * 2018年1月17日  wangfs.<br/>
	 */
	 PageInfo<VipCardBuyInfoDO> queryVipCardBuyInfoForPage(QueryVipCardBuyInfoForPageRequest request);


	 /**
	  * 账单管理-->底层会员卡数据查询.<br/>
	  * 获取时间段内会员卡购买汇总.<br/>
	  * @param beginTime
	  * @param endTime
	  * @return
	  * 2018年1月23日  wangfs.<br/>
	  */
	 List<TdBVipCardInfoCheckDayDO> queryVipCardForPerson(String beginTime,String endTime);


	 /**
	  * 通过custCardNo修改个人会员卡信息
	  * @param tVipCardCustInfo
	  * @return
	  * 2018年1月24日 xiejp
	  */
	int updateVipCardCustInfoByCustCardNo(TVipCardCustInfo tVipCardCustInfo);

	/**
	 * 通过custCardNo查询记录
	 * @param custCardNo
	 * @return
	 * Mar 19, 2018 hxz
	 */
	int selectVipCardCustInfoByCustCardNo(String custCardNo);

	/**
	 * 查询未推送给艾润优惠券的车牌信息<br/>
	 * @param date yyyy-MM-dd HH:mm:ss
	 * @return
	 * 2018年3月30日 zhaowg
	 */
	List<TVipNoPushCardCustInfoDO> queryCouponNoPushInfo(String date);


	/**
	 * 根据cardNo查询是否有购买记录
	 * @param cardNo
	 * @return
	 * 2018年9月4日 wangfei
	 */
    int selectVipCardCustInfoByCardNo(String cardNo);

	/**
	 * 通过个人卡编码查询个人会员卡信息
	 * @param custCardNo
	 * @return
	 */
	TVipCardCustInfo queryCardCustInfoBycustCardNo(String custCardNo);


	/**
	 *通过失效时间查询会员卡信息
	 * @return
	 * 2019-10-10 wangfs
	 */
	List<VipCardExpireWarnPushDTO> queryVipCardByExpireDate(String beginTime,String endTime);

	/**
	 * 根据停车场编号,车牌号码获取当前有效车会员车信息
	 * @param request
	 * @author: zegnqc
	 * @return
	 */
	TVipCardCustInfo queryCardCustInfoByParkcodeAndCarnumber(VipCardInfoReq request);

	/**
	 * 据停车场编号与车牌号码查询该车所有有效的会员卡记录,包括已过期数据
	 * @param plNo 停车场编号
	 * @param carNumber 车牌号码
	 * @return 所有的有效会员卡信息列表(包括已过期数据)
	 */
    List<VipCardCustInfoDTO> queryAllCardCustInfoByParkcodeAndCarnumber(String plNo, String carNumber);

    VipCardCustInfoDTO queryVipCardCustInfoByCardNoAndCarNumber(String cardNo,String carNumber);

    List<VipCardCustInfoDTO> queryAllCardCustInfoByCardNoAndCarnumber(String cardNo, String carNumber);

    List<TVipCardCustInfo> queryAllActiveInfo(VipCardInfoReq request);

    /**
     * 重置会员卡修改次数
     * @param updateNum 重置的修改次数值
     * @return
     */
    int resetVipCardUpdateNum(int updateNum);

	/**
	 * 会员卡购买数量限制
	 * @Auther: wangfs
	 * @param
	 * @return
	 */
	VipCardInfoBuyNumDTO checkVipCarBuyNum(String cardNo, Date startTime, Date endTime);

	/**
	 * 根据开始日期定向查询当前生效会员卡(供续费前卡校验使用)
	 * @param requestVip
	 * @return
	 */
	VipCardCustInfoDTO queryParentCard(QueryVipCardCustInfoByCustIdRequest requestVip);

	/**
	 * 根据卡编号查询当前时间还在生效或者将要生效的会员卡数量
	 * @param cardNo
	 * @return
	 */
	long queryValidCardNum(String cardNo);

	/**
	 * 根据车牌号码和会员卡查询正在生效的或者将要生效的会员卡信息
	 * @param cardNo
	 * @return
	 */
	List<TVipCardCustInfo>  queryVipCardInEffectByCardNoAndCarNum(String cardNo, String carNum);

}