package cn.superdesk.uniorder.dubbo.facade.setting;

import cn.superdesk.uniorder.common.rest.response.R;
import cn.superdesk.uniorder.dao.entity.setting.UnifiedService;
import cn.superdesk.uniorder.dto.param.setting.*;
import cn.superdesk.uniorder.dto.vo._function.select.SelectOptionUnifiedService;
import com.github.pagehelper.PageInfo;

import java.util.List;
import java.util.Map;

public interface DubboUnifiedServiceService {

	/****************************************** extends BaseService 部分 start ******************************************/

	@Deprecated
	void addObj(UnifiedServiceParam param);

	@Deprecated
	void updateObj(UnifiedServiceParam param);

	@Deprecated
	void deleteObj(Long id);

	@Deprecated
	UnifiedService findById(Long id);

	@Deprecated
	PageInfo<UnifiedService> findByPaging(Map<String, Object> conditions, Integer pageNun, Integer pageSize);

	@Deprecated
	List<UnifiedService> findAll(Map<String, Object> queryMap);

	/****************************************** extends BaseService 部分   end ******************************************/


	void addUnifiedService(UnifiedServiceParam param);

	void updateUnifiedService(UnifiedServiceParam param);

	void deleteUnifiedService(Long id);

	UnifiedService findUnifiedServiceById(Long id);

	R<List<UnifiedService>> pageQuery(Map<String, Object> conditions, int pageNun, int pageSize);


	/****************************************** 原先的 start ******************************************/

	R<List<UnifiedService>> getPage(Map<String, Object> params, int pageNum, int pageSize);

	List<UnifiedService> getAsService();

	List<UnifiedService> getAsOrderType();

	List<SelectOptionUnifiedService> getSelectByVirt(Map<String, Object> params);

	UnifiedService findByCode(String code);

	UnifiedService addObj(UnifiedService model);

	UnifiedService updateObj(UnifiedService model);

	UnifiedService updateUnifiedServicePartGoodsTransport(UnifiedServicePartGoodsTransportParam partGoodsTransportParam);
	UnifiedService updateUnifiedServicePartOrderState(UnifiedServicePartOrderStateParam partOrderParam);
	UnifiedService updateUnifiedServicePartPayType(UnifiedServicePartPayTypeParam partOrderParam);
	UnifiedService updateUnifiedServicePartService(UnifiedServicePartServiceParam partServiceParam);

	void delObj(Long id);


}
