package org.jeecg.modules.service;

import org.jeecg.bean.CommentBean;
import org.jeecg.bean.ProjectBean;
import org.jeecg.common.api.vo.Result;
import org.jeecg.modules.bean.*;
import org.jeecg.modules.hanHaiMember.entity.HanHaiMember;
import org.jeecg.modules.msgAddress.entity.MsgAddress;
import org.jeecg.modules.msgDistributor.entity.MsgDistributor;
import org.jeecg.modules.msgShop.entity.MsgShop;
import org.jeecg.modules.msgTechnician.entity.MsgTechnician;
import org.jeecg.modules.msgTer.entity.MsgTer;

import java.math.BigDecimal;

public interface UserVipApiService {


    ///微信公众号授权登录
    Result<?> wxOfficialLogin(OfficialLoginBean bean);

    //首页-获取banner
    Result<?> getBanner();

    //首页-获取项目列表
    Result<?> getProjectList(ProjectBean bean);



    //首页-详情-获取项目详情-根据项目标识
    Result<?> getProjectDetail(String id,TechnicianPageBean pageBean);

    //技师-获取技师列表-带分页搜索
    Result<?> getTechnicianList(TechnicianPageBean pageBean);

    //技师-获取技师详情
    Result<?> getTechnicianDetail(String token,String id);

    //订单-获取订单列表-带分页搜索
    Result<?> getOrderList(String token,OrderPageBean pageBean);

    //订单-获取订单详情
    Result<?> getOrderDetail(String token,String id);

    //我的-获取优惠券列表信息
    Result<?> getCouponList(String token,CouponPageBean pageBean);

    //我的-获取地址信息列表
    Result<?> getAddressList(String token,AddressPageBean pageBean);

    //我的-获取地址信详情
    Result<?> getAddressDetail(String token,String id);

    //我的-钱包-获取充值套餐列表信息
    Result<?> getRechargeList();

    //我的 - 获取客服联系方式
    Result<?> getCustomerService();

    //我的 - 增加或修改地址信息
    Result<?> addOrUpdateAddress(MsgAddress msgAddress,String token);

    //我的 - 删除地址信息
    Result<?> deleteAddress(String id,String token);

    //我的 - 增加或修改技师入驻信息
    Result<?> addOrUpdateMsgTer(MsgTer msgTechnician, String token);

    //我的 - 增加或修改分销商入驻信息
    Result<?> addOrUpdateShop(MsgDistributor bean, String token);

    //我的 - 修改用户信息
    Result<?> updateUser(HanHaiMember member,String token);


    //微信支付
    Result<?> createPayOrder(String token, RechargeReq req);


    //支付回调
    Object createWxNotify(String requestBody);


    //显示二维码
    Result<?> getShowQrcode();


    //钱包提现
    Result<?> walletWithdraw(String token, BigDecimal price);

    //获取配置信息
    Result<?> getConfig();

    //获取评论信息的接口
    Result<?> getCommentList(String token, CommentBean bean);

    //我的-获取个人信息接口
    Result<?> getUserInfo(String token);


    //获取分销代理流水信息
    Result<?> getAgentFlow(String token,MsgWaterBean bean);



    //获取当前开放区域的接口
    Result<?> getCurrentArea();

}
