package com.haha.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.haha.entity.dto.UserQueryDTO;
import com.haha.entity.User;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

public interface UserService extends IService<User> {
    User getUserByOpenId(String openId);
    User getUserByPhone(String phone);
    boolean updateCreditScore(Long userId, Integer score);
    boolean updateBalance(Long userId, BigDecimal amount);
    
    /**
     * 分页查询客户列表
     */
    IPage<User> getPage(int page, int pageSize, UserQueryDTO queryDTO);
    
    /**
     * 获取客户统计信息
     */
    Map<String, Object> getStatistics();

    /**
     * 批量填充客户标签字段（状态标签 + 用户消费标签）
     *
     * @param users 客户列表
     */
    void fillUserLabels(List<User> users);
}
