VipCardDao.java 5.08 KB
package com.zteits.bill.dao.vipcard;

import java.util.List;

import com.github.pagehelper.PageInfo;
import com.zteits.bill.domain.CheckVipCardParkDO;
import com.zteits.bill.domain.TVipCard;
import com.zteits.bill.domain.sdomain.VipCardMaxBuyNumIsLimitDO;
import com.zteits.clouds.api.apibase.bean.BizResult;
import com.zteits.clouds.api.dto.bill.vipcard.VipCardAndCustInfoDTO;
import com.zteits.clouds.api.dto.bill.vipcard.VipCardDTO;
import com.zteits.clouds.api.dto.bill.vipcard.VipCardStatisticDTO;
import com.zteits.clouds.api.dto.bill.vipcard.param.*;

/**
 * 停车场会员卡-(月卡/年卡规则Dao接口).<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 VipCardDao {
	/**
	 * 新增会员卡(年卡/月卡等).<br/>
	 * 步骤:<br/>
	 *  1.插入会员卡.<br/>
	 *  2.插入会员卡与停车场售卖关系.<br/>
	 * @param request
	 * @return
	 */
	int insert(VipCardInsertRequest request) throws Exception;
	
	/**
	 * 修改会员卡(年卡/月卡等).<br/>
	 * @return
	 */
	int updateVipCard(VipCardUpdateRequest request);
	
	/**
	 * 通过会员卡编码查询会员卡信息.<br/>
	 * @param request
	 * @return
	 * @throws Exception
	 */
	TVipCard queryVipCardByCardNo(QueryVipCardByCardNoRequest request) ;
	
	/**
	 * 通过会员卡对象查询会员卡信息
	 * @return
	 * @throws Exception
	 * 2017年10月30日 langlw
	 */
	TVipCard queryVipCardByVipCard(TVipCard tVipCard) throws Exception;

	/**
	 * 分页查询会员卡信息集合
	 * @param request
	 * @return
	 * 2017年10月30日 langlw
	 */
	PageInfo<TVipCard> queryVipCardForPageByVipCard(VipCardForPageRequest request) ;
	
	/**
	 * 分页查询-会员卡规则.<br/>
	 * @param request
	 * @return
	 */
	PageInfo<TVipCard> queryVIPCardRuleForPage(QueryVIPCardRuleRequest request);
	
	/**
	 * 校验对应的时间段内停车场是否重复办理.<br/>
	 * @param request
	 * @return
	 */
	List<CheckVipCardParkDO> checkVipCardPark(CheckVipCardParkRequest request);
	
	/**
	 * 下架(年卡/月卡等).<br/>
	 * @return
	 */
	 int deleteVipCard(VipCardUpdateRequest request);
	 /**
	  * 
	 * @Title: queryParkVipCardByPlNo 
	 * @Description: TODO(这里用一句话描述这个方法的作用) 
	 * @param @param queryVIPCardRuleRequest
	 * @param @return    设定文件 
	 * @return List<TVipCard>    返回类型 
	 * @throws
	  */
	List<TVipCard> queryParkVipCardByPlNo(QueryVIPCardRuleRequest queryVIPCardRuleRequest);

	/**
	 * 查询发布会员卡的停车场
	 * @param request
	 * @return
	 * 2018年1月22日 xiejp
	 */
	List<String> queryPlNoList(QueryVipCardByPlNoRequest request);
	
	/**
	 * 通过plNos查询vipCardNos
	 * @param request
	 * @return
	 * 2018年3月2日 xiejp
	 */
	List<String> queryVipCardNosByPlNos(QueryVipCardByPlNoRequest request);
	
	/**
	 * 通过plNos查询会员卡信息
	 * @param request
	 * @return
	 * 2018年1月22日 xiejp
	 */
	List<VipCardAndCustInfoDTO> queryVipCardParkSaleRelForListByPlNo(QueryVipCardByPlNoRequest request);

	/**
	 * 查询个人拥有的会员卡
	 * @param request
	 * @return
	 * 2018年1月22日 xiejp
	 */
	List<VipCardAndCustInfoDTO> queryVipCardByCustId(QueryVipCardCustInfoByCustIdRequest request);


	/**
	 * 查询个人拥有的会员卡
	 * @param request
	 * @return
	 * 2018年1月22日 xiejp
	 */
	List<VipCardAndCustInfoDTO> queryVipCardAllByCustId(QueryVipCardCustInfoByCustIdRequest request);


	/**
	 * 
	 * @param request
	 * @return
	 * 2018年2月1日 xiejp
	 */
	List<VipCardAndCustInfoDTO> queryVipCardMsgByCardNo(QueryVipCardByCardNoRequest request);
	
	/**
	 * 通过卡编码查询卡费用
	 * @param cardNo
	 * @return
	 * Mar 23, 2018 hxz
	 */
	Long queryVipCardFeeByCardNo (String cardNo);

	/**
	 * 通过卡编码查询卡费用
	 * @param cardNo
	 * @return
	 * Mar 23, 2018 hxz
	 */
	TVipCard queryVipCardByOnlyCardNo (String cardNo);

	/**
	 * 通过停车场编码List查询的的授权车的信息
	 * @param
	 * @return
	 * @Author: xiejianpeng
	 * @Date: 2018/5/13 16:35
	 *
	 */
	List<VipCardStatisticDTO> queryVipCardStatisticPlNos(QueryVipCardByCarNumberAndPlNosRequest request);

	/**
	 * 查询停车场会员卡购买数量是否超过最大限制数量
	 * @param request
	 * @return true : 超过最大数量 ; false:没有超过最大数量
	 */
	VipCardMaxBuyNumIsLimitDO queryVipCardMaxBuyNumIsLimit(VipCardBuyNumLimtReq request);

	/**
	 * 查询会员卡车场列表
	 * @param req
	 * @return
	 */
    List<String> queryParkListForVipCard(QueryVipCardPlNoListRequest req);

	/**
	 * 查询会员卡热门车场列表
	 * @param req
	 * @return
	 * @Auther niueb 2019/12/12
	 */
	List<String> queryHotParkListForVipCard(QueryVipCardPlNoListRequest req);

	/**
	 * 根据车场id查询会员卡信息
	 * @param req
	 * @return
	 */
    List<VipCardDTO> queryVipCardInfoByPlNo(QueryVipCardByPlNoRequest req);
}