| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558 |
- package com.goafanti.customer.service;
- import java.text.ParseException;
- import java.util.Date;
- import java.util.List;
- import java.util.Set;
- import org.apache.poi.xssf.usermodel.XSSFWorkbook;
- import com.goafanti.common.bo.userDaysBo;
- import com.goafanti.common.error.BusinessException;
- import com.goafanti.common.model.Admin;
- import com.goafanti.common.model.OrganizationContactBook;
- import com.goafanti.common.model.User;
- import com.goafanti.core.mybatis.page.Pagination;
- import com.goafanti.customer.bo.BusinessListBo;
- import com.goafanti.customer.bo.BussinessFollowBo;
- import com.goafanti.customer.bo.CustomerExcelBo;
- 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;
- import com.goafanti.customer.bo.InputListChannel;
- import com.goafanti.customer.bo.LockingReleaseBo;
- import com.goafanti.customer.bo.StatisticBo;
- import com.goafanti.customer.bo.transferListBo;
- import com.goafanti.user.bo.OutUserChannel;
- public interface CustomerService {
- /**
- * 私有个人客户列表查询
- * @param cin
- * @param pageSize
- * @param pageNumber
- * @return
- */
-
- Pagination<CustomerListOut> listPrivatePersonalCustomer(CustomerListIn cli, Integer pageNo, Integer pageSize);
- /**
- * 公共个人客户列表查询
- * @param cin
- * @param pageSize
- * @param pageNumber
- * @return
- */
- Pagination<CustomerListOut> listPublicPersonalCustomer(CustomerListIn cli, Integer pageNo, Integer pageSize);
-
-
- /**
- * 所有个人客户列表查询
- * @param cin
- * @param pageSize
- * @param pageNumber
- * @return
- */
- Pagination<CustomerListOut> listAllPersonalCustomer(CustomerListIn cli, Integer pageNo, Integer pageSize);
-
- /**
- * 管理个人客户查询(所属人同部门客户管理)
- * @param cin
- * @param pageSize
- * @param pageNumber
- * @return
- */
- Pagination<CustomerListOut> listAllManagePersonalCustomer(CustomerListIn cli, Integer pageNo, Integer pageSize);
-
- /**
- * 私有单位客户列表查询
- * @param cin
- * @param type 0私有列表 1指导列表
- * @return
- */
- Pagination<CustomerListOut> listPrivateOrganizationCustomer(CustomerListIn cli,Integer sort,Integer sortType,Integer power, Integer pageNo, Integer pageSize);
-
- /**
- * 公共单位客户列表查询
- * @param cin
- * @param pageSize
- * @param pageNumber
- * @return
- */
- Pagination<CustomerListOut> listPublicOrganizationCustomer(CustomerListIn cli, Integer pageNo, Integer pageSize);
-
-
- /**
- * 所有单位客户列表查询
- * @param cin
- * @param pageSize
- * @param pageNumber
- * @return
- */
- Pagination<CustomerListOut> listAllOrganizationCustomer(CustomerListIn cli, Integer pageNo, Integer pageSize);
-
- /**
- * 管理单位客户列表查询
- * @param cin
- * @param pageSize
- * @param pageNumber
- * @return
- */
- Pagination<CustomerListOut> listAllManageOrganizationCustomer(CustomerListIn cli, Integer pageNo, Integer pageSize);
- /**
- * 使用客户名检索客户
- * @param name 客户名称
- * @return
- */
- List<CustomerSimpleBo> findCustomerByName(String name);
-
- /**
- * 使用客户名检索私有客户
- * @param name
- * @return
- */
- List<CustomerSimpleBo> getPrivateCustomerByName(String name);
-
- /**
- * 使用客户名称检索已签单客户
- * @param name
- * @return
- */
- List<CustomerSimpleBo> getSignedCustomerByName(String name);
-
- /**
- * 判断是否存在某个单位客户
- * @param name
- * @return
- */
- int judgeCustomerByName(String name);
-
- /**
- *
- * @param name 客户名
- * @param contacts 联系人
- * @param contactMobile 联系电话
- * @param type 客户类型
- * @param societyTag 社会属性
- * @param area
- * @param city
- * @param province
- * @return
- */
- int addCustomer(String name,String contacts,String contactMobile,Integer type,Integer source,String societyTag, Integer province, Integer city, Integer area) 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 bo
- * @return
- */
- int updatePersonalCustomer(CustomerPersonalDetailBo bo);
-
-
-
- /**
- * 查看客户账户信息
- * @param uid 客户ID
- * @return
- */
- User findUserAccountDetail(String uid);
-
- /**
- * 更新用户基本信息
- * @param user
- */
- int updateUserAccount(User user);
-
- /**
- * 客户联系人列表
- * @param uid
- * @return
- */
- List<OrganizationContactBook> findCustomerContacts(String uid);
-
- /**
- * 添加拜访记录
- * @param fbb
- */
- int addFollow(FollowBusinessBo fbb) throws BusinessException;
-
- /**
- * 查询拜访记录详情
- * @param followId
- * @return
- */
- FollowBusinessBo findFollowById(String followId);
- /**
- * 查询单词拜访推进的客户意向
- * @param followId
- * @return
- */
- List<BusinessListBo> findBusinessByFollowId(String followId);
-
- /**
- * 修改拜访记录
- * @param fbb
- */
- int updateFollow(FollowBusinessBo fbb) throws BusinessException;
-
- /**
- * 查询客户的所有联系人
- * @param uid
- * @return
- */
- Set<OrganizationContactBook> findAllContacts(String uid);
-
- /**
- * 更新客户联系人
- * @param ocbList
- * @return
- */
- int updateCustomerContacts(List<OrganizationContactBook> ocbList,String uid);
-
- /**
- * 删除拜访记录
- * @param followId
- * @return
- */
- int deleteFollow(String followId);
-
- /**
- * 检查客户业务
- * @param boSet
- * @param existRows
- */
- void checkCustomer(Set<CustomerExcelBo> boSet,Set<Integer> existRows, Set<Integer> filterRows);
-
- /**
- * 保存上传数据
- * @param boSet
- */
- int saveUploadData(Set<CustomerExcelBo> boSet);
- /**
- * 通过操作类型更新客户
- * @param uid
- * @param operatorType
- * @return
- */
- int updateByOperatorType(String uid,String aid,Integer operatorType,Object... params);
-
- /**
- * 客户统计
- * @param sDate
- * @param eDate
- * @param depId
- * @return
- */
- Pagination<StatisticBo> customerStatistics(Date sDate, Date eDate, String depNo, String businessGlossoryId, Integer pageNo, Integer pageSize);
-
- /**
- * 业务进度统计
- * @param sDate
- * @param eDate
- * @return
- */
- Pagination<StatisticBo> businessStatistic(Date sDate, Date eDate, String depNo, String businessGlossoryId,Integer pageNo, Integer pageSize);
-
- /**
- * 拜访统计
- * @param sDate
- * @param eDate
- * @return
- */
- Pagination<StatisticBo> followStatistic(Date sDate, Date eDate, String depNo, Integer pageNo, Integer pageSize);
-
- /**
- * 查询我的业务列表
- * @param blo
- * @return
- */
- Pagination<BusinessListBo> listBusiness(BusinessListBo blo,Integer pageNo,Integer pageSize);
- /**
- * 查询所有的业务列表
- * @param bfb
- * @return
- */
- Pagination<BusinessListBo> listAllBusiness(BusinessListBo blo, Integer pageNo, Integer pageSize);
-
- /**
- * 业务管理列表
- * @param blo
- * @return
- */
- Pagination<BusinessListBo> listManageBusiness(BusinessListBo blo,Integer pageNo,Integer pageSize);
-
- /**
- * 意向字典
- * @return
- */
- List<BusinessListBo> findBusinessGlossory();
-
- /**
- *
- * @param uid 客户ID
- * @param businessProjectId 业务项目的ID
- * @return
- */
- int judgeBusiness(String uid,String businessProjectId);
- /**
- * 添加意向服务和跟进记录
- * @param bfb
- */
- void addBusinessAndFollow(BussinessFollowBo bfb) throws ParseException ;
-
- /**
- * 查询业务列表
- * @param uid 客户ID
- * @param aid 营销员ID
- * @return
- */
- List<BusinessListBo> findBusinessByUAid(String uid,String aid);
-
- /**
- * 查询锁定的业务列表
- * @param uid
- * @param aid
- * @return
- */
- List<BusinessListBo> findLockedBusinessByUAid(String uid,String aid);
- /**
- * 查看业务意向详情
- * @param businessId
- * @return
- */
- BussinessFollowBo findBusinessDetail(String businessId);
- /**
- * 修改业务意向
- * @param bfb
- * @return
- */
- int updateBusiness(BussinessFollowBo bfb);
- /**
- * 跟进单个业务意向
- * @param bfb
- * @return
- */
- int addFollowOneBusiness(BussinessFollowBo bfb) throws ParseException;
- /**
- * 查询某个客户的一个意向的当次拜访
- * @param ufbId
- * @return
- */
- BussinessFollowBo findFollowOneBusiness(String ufbId);
- /**
- * 修改某个客户的一个意向的当次拜访
- * @param bfb
- * @return
- */
- int updateFollowOneBusiness(BussinessFollowBo bfb);
- /**
- * 添加单个联系人
- * @param ocb
- * @return
- */
- int addOneContact(OrganizationContactBook ocb);
- /**
- * 删除业务
- * @param businessId
- * @return
- */
- int deleteBusiness(String businessId);
- /**
- * 停止业务
- * @param businessId
- * @return
- */
- int updateBusinessToStop(String businessId);
- /**
- * 删除跟进记录中间表记录
- * @param ufbId
- * @return
- */
- int deleteFollowOneBusiness(String ufbId);
- /**
- * 删除单个联系人
- * @param ocbId
- * @return
- */
- int deleteOneContact(String ocbId);
-
- List<Admin> findAdminName();
-
- int updatePersonalCustomerz(CustomerPersonalDetailBo bo);
-
- Pagination<CustomerListOut> findEnteringAudit(CustomerListOut clo, Integer pageNo, Integer pageSize);
-
- Pagination<CustomerListOut> findEnteringAuditIsNo(CustomerListOut clo, Integer pageNo, Integer pageSize);
-
- int updateEnteringAudit(User bo);
-
- /**
- * 修改为主要联系人
- * @param ocbId
- * @return
- */
- int updateMainContact(String ocbId,String uid);
-
- /** 修改拒绝客户信息 **/
- int updateRefusedCustomer(String id,String nickname, String mobile, String societyTag);
-
- /**
- * 签单的单位客户
- * @param cli
- * @param pageNo
- * @param pageSize
- * @return
- */
- Pagination<CustomerListOut> listSignOrganizationCustomer(CustomerListIn cli, Integer pageNo, Integer pageSize);
-
- /**
- * 签单的个人客户
- * @param cli
- * @param pageNo
- * @param pageSize
- * @return
- */
- Pagination<CustomerListOut> listSignPersonalCustomer(CustomerListIn cli, Integer pageNo, Integer pageSize);
-
- /**
- * 查询需要释放的客户
- * @param uid 客户Id
- * @param type 0 未跟进 1未签单
- * @return
- */
- List<LockingReleaseBo> selectWaitReleaseCustomer(String uid, Integer type);
-
- List<LockingReleaseBo> selectWaitReleaseBusiness(String uid);
-
- void updateReleaseLock(Date releaseTime);
-
- /**
- * 查询客户的锁定业务
- * @param uid
- * @return
- */
- List<LockingReleaseBo> selectLockedProject(String uid);
- /**
- * 再次签订项目任务
- * @param aid
- * @param id
- * @return
- */
- int updateAgainProjectTask(String uid, String projectId, String aid);
- /**
- * 客户资料转交
- * @param id
- * @param aid
- * @return
- */
- int updateInformationMaintainerr(String id, String aid);
- /**
- * 个人客户资料列表
- * @param cli
- * @param pageNo
- * @param pageSize
- * @return
- */
- Pagination<CustomerListIn> listCustomerInformation(CustomerListIn cli, Integer pageNo, Integer pageSize);
- /**
- * 部门客户资料列表
- * @param cli
- * @param pageNo
- * @param pageSize
- * @return
- */
- Pagination<CustomerListIn> listDepCustomerInformation(CustomerListIn cli, Integer pageNo, Integer pageSize);
- void updatePendingReleaseLock(List<LockingReleaseBo> newList);
- List<LockingReleaseBo> selectPendinglockUserList();
- int updateUserLevel(User u);
- public Float countIntegrity(CustomerOrganizationDetailBo bo);
- XSSFWorkbook privateUnitCustomerOutXls(CustomerListIn cli ,Integer sort,Integer sortType,Integer pageNo, Integer pageSize);
- int customerHandOver(String userIds, String receiveId);
-
- List<transferListBo> transferList(String uid);
- int updatePrivateBusinessTransfer(String inputId, String uid, String pid);
- int pushReleaseUser(String id);
- List<userDaysBo> selectUserDays(String id);
- /**
- *
- * @param type 0提前15天 1达到
- * @return
- */
- List<userDaysBo> selectChannelUserDays(Integer type);
-
- int addGuidance(String followId, String guidance);
- /**
- * 查看跟进记录列表
- * @param pageNo
- * @param pageSize
- * @return
- */
- Pagination<FollowListBo> listFollowHistory(Integer pageNo, Integer pageSize,String uid,String businessGlossoryId,Integer type);
- int pushGuidance(String uid);
-
- boolean checkMax(String aid);
- /**
- *
- * @param list 释放客户
- * @param type 0 未跟进 1未签单
- * @throws InterruptedException
- */
- void pushReleaseLog(List<LockingReleaseBo> list,Integer type) throws InterruptedException;
- Object listChannelCustomer(InputListChannel in);
- /**
- *
- * @param uids 用户集
- * @param receiveId 接受者
- * @param remarks 备注
- * @param type 0总监分配 1经理分配 2回退
- * @return
- */
- Object pushChannelDeliver(List<String> uids, String receiveId, String remarks, Integer type);
- Object getChannelCustomerByName(String name);
- boolean checkChannel(List<String> uids);
- boolean checkBeforeChannel(String uid);
- boolean checkRecovery(List<String> uids);
- }
|