package pwc.taxtech.atms.controller;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import pwc.taxtech.atms.common.message.ErrorMessage;
import pwc.taxtech.atms.dto.OperationResultDto;
import pwc.taxtech.atms.exception.ServiceException;
import pwc.taxtech.atms.service.impl.ExcelDataServiceImpl;

@RestController
@RequestMapping(value = "api/v1/excelData")
public class ExcelDataController {

    private static final Logger logger = LoggerFactory.getLogger(ExcelDataController.class);

    @Autowired
    private ExcelDataServiceImpl excelDataService;

    @ResponseBody
//    @ApiOperation(value = "导入报表数据")
    @RequestMapping(value = "importExcelDataFile", method = RequestMethod.POST)
    public OperationResultDto parseExcelData(@RequestParam MultipartFile file,
                                             @RequestParam Long templateID,
                                             @RequestParam String projectID){
        try {
            excelDataService.parseExcelData(file, templateID, projectID);
            return OperationResultDto.success();
        } catch (ServiceException e) {
            return OperationResultDto.error(e.getMessage());
        } catch (Exception e) {
            logger.error("importTemplateExcelFile error.", e);
        }
        return OperationResultDto.error(ErrorMessage.SystemError);
    }
}