commit 490577d411b8c07a151a991b3f48fe19a3b78b59
Author: 李狗蛋 <12086832+li-goudan233@user.noreply.gitee.com>
Date: Mon Apr 7 22:14:52 2025 +0800
11
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..ad29595
--- /dev/null
+++ b/README.md
@@ -0,0 +1,37 @@
+# 密封报价
+
+#### 介绍
+天大系统中密封报价前端页面,后端都是金蝶的云星空;密封报价功能前端由王康负责开发,后端接口由阿民负责。
+
+#### 软件架构
+软件架构说明
+
+
+#### 安装教程
+
+1. xxxx
+2. xxxx
+3. xxxx
+
+#### 使用说明
+
+1. xxxx
+2. xxxx
+3. xxxx
+
+#### 参与贡献
+
+1. Fork 本仓库
+2. 新建 Feat_xxx 分支
+3. 提交代码
+4. 新建 Pull Request
+
+
+#### 特技
+
+1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md
+2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com)
+3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目
+4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目
+5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help)
+6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)
diff --git a/gatedge/.gitignore b/gatedge/.gitignore
new file mode 100644
index 0000000..549e00a
--- /dev/null
+++ b/gatedge/.gitignore
@@ -0,0 +1,33 @@
+HELP.md
+target/
+!.mvn/wrapper/maven-wrapper.jar
+!**/src/main/**/target/
+!**/src/test/**/target/
+
+### STS ###
+.apt_generated
+.classpath
+.factorypath
+.project
+.settings
+.springBeans
+.sts4-cache
+
+### IntelliJ IDEA ###
+.idea
+*.iws
+*.iml
+*.ipr
+
+### NetBeans ###
+/nbproject/private/
+/nbbuild/
+/dist/
+/nbdist/
+/.nb-gradle/
+build/
+!**/src/main/**/build/
+!**/src/test/**/build/
+
+### VS Code ###
+.vscode/
diff --git a/gatedge/pom.xml b/gatedge/pom.xml
new file mode 100644
index 0000000..8251549
--- /dev/null
+++ b/gatedge/pom.xml
@@ -0,0 +1,115 @@
+
+
+ 4.0.0
+ com.gatedge
+ gatedge
+ 0.0.1-SNAPSHOT
+ gatedge
+ Demo project for Spring Boot
+
+ 1.8
+ UTF-8
+ UTF-8
+ 2.6.13
+ 2.0.2
+ 1.8
+ 1.8
+
+
+
+
+ com.jayway.jsonpath
+ json-path
+ 2.4.0
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+ com.alibaba
+ fastjson
+ ${fastjson.version}
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-dependencies
+ ${spring-boot.version}
+ pom
+ import
+
+
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+ 2.2.6.RELEASE
+
+
+
+ repackage
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-enforcer-plugin
+ 3.0.0-M3
+
+
+ enforce-no-snapshots
+
+ enforce
+
+
+
+
+ No Snapshots Allowed!
+
+
+ true
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.8.1
+
+ ${maven-compiler-source.version}
+ ${maven-compiler-target.version}
+ UTF-8
+
+ -parameters
+
+
+
+
+ org.apache.maven.plugins
+ maven-resources-plugin
+ 3.1.0
+
+ UTF-8
+ true
+
+
+
+
+
+
diff --git a/gatedge/src/main/java/com/gatedge/GatedgeApplication.java b/gatedge/src/main/java/com/gatedge/GatedgeApplication.java
new file mode 100644
index 0000000..f409a25
--- /dev/null
+++ b/gatedge/src/main/java/com/gatedge/GatedgeApplication.java
@@ -0,0 +1,14 @@
+package com.gatedge;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@SpringBootApplication
+public class GatedgeApplication {
+
+ public static void main(String[] args) {
+ SpringApplication.run(GatedgeApplication.class, args);
+ System.out.println("服务启动成功");
+ }
+
+}
diff --git a/gatedge/src/main/java/com/gatedge/jindie/config/Restful.java b/gatedge/src/main/java/com/gatedge/jindie/config/Restful.java
new file mode 100644
index 0000000..f864d40
--- /dev/null
+++ b/gatedge/src/main/java/com/gatedge/jindie/config/Restful.java
@@ -0,0 +1,20 @@
+package com.gatedge.jindie.config;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.client.RestTemplate;
+
+/**
+ * @param
+ * @Author: 王康
+ * @return
+ * @DateTime: 2023/7/13 10:12
+ * 描述:
+ **/
+@Configuration
+public class Restful {
+ @Bean
+ public RestTemplate getRestTemplate(){
+ return new RestTemplate();
+ }
+}
diff --git a/gatedge/src/main/java/com/gatedge/jindie/controller/SealedQuotationController.java b/gatedge/src/main/java/com/gatedge/jindie/controller/SealedQuotationController.java
new file mode 100644
index 0000000..3632c9f
--- /dev/null
+++ b/gatedge/src/main/java/com/gatedge/jindie/controller/SealedQuotationController.java
@@ -0,0 +1,90 @@
+package com.gatedge.jindie.controller;
+
+import com.gatedge.jindie.entity.Entity;
+import com.gatedge.jindie.entity.EntityItem;
+import com.gatedge.jindie.entity.EntityVO;
+import com.gatedge.jindie.result.ActionResult;
+import com.gatedge.jindie.result.ListResult;
+import com.gatedge.jindie.result.ResponseBodyMessage;
+import com.gatedge.jindie.result.ResultBuilder;
+import com.gatedge.jindie.service.SealedQuotationService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+import sun.misc.BASE64Encoder;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @param
+ * @Author: 王康
+ * @Description: TODO
+ * @return
+ * @DateTime: 2023/8/24 15:49
+ * 描述:
+ **/
+@RestController
+@RequestMapping("/admin/")
+public class SealedQuotationController {
+
+ @Autowired
+ private SealedQuotationService sealedQuotationService;
+
+ private ResponseBodyMessage responseBodyMessage;
+ //记录单据编号,用于上传到单据附件管理
+ private String UploadFbillNo;
+
+ @GetMapping("login")
+ public ActionResult login(@RequestParam("FBILLNO") String FBILLNO, @RequestParam("Username") String username, @RequestParam("Password") String password) {
+ sealedQuotationService.login(FBILLNO, username, password);
+ return ResultBuilder.buildActionSuccess();
+ }
+
+ @PostMapping("queryData")
+ public ListResult queryData(@RequestBody Map map) {
+ String FBILLNO = map.get("FBILLNO");
+ UploadFbillNo = map.get("UploadFbillNo");
+ List data = null;
+ if (sealedQuotationService.loginChack(map)) {
+ data= sealedQuotationService.queryData(FBILLNO);
+ }
+ return ResultBuilder.buildEntitySuccess(data);
+ }
+
+ @PostMapping("queryDataItem")
+ public ListResult queryDataItem(@RequestBody Map map) {
+ String FBILLNO = map.get("FBILLNO");
+ UploadFbillNo = map.get("UploadFbillNo");
+ List data = null;
+ if (sealedQuotationService.loginChack(map)) {
+ data= sealedQuotationService.queryDataItem(FBILLNO);
+ }
+ return ResultBuilder.buildEntitySuccess(data);
+ }
+
+ @PostMapping("saveData")
+ public ListResult saveData(@RequestBody Map params) {
+ Map map = sealedQuotationService.saveData(params);
+ return ResultBuilder.buildEntitySuccess(map);
+ }
+
+ @PostMapping("/upload")
+ public ResponseBodyMessage upload(@RequestParam("file") MultipartFile file) throws IOException {
+ if (!file.isEmpty()) {
+ //获取上传文件文件名
+ String fileName = file.getOriginalFilename();
+ //获取上传文件的Base64
+ BASE64Encoder base64Encoder =new BASE64Encoder();
+ String fileBase64 = base64Encoder.encode(file.getBytes());
+ String FIDrestful = sealedQuotationService.InterId(UploadFbillNo);
+ responseBodyMessage = sealedQuotationService.uploadFile(FIDrestful,fileName,fileBase64,UploadFbillNo);
+ System.out.println("解析JSON数据:"+ responseBodyMessage.getMessage());
+ return responseBodyMessage;
+ }
+ return new ResponseBodyMessage(0,"未选择文件,附近上传失败");
+ }
+}
diff --git a/gatedge/src/main/java/com/gatedge/jindie/entity/Entity.java b/gatedge/src/main/java/com/gatedge/jindie/entity/Entity.java
new file mode 100644
index 0000000..58f3e8b
--- /dev/null
+++ b/gatedge/src/main/java/com/gatedge/jindie/entity/Entity.java
@@ -0,0 +1,313 @@
+package com.gatedge.jindie.entity;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+import java.io.Serializable;
+
+/**
+ * @param
+ * @Author: 王康
+ * @Description: TODO
+ * @return
+ * @StringTime: 2023/9/6 11:47
+ * 描述:
+ **/
+public class Entity {
+ /**
+ * 主键
+ */
+ @JsonProperty("FID")
+ private String FID;
+ /**
+ * 报价编号
+ */
+ @JsonProperty("FBILLNO")
+ private String FBILLNO;
+ /**
+ * 询价名称
+ */
+ @JsonProperty("FProjectName")
+ private String FProjectName;
+ /**
+ * 询价单号
+ */
+ @JsonProperty("FSrcBillNo")
+ private String FSrcBillNo;
+ /**
+ * 供应商编码
+ */
+ @JsonProperty("FSupplierId")
+ private String FSupplierId; // 必填项
+ /**
+ * 供应商名称
+ */
+ @JsonProperty("FSupplierName")
+ private String FSupplierName;
+ /**
+ * 开标日期
+ */
+ @JsonProperty("FOpenDate")
+ private String FOpenDate; // 必填项
+ /**
+ * 报价状态
+ */
+ @JsonProperty("FPriceStatus")
+ private String FPriceStatus;
+
+ /**
+ * 报价日期
+ */
+ @JsonProperty("FQuoteDate")
+ private String FQuoteDate;
+
+ /**
+ * 报价截止日期
+ */
+ @JsonProperty("FExpiryDate")
+ private String FExpiryDate; // 必填项
+
+ /**
+ * 联系人
+ */
+ @JsonProperty("FContact")
+ private String FContact;
+
+ /**
+ * 电话
+ */
+ @JsonProperty("FPhone")
+ private String FPhone;
+
+ /**
+ * 邮箱
+ */
+ @JsonProperty("FMail")
+ private String FMail;
+
+ /**
+ * 币别
+ */
+ @JsonProperty("FCurrId")
+ private String FCurrId;
+
+ /**
+ * 含税
+ */
+ @JsonProperty("FIsIncludedTax")
+ private String FIsIncludedTax;
+
+ /*
+ * 询价日期
+ * */
+ @JsonProperty("FDate")
+ private String FDate;
+ /*
+ * 询价员
+ * */
+ @JsonProperty("FBuyer")
+ private String FBuyer;
+
+ /*
+ * 审核人
+ * */
+ @JsonProperty("FCheckerId")
+ private String FCheckerId;
+
+ /*
+ * 数据状态 C为审核
+ * */
+ @JsonProperty("FDocumentStatus")
+ private String FDocumentStatus;
+
+ /*
+ * 状态
+ * */
+ @JsonProperty("Status")
+ private boolean Status;
+
+ public Entity() {
+ }
+
+ public Entity(String FID, String FBILLNO, String FProjectName, String FSrcBillNo, String FSupplierId, String FSupplierName, String FOpenDate, String FPriceStatus, String FQuoteDate, String FExpiryDate, String FContact, String FPhone, String FMail, String FCurrId, String FIsIncludedTax,String FDate,String FBuyer,String FCheckerId,String FDocumentStatus) {
+ this.FID = FID;
+ this.FBILLNO = FBILLNO;
+ this.FProjectName = FProjectName;
+ this.FSrcBillNo = FSrcBillNo;
+ this.FSupplierId = FSupplierId;
+ this.FSupplierName = FSupplierName;
+ this.FOpenDate = FOpenDate;
+ this.FPriceStatus = FPriceStatus;
+ this.FQuoteDate = FQuoteDate;
+ this.FExpiryDate = FExpiryDate;
+ this.FContact = FContact;
+ this.FPhone = FPhone;
+ this.FMail = FMail;
+ this.FCurrId = FCurrId;
+ this.FIsIncludedTax = FIsIncludedTax;
+ this.FDate = FDate;
+ this.FBuyer = FBuyer;
+ this.FCheckerId = FCheckerId;
+ this.FDocumentStatus = FDocumentStatus;
+ }
+
+
+ public String getFID() {
+ return FID;
+ }
+
+ public void setFID(String FID) {
+ this.FID = FID;
+ }
+
+ public String getFBILLNO() {
+ return FBILLNO;
+ }
+
+ public void setFBILLNO(String FBILLNO) {
+ this.FBILLNO = FBILLNO;
+ }
+
+ public String getFProjectName() {
+ return FProjectName;
+ }
+
+ public void setFProjectName(String FProjectName) {
+ this.FProjectName = FProjectName;
+ }
+
+ public String getFSrcBillNo() {
+ return FSrcBillNo;
+ }
+
+ public void setFSrcBillNo(String FSrcBillNo) {
+ this.FSrcBillNo = FSrcBillNo;
+ }
+
+ public String getFSupplierId() {
+ return FSupplierId;
+ }
+
+ public void setFSupplierId(String FSupplierId) {
+ this.FSupplierId = FSupplierId;
+ }
+
+ public String getFSupplierName() {
+ return FSupplierName;
+ }
+
+ public void setFSupplierName(String FSupplierName) {
+ this.FSupplierName = FSupplierName;
+ }
+
+ public String getFOpenDate() {
+ return FOpenDate;
+ }
+
+ public void setFOpenDate(String FOpenDate) {
+ this.FOpenDate = FOpenDate;
+ }
+
+ public String getFPriceStatus() {
+ return FPriceStatus;
+ }
+
+ public void setFPriceStatus(String FPriceStatus) {
+ this.FPriceStatus = FPriceStatus;
+ }
+
+ public String getFQuoteDate() {
+ return FQuoteDate;
+ }
+
+ public void setFQuoteDate(String FQuoteDate) {
+ this.FQuoteDate = FQuoteDate;
+ }
+
+ public String getFExpiryDate() {
+ return FExpiryDate;
+ }
+
+ public void setFExpiryDate(String FExpiryDate) {
+ this.FExpiryDate = FExpiryDate;
+ }
+
+ public String getFContact() {
+ return FContact;
+ }
+
+ public void setFContact(String FContact) {
+ this.FContact = FContact;
+ }
+
+ public String getFPhone() {
+ return FPhone;
+ }
+
+ public void setFPhone(String FPhone) {
+ this.FPhone = FPhone;
+ }
+
+ public String getFMail() {
+ return FMail;
+ }
+
+ public void setFMail(String FMail) {
+ this.FMail = FMail;
+ }
+
+ public String getFCurrId() {
+ return FCurrId;
+ }
+
+ public void setFCurrId(String FCurrId) {
+ this.FCurrId = FCurrId;
+ }
+
+ public String getFIsIncludedTax() {
+ return FIsIncludedTax;
+ }
+
+ public void setFIsIncludedTax(String FIsIncludedTax) {
+ this.FIsIncludedTax = FIsIncludedTax;
+ }
+
+ public boolean isStatus() {
+ return Status;
+ }
+
+ public void setStatus(boolean status) {
+ Status = status;
+ }
+
+ public String getFDate() {
+ return FDate;
+ }
+
+ public void setFDate(String FDate) {
+ this.FDate = FDate;
+ }
+
+ public String getFBuyer() {
+ return FBuyer;
+ }
+
+ public void setFBuyer(String FBuyer) {
+ this.FBuyer = FBuyer;
+ }
+
+ public String getFCheckerId() {
+ return FCheckerId;
+ }
+
+ public void setFCheckerId(String FCheckerId) {
+ this.FCheckerId = FCheckerId;
+ }
+
+ public String getFDocumentStatus() {
+ return FDocumentStatus;
+ }
+
+ public void setFDocumentStatus(String FDocumentStatus) {
+ this.FDocumentStatus = FDocumentStatus;
+ }
+}
diff --git a/gatedge/src/main/java/com/gatedge/jindie/entity/EntityItem.java b/gatedge/src/main/java/com/gatedge/jindie/entity/EntityItem.java
new file mode 100644
index 0000000..654f744
--- /dev/null
+++ b/gatedge/src/main/java/com/gatedge/jindie/entity/EntityItem.java
@@ -0,0 +1,197 @@
+package com.gatedge.jindie.entity;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+import java.io.Serializable;
+
+/**
+ * @param
+ * @Author: 王康
+ * @Description: TODO
+ * @return
+ * @DateTime: 2023/9/6 13:54
+ * 描述:
+ **/
+public class EntityItem {
+ /**
+ * 主键
+ */
+ @JsonProperty("FEntryID")
+ private String FEntryID;
+ /**
+ * 物料代码
+ */
+ @JsonProperty("FMaterialId")
+ private String FMaterialId; // 必填项
+
+ /*
+ * 物料名称
+ * */
+ @JsonProperty("FMaterialName")
+ private String FMaterialName;
+
+ /**
+ * 规格型号
+ */
+ @JsonProperty("FMaterialModel")
+ private String FMaterialModel;
+
+ /**
+ * 单位
+ */
+ @JsonProperty("FUnitID")
+ private String FUnitID;
+
+ /**
+ * 询价数量
+ */
+ @JsonProperty("FQty")
+ private String FQty;
+ /**
+ * 单价
+ */
+ @JsonProperty("FPrice")
+ private String FPrice;
+ /**
+ * 税率%
+ */
+ @JsonProperty("FTaxRate")
+ private String FTaxRate;
+ /**
+ * 含税单价
+ */
+ @JsonProperty("FTaxPrice")
+ private String FTaxPrice;
+
+ /*
+ * 备注
+ * */
+ @JsonProperty("FNote")
+ private String FNote;
+ /**
+ * 付款方式
+ */
+ @JsonProperty("FPayConditionId")
+ private String FPayConditionId;
+ /*
+ * 序号
+ * */
+ @JsonProperty("FSEQ")
+ private String FSEQ;
+
+ public EntityItem() {
+
+ }
+
+ public EntityItem(String FEntryID, String FMaterialId,String FMaterialName, String FUnitID, String FQty, String FPrice, String FTaxRate, String FTaxPrice, String FNote, String FPayConditionId) {
+ this.FEntryID = FEntryID;
+ this.FMaterialId = FMaterialId;
+ this.FMaterialName = FMaterialName;
+// this.FMaterialModel = FMaterialModel;
+ this.FUnitID = FUnitID;
+ this.FQty = FQty;
+ this.FPrice = FPrice;
+ this.FTaxRate = FTaxRate;
+ this.FTaxPrice = FTaxPrice;
+ this.FNote = FNote;
+ this.FPayConditionId = FPayConditionId;
+ }
+
+ public String getFEntryID() {
+ return FEntryID;
+ }
+
+ public void setFEntryID(String FEntryID) {
+ this.FEntryID = FEntryID;
+ }
+
+ public String getFMaterialId() {
+ return FMaterialId;
+ }
+
+ public void setFMaterialId(String FMaterialId) {
+ this.FMaterialId = FMaterialId;
+ }
+
+ public String getFMaterialModel() {
+ return FMaterialModel;
+ }
+
+ public void setFMaterialModel(String FMaterialModel) {
+ this.FMaterialModel = FMaterialModel;
+ }
+
+ public String getFUnitID() {
+ return FUnitID;
+ }
+
+ public void setFUnitID(String FUnitID) {
+ this.FUnitID = FUnitID;
+ }
+
+ public String getFQty() {
+ return FQty;
+ }
+
+ public void setFQty(String FQty) {
+ this.FQty = FQty;
+ }
+
+ public String getFPrice() {
+ return FPrice;
+ }
+
+ public void setFPrice(String FPrice) {
+ this.FPrice = FPrice;
+ }
+
+ public String getFTaxRate() {
+ return FTaxRate;
+ }
+
+ public void setFTaxRate(String FTaxRate) {
+ this.FTaxRate = FTaxRate;
+ }
+
+ public String getFTaxPrice() {
+ return FTaxPrice;
+ }
+
+ public void setFTaxPrice(String FTaxPrice) {
+ this.FTaxPrice = FTaxPrice;
+ }
+
+ public String getFPayConditionId() {
+ return FPayConditionId;
+ }
+
+ public void setFPayConditionId(String FPayConditionId) {
+ this.FPayConditionId = FPayConditionId;
+ }
+
+ public String getFMaterialName() {
+ return FMaterialName;
+ }
+
+ public void setFMaterialName(String FMaterialName) {
+ this.FMaterialName = FMaterialName;
+ }
+
+ public String getFNote() {
+ return FNote;
+ }
+
+ public void setFNote(String FNote) {
+ this.FNote = FNote;
+ }
+
+ public String getFSEQ() {
+ return FSEQ;
+ }
+
+ public void setFSEQ(String FSEQ) {
+ this.FSEQ = FSEQ;
+ }
+
+
+}
diff --git a/gatedge/src/main/java/com/gatedge/jindie/entity/EntityVO.java b/gatedge/src/main/java/com/gatedge/jindie/entity/EntityVO.java
new file mode 100644
index 0000000..6743cd3
--- /dev/null
+++ b/gatedge/src/main/java/com/gatedge/jindie/entity/EntityVO.java
@@ -0,0 +1,25 @@
+package com.gatedge.jindie.entity;
+
+import java.io.Serializable;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * @param
+ * @Author: 王康
+ * @Description: TODO
+ * @return
+ * @DateTime: 2023/9/6 14:17
+ * 描述:
+ **/
+public class EntityVO implements Serializable {
+ private Map fields = new HashMap<>();
+
+ public void setField(String fieldName, Object value) {
+ fields.put(fieldName, value);
+ }
+
+ public Object getField(String fieldName) {
+ return fields.get(fieldName);
+ }
+}
diff --git a/gatedge/src/main/java/com/gatedge/jindie/result/ActionResult.java b/gatedge/src/main/java/com/gatedge/jindie/result/ActionResult.java
new file mode 100644
index 0000000..2a318fb
--- /dev/null
+++ b/gatedge/src/main/java/com/gatedge/jindie/result/ActionResult.java
@@ -0,0 +1,42 @@
+package com.gatedge.jindie.result;
+
+import java.io.Serializable;
+
+/**
+ * HTTP的返回响应类
+ *
+ * @版权所有 珠海格致软件有限公司 www.gatedge.cn
+ */
+public class ActionResult implements Serializable {
+
+ private static final long serialVersionUID = -8041820346732720877L;
+ private int status;// 状态编码
+ private String message;// 消息
+
+ public ActionResult() {
+ super();
+ }
+
+ public ActionResult(int status, String message) {
+ super();
+ this.status = status;
+ this.message = message;
+ }
+
+ public int getStatus() {
+ return status;
+ }
+
+ public void setStatus(int status) {
+ this.status = status;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+}
diff --git a/gatedge/src/main/java/com/gatedge/jindie/result/ListResult.java b/gatedge/src/main/java/com/gatedge/jindie/result/ListResult.java
new file mode 100644
index 0000000..d0817e4
--- /dev/null
+++ b/gatedge/src/main/java/com/gatedge/jindie/result/ListResult.java
@@ -0,0 +1,52 @@
+package com.gatedge.jindie.result;
+
+import java.io.Serializable;
+
+/**
+ * HTTP的返回响应类
+ *
+ * @版权所有 珠海格致软件有限公司 www.gatedge.cn
+ */
+public class ListResult implements Serializable {
+
+ private static final long serialVersionUID = -3755143195269176337L;
+ private int status;// 状态编码
+ private T data;// 数据 NOSONAR
+ private String message;// 消息
+
+ public ListResult() {
+ super();
+ }
+
+ public ListResult(int status, T data, String message) {
+ super();
+ this.status = status;
+ this.data = data;
+ this.message = message;
+ }
+
+ public int getStatus() {
+ return status;
+ }
+
+ public void setStatus(int status) {
+ this.status = status;
+ }
+
+ public T getData() {
+ return data;
+ }
+
+ public void setData(T data) {
+ this.data = data;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+}
diff --git a/gatedge/src/main/java/com/gatedge/jindie/result/PaginationBuilder.java b/gatedge/src/main/java/com/gatedge/jindie/result/PaginationBuilder.java
new file mode 100644
index 0000000..4fda92b
--- /dev/null
+++ b/gatedge/src/main/java/com/gatedge/jindie/result/PaginationBuilder.java
@@ -0,0 +1,30 @@
+package com.gatedge.jindie.result;
+
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 构建分页信息
+ *
+ * @版权所有 珠海格致软件有限公司 www.gatedge.cn
+ */
+public class PaginationBuilder {
+
+ private PaginationBuilder() {
+
+ }
+
+ public static synchronized Map buildResult(List> resultList, long total, Integer currentPage,
+ Integer pageSize) {
+ LinkedHashMap resultMap = new LinkedHashMap<>();
+ resultMap.put("list", resultList);
+ LinkedHashMap paginationMap = new LinkedHashMap<>();
+ paginationMap.put("total", total);
+ paginationMap.put("pageSize", (long) pageSize);
+ paginationMap.put("current", (long) currentPage);
+ resultMap.put("pagination", paginationMap);
+ return resultMap;
+ }
+
+}
diff --git a/gatedge/src/main/java/com/gatedge/jindie/result/ResponseBodyMessage.java b/gatedge/src/main/java/com/gatedge/jindie/result/ResponseBodyMessage.java
new file mode 100644
index 0000000..2f4658f
--- /dev/null
+++ b/gatedge/src/main/java/com/gatedge/jindie/result/ResponseBodyMessage.java
@@ -0,0 +1,32 @@
+package com.gatedge.jindie.result;
+
+/**
+ * @author 李天华
+ * @create 2024-12-24 9:43
+ * 文件上传的返回JSON实体类
+ */
+public class ResponseBodyMessage {
+ private int status; //状态码
+ private String message;
+
+ public ResponseBodyMessage(int status, String message) {
+ this.status = status;
+ this.message = message;
+ }
+
+ public int getStatus() {
+ return status;
+ }
+
+ public void setStatus(int status) {
+ this.status = status;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+}
diff --git a/gatedge/src/main/java/com/gatedge/jindie/result/ResultBuilder.java b/gatedge/src/main/java/com/gatedge/jindie/result/ResultBuilder.java
new file mode 100644
index 0000000..2730e38
--- /dev/null
+++ b/gatedge/src/main/java/com/gatedge/jindie/result/ResultBuilder.java
@@ -0,0 +1,105 @@
+package com.gatedge.jindie.result;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.http.HttpStatus;
+
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 构建结果返回信息
+ *
+ * @版权所有 珠海格致软件有限公司 www.gatedge.cn
+ */
+public class ResultBuilder {
+
+ private static final Logger LOGGER = LoggerFactory.getLogger(ResultBuilder.class);
+ private static final String SUCCESS = "success";
+
+ private ResultBuilder() {
+
+ }
+
+ public static synchronized ListResult