package com.czg.account.service;

import com.czg.account.dto.shopuser.*;
import com.czg.account.entity.ShopUser;
import com.czg.market.entity.SmsPushEventUser;
import com.mybatisflex.core.paginate.Page;
import jakarta.servlet.http.HttpServletResponse;

import java.math.BigDecimal;

/**
 * 商户储值会员 服务层。
 *
 * @author Administrator
 * @since 2025-02-08
 */
public interface AShopUserService {

    Page<ShopUser> getPage(String key, Integer isVip);

    Page<ShopUserDTO> getPage(String key, Integer isVip, BigDecimal amount);

    Page<ShopUser> getPushEventUser(SmsPushEventUser smsPushEventUser);

    Page<ShopUser> getAcPushEventUser(SmsPushEventUser smsPushEventUser);

    void exportUserList(String key, Integer isVip, HttpServletResponse response);

    Boolean editVip(ShopUserVipEditDTO vipEditDTO);

    Boolean add(Long shopId, ShopUserAddDTO shopUserAddDTO);

    Boolean updateInfo(Long shopId, ShopUserEditDTO shopUserEditDTO);

    ShopUserSummaryDTO getSummary(Long shopId, Integer isVip);

    ShopUser getDetail(Integer id, Integer userId);

    Long updateMoney(ShopUserMoneyEditDTO shopUserEditDTO);
}
