package com.xhpc.user.service;

import com.xhpc.common.core.web.domain.AjaxResult;
import com.xhpc.user.domain.XhpcCustomers;
import com.xhpc.user.domain.XhpcCustomersPersonnel;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;

/**
 * @author yuyang
 * @date 2021/12/23 15:53
 */
public interface IXhpcCustomersService {


    List<Map<String, Object>> userList(HttpServletRequest request,String name);

    /**
     * 大客户组列表
     *
     * @param name         桩名称
     * @return
     */
    List<Map<String, Object>> list(HttpServletRequest request,String name);

    /**
     * 新增大客户组树
     *
     * @param
     * @return
     */
    AjaxResult addCustomers(HttpServletRequest request, XhpcCustomers xhpcCustomers);

    /**
     * 删除大客户组树
     */
    AjaxResult deleteCustomers(XhpcCustomers xhpcCustomers);

    /**
     * 查询大客户组
     *
     * @return
     */
    Map<String, Object> getCustomersById(XhpcCustomers xhpcCustomers);

    /**
     * 编辑大客户组
     *
     * @param
     * @return
     */
    AjaxResult updateCustomers(XhpcCustomers xhpcCustomers);

    /**
     * 大客户人员列表
     * @return
     */
    List<Map<String, Object>> customersPersonnelList(Long customersId,String account,String phone,Integer status);

    /**
     * 新增社区人员
     * @param
     * @return
     */
    AjaxResult addCustomersPersonnel(HttpServletRequest request, XhpcCustomersPersonnel xhpcCustomersPersonnel);

    /**
     * 查询社区人员
     *
     * @return
     */
    Map<String, Object> getCustomersPersonnelById(XhpcCustomersPersonnel xhpcCustomersPersonnel);

    /**
     * 编辑社区组树
     *
     * @param
     * @return
     */
    AjaxResult updateCustomersPersonnel(XhpcCustomersPersonnel xhpcCustomersPersonnel);

    /**
     * 删除社区人员
     */
    void deleteCustomersPersonnel(XhpcCustomersPersonnel xhpcCustomersPersonnel);

    /**
     * 充值
     */
    AjaxResult addRecharge(XhpcCustomersPersonnel xhpcCustomersPersonnel);

    /**
     * 社区人员状态改变
     */
    void updateCustomersPersonnelStatus(XhpcCustomersPersonnel xhpcCustomersPersonnel);

    /**
     * 根据用户id获取大客户组
     */
    Map<String, Object> getCustomersPersonnelUserId(Long userId,String tenantId, Long chargingStationId);

    Map<String, Object> getMotorcadeUserId(Long userId,String tenantId, Long chargingStationId);
}
