package com.goafanti.customer.service; import java.util.List; import java.util.Set; import com.goafanti.common.error.BusinessException; import com.goafanti.common.model.OrganizationContactBook; import com.goafanti.common.model.User; import com.goafanti.common.model.UserBusiness; import com.goafanti.core.mybatis.page.Pagination; import com.goafanti.customer.bo.CustomerListIn; import com.goafanti.customer.bo.CustomerListOut; import com.goafanti.customer.bo.CustomerOrganizationDetailBo; import com.goafanti.customer.bo.CustomerPersonalDetailBo; import com.goafanti.customer.bo.CustomerSimpleBo; import com.goafanti.customer.bo.FollowBusinessBo; import com.goafanti.customer.bo.FollowListBo; public interface CustomerService { /** * 私有个人客户列表查询 * @param cin * @param pageSize * @param pageNumber * @return */ Pagination listPrivatePersonalCustomer(CustomerListIn cli, Integer pageNo, Integer pageSize); /** * 公共个人客户列表查询 * @param cin * @param pageSize * @param pageNumber * @return */ Pagination listPublicPersonalCustomer(CustomerListIn cli, Integer pageNo, Integer pageSize); /** * 所有个人客户列表查询 * @param cin * @param pageSize * @param pageNumber * @return */ Pagination listAllPersonalCustomer(CustomerListIn cli, Integer pageNo, Integer pageSize); /** * 私有单位客户列表查询 * @param cin * @param pageSize * @param pageNumber * @return */ Pagination listPrivateOrganizationCustomer(CustomerListIn cli, Integer pageNo, Integer pageSize); /** * 公共单位客户列表查询 * @param cin * @param pageSize * @param pageNumber * @return */ Pagination listPublicOrganizationCustomer(CustomerListIn cli, Integer pageNo, Integer pageSize); /** * 所有单位客户列表查询 * @param cin * @param pageSize * @param pageNumber * @return */ Pagination listAllOrganizationCustomer(CustomerListIn cli, Integer pageNo, Integer pageSize); /** * 使用客户名检索客户 * @param name 客户名称 * @return */ List findCustomerByName(String name); /** * 判断是否存在某个单位客户 * @param name * @return */ int judgeCustomerByName(String name); /** * * @param name 客户名 * @param contacts 联系人 * @param contactMobile 联系电话 * @param type 客户类型 * @param societyTag 社会属性 * @return */ int addCustomer(String name,String contacts,String contactMobile,Integer type,String societyTag) throws BusinessException; /** * 查询单位客户详情 * @param uid 用户ID * @return */ CustomerPersonalDetailBo findPersonalCustomerDetail(String uid); /** * 查询单位客户详情 * @param uid 用户ID * @return */ CustomerOrganizationDetailBo findOrganizationCustomerDetail(String uid); /** * 修改单位客户信息 * @param bo * @return */ int updateOrganizationCustomer(CustomerOrganizationDetailBo bo); /** * 查看跟进记录列表 * @param pageNo * @param pageSize * @return */ Pagination listFollowHistory(Integer pageNo, Integer pageSize,String uid,String businessGlossoryId); /** * 查看客户账户信息 * @param uid 客户ID * @return */ User findUserAccountDetail(String uid); /** * 更新用户基本信息 * @param user */ int updateUserAccount(User user); /** * 客户联系人列表 * @param uid * @return */ List findCustomerContacts(String uid); /** * 添加拜访记录 * @param fbb */ int addFollow(FollowBusinessBo fbb) throws BusinessException; /** * 查询拜访记录详情 * @param followId * @return */ FollowBusinessBo findFollowById(String followId); /** * 查询单词拜访推进的客户意向 * @param followId * @return */ List findBusinessByFollowId(String followId); /** * 修改拜访记录 * @param fbb */ int updateFollow(FollowBusinessBo fbb) throws BusinessException; /** * 查询客户的所有联系人 * @param uid * @return */ Set findAllContacts(String uid); /** * 更新客户联系人 * @param ocbList * @return */ int updateCustomerContacts(List ocbList,String uid); }