package com.czg.account.service;

import com.czg.account.dto.shopuser.ShopUserAddDTO;
import com.czg.account.dto.shopuser.ShopUserDetailDTO;
import com.czg.account.dto.shopuser.ShopUserMoneyEditDTO;
import com.czg.account.dto.shopuser.ShopUserVipCardDTO;
import com.czg.account.entity.ShopUser;
import com.czg.resp.CzgResult;
import com.mybatisflex.core.paginate.Page;

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

    /**
     * 获取服务层。
     */
    ShopUserService getService();

    ShopUser getShopUserInfo(Long shopId, long userId);

    /**
     * 获取小程序登录用户所有店铺会员信息
     */
    Page<ShopUserVipCardDTO> vipCard(long userInfoId);

    CzgResult<String> getCode(long userInfoId, long shopId);

    boolean join(Long shopId, Long userId, ShopUserAddDTO shopUserAddDTO);

    ShopUserDetailDTO getInfo(Long shopId, long userId);

    /**
     * 返回流水Id
     */
    Long updateMoney(ShopUserMoneyEditDTO shopUserEditDTO);
}
