diff --git a/pigx-common/pigx-common-data/src/main/java/com/pig4cloud/pigx/common/data/enums/DataScopeTypeEnum.java b/pigx-common/pigx-common-data/src/main/java/com/pig4cloud/pigx/common/data/datascope/DataScopeTypeEnum.java similarity index 96% rename from pigx-common/pigx-common-data/src/main/java/com/pig4cloud/pigx/common/data/enums/DataScopeTypeEnum.java rename to pigx-common/pigx-common-data/src/main/java/com/pig4cloud/pigx/common/data/datascope/DataScopeTypeEnum.java index 9e243af25..a65ee61e7 100644 --- a/pigx-common/pigx-common-data/src/main/java/com/pig4cloud/pigx/common/data/enums/DataScopeTypeEnum.java +++ b/pigx-common/pigx-common-data/src/main/java/com/pig4cloud/pigx/common/data/datascope/DataScopeTypeEnum.java @@ -15,7 +15,7 @@ * Author: lengleng (wangiegie@gmail.com) */ -package com.pig4cloud.pigx.common.data.enums; +package com.pig4cloud.pigx.common.data.datascope; import lombok.AllArgsConstructor; import lombok.Getter; diff --git a/pigx-common/pigx-common-data/src/main/java/com/pig4cloud/pigx/common/data/datascope/PigxDefaultDatascopeHandle.java b/pigx-common/pigx-common-data/src/main/java/com/pig4cloud/pigx/common/data/datascope/PigxDefaultDatascopeHandle.java index 2a1191256..47f4e7013 100644 --- a/pigx-common/pigx-common-data/src/main/java/com/pig4cloud/pigx/common/data/datascope/PigxDefaultDatascopeHandle.java +++ b/pigx-common/pigx-common-data/src/main/java/com/pig4cloud/pigx/common/data/datascope/PigxDefaultDatascopeHandle.java @@ -22,7 +22,6 @@ import com.pig4cloud.pigx.admin.api.entity.SysDeptRelation; import com.pig4cloud.pigx.admin.api.entity.SysRole; import com.pig4cloud.pigx.admin.api.feign.RemoteDataScopeService; import com.pig4cloud.pigx.common.core.constant.SecurityConstants; -import com.pig4cloud.pigx.common.data.enums.DataScopeTypeEnum; import com.pig4cloud.pigx.common.security.service.PigxUser; import com.pig4cloud.pigx.common.security.util.SecurityUtils; import org.springframework.beans.factory.annotation.Autowired; diff --git a/pigx-common/pigx-common-data/src/main/java/com/pig4cloud/pigx/common/data/resolver/ParamResolver.java b/pigx-common/pigx-common-data/src/main/java/com/pig4cloud/pigx/common/data/resolver/ParamResolver.java new file mode 100644 index 000000000..36c2927f4 --- /dev/null +++ b/pigx-common/pigx-common-data/src/main/java/com/pig4cloud/pigx/common/data/resolver/ParamResolver.java @@ -0,0 +1,61 @@ +package com.pig4cloud.pigx.common.data.resolver; + +import cn.hutool.core.util.StrUtil; +import com.pig4cloud.pigx.admin.api.feign.RemoteParamService; +import com.pig4cloud.pigx.common.core.constant.SecurityConstants; +import com.pig4cloud.pigx.common.core.util.SpringContextHolder; +import lombok.experimental.UtilityClass; + +/** + * @author lengleng + * @date 2020/5/12 + *

+ * 系统参数配置解析器 + */ +@UtilityClass +public class ParamResolver { + + /** + * 根据key 查询value 配置 + * + * @param key key + * @param defaultVal 默认值 + * @return value + */ + public Integer getInt(String key, Integer... defaultVal) { + return checkAndGet(key, defaultVal); + } + + + /** + * 根据key 查询value 配置 + * + * @param key key + * @param defaultVal 默认值 + * @return value + */ + public String getStr(String key, String... defaultVal) { + return checkAndGet(key, defaultVal); + } + + + private T checkAndGet(String key, Object... defaultVal) { + // 校验入参是否合法 + if (StrUtil.isBlank(key) || defaultVal.length > 1) { + throw new IllegalArgumentException("参数不合法"); + } + + RemoteParamService remoteParamService = SpringContextHolder.getBean(RemoteParamService.class); + + String result = remoteParamService.getByKey(key, SecurityConstants.FROM_IN).getData(); + + if (StrUtil.isNotBlank(result)) { + return (T) result; + } + + if (defaultVal != null) { + return (T) defaultVal.clone()[0]; + } + return null; + } +} diff --git a/pigx-upms/pigx-upms-api/src/main/java/com/pig4cloud/pigx/admin/api/feign/RemoteParamService.java b/pigx-upms/pigx-upms-api/src/main/java/com/pig4cloud/pigx/admin/api/feign/RemoteParamService.java new file mode 100644 index 000000000..6f9a6f211 --- /dev/null +++ b/pigx-upms/pigx-upms-api/src/main/java/com/pig4cloud/pigx/admin/api/feign/RemoteParamService.java @@ -0,0 +1,29 @@ +package com.pig4cloud.pigx.admin.api.feign; + +import com.pig4cloud.pigx.common.core.constant.SecurityConstants; +import com.pig4cloud.pigx.common.core.constant.ServiceNameConstants; +import com.pig4cloud.pigx.common.core.util.R; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestHeader; + +/** + * @author lengleng + * @date 2020/5/12 + *

+ * 查询参数相关 + */ +@FeignClient(contextId = "remoteParamService", value = ServiceNameConstants.UPMS_SERVICE) +public interface RemoteParamService { + + /** + * 通过key 查询参数配置 + * + * @param key key + * @param from 声明成内部调用,避免MQ 等无法调用 + * @return + */ + @GetMapping("/param/publicValue/{key}") + R getByKey(@PathVariable("key") String key, @RequestHeader(SecurityConstants.FROM) String from); +} diff --git a/pigx-upms/pigx-upms-api/src/main/resources/META-INF/spring.factories b/pigx-upms/pigx-upms-api/src/main/resources/META-INF/spring.factories index 7f1ffd042..6822beadc 100755 --- a/pigx-upms/pigx-upms-api/src/main/resources/META-INF/spring.factories +++ b/pigx-upms/pigx-upms-api/src/main/resources/META-INF/spring.factories @@ -2,6 +2,7 @@ com.pig4cloud.pigx.common.feign.PigxFeignAutoConfiguration=\ com.pig4cloud.pigx.admin.api.feign.RemoteDataScopeService,\ com.pig4cloud.pigx.admin.api.feign.RemoteLogService,\ + com.pig4cloud.pigx.admin.api.feign.RemoteParamService,\ com.pig4cloud.pigx.admin.api.feign.RemoteTenantService,\ com.pig4cloud.pigx.admin.api.feign.RemoteTokenService,\ com.pig4cloud.pigx.admin.api.feign.RemoteUserService \ No newline at end of file diff --git a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysTenantServiceImpl.java b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysTenantServiceImpl.java index 4abaff3a2..1be5877fe 100755 --- a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysTenantServiceImpl.java +++ b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysTenantServiceImpl.java @@ -26,12 +26,9 @@ import com.pig4cloud.pigx.admin.mapper.SysTenantMapper; import com.pig4cloud.pigx.admin.service.*; import com.pig4cloud.pigx.common.core.constant.CacheConstants; import com.pig4cloud.pigx.common.core.constant.CommonConstants; -import com.pig4cloud.pigx.common.core.exception.CheckedException; +import com.pig4cloud.pigx.common.data.resolver.ParamResolver; import com.pig4cloud.pigx.common.data.tenant.TenantContextHolder; import lombok.AllArgsConstructor; -import org.apache.commons.configuration.Configuration; -import org.apache.commons.configuration.ConfigurationException; -import org.apache.commons.configuration.PropertiesConfiguration; import org.springframework.beans.BeanUtils; import org.springframework.cache.annotation.CacheEvict; import org.springframework.cache.annotation.Cacheable; @@ -59,6 +56,7 @@ public class SysTenantServiceImpl extends ServiceImpl dictList = new ArrayList<>(dictService.list()); // 查询系统内置字典项目 List dictIdList = dictList.stream().map(SysDict::getId) @@ -116,27 +123,28 @@ public class SysTenantServiceImpl extends ServiceImpl menuList = menuService.list(); // 查询客户端配置 List clientDetailsList = clientServices.list(); + // 查询系统参数配置 + List publicParamList = paramService.list(); // 保证插入租户为新的租户 TenantContextHolder.setTenantId(sysTenant.getId()); - Configuration config = getConfig(); // 插入部门 SysDept dept = new SysDept(); - dept.setName(config.getString("defaultDeptName")); + dept.setName(defaultDeptName); dept.setParentId(0); deptService.save(dept); //维护部门关系 deptRelationService.insertDeptRelation(dept); // 构造初始化用户 SysUser user = new SysUser(); - user.setUsername(config.getString("defaultUsername")); - user.setPassword(ENCODER.encode(config.getString("defaultPassword"))); + user.setUsername(defaultUsername); + user.setPassword(ENCODER.encode(defaultPassword)); user.setDeptId(dept.getDeptId()); userService.save(user); // 构造新角色 SysRole role = new SysRole(); - role.setRoleCode(config.getString("defaultRoleCode")); - role.setRoleName(config.getString("defaultRoleName")); + role.setRoleCode(defaultRoleCode); + role.setRoleName(defaultRoleName); roleService.save(role); // 用户角色关系 SysUserRole userRole = new SysUserRole(); @@ -166,6 +174,8 @@ public class SysTenantServiceImpl extends ServiceImpl