|
@@ -0,0 +1,219 @@
|
|
|
+package com.welampiot.service.impl;
|
|
|
+
|
|
|
+import com.welampiot.dao.ScreenDao;
|
|
|
+import com.welampiot.dto.ScreenDTO;
|
|
|
+import com.welampiot.service.ScreenService;
|
|
|
+import com.welampiot.vo.ScreenDetailsVO;
|
|
|
+import com.welampiot.vo.ScreenVO;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+
|
|
|
+import java.text.ParseException;
|
|
|
+import java.text.SimpleDateFormat;
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.Date;
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+/**
|
|
|
+ * ClassName: ScreenServiceImpl
|
|
|
+ * Package: com.welampiot.service.impl
|
|
|
+ * Description:
|
|
|
+ *
|
|
|
+ * @Author: zhj_Start
|
|
|
+ * @Create: 2023/4/14 - 11:11
|
|
|
+ * @Version: v1.0
|
|
|
+ */
|
|
|
+@Service
|
|
|
+public class ScreenServiceImpl implements ScreenService {
|
|
|
+ @Autowired
|
|
|
+ private ScreenDao screenDao;
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public ScreenVO getScreenList(ScreenDTO dto) {
|
|
|
+ ScreenVO vo = new ScreenVO();
|
|
|
+ vo.setTotal(screenDao.getTotalBySectionList(dto));
|
|
|
+ vo.setOnlineTotal(screenDao.getOnlineTotalBySectionList(dto));
|
|
|
+ List<ScreenDTO> screenList = screenDao.getScreenListByDTO(dto);
|
|
|
+ List<ScreenDTO> list = new ArrayList<>();
|
|
|
+ SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
+ screenList.forEach(screenDTO ->{
|
|
|
+ if (screenDTO.getNetStatus() != null && screenDTO.getNetStatus() == 1){
|
|
|
+ screenDTO.setNetStatus(1);
|
|
|
+ }else {
|
|
|
+ screenDTO.setNetStatus(0);
|
|
|
+ }
|
|
|
+ if (screenDTO.getStatus() != null && screenDTO.getStatus() == 1){
|
|
|
+ screenDTO.setStatus(1);
|
|
|
+ }else {
|
|
|
+ screenDTO.setStatus(0);
|
|
|
+ }
|
|
|
+ if (screenDTO.getOpenMode() != null && screenDTO.getOpenMode() == 1){
|
|
|
+ screenDTO.setOpenMode(1);
|
|
|
+ }else {
|
|
|
+ screenDTO.setOpenMode(0);
|
|
|
+ }
|
|
|
+ if (screenDTO.getProgramName() == null){
|
|
|
+ screenDTO.setProgramName("");
|
|
|
+ }
|
|
|
+ if (screenDTO.getLampPoleName() == null){
|
|
|
+ screenDTO.setLampPoleName("");
|
|
|
+ }
|
|
|
+ if (screenDTO.getDayCom() == null){
|
|
|
+ screenDTO.setDayCom(0.0f);
|
|
|
+ }
|
|
|
+ if (screenDTO.getTotalCom() == null){
|
|
|
+ screenDTO.setTotalCom(0.0f);
|
|
|
+ }
|
|
|
+ if (screenDTO.getVoltage() == null){
|
|
|
+ screenDTO.setVoltage(0.0f);
|
|
|
+ }
|
|
|
+ if (screenDTO.getCurrent() == null){
|
|
|
+ screenDTO.setCurrent(0.0f);
|
|
|
+ }
|
|
|
+ if (screenDTO.getPower() == null){
|
|
|
+ screenDTO.setPower(0.0f);
|
|
|
+ }
|
|
|
+ if (screenDTO.getCanCut() != null && screenDTO.getCanCut() == 1){
|
|
|
+ screenDTO.setCanCut(1);
|
|
|
+ }else {
|
|
|
+ screenDTO.setCanCut(0);
|
|
|
+ }
|
|
|
+ //数据更新时间
|
|
|
+ if (screenDTO.getUpdateTime() != null && !screenDTO.getUpdateTime().equals("")){
|
|
|
+ Date cmdTime;
|
|
|
+ try {
|
|
|
+ cmdTime = simpleDateFormat.parse(screenDTO.getUpdateTime());
|
|
|
+ } catch (ParseException e) {
|
|
|
+ throw new RuntimeException(e);
|
|
|
+ }
|
|
|
+ //判断时区,为null默认东八区
|
|
|
+ long timezone = screenDTO.getTimezone() == null ? 8 : screenDTO.getTimezone();
|
|
|
+ long l = cmdTime.getTime() + timezone * 3600 * 1000;
|
|
|
+ cmdTime = new Date(l);
|
|
|
+ screenDTO.setUpdateTime(simpleDateFormat.format(cmdTime));
|
|
|
+ }else {
|
|
|
+ screenDTO.setUpdateTime("");
|
|
|
+ }
|
|
|
+ if (screenDTO.getInstallDate() != null){
|
|
|
+ try {
|
|
|
+ screenDTO.setInstallDate(simpleDateFormat.format(simpleDateFormat.parse(screenDTO.getInstallDate())));
|
|
|
+ } catch (ParseException e) {
|
|
|
+ throw new RuntimeException(e);
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ screenDTO.setInstallDate("");
|
|
|
+ }
|
|
|
+ if (screenDTO.getExpirationDate() != null){
|
|
|
+ try {
|
|
|
+ screenDTO.setExpirationDate(simpleDateFormat.format(simpleDateFormat.parse(screenDTO.getExpirationDate())));
|
|
|
+ } catch (ParseException e) {
|
|
|
+ throw new RuntimeException(e);
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ screenDTO.setExpirationDate("");
|
|
|
+ }
|
|
|
+ list.add(screenDTO);
|
|
|
+ });
|
|
|
+ vo.setList(list);
|
|
|
+ return vo;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public ScreenVO getScreenNavByDTO(ScreenDTO dto) {
|
|
|
+ ScreenVO vo = new ScreenVO();
|
|
|
+ List<ScreenDTO> screenNavList = screenDao.getScreenNavByDTO(dto);
|
|
|
+ vo.setList(screenNavList);
|
|
|
+ return vo;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public ScreenDetailsVO getScreenDetails(ScreenDTO dto) {
|
|
|
+ ScreenDetailsVO vo = new ScreenDetailsVO();
|
|
|
+ ScreenDTO screenDTO = screenDao.getScreenDetailsByDTO(dto);
|
|
|
+ if (screenDTO == null) return null;
|
|
|
+ vo.setId(screenDTO.getId().toString());
|
|
|
+ vo.setModel(screenDTO.getModel());
|
|
|
+ vo.setNum(screenDTO.getNum());
|
|
|
+ vo.setResolve(screenDTO.getResolve());
|
|
|
+ //点阵规则(0 = p4,1 = p3,2 = p2,3 = LCD,4 = 其他)
|
|
|
+ if (screenDTO.getRole() != null && screenDTO.getRole() == 4){
|
|
|
+ screenDTO.setRole(4);
|
|
|
+ vo.setRole(screenDTO.getRole().toString());
|
|
|
+ }else if (screenDTO.getRole() != null && screenDTO.getRole() == 3){
|
|
|
+ screenDTO.setRole(3);
|
|
|
+ vo.setRole(screenDTO.getRole().toString());
|
|
|
+ }else if (screenDTO.getRole() != null && screenDTO.getRole() == 2){
|
|
|
+ screenDTO.setRole(2);
|
|
|
+ vo.setRole(screenDTO.getRole().toString());
|
|
|
+ }else if (screenDTO.getRole() != null && screenDTO.getRole() == 1){
|
|
|
+ screenDTO.setRole(1);
|
|
|
+ vo.setRole(screenDTO.getRole().toString());
|
|
|
+ }else {
|
|
|
+ screenDTO.setRole(0);
|
|
|
+ vo.setRole(screenDTO.getRole().toString());
|
|
|
+ }
|
|
|
+ //供电方式(0 = 适配器,1 = POE,2 = 其他,3 = AC220V)
|
|
|
+ if (screenDTO.getPowerModel() != null && screenDTO.getPowerModel() == 3){
|
|
|
+ screenDTO.setPowerModel(3);
|
|
|
+ vo.setPowerModel(screenDTO.getPowerModel().toString());
|
|
|
+ }else if (screenDTO.getPowerModel() != null && screenDTO.getPowerModel() == 2){
|
|
|
+ screenDTO.setPowerModel(2);
|
|
|
+ vo.setPowerModel(screenDTO.getPowerModel().toString());
|
|
|
+ }else if (screenDTO.getPowerModel() != null && screenDTO.getPowerModel() == 1){
|
|
|
+ screenDTO.setPowerModel(1);
|
|
|
+ vo.setPowerModel(screenDTO.getPowerModel().toString());
|
|
|
+ }else {
|
|
|
+ screenDTO.setPowerModel(0);
|
|
|
+ vo.setPowerModel(screenDTO.getPowerModel().toString());
|
|
|
+ }
|
|
|
+ //通信方式(0 = 以太网,1 = 4G,2 = 其他)
|
|
|
+ if (screenDTO.getComModel() != null && screenDTO.getComModel() == 2){
|
|
|
+ screenDTO.setComModel(2);
|
|
|
+ vo.setComModel(screenDTO.getComModel().toString());
|
|
|
+ }else if (screenDTO.getComModel() != null && screenDTO.getComModel() == 1){
|
|
|
+ screenDTO.setComModel(1);
|
|
|
+ vo.setComModel(screenDTO.getComModel().toString());
|
|
|
+ }else {
|
|
|
+ screenDTO.setComModel(0);
|
|
|
+ vo.setComModel(screenDTO.getComModel().toString());
|
|
|
+ }
|
|
|
+ //网络状态(0 = 离线,1 = 在线)
|
|
|
+ if (screenDTO.getNetStatus() != null && screenDTO.getNetStatus() == 1){
|
|
|
+ screenDTO.setNetStatus(1);
|
|
|
+ vo.setNetStatus(screenDTO.getNetStatus().toString());
|
|
|
+ }else {
|
|
|
+ screenDTO.setNetStatus(0);
|
|
|
+ vo.setNetStatus(screenDTO.getNetStatus().toString());
|
|
|
+ }
|
|
|
+ //屏幕开关状态(0 = 关,1 = 开)
|
|
|
+ if (screenDTO.getStatus() != null && screenDTO.getStatus() == 1){
|
|
|
+ screenDTO.setStatus(1);
|
|
|
+ vo.setStatus(screenDTO.getStatus().toString());
|
|
|
+ }else {
|
|
|
+ screenDTO.setStatus(0);
|
|
|
+ vo.setStatus(screenDTO.getStatus().toString());
|
|
|
+ }
|
|
|
+ vo.setLight(screenDTO.getLight().toString());
|
|
|
+ vo.setVolume(screenDTO.getVolume().toString());
|
|
|
+ vo.setWidth(screenDTO.getWidth().toString());
|
|
|
+ vo.setHeight(screenDTO.getHeight().toString());
|
|
|
+ if (screenDTO.getProgramName() != null && !screenDTO.getProgramName().equals("")){
|
|
|
+ vo.setPlaying(screenDTO.getProgramName());
|
|
|
+ }else {
|
|
|
+ vo.setPlaying("");
|
|
|
+ }
|
|
|
+ //屏幕播放类型(0 节目,1 气象站,2 视屏监控)
|
|
|
+ if (screenDTO.getType() != null && screenDTO.getType() == 2){
|
|
|
+ screenDTO.setType(2);
|
|
|
+ vo.setType(screenDTO.getType().toString());
|
|
|
+ }else if(screenDTO.getType() != null && screenDTO.getType() == 1){
|
|
|
+ screenDTO.setType(1);
|
|
|
+ vo.setType(screenDTO.getType().toString());
|
|
|
+ }else {
|
|
|
+ screenDTO.setType(0);
|
|
|
+ vo.setType(screenDTO.getType().toString());
|
|
|
+ }
|
|
|
+ vo.setMaxLight(screenDTO.getMaxLight().toString());
|
|
|
+ return vo;
|
|
|
+ }
|
|
|
+}
|