From e4e164666e4f2ad7ab2229242055e143a79c80bc Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期三, 27 十一月 2024 16:30:45 +0800
Subject: [PATCH] 文件上传对象+主管部门下拉
---
start/src/main/resources/application-dev.yml | 16 ++
business/src/main/java/com/ycl/mapper/FileMapper.java | 23 +++
start/src/main/resources/application-prod.yml | 14 ++
start/src/main/java/com/ycl/web/controller/system/SysDeptController.java | 15 ++
start/src/main/resources/application.yml | 15 --
system/src/main/java/com/ycl/system/service/ISysDeptService.java | 8 +
business/src/main/java/com/ycl/service/impl/FileServiceImpl.java | 72 ++++++++++
business/src/main/java/com/ycl/controller/ProjectInfoController.java | 10 +
business/src/main/java/com/ycl/domain/entity/File.java | 48 ++++++
business/src/main/java/com/ycl/service/FileService.java | 46 ++++++
common/src/main/java/com/ycl/common/utils/ProjectCodeGenerator.java | 49 +++++++
system/src/main/java/com/ycl/system/service/impl/SysDeptServiceImpl.java | 19 ++
business/src/main/resources/mapper/FileMapper.xml | 30 ++++
13 files changed, 349 insertions(+), 16 deletions(-)
diff --git a/business/src/main/java/com/ycl/controller/ProjectInfoController.java b/business/src/main/java/com/ycl/controller/ProjectInfoController.java
index 1d14514..7ce9b7c 100644
--- a/business/src/main/java/com/ycl/controller/ProjectInfoController.java
+++ b/business/src/main/java/com/ycl/controller/ProjectInfoController.java
@@ -3,6 +3,7 @@
import com.ycl.common.base.Result;
import com.ycl.common.group.Add;
import com.ycl.common.group.Update;
+import com.ycl.common.utils.ProjectCodeGenerator;
import com.ycl.domain.form.ProjectInfoForm;
import com.ycl.domain.query.ProjectInfoQuery;
import com.ycl.service.ProjectInfoService;
@@ -79,4 +80,13 @@
public Result list() {
return projectInfoService.all();
}
+
+ /**
+ * 鐢熸垚椤圭洰缂栧彿
+ * @return 椤圭洰缂栧彿
+ */
+ @GetMapping("/getProjectCode")
+ public Result generateProjectCode() {
+ return Result.ok().data(ProjectCodeGenerator.generateProjectCode());
+ };
}
diff --git a/business/src/main/java/com/ycl/domain/entity/File.java b/business/src/main/java/com/ycl/domain/entity/File.java
new file mode 100644
index 0000000..c71fac2
--- /dev/null
+++ b/business/src/main/java/com/ycl/domain/entity/File.java
@@ -0,0 +1,48 @@
+package com.ycl.domain.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.ycl.system.domain.base.AbsEntity;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ * 鏂囦欢琛�
+ *
+ * @author flq
+ * @since 2024-11-22
+ */
+@Data
+@TableName("t_file")
+public class File extends AbsEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ @TableId(value = "id", type = IdType.ASSIGN_ID)
+ private Integer id;
+ /**
+ * 鏂囦欢璺緞
+ */
+ private String url;
+ /**
+ * 鍏宠仈鐨勫悇绉嶄笟鍔$殑id
+ */
+ private Long busId;
+ /**
+ * 鏂囦欢鍒嗙被
+ */
+ private String type;
+ /**
+ * 鏂囦欢鍚�
+ */
+ private String name;
+ /**
+ * 鏂囦欢鍘熷鍚�
+ */
+ private String originalName;
+
+}
diff --git a/business/src/main/java/com/ycl/mapper/FileMapper.java b/business/src/main/java/com/ycl/mapper/FileMapper.java
new file mode 100644
index 0000000..226d6fc
--- /dev/null
+++ b/business/src/main/java/com/ycl/mapper/FileMapper.java
@@ -0,0 +1,23 @@
+package com.ycl.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ycl.domain.entity.File;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 椤圭洰鏂囦欢鍏宠仈琛� Mapper 鎺ュ彛
+ *
+ * @author flq
+ * @since 2024-11-27
+ */
+@Mapper
+public interface FileMapper extends BaseMapper<File> {
+
+ /**
+ * id鏌ユ壘椤圭洰鏂囦欢鍏宠仈琛�
+ * @param id
+ * @return
+ */
+ File getById(Integer id);
+
+}
diff --git a/business/src/main/java/com/ycl/service/FileService.java b/business/src/main/java/com/ycl/service/FileService.java
new file mode 100644
index 0000000..04891c9
--- /dev/null
+++ b/business/src/main/java/com/ycl/service/FileService.java
@@ -0,0 +1,46 @@
+package com.ycl.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ycl.common.base.Result;
+import com.ycl.domain.entity.File;
+
+import java.util.List;
+
+/**
+ * 椤圭洰鏂囦欢鍏宠仈琛� 鏈嶅姟绫�
+ *
+ * @author flq
+ * @since 2024-11-27
+ */
+public interface FileService extends IService<File> {
+
+ /**
+ * 娣诲姞
+ * @param file
+ * @return
+ */
+ Result add(File file);
+
+
+ /**
+ * 鎵归噺鍒犻櫎
+ * @param ids
+ * @return
+ */
+ Result remove(List<String> ids);
+
+ /**
+ * id鍒犻櫎
+ * @param id
+ * @return
+ */
+ Result removeById(String id);
+
+ /**
+ * 鏍规嵁id鏌ユ壘
+ * @param id
+ * @return
+ */
+ Result detail(Integer id);
+
+}
diff --git a/business/src/main/java/com/ycl/service/impl/FileServiceImpl.java b/business/src/main/java/com/ycl/service/impl/FileServiceImpl.java
new file mode 100644
index 0000000..7bced1f
--- /dev/null
+++ b/business/src/main/java/com/ycl/service/impl/FileServiceImpl.java
@@ -0,0 +1,72 @@
+package com.ycl.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ycl.common.base.Result;
+import com.ycl.domain.entity.File;
+import com.ycl.mapper.FileMapper;
+import com.ycl.service.FileService;
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Service;
+import org.springframework.util.Assert;
+
+import java.util.List;
+
+/**
+ * 椤圭洰鏂囦欢鍏宠仈琛� 鏈嶅姟瀹炵幇绫�
+ *
+ * @author flq
+ * @since 2024-11-27
+ */
+@Service
+@RequiredArgsConstructor
+public class FileServiceImpl extends ServiceImpl<FileMapper, File> implements FileService {
+
+ private final FileMapper fileMapper;
+
+ /**
+ * 娣诲姞
+ * @param
+ * @return
+ */
+ @Override
+ public Result add(File file) {
+ baseMapper.insert(file);
+ return Result.ok("娣诲姞鎴愬姛");
+ }
+
+
+ /**
+ * 鎵归噺鍒犻櫎
+ * @param ids
+ * @return
+ */
+ @Override
+ public Result remove(List<String> ids) {
+ baseMapper.deleteBatchIds(ids);
+ return Result.ok("鍒犻櫎鎴愬姛");
+ }
+
+ /**
+ * id鍒犻櫎
+ * @param id
+ * @return
+ */
+ @Override
+ public Result removeById(String id) {
+ baseMapper.deleteById(id);
+ return Result.ok("鍒犻櫎鎴愬姛");
+ }
+
+ /**
+ * 鏍规嵁id鏌ユ壘
+ * @param id
+ * @return
+ */
+ @Override
+ public Result detail(Integer id) {
+ File vo = baseMapper.getById(id);
+ Assert.notNull(vo, "璁板綍涓嶅瓨鍦�");
+ return Result.ok().data(vo);
+ }
+
+}
diff --git a/business/src/main/resources/mapper/FileMapper.xml b/business/src/main/resources/mapper/FileMapper.xml
new file mode 100644
index 0000000..686e6c2
--- /dev/null
+++ b/business/src/main/resources/mapper/FileMapper.xml
@@ -0,0 +1,30 @@
+<?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.ycl.mapper.FileMapper">
+
+ <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+ <resultMap id="BaseResultMap" type="com.ycl.domain.entity.File">
+ <result column="url" property="url" />
+ <result column="bus_id" property="busId" />
+ <result column="type" property="type" />
+ <result column="name" property="name" />
+ <result column="original_name" property="originalName" />
+ </resultMap>
+
+
+ <select id="getById" resultMap="BaseResultMap">
+ SELECT
+ TF.url,
+ TF.bus_id,
+ TF.type,
+ TF.name,
+ TF.original_name,
+ TF.id
+ FROM
+ t_file TF
+ WHERE
+ TF.id = #{id} AND TF.deleted = 0
+ </select>
+
+
+</mapper>
diff --git a/common/src/main/java/com/ycl/common/utils/ProjectCodeGenerator.java b/common/src/main/java/com/ycl/common/utils/ProjectCodeGenerator.java
new file mode 100644
index 0000000..30bf6e7
--- /dev/null
+++ b/common/src/main/java/com/ycl/common/utils/ProjectCodeGenerator.java
@@ -0,0 +1,49 @@
+package com.ycl.common.utils;
+
+import java.util.Random;
+
+/**
+ * 椤圭洰浠g爜鐢熸垚宸ュ叿绫�
+ *
+ * @Author: ljx
+ * @CreateTime: 2024-11-04 15:06
+ */
+
+public class ProjectCodeGenerator {
+
+ private static final String PROJECT_PREFIX = "SHXM-"; // 椤圭洰缂栧彿鍓嶇紑
+ private static final String ENGINEERING_PREFIX = "SHGC-";
+ private static final Random RANDOM = new Random();
+
+ /**
+ * 鏍规嵁褰撳墠鏃堕棿鎴冲拰鐗瑰畾浠g爜鐢熸垚椤圭洰缂栧彿
+ * @return 鐢熸垚鐨勯」鐩紪鍙�
+ */
+ public static String generateProjectCode() {
+ // 鑾峰彇褰撳墠鏃堕棿鐨勬椂闂存埑
+ long timestamp = System.currentTimeMillis();
+ // 鐢熸垚闅忔満鏁帮紝澧炲姞鍞竴鎬�
+ int randomNum = RANDOM.nextInt(1000);
+ // 鎷兼帴鍓嶇紑銆佹椂闂存埑鍜岄殢鏈烘暟鐢熸垚椤圭洰缂栧彿
+ return PROJECT_PREFIX + timestamp + String.format("%03d", randomNum);
+ }
+
+ /**
+ * 鐢熸垚宸ョ▼缂栫爜
+ * @return 鐢熸垚宸ョ▼缂栧彿
+ */
+ public static String generateEngineeringCode() {
+ // 鑾峰彇褰撳墠鏃堕棿鐨勬椂闂存埑
+ long timestamp = System.currentTimeMillis();
+ // 鐢熸垚闅忔満鏁帮紝澧炲姞鍞竴鎬�
+ int randomNum = RANDOM.nextInt(1000);
+ // 鎷兼帴鍓嶇紑銆佹椂闂存埑鍜岄殢鏈烘暟鐢熸垚宸ョ▼缂栧彿
+ return ENGINEERING_PREFIX + timestamp + String.format("%03d", randomNum);
+ }
+
+ public static void main(String[] args) {
+ // 娴嬭瘯鐢熸垚椤圭洰缂栧彿
+ String projectCode = generateEngineeringCode();
+ System.out.println("Generated Project Code: " + projectCode);
+ }
+}
diff --git a/start/src/main/java/com/ycl/web/controller/system/SysDeptController.java b/start/src/main/java/com/ycl/web/controller/system/SysDeptController.java
index f4d4b87..9eb0cea 100644
--- a/start/src/main/java/com/ycl/web/controller/system/SysDeptController.java
+++ b/start/src/main/java/com/ycl/web/controller/system/SysDeptController.java
@@ -2,6 +2,8 @@
import java.util.List;
+import com.ycl.common.base.Result;
+import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.apache.commons.lang3.ArrayUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -35,7 +37,10 @@
public class SysDeptController extends BaseController {
private final ISysDeptService deptService;
-
+ //涓氫富绔痠d
+ private final static Long userPortId = 101L;
+ //瀹℃壒绔痠d
+ private final static Long approvalPortId = 102L;
/**
* 鑾峰彇閮ㄩ棬鍒楄〃
*/
@@ -131,4 +136,12 @@
deptService.checkDeptDataScope(deptId);
return toAjax(deptService.deleteDeptById(deptId));
}
+
+ @GetMapping("/approvalList")
+ @ApiOperation(value = "瀹℃壒閮ㄩ棬涓嬫媺鍒楄〃", notes = "瀹℃壒閮ㄩ棬涓嬫媺鍒楄〃")
+ public Result approvalList() {
+ SysDept dept = new SysDept();
+ dept.setParentId(approvalPortId);
+ return deptService.all(dept);
+ }
}
diff --git a/start/src/main/resources/application-dev.yml b/start/src/main/resources/application-dev.yml
index 77a2e7d..4c99180 100644
--- a/start/src/main/resources/application-dev.yml
+++ b/start/src/main/resources/application-dev.yml
@@ -1,3 +1,19 @@
+# 椤圭洰鐩稿叧閰嶇疆
+ycl:
+ # 鍚嶇О
+ name: projectManagement
+ # 鐗堟湰
+ version: 1.0.0
+ # 鐗堟潈骞翠唤
+ copyrightYear: 2024
+ # 鏂囦欢璺緞 绀轰緥锛� Windows閰嶇疆D:/projectManagement/uploadPath锛孡inux閰嶇疆 /home/projectManagement/uploadPath锛�
+ profile: D:/projectManagement/uploadPath
+ # 鑾峰彇ip鍦板潃寮�鍏�
+ addressEnabled: false
+ # 楠岃瘉鐮佺被鍨� math 鏁板瓧璁$畻 char 瀛楃楠岃瘉
+ captchaType: math
+
+
# 鏁版嵁婧愰厤缃�
spring:
# redis 閰嶇疆
diff --git a/start/src/main/resources/application-prod.yml b/start/src/main/resources/application-prod.yml
index 1eac87f..8ae2b8e 100644
--- a/start/src/main/resources/application-prod.yml
+++ b/start/src/main/resources/application-prod.yml
@@ -1,3 +1,17 @@
+# 椤圭洰鐩稿叧閰嶇疆
+ycl:
+ # 鍚嶇О
+ name: projectManagement
+ # 鐗堟湰
+ version: 1.0.0
+ # 鐗堟潈骞翠唤
+ copyrightYear: 2024
+ # 鏂囦欢璺緞 绀轰緥锛� Windows閰嶇疆D:/projectManagement/uploadPath锛孡inux閰嶇疆 /home/projectManagement/uploadPath锛�
+ profile: /home/projectManagement/uploadPath
+ # 鑾峰彇ip鍦板潃寮�鍏�
+ addressEnabled: false
+ # 楠岃瘉鐮佺被鍨� math 鏁板瓧璁$畻 char 瀛楃楠岃瘉
+ captchaType: math
# 鏁版嵁婧愰厤缃�
spring:
diff --git a/start/src/main/resources/application.yml b/start/src/main/resources/application.yml
index bc33f7c..f70d518 100644
--- a/start/src/main/resources/application.yml
+++ b/start/src/main/resources/application.yml
@@ -1,18 +1,3 @@
-# 椤圭洰鐩稿叧閰嶇疆
-ycl:
- # 鍚嶇О
- name: RuoYi
- # 鐗堟湰
- version: 1.0.0
- # 鐗堟潈骞翠唤
- copyrightYear: 2024
- # 鏂囦欢璺緞 绀轰緥锛� Windows閰嶇疆D:/ruoyi/uploadPath锛孡inux閰嶇疆 /home/ruoyi/uploadPath锛�
- profile: D:/ruoyi/uploadPath
- # 鑾峰彇ip鍦板潃寮�鍏�
- addressEnabled: false
- # 楠岃瘉鐮佺被鍨� math 鏁板瓧璁$畻 char 瀛楃楠岃瘉
- captchaType: math
-
# mybatis plus閰嶇疆
mybatis-plus:
diff --git a/system/src/main/java/com/ycl/system/service/ISysDeptService.java b/system/src/main/java/com/ycl/system/service/ISysDeptService.java
index 7e09ebe..1b608dc 100644
--- a/system/src/main/java/com/ycl/system/service/ISysDeptService.java
+++ b/system/src/main/java/com/ycl/system/service/ISysDeptService.java
@@ -1,6 +1,8 @@
package com.ycl.system.service;
import java.util.List;
+
+import com.ycl.common.base.Result;
import com.ycl.common.core.domain.TreeSelect;
import com.ycl.common.core.domain.entity.SysDept;
@@ -121,4 +123,10 @@
* @return 缁撴灉
*/
public int deleteDeptById(Long deptId);
+
+ /**
+ * 鍒楄〃
+ * @return
+ */
+ Result all(SysDept dept);
}
diff --git a/system/src/main/java/com/ycl/system/service/impl/SysDeptServiceImpl.java b/system/src/main/java/com/ycl/system/service/impl/SysDeptServiceImpl.java
index a54ad3f..f356ada 100644
--- a/system/src/main/java/com/ycl/system/service/impl/SysDeptServiceImpl.java
+++ b/system/src/main/java/com/ycl/system/service/impl/SysDeptServiceImpl.java
@@ -4,6 +4,9 @@
import java.util.Iterator;
import java.util.List;
import java.util.stream.Collectors;
+
+import com.ycl.common.base.Result;
+import com.ycl.system.domain.base.BaseSelect;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ycl.common.annotation.DataScope;
@@ -335,4 +338,20 @@
{
return getChildList(list, t).size() > 0;
}
+
+ /**
+ * 閮ㄩ棬涓嬫媺鍒楄〃
+ * @return
+ */
+ @Override
+ public Result all(SysDept dept) {
+ List<BaseSelect> vos = deptMapper.selectDeptList(dept).stream().map(sysDept -> {
+ BaseSelect baseSelect = new BaseSelect();
+ baseSelect.setId(Integer.parseInt(sysDept.getDeptId() + ""));
+ baseSelect.setValue(sysDept.getDeptName());
+ return baseSelect;
+ }
+ ).collect(Collectors.toList());
+ return Result.ok().data(vos);
+ }
}
--
Gitblit v1.8.0