package com.iamberry.rst.faces.cm; import com.iamberry.rst.core.cm.*; import com.iamberry.rst.core.fm.ComplaintDetectInfo; import com.iamberry.rst.core.fm.ComplaintSignclosedInfo; import com.iamberry.rst.core.order.ProductType; import com.iamberry.rst.core.page.PagedResult; import java.util.List; import java.util.Map; /** * 客诉基本信息 */ public interface CustomerService { /** * 添加客诉 * @param customerInfo * @return */ Integer saveCustomerInfo(CustomerInfo customerInfo,SalesOrder salesOrder); /** * 修改客诉 * @param customerInfo * @return */ Integer updateCustomerInfo(CustomerInfo customerInfo,SalesOrder salesOrder); /** * 添加订单到efast * @param salesOrder * @return */ Map sendEfastOrder(SalesOrder salesOrder); /** * 根据id获取客诉信息 * @param customerId * @return */ CustomerInfo getCustomerInfo(Integer customerId); /** * 修改客诉信息 * @param record * @return */ Integer updateCustomerInfo(CustomerInfo record); /** * 查询客诉基本信息列表 * @param customerInfo * @return */ PagedResult listCustomer(int pageNO, int pageSize, CustomerInfo customerInfo, boolean isTotalNum); /** * 查询客诉基本信息 * @param customerInfo * @return */ Map getCustomerInfo(CustomerInfo customerInfo); /** * 获取售后退货信息 * @param backGoods * @return */ BackGoods getBackGoods(BackGoods backGoods); /** * 获取无理由退货信息 * @param noreasonBack * @return */ NoreasonBack getNoreasonBack(NoreasonBack noreasonBack); /** * 获取售后补寄信息 * @param reissue * @return */ Reissue getReissue(Reissue reissue); /** * 获取换新详情和品质检测信息 * @param renewed * @return */ Renewed getRenewedInfo(Renewed renewed); /** * 获取维修详情和品质检测信息 * @param repair * @return */ Repair getRepairInfo(Repair repair); /** * 查询寄回和寄出的产品和配件信息 * @param customerCommon * @param isSolve * @return */ CustomerCommon selectProdcueAndFitting(CustomerCommon customerCommon, int isSolve); /** * 根据客诉id查询商品类型表 * @return */ ProductType getcompanyAffiliation(Integer customerId); /*设置产品,配件参数*/ void setName(CmRelation cr); /*设置产品,配件参数*/ @Deprecated void setName(CustomerCommon cc); /** * 将原订单生成退货单 * @param customerCommon * @param salesOrder * @return * @throws Exception */ void chargebackEfastOrder(CustomerCommon customerCommon, SalesOrder salesOrder,Integer status,Integer returnType); /** * 添加仓储 * @param customerCommon * @return */ void saveComplaintSignclosedInfo(ComplaintSignclosedInfo complaintSignclosedInfo, CustomerCommon customerCommon); /** * 添加品检 * @param complaintDetectInfo * @param customerCommon * @return */ void saveComplaintDetectInfo(ComplaintDetectInfo complaintDetectInfo, CustomerCommon customerCommon); /** * 向Efast推送订单 仅换新,维修 ,补发 * @return */ Map sendEfastOrder(CustomerCommon customerCommon,SalesOrder salesOrder); /*查询问题个数*/ Integer getQuestionNumber(CustomerInfo customerInfo); /*删除旧的售后信息*/ void deleteCustomerAfterSales(CustomerInfo customer); Integer selectNotSolvedCustomer(CustomerInfo customer); /** * 查询旧的客诉基本信息 * @param customerInfo * @return */ List listOnCustomer(CustomerInfo customerInfo); /*添加订单*/ Integer addOrder(SalesOrder salesOrder); /** * 导出客诉信息到excel * @return */ List listStatisticalCustomer(); /** * 总销量 * @param salesOrder * @return */ List salesTotalSales(SalesOrder salesOrder); /** * 总换货 * @param salesOrder * @return */ List salesTotalExchange(SalesOrder salesOrder); /** * 总退货 * @param salesOrder * @return */ List salesTotalReturn(SalesOrder salesOrder); /** * 二次换新 * @param salesOrder * @return */ List salesSecondaryChangeNew(SalesOrder salesOrder); /** * 二次换新退货 * @param salesOrder * @return */ List salesReturnForSecond(SalesOrder salesOrder); /** * 查询所有处理类型 * @return */ List listProcType(); /** * 根据处理类型查询处理方式 * @return */ List listProcMethod(Integer procTypeId); /** * 根据id查询处理方式 * @return */ ProcMethod getProcMethod(Integer procMethodId); /** * 根据id修改处理信息 * @return */ Integer updateCmRelation(CmRelation cmRelation); /** * 查询客诉处理信息 * @param cmRelation * @return */ CmRelation getCmRelationInfo(CmRelation cmRelation); }