ProjectItemTargetRoomService.java 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. package com.bosshand.virgo.api.service;
  2. import com.bosshand.virgo.api.dao.*;
  3. import com.bosshand.virgo.api.model.*;
  4. import org.springframework.beans.factory.annotation.Autowired;
  5. import org.springframework.stereotype.Service;
  6. import java.util.HashMap;
  7. import java.util.List;
  8. import java.util.Map;
  9. @Service
  10. public class ProjectItemTargetRoomService {
  11. @Autowired
  12. private ProjectDao projectDao;
  13. @Autowired
  14. private ProjectItemDao projectItemDao;
  15. @Autowired
  16. private ProjectItemTargetDao projectItemTargetDao;
  17. @Autowired
  18. private ProjectItemTargetRoomDao projectItemTargetRoomDao;
  19. @Autowired
  20. private TagDao tagDao;
  21. public Map<Long, Project> projectCache = new HashMap<Long, Project>();
  22. public Map<Long, ProjectItem> projectItemCache = new HashMap<Long, ProjectItem>();
  23. public Map<Long, ProjectItemTarget> projectItemTargetCache = new HashMap<Long, ProjectItemTarget>();
  24. public Map<Long, ProjectItemTargetRoom> projectItemTargetRoomCache = new HashMap<Long, ProjectItemTargetRoom>();
  25. public Map<Long, Tag> tagCache = new HashMap<Long, Tag>();
  26. public Project getProject(Long pk) {
  27. Project project = projectCache.get(pk);
  28. if (project == null) {
  29. project = projectDao.getProject(pk);
  30. projectCache.put((Long) pk, project);
  31. }
  32. return project;
  33. }
  34. public ProjectItem getProjectItem(Long pk) {
  35. ProjectItem projectItem = projectItemCache.get(pk);
  36. if (projectItem == null) {
  37. projectItem = projectItemDao.getProjectItem(pk);
  38. projectItemCache.put((Long) pk, projectItem);
  39. }
  40. return projectItem;
  41. }
  42. public ProjectItemTarget getProjectItemTarget(Long pk) {
  43. ProjectItemTarget projectItemTarget = projectItemTargetCache.get(pk);
  44. if (projectItemTarget == null) {
  45. projectItemTarget = projectItemTargetDao.get(pk);
  46. projectItemTargetCache.put((Long) pk, projectItemTarget);
  47. }
  48. return projectItemTarget;
  49. }
  50. public ProjectItemTargetRoom getProjectItemTargetRoom(Long pk) {
  51. ProjectItemTargetRoom projectItemTargetRoom = projectItemTargetRoomCache.get(pk);
  52. if (projectItemTargetRoom == null) {
  53. projectItemTargetRoom = projectItemTargetRoomDao.get(pk);
  54. projectItemTargetRoomCache.put((Long) pk, projectItemTargetRoom);
  55. }
  56. return projectItemTargetRoom;
  57. }
  58. public Tag getTag(Long pk) {
  59. Tag tag = tagCache.get(pk);
  60. if (tag == null) {
  61. tag = tagDao.get(pk);
  62. tagCache.put((Long) pk, tag);
  63. }
  64. return tag;
  65. }
  66. public ProjectItemTargetRoom get(long id) {
  67. ProjectItemTargetRoom room = projectItemTargetRoomDao.get(id);
  68. if(room != null){
  69. room.setProjectName(this.getProject(room.getProjectId()).getName());
  70. room.setProjectItemName(this.getProjectItem(room.getProjectItemId()).getName());
  71. room.setProjectItemTargetName(this.getProjectItemTarget(room.getProjectItemTargetId()).getName());
  72. }
  73. return room;
  74. }
  75. public int getTotalCount(ProjectItemTargetRoom project) {
  76. return projectItemTargetRoomDao.getTotalCount(project);
  77. }
  78. public List<ProjectItemTargetRoom> getLimit(ProjectItemTargetRoom project, int currPage, int pageSize) {
  79. int currIndex = (currPage - 1) * pageSize;
  80. List<ProjectItemTargetRoom> list = projectItemTargetRoomDao.getLimit(project, currIndex, pageSize);
  81. for (ProjectItemTargetRoom room : list) {
  82. room.setProjectName(this.getProject(room.getProjectId()).getName());
  83. room.setProjectItemName(this.getProjectItem(room.getProjectItemId()).getName());
  84. room.setProjectItemTargetName(this.getProjectItemTarget(room.getProjectItemTargetId()).getName());
  85. }
  86. return list;
  87. }
  88. public List<ProjectItemTargetRoom> getProjectItemTargetRoom(ProjectItemTargetRoom projectItemTargetRoom) {
  89. List<ProjectItemTargetRoom> list = projectItemTargetRoomDao.getProjectItemTargetRoom(projectItemTargetRoom);
  90. for (ProjectItemTargetRoom room : list) {
  91. room.setProjectName(this.getProject(room.getProjectId()).getName());
  92. room.setProjectItemName(this.getProjectItem(room.getProjectItemId()).getName());
  93. room.setProjectItemTargetName(this.getProjectItemTarget(room.getProjectItemTargetId()).getName());
  94. }
  95. return list;
  96. }
  97. public int insert(ProjectItemTargetRoom projectItemTargetRoom) {
  98. return projectItemTargetRoomDao.insert(projectItemTargetRoom);
  99. }
  100. public int delete(long id) {
  101. return projectItemTargetRoomDao.delete(id);
  102. }
  103. public int update(ProjectItemTargetRoom projectItemTargetRoom) {
  104. return projectItemTargetRoomDao.update(projectItemTargetRoom);
  105. }
  106. }