package com.xhpc.payment.mapper;

import com.xhpc.payment.domain.XhpcAppInternetUser;
import com.xhpc.payment.domain.XhpcAppUser;
import com.xhpc.payment.domain.XhpcUserAccountStatement;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 用户流水信息 数据层
 *
 * @author ruoyi
 */
public interface XhpcUserAccountStatementMapper {

    /**
     * 新增 用户流水信息
     *
     * @param xhpcUserAccountStatement 用户流水信息
     * @return 结果
     */
    public int insert(XhpcUserAccountStatement xhpcUserAccountStatement);

    /**
     * 用户流水分页列表
     *
     * @param appUserId C端用户id
     * @return
     */
    public List<Map<String, Object>> page(@Param("appUserId") Long appUserId,@Param("source") Integer source,@Param("tenantId")String tenantId);


    /**
     * 获取用户信息
     *
     * @param appUserId C端用户id
     * @return
     */
    public Map<String, Object> appUserInfo(@Param("appUserId") Long appUserId);


    public Map<String, Object> getAppInternetUser(@Param("appUserId") Long appUserId);
    /**
     * 更新C端用户余额
     *
     * @param xhpcAppUser C端用户
     * @return
     */
    public int updateAppUserBalance(XhpcAppUser xhpcAppUser);

    /**
     * 更新川逸充用户余额
     */
    public int updateAppInternetUserBalance(XhpcAppInternetUser xhpcAppUser);

    /**
     * 更新C端退款订单审核
     *
     * @param xhpcAppUser C端用户
     * @return
     */
    public int updateAppUserRefundApplication(XhpcAppUser xhpcAppUser);


    /**
     * 用户流水列表
     *
     * @param appUserId C端用户id
     * @return
     */
    public List<Map<String, Object>> list(@Param("appUserId") Long appUserId,@Param("source") Integer source,@Param("tenantId")String tenantId);


    /**
     * 实时订单获取终端号
     * @param userId
     * @return
     */
    String getUserHistotyChargeOrder(@Param("userId") Long userId,@Param("source") Integer source,@Param("tenantId")String tenantId);

    String getUserHistotyChargeOrderSuncha(@Param("userId") Long userId,@Param("source") Integer source,@Param("tenantId")String tenantId,@Param("sunchaStatus")Integer sunchaStatus);

}
