parent
5f1e778fd6
commit
ad5eb5aa48
@ -0,0 +1,42 @@ |
||||
package com.keyware.shandan.system.controller; |
||||
|
||||
import cn.hutool.json.JSONArray; |
||||
import cn.hutool.json.JSONUtil; |
||||
import com.keyware.shandan.common.entity.Result; |
||||
import com.keyware.shandan.common.util.StringUtils; |
||||
import com.keyware.shandan.system.entity.SysTheadConfig; |
||||
import com.keyware.shandan.system.service.SysTheadConfigService; |
||||
import org.springframework.security.core.Authentication; |
||||
import org.springframework.web.bind.annotation.PostMapping; |
||||
import org.springframework.web.bind.annotation.RequestMapping; |
||||
import org.springframework.web.bind.annotation.RestController; |
||||
|
||||
import java.util.List; |
||||
|
||||
/** |
||||
* 前端数据表格表头配置前端控制器 |
||||
* |
||||
* @author GuoXin |
||||
* @date 2023/8/30 |
||||
*/ |
||||
@RestController |
||||
@RequestMapping("/sys/thead/config") |
||||
public class SysTheadConfigController { |
||||
private final SysTheadConfigService theadConfigService; |
||||
|
||||
public SysTheadConfigController(SysTheadConfigService theadConfigService) { |
||||
this.theadConfigService = theadConfigService; |
||||
} |
||||
|
||||
@PostMapping(value = "/api/save") |
||||
public Result<Object> save(String params, Authentication auth) { |
||||
JSONArray jsonArray = JSONUtil.parseArray(params); |
||||
List<SysTheadConfig> list = jsonArray.toList(SysTheadConfig.class); |
||||
list.forEach(item->{ |
||||
if(!StringUtils.hasText(item.getId())){ |
||||
item.genId(auth.getName()); |
||||
} |
||||
}); |
||||
return Result.of(theadConfigService.saveOrUpdateBatch(list)); |
||||
} |
||||
} |
@ -0,0 +1,65 @@ |
||||
package com.keyware.shandan.system.entity; |
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType; |
||||
import com.baomidou.mybatisplus.annotation.OrderBy; |
||||
import com.baomidou.mybatisplus.annotation.TableId; |
||||
import com.baomidou.mybatisplus.annotation.TableName; |
||||
import com.keyware.shandan.common.entity.BaseEntity; |
||||
import com.keyware.shandan.common.util.MD5Util; |
||||
import lombok.Builder; |
||||
import lombok.Data; |
||||
import lombok.EqualsAndHashCode; |
||||
|
||||
/** |
||||
* 前端数据表格表头配置实体类 |
||||
* |
||||
* @author GuoXin |
||||
* @date 2023/8/30 |
||||
*/ |
||||
@Data |
||||
@Builder |
||||
@EqualsAndHashCode(callSuper = true) |
||||
@TableName("SYS_THEAD_CONFIG") |
||||
public class SysTheadConfig extends BaseEntity { |
||||
|
||||
private static final long serialVersionUID = 1480474706145625172L; |
||||
/** |
||||
* 主键 |
||||
*/ |
||||
@TableId(type = IdType.INPUT) |
||||
private String id; |
||||
/** |
||||
* 数据表ID,对应前端页面上的layui中table组件的id |
||||
*/ |
||||
private String tableId; |
||||
/** |
||||
* 列名 |
||||
*/ |
||||
private String colName; |
||||
/** |
||||
* 列标题 |
||||
*/ |
||||
private String colTitle; |
||||
/** |
||||
* 列顺序 |
||||
*/ |
||||
@OrderBy(isDesc = false, sort = 2) |
||||
private Integer colSort; |
||||
/** |
||||
* 列宽度 |
||||
*/ |
||||
private String colWidth; |
||||
/** |
||||
* 是否显示 |
||||
*/ |
||||
@OrderBy(sort = 1) |
||||
private Boolean isShow; |
||||
/** |
||||
* 是否允许排序 |
||||
*/ |
||||
private Boolean isSort; |
||||
|
||||
public void genId(String userName) { |
||||
this.id = MD5Util.getMD5(tableId + colName + userName); |
||||
} |
||||
} |
@ -0,0 +1,15 @@ |
||||
package com.keyware.shandan.system.mapper; |
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||
import com.keyware.shandan.system.entity.SysTheadConfig; |
||||
import org.apache.ibatis.annotations.Mapper; |
||||
|
||||
/** |
||||
* 前端数据表格表头配置数据库操作映射接口 |
||||
* |
||||
* @author GuoXin |
||||
* @date 2023/8/30 |
||||
*/ |
||||
@Mapper |
||||
public interface SysTheadConfigMapper extends BaseMapper<SysTheadConfig> { |
||||
} |
@ -0,0 +1,16 @@ |
||||
package com.keyware.shandan.system.service; |
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService; |
||||
import com.keyware.shandan.system.entity.SysTheadConfig; |
||||
|
||||
import java.util.List; |
||||
|
||||
/** |
||||
* 前端数据表格表头配置数据库操作接口 |
||||
* |
||||
* @author GuoXin |
||||
* @date 2023/8/30 |
||||
*/ |
||||
public interface SysTheadConfigService extends IService<SysTheadConfig> { |
||||
List<SysTheadConfig> listByCreateUser(String userId); |
||||
} |
@ -0,0 +1,78 @@ |
||||
package com.keyware.shandan.system.service.impl; |
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
||||
import com.keyware.shandan.common.util.StringUtils; |
||||
import com.keyware.shandan.system.entity.SysTheadConfig; |
||||
import com.keyware.shandan.system.mapper.SysTheadConfigMapper; |
||||
import com.keyware.shandan.system.service.SysTheadConfigService; |
||||
import org.springframework.stereotype.Service; |
||||
|
||||
import java.util.ArrayList; |
||||
import java.util.Collection; |
||||
import java.util.Collections; |
||||
import java.util.List; |
||||
|
||||
/** |
||||
* 前端数据表格表头配置数据库操作接口实现类 |
||||
* |
||||
* @author GuoXin |
||||
* @date 2023/8/30 |
||||
*/ |
||||
@Service |
||||
public class SysTheadConfigServiceImpl extends ServiceImpl<SysTheadConfigMapper, SysTheadConfig> implements SysTheadConfigService { |
||||
static final String resourceTableId = "browser_resource_table", fileTableId = "browser_file_table"; |
||||
static List<SysTheadConfig> defaultConfig = new ArrayList<>(); |
||||
|
||||
static { |
||||
SysTheadConfig.SysTheadConfigBuilder builder = SysTheadConfig.builder(); |
||||
// 初始化综合浏览系统资源查询数据表表头默认配置
|
||||
defaultConfig.add(builder.tableId(resourceTableId).colName("resourceName").colTitle("资源名称").colSort(1).colWidth("100").isShow(true).isSort(false).build()); |
||||
defaultConfig.add(builder.tableId(resourceTableId).colName("resourceComment").colTitle("资源注释").colSort(2).colWidth("100").isShow(true).isSort(false).build()); |
||||
defaultConfig.add(builder.tableId(resourceTableId).colName("directoryPath").colTitle("目录路径").colSort(3).colWidth("100").isShow(true).isSort(false).build()); |
||||
defaultConfig.add(builder.tableId(resourceTableId).colName("themeTask").colTitle("主题任务").colSort(4).colWidth("100").isShow(true).isSort(false).build()); |
||||
defaultConfig.add(builder.tableId(resourceTableId).colName("dataSource").colTitle("数据来源").colSort(5).colWidth("100").isShow(true).isSort(false).build()); |
||||
defaultConfig.add(builder.tableId(resourceTableId).colName("taskTime").colTitle("任务时间").colSort(6).colWidth("100").isShow(true).isSort(false).build()); |
||||
defaultConfig.add(builder.tableId(resourceTableId).colName("dataType").colTitle("数据类型").colSort(7).colWidth("100").isShow(true).isSort(false).build()); |
||||
defaultConfig.add(builder.tableId(resourceTableId).colName("secretLevel").colTitle("数据密级").colSort(8).colWidth("100").isShow(true).isSort(false).build()); |
||||
defaultConfig.add(builder.tableId(resourceTableId).colName("resourceType").colTitle("资源类型").colSort(9).colWidth("100").isShow(true).isSort(false).build()); |
||||
// 初始化综合浏览系统文件全文检索数据表表头默认配置
|
||||
defaultConfig.add(builder.tableId(fileTableId).colName("fileName").colTitle("文件名称").colSort(9).colWidth("100").isShow(true).isSort(false).build()); |
||||
defaultConfig.add(builder.tableId(fileTableId).colName("fileType").colTitle("文件类型").colSort(9).colWidth("100").isShow(true).isSort(false).build()); |
||||
defaultConfig.add(builder.tableId(fileTableId).colName("fileSize").colTitle("文件大小").colSort(9).colWidth("100").isShow(true).isSort(false).build()); |
||||
defaultConfig.add(builder.tableId(fileTableId).colName("remark").colTitle("文件描述").colSort(9).colWidth("100").isShow(true).isSort(false).build()); |
||||
defaultConfig.add(builder.tableId(fileTableId).colName("exerciseData").colTitle("是否演训数据").colSort(9).colWidth("100").isShow(true).isSort(false).build()); |
||||
defaultConfig.add(builder.tableId(fileTableId).colName("entryStaff").colTitle("录入人员").colSort(9).colWidth("100").isShow(true).isSort(false).build()); |
||||
defaultConfig.add(builder.tableId(fileTableId).colName("equipmentModel").colTitle("装备型号").colSort(9).colWidth("100").isShow(true).isSort(false).build()); |
||||
defaultConfig.add(builder.tableId(fileTableId).colName("inputDate").colTitle("任务时间").colSort(9).colWidth("100").isShow(true).isSort(false).build()); |
||||
defaultConfig.add(builder.tableId(fileTableId).colName("source").colTitle("文件来源").colSort(9).colWidth("100").isShow(true).isSort(false).build()); |
||||
defaultConfig.add(builder.tableId(fileTableId).colName("taskCode").colTitle("任务代号").colSort(9).colWidth("100").isShow(true).isSort(false).build()); |
||||
defaultConfig.add(builder.tableId(fileTableId).colName("taskNature").colTitle("任务性质").colSort(9).colWidth("100").isShow(true).isSort(false).build()); |
||||
defaultConfig.add(builder.tableId(fileTableId).colName("troopCode").colTitle("部队代号").colSort(9).colWidth("100").isShow(true).isSort(false).build()); |
||||
defaultConfig.add(builder.tableId(fileTableId).colName("targetNumber").colTitle("目标/靶标类型").colSort(9).colWidth("100").isShow(true).isSort(false).build()); |
||||
defaultConfig.add(builder.tableId(fileTableId).colName("missileNumber").colTitle("导弹编号").colSort(9).colWidth("100").isShow(true).isSort(false).build()); |
||||
defaultConfig.add(builder.tableId(fileTableId).colName("themeTask").colTitle("主题任务").colSort(9).colWidth("100").isShow(true).isSort(false).build()); |
||||
defaultConfig.add(builder.tableId(fileTableId).colName("secretLevel").colTitle("文件密级").colSort(9).colWidth("100").isShow(true).isSort(false).build()); |
||||
} |
||||
|
||||
@Override |
||||
public List<SysTheadConfig> listByCreateUser(String userId) { |
||||
if (StringUtils.hasText(userId)) { |
||||
LambdaQueryWrapper<SysTheadConfig> query = new LambdaQueryWrapper<>(); |
||||
query.eq(SysTheadConfig::getCreateUser, userId); |
||||
List<SysTheadConfig> list = list(query); |
||||
if (list.size() == 0) { |
||||
// 为默认数据生成包含用户主键的ID
|
||||
defaultConfig.forEach(conf -> conf.genId(userId)); |
||||
return defaultConfig; |
||||
} |
||||
return list; |
||||
} |
||||
return Collections.emptyList(); |
||||
} |
||||
|
||||
@Override |
||||
public boolean saveOrUpdateBatch(Collection<SysTheadConfig> entityList, int batchSize) { |
||||
return super.saveOrUpdateBatch(entityList, batchSize); |
||||
} |
||||
} |
Reference in new issue