From 4470052c3b6bdeb18e45987f8aa293d1e93d0552 Mon Sep 17 00:00:00 2001
From: Ludc <2870569285@qq.com>
Date: 星期二, 18 十一月 2025 11:59:12 +0800
Subject: [PATCH] 所有文件上传接口增加文件安全校验逻辑。
---
Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/StrategyServiceImpl.java | 34 ++++++++++++++++++----------------
1 files changed, 18 insertions(+), 16 deletions(-)
diff --git a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/StrategyServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/StrategyServiceImpl.java
index 906f470..11799d0 100644
--- a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/StrategyServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/StrategyServiceImpl.java
@@ -5,7 +5,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.vci.ubcs.common.constant.CommonConstant;
-import com.vci.ubcs.common.cache.NacosConfigCache;
+import com.vci.ubcs.system.cache.NacosConfigCache;
import com.vci.ubcs.system.entity.Strategy;
import com.vci.ubcs.system.mapper.StrategyMapper;
import com.vci.ubcs.system.service.IStrategyService;
@@ -43,12 +43,6 @@
private IUserClient userClient;
/**
- * nacos涓婃媺鍙栫殑閰嶇疆
- */
- @Resource
- private NacosConfigCache nacosConfigCache;
-
- /**
* 閫氳繃ID鏌ヨ鍗曟潯鏁版嵁
*
* @param id 涓婚敭
@@ -67,7 +61,7 @@
public Strategy queryByIsDefault() {
return this.strategyMapper.queryByIsDefault(AuthUtil.getTenantId()
.equals(
- nacosConfigCache
+ NacosConfigCache
.getAdminUserInfo()
.getTenantId()
) ? null:AuthUtil.getTenantId()
@@ -88,7 +82,7 @@
strategyPage,
AuthUtil.getTenantId()
.equals(
- nacosConfigCache
+ NacosConfigCache
.getAdminUserInfo()
.getTenantId()
)
@@ -108,7 +102,7 @@
public boolean submit(Strategy strategy) {
//鑰佺殑榛樿瀵嗙爜绛栫暐
Long oldIsDefaultStrategy = null;
- //鍒ゆ柇鏄惁鎼哄甫id
+ //鍒ゆ柇鏄惁鎼哄甫id锛屼笉鎼哄甫id涓烘柊澧炴搷浣�
if(Func.isEmpty(strategy.getId())){
//鎵ц鏂板
Strategy dbstrategy = this.getOne(Wrappers.<Strategy>query().lambda()
@@ -138,20 +132,25 @@
//妫�楠屽瘑鐮佺瓥鐣ユ槸鍚︾鍚堣姹�
checkPwdStrategy(strategy);
//濡傛灉褰撳墠淇敼璁剧疆涓洪粯璁ゅ瘑鐮佺瓥鐣ワ紝闇�瑕佸皢宸插瓨鍦ㄩ粯璁ゅ瘑鐮佺瓥鐣ヤ慨鏀逛负闈為粯璁�
- if(strategy.getIsDefault().equals("1") || strategy.getIsDefault() == 1){
+ if((strategy.getIsDefault().toString()).equals("1")){
//鏌ヨ鑰佺殑榛樿瀵嗙爜绛栫暐锛屼究浜庝笅闈慨鏀�
- oldIsDefaultStrategy = this.queryByIsDefault().getId();
- this.update(Wrappers.<Strategy>update().lambda()
- .set(Strategy::getIsDefault,CommonConstant.NOT_DEFAULT)
- .eq(Strategy::getIsDefault,CommonConstant.IS_DEFAULT));
+ Strategy strategyDefault = this.queryByIsDefault();
+ // 鍦ㄦ暟鎹笉鍑虹幇闂鐨勬儏鍐典笅涓嶄細鍑虹幇strategyDefault涓虹┖鐨勬儏鍐�
+ if(Func.isNotEmpty(strategyDefault)){
+ oldIsDefaultStrategy = strategyDefault.getId();
+ this.update(Wrappers.<Strategy>update().lambda()
+ .set(Strategy::getIsDefault,CommonConstant.NOT_DEFAULT)
+ .eq(Strategy::getIsDefault,CommonConstant.IS_DEFAULT));
+ }
}else {
+ // 閬垮厤鐢ㄦ埛灏嗗敮涓�鐨勯粯璁ゅ瘑鐮佺瓥鐣ユ敼涓洪潪榛樿
if(Func.isEmpty(queryByIsDefault())){
throw new ServiceException("榛樿瀵嗙爜绛栫暐蹇呴』鏈変笖浠呮湁涓�鏉�!");
}
}
strategy.setUpdateTime(new Date());
CacheUtil.clear(SYS_CACHE, Boolean.FALSE);
- boolean temp1 = super.saveOrUpdate(strategy);
+ boolean temp1 = this.update(strategy,Wrappers.<Strategy>update().lambda().eq(Strategy::getId,strategy.getId()));
boolean temp2 = false;
if(Func.isNotEmpty(oldIsDefaultStrategy)){
temp2 = updateUserStrategyDefault(temp1, oldIsDefaultStrategy);
@@ -192,6 +191,9 @@
if(Func.isNotEmpty(strategy.getRequiredType()) && (strategy.getMinPwdLen() < strategy.getRequiredType() || strategy.getMaxPwdLen() < strategy.getRequiredType())){
throw new ServiceException("瀵嗙爜鏈�灏忛暱搴︿笉鑳藉皬浜庡繀濉绫荤殑鍊�!");
}
+ if(strategy.getExpirationTime() <= strategy.getReminderTime()){
+ throw new ServiceException("杩囨湡鏃堕棿涓嶈兘灏忎簬鎻愰啋鏃堕棿!");
+ }
//鍒ゆ柇鍓嶇鏄惁鏈彁浜わ紝鏄惁榛樿瀛楁
if(Func.isEmpty(strategy.getIsDefault())){
strategy.setIsDefault(0L);
--
Gitblit v1.9.3