bcec1b99 by 徐少波

Merge branch 'x-sjxq' into develop

2 parents ad94ff99 b232645f
1 package com.csbr.qingcloud.controller;
2
3 import com.csbr.cloud.common.response.CommonRes;
4 import csbr.cloud.entity.annotation.SystemLog;
5 import csbr.cloud.entity.domain.base.vo.PageListVO;
6 import com.csbr.qingcloud.domain.vo.DemandQueryVO;
7 import com.csbr.qingcloud.domain.vo.DemandRQVO;
8 import com.csbr.qingcloud.domain.vo.DemandRSVO;
9 import com.csbr.qingcloud.service.DemandService;
10 import io.swagger.v3.oas.annotations.Operation;
11 import io.swagger.v3.oas.annotations.Parameter;
12 import io.swagger.v3.oas.annotations.tags.Tag;
13 import jakarta.annotation.Resource;
14 import jakarta.validation.Valid;
15 import org.springframework.web.bind.annotation.*;
16
17 import java.util.List;
18
19 /**
20 * @program: D:/csbr/sjzc/ms-data-circulation-portal-service
21 * @description: -控制器
22 * @author: xushaobo
23 * @create: 2024-12-30 16:29
24 **/
25 @RestController
26 @RequestMapping("/demand")
27 @Tag(name = "-控制器")
28 public class DemandController {
29
30 @Resource
31 private DemandService demandService;
32
33 //region 基本操作
34
35 @PostMapping("/save")
36 @SystemLog(value = "-新增")
37 @Operation(summary = "-新增")
38 public CommonRes<Boolean> saveDemand(@RequestBody @Valid DemandRQVO vo) {
39 demandService.saveDemand(vo);
40 return CommonRes.success(true);
41 }
42
43 @PutMapping("/update")
44 @SystemLog(value = "-修改")
45 @Operation(summary = "-修改")
46 public CommonRes<Boolean> updateDemand(@RequestBody @Valid DemandRQVO vo) {
47 demandService.updateDemand(vo);
48 return CommonRes.success(true);
49 }
50
51 @DeleteMapping("/delete")
52 @SystemLog(value = "-批量删除")
53 @Operation(summary = "-批量删除")
54 public CommonRes<Boolean> removeByGuids(@RequestBody List<String> guids) {
55 demandService.removeByGuids(guids);
56 return CommonRes.success(true);
57 }
58
59 @PostMapping("/page-list")
60 @SystemLog(value = "-分页")
61 @Operation(summary = "-分页")
62 public CommonRes<PageListVO<DemandRSVO>> pageList(@RequestBody @Valid DemandQueryVO queryVO) {
63 PageListVO<DemandRSVO> pageVO = demandService.pageList(queryVO);
64 return CommonRes.success(pageVO);
65 }
66
67 @GetMapping("/detail")
68 @SystemLog(value = "-详情")
69 @Operation(
70 summary = "-详情",
71 parameters = {
72 @Parameter(name = "guid", description = "唯一标识", required = true)}
73 )
74 public CommonRes<DemandRSVO> getDemandDetail(@RequestParam String guid) {
75 DemandRSVO vo = demandService.getDemandDetail(guid);
76 return CommonRes.success(vo);
77 }
78
79 //endregion
80
81 }
1 package com.csbr.qingcloud.domain.vo;
2
3 import csbr.cloud.entity.domain.base.dto.BasePageDTO;
4 import io.swagger.v3.oas.annotations.media.Schema;
5 import lombok.EqualsAndHashCode;
6 import lombok.Data;
7 import java.math.BigDecimal;
8 import java.util.Date;
9
10 /**
11 * @program: D:/csbr/sjzc/ms-data-circulation-portal-service
12 * @description: 查询参数
13 * @author: xushaobo
14 * @create: 2024-12-30 16:29
15 **/
16 @EqualsAndHashCode(callSuper = true)
17 @Data
18 @Schema(title = "查询参数")
19 public class DemandQueryVO extends BasePageDTO {
20
21 }
1 package com.csbr.qingcloud.domain.vo;
2
3 import io.swagger.v3.oas.annotations.media.Schema;
4 import com.fasterxml.jackson.annotation.JsonFormat;
5 import lombok.Data;
6 import java.math.BigDecimal;
7 import java.util.Date;
8
9 /**
10 * @program: D:/csbr/sjzc/ms-data-circulation-portal-service
11 * @description: 新增、修改参数
12 * @author: xushaobo
13 * @create: 2024-12-30 16:29
14 **/
15 @Data
16 @Schema(title = "新增、修改参数")
17 public class DemandRQVO {
18
19 /**
20 * 系统唯一标识
21 */
22 @Schema(description = "系统唯一标识")
23 private String guid;
24
25 /**
26 * 数据需求名称
27 */
28 @Schema(description = "数据需求名称")
29 private String dataDemandName;
30
31 /**
32 * 需求类型 (1 产业端;2 科研端;3 临床端)
33 */
34 @Schema(description = "需求类型 (1 产业端;2 科研端;3 临床端)")
35 private String requirementType;
36
37 /**
38 * 需求开始时间
39 */
40 @Schema(description = "需求开始时间")
41 @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
42 private Date requirementTermSdate;
43
44 /**
45 * 需求结束时间
46 */
47 @Schema(description = "需求结束时间")
48 @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
49 private Date requirementTermEdate;
50
51 /**
52 * 需求内容
53 */
54 @Schema(description = "需求内容")
55 private String requirementContent;
56
57 /**
58 * 数据需求字段 数据格式:[{"name":"","path":""},{"name":"","path":""}]
59 */
60 @Schema(description = "数据需求字段 数据格式:[{\"name\":\"\",\"path\":\"\"},{\"name\":\"\",\"path\":\"\"}]")
61 private String dataDemandFieldAttachJson;
62
63 /**
64 * 期望交付时间
65 */
66 @Schema(description = "期望交付时间")
67 private BigDecimal deliveryTime;
68
69 /**
70 * 最低预算
71 */
72 @Schema(description = "最低预算")
73 private BigDecimal minBudget;
74
75 /**
76 * 最高预算
77 */
78 @Schema(description = "最高预算")
79 private BigDecimal maxBudget;
80
81 /**
82 * 费用来源
83 */
84 @Schema(description = "费用来源")
85 private String costSource;
86
87 /**
88 * 更新周期
89 */
90 @Schema(description = "更新周期")
91 private String updateCycle;
92
93 /**
94 * 获取路径方式 (1 接口调用;2 文件下载)
95 */
96 @Schema(description = "获取路径方式 (1 接口调用;2 文件下载)")
97 private String requestType;
98
99 /**
100 * 场景名称
101 */
102 @Schema(description = "场景名称")
103 private String sceneName;
104
105 /**
106 * 应用场景描述
107 */
108 @Schema(description = "应用场景描述")
109 private String sceneDescription;
110
111 /**
112 * 数据质量要求
113 */
114 @Schema(description = "数据质量要求")
115 private String qualityDemand;
116
117 /**
118 * 隐私合规要求
119 */
120 @Schema(description = "隐私合规要求")
121 private String privacyDemand;
122
123 /**
124 * 其他补充内容
125 */
126 @Schema(description = "其他补充内容")
127 private String otherContent;
128
129 /**
130 * 联系人
131 */
132 @Schema(description = "联系人")
133 private String contacts;
134
135 /**
136 * 需求单位
137 */
138 @Schema(description = "需求单位")
139 private String requirementUnit;
140
141 /**
142 * 联系方式
143 */
144 @Schema(description = "联系方式")
145 private String contactInformation;
146
147 /******** 库表存储属性 需处理 *****/
148
149 /******** 自定义扩展 *****/
150
151 /******** 子对象 *****/
152
153 }
1 package com.csbr.qingcloud.domain.vo;
2
3 import io.swagger.v3.oas.annotations.media.Schema;
4 import com.fasterxml.jackson.annotation.JsonFormat;
5 import lombok.Data;
6 import java.math.BigDecimal;
7 import java.util.Date;
8
9 /**
10 * @program: D:/csbr/sjzc/ms-data-circulation-portal-service
11 * @description: 返回参数
12 * @author: xushaobo
13 * @create: 2024-12-30 16:29
14 **/
15 @Data
16 @Schema(title = "返回参数")
17 public class DemandRSVO {
18
19 /**
20 * 系统唯一标识
21 */
22 @Schema(description = "系统唯一标识")
23 private String guid;
24
25 /**
26 * 数据需求名称
27 */
28 @Schema(description = "数据需求名称")
29 private String dataDemandName;
30
31 /**
32 * 需求类型 (1 产业端;2 科研端;3 临床端)
33 */
34 @Schema(description = "需求类型 (1 产业端;2 科研端;3 临床端)")
35 private String requirementType;
36
37 /**
38 * 需求开始时间
39 */
40 @Schema(description = "需求开始时间")
41 @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
42 private Date requirementTermSdate;
43
44 /**
45 * 需求结束时间
46 */
47 @Schema(description = "需求结束时间")
48 @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
49 private Date requirementTermEdate;
50
51 /**
52 * 需求内容
53 */
54 @Schema(description = "需求内容")
55 private String requirementContent;
56
57 /**
58 * 数据需求字段 数据格式:[{"name":"","path":""},{"name":"","path":""}]
59 */
60 @Schema(description = "数据需求字段 数据格式:[{\"name\":\"\",\"path\":\"\"},{\"name\":\"\",\"path\":\"\"}]")
61 private String dataDemandFieldAttachJson;
62
63 /**
64 * 期望交付时间
65 */
66 @Schema(description = "期望交付时间")
67 private BigDecimal deliveryTime;
68
69 /**
70 * 最低预算
71 */
72 @Schema(description = "最低预算")
73 private BigDecimal minBudget;
74
75 /**
76 * 最高预算
77 */
78 @Schema(description = "最高预算")
79 private BigDecimal maxBudget;
80
81 /**
82 * 费用来源
83 */
84 @Schema(description = "费用来源")
85 private String costSource;
86
87 /**
88 * 更新周期
89 */
90 @Schema(description = "更新周期")
91 private String updateCycle;
92
93 /**
94 * 获取路径方式 (1 接口调用;2 文件下载)
95 */
96 @Schema(description = "获取路径方式 (1 接口调用;2 文件下载)")
97 private String requestType;
98
99 /**
100 * 场景名称
101 */
102 @Schema(description = "场景名称")
103 private String sceneName;
104
105 /**
106 * 应用场景描述
107 */
108 @Schema(description = "应用场景描述")
109 private String sceneDescription;
110
111 /**
112 * 数据质量要求
113 */
114 @Schema(description = "数据质量要求")
115 private String qualityDemand;
116
117 /**
118 * 隐私合规要求
119 */
120 @Schema(description = "隐私合规要求")
121 private String privacyDemand;
122
123 /**
124 * 其他补充内容
125 */
126 @Schema(description = "其他补充内容")
127 private String otherContent;
128
129 /**
130 * 联系人
131 */
132 @Schema(description = "联系人")
133 private String contacts;
134
135 /**
136 * 需求单位
137 */
138 @Schema(description = "需求单位")
139 private String requirementUnit;
140
141 /**
142 * 联系方式
143 */
144 @Schema(description = "联系方式")
145 private String contactInformation;
146
147 /******** 库表存储属性 需处理 *****/
148
149 /******** 自定义扩展 *****/
150
151 /******** 子对象 *****/
152
153 }
1 package com.csbr.qingcloud.mybatis.entity;
2
3 import csbr.cloud.entity.domain.base.dao.BaseShardingDO;
4 import jdk.jfr.Name;
5 import lombok.Data;
6 import lombok.EqualsAndHashCode;
7 import lombok.experimental.Accessors;
8 import java.math.BigDecimal;
9 import java.util.Date;
10
11 /**
12 * @program: D:/csbr/sjzc/ms-data-circulation-portal-service
13 * @description: 实体
14 * @author: xushaobo
15 * @create: 2024-12-30 16:26
16 **/
17 @Data
18 @EqualsAndHashCode(callSuper = true)
19 @Accessors(chain = true)
20 @Name("")
21 public class MfDemand extends BaseShardingDO {
22
23 /**
24 * 数据需求名称
25 */
26 @Name("数据需求名称")
27 private String dataDemandName;
28
29 /**
30 * 需求类型 (1 产业端;2 科研端;3 临床端)
31 */
32 @Name("需求类型 (1 产业端;2 科研端;3 临床端)")
33 private String requirementType;
34
35 /**
36 * 需求开始时间
37 */
38 @Name("需求开始时间")
39 private Date requirementTermSdate;
40
41 /**
42 * 需求结束时间
43 */
44 @Name("需求结束时间")
45 private Date requirementTermEdate;
46
47 /**
48 * 需求内容
49 */
50 @Name("需求内容")
51 private String requirementContent;
52
53 /**
54 * 数据需求字段 数据格式:[{"name":"","path":""},{"name":"","path":""}]
55 */
56 @Name("数据需求字段 数据格式:[{\"name\":\"\",\"path\":\"\"},{\"name\":\"\",\"path\":\"\"}]")
57 private String dataDemandFieldAttachJson;
58
59 /**
60 * 期望交付时间
61 */
62 @Name("期望交付时间")
63 private BigDecimal deliveryTime;
64
65 /**
66 * 最低预算
67 */
68 @Name("最低预算")
69 private BigDecimal minBudget;
70
71 /**
72 * 最高预算
73 */
74 @Name("最高预算")
75 private BigDecimal maxBudget;
76
77 /**
78 * 费用来源
79 */
80 @Name("费用来源")
81 private String costSource;
82
83 /**
84 * 更新周期
85 */
86 @Name("更新周期")
87 private String updateCycle;
88
89 /**
90 * 获取路径方式 (1 接口调用;2 文件下载)
91 */
92 @Name("获取路径方式 (1 接口调用;2 文件下载)")
93 private String requestType;
94
95 /**
96 * 场景名称
97 */
98 @Name("场景名称")
99 private String sceneName;
100
101 /**
102 * 应用场景描述
103 */
104 @Name("应用场景描述")
105 private String sceneDescription;
106
107 /**
108 * 数据质量要求
109 */
110 @Name("数据质量要求")
111 private String qualityDemand;
112
113 /**
114 * 隐私合规要求
115 */
116 @Name("隐私合规要求")
117 private String privacyDemand;
118
119 /**
120 * 其他补充内容
121 */
122 @Name("其他补充内容")
123 private String otherContent;
124
125 /**
126 * 联系人
127 */
128 @Name("联系人")
129 private String contacts;
130
131 /**
132 * 需求单位
133 */
134 @Name("需求单位")
135 private String requirementUnit;
136
137 /**
138 * 联系方式
139 */
140 @Name("联系方式")
141 private String contactInformation;
142
143 }
1 package com.csbr.qingcloud.mybatis.mapper;
2
3 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4 import org.apache.ibatis.annotations.Mapper;
5 import com.csbr.qingcloud.mybatis.entity.MfDemand;
6
7 /**
8 * @program: D:/csbr/sjzc/ms-data-circulation-portal-service
9 * @description: Mapper 接口
10 * @author: xushaobo
11 * @create: 2024-12-30 16:29
12 **/
13 @Mapper
14 public interface MfDemandMapper extends BaseMapper<MfDemand> {
15
16 }
1 package com.csbr.qingcloud.mybatis.service;
2
3 import com.csbr.cloud.base.service.CsbrService;
4 import com.csbr.qingcloud.mybatis.entity.MfDemand;
5
6 /**
7 * @program: D:/csbr/sjzc/ms-data-circulation-portal-service
8 * @description: 逻辑层接口
9 * @author: xushaobo
10 * @create: 2024-12-30 16:29
11 **/
12 public interface MfDemandService extends CsbrService<MfDemand> {
13
14 }
1 package com.csbr.qingcloud.mybatis.service.impl;
2
3 import com.csbr.cloud.mybatis.service.impl.CsbrServiceImpl;
4 import com.csbr.qingcloud.mybatis.mapper.MfDemandMapper;
5 import com.csbr.qingcloud.mybatis.entity.MfDemand;
6 import com.csbr.qingcloud.mybatis.service.MfDemandService;
7 import jakarta.annotation.Resource;
8 import org.springframework.stereotype.Service;
9
10 /**
11 * @program: D:/csbr/sjzc/ms-data-circulation-portal-service
12 * @description: 逻辑层接口实现
13 * @author: xushaobo
14 * @create: 2024-12-30 16:29
15 **/
16 @Service
17 public class MfDemandServiceImpl extends CsbrServiceImpl<MfDemandMapper, MfDemand> implements MfDemandService {
18
19 @Resource
20 private MfDemandMapper mfDemandMapper;
21
22 }
1 package com.csbr.qingcloud.service;
2
3 import csbr.cloud.entity.domain.base.vo.PageListVO;
4 import com.csbr.qingcloud.domain.vo.DemandQueryVO;
5 import com.csbr.qingcloud.domain.vo.DemandRQVO;
6 import com.csbr.qingcloud.domain.vo.DemandRSVO;
7
8 import java.util.List;
9
10 /**
11 * @program: D:/csbr/sjzc/ms-data-circulation-portal-service
12 * @description: 业务逻辑接口
13 * @author: xushaobo
14 * @create: 2024-12-30 16:31
15 **/
16 public interface DemandService {
17
18 /**
19 * 分页查询
20 * @author xushaobo
21 * @date 2024-12-30 16:31
22 * @param queryVO
23 * @return com.csbr.cloud.mybatis.entity.PageListVO<com.csbr.qingcloud.domain.vo.DemandRSVO>
24 */
25 PageListVO<DemandRSVO> pageList(DemandQueryVO queryVO);
26
27 /**
28 * 获取详情数据
29 * @author xushaobo
30 * @date 2024-12-30 16:31
31 * @param guid
32 * @return com.csbr.qingcloud.domain.vo.DemandRSVO
33 */
34 DemandRSVO getDemandDetail(String guid);
35
36 /**
37 * 数据新增
38 * @author xushaobo
39 * @date 2024-12-30 16:31
40 * @param rqVO
41 * @return boolean
42 */
43 void saveDemand(DemandRQVO rqVO);
44
45 /**
46 * 数据修改
47 * @author xushaobo
48 * @date 2024-12-30 16:31
49 * @param rqVO
50 * @return boolean
51 */
52 void updateDemand(DemandRQVO rqVO);
53
54 /**
55 * 数据删除
56 * @author xushaobo
57 * @date 2024-12-30 16:31
58 * @param guids
59 * @return void
60 */
61 void removeByGuids(List<String> guids);
62
63 /**
64 * 数据删除、并有相关的处理操作
65 * @author xushaobo
66 * @date 2024-12-30 16:31
67 * @param guids
68 * @return void
69 */
70 void removeHandleByGuids(List<String> guids);
71
72 }
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!