PolicyServiceImpl.java 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. package com.welampiot.service.impl;
  2. import com.alibaba.fastjson.JSON;
  3. import com.alibaba.fastjson.TypeReference;
  4. import com.alibaba.fastjson.serializer.SerializerFeature;
  5. import com.welampiot.dao.PolicyDao;
  6. import com.welampiot.dto.PolicyCmdDTO;
  7. import com.welampiot.dto.PolicyDTO;
  8. import com.welampiot.service.PolicyCmdService;
  9. import com.welampiot.service.PolicyService;
  10. import com.welampiot.vo.PolicyVO;
  11. import org.springframework.beans.factory.annotation.Autowired;
  12. import org.springframework.stereotype.Service;
  13. import java.util.ArrayList;
  14. import java.util.HashMap;
  15. import java.util.List;
  16. import java.util.Map;
  17. @Service
  18. public class PolicyServiceImpl implements PolicyService {
  19. @Autowired
  20. private PolicyDao policyDao;
  21. @Autowired
  22. private PolicyCmdService policyCmdService;
  23. @Override
  24. public List<PolicyDTO> getListByVO(PolicyVO policyVO) {
  25. List<PolicyDTO> listByVO = policyDao.getListByVO(policyVO);
  26. List<PolicyDTO> list = new ArrayList<>();
  27. for (PolicyDTO policy :listByVO) {
  28. List<PolicyCmdDTO> listByPolicyId = policyCmdService.getListByPolicyId(policy.getId());
  29. List tList = new ArrayList<>();
  30. for (PolicyCmdDTO p :listByPolicyId) {
  31. String jsonStr = JSON.toJSONString(p, SerializerFeature.WriteDateUseDateFormat);
  32. Map<String, Object> map = JSON.parseObject(jsonStr, new TypeReference<Map<String, Object>>() {
  33. });
  34. List timeList = new ArrayList<>();
  35. for (int i = 1; i <= 10; i++) {
  36. if (map.containsKey("time"+i) && map.get("time"+i) != null && !map.get("time"+i).equals("")){
  37. Integer n = i + 1;
  38. if (map.containsKey("time"+n) && map.get("time"+n) != null && !map.get("time"+n).equals("")){
  39. String timeValue = map.get("time"+i)+"-"+map.get("time"+n)+" 亮度"+map.get("value"+i)+"%";
  40. timeList.add(timeValue);
  41. }else {
  42. String timeValue = map.get("time"+i)+"-以后"+" 亮度"+map.get("value"+i)+"%";
  43. timeList.add(timeValue);
  44. break;
  45. }
  46. }
  47. }
  48. PolicyCmdDTO policyCmdDTO = new PolicyCmdDTO();
  49. policyCmdDTO.setDate(p.getStartTime());
  50. policyCmdDTO.setValue(timeList);
  51. tList.add(policyCmdDTO);
  52. }
  53. policy.setList(tList);
  54. list.add(policy);
  55. }
  56. return list;
  57. }
  58. @Override
  59. public Integer getCountByVO(PolicyVO policyVO) {
  60. return policyDao.getCountByVO(policyVO);
  61. }
  62. @Override
  63. public List<PolicyDTO> getNavByVO(PolicyVO policyVO) {
  64. List<PolicyDTO> listByVO = policyDao.getListByVO(policyVO);
  65. List<PolicyCmdDTO> policyCmdList = policyCmdService.getListByPolicyId(0);
  66. HashMap<Object, Object> objectObjectHashMap = new HashMap<>();
  67. for (PolicyCmdDTO p :policyCmdList) {
  68. Integer policyId = p.getPolicyId();
  69. if (objectObjectHashMap.containsKey(policyId)){
  70. List l = (List) objectObjectHashMap.get(policyId);
  71. l.add(p);
  72. objectObjectHashMap.put(policyId,l);
  73. }else {
  74. List l = new ArrayList<>();
  75. l.add(p);
  76. objectObjectHashMap.put(policyId,l);
  77. }
  78. }
  79. List<PolicyDTO> list = new ArrayList<>();
  80. for (PolicyDTO policy :listByVO) {
  81. // List<PolicyCmdDTO> listByPolicyId = policyCmdService.getListByPolicyId(policy.getId());
  82. List<PolicyCmdDTO> listByPolicyId = (List<PolicyCmdDTO>) objectObjectHashMap.get(policy.getId());
  83. List tList = new ArrayList<>();
  84. for (PolicyCmdDTO p :listByPolicyId) {
  85. String jsonStr = JSON.toJSONString(p, SerializerFeature.WriteDateUseDateFormat);
  86. Map<String, Object> map = JSON.parseObject(jsonStr, new TypeReference<Map<String, Object>>() {
  87. });
  88. List timeList = new ArrayList<>();
  89. for (int i = 1; i <= 10; i++) {
  90. if (map.containsKey("time"+i) && map.get("time"+i) != null && !map.get("time"+i).equals("")){
  91. Integer n = i + 1;
  92. if (map.containsKey("time"+n) && map.get("time"+n) != null && !map.get("time"+n).equals("")){
  93. String timeValue = map.get("time"+i)+"-"+map.get("time"+n)+" 亮度"+map.get("value"+i)+"%";
  94. timeList.add(timeValue);
  95. }else {
  96. String timeValue = map.get("time"+i)+"-以后"+" 亮度"+map.get("value"+i)+"%";
  97. timeList.add(timeValue);
  98. break;
  99. }
  100. }
  101. }
  102. PolicyCmdDTO policyCmdDTO = new PolicyCmdDTO();
  103. policyCmdDTO.setDate(p.getStartTime());
  104. policyCmdDTO.setValue(timeList);
  105. tList.add(policyCmdDTO);
  106. }
  107. policy.setList(tList);
  108. list.add(policy);
  109. }
  110. return list;
  111. }
  112. @Override
  113. public List<PolicyDTO> getPolicyListByDTO(PolicyDTO dto) {
  114. return policyDao.getPolicyListByDTO(dto);
  115. }
  116. @Override
  117. public List<PolicyDTO> getAllPolicyListByDTO(PolicyDTO dto) {
  118. return policyDao.getAllPolicyListByDTO(dto);
  119. }
  120. @Override
  121. public Integer getPolicyCountByUserid(Integer userId) {
  122. return policyDao.getPolicyCountByUserid(userId);
  123. }
  124. @Override
  125. public Integer getAllPolicyCount() {
  126. return policyDao.getAllPolicyCount();
  127. }
  128. @Override
  129. public void addPolicyData(PolicyDTO dto) {
  130. policyDao.addPolicyData(dto);
  131. }
  132. @Override
  133. public void updatePolicyData(PolicyDTO dto) {
  134. policyDao.updatePolicyData(dto);
  135. }
  136. @Override
  137. public PolicyDTO getPolicyDTOById(Integer id) {
  138. return policyDao.getPolicyDTOById(id);
  139. }
  140. @Override
  141. public void deletePolicyDataById(Integer id) {
  142. policyDao.deletePolicyDataById(id);
  143. }
  144. }