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