package com.bjtdba.userCenter.service;

import com.bjtdba.entity.order.User;
import com.bjtdba.entity.userCenter.UserBill;
import com.bjtdba.userCenter.dto.request.GetUserListRequest;
import com.bjtdba.userCenter.dto.request.ModifyPVRequest;
import com.bjtdba.userCenter.dto.request.UserScoreModifyRequest;
import com.bjtdba.userCenter.dto.response.ModifyPVResponse;
import com.bjtdba.userCenter.dto.request.*;
import com.bjtdba.userCenter.dto.response.UserContributeModifyResponse;
import com.bjtdba.userCenter.dto.response.UserScoreModifyResponse;
import com.bjtdba.userCenter.dto.response.common.PageResult;
import com.bjtdba.userCenter.dto.response.UserDTO;

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

public interface UserService {
    /**
     * 通过用户id查询用户信息
     * @param uid
     * @return
     */
    public User queryByid(Integer uid);

    /**
     * 通过用户id查询大仓会员类型
     * @param uid
     * @return
     */
    public Integer dachangType(Integer uid);

    /**
     *  养老金 --线下数量
     * @param uid
     * @return
     */
    public Double getoffLine(Integer uid);

    public Integer getoffLineCount(Integer uid);

    public List<UserBill> getUserBillList(UserBill userBill);

    public Integer getUserBillCount(UserBill userBill);

    public BigDecimal getUserCommission(Integer uid);

    PageResult<UserDTO> getUserList(GetUserListRequest request);

    UserScoreModifyResponse modifyUserScore(UserScoreModifyRequest request);

    ModifyPVResponse modifyUserPV(ModifyPVRequest request);

    UserContributeModifyResponse modifyUserContribute(UserContributeModifyRequest request);

    UserDTO createUserInfo(CreateUserInfoRequest request);

    UserDTO updateUserInfo(UpdateUserInfoRequest request);
}
