update ADD大屏设计数据源接口

master
yinq 1 month ago
parent bf271be769
commit 0a587d3811

@ -0,0 +1,118 @@
package org.dromara.system.controller;
import java.util.List;
import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.*;
import cn.dev33.satoken.annotation.SaCheckPermission;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.web.core.BaseController;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.system.domain.vo.SysDesignDataSourceVo;
import org.dromara.system.domain.bo.SysDesignDataSourceBo;
import org.dromara.system.service.ISysDesignDataSourceService;
import org.dromara.common.mybatis.core.page.TableDataInfo;
/**
*
* 访:/system/designDataSource
*
* @author Yinq
* @date 2025-05-20
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/designDataSource")
public class SysDesignDataSourceController extends BaseController {
private final ISysDesignDataSourceService sysDesignDataSourceService;
/**
*
*/
//@SaCheckPermission("system:designDataSource:list")
@GetMapping("/list")
public TableDataInfo<SysDesignDataSourceVo> list(SysDesignDataSourceBo bo, PageQuery pageQuery) {
return sysDesignDataSourceService.queryPageList(bo, pageQuery);
}
/**
*
*/
//@SaCheckPermission("system:designDataSource:export")
@Log(title = "大屏设计数据源", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(SysDesignDataSourceBo bo, HttpServletResponse response) {
List<SysDesignDataSourceVo> list = sysDesignDataSourceService.queryList(bo);
ExcelUtil.exportExcel(list, "大屏设计数据源", SysDesignDataSourceVo.class, response);
}
/**
*
*
* @param dataSourceId
*/
//@SaCheckPermission("system:designDataSource:query")
@GetMapping("/{dataSourceId}")
public R<SysDesignDataSourceVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long dataSourceId) {
return R.ok(sysDesignDataSourceService.queryById(dataSourceId));
}
/**
*
*/
//@SaCheckPermission("system:designDataSource:add")
@Log(title = "大屏设计数据源", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody SysDesignDataSourceBo bo) {
return toAjax(sysDesignDataSourceService.insertByBo(bo));
}
/**
*
*/
//@SaCheckPermission("system:designDataSource:edit")
@Log(title = "大屏设计数据源", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody SysDesignDataSourceBo bo) {
return toAjax(sysDesignDataSourceService.updateByBo(bo));
}
/**
*
*
* @param dataSourceIds
*/
//@SaCheckPermission("system:designDataSource:remove")
@Log(title = "大屏设计数据源", businessType = BusinessType.DELETE)
@DeleteMapping("/{dataSourceIds}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] dataSourceIds) {
return toAjax(sysDesignDataSourceService.deleteWithValidByIds(List.of(dataSourceIds), true));
}
/**
*
*/
@GetMapping("/getSysDesignDataSourceList")
public R<List<SysDesignDataSourceVo>> getSysDesignDataSourceList(SysDesignDataSourceBo bo) {
List<SysDesignDataSourceVo> list = sysDesignDataSourceService.queryList(bo);
return R.ok(list);
}
}

