diff --git a/src/main/java/com/casic/accessControl/event/domain/Event.java b/src/main/java/com/casic/accessControl/event/domain/Event.java new file mode 100644 index 0000000..fc22f52 --- /dev/null +++ b/src/main/java/com/casic/accessControl/event/domain/Event.java @@ -0,0 +1,96 @@ +package com.casic.accessControl.event.domain; + +import javax.persistence.*; +import java.util.Date; + +/** + * Created by lenovo on 2016/8/11. + */ +@Entity +@Table(name = "event") +public class Event { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "id") + private Long id; + @Column(name="task_id") + private Long taskId; + @Column(name="description") + private String description; + @Column(name="create_time") + private Date createTime; + @Column(name="image_name") + private String imageName; + @Column(name="latitude") + private Double latitude; + @Column(name="longitude") + private Double longitude; + @Column(name="status") + private Integer status; + + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Long getTaskId() { + return taskId; + } + + public void setTaskId(Long taskId) { + this.taskId = taskId; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public Date getCreateTime() { + return createTime; + } + + public void setCreateTime(Date createTime) { + this.createTime = createTime; + } + + public String getImageName() { + return imageName; + } + + public void setImageName(String imageName) { + this.imageName = imageName; + } + + public Double getLatitude() { + return latitude; + } + + public void setLatitude(Double latitude) { + this.latitude = latitude; + } + + public Double getLongitude() { + return longitude; + } + + public void setLongitude(Double longitude) { + this.longitude = longitude; + } + + public Integer getStatus() { + return status; + } + + public void setStatus(Integer status) { + this.status = status; + } +} diff --git a/src/main/java/com/casic/accessControl/event/domain/Event.java b/src/main/java/com/casic/accessControl/event/domain/Event.java new file mode 100644 index 0000000..fc22f52 --- /dev/null +++ b/src/main/java/com/casic/accessControl/event/domain/Event.java @@ -0,0 +1,96 @@ +package com.casic.accessControl.event.domain; + +import javax.persistence.*; +import java.util.Date; + +/** + * Created by lenovo on 2016/8/11. + */ +@Entity +@Table(name = "event") +public class Event { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "id") + private Long id; + @Column(name="task_id") + private Long taskId; + @Column(name="description") + private String description; + @Column(name="create_time") + private Date createTime; + @Column(name="image_name") + private String imageName; + @Column(name="latitude") + private Double latitude; + @Column(name="longitude") + private Double longitude; + @Column(name="status") + private Integer status; + + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Long getTaskId() { + return taskId; + } + + public void setTaskId(Long taskId) { + this.taskId = taskId; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public Date getCreateTime() { + return createTime; + } + + public void setCreateTime(Date createTime) { + this.createTime = createTime; + } + + public String getImageName() { + return imageName; + } + + public void setImageName(String imageName) { + this.imageName = imageName; + } + + public Double getLatitude() { + return latitude; + } + + public void setLatitude(Double latitude) { + this.latitude = latitude; + } + + public Double getLongitude() { + return longitude; + } + + public void setLongitude(Double longitude) { + this.longitude = longitude; + } + + public Integer getStatus() { + return status; + } + + public void setStatus(Integer status) { + this.status = status; + } +} diff --git a/src/main/java/com/casic/accessControl/event/dto/EventDto.java b/src/main/java/com/casic/accessControl/event/dto/EventDto.java new file mode 100644 index 0000000..9ff52bb --- /dev/null +++ b/src/main/java/com/casic/accessControl/event/dto/EventDto.java @@ -0,0 +1,97 @@ +package com.casic.accessControl.event.dto; + +import com.casic.accessControl.event.domain.Event; + +import java.util.Date; + +/** + * Created by lenovo on 2016/8/11. + */ +public class EventDto { + private Long id; + private Long taskId; + private String description; + private String createTime; + private String imageName; + private Double latitude; + private Double longitude; + private Integer status; + + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Long getTaskId() { + return taskId; + } + + public void setTaskId(Long taskId) { + this.taskId = taskId; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getImageName() { + return imageName; + } + + public void setImageName(String imageName) { + this.imageName = imageName; + } + + public Double getLatitude() { + return latitude; + } + + public void setLatitude(Double latitude) { + this.latitude = latitude; + } + + public Double getLongitude() { + return longitude; + } + + public void setLongitude(Double longitude) { + this.longitude = longitude; + } + + public Integer getStatus() { + return status; + } + + public void setStatus(Integer status) { + this.status = status; + } + + public static EventDto convert2EventDto(Event event) { + EventDto eventDto = new EventDto(); + eventDto.setTaskId(event.getTaskId()); + eventDto.setId(event.getId()); + eventDto.setDescription(event.getDescription()); + eventDto.setCreateTime(event.getCreateTime().toString()); + eventDto.setImageName(event.getImageName()); + eventDto.setLatitude(event.getLatitude()); + eventDto.setLongitude(event.getLongitude()); + eventDto.setStatus(event.getStatus()); + return eventDto; + } +} diff --git a/src/main/java/com/casic/accessControl/event/domain/Event.java b/src/main/java/com/casic/accessControl/event/domain/Event.java new file mode 100644 index 0000000..fc22f52 --- /dev/null +++ b/src/main/java/com/casic/accessControl/event/domain/Event.java @@ -0,0 +1,96 @@ +package com.casic.accessControl.event.domain; + +import javax.persistence.*; +import java.util.Date; + +/** + * Created by lenovo on 2016/8/11. + */ +@Entity +@Table(name = "event") +public class Event { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "id") + private Long id; + @Column(name="task_id") + private Long taskId; + @Column(name="description") + private String description; + @Column(name="create_time") + private Date createTime; + @Column(name="image_name") + private String imageName; + @Column(name="latitude") + private Double latitude; + @Column(name="longitude") + private Double longitude; + @Column(name="status") + private Integer status; + + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Long getTaskId() { + return taskId; + } + + public void setTaskId(Long taskId) { + this.taskId = taskId; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public Date getCreateTime() { + return createTime; + } + + public void setCreateTime(Date createTime) { + this.createTime = createTime; + } + + public String getImageName() { + return imageName; + } + + public void setImageName(String imageName) { + this.imageName = imageName; + } + + public Double getLatitude() { + return latitude; + } + + public void setLatitude(Double latitude) { + this.latitude = latitude; + } + + public Double getLongitude() { + return longitude; + } + + public void setLongitude(Double longitude) { + this.longitude = longitude; + } + + public Integer getStatus() { + return status; + } + + public void setStatus(Integer status) { + this.status = status; + } +} diff --git a/src/main/java/com/casic/accessControl/event/dto/EventDto.java b/src/main/java/com/casic/accessControl/event/dto/EventDto.java new file mode 100644 index 0000000..9ff52bb --- /dev/null +++ b/src/main/java/com/casic/accessControl/event/dto/EventDto.java @@ -0,0 +1,97 @@ +package com.casic.accessControl.event.dto; + +import com.casic.accessControl.event.domain.Event; + +import java.util.Date; + +/** + * Created by lenovo on 2016/8/11. + */ +public class EventDto { + private Long id; + private Long taskId; + private String description; + private String createTime; + private String imageName; + private Double latitude; + private Double longitude; + private Integer status; + + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Long getTaskId() { + return taskId; + } + + public void setTaskId(Long taskId) { + this.taskId = taskId; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getImageName() { + return imageName; + } + + public void setImageName(String imageName) { + this.imageName = imageName; + } + + public Double getLatitude() { + return latitude; + } + + public void setLatitude(Double latitude) { + this.latitude = latitude; + } + + public Double getLongitude() { + return longitude; + } + + public void setLongitude(Double longitude) { + this.longitude = longitude; + } + + public Integer getStatus() { + return status; + } + + public void setStatus(Integer status) { + this.status = status; + } + + public static EventDto convert2EventDto(Event event) { + EventDto eventDto = new EventDto(); + eventDto.setTaskId(event.getTaskId()); + eventDto.setId(event.getId()); + eventDto.setDescription(event.getDescription()); + eventDto.setCreateTime(event.getCreateTime().toString()); + eventDto.setImageName(event.getImageName()); + eventDto.setLatitude(event.getLatitude()); + eventDto.setLongitude(event.getLongitude()); + eventDto.setStatus(event.getStatus()); + return eventDto; + } +} diff --git a/src/main/java/com/casic/accessControl/event/manager/EventManager.java b/src/main/java/com/casic/accessControl/event/manager/EventManager.java new file mode 100644 index 0000000..f1e6776 --- /dev/null +++ b/src/main/java/com/casic/accessControl/event/manager/EventManager.java @@ -0,0 +1,108 @@ +package com.casic.accessControl.event.manager; + +import com.casic.accessControl.core.hibernate.HibernateEntityDao; +import com.casic.accessControl.event.domain.Event; +import com.casic.accessControl.event.dto.EventDto; +import com.casic.accessControl.task.dto.TaskDto; +import com.casic.accessControl.util.DateUtils; +import org.springframework.stereotype.Service; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; +import sun.misc.BASE64Decoder; + +import javax.servlet.http.HttpServletRequest; +import java.io.File; +import java.io.FileOutputStream; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * Created by lenovo on 2016/8/11. + */ +@Service +public class EventManager extends HibernateEntityDao { + /** + * 根据用户和所属任务 获取事件列表 + * + * @param taskId + * @return + */ + public List getEventsByTaskId(Long taskId) { + + return null; + } + + /** + * 根据事件Id获取事件内容 + * + * @param eventId + * @return + */ + public EventDto getEventById(Long eventId) { + return null; + } + + /** + * 根据事件ID删除事件信息 + * + * @param eventId + * @return + */ + public boolean deleteEventById(Long eventId) { + return true; + } + + /** + * 上传时间信息 + * + * @param eventInfo + * @param taskInfo + * @param fileNames + * @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 + "/eventImage"; //存储路径 + 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(); + } + } + 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; + } + + +} diff --git a/src/main/java/com/casic/accessControl/event/domain/Event.java b/src/main/java/com/casic/accessControl/event/domain/Event.java new file mode 100644 index 0000000..fc22f52 --- /dev/null +++ b/src/main/java/com/casic/accessControl/event/domain/Event.java @@ -0,0 +1,96 @@ +package com.casic.accessControl.event.domain; + +import javax.persistence.*; +import java.util.Date; + +/** + * Created by lenovo on 2016/8/11. + */ +@Entity +@Table(name = "event") +public class Event { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "id") + private Long id; + @Column(name="task_id") + private Long taskId; + @Column(name="description") + private String description; + @Column(name="create_time") + private Date createTime; + @Column(name="image_name") + private String imageName; + @Column(name="latitude") + private Double latitude; + @Column(name="longitude") + private Double longitude; + @Column(name="status") + private Integer status; + + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Long getTaskId() { + return taskId; + } + + public void setTaskId(Long taskId) { + this.taskId = taskId; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public Date getCreateTime() { + return createTime; + } + + public void setCreateTime(Date createTime) { + this.createTime = createTime; + } + + public String getImageName() { + return imageName; + } + + public void setImageName(String imageName) { + this.imageName = imageName; + } + + public Double getLatitude() { + return latitude; + } + + public void setLatitude(Double latitude) { + this.latitude = latitude; + } + + public Double getLongitude() { + return longitude; + } + + public void setLongitude(Double longitude) { + this.longitude = longitude; + } + + public Integer getStatus() { + return status; + } + + public void setStatus(Integer status) { + this.status = status; + } +} diff --git a/src/main/java/com/casic/accessControl/event/dto/EventDto.java b/src/main/java/com/casic/accessControl/event/dto/EventDto.java new file mode 100644 index 0000000..9ff52bb --- /dev/null +++ b/src/main/java/com/casic/accessControl/event/dto/EventDto.java @@ -0,0 +1,97 @@ +package com.casic.accessControl.event.dto; + +import com.casic.accessControl.event.domain.Event; + +import java.util.Date; + +/** + * Created by lenovo on 2016/8/11. + */ +public class EventDto { + private Long id; + private Long taskId; + private String description; + private String createTime; + private String imageName; + private Double latitude; + private Double longitude; + private Integer status; + + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Long getTaskId() { + return taskId; + } + + public void setTaskId(Long taskId) { + this.taskId = taskId; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getImageName() { + return imageName; + } + + public void setImageName(String imageName) { + this.imageName = imageName; + } + + public Double getLatitude() { + return latitude; + } + + public void setLatitude(Double latitude) { + this.latitude = latitude; + } + + public Double getLongitude() { + return longitude; + } + + public void setLongitude(Double longitude) { + this.longitude = longitude; + } + + public Integer getStatus() { + return status; + } + + public void setStatus(Integer status) { + this.status = status; + } + + public static EventDto convert2EventDto(Event event) { + EventDto eventDto = new EventDto(); + eventDto.setTaskId(event.getTaskId()); + eventDto.setId(event.getId()); + eventDto.setDescription(event.getDescription()); + eventDto.setCreateTime(event.getCreateTime().toString()); + eventDto.setImageName(event.getImageName()); + eventDto.setLatitude(event.getLatitude()); + eventDto.setLongitude(event.getLongitude()); + eventDto.setStatus(event.getStatus()); + return eventDto; + } +} diff --git a/src/main/java/com/casic/accessControl/event/manager/EventManager.java b/src/main/java/com/casic/accessControl/event/manager/EventManager.java new file mode 100644 index 0000000..f1e6776 --- /dev/null +++ b/src/main/java/com/casic/accessControl/event/manager/EventManager.java @@ -0,0 +1,108 @@ +package com.casic.accessControl.event.manager; + +import com.casic.accessControl.core.hibernate.HibernateEntityDao; +import com.casic.accessControl.event.domain.Event; +import com.casic.accessControl.event.dto.EventDto; +import com.casic.accessControl.task.dto.TaskDto; +import com.casic.accessControl.util.DateUtils; +import org.springframework.stereotype.Service; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; +import sun.misc.BASE64Decoder; + +import javax.servlet.http.HttpServletRequest; +import java.io.File; +import java.io.FileOutputStream; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * Created by lenovo on 2016/8/11. + */ +@Service +public class EventManager extends HibernateEntityDao { + /** + * 根据用户和所属任务 获取事件列表 + * + * @param taskId + * @return + */ + public List getEventsByTaskId(Long taskId) { + + return null; + } + + /** + * 根据事件Id获取事件内容 + * + * @param eventId + * @return + */ + public EventDto getEventById(Long eventId) { + return null; + } + + /** + * 根据事件ID删除事件信息 + * + * @param eventId + * @return + */ + public boolean deleteEventById(Long eventId) { + return true; + } + + /** + * 上传时间信息 + * + * @param eventInfo + * @param taskInfo + * @param fileNames + * @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 + "/eventImage"; //存储路径 + 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(); + } + } + 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; + } + + +} diff --git a/src/main/java/com/casic/accessControl/event/web/EventController.java b/src/main/java/com/casic/accessControl/event/web/EventController.java new file mode 100644 index 0000000..c7a51aa --- /dev/null +++ b/src/main/java/com/casic/accessControl/event/web/EventController.java @@ -0,0 +1,47 @@ +package com.casic.accessControl.event.web; + +import com.casic.accessControl.event.dto.EventDto; +import com.casic.accessControl.event.manager.EventManager; +import com.casic.accessControl.user.domain.User; +import com.casic.accessControl.util.StringUtils; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; + +import javax.annotation.Resource; +import javax.servlet.http.HttpSession; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * Created by lenovo on 2016/8/11. + */ +@Controller +@RequestMapping("event") +public class EventController { + + @Resource + private EventManager eventManager; + + @RequestMapping("get-event-list") + @ResponseBody + public Map getEventListByTaskId(@RequestParam(value = "taskId") Long taskId, HttpSession session) { + Map result = new HashMap(); + User user = (User) session.getAttribute(StringUtils.SYS_USER);//获取当前登录用户 + if (user == null) { + result.put("data", null); + result.put("message", "用户未登录"); + result.put("success", "false"); + return result; + } + List eventList = eventManager.getEventsByTaskId(taskId); + result.put("data", eventList); + result.put("message", "成功获取事件列表"); + result.put("success", "true"); + return result; + } + + +} diff --git a/src/main/java/com/casic/accessControl/event/domain/Event.java b/src/main/java/com/casic/accessControl/event/domain/Event.java new file mode 100644 index 0000000..fc22f52 --- /dev/null +++ b/src/main/java/com/casic/accessControl/event/domain/Event.java @@ -0,0 +1,96 @@ +package com.casic.accessControl.event.domain; + +import javax.persistence.*; +import java.util.Date; + +/** + * Created by lenovo on 2016/8/11. + */ +@Entity +@Table(name = "event") +public class Event { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "id") + private Long id; + @Column(name="task_id") + private Long taskId; + @Column(name="description") + private String description; + @Column(name="create_time") + private Date createTime; + @Column(name="image_name") + private String imageName; + @Column(name="latitude") + private Double latitude; + @Column(name="longitude") + private Double longitude; + @Column(name="status") + private Integer status; + + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Long getTaskId() { + return taskId; + } + + public void setTaskId(Long taskId) { + this.taskId = taskId; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public Date getCreateTime() { + return createTime; + } + + public void setCreateTime(Date createTime) { + this.createTime = createTime; + } + + public String getImageName() { + return imageName; + } + + public void setImageName(String imageName) { + this.imageName = imageName; + } + + public Double getLatitude() { + return latitude; + } + + public void setLatitude(Double latitude) { + this.latitude = latitude; + } + + public Double getLongitude() { + return longitude; + } + + public void setLongitude(Double longitude) { + this.longitude = longitude; + } + + public Integer getStatus() { + return status; + } + + public void setStatus(Integer status) { + this.status = status; + } +} diff --git a/src/main/java/com/casic/accessControl/event/dto/EventDto.java b/src/main/java/com/casic/accessControl/event/dto/EventDto.java new file mode 100644 index 0000000..9ff52bb --- /dev/null +++ b/src/main/java/com/casic/accessControl/event/dto/EventDto.java @@ -0,0 +1,97 @@ +package com.casic.accessControl.event.dto; + +import com.casic.accessControl.event.domain.Event; + +import java.util.Date; + +/** + * Created by lenovo on 2016/8/11. + */ +public class EventDto { + private Long id; + private Long taskId; + private String description; + private String createTime; + private String imageName; + private Double latitude; + private Double longitude; + private Integer status; + + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Long getTaskId() { + return taskId; + } + + public void setTaskId(Long taskId) { + this.taskId = taskId; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getImageName() { + return imageName; + } + + public void setImageName(String imageName) { + this.imageName = imageName; + } + + public Double getLatitude() { + return latitude; + } + + public void setLatitude(Double latitude) { + this.latitude = latitude; + } + + public Double getLongitude() { + return longitude; + } + + public void setLongitude(Double longitude) { + this.longitude = longitude; + } + + public Integer getStatus() { + return status; + } + + public void setStatus(Integer status) { + this.status = status; + } + + public static EventDto convert2EventDto(Event event) { + EventDto eventDto = new EventDto(); + eventDto.setTaskId(event.getTaskId()); + eventDto.setId(event.getId()); + eventDto.setDescription(event.getDescription()); + eventDto.setCreateTime(event.getCreateTime().toString()); + eventDto.setImageName(event.getImageName()); + eventDto.setLatitude(event.getLatitude()); + eventDto.setLongitude(event.getLongitude()); + eventDto.setStatus(event.getStatus()); + return eventDto; + } +} diff --git a/src/main/java/com/casic/accessControl/event/manager/EventManager.java b/src/main/java/com/casic/accessControl/event/manager/EventManager.java new file mode 100644 index 0000000..f1e6776 --- /dev/null +++ b/src/main/java/com/casic/accessControl/event/manager/EventManager.java @@ -0,0 +1,108 @@ +package com.casic.accessControl.event.manager; + +import com.casic.accessControl.core.hibernate.HibernateEntityDao; +import com.casic.accessControl.event.domain.Event; +import com.casic.accessControl.event.dto.EventDto; +import com.casic.accessControl.task.dto.TaskDto; +import com.casic.accessControl.util.DateUtils; +import org.springframework.stereotype.Service; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; +import sun.misc.BASE64Decoder; + +import javax.servlet.http.HttpServletRequest; +import java.io.File; +import java.io.FileOutputStream; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * Created by lenovo on 2016/8/11. + */ +@Service +public class EventManager extends HibernateEntityDao { + /** + * 根据用户和所属任务 获取事件列表 + * + * @param taskId + * @return + */ + public List getEventsByTaskId(Long taskId) { + + return null; + } + + /** + * 根据事件Id获取事件内容 + * + * @param eventId + * @return + */ + public EventDto getEventById(Long eventId) { + return null; + } + + /** + * 根据事件ID删除事件信息 + * + * @param eventId + * @return + */ + public boolean deleteEventById(Long eventId) { + return true; + } + + /** + * 上传时间信息 + * + * @param eventInfo + * @param taskInfo + * @param fileNames + * @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 + "/eventImage"; //存储路径 + 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(); + } + } + 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; + } + + +} diff --git a/src/main/java/com/casic/accessControl/event/web/EventController.java b/src/main/java/com/casic/accessControl/event/web/EventController.java new file mode 100644 index 0000000..c7a51aa --- /dev/null +++ b/src/main/java/com/casic/accessControl/event/web/EventController.java @@ -0,0 +1,47 @@ +package com.casic.accessControl.event.web; + +import com.casic.accessControl.event.dto.EventDto; +import com.casic.accessControl.event.manager.EventManager; +import com.casic.accessControl.user.domain.User; +import com.casic.accessControl.util.StringUtils; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; + +import javax.annotation.Resource; +import javax.servlet.http.HttpSession; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * Created by lenovo on 2016/8/11. + */ +@Controller +@RequestMapping("event") +public class EventController { + + @Resource + private EventManager eventManager; + + @RequestMapping("get-event-list") + @ResponseBody + public Map getEventListByTaskId(@RequestParam(value = "taskId") Long taskId, HttpSession session) { + Map result = new HashMap(); + User user = (User) session.getAttribute(StringUtils.SYS_USER);//获取当前登录用户 + if (user == null) { + result.put("data", null); + result.put("message", "用户未登录"); + result.put("success", "false"); + return result; + } + List eventList = eventManager.getEventsByTaskId(taskId); + result.put("data", eventList); + result.put("message", "成功获取事件列表"); + result.put("success", "true"); + return result; + } + + +} diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index b659f37..1a5b882 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -20,7 +20,7 @@ #db.default.username=scott #db.default.password=SZHTDB2 db.default.driverClassName=com.mysql.jdbc.Driver -db.default.url=jdbc:mysql://192.168.0.225:3306/ems?useUnicode=true&characterEncoding=UTF-8 +db.default.url=jdbc:mysql://127.0.0.1:3306/ems?useUnicode=true&characterEncoding=UTF-8 db.default.username=emsuser db.default.password=emsuser