package com.jiuqi.mobile.nigo.comeclose.manager.app;
import java.util.List;
import com.jiuqi.mobile.nigo.comeclose.bean.LoadOnGetList;
import com.jiuqi.mobile.nigo.comeclose.bean.app.collect.DealerServiceBean;
import com.jiuqi.mobile.nigo.comeclose.bean.app.collect.DrivingSchoolServiceBean;
import com.jiuqi.mobile.nigo.comeclose.bean.app.collect.GasStationServiceBean;
import com.jiuqi.mobile.nigo.comeclose.bean.app.collect.IntermediaryServiceBean;
import com.jiuqi.mobile.nigo.comeclose.bean.app.collect.PlantServiceBean;
import com.jiuqi.mobile.nigo.comeclose.bean.app.collect.RepairServiceBean;
import com.jiuqi.mobile.nigo.comeclose.bean.app.collect.ServiceCollectBean;
import com.jiuqi.mobile.nigo.comeclose.exception.NiGoException;
import com.jiuqi.mobile.nigo.comeclose.manager.IManager;
import com.jiuqi.mobile.nigo.comeclose.manager.ManagerAnnotation;
import com.jiuqi.mobile.nigo.comeclose.manager.master.SelectUserCountKey;
import com.jiuqi.mobile.nigo.comeclose.portal.PortalAnnotation;
import com.jiuqi.mobile.nigo.comeclose.portal.PortalMethodAnnctation;
/**
* 服务机构Manager
*
* @author modi
*
*/
@ManagerAnnotation(implClass = "com.jiuqi.mobile.nigo.biz.app.collect.manager.ServiceCollectManagerImpl")
@PortalAnnotation(implClass = "com.jiuqi.mobile.nigo.biz.portal.ServiceCollectManagerPortalImpl")
public interface IServiceCollectManager extends IManager {
/**
* 创建经销商
*
* @param bean
* @throws NiGoException
*/
void create(DealerServiceBean bean) throws NiGoException;
/**
*
* @方法描述:更新经纬度 <br/>
* @项目名称:comeclose<br/>
* @类路径:com.jiuqi.mobile.nigo.comeclose.manager.app.IServiceCollectManager.java<br/>
* @版权所有(c):JOIN-CHEER <br/>
* @作者:xuzhe <br/>
* @创建时间:2015-5-18下午3:29:50 <br/>
* @修改时间:<br/>
* @修改备注: <br/>
* @返回类型:void<br/>
* @param guid
* @param lon
* @param lat
* @param c
* @throws NiGoException
*/
void updatePoint(String guid, double lon, double lat, Class<? extends ServiceCollectBean> c)
throws NiGoException;
/**
* 创建经销商供excel导入使用
*
* @param bean
* @throws NiGoException
*/
void createForExcel(DealerServiceBean bean) throws NiGoException;
public void createWithoutPhone(DealerServiceBean bean) throws NiGoException;
/**
* 创建培训学校
*
* @param bean
* @throws NiGoException
*/
void create(DrivingSchoolServiceBean bean) throws NiGoException;
/**
* 创建加油站
*
* @param bean
* @throws NiGoException
*/
void create(GasStationServiceBean bean) throws NiGoException;
public void createWithoutPhone(GasStationServiceBean bean)
throws NiGoException;
/**
* 创建加油站供excel导入使用
*
* @param bean
* @throws NiGoException
*/
void createForExcel(GasStationServiceBean bean) throws NiGoException;
/**
* 创建服务中介机构
*
* @param bean
* @throws NiGoException
*/
void create(IntermediaryServiceBean bean) throws NiGoException;
/**
* 创建农机种植机构
*
* @param bean
* @throws NiGoException
*/
void create(PlantServiceBean bean) throws NiGoException;
/**
* 创建修理站
*
* @param bean
* @throws NiGoException
*/
void create(RepairServiceBean bean) throws NiGoException;
public void createWithoutPhone(RepairServiceBean bean) throws NiGoException;
/**
* 创建修理站供excel导入使用
*
* @param bean
* @throws NiGoException
*/
void createForExcel(RepairServiceBean bean) throws NiGoException;
//
/**
* 修改经销商
*
* @param bean
* @throws NiGoException
*/
void update(DealerServiceBean bean) throws NiGoException;
/**
* 完善经销商资料,修改
*
* @param bean
* @throws NiGoException
*/
String updatePrefact(DealerServiceBean bean, String password)
throws NiGoException;
/**
* 完善加油站资料,修改
*
* @param bean
* @throws NiGoException
*/
String updatePrefact(GasStationServiceBean bean, String password)
throws NiGoException;
/**
* 完善维修点资料,修改
*
* @param bean
* @throws NiGoException
*/
String updatePrefact(RepairServiceBean bean, String password)
throws NiGoException;
/**
* 完善服务机构资料,修改
*
* @param bean
* @throws NiGoException
*/
String updatePrefact(DrivingSchoolServiceBean bean, String password)
throws NiGoException;
/**
* 修改培训学校
*
* @param bean
* @throws NiGoException
*/
void update(DrivingSchoolServiceBean bean) throws NiGoException;
/**
* 修改加油站
*
* @param bean
* @throws NiGoException
*/
void update(GasStationServiceBean bean) throws NiGoException;
/**
* 修改服务中介机构
*
* @param bean
* @throws NiGoException
*/
void update(IntermediaryServiceBean bean) throws NiGoException;
/**
* 修改农机种植机构
*
* @param bean
* @throws NiGoException
*/
void update(PlantServiceBean bean) throws NiGoException;
/**
* 修改修理站
*
* @param bean
* @throws NiGoException
*/
void update(RepairServiceBean bean) throws NiGoException;
//
/**
* 删除经销商
*
* @param bean
* @throws NiGoException
*/
void delDealer(String guid) throws NiGoException;
/**
* 删除培训学校
*
* @param bean
* @throws NiGoException
*/
void delDrivingSchool(String guid) throws NiGoException;
/**
* 删除加油站
*
* @param bean
* @throws NiGoException
*/
void deleteGasStation(String guid) throws NiGoException;
/**
* 删除服务中介机构
*
* @param bean
* @throws NiGoException
*/
void delIntermediary(String guid) throws NiGoException;
/**
* 删除农机种植机构
*
* @param bean
* @throws NiGoException
*/
void delPlant(String guid) throws NiGoException;
/**
* 删除修理站
*
* @param bean
* @throws NiGoException
*/
void delRepair(String guid) throws NiGoException;
/**
* 通过guid删除对于的服务机构
*
* @param c
* @param guid
* @throws NiGoException
*/
void delete(Class<? extends ServiceCollectBean> c, String guid)
throws NiGoException;
//
/**
* 通过GUID查询对于的服务机构
*
* @param c
* @param guid
* @return
*/
@PortalMethodAnnctation
<T extends ServiceCollectBean> T find(Class<T> c, String guid);
/**
* 通过用户GUID查询服务机构
*
* @param c
* @param userGuid
* @return
*/
<T extends ServiceCollectBean> T findByUserGuid(Class<T> c, String userGuid);
//
/**
* <p>
* 20130816 请使用getLoad 在指定行政区划下,通过名称检索【特定T】服务机构
*
* @param serviceName
* @param adminAreaCode
* @return
*/
@PortalMethodAnnctation
@Deprecated
<T extends ServiceCollectBean> T[] search(Class<T> c, String serviceName,
long adminAreaCode);
/**
* 查询服务网点信息
*
* @param c
* @param key
* @return
*/
@PortalMethodAnnctation
<T extends ServiceCollectBean> LoadOnGetList<T> getLoad(Class<T> c,
SelectServiceKey key);
// 20130802
/**
* <p>
* 20130816 请使用getLoad 查询服务网点信息
*
* @param key
* @return
*/
@Deprecated
<T extends ServiceCollectBean> T[] get(Class<T> c, SelectServiceKey key);
/**
* 查询维修点
*
* @return
*/
RepairServiceBean[] getRepairSite(String addPersonGuid);
/**
* 查询经销商
*/
DealerServiceBean[] getDealerSite(String addPersonGuid);
/**
*
* @方法描述:根据行政区划查询经销商<br/>
* @项目名称:comeclose<br/>
* @类路径:com.jiuqi.mobile.nigo.comeclose.manager.app.IServiceCollectManager.java<br/>
* @版权所有(c):JOIN-CHEER <br/>
* @作者:xuzhe <br/>
* @创建时间:2015-3-9下午4:40:09 <br/>
* @修改时间:<br/>
* @修改备注: <br/>
* @返回类型:DealerServiceBean[]<br/>
* @param adminAreaCode
* @return
* @throws NiGoException
*/
DealerServiceBean[] getDealersByAdminAreaCode(long adminAreaCode)
throws NiGoException;
/**
* 根据经销商名查询经销商
*
* @param dealerName
* @return
*/
DealerServiceBean findDealerByDealerName(String dealerName);
/**
* 获取维修点、加油站、经销商发展量统计详细信息
*
* @return <T extends ServiceCollectBean> List<T>
*/
<T extends ServiceCollectBean> List<T> getDetailInfo(SelectUserCountKey key);
}