@ -0,0 +1,117 @@
package org.dromara.system.controller;
import java.util.List;
import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.*;
import cn.dev33.satoken.annotation.SaCheckPermission;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.web.core.BaseController;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.system.domain.vo.SysDesignPageConfigVo;
import org.dromara.system.domain.bo.SysDesignPageConfigBo;
import org.dromara.system.service.ISysDesignPageConfigService;
import org.dromara.common.mybatis.core.page.TableDataInfo;
/**
*
* 访:/system/designPageConfig
*
* @author Yinq
* @date 2025-05-20
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/designPageConfig")
public class SysDesignPageConfigController extends BaseController {
private final ISysDesignPageConfigService sysDesignPageConfigService;
/**
*
*/
@SaCheckPermission("system:designPageConfig:list")
@GetMapping("/list")
public TableDataInfo<SysDesignPageConfigVo> list(SysDesignPageConfigBo bo, PageQuery pageQuery) {
return sysDesignPageConfigService.queryPageList(bo, pageQuery);
}
/**
*
*/
@SaCheckPermission("system:designPageConfig:export")
@Log(title = "大屏设计页面配置", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(SysDesignPageConfigBo bo, HttpServletResponse response) {
List<SysDesignPageConfigVo> list = sysDesignPageConfigService.queryList(bo);
ExcelUtil.exportExcel(list, "大屏设计页面配置", SysDesignPageConfigVo.class, response);
}
/**
*
*
* @param pageConfigId
*/
@SaCheckPermission("system:designPageConfig:query")
@GetMapping("/{pageConfigId}")
public R<SysDesignPageConfigVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long pageConfigId) {
return R.ok(sysDesignPageConfigService.queryById(pageConfigId));
}
/**
*
*/
@SaCheckPermission("system:designPageConfig:add")
@Log(title = "大屏设计页面配置", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody SysDesignPageConfigBo bo) {
return toAjax(sysDesignPageConfigService.insertByBo(bo));
}
/**
*
*/
@SaCheckPermission("system:designPageConfig:edit")
@Log(title = "大屏设计页面配置", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody SysDesignPageConfigBo bo) {
return toAjax(sysDesignPageConfigService.updateByBo(bo));
}
/**
*
*
* @param pageConfigIds
*/
@SaCheckPermission("system:designPageConfig:remove")
@Log(title = "大屏设计页面配置", businessType = BusinessType.DELETE)
@DeleteMapping("/{pageConfigIds}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] pageConfigIds) {
return toAjax(sysDesignPageConfigService.deleteWithValidByIds(List.of(pageConfigIds), true));
}
/**
*
*/
@GetMapping("/getSysDesignPageConfigList")
public R<List<SysDesignPageConfigVo>> getSysDesignPageConfigList(SysDesignPageConfigBo bo) {
List<SysDesignPageConfigVo> list = sysDesignPageConfigService.queryList(bo);
return R.ok(list);
}
}

@ -0,0 +1,102 @@
package org.dromara.system.domain;
import org.dromara.common.tenant.core.TenantEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
/**
* sys_design_data_field
*
* @author Yinq
* @date 2025-05-20
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("sys_design_data_field")
public class SysDesignDataField extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* ID
*/
@TableId(value = "data_field_id", type = IdType.AUTO)
private Long dataFieldId;
/**
* ID
*/
private Long dataSourceId;
/**
* 1 2
*/
private String fieldType;
/**
*
*/
private String remarkName;
/**
*
*/
private String requestContentType;
/**
* bool short int long float byte ushort uint ulong double string
*/
private String dataType;
/**
*
*/
private Long sortOrder;
/**
*
*/
private String fieldOne;
/**
*
*/
private String fieldTwo;
/**
*
*/
private String fieldThree;
/**
*
*/
private String fieldFour;
/**
*
*/
private String fieldFive;
/**
* 0 2
*/
@TableLogic
private String delFlag;
/**
* 1 0
*/
private String activeFlag;
/**
*
*/
private String remark;
}

@ -0,0 +1,112 @@
package org.dromara.system.domain;
import org.dromara.common.tenant.core.TenantEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
/**
* sys_design_data_source
*
* @author Yinq
* @date 2025-05-20
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("sys_design_data_source")
public class SysDesignDataSource extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* ID
*/
@TableId(value = "data_source_id", type = IdType.AUTO)
private Long dataSourceId;
/**
*
*/
private String dataSourceName;
/**
*
*/
private String requestMethod;
/**
*
*/
private String requestUrl;
/**
*
*/
private String dataSourceGroup;
/**
*
*/
private String requestContentType;
/**
* (JSON XML)
*/
private String responseType;
/**
*
*/
private String versionCode;
/**
*
*/
private Long sortOrder;
/**
*
*/
private String fieldOne;
/**
*
*/
private String fieldTwo;
/**
*
*/
private String fieldThree;
/**
*
*/
private String fieldFour;
/**
*
*/
private String fieldFive;
/**
* 0 2
*/
@TableLogic
private String delFlag;
/**
* 1 0
*/
private String activeFlag;
/**
*
*/
private String remark;
}

