package com.muchinfo.mtp3century.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.muchinfo.mtp3century.utils.AjaxResult;
import com.muchinfo.mtp3common.vo.PageResult;
import com.muchinfo.mtp3pojos.entity.Taaccount;
import com.muchinfo.mtp3pojos.vo.investor.InvestorTaAccountUpdateParam;
import com.muchinfo.mtp3pojos.vo.taaccount.*;

import javax.servlet.http.HttpServletRequest;

/**
 * <p>
 * 资金账户表 - 导历史 服务类
 * </p>
 *
 * @author XKF
 * @since 2024-04-16
 */
public interface ITaaccountService extends IService<Taaccount> {
    PageResult<TaAccountQueryResult> queryUserMsg(HttpServletRequest request, TaAccountQueryParam taAccountQueryParam);

    AjaxResult<TaAccountQueryResultDetail> queryDetail(HttpServletRequest request, Long accountId);

    AjaxResult updatePwd(HttpServletRequest request, TaAccountPwd taAccountPwd);

    PageResult<TaAccountAmountStreamResult> queryAmountStream(HttpServletRequest request, TaAccountAmountStreamParam param);

    AjaxResult queryAmountStreamExport(TaAccountAmountStreamParam taAccountAmountStreamParam, HttpServletRequest request);

    AjaxResult inOrOutAmount(TaAccountInOrOutAmountParam param, HttpServletRequest request);

    AjaxResult updateTaAccount(TaAccountUpdateParam param, HttpServletRequest request);

    PageResult<Taaccount> showAccount(Long userid, String accountid, Integer pageNo, Integer pageSize, HttpServletRequest request);

    AjaxResult edit(InvestorTaAccountUpdateParam updateParam, HttpServletRequest request);

    AjaxResult logOff(Long areaid, HttpServletRequest request);

    AjaxResult recover(Long areaid, HttpServletRequest request);

    AjaxResult rebackChange(Long areaid, HttpServletRequest request);

    AjaxResult<TaAccountInitResultDetail> updateTaAccountInit(HttpServletRequest request, Long accountId,String orgztypes);
}
