package com.nova.sankuai.service; import cn.hutool.json.JSONObject; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import com.nova.sankuai.domain.api.baidu.BaiduDto; import com.nova.sankuai.domain.api.zhongan.DuolaiRequest; import com.nova.sankuai.domain.dto.*; import com.nova.sankuai.domain.entity.City; import com.nova.sankuai.domain.entity.Customer; import com.nova.sankuai.domain.vo.Version4FlowPathVo; import com.nova.sankuai.domain.vo.customer.CustomerDetail; import com.nova.sankuai.domain.vo.customer.CustomerMechanismConfigVo; import com.nova.sankuai.domain.vo.customer.CustomerVo; import com.nova.sankuai.domain.vo.platform.ImportCustomerParameter; import com.nova.sankuai.domain.vo.sysuser.MechanismVo; import com.nova.sankuai.infra.utils.PageRequest; import com.nova.sankuai.infra.utils.ResultJson; import com.nova.sankuai.security.UserDetail; import javax.servlet.http.HttpServletRequest; import java.util.Map; import java.util.Set; /** * @author weikangdi */ public interface ICustomerService extends IService { /** * 新增客户信息 * * @param customer * @param appId * @return */ String add(Customer customer, String appId); /** * 计算放款机构 * * @param customer * @return */ Customer calculate(Customer customer); /** * 获取客户信息 * * @param customerPageDto * @param pageRequest * @return */ IPage page(CustomerPageDto customerPageDto, PageRequest pageRequest); /** * 获取客户信息详情 * * @param id * @return */ CustomerDetail getCustomerDetail(Long id); /** * 新增大额H5客户 * * @param customer * @param code * @param appId * @return */ CustomerMechanismConfigVo addLargeCustomer(Customer customer, String code, String appId); /** * 查找匹配的机构 * * @param parse * @return */ MechanismVo searchMatchMechanism(CustomerCompareDto parse); /** * 新增百度客户 * * @param dto * @return */ Customer addBaiDuCustomer(BaiduDto dto); /** * 保存其他平台同步过来的用户数据 * * @param parameter */ void importCustomerFromPlatform(ImportCustomerParameter parameter); /** * 新增众安客户 * * @param request * @return */ Map addZhonganCustomer(DuolaiRequest request); /** * 根据身份证查询众安客户 * * @param request * @return */ Map selectZhonganCustomerByCardNo(DuolaiRequest request); /** * 大额H5匹配机构 * * @param customerId * @param mechanismId */ void updateMatchMechanism(Long customerId, Long mechanismId); /** * 重新分配机构 * * @param customerId * @param mechanismId */ void assignMechanism(Long customerId, Long mechanismId); /** * 检测机构是否达到上限 * * @param mechanismId * @return */ Set checkMechanism(Long mechanismId); /** * 新建空白贷超访问客户记录 * * @param visitDto */ void addBlankVisitRecord(BlankCustomerVisitDto visitDto); /** * 新增APP客户基本信息 * * @param customer * @param appId * @return */ String appAddBasicInfo(CustomerBaseDto customer, String appId, HttpServletRequest request); /** * H5匹配资金方 * * @param customer * @return */ ResultJson h5Match(CustomerBaseDto customer, HttpServletRequest request); /** * 新增APP客户资金方信息 * * @param customer * @param appId * @param channelInfo * @param request * @return */ String appAddCapitalInfo(HttpServletRequest request, CustomerCapitalDto customer, String appId, String channelInfo); /** * 新增APP客户OCR+人脸识别资料 * * @param customerOcrDto * @param appId * @return */ String appAddOCRInfo(CustomerOcrDto customerOcrDto, String appId); /** * 新增APP客户银行卡信息 * * @param customerBankCardDto * @param appId * @return */ String appAddBankCardInfo(CustomerBankCardDto customerBankCardDto, String appId); /** * 爱助贷同步用户信息 * * @param parameter */ void aizhudaiCustomImport(ImportCustomerParameter parameter); /** * 新增APP客户还款计划 * * @param customerRepayDto * @param appId * @return */ String appAddRepayInfo(CustomerRepayDto customerRepayDto, String appId); /** * 融易推用户会员购买 * * @param userDetail * @param vipCardType * @return */ void rongYiTuiVip(UserDetail userDetail, Integer vipCardType); /** * 根据用户ip获取城市信息 * * @param request * @return */ City getUserIpCity(HttpServletRequest request); /** * 4.0流程 * * @param userDetail * @return */ Version4FlowPathVo version4FlowPath(UserDetail userDetail); /** * 新增4.0APP客户资金方信息 * * @param customer * @param appId * @param channelInfo * @param request * @return */ String appFourAddRelationInfo(HttpServletRequest request, CustomerRelationDto customer, String appId, String channelInfo); /** * 新增4.0APP客户公司信息 * * @param customer * @param appId * @param request * @return */ String appFourAddCompanyInfo(HttpServletRequest request, CustomerCompanyDto customer, String appId); /** * 新增资产信息 */ String appFiveAddAssetInfo(HttpServletRequest request, CustomerAssetDto customer, String appId); /** * 从浏览器h5进行资产信息录入 */ String h5FiveAddAssetInfo(HttpServletRequest request, CustomerAssetDto customerCompanyDto, String appId); /** * 用于判断登录时是否有数据,用于小凌合癸未专用 * @param userDto */ Customer getUser(LoginUserDto userDto); /** * 从浏览器h5推送数据,不包括慧借钱包 */ void h5PushInfo(Customer customer); /** * app推送数据 */ void appPushInfo(HttpServletRequest request); /** * 从浏览器h5推送数据,包括慧借钱包 * @param customer */ void h5PushInfoInclude(Customer customer); ResultJson getH5Match(String phone); }