TdCBusinessCouponDao.java 3.81 KB
package com.zteits.business.dao;
import com.github.pagehelper.PageInfo;
import com.zteits.business.domain.TdCBusinessCoupon;
import com.zteits.business.domain.TdCBusinessCouponExample;
import com.zteits.clouds.api.dto.business.dto.TdCBusinessCouponSumStaDTO;
import com.zteits.clouds.api.dto.business.param.TdCBusinessCouponRequest;
import com.zteits.clouds.api.dto.business.param.TdCBusinessCouponSumStaRequest;
import com.zteits.clouds.api.dto.clouds.param.BusinessCouponBatchSaveRequest;

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

public interface TdCBusinessCouponDao {

    /**
     * 保存
     * @param tdCBusinessCoupon
     * @return
     */
    int saveTdCBusinessCoupon(TdCBusinessCoupon tdCBusinessCoupon);


    /**
     * 动态更新
     * @param record 需要更新的信息
     * @param example 更新时的where条件
     * @return
     */
    int updateByExampleSelective(TdCBusinessCoupon record, TdCBusinessCouponExample example);


    /**
     * 根据主键更新
     * @param record
     * @return
     */
    int updateByPrimaryKeySelective(TdCBusinessCoupon record);

    /**
     * 动态查询
     * @param example
     * @return
     */
    List<TdCBusinessCoupon> selectByExample(TdCBusinessCouponExample example);

    /**
     * 根据主键查询
     * @param id
     * @return
     */
    TdCBusinessCoupon queryByPrimaryKey(Long id);

    /**
     * 根据 单个卡券编码  查询已购买卡券信息
     * @param cardNo
     * @return
     */
    TdCBusinessCoupon queryByCardNo(String cardNo);

    /**
     * 动态查询
     * @param request
     * @return
     */
    List<TdCBusinessCoupon> queryTdCBusinessCoupon(TdCBusinessCouponRequest request);

    /**
     * 逻辑批量删除
     * @param ids
     * @param opId
     * @param opName
     * @return
     */
    int batchDeleteTdCBusinessCouponByPrimaryKey(List<Long> ids, String opId, String opName);

    /**
     * 动态分页查询
     * @param request
     * @return
     */
    PageInfo<TdCBusinessCoupon> queryTdCBusinessCouponForPage(TdCBusinessCouponRequest request);

    /**
     * 卡券申领明细表
     * @param request
     * @return
     */
    PageInfo<TdCBusinessCoupon> queryTdCBusinessCouponIssuedForPage(TdCBusinessCouponRequest request);

    /**
     * 批量保存
     */
    int batchSaveTdCBusinessCoupon(List<TdCBusinessCouponRequest> requests);


    /**
     * 根据表td_c_business_coupon_rule_park_rel中的card_rel_park_no字段查询表td_c_business_coupon对应的没有使用的商券 仅返回一条
     * @param cardRelParkNo
     * @return
     */
    TdCBusinessCoupon selectOneBusinessCouponByRelNo(String cardRelParkNo);

    /**
     * 批量根据卡号将状态修改为已使用
     *
     * @param request
     */
    void batchUpdateCouponUsedStatus(BusinessCouponBatchSaveRequest request);

    /**
     * 卡券申领明细总览
     * @param request
     * @return
     */
    String couponDetailSummary(TdCBusinessCouponRequest request);

    /**
     * 被领取张数
     * @param request
     * @return
     */
    int getIssuedCount(TdCBusinessCouponRequest request);

    /**
     * 使用张数
     * @param request
     * @return
     */
    int getUsedCount(TdCBusinessCouponRequest request);

    /**
     * 某个券剩余的数量
     * @param request
     * @return
     */
    int getRemainingCount(TdCBusinessCouponRequest request);

    /**
     * 根据cardRelParkNo,查询本月已经购买的优惠券的数量
     * @param cardRelParkNo
     * @return
     */
    int selectBusinessCouponBuyNumByCardRelParkNo(String cardRelParkNo,Date startDate,Date endDate);

    /**
     * 20221214增加
     * 动态分页查询,购券统计
     * @param request
     * @return
     */
    PageInfo<TdCBusinessCouponSumStaDTO> queryTdCBusinessCouponSumStaForPage(TdCBusinessCouponSumStaRequest request);

}