package cn.superdesk.uniorder.service.order.base;

import cn.superdesk.uniorder.common.rest.response.R;
import cn.superdesk.uniorder.common.security.dto.LoginSysUser;
import cn.superdesk.uniorder.dao.entity.unified.UnifiedOrderAppraise;
import cn.superdesk.uniorder.dao.entity.unified.UnifiedOrderGoodsAppraise;
import cn.superdesk.uniorder.dto.param.order.base.UnifiedOrderAppraiseParam;
import cn.superdesk.uniorder.dto.param.order.base.UnifiedOrderAppraiseQueryCriteria;
import cn.superdesk.uniorder.dto.vo.order.base.UnifiedOrderAppraiseHeadVo;
import cn.superdesk.uniorder.dto.vo.order.base.UnifiedOrderAppraiseListItemVo;
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: 2022-07-13 14:07:40
 * @UpdateUser: linjinyu
 * @UpdateDate: 2022-07-13 14:07:40
 * @UpdateRemark: 修改内容
 * @Version: 1.0
 */
public interface UnifiedOrderAppraiseService extends BaseService<UnifiedOrderAppraise> {


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

    @Override
    int insertSelective(UnifiedOrderAppraise entity);

    @Override
    int updateByPrimaryKeySelective(UnifiedOrderAppraise entity);

    @Override
    @Deprecated
    void deleteObj(Long id);

    @Override
    UnifiedOrderAppraise findById(Long id);

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

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

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


    /****************************************** Biz 部分 部分 start ******************************************/

    int addUnifiedOrderAppraise(UnifiedOrderAppraiseParam param, LoginSysUser loginSysUser);

    int updateUnifiedOrderAppraise(UnifiedOrderAppraiseParam param, LoginSysUser loginSysUser);

    int deleteUnifiedOrderAppraise(Long id, LoginSysUser loginSysUser);

//    UnifiedOrderAppraiseListItemVo findListItemVoById(Long id, LoginSysUser loginSysUser);
//
//    R<List<UnifiedOrderAppraise>> pageQuery(Map<String, Object> conditions, int pageNun, int pageSize);
//
//    R<List<UnifiedOrderAppraiseListItemVo>> pageQueryGenericParam(
//            UnifiedOrderAppraiseQueryCriteria criteria,
//            LoginSysUser loginSysUser);
//
//    UnifiedOrderAppraiseHeadVo queryHeadGenericParam(
//            UnifiedOrderAppraiseQueryCriteria queryCriteria,
//            LoginSysUser loginSysUser);
//
//    List<UnifiedOrderAppraiseListItemVo> queryGenericParam(
//            UnifiedOrderAppraiseQueryCriteria criteria,
//            LoginSysUser loginSysUser);

    /****************************************** Biz 部分   end ******************************************/

    void addObjSM(UnifiedOrderAppraise appraise, List<UnifiedOrderGoodsAppraise> goodsApp);

}
