package com.xhpc.user.service;

import com.xhpc.user.dto.MechanismDto;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
 * @author yuyang
 * @date 2021/12/20 14:30
 */
public interface IMechanismService {

    /**
     * 用户拥有数据权限
     *
     * @return 结果
     */
    public List<MechanismDto> dataList(Integer status);

    /**
     * 删除该社区组的数据维度
     */
    int updateMechanism(Long mechanismId,Integer source);

    /**
     * 添加数据维度
     */
    int addMechanism(List<String> chargingStationIds,Long mechanismId,Integer source);


    /**
     * 增加充值记录
     * @param userId 充值的用户
     * @param source 0 C端用户 1 流量方用户 2社区用户 3B端用户
     * @param amount 金额
     * @param remainingSum 剩余金额
     * @param type 充值渠道（1微信 2支付宝  3平台)
     * @return
     */
    Long addRechargeOrder(Long userId,Integer source, BigDecimal amount,BigDecimal remainingSum,Integer type);


    /**
     * 用户流水记录
     * @param userId              用户id
     * @param amount              流水金额
     * @param remainingSum        余额
     * @param chargeOrderId      充电订单id
     * @param rechargeOrderId     充值订单id
     * @param refundOrderId       退款订单id
     * @param type                1充值 2退款 3充电
     * @param tenantId            租户id
     * @param source              订单来源（0 C端用户 1 流量方用户 2社区用户 3B端用户）
     * @return
     */
    int insertUserAccount(Long userId,BigDecimal amount,BigDecimal remainingSum,Long chargeOrderId,Long rechargeOrderId,Long refundOrderId,Integer type,String tenantId,Integer source);



}
