/**
*
*/
package com.zteits.pay.dao;
import java.util.List;
import com.github.pagehelper.PageInfo;
import com.zteits.clouds.api.dto.pay.AcctPersonDTO;
import com.zteits.clouds.api.dto.pay.account.dto.AccountInOutDetailForPageDTO;
import com.zteits.clouds.api.dto.pay.account.param.AccoutRecordDetailRequest;
import com.zteits.clouds.api.dto.pay.account.param.AcctInOutDetailForPageRequest;
import com.zteits.clouds.api.dto.pay.dto.AcctPersonForStoreCarDTO;
import com.zteits.clouds.api.dto.pay.param.*;
import com.zteits.pay.domain.TdCAcctPerson;
/**
* @author hxz
*
*/
public interface TdCAcctPersonDao {
/**
* 插入
* @param acctPersonDo
* @return
*/
Integer insertAcctPerson(TdCAcctPerson acctPersonDo);
/**
* 修改账户信息
* @param acctPersonDo
* @return
*/
Boolean updateAcctPerson(TdCAcctPerson acctPersonDo);
/**
* 获取账户信息
* @param acctPersonDo
* @return
*/
TdCAcctPerson getAcctPerson(TdCAcctPerson acctPersonDo);
/**
* 通过custIdList 和账户类型查询个人账户信息.
* @param
* @return
* @Author: xiejianpeng
* @Date: 2018/9/14 14:51
*
*/
List queryAcctPersonByCustIdAndAcctType(QueryAcctPersonByCustIdsAndAcctTypeReq request);
/**
* 根据custId客户账户,组织Id分组
* @author wangbiao
* @date 2018/11/21 16:28
* @param [custId]
* @return java.util.List
*/
List getAcctPersonGroupByOrgId(QueryAcctPersonByCustIdsAndAcctTypeReq request);
/**
* 根据 custId,orgId查询客户账户信息,账户类型分组
* @author wangbiao
* @date 2018/11/21 16:28
* @param [custId, orgId]
* @return java.util.List
*/
List getAcctPersonGroupByAcctType(QueryAcctPersonByCustIdsAndAcctTypeReq request);
/**
* 根据类型(赠送金额,赠送代金券)增加个人对于账户金额
* @param custId
* @return
*/
TdCAcctPerson addFeeForCustPresentAcct(Long orgId,Long rechargeFee,int accType,String custId);
/**
*
* @param
* @return
* @Author: xiejianpeng
* @Date: 2019/1/17 11:53
*
*/
PageInfo queryAccountInOutDetailsForPage(AcctInOutDetailForPageRequest requestQ);
/**
* 通过账户 ID 查询个人账户信息
* @Auther: wangfs
* @param
* @return
*/
TdCAcctPerson getAcctPersonByAcctId(String acctId);
/**
* 通过账户 ID 查询个人账户信息
* @Auther: wangfs
* @param
* @return
*/
TdCAcctPerson getAcctPersonByAcctIdAndAcctType(String acctId,List acctTypes);
/**
* 个人账户金额加或者减操作
* @Auther: wangfs
* @param
* @retur
*/
Integer addOrsubAcctPersonFeeByAcctId(AddOrsubAcctPersonFeeByAcctIdReq req);
/**
*
* @param
* @return
* @Author: xiejianpeng
* @Date: 2019/12/19 18:30
*
*/
PageInfo queryAcctPersonStoreCarForPage(QueryAcctPersonForPageReq request);
/**根据订单编号查询详情*/
List queryAccountRecordDetails(AccoutRecordDetailRequest req);
}