@ -0,0 +1,97 @@
package org.dromara.system.domain;
import org.dromara.common.tenant.core.TenantEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
/**
* sys_design_page_config
*
* @author Yinq
* @date 2025-05-20
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("sys_design_page_config")
public class SysDesignPageConfig extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* ID
*/
@TableId(value = "page_config_id", type = IdType.AUTO)
private Long pageConfigId;
/**
*
*/
private String pageConfigName;
/**
*
*/
private String pageBackground;
/**
*
*/
private String pageRouting;
/**
*
*/
private String customContent;
/**
*
*/
private Long sortOrder;
/**
*
*/
private String fieldOne;
/**
*
*/
private String fieldTwo;
/**
*
*/
private String fieldThree;
/**
*
*/
private String fieldFour;
/**
*
*/
private String fieldFive;
/**
* 0 2
*/
@TableLogic
private String delFlag;
/**
* 1 0
*/
private String activeFlag;
/**
*
*/
private String remark;
}

@ -0,0 +1,114 @@
package org.dromara.system.domain.bo;
import org.dromara.system.domain.SysDesignDataField;
import org.dromara.system.domain.SysDesignDataSource;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
import java.util.List;
/**
* sys_design_data_source
*
* @author Yinq
* @date 2025-05-20
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = SysDesignDataSource.class, reverseConvertGenerate = false)
public class SysDesignDataSourceBo extends BaseEntity {
/**
* ID
*/
private Long dataSourceId;
/**
*
*/
@NotBlank(message = "数据源名称不能为空", groups = { AddGroup.class, EditGroup.class })
private String dataSourceName;
/**
*
*/
@NotBlank(message = "请求方法不能为空", groups = { AddGroup.class, EditGroup.class })
private String requestMethod;
/**
*
*/
@NotBlank(message = "请求地址不能为空", groups = { AddGroup.class, EditGroup.class })
private String requestUrl;
/**
*
*/
private String dataSourceGroup;
/**
*
*/
private String requestContentType;
/**
* (JSON XML)
*/
private String responseType;
/**
*
*/
private String versionCode;
/**
*
*/
private Long sortOrder;
/**
*
*/
private String fieldOne;
/**
*
*/
private String fieldTwo;
/**
*
*/
private String fieldThree;
/**
*
*/
private String fieldFour;
/**
*
*/
private String fieldFive;
/**
* 1 0
*/
private String activeFlag;
/**
*
*/
private String remark;
/**
* List
*/
private List<SysDesignDataField> designDataFieldList;
}

@ -0,0 +1,102 @@
package org.dromara.system.domain.bo;
import org.dromara.system.domain.SysDesignPageConfig;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
/**
* sys_design_page_config
*
* @author Yinq
* @date 2025-05-20
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = SysDesignPageConfig.class, reverseConvertGenerate = false)
public class SysDesignPageConfigBo extends BaseEntity {
/**
* ID
*/
@NotNull(message = "页面配置ID不能为空", groups = { AddGroup.class, EditGroup.class })
private Long pageConfigId;
/**
*
*/
@NotBlank(message = "页面名称不能为空", groups = { AddGroup.class, EditGroup.class })
private String pageConfigName;
/**
*
*/
@NotBlank(message = "页面背景不能为空", groups = { AddGroup.class, EditGroup.class })
private String pageBackground;
/**
*
*/
@NotBlank(message = "页面路由不能为空", groups = { AddGroup.class, EditGroup.class })
private String pageRouting;
/**
*
*/
@NotBlank(message = "自定义内容不能为空", groups = { AddGroup.class, EditGroup.class })
private String customContent;
/**
*
*/
@NotNull(message = "显示排序不能为空", groups = { AddGroup.class, EditGroup.class })
private Long sortOrder;
/**
*
*/
@NotBlank(message = "预留字段一不能为空", groups = { AddGroup.class, EditGroup.class })
private String fieldOne;
/**
*
*/
@NotBlank(message = "预留字段二不能为空", groups = { AddGroup.class, EditGroup.class })
private String fieldTwo;
/**
*
*/
@NotBlank(message = "预留字段三不能为空", groups = { AddGroup.class, EditGroup.class })
private String fieldThree;
/**
*
*/
@NotBlank(message = "预留字段四不能为空", groups = { AddGroup.class, EditGroup.class })
private String fieldFour;
/**
*
*/
@NotBlank(message = "预留字段五不能为空", groups = { AddGroup.class, EditGroup.class })
private String fieldFive;
/**
* 1 0
*/
@NotBlank(message = "激活标识1是 0否不能为空", groups = { AddGroup.class, EditGroup.class })
private String activeFlag;
/**
*
*/
@NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class })
private String remark;
}

