123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162 |
- package com.welampiot.service.impl;
- import com.alibaba.fastjson.JSON;
- import com.alibaba.fastjson.TypeReference;
- import com.alibaba.fastjson.serializer.SerializerFeature;
- import com.welampiot.dao.PolicyDao;
- import com.welampiot.dto.PolicyCmdDTO;
- import com.welampiot.dto.PolicyDTO;
- import com.welampiot.service.PolicyCmdService;
- import com.welampiot.service.PolicyService;
- import com.welampiot.vo.PolicyVO;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- @Service
- public class PolicyServiceImpl implements PolicyService {
- @Autowired
- private PolicyDao policyDao;
- @Autowired
- private PolicyCmdService policyCmdService;
- @Override
- public List<PolicyDTO> getListByVO(PolicyVO policyVO) {
- List<PolicyDTO> listByVO = policyDao.getListByVO(policyVO);
- List<PolicyDTO> list = new ArrayList<>();
- for (PolicyDTO policy :listByVO) {
- List<PolicyCmdDTO> listByPolicyId = policyCmdService.getListByPolicyId(policy.getId());
- List tList = new ArrayList<>();
- for (PolicyCmdDTO p :listByPolicyId) {
- String jsonStr = JSON.toJSONString(p, SerializerFeature.WriteDateUseDateFormat);
- Map<String, Object> map = JSON.parseObject(jsonStr, new TypeReference<Map<String, Object>>() {
- });
- List timeList = new ArrayList<>();
- for (int i = 1; i <= 10; i++) {
- if (map.containsKey("time"+i) && map.get("time"+i) != null && !map.get("time"+i).equals("")){
- Integer n = i + 1;
- if (map.containsKey("time"+n) && map.get("time"+n) != null && !map.get("time"+n).equals("")){
- String timeValue = map.get("time"+i)+"-"+map.get("time"+n)+" 亮度"+map.get("value"+i)+"%";
- timeList.add(timeValue);
- }else {
- String timeValue = map.get("time"+i)+"-以后"+" 亮度"+map.get("value"+i)+"%";
- timeList.add(timeValue);
- break;
- }
- }
- }
- PolicyCmdDTO policyCmdDTO = new PolicyCmdDTO();
- policyCmdDTO.setDate(p.getStartTime());
- policyCmdDTO.setValue(timeList);
- tList.add(policyCmdDTO);
- }
- policy.setList(tList);
- list.add(policy);
- }
- return list;
- }
- @Override
- public Integer getCountByVO(PolicyVO policyVO) {
- return policyDao.getCountByVO(policyVO);
- }
- @Override
- public List<PolicyDTO> getNavByVO(PolicyVO policyVO) {
- List<PolicyDTO> listByVO = policyDao.getListByVO(policyVO);
- List<PolicyCmdDTO> policyCmdList = policyCmdService.getListByPolicyId(0);
- HashMap<Object, Object> objectObjectHashMap = new HashMap<>();
- for (PolicyCmdDTO p :policyCmdList) {
- Integer policyId = p.getPolicyId();
- if (objectObjectHashMap.containsKey(policyId)){
- List l = (List) objectObjectHashMap.get(policyId);
- l.add(p);
- objectObjectHashMap.put(policyId,l);
- }else {
- List l = new ArrayList<>();
- l.add(p);
- objectObjectHashMap.put(policyId,l);
- }
- }
- List<PolicyDTO> list = new ArrayList<>();
- for (PolicyDTO policy :listByVO) {
- // List<PolicyCmdDTO> listByPolicyId = policyCmdService.getListByPolicyId(policy.getId());
- List<PolicyCmdDTO> listByPolicyId = (List<PolicyCmdDTO>) objectObjectHashMap.get(policy.getId());
- List tList = new ArrayList<>();
- for (PolicyCmdDTO p :listByPolicyId) {
- String jsonStr = JSON.toJSONString(p, SerializerFeature.WriteDateUseDateFormat);
- Map<String, Object> map = JSON.parseObject(jsonStr, new TypeReference<Map<String, Object>>() {
- });
- List timeList = new ArrayList<>();
- for (int i = 1; i <= 10; i++) {
- if (map.containsKey("time"+i) && map.get("time"+i) != null && !map.get("time"+i).equals("")){
- Integer n = i + 1;
- if (map.containsKey("time"+n) && map.get("time"+n) != null && !map.get("time"+n).equals("")){
- String timeValue = map.get("time"+i)+"-"+map.get("time"+n)+" 亮度"+map.get("value"+i)+"%";
- timeList.add(timeValue);
- }else {
- String timeValue = map.get("time"+i)+"-以后"+" 亮度"+map.get("value"+i)+"%";
- timeList.add(timeValue);
- break;
- }
- }
- }
- PolicyCmdDTO policyCmdDTO = new PolicyCmdDTO();
- policyCmdDTO.setDate(p.getStartTime());
- policyCmdDTO.setValue(timeList);
- tList.add(policyCmdDTO);
- }
- policy.setList(tList);
- list.add(policy);
- }
- return list;
- }
- @Override
- public List<PolicyDTO> getPolicyListByDTO(PolicyDTO dto) {
- return policyDao.getPolicyListByDTO(dto);
- }
- @Override
- public List<PolicyDTO> getAllPolicyListByDTO(PolicyDTO dto) {
- return policyDao.getAllPolicyListByDTO(dto);
- }
- @Override
- public Integer getPolicyCountByUserid(Integer userId) {
- return policyDao.getPolicyCountByUserid(userId);
- }
- @Override
- public Integer getAllPolicyCount() {
- return policyDao.getAllPolicyCount();
- }
- @Override
- public void addPolicyData(PolicyDTO dto) {
- policyDao.addPolicyData(dto);
- }
- @Override
- public void updatePolicyData(PolicyDTO dto) {
- policyDao.updatePolicyData(dto);
- }
- @Override
- public PolicyDTO getPolicyDTOById(Integer id) {
- return policyDao.getPolicyDTOById(id);
- }
- @Override
- public void deletePolicyDataById(Integer id) {
- policyDao.deletePolicyDataById(id);
- }
- }
|