diff --git a/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/AssetAuthInfo.java b/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/AssetAuthInfo.java new file mode 100644 index 0000000..23baaf5 --- /dev/null +++ b/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/AssetAuthInfo.java @@ -0,0 +1,97 @@ +package com.muyu.data.source.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.AllArgsConstructor; +import lombok.experimental.SuperBuilder; +import io.swagger.annotations.*; +import com.muyu.common.core.annotation.Excel; +import com.muyu.data.source.domain.req.AssetAuthInfoQueryReq; +import com.muyu.data.source.domain.req.AssetAuthInfoSaveReq; +import com.muyu.data.source.domain.req.AssetAuthInfoEditReq; +import com.muyu.common.core.web.domain.BaseEntity; + +/** + * 资产授权对象 asset_auth_info + * + * @author hufangming + * @date 2024-04-29 + */ +@Data +@SuperBuilder +@NoArgsConstructor +@AllArgsConstructor +@TableName("asset_auth_info") +@EqualsAndHashCode(callSuper = true) +@ApiModel(value = "AssetAuthInfo", description = "资产授权") +public class AssetAuthInfo extends BaseEntity { + + private static final long serialVersionUID = 1L; + + /** 主键 */ + @TableId(value = "id",type = IdType.AUTO) + @ApiModelProperty(name = "主键", value = "主键") + private Long id; + + /** 授权id */ + @Excel(name = "授权id") + @ApiModelProperty(name = "授权id", value = "授权id") + private Long authId; + + /** id类型 */ + @Excel(name = "id类型") + @ApiModelProperty(name = "id类型", value = "id类型") + private String idType; + + /** 授权数据 */ + @Excel(name = "授权数据") + @ApiModelProperty(name = "授权数据", value = "授权数据") + private String authData; + + /** 授权类型 */ + @Excel(name = "授权类型") + @ApiModelProperty(name = "授权类型", value = "授权类型") + private String authType; + + /** + * 查询构造器 + */ + public static AssetAuthInfo queryBuild( AssetAuthInfoQueryReq assetAuthInfoQueryReq){ + return AssetAuthInfo.builder() + .authId(assetAuthInfoQueryReq.getAuthId()) + .idType(assetAuthInfoQueryReq.getIdType()) + .authData(assetAuthInfoQueryReq.getAuthData()) + .authType(assetAuthInfoQueryReq.getAuthType()) + .build(); + } + + /** + * 添加构造器 + */ + public static AssetAuthInfo saveBuild(AssetAuthInfoSaveReq assetAuthInfoSaveReq){ + return AssetAuthInfo.builder() + .authId(assetAuthInfoSaveReq.getAuthId()) + .idType(assetAuthInfoSaveReq.getIdType()) + .authData(assetAuthInfoSaveReq.getAuthData()) + .authType(assetAuthInfoSaveReq.getAuthType()) + .build(); + } + + /** + * 修改构造器 + */ + public static AssetAuthInfo editBuild(Long id, AssetAuthInfoEditReq assetAuthInfoEditReq){ + return AssetAuthInfo.builder() + .id(id) + .authId(assetAuthInfoEditReq.getAuthId()) + .idType(assetAuthInfoEditReq.getIdType()) + .authData(assetAuthInfoEditReq.getAuthData()) + .authType(assetAuthInfoEditReq.getAuthType()) + .build(); + } + +} diff --git a/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/req/AssetAuthInfoEditReq.java b/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/req/AssetAuthInfoEditReq.java new file mode 100644 index 0000000..bd456c3 --- /dev/null +++ b/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/req/AssetAuthInfoEditReq.java @@ -0,0 +1,42 @@ +package com.muyu.data.source.domain.req; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.AllArgsConstructor; +import lombok.experimental.SuperBuilder; +import io.swagger.annotations.*; +import com.muyu.common.core.web.domain.BaseEntity; + +/** + * 资产授权对象 asset_auth_info + * + * @author hufangming + * @date 2024-04-29 + */ +@Data +@SuperBuilder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel(value = "AssetAuthInfoEditReq", description = "资产授权") +public class AssetAuthInfoEditReq extends BaseEntity { + + private static final long serialVersionUID = 1L; + + /** 授权id */ + @ApiModelProperty(name = "授权id", value = "授权id") + private Long authId; + + /** id类型 */ + @ApiModelProperty(name = "id类型", value = "id类型") + private String idType; + + /** 授权数据 */ + @ApiModelProperty(name = "授权数据", value = "授权数据") + private String authData; + + /** 授权类型 */ + @ApiModelProperty(name = "授权类型", value = "授权类型") + private String authType; + +} diff --git a/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/req/AssetAuthInfoQueryReq.java b/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/req/AssetAuthInfoQueryReq.java new file mode 100644 index 0000000..5546473 --- /dev/null +++ b/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/req/AssetAuthInfoQueryReq.java @@ -0,0 +1,42 @@ +package com.muyu.data.source.domain.req; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.AllArgsConstructor; +import lombok.experimental.SuperBuilder; +import io.swagger.annotations.*; +import com.muyu.common.core.web.domain.BaseEntity; + +/** + * 资产授权对象 asset_auth_info + * + * @author hufangming + * @date 2024-04-29 + */ +@Data +@SuperBuilder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel(value = "AssetAuthInfoQueryReq", description = "资产授权") +public class AssetAuthInfoQueryReq extends BaseEntity { + + private static final long serialVersionUID = 1L; + + /** 授权id */ + @ApiModelProperty(name = "授权id", value = "授权id") + private Long authId; + + /** id类型 */ + @ApiModelProperty(name = "id类型", value = "id类型") + private String idType; + + /** 授权数据 */ + @ApiModelProperty(name = "授权数据", value = "授权数据") + private String authData; + + /** 授权类型 */ + @ApiModelProperty(name = "授权类型", value = "授权类型") + private String authType; + +} diff --git a/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/req/AssetAuthInfoSaveReq.java b/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/req/AssetAuthInfoSaveReq.java new file mode 100644 index 0000000..500ad71 --- /dev/null +++ b/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/req/AssetAuthInfoSaveReq.java @@ -0,0 +1,46 @@ +package com.muyu.data.source.domain.req; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.AllArgsConstructor; +import lombok.experimental.SuperBuilder; +import io.swagger.annotations.*; +import com.muyu.common.core.web.domain.BaseEntity; + +/** + * 资产授权对象 asset_auth_info + * + * @author hufangming + * @date 2024-04-29 + */ +@Data +@SuperBuilder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel(value = "AssetAuthInfoSaveReq", description = "资产授权") +public class AssetAuthInfoSaveReq extends BaseEntity { + + + + /** 授权id */ + + @ApiModelProperty(name = "授权id", value = "授权id") + private Long authId; + + /** id类型 */ + + @ApiModelProperty(name = "id类型", value = "id类型") + private String idType; + + /** 授权数据 */ + + @ApiModelProperty(name = "授权数据", value = "授权数据") + private String authData; + + /** 授权类型 */ + + @ApiModelProperty(name = "授权类型", value = "授权类型") + private String authType; + +} diff --git a/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/req/DictTypeReq.java b/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/req/DictTypeReq.java new file mode 100644 index 0000000..01552c9 --- /dev/null +++ b/muyu-modules/muyu-data-source/muyu-data-source-common/src/main/java/com/muyu/data/source/domain/req/DictTypeReq.java @@ -0,0 +1,27 @@ +package com.muyu.data.source.domain.req; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +/** + * @author HuFangMing + * @ClassName: DictTypeReq + * @createTime: 2024/5/1 16:36 + */ + +@Data +@NoArgsConstructor +@AllArgsConstructor +@SuperBuilder +public class DictTypeReq { + /** + * 数据源id + */ + private Integer assetId; + /** + * 字典类型 + */ + private String dictType; +} diff --git a/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/controller/AssetAuthInfoController.java b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/controller/AssetAuthInfoController.java new file mode 100644 index 0000000..d75b96e --- /dev/null +++ b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/controller/AssetAuthInfoController.java @@ -0,0 +1,111 @@ +package com.muyu.data.source.controller; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; + +import io.swagger.annotations.*; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.muyu.common.core.domain.Result; +import com.muyu.common.core.utils.poi.ExcelUtil; +import com.muyu.common.core.web.controller.BaseController; +import com.muyu.common.log.annotation.Log; +import com.muyu.common.log.enums.BusinessType; +import com.muyu.common.security.annotation.RequiresPermissions; +import com.muyu.data.source.domain.AssetAuthInfo; +import com.muyu.data.source.domain.req.AssetAuthInfoQueryReq; +import com.muyu.data.source.domain.req.AssetAuthInfoSaveReq; +import com.muyu.data.source.domain.req.AssetAuthInfoEditReq; +import com.muyu.data.source.service.AssetAuthInfoService; +import com.muyu.common.core.web.page.TableDataInfo; + +/** + * 资产授权Controller + * + * @author hufangming + * @date 2024-04-29 + */ +@Api(tags = "资产授权") +@RestController +@RequestMapping("/asset_auth") +public class AssetAuthInfoController extends BaseController { + @Autowired + private AssetAuthInfoService assetAuthInfoService; + + /** + * 查询资产授权列表 + */ + @ApiOperation("获取资产授权列表") + @RequiresPermissions("data:asset_auth:list") + @PostMapping("/list") + public Result> list(AssetAuthInfoQueryReq assetAuthInfoQueryReq) { + startPage(); + List list = assetAuthInfoService.list(AssetAuthInfo.queryBuild(assetAuthInfoQueryReq)); + return Result.success(list); + } + + /** + * 导出资产授权列表 + */ + @ApiOperation("导出资产授权列表") + @RequiresPermissions("data:asset_auth:export") + @Log(title = "资产授权", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, AssetAuthInfo assetAuthInfo) { + List list = assetAuthInfoService.list(assetAuthInfo); + ExcelUtil util = new ExcelUtil(AssetAuthInfo.class); + util.exportExcel(response, list, "资产授权数据"); + } + + /** + * 获取资产授权详细信息 + */ + @ApiOperation("获取资产授权详细信息") + @RequiresPermissions("data:asset_auth:query") + @GetMapping(value = "/{id}") + @ApiImplicitParam(name = "id", value = "id", required = true, dataType = "Long", paramType = "path", dataTypeClass = Long.class) + public Result getInfo(@PathVariable("id") Long id) { + return Result.success(assetAuthInfoService.getById(id)); + } + + /** + * 新增资产授权 + */ + + @Log(title = "资产授权", businessType = BusinessType.INSERT) + @PostMapping("/add") + @ApiOperation("新增资产授权") + public Result add(@RequestBody AssetAuthInfoSaveReq assetAuthInfoSaveReq) { + return toAjax(assetAuthInfoService.save(AssetAuthInfo.saveBuild(assetAuthInfoSaveReq))); + } + + /** + * 修改资产授权 + */ + @RequiresPermissions("data:asset_auth:edit") + @Log(title = "资产授权", businessType = BusinessType.UPDATE) + @PutMapping("/{id}") + @ApiOperation("修改资产授权") + public Result edit(@PathVariable Long id, @RequestBody AssetAuthInfoEditReq assetAuthInfoEditReq) { + return toAjax(assetAuthInfoService.updateById(AssetAuthInfo.editBuild(id,assetAuthInfoEditReq))); + } + + /** + * 删除资产授权 + */ + @RequiresPermissions("data:asset_auth:remove") + @Log(title = "资产授权", businessType = BusinessType.DELETE) + @DeleteMapping("/deletes/{ids}") + @ApiOperation("删除资产授权") + @ApiImplicitParam(name = "id", value = "id", required = true, dataType = "Long", paramType = "path", dataTypeClass = String.class, example = "1,2,3,4") + public Result remove(@PathVariable List ids) { + return toAjax(assetAuthInfoService.removeBatchByIds(ids)); + } +} diff --git a/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/controller/DataSourceController.java b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/controller/DataSourceController.java index 0bf5629..c207c8d 100644 --- a/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/controller/DataSourceController.java +++ b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/controller/DataSourceController.java @@ -160,16 +160,7 @@ public class DataSourceController extends BaseController { return Result.success(list); } - /** - * 获取表下的字段描述 - */ -// @RequiresPermissions("data:source:addtbledate") -// @PostMapping("/addTableData") -// public Result addTbleDate(@RequestBody ShowTableReq showTableReq){ -// -// dataSourceService.addTbleDate(showTableReq); -// return Result.success(); -// } + diff --git a/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/controller/DictTypeController.java b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/controller/DictTypeController.java index 0f85020..2f80d38 100644 --- a/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/controller/DictTypeController.java +++ b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/controller/DictTypeController.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.muyu.common.core.domain.Result; import com.muyu.data.source.domain.DictData; import com.muyu.data.source.domain.DictType; +import com.muyu.data.source.domain.req.DictTypeReq; import com.muyu.data.source.domain.resp.DictDataResp; import com.muyu.data.source.service.DictDataService; import com.muyu.data.source.service.DictTypeService; @@ -62,5 +63,10 @@ public class DictTypeController { }}); return Result.success(); } + //根据对象查询字典列表 + @PostMapping("/getDictData") + public Result> getDictData(@RequestBody DictTypeReq dictTypeReq) { + return Result.success(dictTypeService.getDictData(dictTypeReq)); + } } diff --git a/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/mapper/AssetAuthInfoMapper.java b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/mapper/AssetAuthInfoMapper.java new file mode 100644 index 0000000..aa9032a --- /dev/null +++ b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/mapper/AssetAuthInfoMapper.java @@ -0,0 +1,15 @@ +package com.muyu.data.source.mapper; + +import java.util.List; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.muyu.data.source.domain.AssetAuthInfo; + +/** + * 资产授权Mapper接口 + * + * @author hufangming + * @date 2024-04-29 + */ +public interface AssetAuthInfoMapper extends BaseMapper { + +} diff --git a/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/service/AssetAuthInfoService.java b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/service/AssetAuthInfoService.java new file mode 100644 index 0000000..46990c0 --- /dev/null +++ b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/service/AssetAuthInfoService.java @@ -0,0 +1,22 @@ +package com.muyu.data.source.service; + +import java.util.List; +import com.muyu.data.source.domain.AssetAuthInfo; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * 资产授权Service接口 + * + * @author hufangming + * @date 2024-04-29 + */ +public interface AssetAuthInfoService extends IService { + /** + * 查询资产授权列表 + * + * @param assetAuthInfo 资产授权 + * @return 资产授权集合 + */ + public List list(AssetAuthInfo assetAuthInfo); + +} diff --git a/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/service/DictTypeService.java b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/service/DictTypeService.java index 4d491aa..3501df2 100644 --- a/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/service/DictTypeService.java +++ b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/service/DictTypeService.java @@ -1,7 +1,9 @@ package com.muyu.data.source.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.muyu.data.source.domain.DictData; import com.muyu.data.source.domain.DictType; +import com.muyu.data.source.domain.req.DictTypeReq; import com.muyu.data.source.domain.resp.DictDataResp; import java.util.List; @@ -18,4 +20,5 @@ public interface DictTypeService extends IService { List getDictDataList(Long id); + List getDictData(DictTypeReq dictTypeReq); } diff --git a/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/service/impl/AssetAuthInfoServiceImpl.java b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/service/impl/AssetAuthInfoServiceImpl.java new file mode 100644 index 0000000..a0ba433 --- /dev/null +++ b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/service/impl/AssetAuthInfoServiceImpl.java @@ -0,0 +1,52 @@ +package com.muyu.data.source.service.impl; + +import java.util.List; + +import com.muyu.common.core.utils.ObjUtils; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import com.muyu.data.source.mapper.AssetAuthInfoMapper; +import com.muyu.data.source.domain.AssetAuthInfo; +import com.muyu.data.source.service.AssetAuthInfoService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; + +/** + * 资产授权Service业务层处理 + * + * @author hufangming + * @date 2024-04-29 + */ +@Slf4j +@Service +public class AssetAuthInfoServiceImpl extends ServiceImpl implements AssetAuthInfoService { + + /** + * 查询资产授权列表 + * + * @param assetAuthInfo 资产授权 + * @return 资产授权 + */ + @Override + public List list(AssetAuthInfo assetAuthInfo) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + + + if (ObjUtils.notNull(assetAuthInfo.getAuthId())){ + queryWrapper.eq(AssetAuthInfo::getAuthId, assetAuthInfo.getAuthId()); + } + + if (ObjUtils.notNull(assetAuthInfo.getIdType())){ + queryWrapper.eq(AssetAuthInfo::getIdType, assetAuthInfo.getIdType()); + } + + if (ObjUtils.notNull(assetAuthInfo.getAuthData())){ + queryWrapper.eq(AssetAuthInfo::getAuthData, assetAuthInfo.getAuthData()); + } + + if (ObjUtils.notNull(assetAuthInfo.getAuthType())){ + queryWrapper.eq(AssetAuthInfo::getAuthType, assetAuthInfo.getAuthType()); + } + return list(queryWrapper); + } +} diff --git a/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/service/impl/DataSourceServiceImpl.java b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/service/impl/DataSourceServiceImpl.java index ce5594b..ea0e022 100644 --- a/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/service/impl/DataSourceServiceImpl.java +++ b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/java/com/muyu/data/source/service/impl/DataSourceServiceImpl.java @@ -1,11 +1,18 @@ package com.muyu.data.source.service.impl; +import static java.util.Arrays.stream; + import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.muyu.common.core.domain.Result; +import com.muyu.common.core.text.Convert; import com.muyu.common.core.utils.ObjUtils; import com.muyu.common.core.utils.StringUtils; +import com.muyu.common.redis.service.RedisService; +import com.muyu.common.security.utils.SecurityUtils; +import com.muyu.common.system.domain.SysUser; +import com.muyu.data.source.domain.AssetAuthInfo; import com.muyu.data.source.domain.AssetDataSource; import com.muyu.data.source.domain.Children; import com.muyu.data.source.domain.DataSource; @@ -13,6 +20,7 @@ import com.muyu.data.source.domain.DatabaseType; import com.muyu.data.source.domain.TableData; import com.muyu.data.source.domain.resp.CountResp; import com.muyu.data.source.mapper.DataSourceMapper; +import com.muyu.data.source.service.AssetAuthInfoService; import com.muyu.data.source.service.AssetDataSourceService; import com.muyu.data.source.service.ChildrenService; import com.muyu.data.source.service.DataSourceService; @@ -27,7 +35,9 @@ import java.sql.ResultSetMetaData; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Objects; import java.util.concurrent.CompletableFuture; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; @@ -51,6 +61,9 @@ public class DataSourceServiceImpl extends ServiceImpl getAssetList() { - List assetDataSourceList = assetDataSourceService.list(); + List assetDataSourceList; + assetDataSourceList = assetDataSourceService.list(); + //登录人不是管理员 + if (!SecurityUtils.isAdmin(SecurityUtils.getUserId())){ + SysUser sysUser = SecurityUtils.getLoginUser().getSysUser(); + List assetAuthInfoList=assetAuthInfoService.list(new LambdaQueryWrapper() + .eq(AssetAuthInfo::getIdType,"dept") + .eq(AssetAuthInfo::getAuthId,sysUser.getDeptId()) + .or(pw->pw.eq(AssetAuthInfo::getIdType,"user") + .eq(AssetAuthInfo::getId, sysUser.getUserId()) + ) ); + HashMap map=new HashMap<>(); + List sourceIdList = assetAuthInfoList.stream().map(assetAccredit -> { + if (assetAccredit.getAuthType().equals("source")) { + map.put(assetAccredit.getAuthData(), null); + return Convert.toInt(assetAccredit.getAuthData()); + } else { + String[] split = assetAccredit.getAuthData().split(","); + String assetId = split[0]; + String tableName = split[1]; + if (map.containsKey(assetId)) { + String s = map.get(assetId); + if (Objects.nonNull(s)) { + s += "," + tableName; + map.put(assetId, s); + } + } else { + map.put(assetId, tableName); + } + return Convert.toInt(assetId); + } + }).toList(); + + assetDataSourceList = assetDataSourceService.list(new LambdaQueryWrapper<>() {{ + in(AssetDataSource::getId, sourceIdList); + }}); + redisService.setCacheMap("accredit:" + SecurityUtils.getUserId(), map); + } return assetDataSourceList; } @Override public List getChildrenList(Integer id) { - List childrenList = childrenService.list(new LambdaQueryWrapper() {{ - eq(Children::getAssetId, id); - }}); + List childrenList; + childrenList=childrenService.list(new LambdaQueryWrapper(){{ + eq(Children::getAssetId,id); + }}); + if (!SecurityUtils.isAdmin(SecurityUtils.getUserId())){ + String value=redisService.getCacheMapValue("accredit:" + SecurityUtils.getUserId(), String.valueOf(id)); + if (Objects.nonNull(value)){ + List list = stream(value.split(",")).toList(); + childrenService.list(new LambdaQueryWrapper<>(){{ + eq(Children::getAssetId, id); + in(Children::getId, list); + }}); + } + } return childrenList; } @@ -360,7 +423,7 @@ public class DataSourceServiceImpl extends ServiceImpl i return dictDataRespList; } + + @Override + public List getDictData(DictTypeReq dictTypeReq) { + DictType dictType=this.getOne(new LambdaQueryWrapper<>(){{ + eq(DictType::getAssetId, dictTypeReq.getAssetId()); + eq(DictType::getDictType, dictTypeReq.getDictType()); + }}); + List dictData=dictDataService.list(new LambdaQueryWrapper<>(){{ + eq(DictData::getDictTypeId, dictType.getId()); + }}); + return dictData; + } } diff --git a/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/resources/bootstrap.yml b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/resources/bootstrap.yml index 6066a85..a6a71b0 100644 --- a/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/resources/bootstrap.yml +++ b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/resources/bootstrap.yml @@ -1,5 +1,14 @@ # Tomcat server: + jetty: + threads: + #acceptors线程池用于接受HTTP请求 + acceptors: 4 + #selectors线程池用于处理HTTP数据包 + selectors: 8 + #worker线程池负责调用Web方法 + min: 8 + max: 200 port: 9511 # Spring diff --git a/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/resources/mapper/data/AssetAuthInfoMapper.xml b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/resources/mapper/data/AssetAuthInfoMapper.xml new file mode 100644 index 0000000..3c5a919 --- /dev/null +++ b/muyu-modules/muyu-data-source/muyu-data-source-server/src/main/resources/mapper/data/AssetAuthInfoMapper.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + select id, auth_id, id_type, auth_data, auth_type from asset_auth_info + + diff --git a/muyu-modules/muyu-rule_engine/muyu-rule_engine-common/pom.xml b/muyu-modules/muyu-rule_engine/muyu-rule_engine-common/pom.xml new file mode 100644 index 0000000..81992b1 --- /dev/null +++ b/muyu-modules/muyu-rule_engine/muyu-rule_engine-common/pom.xml @@ -0,0 +1,20 @@ + + + 4.0.0 + + com.muyu + muyu-rule_engine + 3.6.3 + + + muyu-rule_engine-common + + + 17 + 17 + UTF-8 + + + diff --git a/muyu-modules/muyu-rule_engine/muyu-rule_engine-remote/pom.xml b/muyu-modules/muyu-rule_engine/muyu-rule_engine-remote/pom.xml new file mode 100644 index 0000000..b55671c --- /dev/null +++ b/muyu-modules/muyu-rule_engine/muyu-rule_engine-remote/pom.xml @@ -0,0 +1,20 @@ + + + 4.0.0 + + com.muyu + muyu-rule_engine + 3.6.3 + + + muyu-rule_engine-remote + + + 17 + 17 + UTF-8 + + + diff --git a/muyu-modules/muyu-rule_engine/muyu-rule_engine-server/pom.xml b/muyu-modules/muyu-rule_engine/muyu-rule_engine-server/pom.xml new file mode 100644 index 0000000..fcd9690 --- /dev/null +++ b/muyu-modules/muyu-rule_engine/muyu-rule_engine-server/pom.xml @@ -0,0 +1,20 @@ + + + 4.0.0 + + com.muyu + muyu-rule_engine + 3.6.3 + + + muyu-rule_engine-server + + + 17 + 17 + UTF-8 + + + diff --git a/muyu-modules/muyu-rule_engine/pom.xml b/muyu-modules/muyu-rule_engine/pom.xml new file mode 100644 index 0000000..15f232e --- /dev/null +++ b/muyu-modules/muyu-rule_engine/pom.xml @@ -0,0 +1,26 @@ + + + 4.0.0 + + com.muyu + muyu-modules + 3.6.3 + + + muyu-rule_engine + pom + + muyu-rule_engine-common + muyu-rule_engine-remote + muyu-rule_engine-server + + + + 17 + 17 + UTF-8 + + + diff --git a/muyu-modules/pom.xml b/muyu-modules/pom.xml index 06dfe44..0c1769b 100644 --- a/muyu-modules/pom.xml +++ b/muyu-modules/pom.xml @@ -14,6 +14,7 @@ muyu-job muyu-file muyu-data-source + muyu-rule_engine muyu-modules diff --git a/pom.xml b/pom.xml index 904bc27..174e869 100644 --- a/pom.xml +++ b/pom.xml @@ -1,324 +1,337 @@ - 4.0.0 + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + 4.0.0 - com.muyu - muyu - 3.6.3 + com.muyu + muyu + 3.6.3 - muyu + muyu - 微服务系统 + 微服务系统 - - 3.6.3 - UTF-8 - UTF-8 - 17 - 2.7.13 - 2021.0.8 - 2021.0.5.0 - 2.7.10 - 3.0.0 - 1.6.2 - 1.27.2 - 2.3.3 - 1.4.7 - 1.2.16 - 3.5.2 - 2.13.0 - 2.3 - 2.0.41 - 0.9.1 - 8.2.2 - 4.1.2 - 2.9.0 - 42.5.0 - 2.14.3 - - - - - - - - - org.springframework.cloud - spring-cloud-dependencies - ${spring-cloud.version} - pom - import - - - - - com.alibaba.cloud - spring-cloud-alibaba-dependencies - ${spring-cloud-alibaba.version} - pom - import - - - - - org.springframework.boot - spring-boot-dependencies - ${spring-boot.version} - pom - import - - - - - com.github.tobato - fastdfs-client - ${tobato.version} - - - - - io.swagger - swagger-models - ${swagger.core.version} - - - io.swagger - swagger-annotations - ${swagger.core.version} - - - - - pro.fessional - kaptcha - ${kaptcha.version} - - - - - com.github.pagehelper - pagehelper-spring-boot-starter - ${pagehelper.boot.version} - - - - - commons-io - commons-io - ${commons.io.version} - - - - - org.apache.poi - poi-ooxml - ${poi.version} - - - - - org.apache.velocity - velocity-engine-core - ${velocity.version} - - - - - com.alibaba.fastjson2 - fastjson2 - ${fastjson.version} - - - - - io.jsonwebtoken - jjwt - ${jjwt.version} - - - - - com.alibaba - transmittable-thread-local - ${transmittable-thread-local.version} - - - - - com.muyu - muyu-common-core - ${muyu.version} - - - - - com.muyu - muyu-common-swagger - ${muyu.version} - - - - - com.muyu - muyu-common-security - ${muyu.version} - - - - - com.muyu - muyu-common-datascope - ${muyu.version} - - - - - com.muyu - muyu-common-datasource - ${muyu.version} - - - - - com.muyu - muyu-common-seata - ${muyu.version} - - - - - com.muyu - muyu-common-log - ${muyu.version} - - - - - com.muyu - muyu-common-redis - ${muyu.version} - - - - - com.muyu - muyu-common-system - ${muyu.version} - - - - - org.postgresql - postgresql - ${postgresql.version} - - - - redis.clients - jedis - ${jedis.version} - - - - - - - muyu-auth - muyu-gateway - muyu-visual - muyu-modules - muyu-common - - pom + + 3.6.3 + UTF-8 + UTF-8 + 17 + 2.7.13 + 2021.0.8 + 2021.0.5.0 + 2.7.10 + 3.0.0 + 1.6.2 + 1.27.2 + 2.3.3 + 1.4.7 + 1.2.16 + 3.5.2 + 2.13.0 + 2.3 + 2.0.41 + 0.9.1 + 8.2.2 + 4.1.2 + 2.9.0 + 42.5.0 + 2.14.3 + + + - - - org.springframework.cloud - spring-cloud-starter-bootstrap - + + + + org.springframework.cloud + spring-cloud-dependencies + ${spring-cloud.version} + pom + import + + + + + com.alibaba.cloud + spring-cloud-alibaba-dependencies + ${spring-cloud-alibaba.version} + pom + import + + + + + org.springframework.boot + spring-boot-dependencies + ${spring-boot.version} + pom + import + + + + org.springframework.boot + spring-boot-starter-tomcat + + + + + + org.springframework.boot + spring-boot-starter-jetty + + + + + + com.github.tobato + fastdfs-client + ${tobato.version} + + + + + io.swagger + swagger-models + ${swagger.core.version} + + + io.swagger + swagger-annotations + ${swagger.core.version} + + + + + pro.fessional + kaptcha + ${kaptcha.version} + + + + + com.github.pagehelper + pagehelper-spring-boot-starter + ${pagehelper.boot.version} + + + + + commons-io + commons-io + ${commons.io.version} + + + + + org.apache.poi + poi-ooxml + ${poi.version} + + + + + org.apache.velocity + velocity-engine-core + ${velocity.version} + + + + + com.alibaba.fastjson2 + fastjson2 + ${fastjson.version} + + + + + io.jsonwebtoken + jjwt + ${jjwt.version} + + + + + com.alibaba + transmittable-thread-local + ${transmittable-thread-local.version} + + + + + com.muyu + muyu-common-core + ${muyu.version} + + + + + com.muyu + muyu-common-swagger + ${muyu.version} + + + + + com.muyu + muyu-common-security + ${muyu.version} + + + + + com.muyu + muyu-common-datascope + ${muyu.version} + + + + + com.muyu + muyu-common-datasource + ${muyu.version} + + + + + com.muyu + muyu-common-seata + ${muyu.version} + + + + + com.muyu + muyu-common-log + ${muyu.version} + + + + + com.muyu + muyu-common-redis + ${muyu.version} + + + + + com.muyu + muyu-common-system + ${muyu.version} + + + + + org.postgresql + postgresql + ${postgresql.version} + + + + redis.clients + jedis + ${jedis.version} + + + - - - - org.apache.maven.plugins - maven-compiler-plugin - - ${java.version} - ${java.version} - ${project.build.sourceEncoding} - - - - - - - org.springframework.boot - spring-boot-maven-plugin - ${spring-boot.version} - - - - repackage - - - - - - - org.apache.maven.plugins - maven-source-plugin - 3.0.1 - - true - - - - compile - - jar - - - - - - - + + muyu-auth + muyu-gateway + muyu-visual + muyu-modules + muyu-common + + pom - - - releases - releases - http://nexus.muyu.com:8081/repository/maven-releases/ - - + + + + org.springframework.cloud + spring-cloud-starter-bootstrap + + - - - public - aliyun nexus - http://nexus.muyu.com:8081/repository/maven-public/ - - true - - - + + + + org.apache.maven.plugins + maven-compiler-plugin + + ${java.version} + ${java.version} + ${project.build.sourceEncoding} + + + + + + + org.springframework.boot + spring-boot-maven-plugin + ${spring-boot.version} + + + + repackage + + + + + + + org.apache.maven.plugins + maven-source-plugin + 3.0.1 + + true + + + + compile + + jar + + + + + + + - - - public - aliyun nexus - http://nexus.muyu.com:8081/repository/maven-public/ - - true - - - false - - - + + + releases + releases + http://nexus.muyu.com:8081/repository/maven-releases/ + + + + + + public + aliyun nexus + http://nexus.muyu.com:8081/repository/maven-public/ + + true + + + + + + + public + aliyun nexus + http://nexus.muyu.com:8081/repository/maven-public/ + + true + + + false + + +