@ -0,0 +1,133 @@
package org.dromara.system.domain.vo;
import org.dromara.system.domain.SysDesignDataField;
import org.dromara.system.domain.SysDesignDataSource;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* sys_design_data_source
*
* @author Yinq
* @date 2025-05-20
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = SysDesignDataSource.class)
public class SysDesignDataSourceVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* ID
*/
@ExcelProperty(value = "数据源ID")
private Long dataSourceId;
/**
*
*/
@ExcelProperty(value = "数据源名称")
private String dataSourceName;
/**
*
*/
@ExcelProperty(value = "请求方法")
private String requestMethod;
/**
*
*/
@ExcelProperty(value = "请求地址")
private String requestUrl;
/**
*
*/
@ExcelProperty(value = "数据源分组")
private String dataSourceGroup;
/**
*
*/
@ExcelProperty(value = "请求内容类型")
private String requestContentType;
/**
* (JSON XML)
*/
@ExcelProperty(value = "响应格式(JSON XML)")
private String responseType;
/**
*
*/
@ExcelProperty(value = "版本号")
private String versionCode;
/**
*
*/
@ExcelProperty(value = "显示排序")
private Long sortOrder;
/**
*
*/
@ExcelProperty(value = "预留字段一")
private String fieldOne;
/**
*
*/
@ExcelProperty(value = "预留字段二")
private String fieldTwo;
/**
*
*/
@ExcelProperty(value = "预留字段三")
private String fieldThree;
/**
*
*/
@ExcelProperty(value = "预留字段四")
private String fieldFour;
/**
*
*/
@ExcelProperty(value = "预留字段五")
private String fieldFive;
/**
* 1 0
*/
@ExcelProperty(value = "激活标识", converter = ExcelDictConvert.class)
@ExcelDictFormat(dictType = "active_flag")
private String activeFlag;
/**
*
*/
@ExcelProperty(value = "备注")
private String remark;
/**
* List
*/
private List<SysDesignDataField> designDataFieldList;
}

@ -0,0 +1,111 @@
package org.dromara.system.domain.vo;
import org.dromara.system.domain.SysDesignPageConfig;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* sys_design_page_config
*
* @author Yinq
* @date 2025-05-20
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = SysDesignPageConfig.class)
public class SysDesignPageConfigVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* ID
*/
@ExcelProperty(value = "页面配置ID")
private Long pageConfigId;
/**
*
*/
@ExcelProperty(value = "页面名称")
private String pageConfigName;
/**
*
*/
@ExcelProperty(value = "页面背景")
private String pageBackground;
/**
*
*/
@ExcelProperty(value = "页面路由")
private String pageRouting;
/**
*
*/
@ExcelProperty(value = "自定义内容")
private String customContent;
/**
*
*/
@ExcelProperty(value = "显示排序")
private Long sortOrder;
/**
*
*/
@ExcelProperty(value = "预留字段一")
private String fieldOne;
/**
*
*/
@ExcelProperty(value = "预留字段二")
private String fieldTwo;
/**
*
*/
@ExcelProperty(value = "预留字段三")
private String fieldThree;
/**
*
*/
@ExcelProperty(value = "预留字段四")
private String fieldFour;
/**
*
*/
@ExcelProperty(value = "预留字段五")
private String fieldFive;
/**
* 1 0
*/
@ExcelProperty(value = "激活标识", converter = ExcelDictConvert.class)
@ExcelDictFormat(dictType = "active_flag")
private String activeFlag;
/**
*
*/
@ExcelProperty(value = "备注")
private String remark;
}

