feat():完善资产授权
parent
366c7b4893
commit
a35dae8479
|
@ -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();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -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;
|
||||||
|
|
||||||
|
}
|
|
@ -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;
|
||||||
|
|
||||||
|
}
|
|
@ -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;
|
||||||
|
|
||||||
|
}
|
|
@ -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;
|
||||||
|
}
|
|
@ -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<AssetAuthInfo>> list(AssetAuthInfoQueryReq assetAuthInfoQueryReq) {
|
||||||
|
startPage();
|
||||||
|
List<AssetAuthInfo> 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<AssetAuthInfo> list = assetAuthInfoService.list(assetAuthInfo);
|
||||||
|
ExcelUtil<AssetAuthInfo> util = new ExcelUtil<AssetAuthInfo>(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<AssetAuthInfo> getInfo(@PathVariable("id") Long id) {
|
||||||
|
return Result.success(assetAuthInfoService.getById(id));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增资产授权
|
||||||
|
*/
|
||||||
|
|
||||||
|
@Log(title = "资产授权", businessType = BusinessType.INSERT)
|
||||||
|
@PostMapping("/add")
|
||||||
|
@ApiOperation("新增资产授权")
|
||||||
|
public Result<String> 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<String> 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<String> remove(@PathVariable List<Long> ids) {
|
||||||
|
return toAjax(assetAuthInfoService.removeBatchByIds(ids));
|
||||||
|
}
|
||||||
|
}
|
|
@ -160,16 +160,7 @@ public class DataSourceController extends BaseController {
|
||||||
return Result.success(list);
|
return Result.success(list);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取表下的字段描述
|
|
||||||
*/
|
|
||||||
// @RequiresPermissions("data:source:addtbledate")
|
|
||||||
// @PostMapping("/addTableData")
|
|
||||||
// public Result addTbleDate(@RequestBody ShowTableReq showTableReq){
|
|
||||||
//
|
|
||||||
// dataSourceService.addTbleDate(showTableReq);
|
|
||||||
// return Result.success();
|
|
||||||
// }
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.muyu.common.core.domain.Result;
|
import com.muyu.common.core.domain.Result;
|
||||||
import com.muyu.data.source.domain.DictData;
|
import com.muyu.data.source.domain.DictData;
|
||||||
import com.muyu.data.source.domain.DictType;
|
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.domain.resp.DictDataResp;
|
||||||
import com.muyu.data.source.service.DictDataService;
|
import com.muyu.data.source.service.DictDataService;
|
||||||
import com.muyu.data.source.service.DictTypeService;
|
import com.muyu.data.source.service.DictTypeService;
|
||||||
|
@ -62,5 +63,10 @@ public class DictTypeController {
|
||||||
}});
|
}});
|
||||||
return Result.success();
|
return Result.success();
|
||||||
}
|
}
|
||||||
|
//根据对象查询字典列表
|
||||||
|
@PostMapping("/getDictData")
|
||||||
|
public Result<List<DictData>> getDictData(@RequestBody DictTypeReq dictTypeReq) {
|
||||||
|
return Result.success(dictTypeService.getDictData(dictTypeReq));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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<AssetAuthInfo> {
|
||||||
|
|
||||||
|
}
|
|
@ -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<AssetAuthInfo> {
|
||||||
|
/**
|
||||||
|
* 查询资产授权列表
|
||||||
|
*
|
||||||
|
* @param assetAuthInfo 资产授权
|
||||||
|
* @return 资产授权集合
|
||||||
|
*/
|
||||||
|
public List<AssetAuthInfo> list(AssetAuthInfo assetAuthInfo);
|
||||||
|
|
||||||
|
}
|
|
@ -1,7 +1,9 @@
|
||||||
package com.muyu.data.source.service;
|
package com.muyu.data.source.service;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
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.DictType;
|
||||||
|
import com.muyu.data.source.domain.req.DictTypeReq;
|
||||||
import com.muyu.data.source.domain.resp.DictDataResp;
|
import com.muyu.data.source.domain.resp.DictDataResp;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
@ -18,4 +20,5 @@ public interface DictTypeService extends IService<DictType> {
|
||||||
|
|
||||||
List<DictDataResp> getDictDataList(Long id);
|
List<DictDataResp> getDictDataList(Long id);
|
||||||
|
|
||||||
|
List<DictData> getDictData(DictTypeReq dictTypeReq);
|
||||||
}
|
}
|
||||||
|
|
|
@ -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<AssetAuthInfoMapper, AssetAuthInfo> implements AssetAuthInfoService {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询资产授权列表
|
||||||
|
*
|
||||||
|
* @param assetAuthInfo 资产授权
|
||||||
|
* @return 资产授权
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<AssetAuthInfo> list(AssetAuthInfo assetAuthInfo) {
|
||||||
|
LambdaQueryWrapper<AssetAuthInfo> 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);
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,11 +1,18 @@
|
||||||
package com.muyu.data.source.service.impl;
|
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.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.muyu.common.core.domain.Result;
|
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.ObjUtils;
|
||||||
import com.muyu.common.core.utils.StringUtils;
|
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.AssetDataSource;
|
||||||
import com.muyu.data.source.domain.Children;
|
import com.muyu.data.source.domain.Children;
|
||||||
import com.muyu.data.source.domain.DataSource;
|
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.TableData;
|
||||||
import com.muyu.data.source.domain.resp.CountResp;
|
import com.muyu.data.source.domain.resp.CountResp;
|
||||||
import com.muyu.data.source.mapper.DataSourceMapper;
|
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.AssetDataSourceService;
|
||||||
import com.muyu.data.source.service.ChildrenService;
|
import com.muyu.data.source.service.ChildrenService;
|
||||||
import com.muyu.data.source.service.DataSourceService;
|
import com.muyu.data.source.service.DataSourceService;
|
||||||
|
@ -27,7 +35,9 @@ import java.sql.ResultSetMetaData;
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
import java.sql.Statement;
|
import java.sql.Statement;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
import java.util.concurrent.CompletableFuture;
|
import java.util.concurrent.CompletableFuture;
|
||||||
import java.util.concurrent.ExecutorService;
|
import java.util.concurrent.ExecutorService;
|
||||||
import java.util.concurrent.Executors;
|
import java.util.concurrent.Executors;
|
||||||
|
@ -51,6 +61,9 @@ public class DataSourceServiceImpl extends ServiceImpl<DataSourceMapper, DataSou
|
||||||
@Autowired
|
@Autowired
|
||||||
private AssetDataSourceService assetDataSourceService;
|
private AssetDataSourceService assetDataSourceService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private RedisService redisService;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private ChildrenService childrenService;
|
private ChildrenService childrenService;
|
||||||
|
|
||||||
|
@ -60,6 +73,8 @@ public class DataSourceServiceImpl extends ServiceImpl<DataSourceMapper, DataSou
|
||||||
private DatabaseTypeService databaseTypeService;
|
private DatabaseTypeService databaseTypeService;
|
||||||
private final ExecutorService executor = Executors.newFixedThreadPool(10);
|
private final ExecutorService executor = Executors.newFixedThreadPool(10);
|
||||||
private static Integer version = 1;
|
private static Integer version = 1;
|
||||||
|
@Autowired
|
||||||
|
private AssetAuthInfoService assetAuthInfoService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询数据源列表
|
* 查询数据源列表
|
||||||
|
@ -203,15 +218,63 @@ public class DataSourceServiceImpl extends ServiceImpl<DataSourceMapper, DataSou
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<AssetDataSource> getAssetList() {
|
public List<AssetDataSource> getAssetList() {
|
||||||
List<AssetDataSource> assetDataSourceList = assetDataSourceService.list();
|
List<AssetDataSource> assetDataSourceList;
|
||||||
|
assetDataSourceList = assetDataSourceService.list();
|
||||||
|
//登录人不是管理员
|
||||||
|
if (!SecurityUtils.isAdmin(SecurityUtils.getUserId())){
|
||||||
|
SysUser sysUser = SecurityUtils.getLoginUser().getSysUser();
|
||||||
|
List<AssetAuthInfo> assetAuthInfoList=assetAuthInfoService.list(new LambdaQueryWrapper<AssetAuthInfo>()
|
||||||
|
.eq(AssetAuthInfo::getIdType,"dept")
|
||||||
|
.eq(AssetAuthInfo::getAuthId,sysUser.getDeptId())
|
||||||
|
.or(pw->pw.eq(AssetAuthInfo::getIdType,"user")
|
||||||
|
.eq(AssetAuthInfo::getId, sysUser.getUserId())
|
||||||
|
) );
|
||||||
|
HashMap<String,String> map=new HashMap<>();
|
||||||
|
List<Integer> 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;
|
return assetDataSourceList;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<Children> getChildrenList(Integer id) {
|
public List<Children> getChildrenList(Integer id) {
|
||||||
List<Children> childrenList = childrenService.list(new LambdaQueryWrapper<Children>() {{
|
List<Children> childrenList;
|
||||||
eq(Children::getAssetId, id);
|
childrenList=childrenService.list(new LambdaQueryWrapper<Children>(){{
|
||||||
|
eq(Children::getAssetId,id);
|
||||||
}});
|
}});
|
||||||
|
if (!SecurityUtils.isAdmin(SecurityUtils.getUserId())){
|
||||||
|
String value=redisService.getCacheMapValue("accredit:" + SecurityUtils.getUserId(), String.valueOf(id));
|
||||||
|
if (Objects.nonNull(value)){
|
||||||
|
List<String> list = stream(value.split(",")).toList();
|
||||||
|
childrenService.list(new LambdaQueryWrapper<>(){{
|
||||||
|
eq(Children::getAssetId, id);
|
||||||
|
in(Children::getId, list);
|
||||||
|
}});
|
||||||
|
}
|
||||||
|
}
|
||||||
return childrenList;
|
return childrenList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -360,7 +423,7 @@ public class DataSourceServiceImpl extends ServiceImpl<DataSourceMapper, DataSou
|
||||||
.isNull(isNullable.equals("YES") ? "Y" : "N")
|
.isNull(isNullable.equals("YES") ? "Y" : "N")
|
||||||
.defaultValue(columnDefault)
|
.defaultValue(columnDefault)
|
||||||
.isDict("N")
|
.isDict("N")
|
||||||
.dictKey(null)
|
.dictKey("")
|
||||||
.childrenId(children.getId())
|
.childrenId(children.getId())
|
||||||
.build();
|
.build();
|
||||||
tableDataService.save(tableData);
|
tableDataService.save(tableData);
|
||||||
|
|
|
@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.muyu.data.source.domain.DictData;
|
import com.muyu.data.source.domain.DictData;
|
||||||
import com.muyu.data.source.domain.DictType;
|
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.domain.resp.DictDataResp;
|
||||||
import com.muyu.data.source.mapper.DictTypeMapper;
|
import com.muyu.data.source.mapper.DictTypeMapper;
|
||||||
import com.muyu.data.source.service.DictDataService;
|
import com.muyu.data.source.service.DictDataService;
|
||||||
|
@ -42,4 +43,16 @@ public class DictTypeServiceImpl extends ServiceImpl<DictTypeMapper, DictType> i
|
||||||
|
|
||||||
return dictDataRespList;
|
return dictDataRespList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<DictData> getDictData(DictTypeReq dictTypeReq) {
|
||||||
|
DictType dictType=this.getOne(new LambdaQueryWrapper<>(){{
|
||||||
|
eq(DictType::getAssetId, dictTypeReq.getAssetId());
|
||||||
|
eq(DictType::getDictType, dictTypeReq.getDictType());
|
||||||
|
}});
|
||||||
|
List<DictData> dictData=dictDataService.list(new LambdaQueryWrapper<>(){{
|
||||||
|
eq(DictData::getDictTypeId, dictType.getId());
|
||||||
|
}});
|
||||||
|
return dictData;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,14 @@
|
||||||
# Tomcat
|
# Tomcat
|
||||||
server:
|
server:
|
||||||
|
jetty:
|
||||||
|
threads:
|
||||||
|
#acceptors线程池用于接受HTTP请求
|
||||||
|
acceptors: 4
|
||||||
|
#selectors线程池用于处理HTTP数据包
|
||||||
|
selectors: 8
|
||||||
|
#worker线程池负责调用Web方法
|
||||||
|
min: 8
|
||||||
|
max: 200
|
||||||
port: 9511
|
port: 9511
|
||||||
|
|
||||||
# Spring
|
# Spring
|
||||||
|
|
|
@ -0,0 +1,18 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
<!DOCTYPE mapper
|
||||||
|
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="com.muyu.data.source.mapper.AssetAuthInfoMapper">
|
||||||
|
|
||||||
|
<resultMap type="com.muyu.data.source.domain.AssetAuthInfo" id="AssetAuthInfoResult">
|
||||||
|
<result property="id" column="id" />
|
||||||
|
<result property="authId" column="auth_id" />
|
||||||
|
<result property="idType" column="id_type" />
|
||||||
|
<result property="authData" column="auth_data" />
|
||||||
|
<result property="authType" column="auth_type" />
|
||||||
|
</resultMap>
|
||||||
|
|
||||||
|
<sql id="selectAssetAuthInfoVo">
|
||||||
|
select id, auth_id, id_type, auth_data, auth_type from asset_auth_info
|
||||||
|
</sql>
|
||||||
|
</mapper>
|
|
@ -0,0 +1,20 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project xmlns="http://maven.apache.org/POM/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">
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
<parent>
|
||||||
|
<groupId>com.muyu</groupId>
|
||||||
|
<artifactId>muyu-rule_engine</artifactId>
|
||||||
|
<version>3.6.3</version>
|
||||||
|
</parent>
|
||||||
|
|
||||||
|
<artifactId>muyu-rule_engine-common</artifactId>
|
||||||
|
|
||||||
|
<properties>
|
||||||
|
<maven.compiler.source>17</maven.compiler.source>
|
||||||
|
<maven.compiler.target>17</maven.compiler.target>
|
||||||
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
|
</properties>
|
||||||
|
|
||||||
|
</project>
|
|
@ -0,0 +1,20 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project xmlns="http://maven.apache.org/POM/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">
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
<parent>
|
||||||
|
<groupId>com.muyu</groupId>
|
||||||
|
<artifactId>muyu-rule_engine</artifactId>
|
||||||
|
<version>3.6.3</version>
|
||||||
|
</parent>
|
||||||
|
|
||||||
|
<artifactId>muyu-rule_engine-remote</artifactId>
|
||||||
|
|
||||||
|
<properties>
|
||||||
|
<maven.compiler.source>17</maven.compiler.source>
|
||||||
|
<maven.compiler.target>17</maven.compiler.target>
|
||||||
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
|
</properties>
|
||||||
|
|
||||||
|
</project>
|
|
@ -0,0 +1,20 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project xmlns="http://maven.apache.org/POM/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">
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
<parent>
|
||||||
|
<groupId>com.muyu</groupId>
|
||||||
|
<artifactId>muyu-rule_engine</artifactId>
|
||||||
|
<version>3.6.3</version>
|
||||||
|
</parent>
|
||||||
|
|
||||||
|
<artifactId>muyu-rule_engine-server</artifactId>
|
||||||
|
|
||||||
|
<properties>
|
||||||
|
<maven.compiler.source>17</maven.compiler.source>
|
||||||
|
<maven.compiler.target>17</maven.compiler.target>
|
||||||
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
|
</properties>
|
||||||
|
|
||||||
|
</project>
|
|
@ -0,0 +1,26 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project xmlns="http://maven.apache.org/POM/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">
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
<parent>
|
||||||
|
<groupId>com.muyu</groupId>
|
||||||
|
<artifactId>muyu-modules</artifactId>
|
||||||
|
<version>3.6.3</version>
|
||||||
|
</parent>
|
||||||
|
|
||||||
|
<artifactId>muyu-rule_engine</artifactId>
|
||||||
|
<packaging>pom</packaging>
|
||||||
|
<modules>
|
||||||
|
<module>muyu-rule_engine-common</module>
|
||||||
|
<module>muyu-rule_engine-remote</module>
|
||||||
|
<module>muyu-rule_engine-server</module>
|
||||||
|
</modules>
|
||||||
|
|
||||||
|
<properties>
|
||||||
|
<maven.compiler.source>17</maven.compiler.source>
|
||||||
|
<maven.compiler.target>17</maven.compiler.target>
|
||||||
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
|
</properties>
|
||||||
|
|
||||||
|
</project>
|
|
@ -14,6 +14,7 @@
|
||||||
<module>muyu-job</module>
|
<module>muyu-job</module>
|
||||||
<module>muyu-file</module>
|
<module>muyu-file</module>
|
||||||
<module>muyu-data-source</module>
|
<module>muyu-data-source</module>
|
||||||
|
<module>muyu-rule_engine</module>
|
||||||
</modules>
|
</modules>
|
||||||
|
|
||||||
<artifactId>muyu-modules</artifactId>
|
<artifactId>muyu-modules</artifactId>
|
||||||
|
|
13
pom.xml
13
pom.xml
|
@ -68,7 +68,20 @@
|
||||||
<version>${spring-boot.version}</version>
|
<version>${spring-boot.version}</version>
|
||||||
<type>pom</type>
|
<type>pom</type>
|
||||||
<scope>import</scope>
|
<scope>import</scope>
|
||||||
|
<!-- 排除springBoot-tomcat-->
|
||||||
|
<exclusions>
|
||||||
|
<exclusion>
|
||||||
|
<groupId>org.springframework.boot</groupId>
|
||||||
|
<artifactId>spring-boot-starter-tomcat</artifactId>
|
||||||
|
</exclusion>
|
||||||
|
</exclusions>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<!--引入jettry服务器-->
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.springframework.boot</groupId>
|
||||||
|
<artifactId>spring-boot-starter-jetty</artifactId>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
|
||||||
<!-- FastDFS 分布式文件系统 -->
|
<!-- FastDFS 分布式文件系统 -->
|
||||||
<dependency>
|
<dependency>
|
||||||
|
|
Loading…
Reference in New Issue