package cn.superdesk.uniorder.service.operation;

import cn.superdesk.uniorder.common.rest.response.R;
import cn.superdesk.uniorder.dao.entity.base.UnifiedOrder;
import cn.superdesk.uniorder.dao.entity.operation.UnifiedOrderIssues;
import cn.superdesk.uniorder.dto.param.operation.UnifiedOrderIssuesQueryCriteria;
import cn.superdesk.uniorder.service.base.BaseService;
import com.github.pagehelper.PageInfo;

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


/**
 * @Description:    问题订单
 * @Author:         linjinyu
 * @Email  linjinyu@avic-s.com
 * @CreateDate:     2021-01-29 16:47:14
 * @UpdateUser:     linjinyu
 * @UpdateDate:     2021-01-29 16:47:14
 * @UpdateRemark:   修改内容
 * @Version:        1.0
 */
public interface UnifiedOrderIssuesService extends BaseService<UnifiedOrderIssues> {


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

	int insertSelective(UnifiedOrderIssues entity);

    int updateByPrimaryKeySelective(UnifiedOrderIssues entity);

	@Deprecated
	void deleteObj(Long id);

	@Deprecated
	UnifiedOrderIssues findById(Long id);

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

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

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


	void addUnifiedOrderIssues(UnifiedOrderIssues entity);

	void updateUnifiedOrderIssues(UnifiedOrderIssues entity);

	void deleteUnifiedOrderIssues(Long id);

	UnifiedOrderIssues findUnifiedOrderIssuesById(Long id);

	UnifiedOrderIssues findUnifiedOrderIssuesByOrderSn(String orderSn);

	R<List<UnifiedOrderIssues>> pageQuery(UnifiedOrderIssuesQueryCriteria queryCriteria, int pageNun, int pageSize);

	List<UnifiedOrder> getToDoUnifiedOrderIssuesList(int pageNun, int pageSize);

	void runTaskUnifiedOrderIssues(UnifiedOrder entity);

	void developCall(String sourceJson, String processJson, String orderSn, String uid);

	void developCallBack(Integer processResult, String processReport, String uid);

	void touch(String orderSn);

	void flowingInit(String sourceJson, String processJson, String orderSn, String uid);


}