@ -0,0 +1,15 @@
package org.dromara.system.mapper;
import org.dromara.system.domain.SysDesignDataField;
import org.dromara.system.domain.vo.SysDesignDataFieldVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* Mapper
*
* @author Yinq
* @date 2025-05-20
*/
public interface SysDesignDataFieldMapper extends BaseMapperPlus<SysDesignDataField, SysDesignDataFieldVo> {
}

@ -0,0 +1,15 @@
package org.dromara.system.mapper;
import org.dromara.system.domain.SysDesignDataSource;
import org.dromara.system.domain.vo.SysDesignDataSourceVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* Mapper
*
* @author Yinq
* @date 2025-05-20
*/
public interface SysDesignDataSourceMapper extends BaseMapperPlus<SysDesignDataSource, SysDesignDataSourceVo> {
}

@ -0,0 +1,15 @@
package org.dromara.system.mapper;
import org.dromara.system.domain.SysDesignPageConfig;
import org.dromara.system.domain.vo.SysDesignPageConfigVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* Mapper
*
* @author Yinq
* @date 2025-05-20
*/
public interface SysDesignPageConfigMapper extends BaseMapperPlus<SysDesignPageConfig, SysDesignPageConfigVo> {
}

@ -0,0 +1,68 @@
package org.dromara.system.service;
import org.dromara.system.domain.vo.SysDesignDataSourceVo;
import org.dromara.system.domain.bo.SysDesignDataSourceBo;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import java.util.Collection;
import java.util.List;
/**
* Service
*
* @author Yinq
* @date 2025-05-20
*/
public interface ISysDesignDataSourceService {
/**
*
*
* @param dataSourceId
* @return
*/
SysDesignDataSourceVo queryById(Long dataSourceId);
/**
*
*
* @param bo
* @param pageQuery
* @return
*/
TableDataInfo<SysDesignDataSourceVo> queryPageList(SysDesignDataSourceBo bo, PageQuery pageQuery);
/**
*
*
* @param bo
* @return
*/
List<SysDesignDataSourceVo> queryList(SysDesignDataSourceBo bo);
/**
*
*
* @param bo
* @return
*/
Boolean insertByBo(SysDesignDataSourceBo bo);
/**
*
*
* @param bo
* @return
*/
Boolean updateByBo(SysDesignDataSourceBo bo);
/**
*
*
* @param ids
* @param isValid
* @return
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}

@ -0,0 +1,69 @@
package org.dromara.system.service;
import org.dromara.system.domain.SysDesignPageConfig;
import org.dromara.system.domain.vo.SysDesignPageConfigVo;
import org.dromara.system.domain.bo.SysDesignPageConfigBo;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import java.util.Collection;
import java.util.List;
/**
* Service
*
* @author Yinq
* @date 2025-05-20
*/
public interface ISysDesignPageConfigService {
/**
*
*
* @param pageConfigId
* @return
*/
SysDesignPageConfigVo queryById(Long pageConfigId);
/**
*
*
* @param bo
* @param pageQuery
* @return
*/
TableDataInfo<SysDesignPageConfigVo> queryPageList(SysDesignPageConfigBo bo, PageQuery pageQuery);
/**
*
*
* @param bo
* @return
*/
List<SysDesignPageConfigVo> queryList(SysDesignPageConfigBo bo);
/**
*
*
* @param bo
* @return
*/
Boolean insertByBo(SysDesignPageConfigBo bo);
/**
*
*
* @param bo
* @return
*/
Boolean updateByBo(SysDesignPageConfigBo bo);
/**
*
*
* @param ids
* @param isValid
* @return
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}

@ -0,0 +1,177 @@
package org.dromara.system.service.impl;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.yulichang.toolkit.JoinWrappers;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import lombok.RequiredArgsConstructor;
import org.dromara.system.domain.SysDesignDataField;
import org.dromara.system.mapper.SysDesignDataFieldMapper;
import org.springframework.stereotype.Service;
import org.dromara.system.domain.bo.SysDesignDataSourceBo;
import org.dromara.system.domain.vo.SysDesignDataSourceVo;
import org.dromara.system.domain.SysDesignDataSource;
import org.dromara.system.mapper.SysDesignDataSourceMapper;
import org.dromara.system.service.ISysDesignDataSourceService;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* Service
*
* @author Yinq
* @date 2025-05-20
*/
@RequiredArgsConstructor
@Service
public class SysDesignDataSourceServiceImpl implements ISysDesignDataSourceService {
private final SysDesignDataSourceMapper baseMapper;
private final SysDesignDataFieldMapper designDataFieldMapper;
/**
*
*
* @param dataSourceId
* @return
*/
@Override
public SysDesignDataSourceVo queryById(Long dataSourceId) {
SysDesignDataSourceVo dataSourceVo = baseMapper.selectVoById(dataSourceId);
MPJLambdaWrapper<SysDesignDataField> lqw = JoinWrappers.lambda(SysDesignDataField.class);
lqw.eq(SysDesignDataField::getDataSourceId, dataSourceId);
List<SysDesignDataField> dataFieldList = designDataFieldMapper.selectList(lqw);
dataSourceVo.setDesignDataFieldList(dataFieldList);
return dataSourceVo;
}
/**
*
*
* @param bo
* @param pageQuery
* @return
*/
@Override
public TableDataInfo<SysDesignDataSourceVo> queryPageList(SysDesignDataSourceBo bo, PageQuery pageQuery) {
MPJLambdaWrapper<SysDesignDataSource> lqw = buildQueryWrapper(bo);
Page<SysDesignDataSourceVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
*
*
* @param bo
* @return
*/
@Override
public List<SysDesignDataSourceVo> queryList(SysDesignDataSourceBo bo) {
MPJLambdaWrapper<SysDesignDataSource> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private MPJLambdaWrapper<SysDesignDataSource> buildQueryWrapper(SysDesignDataSourceBo bo) {
Map<String, Object> params = bo.getParams();
MPJLambdaWrapper<SysDesignDataSource> lqw = JoinWrappers.lambda(SysDesignDataSource.class)
.selectAll(SysDesignDataSource.class)
.eq(bo.getDataSourceId() != null, SysDesignDataSource::getDataSourceId, bo.getDataSourceId())
.like(StringUtils.isNotBlank(bo.getDataSourceName()), SysDesignDataSource::getDataSourceName, bo.getDataSourceName())
.eq(StringUtils.isNotBlank(bo.getRequestMethod()), SysDesignDataSource::getRequestMethod, bo.getRequestMethod())
.eq(StringUtils.isNotBlank(bo.getRequestUrl()), SysDesignDataSource::getRequestUrl, bo.getRequestUrl())
.eq(StringUtils.isNotBlank(bo.getDataSourceGroup()), SysDesignDataSource::getDataSourceGroup, bo.getDataSourceGroup())
.eq(StringUtils.isNotBlank(bo.getRequestContentType()), SysDesignDataSource::getRequestContentType, bo.getRequestContentType())
.eq(StringUtils.isNotBlank(bo.getResponseType()), SysDesignDataSource::getResponseType, bo.getResponseType())
.eq(StringUtils.isNotBlank(bo.getVersionCode()), SysDesignDataSource::getVersionCode, bo.getVersionCode())
.eq(bo.getSortOrder() != null, SysDesignDataSource::getSortOrder, bo.getSortOrder())
.eq(StringUtils.isNotBlank(bo.getFieldOne()), SysDesignDataSource::getFieldOne, bo.getFieldOne())
.eq(StringUtils.isNotBlank(bo.getFieldTwo()), SysDesignDataSource::getFieldTwo, bo.getFieldTwo())
.eq(StringUtils.isNotBlank(bo.getFieldThree()), SysDesignDataSource::getFieldThree, bo.getFieldThree())
.eq(StringUtils.isNotBlank(bo.getFieldFour()), SysDesignDataSource::getFieldFour, bo.getFieldFour())
.eq(StringUtils.isNotBlank(bo.getFieldFive()), SysDesignDataSource::getFieldFive, bo.getFieldFive())
.eq(StringUtils.isNotBlank(bo.getActiveFlag()), SysDesignDataSource::getActiveFlag, bo.getActiveFlag())
.orderByAsc(SysDesignDataSource::getCreateTime);
return lqw;
}
/**
*
*
* @param bo
* @return
*/
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean insertByBo(SysDesignDataSourceBo bo) {
SysDesignDataSource add = MapstructUtils.convert(bo, SysDesignDataSource.class);
List<SysDesignDataField> designDataFieldList = bo.getDesignDataFieldList();
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
assert add != null;
bo.setDataSourceId(add.getDataSourceId());
if (!designDataFieldList.isEmpty()) {
for (SysDesignDataField designDataField : designDataFieldList) {
designDataField.setDataSourceId(add.getDataSourceId());
designDataFieldMapper.insert(designDataField);
}
}
}
return flag;
}
/**
*
*
* @param bo
* @return
*/
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean updateByBo(SysDesignDataSourceBo bo) {
SysDesignDataSource update = MapstructUtils.convert(bo, SysDesignDataSource.class);
List<SysDesignDataField> designDataFieldList = bo.getDesignDataFieldList();
validEntityBeforeSave(update);
if (!designDataFieldList.isEmpty()) {
// MPJLambdaWrapper<SysDesignDataField> lqw = JoinWrappers.lambda(SysDesignDataField.class);
// lqw.eq(bo.getDataSourceId() != null, SysDesignDataField::getDataSourceId, bo.getDataSourceId());
// List<SysDesignDataField> dataFieldList = designDataFieldMapper.selectList(lqw);
// for (SysDesignDataField field : dataFieldList) {
// designDataFieldMapper.deleteById(field.getDataFieldId());
// }
for (SysDesignDataField dataField : designDataFieldList) {
designDataFieldMapper.insertOrUpdate(dataField);
}
}
return baseMapper.updateById(update) > 0;
}
/**
*
*/
private void validEntityBeforeSave(SysDesignDataSource entity) {
//TODO 做一些数据校验,如唯一约束
}
/**
*
*
* @param ids
* @param isValid
* @return
*/
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if (isValid) {
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteByIds(ids) > 0;
}
}

@ -0,0 +1,142 @@
package org.dromara.system.service.impl;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.yulichang.toolkit.JoinWrappers;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.dromara.system.domain.bo.SysDesignPageConfigBo;
import org.dromara.system.domain.vo.SysDesignPageConfigVo;
import org.dromara.system.domain.SysDesignPageConfig;
import org.dromara.system.mapper.SysDesignPageConfigMapper;
import org.dromara.system.service.ISysDesignPageConfigService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* Service
*
* @author Yinq
* @date 2025-05-20
*/
@RequiredArgsConstructor
@Service
public class SysDesignPageConfigServiceImpl implements ISysDesignPageConfigService {
private final SysDesignPageConfigMapper baseMapper;
/**
*
*
* @param pageConfigId
* @return
*/
@Override
public SysDesignPageConfigVo queryById(Long pageConfigId){
return baseMapper.selectVoById(pageConfigId);
}
/**
*
*
* @param bo
* @param pageQuery
* @return
*/
@Override
public TableDataInfo<SysDesignPageConfigVo> queryPageList(SysDesignPageConfigBo bo, PageQuery pageQuery) {
MPJLambdaWrapper<SysDesignPageConfig> lqw = buildQueryWrapper(bo);
Page<SysDesignPageConfigVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
*
*
* @param bo
* @return
*/
@Override
public List<SysDesignPageConfigVo> queryList(SysDesignPageConfigBo bo) {
MPJLambdaWrapper<SysDesignPageConfig> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private MPJLambdaWrapper<SysDesignPageConfig> buildQueryWrapper(SysDesignPageConfigBo bo) {
Map<String, Object> params = bo.getParams();
MPJLambdaWrapper<SysDesignPageConfig> lqw = JoinWrappers.lambda(SysDesignPageConfig.class)
.selectAll(SysDesignPageConfig.class)
.eq(bo.getPageConfigId() != null, SysDesignPageConfig::getPageConfigId, bo.getPageConfigId())
.like(StringUtils.isNotBlank(bo.getPageConfigName()), SysDesignPageConfig::getPageConfigName, bo.getPageConfigName())
.eq(StringUtils.isNotBlank(bo.getPageBackground()), SysDesignPageConfig::getPageBackground, bo.getPageBackground())
.eq(StringUtils.isNotBlank(bo.getPageRouting()), SysDesignPageConfig::getPageRouting, bo.getPageRouting())
.eq(StringUtils.isNotBlank(bo.getCustomContent()), SysDesignPageConfig::getCustomContent, bo.getCustomContent())
.eq(bo.getSortOrder() != null, SysDesignPageConfig::getSortOrder, bo.getSortOrder())
.eq(StringUtils.isNotBlank(bo.getFieldOne()), SysDesignPageConfig::getFieldOne, bo.getFieldOne())
.eq(StringUtils.isNotBlank(bo.getFieldTwo()), SysDesignPageConfig::getFieldTwo, bo.getFieldTwo())
.eq(StringUtils.isNotBlank(bo.getFieldThree()), SysDesignPageConfig::getFieldThree, bo.getFieldThree())
.eq(StringUtils.isNotBlank(bo.getFieldFour()), SysDesignPageConfig::getFieldFour, bo.getFieldFour())
.eq(StringUtils.isNotBlank(bo.getFieldFive()), SysDesignPageConfig::getFieldFive, bo.getFieldFive())
.eq(StringUtils.isNotBlank(bo.getActiveFlag()), SysDesignPageConfig::getActiveFlag, bo.getActiveFlag())
.orderByDesc(SysDesignPageConfig::getCreateTime);
return lqw;
}
/**
*
*
* @param bo
* @return
*/
@Override
public Boolean insertByBo(SysDesignPageConfigBo bo) {
SysDesignPageConfig add = MapstructUtils.convert(bo, SysDesignPageConfig.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setPageConfigId(add.getPageConfigId());
}
return flag;
}
/**
*
*
* @param bo
* @return
*/
@Override
public Boolean updateByBo(SysDesignPageConfigBo bo) {
SysDesignPageConfig update = MapstructUtils.convert(bo, SysDesignPageConfig.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
*
*/
private void validEntityBeforeSave(SysDesignPageConfig entity){
//TODO 做一些数据校验,如唯一约束
}
/**
*
*
* @param ids
* @param isValid
* @return
*/
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteByIds(ids) > 0;
}
}

@ -0,0 +1,7 @@
<?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="org.dromara.system.mapper.SysDesignDataFieldMapper">
</mapper>

@ -0,0 +1,7 @@
<?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="org.dromara.system.mapper.SysDesignDataSourceMapper">
</mapper>

@ -0,0 +1,7 @@
<?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="org.dromara.system.mapper.SysDesignPageConfigMapper">
</mapper>
Loading…
Cancel
Save