/**
* @Title: uploadFileCheck
* @Description: TODO(这里用一句话描述这个方法的作用)
* @param @param fileInputStream
* @param @param disposition
* @param @param request
* @param @return 设定文件
* @return String 返回类型
* @throws
*/
@POST
@Path ( "/uploadFileCheck" )
@Consumes (MediaType.MULTIPART_FORM_DATA)
@Produces (MediaType.TEXT_PLAIN)
public Response uploadTemp( @FormDataParam ( "updateLicense" ) final InputStream uploadedInputStream,
@FormDataParam ( "updateLicense" ) final FormDataContentDisposition fileDetail,
@FormDataParam ( "surplusCount" ) final List<FormDataBodyPart> keywordObjs, @Context HttpServletRequest request ) {
String fileName = Calendar.getInstance().getTimeInMillis()+ fileDetail.getFileName();
ZyUploadLicenseFileResponseVo zyUploadLicenseFileResponseVo = new ZyUploadLicenseFileResponseVo();
ZyUploadLicenseFileRequestVo zyUploadLicenseFileRequestVo = new ZyUploadLicenseFileRequestVo();
if (keywordObjs != null && ! keywordObjs.isEmpty()) {
for (FormDataBodyPart keywordObj : keywordObjs) {
String keyName = keywordObj.getName();
if ( "surplusCount" .equals(keyName)){
zyUploadLicenseFileRequestVo.setSurplusCount(keywordObj.getValueAs(String. class ));
break ;
}
}
}
String accessToken = TokenUtil.getAccessToken(request.getHeader( "auth_token" ),KeyUtil.getKey(context));
Key key= KeyUtil.getKey(context);
if (TokenUtil.isValid(accessToken,key)){
zyUploadLicenseFileRequestVo.setInputStream(uploadedInputStream);
zyUploadLicenseFileRequestVo.setFileName(fileName);
zyUploadLicenseFileResponseVo= zyLicenseApiService.uploadBatchExcel(zyUploadLicenseFileRequestVo);
} else {
zyUploadLicenseFileResponseVo.setCode(Constants.AUTH_RESULT_FILE_SESSIONOUT);
zyUploadLicenseFileResponseVo.setDesc( "Session is out!" );
}
logger.info( "The responseJsonObject:" + JSONObject.toJSONString(zyUploadLicenseFileResponseVo));
return Response.status( 200 ).entity(JSONObject.toJSONString(zyUploadLicenseFileResponseVo)).type( new MediaType(CommonStr.APPLICATION, CommonStr.JSON, CommonStr.UTF8)).build();
}
@Override
public ZyUploadLicenseFileResponseVo uploadBatchExcel(ZyUploadLicenseFileRequestVo zyUploadLicenseFileRequestVo) {
ZyUploadLicenseFileResponseVo zyUploadLicenseFileResponseVo = new ZyUploadLicenseFileResponseVo();
// 参数有误
if (!zyUploadLicenseFileRequestVo.isValid()) {
logger.error( "The argument is null!" );
zyUploadLicenseFileResponseVo.setCode(Constants.AUTH_RESULT_FILE_2001);
zyUploadLicenseFileResponseVo.setDesc( "The argument is invalid!!" );
return zyUploadLicenseFileResponseVo;
}
String fileName = zyUploadLicenseFileRequestVo.getFileName();
List licenseInfo = new ArrayList<String>();
if (!fileName.contains( "xls" )){
logger.error( "The fileName[{}] is error!" , fileName);
zyUploadLicenseFileResponseVo.setCode(Constants.UPLOAD_FAILE_9002);
zyUploadLicenseFileResponseVo.setDesc( "The file fomart is faile!!" );
return zyUploadLicenseFileResponseVo;
}
try {
workbook = new XSSFWorkbook(zyUploadLicenseFileRequestVo.getInputStream());
XSSFSheet sheet = workbook.getSheetAt( 0 ); //获取第一个sheet
int rows = sheet.getPhysicalNumberOfRows(); //行数
int cols = sheet.getRow( 1 ).getPhysicalNumberOfCells(); //列数
if (cols != 2 ){
logger.error( "The file fomart is faile!" );
zyUploadLicenseFileResponseVo.setCode(Constants.UPLOAD_FAILE_9002);
zyUploadLicenseFileResponseVo.setDesc( "文件格式错误!!" );
return zyUploadLicenseFileResponseVo;
}
//校验上传的excel是否为标准模版
if (rows> 0 ){
//有数据
for ( int i= 3 ;i<rows;i++){
//从第四行开始检索
String tempLicense = String.valueOf(sheet.getRow(i).getCell( 1 ));
if (tempLicense.length()<= 32 ){
licenseInfo.add(tempLicense);
}
}
}
int surplusLicenseInt = Integer.parseInt(zyUploadLicenseFileRequestVo.getSurplusCount());
zyUploadLicenseFileResponseVo.setCode(Constants.AUTH_RESULT_SUCCESS);
zyUploadLicenseFileResponseVo.setDesc( "Upload File Success!" );
zyUploadLicenseFileResponseVo.createInstanceData().setLicenseList(licenseInfo);
return zyUploadLicenseFileResponseVo;
} catch (IOException e) {
e.printStackTrace();
logger.error( "解析上传文件失败!" );
zyUploadLicenseFileResponseVo.setCode(Constants.UPLOAD_FAILE_9002);
zyUploadLicenseFileResponseVo.setDesc( "解析上传文件失败!" );
return zyUploadLicenseFileResponseVo;
}
}
|