Pārlūkot izejas kodu

Merge remote-tracking branch 'origin/master' into master

yangyj 2 gadi atpakaļ
vecāks
revīzija
8f65a9c83a

+ 36 - 0
blade-service-api/blade-archive-api/src/main/java/org/springblade/archive/entity/ArchiveProjectConfig.java

@@ -0,0 +1,36 @@
+package org.springblade.archive.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.core.mp.base.BaseEntity;
+
+/**
+ * 档案配置实体类
+ */
+@Data
+@TableName("m_archive_project_config")
+@EqualsAndHashCode(callSuper = true)
+public class ArchiveProjectConfig extends BaseEntity {
+
+    /**
+     * 租户ID
+     */
+    private String tenantId;
+
+    /**
+     * 项目ID
+     */
+    private Long projectId;
+
+    /**
+     * 工程类型
+     */
+    private Integer projectType;
+
+    /**
+     * 四要素类型
+     */
+    private String factorType;
+
+}

+ 53 - 0
blade-service/blade-archive/src/main/java/org/springblade/archive/controller/ArchiveProjectConfigController.java

@@ -0,0 +1,53 @@
+package org.springblade.archive.controller;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springblade.archive.entity.ArchiveProjectConfig;
+import org.springblade.archive.service.IArchiveProjectConfigService;
+import org.springblade.core.boot.ctrl.BladeController;
+import org.springblade.core.tool.api.R;
+import org.springframework.http.HttpStatus;
+import org.springframework.web.bind.annotation.*;
+
+import javax.validation.Valid;
+
+@RestController
+@AllArgsConstructor
+@RequestMapping("/archiveProjectConfig")
+@Api(value = "档案配置信息", tags = "档案配置信息")
+public class ArchiveProjectConfigController {
+
+    private final IArchiveProjectConfigService archiveProjectConfigService;
+
+    /**
+     * 修改档案配置信息
+     **/
+    @PostMapping("/update")
+    @ApiOperationSupport(order = 5)
+    @ApiOperation(value = "修改档案配置", notes = "修改档案配置")
+    public R update(@Valid @RequestBody ArchiveProjectConfig config) {
+        ArchiveProjectConfig archiveProjectConfig = archiveProjectConfigService.getById(config.getId());
+        if (archiveProjectConfig == null) {
+            return  R.fail(200, "未查询到对应节点信息");
+        }
+
+        archiveProjectConfig.setProjectType(config.getProjectType());
+        archiveProjectConfig.setFactorType(config.getFactorType());
+
+        boolean result = archiveProjectConfigService.updateById(archiveProjectConfig);
+        return R.status(result);
+    }
+
+    /**
+     * 根据项目ID获取档案配置信息
+     **/
+    @GetMapping("/getByProjectId")
+    @ApiOperationSupport(order = 6)
+    @ApiOperation(value = "根据项目ID获取档案配置信息", notes = "根据项目ID获取档案配置信息")
+    public R<ArchiveProjectConfig> getByProjectId(@RequestParam Long projectId) {
+        ArchiveProjectConfig config = archiveProjectConfigService.getByProjectIdOrNew(projectId);
+        return R.data(config);
+    }
+}
+

+ 15 - 0
blade-service/blade-archive/src/main/java/org/springblade/archive/mapper/ArchiveProjectConfigMapper.java

@@ -0,0 +1,15 @@
+package org.springblade.archive.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.springblade.archive.entity.ArchiveProjectConfig;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @since 2023-04-09
+ */
+public interface ArchiveProjectConfigMapper extends BaseMapper<ArchiveProjectConfig> {
+
+}

+ 5 - 0
blade-service/blade-archive/src/main/java/org/springblade/archive/mapper/ArchiveProjectConfigMapper.xml

@@ -0,0 +1,5 @@
+<?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.springblade.archive.mapper.ArchiveProjectConfigMapper">
+
+</mapper>

+ 19 - 0
blade-service/blade-archive/src/main/java/org/springblade/archive/service/IArchiveProjectConfigService.java

@@ -0,0 +1,19 @@
+package org.springblade.archive.service;
+
+import org.springblade.archive.entity.ArchiveProjectConfig;
+import org.springblade.core.mp.base.BaseService;
+
+/**
+ * 档案配置服务接口
+ */
+public interface IArchiveProjectConfigService extends BaseService<ArchiveProjectConfig> {
+
+    /**
+     * 根据项目ID获取对应的档案配置信息,如不存在则创建默认的对象并保存到数据库
+     *
+     * @param projectId 项目ID
+     * @return ArchiveProjectConfig 返回项目对应的档案配置信息
+     */
+    ArchiveProjectConfig getByProjectIdOrNew(Long projectId);
+
+}

+ 35 - 0
blade-service/blade-archive/src/main/java/org/springblade/archive/service/impl/ArchiveProjectConfigServiceImpl.java

@@ -0,0 +1,35 @@
+package org.springblade.archive.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import org.springblade.archive.entity.ArchiveProjectConfig;
+import org.springblade.archive.mapper.ArchiveProjectConfigMapper;
+import org.springblade.archive.service.IArchiveProjectConfigService;
+import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springblade.core.secure.utils.AuthUtil;
+import org.springframework.stereotype.Service;
+
+@Service
+public class ArchiveProjectConfigServiceImpl extends BaseServiceImpl<ArchiveProjectConfigMapper, ArchiveProjectConfig> implements IArchiveProjectConfigService {
+
+    /**
+     * 根据项目ID获取对应的档案配置信息,如不存在则创建默认的对象并保存到数据库
+     *
+     * @param projectId
+     * @return
+     */
+    @Override
+    public ArchiveProjectConfig getByProjectIdOrNew(Long projectId) {
+        ArchiveProjectConfig config = baseMapper.selectOne(new LambdaQueryWrapper<ArchiveProjectConfig>().eq(ArchiveProjectConfig::getProjectId, projectId));
+        if (config == null) {
+            // 创建新对象
+            config = new ArchiveProjectConfig();
+            config.setTenantId(AuthUtil.getTenantId());
+            config.setProjectId(projectId);
+            config.setFactorType("1,2,3,4"); // 设置默认值
+            config.setProjectType(3);
+            this.save(config); // 保存到数据库
+        }
+        return config;
+    }
+}
+