package com.gic.haoban.manage.service.dao.mapper.fee;

import com.gic.haoban.manage.service.entity.fee.TabHaobanQywxFeeOrderAccount;
import org.apache.ibatis.annotations.Param;

import java.util.HashMap;
import java.util.List;

/**
 * 企业微信收费订单账号(激活码)(TabHaobanQywxFeeOrderAccount)表数据库访问层
 *
 * @author mozhu
 * @since 2022-08-03 16:12:33
 */
public interface TabHaobanQywxFeeOrderAccountMapper {

    /**
     * 通过ID查询单条数据
     *
     * @param feeAccountId 主键
     * @return 实例对象
     */
    TabHaobanQywxFeeOrderAccount selectByOrderIdAndCode( @Param("wxEnterpriseId")String wxEnterpriseId , @Param("orderId")String orderId, @Param("activeCode")String activeCode);

    /**
     * 新增数据
     *
     * @param tabHaobanQywxFeeOrderAccount 实例对象
     * @return 影响行数
     */
    int insert(TabHaobanQywxFeeOrderAccount tabHaobanQywxFeeOrderAccount);

    /**
     * 修改数据
     *
     * @param tabHaobanQywxFeeOrderAccount 实例对象
     * @return 影响行数
     */
    int update(TabHaobanQywxFeeOrderAccount tabHaobanQywxFeeOrderAccount);

    /**
     * 根据状态查询用户数
     *
     * @param status
     * @param wxEnterpriseId
     * @return int
     * @author mozhu
     * @date 2022-08-05 11:24:02
     */
    int countOrderAccountStatus(@Param("status") Integer status,@Param("wxEnterpriseId")  String wxEnterpriseId);

    List<HashMap<String,Integer>> countStatusByWxEnterpriseId(@Param("wxEnterpriseId")  String wxEnterpriseId);

    List<TabHaobanQywxFeeOrderAccount> selectByWxEnterpriseId( @Param("wxEnterpriseId")String wxEnterpriseId);

    void updateByActiveCode(@Param("wxEnterpriseId")String wxEnterpriseId , @Param("activeCode")String activeCode);

    void refund(@Param("wxEnterpriseId") String wxEnterpriseId , @Param("orderId") String orderId);
}

