From b9e9e4acf8b27dca8b4bd316295c8563b73f2db3 Mon Sep 17 00:00:00 2001
From: yuxc <653031404@qq.com>
Date: 星期二, 28 三月 2023 18:26:25 +0800
Subject: [PATCH] omd微服务的配置
---
Source/BladeX/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/StrategyServiceImpl.java | 91 +++++++++++++++++++++++++++++++++++++++++----
1 files changed, 82 insertions(+), 9 deletions(-)
diff --git a/Source/BladeX/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/StrategyServiceImpl.java b/Source/BladeX/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/StrategyServiceImpl.java
index 729f287..15a6b43 100644
--- a/Source/BladeX/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/StrategyServiceImpl.java
+++ b/Source/BladeX/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/StrategyServiceImpl.java
@@ -1,16 +1,17 @@
package org.springblade.system.service.impl;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.common.constant.CommonConstant;
import org.springblade.core.cache.utils.CacheUtil;
import org.springblade.core.log.exception.ServiceException;
+import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.utils.Func;
import org.springblade.system.entity.Strategy;
import org.springblade.system.mapper.StrategyMapper;
import org.springblade.system.service.IStrategyService;
-import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageImpl;
-import org.springframework.data.domain.PageRequest;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@@ -39,20 +40,28 @@
*/
@Override
public Strategy queryById(String id) {
- return this.strategyMapper.queryById(id);
+ return this.getById(id);
+ }
+
+ /**
+ * 鏌ヨ榛樿瀵嗙爜绛栫暐
+ * @return
+ */
+ @Override
+ public Strategy queryByIsDefault() {
+ return this.strategyMapper.queryByIsDefault();
}
/**
* 鍒嗛〉鏌ヨ
*
- * @param strategy 绛涢�夋潯浠�
- * @param pageRequest 鍒嗛〉瀵硅薄
+ * @param query 鍒嗛〉瀵硅薄
* @return 鏌ヨ缁撴灉
*/
@Override
- public Page<Strategy> queryAllByPage(Strategy strategy, PageRequest pageRequest) {
- long total = this.strategyMapper.count(strategy);
- return new PageImpl<>(this.strategyMapper.queryAllByPage(strategy, pageRequest), pageRequest, total);
+ public PageImpl<Strategy> queryAllByPage(Query query) {
+ Page<Strategy> strategyPage = new Page<>(query.getCurrent(), query.getSize());
+ return new PageImpl<>(this.strategyMapper.queryAllByPage(strategyPage));
}
/**
@@ -65,12 +74,30 @@
public boolean submit(Strategy strategy) {
//鍒ゆ柇鏄惁鎼哄甫id
if(Func.isEmpty(strategy.getId())){
- //鏂板
+ //鎵ц鏂板
Strategy dbstrategy = this.getOne(Wrappers.<Strategy>query().lambda()
.eq(Strategy::getStrategyName, strategy.getStrategyName()));
//濡傛灉鏁版嵁搴撲腑瀛樺湪杩欐潯缁勫悎鍚嶇О鐨勮褰曠洿鎺ヨ繑鍥�
if(!Func.isEmpty(dbstrategy)){
throw new ServiceException("璇ュ瘑鐮佺瓥鐣ュ凡瀛樺湪!");
+ }
+ //濡傛灉褰撳墠鏂板璁剧疆涓洪粯璁ゅ瘑鐮佺瓥鐣ワ紝闇�瑕佸皢宸插瓨鍦ㄩ粯璁ゅ瘑鐮佺瓥鐣ヤ慨鏀逛负闈為粯璁�
+ if(strategy.getIsDefault().equals("1") || strategy.getIsDefault() == 1){
+ this.update(Wrappers.<Strategy>update().lambda()
+ .set(Strategy::getIsDefault, CommonConstant.NOT_SEALED_ID)
+ .eq(Strategy::getIsDefault, CommonConstant.DATA_SCOPE_CATEGORY));
+ }
+ if(strategy.getRequiredType() > 0){
+ throw new ServiceException("蹇呭~绉嶇被涓嶈兘灏忎簬绛変簬0!");
+ }
+ if(strategy.getRequiredType() > strategy.getCombinationIds().split(",").length){
+ throw new ServiceException("蹇呭~绉嶇被涓嶈兘澶т簬鎵�閫夋嫨鐨勫瘑鐮佺粍鍚堟柟寮忕殑涓暟!");
+ }
+ if(strategy.getMaxPwdLen() > strategy.getMinPwdLen()){
+ throw new ServiceException("瀵嗙爜鏈�澶ч暱搴︿笉鑳藉皬浜庢渶灏忛暱搴�!");
+ }
+ if(strategy.getMinPwdLen() < strategy.getCombinationIds().split(",").length || strategy.getMaxPwdLen() < strategy.getCombinationIds().split(",").length){
+ throw new ServiceException("瀵嗙爜鏈�灏忛暱搴︿笉鑳藉皬浜庣瀵嗙瓥鐣ョ殑鍊�!");
}
if(Func.isEmpty(strategy.getCreateTime())){
strategy.setCreateTime(new Date());
@@ -81,6 +108,16 @@
boolean temp = super.saveOrUpdate(strategy);
return temp;
}else {
+ //濡傛灉褰撳墠淇敼璁剧疆涓洪粯璁ゅ瘑鐮佺瓥鐣ワ紝闇�瑕佸皢宸插瓨鍦ㄩ粯璁ゅ瘑鐮佺瓥鐣ヤ慨鏀逛负闈為粯璁�
+ if(strategy.getIsDefault().equals("1") || strategy.getIsDefault() == 1){
+ this.update(Wrappers.<Strategy>update().lambda()
+ .set(Strategy::getIsDefault,CommonConstant.NOT_SEALED_ID)
+ .eq(Strategy::getIsDefault,CommonConstant.DATA_SCOPE_CATEGORY));
+ }else {
+ if(Func.isEmpty(queryByIsDefault())){
+ throw new ServiceException("榛樿瀵嗙爜绛栫暐蹇呴』鏈変笖浠呮湁涓�鏉�!");
+ }
+ }
if(Func.isEmpty(strategy.getUpdateTime())){
strategy.setUpdateTime(new Date());
}
@@ -97,8 +134,44 @@
*/
@Override
public boolean deleteByIds(List<String> ids) {
+ Strategy strategy = this.getOne(Wrappers.<Strategy>query().lambda()
+ .in(Strategy::getId,ids)
+ .eq(Strategy::getIsDefault, CommonConstant.DATA_SCOPE_CATEGORY));
+ //濡傛灉瀛樺湪榛樿绛栫暐鐨刬d锛屽氨涓嶈兘鐩存帴鍒犻櫎缁欏嚭鎻愮ず
+ if(!Func.isEmpty(strategy)){
+ throw new ServiceException("涓嶈兘鍒犻櫎榛樿瀵嗙爜绛栫暐!");
+ }
boolean tenantTemp = this.removeBatchByIds(ids);
return tenantTemp;
}
+ /**
+ * 閫氳繃绉熸埛id浠ュ強鐢ㄦ埛鍚嶆煡璇㈠瘑鐮佺瓥鐣�
+ * @param tenantId
+ * @param name
+ * @return
+ */
+ @Override
+ public Strategy queryByNameAndTenantId(String tenantId, String name) {
+ Strategy strategy = this.strategyMapper.queryByNameAndTenantId(tenantId,name);
+ if(!Func.isEmpty(strategy)){
+ return strategy;
+ }
+ return queryByIsDefault();
+ }
+
+ /**
+ * 鏍规嵁鐢ㄦ埛id鏌ヨ瀵嗙爜绛栫暐
+ * @param userId
+ * @return
+ */
+ @Override
+ public Strategy queryByUserId(Long userId) {
+ Strategy strategy = this.strategyMapper.queryByUserId(userId);
+ if(!Func.isEmpty(strategy)){
+ return strategy;
+ }
+ return queryByIsDefault();
+ }
+
}
--
Gitblit v1.9.3