diff --git a/src/main/java/com/casic/accessControl/event/manager/EventManager.java b/src/main/java/com/casic/accessControl/event/manager/EventManager.java index bb7836d..4dfa0ad 100644 --- a/src/main/java/com/casic/accessControl/event/manager/EventManager.java +++ b/src/main/java/com/casic/accessControl/event/manager/EventManager.java @@ -11,8 +11,7 @@ import sun.misc.BASE64Decoder; import javax.servlet.http.HttpServletRequest; -import java.io.File; -import java.io.FileOutputStream; +import java.io.*; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -66,27 +65,96 @@ * @param fileBuffers * @return */ +// public Map saveEvent(EventDto eventInfo, TaskDto taskInfo, +// String[] fileNames, String[] fileBuffers) { +// Map map = new HashMap(); +// try { +// HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); +// String strDirPath = request.getSession().getServletContext().getRealPath(""); +// +// //TODO LIST:新建event +// Event event = new Event(); +// //TODO LIST:保存图片 +//// FileOutputStream fos = null; +// String toDir = strDirPath + "/images/events"; //存储路径 +// String fileName = ""; +// for (int i = 0; i < fileBuffers.length; i++) { +// if (fileBuffers[i] != null && fileNames[i] != null) { +// fileName += fileNames[i] + ","; +// byte[] buffer = new BASE64Decoder().decodeBuffer(fileBuffers[i]); //对android传过来的图片字符串进行解码 +// File destDir = new File(toDir); +// if (!destDir.exists()) +// destDir.mkdirs(); +// File imageFile = new File(destDir, fileNames[i]); +// fos = new FileOutputStream(imageFile); //保存图片 +// fos.write(buffer); +// fos.flush(); +// fos.close(); +// } +// } +//// for (int i = 0; i < fileBuffers.length; i++) { +//// if (fileBuffers[i] != null && fileNames[i] != null) { +//// fileName += fileNames[i] + ","; +////// byte[] buffer = new BASE64Decoder().decodeBuffer(fileBuffers[i]); //对android传过来的图片字符串进行解码 +//// File destDir = new File(toDir); +//// if (!destDir.exists()) +//// destDir.mkdirs(); +//// File imageFile = new File(destDir, fileNames[i]); +//// OutputStreamWriter writer = new OutputStreamWriter( new FileOutputStream(imageFile)); //保存图片 +//// BufferedReader fileReader = new BufferedReader(new FileReader(fileBuffers[i])); +//// String str =null; +//// while((str=fileReader.readLine())!=null){ +//// writer.append(str); +//// } +////// fos.flush(); +//// fileReader.close(); +//// writer.close(); +//// } +//// } +// event.setImageName(fileName); +// event.setLatitude(eventInfo.getLatitude() == null ? 0 : eventInfo.getLatitude()); +// event.setLongitude(eventInfo.getLongitude() == null ? 0 : eventInfo.getLongitude()); +// event.setCreateTime(eventInfo.getCreateTime().equalsIgnoreCase("") ? null : DateUtils.sdf2.parse(eventInfo.getCreateTime())); +// event.setDescription(eventInfo.getDescription()); +// event.setTaskId(taskInfo.getId()); +// save(event); +// map.put("uploadFile", "上传成功!" + "图片路径为:" + toDir + "//" + fileName); +// return map; +// } catch (Exception e) { +// e.printStackTrace(); +// } +// return null; +// } public Map saveEvent(EventDto eventInfo, TaskDto taskInfo, - String[] fileNames, String[] fileBuffers) { + String[] fileNames, String[] fileBuffers) + { Map map = new HashMap(); - try { - HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); + try + { + HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); String strDirPath = request.getSession().getServletContext().getRealPath(""); //TODO LIST:新建event Event event = new Event(); //TODO LIST:保存图片 FileOutputStream fos = null; - String toDir = strDirPath + "/images/events"; //存储路径 + String toDir = strDirPath+"/images/events"; //存储路径 String fileName = ""; - for (int i = 0; i < fileBuffers.length; i++) { - if (fileBuffers[i] != null && fileNames[i] != null) { - fileName += fileNames[i] + ","; + for (int i = 0;i < fileBuffers.length;i++) + { + if (fileBuffers[i] != null&&fileNames[i]!=null) + { + if(i==fileBuffers.length-1){ + fileName += fileNames[i]; + }else{ + fileName += fileNames[i]+","; + } + byte[] buffer = new BASE64Decoder().decodeBuffer(fileBuffers[i]); //对android传过来的图片字符串进行解码 File destDir = new File(toDir); - if (!destDir.exists()) + if(!destDir.exists()) destDir.mkdirs(); - File imageFile = new File(destDir, fileNames[i]); + File imageFile = new File(destDir,fileNames[i]); fos = new FileOutputStream(imageFile); //保存图片 fos.write(buffer); fos.flush(); @@ -94,19 +162,20 @@ } } event.setImageName(fileName); - event.setLatitude(eventInfo.getLatitude() == null ? 0 : eventInfo.getLatitude()); - event.setLongitude(eventInfo.getLongitude() == null ? 0 : eventInfo.getLongitude()); - event.setCreateTime(eventInfo.getCreateTime().equalsIgnoreCase("") ? null : DateUtils.sdf2.parse(eventInfo.getCreateTime())); + event.setLatitude(eventInfo.getLatitude()==null?0:Double.valueOf(eventInfo.getLatitude())); + event.setLongitude(eventInfo.getLongitude()==null ? 0 : Double.valueOf(eventInfo.getLongitude())); + event.setCreateTime(eventInfo.getCreateTime().equalsIgnoreCase("")?null:DateUtils.sdf2.parse(eventInfo.getCreateTime())); event.setDescription(eventInfo.getDescription()); event.setTaskId(taskInfo.getId()); save(event); map.put("uploadFile", "上传成功!" + "图片路径为:" + toDir + "//" + fileName); return map; - } catch (Exception e) { + } + catch (Exception e) + { e.printStackTrace(); } return null; } - } diff --git a/src/main/java/com/casic/accessControl/event/manager/EventManager.java b/src/main/java/com/casic/accessControl/event/manager/EventManager.java index bb7836d..4dfa0ad 100644 --- a/src/main/java/com/casic/accessControl/event/manager/EventManager.java +++ b/src/main/java/com/casic/accessControl/event/manager/EventManager.java @@ -11,8 +11,7 @@ import sun.misc.BASE64Decoder; import javax.servlet.http.HttpServletRequest; -import java.io.File; -import java.io.FileOutputStream; +import java.io.*; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -66,27 +65,96 @@ * @param fileBuffers * @return */ +// public Map saveEvent(EventDto eventInfo, TaskDto taskInfo, +// String[] fileNames, String[] fileBuffers) { +// Map map = new HashMap(); +// try { +// HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); +// String strDirPath = request.getSession().getServletContext().getRealPath(""); +// +// //TODO LIST:新建event +// Event event = new Event(); +// //TODO LIST:保存图片 +//// FileOutputStream fos = null; +// String toDir = strDirPath + "/images/events"; //存储路径 +// String fileName = ""; +// for (int i = 0; i < fileBuffers.length; i++) { +// if (fileBuffers[i] != null && fileNames[i] != null) { +// fileName += fileNames[i] + ","; +// byte[] buffer = new BASE64Decoder().decodeBuffer(fileBuffers[i]); //对android传过来的图片字符串进行解码 +// File destDir = new File(toDir); +// if (!destDir.exists()) +// destDir.mkdirs(); +// File imageFile = new File(destDir, fileNames[i]); +// fos = new FileOutputStream(imageFile); //保存图片 +// fos.write(buffer); +// fos.flush(); +// fos.close(); +// } +// } +//// for (int i = 0; i < fileBuffers.length; i++) { +//// if (fileBuffers[i] != null && fileNames[i] != null) { +//// fileName += fileNames[i] + ","; +////// byte[] buffer = new BASE64Decoder().decodeBuffer(fileBuffers[i]); //对android传过来的图片字符串进行解码 +//// File destDir = new File(toDir); +//// if (!destDir.exists()) +//// destDir.mkdirs(); +//// File imageFile = new File(destDir, fileNames[i]); +//// OutputStreamWriter writer = new OutputStreamWriter( new FileOutputStream(imageFile)); //保存图片 +//// BufferedReader fileReader = new BufferedReader(new FileReader(fileBuffers[i])); +//// String str =null; +//// while((str=fileReader.readLine())!=null){ +//// writer.append(str); +//// } +////// fos.flush(); +//// fileReader.close(); +//// writer.close(); +//// } +//// } +// event.setImageName(fileName); +// event.setLatitude(eventInfo.getLatitude() == null ? 0 : eventInfo.getLatitude()); +// event.setLongitude(eventInfo.getLongitude() == null ? 0 : eventInfo.getLongitude()); +// event.setCreateTime(eventInfo.getCreateTime().equalsIgnoreCase("") ? null : DateUtils.sdf2.parse(eventInfo.getCreateTime())); +// event.setDescription(eventInfo.getDescription()); +// event.setTaskId(taskInfo.getId()); +// save(event); +// map.put("uploadFile", "上传成功!" + "图片路径为:" + toDir + "//" + fileName); +// return map; +// } catch (Exception e) { +// e.printStackTrace(); +// } +// return null; +// } public Map saveEvent(EventDto eventInfo, TaskDto taskInfo, - String[] fileNames, String[] fileBuffers) { + String[] fileNames, String[] fileBuffers) + { Map map = new HashMap(); - try { - HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); + try + { + HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); String strDirPath = request.getSession().getServletContext().getRealPath(""); //TODO LIST:新建event Event event = new Event(); //TODO LIST:保存图片 FileOutputStream fos = null; - String toDir = strDirPath + "/images/events"; //存储路径 + String toDir = strDirPath+"/images/events"; //存储路径 String fileName = ""; - for (int i = 0; i < fileBuffers.length; i++) { - if (fileBuffers[i] != null && fileNames[i] != null) { - fileName += fileNames[i] + ","; + for (int i = 0;i < fileBuffers.length;i++) + { + if (fileBuffers[i] != null&&fileNames[i]!=null) + { + if(i==fileBuffers.length-1){ + fileName += fileNames[i]; + }else{ + fileName += fileNames[i]+","; + } + byte[] buffer = new BASE64Decoder().decodeBuffer(fileBuffers[i]); //对android传过来的图片字符串进行解码 File destDir = new File(toDir); - if (!destDir.exists()) + if(!destDir.exists()) destDir.mkdirs(); - File imageFile = new File(destDir, fileNames[i]); + File imageFile = new File(destDir,fileNames[i]); fos = new FileOutputStream(imageFile); //保存图片 fos.write(buffer); fos.flush(); @@ -94,19 +162,20 @@ } } event.setImageName(fileName); - event.setLatitude(eventInfo.getLatitude() == null ? 0 : eventInfo.getLatitude()); - event.setLongitude(eventInfo.getLongitude() == null ? 0 : eventInfo.getLongitude()); - event.setCreateTime(eventInfo.getCreateTime().equalsIgnoreCase("") ? null : DateUtils.sdf2.parse(eventInfo.getCreateTime())); + event.setLatitude(eventInfo.getLatitude()==null?0:Double.valueOf(eventInfo.getLatitude())); + event.setLongitude(eventInfo.getLongitude()==null ? 0 : Double.valueOf(eventInfo.getLongitude())); + event.setCreateTime(eventInfo.getCreateTime().equalsIgnoreCase("")?null:DateUtils.sdf2.parse(eventInfo.getCreateTime())); event.setDescription(eventInfo.getDescription()); event.setTaskId(taskInfo.getId()); save(event); map.put("uploadFile", "上传成功!" + "图片路径为:" + toDir + "//" + fileName); return map; - } catch (Exception e) { + } + catch (Exception e) + { e.printStackTrace(); } return null; } - } diff --git a/src/main/java/com/casic/accessControl/event/web/EventController.java b/src/main/java/com/casic/accessControl/event/web/EventController.java index 4f01bab..bc77a3b 100644 --- a/src/main/java/com/casic/accessControl/event/web/EventController.java +++ b/src/main/java/com/casic/accessControl/event/web/EventController.java @@ -15,6 +15,11 @@ import com.sun.org.apache.xml.internal.security.utils.Base64; import javax.annotation.Resource; import javax.servlet.http.HttpSession; +import javax.ws.rs.GET; +import javax.ws.rs.Path; +import javax.ws.rs.Produces; +import javax.ws.rs.core.MediaType; +import java.io.File; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -48,25 +53,17 @@ result.put("success", "true"); return result; } -// @RequestMapping("save-event") -// @ResponseBody -// public Map saveEvent(@RequestParam(value="eventInfo")String eventInfo,@RequestParam(value="taskId") String taskId, -// @RequestParam(value="fileNames")String[] fileNames, @RequestParam(value="fileBuffers")String[] fileBuffers){ -// TaskDto taskDto = TaskDto.Convert(taskManager.getTaskById(taskId.trim())); -// EventDto eventDto = new Gson().fromJson(eventInfo,EventDto.class); -// Map res = eventManager.saveEvent(eventDto,taskDto,fileNames,fileBuffers); -// res.put("success","true"); -// res.put("message","保存成功"); -// return res; -// } @RequestMapping("save-event") @ResponseBody - public Map post(@RequestParam(value = "taskId",required = false) String taskId, +// @GET +// @Path("save-event") +// @Produces(MediaType.APPLICATION_JSON) + public Map post(@RequestParam(value = "taskId",required = true) String taskId, @RequestParam(value = "fileBuffer1",required = false) MultipartFile fileBuffer1, @RequestParam(value = "fileBuffer2",required = false) MultipartFile fileBuffer2, @RequestParam(value = "fileBuffer3",required = false) MultipartFile fileBuffer3, - @RequestParam(value = "eventInfo",required = false) String eventInfo) + @RequestParam(value = "data",required = true) String eventInfo) { Map result = new HashMap(); @@ -74,7 +71,6 @@ { String [] fileNames = new String[3]; String [] fileBuffers = new String[3]; - if (fileBuffer1!=null) { fileNames[0]=fileBuffer1.getOriginalFilename();