|
|
@@ -8,6 +8,7 @@ import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
|
|
import com.kym.common.utils.CommUtil;
|
|
|
import com.kym.common.utils.IDGenerator;
|
|
|
import com.kym.entity.admin.Station;
|
|
|
+import com.kym.entity.admin.StationWhitelist;
|
|
|
import com.kym.entity.admin.StationWhitelistConfig;
|
|
|
import com.kym.entity.admin.vo.StationWhitelistConfigVo;
|
|
|
import com.kym.entity.common.RedisKeys;
|
|
|
@@ -15,6 +16,7 @@ import com.kym.mapper.admin.StationWhitelistConfigMapper;
|
|
|
import com.kym.service.admin.StationService;
|
|
|
import com.kym.service.admin.StationWhitelistConfigService;
|
|
|
import com.kym.service.admin.StationWhitelistLogService;
|
|
|
+import com.kym.service.admin.StationWhitelistService;
|
|
|
import jakarta.annotation.PostConstruct;
|
|
|
import org.springframework.data.redis.core.StringRedisTemplate;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
@@ -31,15 +33,18 @@ public class StationWhitelistConfigServiceImpl extends MPJBaseServiceImpl<Statio
|
|
|
private final IDGenerator idGenerator = new IDGenerator();
|
|
|
private final StationWhitelistConfigMapper stationWhitelistConfigMapper;
|
|
|
private final StationService stationService;
|
|
|
+ private final StationWhitelistService stationWhitelistService;
|
|
|
private final StationWhitelistLogService stationWhitelistLogService;
|
|
|
private final StringRedisTemplate redisTemplate;
|
|
|
|
|
|
public StationWhitelistConfigServiceImpl(StationWhitelistConfigMapper stationWhitelistConfigMapper,
|
|
|
StationService stationService,
|
|
|
+ StationWhitelistService stationWhitelistService,
|
|
|
StationWhitelistLogService stationWhitelistLogService,
|
|
|
StringRedisTemplate redisTemplate) {
|
|
|
this.stationWhitelistConfigMapper = stationWhitelistConfigMapper;
|
|
|
this.stationService = stationService;
|
|
|
+ this.stationWhitelistService = stationWhitelistService;
|
|
|
this.stationWhitelistLogService = stationWhitelistLogService;
|
|
|
this.redisTemplate = redisTemplate;
|
|
|
}
|
|
|
@@ -102,6 +107,29 @@ public class StationWhitelistConfigServiceImpl extends MPJBaseServiceImpl<Statio
|
|
|
stationWhitelistLogService.logConfigChange(stationId, station.getStationName(), enabled, operatorId, operatorName);
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public void deleteConfig(String stationId) {
|
|
|
+ CommUtil.assertsNonNull(stationId, "站点ID不能为空");
|
|
|
+
|
|
|
+ lambdaUpdate().eq(StationWhitelistConfig::getStationId, stationId).remove();
|
|
|
+
|
|
|
+ // 删除该站点的所有白名单用户
|
|
|
+ stationWhitelistService.lambdaUpdate()
|
|
|
+ .eq(StationWhitelist::getStationId, stationId)
|
|
|
+ .remove();
|
|
|
+
|
|
|
+ String key = RedisKeys.STATION_WHITELIST_CONFIG + stationId;
|
|
|
+ redisTemplate.delete(key);
|
|
|
+
|
|
|
+ // 清除白名单用户缓存
|
|
|
+ stationWhitelistService.refreshCache(stationId);
|
|
|
+
|
|
|
+ Long operatorId = StpUtil.getLoginIdAsLong();
|
|
|
+ String operatorName = StpUtil.getSession().getString("mobilePhone");
|
|
|
+ // 这里可以记录日志,如果需要的话
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public boolean isWhitelistEnabled(String stationId) {
|
|
|
String key = RedisKeys.STATION_WHITELIST_CONFIG + stationId;
|