From c53ffe77807fd2f37a9a37a906994cfb58f18986 Mon Sep 17 00:00:00 2001 From: guo Date: Mon, 21 Aug 2023 09:49:00 +0800 Subject: [PATCH] =?UTF-8?q?bug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/zhgd/redis/lock/RedisRepository.java | 4 +- .../basicdata/mapper/xml/CompanyMapper.xml | 3 +- .../impl/SystemLogoConfigServiceImpl.java | 40 +++++++++++-------- .../service/impl/LifterServiceImpl.java | 2 +- .../service/impl/TowerServiceImpl.java | 2 +- .../checking/entity/CheckingPointInfo.java | 3 ++ .../mapper/xml/CheckingPointInfoMapper.xml | 4 +- .../impl/CheckingPointInfoServiceImpl.java | 6 +-- .../impl/CheckingPointServiceImpl.java | 19 +++++++-- 9 files changed, 53 insertions(+), 30 deletions(-) diff --git a/src/main/java/com/zhgd/redis/lock/RedisRepository.java b/src/main/java/com/zhgd/redis/lock/RedisRepository.java index 6fdb2a1d3..1b4c98698 100644 --- a/src/main/java/com/zhgd/redis/lock/RedisRepository.java +++ b/src/main/java/com/zhgd/redis/lock/RedisRepository.java @@ -514,13 +514,13 @@ public class RedisRepository { /** - * 存在则获取,不存在则查询后获取,默认4小时过期时间 + * 存在则获取,不存在则查询后获取 * * @param key the key * @return 需要的对象 */ public Y getOrSet(String key, Supplier supplier) { - return getOrSet(key, supplier, 4 * 60 * 60L); + return getOrSet(key, supplier, null); } /** diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/mapper/xml/CompanyMapper.xml b/src/main/java/com/zhgd/xmgl/modules/basicdata/mapper/xml/CompanyMapper.xml index a1e3041bb..314b1d400 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/mapper/xml/CompanyMapper.xml +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/mapper/xml/CompanyMapper.xml @@ -20,7 +20,8 @@ b.project_kanban, b.company_big_screen, su.account, - su.show_password + su.show_password, + su.real_name FROM company a INNER JOIN company_config b ON a.headquarters_sn = b.company_sn LEFT JOIN diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/SystemLogoConfigServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/SystemLogoConfigServiceImpl.java index e83a0fe02..43c526a88 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/SystemLogoConfigServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/SystemLogoConfigServiceImpl.java @@ -3,6 +3,7 @@ package com.zhgd.xmgl.modules.basicdata.service.impl; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.zhgd.redis.lock.RedisRepository; import com.zhgd.xmgl.modules.basicdata.entity.SystemLogoConfig; @@ -14,7 +15,6 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; -import java.util.List; /** * @Description: 系统logo配置 @@ -43,6 +43,7 @@ public class SystemLogoConfigServiceImpl extends ServiceImpl { - String headquartersSn = systemLogoConfig.getHeadquartersSn(); - SystemLogoConfig slc; - //查询该企业的 - slc = systemLogoConfigMapper.selectOne(new LambdaQueryWrapper().eq(SystemLogoConfig::getHeadquartersSn, headquartersSn)); - if (slc == null) { - //查询默认 - slc = systemLogoConfigMapper.selectOne(new LambdaQueryWrapper().eq(SystemLogoConfig::getHeadquartersSn, "-1")); - } - if ("local".equals(fileStorageType)) { - slc.setFileStorageType("0"); - } else { - slc.setFileStorageType("1"); - } - return slc; - }); + Object o = redisRepository.get(SYSTEM_LOGO_CONFIG_KEY_PREFIX + systemLogoConfig.getHeadquartersSn()); + if (o != null) { + return (SystemLogoConfig) o; + } + String headquartersSn = systemLogoConfig.getHeadquartersSn(); + SystemLogoConfig slc; + String val = headquartersSn; + //查询该企业的 + slc = systemLogoConfigMapper.selectOne(new LambdaQueryWrapper().eq(SystemLogoConfig::getHeadquartersSn, headquartersSn)); + if (slc == null) { + //查询默认 + slc = systemLogoConfigMapper.selectOne(new LambdaQueryWrapper().eq(SystemLogoConfig::getHeadquartersSn, "-1")); + val = "-1"; + } + if ("local".equals(fileStorageType)) { + slc.setFileStorageType("0"); + } else { + slc.setFileStorageType("1"); + } + redisRepository.set(SYSTEM_LOGO_CONFIG_KEY_PREFIX + val, slc); + return slc; } } diff --git a/src/main/java/com/zhgd/xmgl/modules/bigdevice/service/impl/LifterServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/bigdevice/service/impl/LifterServiceImpl.java index 39ed4ec57..62566aee2 100644 --- a/src/main/java/com/zhgd/xmgl/modules/bigdevice/service/impl/LifterServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/bigdevice/service/impl/LifterServiceImpl.java @@ -335,7 +335,7 @@ public class LifterServiceImpl extends ServiceImpl impleme log.error("无对应升降机编号设备!设备编号为:{}", devSn); throw new NullPointerException("无对应升降机编号设备!!"); } - LifterCurrentData newData = redisRepository.getOrSet("lifterCurrentData" + lifter.getProjectSn() + lifter.getDevSn(), (() -> lifterCurrentDataMapper.getNewData(devSn))); + LifterCurrentData newData = redisRepository.getOrSet("lifterCurrentData" + lifter.getProjectSn() + lifter.getDevSn(), (() -> lifterCurrentDataMapper.getNewData(devSn)), 3600 * 24L); log.info("getRelatedInfo升降机实时数据信息:{}", newData); List driverList = lifter.getDriverList().stream().map(driver -> { DriverVO driverVO = new DriverVO(); diff --git a/src/main/java/com/zhgd/xmgl/modules/bigdevice/service/impl/TowerServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/bigdevice/service/impl/TowerServiceImpl.java index 409e65381..57dae4c70 100644 --- a/src/main/java/com/zhgd/xmgl/modules/bigdevice/service/impl/TowerServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/bigdevice/service/impl/TowerServiceImpl.java @@ -475,7 +475,7 @@ public class TowerServiceImpl extends ServiceImpl implements log.error("无对应塔吊编号设备!设备编号为:{}", devSn); throw new NullPointerException("无对应塔吊编号设备!!"); } - TowerCurrentData newData = redisRepository.getOrSet("towerCurrentData" + tower.getProjectSn() + tower.getDevSn(), (() -> towerCurrentDataMapper.getNewData(devSn))); + TowerCurrentData newData = redisRepository.getOrSet("towerCurrentData" + tower.getProjectSn() + tower.getDevSn(), (() -> towerCurrentDataMapper.getNewData(devSn)), 3600 * 24L); log.info("getRelatedInfo塔吊实时数据信息:{}", newData); List driverList = tower.getDriverList().stream().map(driver -> { DriverVO driverVO = new DriverVO(); diff --git a/src/main/java/com/zhgd/xmgl/modules/checking/entity/CheckingPointInfo.java b/src/main/java/com/zhgd/xmgl/modules/checking/entity/CheckingPointInfo.java index 3c18ee851..96ca3afba 100644 --- a/src/main/java/com/zhgd/xmgl/modules/checking/entity/CheckingPointInfo.java +++ b/src/main/java/com/zhgd/xmgl/modules/checking/entity/CheckingPointInfo.java @@ -164,4 +164,7 @@ public class CheckingPointInfo implements Serializable { @ApiModelProperty("通知人名称") @TableField(exist = false) private String noticeUserNames; + @TableField(exist = false) + @ApiModelProperty(value = "操作人") + private java.lang.String operateName; } diff --git a/src/main/java/com/zhgd/xmgl/modules/checking/mapper/xml/CheckingPointInfoMapper.xml b/src/main/java/com/zhgd/xmgl/modules/checking/mapper/xml/CheckingPointInfoMapper.xml index d2e0a1ec6..a67dd91bb 100644 --- a/src/main/java/com/zhgd/xmgl/modules/checking/mapper/xml/CheckingPointInfoMapper.xml +++ b/src/main/java/com/zhgd/xmgl/modules/checking/mapper/xml/CheckingPointInfoMapper.xml @@ -8,10 +8,12 @@ su.real_name checkingPointUserName, (SELECT group_concat(nu.real_name) FROM system_user nu - WHERE find_in_set(nu.user_id, cp.notice_user_ids)) noticeUserNames + WHERE find_in_set(nu.user_id, cp.notice_user_ids)) noticeUserNames, + uo.real_name operate_name from checking_point_info cpi inner join checking_point cp on cpi.checking_point_id = cp.id inner join system_user su on cpi.checking_point_user_id = su.user_id + inner join system_user uo on cpi.operate_id = uo.user_id where cp.project_sn = #{dto.projectSn} and (cp.checking_point_name like concat('%', #{dto.queryStr}, '%') diff --git a/src/main/java/com/zhgd/xmgl/modules/checking/service/impl/CheckingPointInfoServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/checking/service/impl/CheckingPointInfoServiceImpl.java index 6cf29accb..dc707573a 100644 --- a/src/main/java/com/zhgd/xmgl/modules/checking/service/impl/CheckingPointInfoServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/checking/service/impl/CheckingPointInfoServiceImpl.java @@ -83,7 +83,7 @@ public class CheckingPointInfoServiceImpl extends ServiceImpl userIds = StrUtil.split(checkingPoint.getNoticeUserIds(), ","); + List userIds = StrUtil.split(checkingPoint.getInspectUserIds(), ","); for (String userId : userIds) { SystemUser systemUser = systemUserMapper.selectById(userId); noticeService.addUserNotice(Long.valueOf(userId), @@ -104,7 +104,7 @@ public class CheckingPointInfoServiceImpl extends ServiceImpl userIds = StrUtil.split(checkingPoint.getNoticeUserIds(), ","); + List userIds = StrUtil.split(checkingPoint.getInspectUserIds(), ","); for (String userId : userIds) { SystemUser systemUser = systemUserMapper.selectById(userId); noticeService.addUserNotice(Long.valueOf(userId), @@ -122,7 +122,7 @@ public class CheckingPointInfoServiceImpl extends ServiceImpl userIds = StrUtil.split(checkingPoint.getNoticeUserIds(), ","); + List userIds = StrUtil.split(checkingPoint.getInspectUserIds(), ","); for (String userId : userIds) { SystemUser systemUser = systemUserMapper.selectById(userId); noticeService.addUserNotice(Long.valueOf(userId), diff --git a/src/main/java/com/zhgd/xmgl/modules/checking/service/impl/CheckingPointServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/checking/service/impl/CheckingPointServiceImpl.java index f829429f9..a6d90c4f9 100644 --- a/src/main/java/com/zhgd/xmgl/modules/checking/service/impl/CheckingPointServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/checking/service/impl/CheckingPointServiceImpl.java @@ -21,12 +21,14 @@ import com.zhgd.xmgl.modules.checking.service.CheckingPointService; import com.zhgd.xmgl.util.DateUtil; import com.zhgd.xmgl.util.RegionUtil; import lombok.extern.slf4j.Slf4j; +import org.jetbrains.annotations.NotNull; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import java.util.List; import java.util.UUID; +import java.util.stream.Collectors; /** * @author 邱平毅 @@ -83,15 +85,24 @@ public class CheckingPointServiceImpl extends ServiceImpl userIds = StrUtil.split(checkingPoint.getNoticeUserIds(), ","); + List userIds = getNoticeUserIds(checkingPoint); for (String userId : userIds) { noticeService.addUserNotice(Long.valueOf(userId), - String.format("新增巡检点,巡检点名称为%s,巡检位置为%s,巡检创建时间为%s,请注意。", checkingPoint.getCheckingPointName(), checkingPoint.getPosition(), DateUtil.formatDateTime(checkingPoint.getCreateDate())), + String.format("新增巡检点,巡检点名称为%s,巡检位置为%s,巡检创建时间为%s,请注意。", checkingPoint.getCheckingPointName(), checkingPoint.getPosition(), DateUtil.formatDateTime(cp.getCreateDate())), "巡检点新增", "19"); } } + private List getNoticeUserIds(CheckingPoint checkingPoint) { + List userIds = StrUtil.split(checkingPoint.getNoticeUserIds(), ","); + List inspectUserIds = StrUtil.split(checkingPoint.getInspectUserIds(), ","); + userIds.addAll(inspectUserIds); + userIds = userIds.stream().distinct().collect(Collectors.toList()); + return userIds; + } + @Override public void edit(CheckingPoint checkingPoint) { @@ -108,7 +119,7 @@ public class CheckingPointServiceImpl extends ServiceImpl userIds = StrUtil.split(checkingPoint.getNoticeUserIds(), ","); + List userIds = getNoticeUserIds(checkingPoint); for (String userId : userIds) { noticeService.addUserNotice(Long.valueOf(userId), String.format("修改巡检点,巡检点名称为%s,巡检位置为%s,巡检创建时间为%s,请注意。", checkingPoint.getCheckingPointName(), checkingPoint.getPosition(), DateUtil.formatDateTime(checkingPoint.getCreateDate())), @@ -122,7 +133,7 @@ public class CheckingPointServiceImpl extends ServiceImpl().eq(CheckingPointInfo::getCheckingPointId, id)); removeById(id); //通知 - List userIds = StrUtil.split(checkingPoint.getNoticeUserIds(), ","); + List userIds = getNoticeUserIds(checkingPoint); for (String userId : userIds) { noticeService.addUserNotice(Long.valueOf(userId), String.format("删除巡检点,巡检点名称为%s,巡检位置为%s,巡检创建时间为%s,请注意。", checkingPoint.getCheckingPointName(), checkingPoint.getPosition(), DateUtil.formatDateTime(checkingPoint.getCreateDate())),