package com.hssx.pcbms.service;

import com.hssx.pcbms.entity.Goods;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hssx.pcbms.entity.GoodsNo;
import com.hssx.pcbms.entity.vo.GoodsVO;
import com.hssx.pcbms.entity.vo.MaintainRecordVO;
import com.hssx.pcbms.entity.vo.OperateRecordVO;
import com.hssx.pcbms.util.HttpRespMsg;
import com.hssx.pcbms.util.PageUtil;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author 吴涛涛
 * @since 2019-10-25
 */
public interface GoodsService extends IService<Goods> {

    HttpRespMsg add(GoodsVO goodsVO);

    HttpRespMsg updateInfo(Goods goods, MultipartFile file);

    HttpRespMsg getList(PageUtil page,String keyName,Integer tagId,Integer uid);

    HttpRespMsg del(Goods goods);

    HttpRespMsg delNo(GoodsNo goodsNo);

    HttpRespMsg getDetail(Integer id);

    HttpRespMsg handle(GoodsNo goodsNo,Integer currentUserId);

    HttpRespMsg operateList(Goods goods,PageUtil page);

    HttpRespMsg goodsNoDetailById(GoodsNo goodsNo);

    HttpRespMsg goodsNoAdd(GoodsNo goodsNo,Integer count);

    HttpRespMsg distribute(GoodsNo goodsNo);

    HttpRespMsg maintain(MaintainRecordVO maintainRecordVO);

    HttpRespMsg isMaintainList(Goods goods);

    HttpRespMsg isMaintainRecord(Goods goods,PageUtil page);

    HttpRespMsg myList(PageUtil page, String keyName, Integer uid);

    HttpRespMsg handelRecordExcel(Goods goods,HttpServletResponse response);

    HttpRespMsg isMaintainExcel(Goods goods, HttpServletResponse response);

    HttpRespMsg listExcel(PageUtil page, String keyName, Integer tagId, Integer uid,HttpServletResponse response);

    HttpRespMsg goodsMaintainChecking();
}
