rk
2025-12-19 cbd1eb2a2a3a66bccbb3cb6e38d4de6708c59748
功能优化
已修改4个文件
121 ■■■■■ 文件已修改
server/system_service/src/main/java/com/doumee/core/utils/Constants.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/system_service/src/main/java/com/doumee/core/utils/Constants.java
@@ -1542,9 +1542,10 @@
        AF_XFTDZS(422000000, "【安防事件】消防通道阻塞",1),
        XF_SYGDBJ(254215, "【消防事件】水压过低报警",1),
        XF_SYGGBJ(254216, "【消防事件】水压过高报警",1),
        XF_HZBJ(253999, "【消防事件】火灾报警",1),
        XF_HZBJ(254047, "【消防事件】火灾报警",1),
        XF_YWGDBJ(254331, "【消防事件】液位过低报警",1),
        XF_YWGGBJ(254332, "【消防事件】液位过高报警",1),
        AF_DZWL(327681, "【安防事件】电子围栏",1),
        ;
        // 成员变量
        private int key;
server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java
@@ -92,11 +92,10 @@
        Date nowAsISO = null;
        try {
            nowAsISO = df.parse(date);
        } catch (Exception e) {
        } catch (ParseException e) {
        }
        return nowAsISO;
    }
    public static Date getISO8601DateByStr2(String date)  {
        TimeZone tz = TimeZone.getTimeZone("Asia/Shanghai");
        if(date!=null ){
@@ -112,7 +111,7 @@
        Date nowAsISO = null;
        try {
            nowAsISO = df.parse(date);
        } catch (Exception e) {
        } catch (ParseException e) {
        }
        return nowAsISO;
    }
@@ -2968,7 +2967,49 @@
    public static void main(String[] args) {
        try {
        System.out.println(getISO8601DateByStr("2025-12-26T03:08:39.123Z"));
            LocalDate today = LocalDate.now();
            // 获取当前日期是星期几
            DayOfWeek dayOfWeek = today.getDayOfWeek();
            // 计算周一和周五的日期
            LocalDate monday = today.with(DayOfWeek.MONDAY);
            LocalDate friday = today.with(DayOfWeek.FRIDAY);
            // 输出周一和周五的日期
            System.out.println("Monday: " + monday.toString());
            System.out.println("Friday: " + friday.toString());
//            Date date = getISO8601DateByStr("2024-04-15T07:46:36.014+08:00");
//            Date date1 = getISO8601DateByStr("2024-06-14T08:46:36.014+08:00");
//            System.out.println(DateUtil.afterMinutesDate(-5));
//            System.out.println(DateUtil.getWeekZhouOfDate(getDateFromString2("2025-11-06 00:00:00")));
//            System.out.println(getPlusTime2(DateUtil.addMonthToDate(new Date(),-1)));
//            System.out.println(DateUtil.getBeforMonthStr(new Date(),12));
//            List<Date> list =getThisMonthDateList();
//            for(Date d :list){
//                System.out.println(getPlusTime2(d));
//            }
//            List<Date> list1 =getThisYearMonthList();
//            for(Date d :list1){
//                System.out.println(getPlusTime2(d));
//            }
//            Date startTime = DateUtil.StringToDate("2024-05-01 08:00:00" ,"yyyy-MM-dd HH:mm:ss");
//            Date endTime = DateUtil.StringToDate("2024-05-01 17:00:00" ,"yyyy-MM-dd HH:mm:ss");
//            Long intervalTime = 35L;
//
//
//            DateUtil.checkDateInterval( startTime.toInstant()
//                    .atZone(ZoneId.systemDefault())
//                    .toLocalDateTime(), endTime.toInstant()
//                    .atZone(ZoneId.systemDefault())
//                    .toLocalDateTime(),intervalTime);
        } catch (Exception ex) {
            ex.printStackTrace();
        }
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java
@@ -288,8 +288,8 @@
     * 3、能管中心:ngzx
     */
    public interface MenuPageId{
        String[] componentIds = new String[]{"vms","fem","cems"};
        String afzx = "010100";//安防中心
        String[] componentIds = new String[]{"Infovision iPark Platform","fem","cems"};
        String afzx = "rule_event_center";//安防中心
        String xkzx = "000101";//消控中心
        String ngzx = "ngzx";//能管中心
        String jsc = "jsc";//物业后勤
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
@@ -26,6 +26,7 @@
import com.doumee.dao.business.model.*;
import com.doumee.dao.business.model.Member;
import com.doumee.dao.web.reqeust.SavePlatformWarnEventDTO;
import com.doumee.dao.web.response.platformReport.CarmeraListVO;
import com.doumee.service.business.VisitsService;
import com.doumee.service.business.impl.JkCabinetGridServiceImpl;
import com.doumee.service.business.impl.PlatformWarnEventServiceImpl;
@@ -37,6 +38,7 @@
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
@@ -498,12 +500,15 @@
                    warningEvent.setEventId(request.getEventId());
                    warningEvent.setEventType(request.getEventType().toString());
                    warningEvent.setHappenTime(request.getHappenTime());
                    if(Objects.nonNull(request.getData())){
                    warningEvent.setJsonContent(request.getData().toJSONString());
                    }
                    warningEvent.setSrcIndex(request.getSrcIndex());
                    warningEvent.setSrcType(request.getSrcType());
                    warningEvent.setSrcName(request.getSrcName());
                    warningEvent.setWarningId(warning.getId());
                    warningEvent.setDeviceId(request.getSrcIndex());
                    warningEvent.setRegion(this.getRegionsName(warningEvent.getSrcIndex(),warning.getType()));
                    warningEventMapper.insert(warningEvent);
                    if(Objects.nonNull(warningConfig)){
@@ -529,8 +534,7 @@
                                    warningPush.setContent(content);
                                    warningPush.setStatus(Constants.ZERO);
                                    warningPush.setPushType(Constants.ZERO);
                                    //TODO 根据具体数据对比获取
                                    warningPush.setRegion( "未知位置");
                                    warningPush.setRegion( warningEvent.getRegion());
                                    if (com.github.xiaoymin.knife4j.core.util.CollectionUtils.isEmpty(memberList)) {
                                        warningPush.setMemberIds(
                                                StringUtils.join(memberList.stream().map(i -> i.getId()).collect(Collectors.toList()), ",")
@@ -569,9 +573,64 @@
        }
        saveInterfaceLog(param,"/business/hksync/push/notice",result,true);
        return  null;
    }
    @Autowired
    private RedisTemplate<String,Object> stringRedisTemplate;
    public String getRegionsName(String srcIndex,Integer warningType){
        log.error("【匹配设备与区域关系信息】========开始=======:"+srcIndex);
        String regionName = "未知区域";
        if(StringUtils.isBlank(srcIndex)){
            return regionName;
        }
        try{
            if(Constants.equalsInteger(warningType,Constants.ZERO)){
                List<CarmeraListVO> carmeraListVOList = (List<CarmeraListVO>) stringRedisTemplate.opsForValue().get(Constants.RedisKeys.HK_CAMERAS);//所有监控点数据
                if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(carmeraListVOList)){
                    if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(carmeraListVOList)){
                        for (CarmeraListVO c:carmeraListVOList) {
                            if(c.getIndexCode().equals(srcIndex)){
                                log.error("【监控区域匹配结果】===============:"+c.getRegionName());
                                return c.getRegionName();
                            }
                        }
                    }
                }
            }else{
                List<CarmeraListVO>  fireDeviceListVOList = (List<CarmeraListVO>) stringRedisTemplate.opsForValue().get(Constants.RedisKeys.HK_FIRE_DEVICE);//所有消防设备数据
                List<CarmeraListVO>  sensorListVOList = (List<CarmeraListVO>) stringRedisTemplate.opsForValue().get(Constants.RedisKeys.HK_SENSOR);//所有传感器
                if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(fireDeviceListVOList)){
                    if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(fireDeviceListVOList)){
                        for (CarmeraListVO c:fireDeviceListVOList) {
                            if(c.getIndexCode().equals(srcIndex)){
                                log.error("【消防区域匹配结果】===============:"+c.getRegionName());
                                return c.getRegionName();
                            }
                        }
                    }
                }
                if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(sensorListVOList)){
                    if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(sensorListVOList)){
                        for (CarmeraListVO c:sensorListVOList) {
                            if(c.getIndexCode().equals(srcIndex)){
                                log.error("【传感器区域匹配结果】==============:"+c.getRegionName());
                                return c.getRegionName();
                            }
                        }
                    }
                }
            }
        }catch (Exception e){
            e.printStackTrace();
        }
        log.error("【匹配设备与区域关系信息】========结束=======:"+srcIndex);
        return regionName;
    }
    /**
     * 海康访客事件推送
     * @param param