From be162220324b5d724c07d185bdebf090c510fb6a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=AB=98=E9=9B=84?= Date: Mon, 28 Jul 2025 18:19:42 +0800 Subject: [PATCH 1/9] =?UTF-8?q?=E6=8B=9B=E6=8A=95=E6=A0=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../znpt/domain/entity/BiddingInfoEntity.java | 62 ++++++++++++++ .../znpt/domain/entity/OutbidInfoEntity.java | 54 +++++++++++++ .../znpt/domain/entity/TenderInfoEntity.java | 63 +++++++++++++++ .../dite/znpt/domain/vo/BiddingInfoReq.java | 55 +++++++++++++ .../dite/znpt/domain/vo/BiddingInfoResp.java | 23 ++++++ .../dite/znpt/domain/vo/OutbidInfoReq.java | 46 +++++++++++ .../dite/znpt/domain/vo/OutbidInfoResp.java | 29 +++++++ .../dite/znpt/domain/vo/TenderInfoReq.java | 54 +++++++++++++ .../dite/znpt/domain/vo/TenderInfoResp.java | 36 +++++++++ .../com/dite/znpt/enums/ProjectTypeEnum.java | 49 +++++++++++ .../dite/znpt/mapper/BiddingInfoMapper.java | 12 +++ .../dite/znpt/mapper/OutbidInfoMapper.java | 12 +++ .../dite/znpt/mapper/TenderInfoMapper.java | 12 +++ .../dite/znpt/service/BiddingInfoService.java | 24 ++++++ .../dite/znpt/service/OutbidInfoService.java | 27 +++++++ .../dite/znpt/service/TenderInfoService.java | 25 ++++++ .../service/impl/BiddingInfoServiceImpl.java | 51 ++++++++++++ .../service/impl/OutbidInfoServiceImpl.java | 61 ++++++++++++++ .../service/impl/TenderInfoServiceImpl.java | 55 +++++++++++++ .../resources/mapper/BiddingInfoMapper.xml | 5 ++ .../resources/mapper/OutbidInfoMapper.xml | 5 ++ core/src/main/resources/mapper/UserMapper.xml | 3 +- .../resources/mapper/tenderInfoMapper.xml | 5 ++ .../web/controller/BiddingInfoController.java | 68 ++++++++++++++++ .../web/controller/OutbidInfoController.java | 81 +++++++++++++++++++ .../web/controller/TenderInfoController.java | 75 +++++++++++++++++ 26 files changed, 990 insertions(+), 2 deletions(-) create mode 100644 core/src/main/java/com/dite/znpt/domain/entity/BiddingInfoEntity.java create mode 100644 core/src/main/java/com/dite/znpt/domain/entity/OutbidInfoEntity.java create mode 100644 core/src/main/java/com/dite/znpt/domain/entity/TenderInfoEntity.java create mode 100644 core/src/main/java/com/dite/znpt/domain/vo/BiddingInfoReq.java create mode 100644 core/src/main/java/com/dite/znpt/domain/vo/BiddingInfoResp.java create mode 100644 core/src/main/java/com/dite/znpt/domain/vo/OutbidInfoReq.java create mode 100644 core/src/main/java/com/dite/znpt/domain/vo/OutbidInfoResp.java create mode 100644 core/src/main/java/com/dite/znpt/domain/vo/TenderInfoReq.java create mode 100644 core/src/main/java/com/dite/znpt/domain/vo/TenderInfoResp.java create mode 100644 core/src/main/java/com/dite/znpt/enums/ProjectTypeEnum.java create mode 100644 core/src/main/java/com/dite/znpt/mapper/BiddingInfoMapper.java create mode 100644 core/src/main/java/com/dite/znpt/mapper/OutbidInfoMapper.java create mode 100644 core/src/main/java/com/dite/znpt/mapper/TenderInfoMapper.java create mode 100644 core/src/main/java/com/dite/znpt/service/BiddingInfoService.java create mode 100644 core/src/main/java/com/dite/znpt/service/OutbidInfoService.java create mode 100644 core/src/main/java/com/dite/znpt/service/TenderInfoService.java create mode 100644 core/src/main/java/com/dite/znpt/service/impl/BiddingInfoServiceImpl.java create mode 100644 core/src/main/java/com/dite/znpt/service/impl/OutbidInfoServiceImpl.java create mode 100644 core/src/main/java/com/dite/znpt/service/impl/TenderInfoServiceImpl.java create mode 100644 core/src/main/resources/mapper/BiddingInfoMapper.xml create mode 100644 core/src/main/resources/mapper/OutbidInfoMapper.xml create mode 100644 core/src/main/resources/mapper/tenderInfoMapper.xml create mode 100644 web/src/main/java/com/dite/znpt/web/controller/BiddingInfoController.java create mode 100644 web/src/main/java/com/dite/znpt/web/controller/OutbidInfoController.java create mode 100644 web/src/main/java/com/dite/znpt/web/controller/TenderInfoController.java diff --git a/core/src/main/java/com/dite/znpt/domain/entity/BiddingInfoEntity.java b/core/src/main/java/com/dite/znpt/domain/entity/BiddingInfoEntity.java new file mode 100644 index 0000000..126f8df --- /dev/null +++ b/core/src/main/java/com/dite/znpt/domain/entity/BiddingInfoEntity.java @@ -0,0 +1,62 @@ +package com.dite.znpt.domain.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.dite.znpt.domain.AuditableEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.LocalDateTime; + +/** + * @author Bear.G + * @date 2025/7/28/周一 15:42 + * @description + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("bidding_info") +@ApiModel(value="BiddingInfoEntity对象", description="招标信息表") +public class BiddingInfoEntity extends AuditableEntity implements Serializable { + + @Serial + private static final long serialVersionUID = -2451841606051749490L; + + @ApiModelProperty("招标信息id") + @TableId(type = IdType.ASSIGN_UUID) + private String biddingInfoId; + + @ApiModelProperty("招标项目") + private String biddingProject; + + @ApiModelProperty("招标公司") + private String biddingCompany; + + @ApiModelProperty("招标金额") + private BigDecimal biddingAmount; + + @ApiModelProperty("招标截止时间") + private String biddingDeadline; + + @ApiModelProperty("招标信息录入时间") + private LocalDateTime infoEntryTime; + + @ApiModelProperty("招标信息来源") + private String source; + + @ApiModelProperty("招标信息来源网址") + private String sourceWebsite; + + @ApiModelProperty("招标文件") + private String biddingFile; + + @ApiModelProperty("状态:0-待报名,1-已报名") + private String status; + +} diff --git a/core/src/main/java/com/dite/znpt/domain/entity/OutbidInfoEntity.java b/core/src/main/java/com/dite/znpt/domain/entity/OutbidInfoEntity.java new file mode 100644 index 0000000..b36f8b2 --- /dev/null +++ b/core/src/main/java/com/dite/znpt/domain/entity/OutbidInfoEntity.java @@ -0,0 +1,54 @@ +package com.dite.znpt.domain.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import com.dite.znpt.domain.AuditableEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.LocalDateTime; + +/** + * @author Bear.G + * @date 2025/7/28/周一 15:44 + * @description + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("outbid_info") +@ApiModel(value="OutbidInfoEntity对象", description="中标通知信息表") +public class OutbidInfoEntity extends AuditableEntity implements Serializable { + + @Serial + private static final long serialVersionUID = 6941283868242292970L; + + @ApiModelProperty("中标通知信息id") + @TableId(type = IdType.ASSIGN_UUID) + private String outbidId; + + @ApiModelProperty("招标信息id") + private String biddingInfoId; + + @ApiModelProperty("中标金额,单位元,精确到分") + private BigDecimal outbidAmount; + + @ApiModelProperty("工期,单位天") + private Integer duration; + + @ApiModelProperty("中标通知日期") + private LocalDateTime outbidNotifyDate; + + @ApiModelProperty("中标通知文件") + private String outbidFile; + + @ApiModelProperty("删除标志(0代表存在 1代表删除)") + @TableLogic(value = "0", delval = "1") + private String delFlag; +} diff --git a/core/src/main/java/com/dite/znpt/domain/entity/TenderInfoEntity.java b/core/src/main/java/com/dite/znpt/domain/entity/TenderInfoEntity.java new file mode 100644 index 0000000..d7b9dd4 --- /dev/null +++ b/core/src/main/java/com/dite/znpt/domain/entity/TenderInfoEntity.java @@ -0,0 +1,63 @@ +package com.dite.znpt.domain.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import com.dite.znpt.domain.AuditableEntity; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; +import java.io.Serializable; +import java.math.BigDecimal; + +/** + * @author Bear.G + * @date 2025/7/28/周一 15:47 + * @description + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("tender_info") +@ApiModel(value="TenderInfoEntity对象", description="投标信息表") +public class TenderInfoEntity extends AuditableEntity implements Serializable { + + @Serial + private static final long serialVersionUID = -5677009089047831619L; + + @ApiModelProperty("投标信息id") + @TableId(type = IdType.ASSIGN_UUID) + private String tenderInfoId; + + @ApiModelProperty("招标信息id") + private String biddingInfoId; + + @ApiModelProperty("投标金额") + private BigDecimal tenderAmount; + + @ApiModelProperty("项目地址") + private String projectAddress; + + @ApiModelProperty("项目类型") + private String projectType; + + @ApiModelProperty("项目描述") + private String projectDescription; + + @ApiModelProperty("投标负责人") + private String tenderManager; + + @ApiModelProperty("投标负责人手机号") + private String tenderManagerPhone; + + @ApiModelProperty("投标文件") + private String tenderFile; + + @ApiModelProperty("删除标志(0代表存在 1代表删除)") + @TableLogic(value = "0", delval = "1") + private String delFlag; +} diff --git a/core/src/main/java/com/dite/znpt/domain/vo/BiddingInfoReq.java b/core/src/main/java/com/dite/znpt/domain/vo/BiddingInfoReq.java new file mode 100644 index 0000000..6d428e1 --- /dev/null +++ b/core/src/main/java/com/dite/znpt/domain/vo/BiddingInfoReq.java @@ -0,0 +1,55 @@ +package com.dite.znpt.domain.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.Size; +import java.io.Serial; +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.LocalDateTime; + +/** + * @author Bear.G + * @date 2025/7/28/周一 16:18 + * @description + */ +@Data +@ApiModel("招标信息请求实体") +public class BiddingInfoReq implements Serializable { + @Serial + private static final long serialVersionUID = 6967025339487392364L; + + @ApiModelProperty("招标项目") + @Size(max = 50, message = "招标项目不能超过50个字符") + private String biddingProject; + + @ApiModelProperty("招标公司") + @Size(max = 50, message = "招标公司不能超过50个字符") + private String biddingCompany; + + @ApiModelProperty("招标金额") + private BigDecimal biddingAmount; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty("招标截止时间") + private LocalDateTime biddingDeadline; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty("信息录入时间") + private LocalDateTime infoEntryTime; + + @ApiModelProperty("信息来源") + @Size(max = 50, message = "信息来源不能超过50个字符") + private String source; + + @ApiModelProperty("信息来源网址") + @Size(max = 500, message = "信息来源网址不能超过500个字符") + private String sourceWebsite; + + @ApiModelProperty("招标文件") + @Size(max = 200, message = "招标文件不能超过200个字符") + private String biddingFile; +} diff --git a/core/src/main/java/com/dite/znpt/domain/vo/BiddingInfoResp.java b/core/src/main/java/com/dite/znpt/domain/vo/BiddingInfoResp.java new file mode 100644 index 0000000..5419c65 --- /dev/null +++ b/core/src/main/java/com/dite/znpt/domain/vo/BiddingInfoResp.java @@ -0,0 +1,23 @@ +package com.dite.znpt.domain.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; + +/** + * @author Bear.G + * @date 2025/7/28/周一 16:17 + * @description + */ +@Data +@ApiModel("招标信息响应实体") +public class BiddingInfoResp extends BiddingInfoReq implements Serializable { + @Serial + private static final long serialVersionUID = 2750666223381829115L; + + @ApiModelProperty("招标信息id") + private String biddingInfoId; +} diff --git a/core/src/main/java/com/dite/znpt/domain/vo/OutbidInfoReq.java b/core/src/main/java/com/dite/znpt/domain/vo/OutbidInfoReq.java new file mode 100644 index 0000000..dba74e2 --- /dev/null +++ b/core/src/main/java/com/dite/znpt/domain/vo/OutbidInfoReq.java @@ -0,0 +1,46 @@ +package com.dite.znpt.domain.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.Size; +import java.io.Serial; +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.LocalDateTime; + +/** + * @author Bear.G + * @date 2025/7/28/周一 17:05 + * @description + */ +@Data +@ApiModel("中标信息请求实体") +public class OutbidInfoReq implements Serializable { + @Serial + private static final long serialVersionUID = -1781661335173747275L; + + @ApiModelProperty("中标信息ID") + @NotBlank(message = "中标信息ID不能为空") + private String biddingInfoId; + + @ApiModelProperty("中标金额") + private BigDecimal outBidAmount; + + @ApiModelProperty("工期") + private Integer duration; + + @ApiModelProperty("中标通知日期") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime outbidNotifyDate; + + @ApiModelProperty("中标通知文件") + @Size(max = 200, message = "中标通知文件长度不能超过200") + private String outbidNoticeFile; + + @ApiModelProperty("状态:0-已通知,1-已签约") + private String status; +} diff --git a/core/src/main/java/com/dite/znpt/domain/vo/OutbidInfoResp.java b/core/src/main/java/com/dite/znpt/domain/vo/OutbidInfoResp.java new file mode 100644 index 0000000..bfc0710 --- /dev/null +++ b/core/src/main/java/com/dite/znpt/domain/vo/OutbidInfoResp.java @@ -0,0 +1,29 @@ +package com.dite.znpt.domain.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; + +/** + * @author Bear.G + * @date 2025/7/28/周一 17:36 + * @description + */ +@Data +@ApiModel("中标信息响应实体") +public class OutbidInfoResp extends OutbidInfoReq implements Serializable { + @Serial + private static final long serialVersionUID = -718886028432322862L; + + @ApiModelProperty("中标信息ID") + private String outbidInfoId; + + @ApiModelProperty("招标项目") + private String biddingProject; + + @ApiModelProperty("招标公司") + private String biddingCompany; +} diff --git a/core/src/main/java/com/dite/znpt/domain/vo/TenderInfoReq.java b/core/src/main/java/com/dite/znpt/domain/vo/TenderInfoReq.java new file mode 100644 index 0000000..a65a217 --- /dev/null +++ b/core/src/main/java/com/dite/znpt/domain/vo/TenderInfoReq.java @@ -0,0 +1,54 @@ +package com.dite.znpt.domain.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.Size; +import java.io.Serial; +import java.io.Serializable; +import java.math.BigDecimal; + +/** + * @author Bear.G + * @date 2025/7/28/周一 16:23 + * @description + */ +@Data +@ApiModel("投标信息请求实体") +public class TenderInfoReq implements Serializable { + @Serial + private static final long serialVersionUID = -5653933337345116548L; + + @ApiModelProperty("招标信息id") + @NotBlank(message = "招标信息id不能为空") + private String biddingInfoId; + + @ApiModelProperty("投标金额") + private BigDecimal tenderAmount; + + @ApiModelProperty("项目地址") + @Size(max = 500, message = "项目地址不能超过500个字符") + private String projectAddress; + + @ApiModelProperty("项目类型,枚举:ProjectTypeEnum") + private String projectType; + + @ApiModelProperty("招标负责人") + @Size(min = 32, max = 32, message = "招标负责人长度必须为32个字符") + private String tenderManager; + + @Size(min = 11, max = 11, message = "招标负责人联系方式长度必须为11个字符") + @ApiModelProperty("招标负责人联系方式") + private String tenderManagerPhone; + + @Size(max = 100, message = "投标文件不能超过100个字符") + @ApiModelProperty("投标文件") + private String tenderFile; + + @Size(max = 500, message = "项目描述不能超过500个字符") + @ApiModelProperty("项目描述") + private String projectDescription; + +} diff --git a/core/src/main/java/com/dite/znpt/domain/vo/TenderInfoResp.java b/core/src/main/java/com/dite/znpt/domain/vo/TenderInfoResp.java new file mode 100644 index 0000000..0c37898 --- /dev/null +++ b/core/src/main/java/com/dite/znpt/domain/vo/TenderInfoResp.java @@ -0,0 +1,36 @@ +package com.dite.znpt.domain.vo; + +/** + * @author Bear.G + * @date 2025/7/28/周一 16:50 + * @description + */ + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; + +/** + * @author Bear.G + * @date 2025/7/28/周一 16:49 + * @description + */ +@Data +@ApiModel("投标信息响应实体") +public class TenderInfoResp extends BiddingInfoReq implements Serializable { + @Serial + private static final long serialVersionUID = -8445413467535624096L; + + @ApiModelProperty("投标标信息ID") + private String tenderInfoId; + + @ApiModelProperty("招标项目") + private String biddingProject; + + @ApiModelProperty("招标公司") + private String biddingCompany; + +} \ No newline at end of file diff --git a/core/src/main/java/com/dite/znpt/enums/ProjectTypeEnum.java b/core/src/main/java/com/dite/znpt/enums/ProjectTypeEnum.java new file mode 100644 index 0000000..c5e19b4 --- /dev/null +++ b/core/src/main/java/com/dite/znpt/enums/ProjectTypeEnum.java @@ -0,0 +1,49 @@ +package com.dite.znpt.enums; + +import cn.hutool.json.JSONObject; +import lombok.AllArgsConstructor; +import lombok.Getter; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author Bear.G + * @date 2025/7/28/周一 16:35 + * @description + */ +@Getter +@AllArgsConstructor +public enum ProjectTypeEnum { + BLADE_CHECK("blade_check", "风电叶片检查"), + OPERATION("operation", "风电运维"), + INSTALL("install", "风电安装"), + OTHER("other", "其他"); + + private final String code; + private final String desc; + + public static ProjectTypeEnum getByCode(String code){ + for (ProjectTypeEnum e : ProjectTypeEnum.values() ) { + if(e.code.equals(code)){ + return e; + } + } + return null; + } + + public static String getDescByCode(String code){ + ProjectTypeEnum e = getByCode(code); + return null == e ? null : e.desc; + } + + public static List listAll(){ + List list = new ArrayList<>(ProjectTypeEnum.values().length); + for (ProjectTypeEnum e : ProjectTypeEnum.values() ) { + JSONObject jsonObject = new JSONObject(); + jsonObject.set(String.valueOf(e.code), e.desc); + list.add(jsonObject); + } + return list; + } +} diff --git a/core/src/main/java/com/dite/znpt/mapper/BiddingInfoMapper.java b/core/src/main/java/com/dite/znpt/mapper/BiddingInfoMapper.java new file mode 100644 index 0000000..3bd2a4c --- /dev/null +++ b/core/src/main/java/com/dite/znpt/mapper/BiddingInfoMapper.java @@ -0,0 +1,12 @@ +package com.dite.znpt.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.dite.znpt.domain.entity.BiddingInfoEntity; + +/** + * @author Bear.G + * @date 2025/7/28/周一 16:06 + * @description + */ +public interface BiddingInfoMapper extends BaseMapper { +} diff --git a/core/src/main/java/com/dite/znpt/mapper/OutbidInfoMapper.java b/core/src/main/java/com/dite/znpt/mapper/OutbidInfoMapper.java new file mode 100644 index 0000000..3448a05 --- /dev/null +++ b/core/src/main/java/com/dite/znpt/mapper/OutbidInfoMapper.java @@ -0,0 +1,12 @@ +package com.dite.znpt.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.dite.znpt.domain.entity.OutbidInfoEntity; + +/** + * @author Bear.G + * @date 2025/7/28/周一 16:11 + * @description + */ +public interface OutbidInfoMapper extends BaseMapper { +} diff --git a/core/src/main/java/com/dite/znpt/mapper/TenderInfoMapper.java b/core/src/main/java/com/dite/znpt/mapper/TenderInfoMapper.java new file mode 100644 index 0000000..86dc3f5 --- /dev/null +++ b/core/src/main/java/com/dite/znpt/mapper/TenderInfoMapper.java @@ -0,0 +1,12 @@ +package com.dite.znpt.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.dite.znpt.domain.entity.TenderInfoEntity; + +/** + * @author Bear.G + * @date 2025/7/28/周一 16:08 + * @description + */ +public interface TenderInfoMapper extends BaseMapper { +} diff --git a/core/src/main/java/com/dite/znpt/service/BiddingInfoService.java b/core/src/main/java/com/dite/znpt/service/BiddingInfoService.java new file mode 100644 index 0000000..5084b09 --- /dev/null +++ b/core/src/main/java/com/dite/znpt/service/BiddingInfoService.java @@ -0,0 +1,24 @@ +package com.dite.znpt.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.dite.znpt.domain.entity.BiddingInfoEntity; +import com.dite.znpt.domain.vo.BiddingInfoReq; +import com.dite.znpt.domain.vo.BiddingInfoResp; +import org.springframework.web.multipart.MultipartFile; + +import java.util.List; + +/** + * @author Bear.G + * @date 2025/7/28/周一 16:06 + * @description + */ +public interface BiddingInfoService extends IService { + + List page(String projectName); + List list(String projectName); + void save(BiddingInfoReq req); + void update(String biddingInfoId, BiddingInfoReq req); + void apply(String biddingInfoId); + void uploadBiddingInfoFile(String biddingInfoId, MultipartFile file); +} diff --git a/core/src/main/java/com/dite/znpt/service/OutbidInfoService.java b/core/src/main/java/com/dite/znpt/service/OutbidInfoService.java new file mode 100644 index 0000000..9044ee4 --- /dev/null +++ b/core/src/main/java/com/dite/znpt/service/OutbidInfoService.java @@ -0,0 +1,27 @@ +package com.dite.znpt.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.dite.znpt.domain.entity.OutbidInfoEntity; +import com.dite.znpt.domain.vo.OutbidInfoReq; +import com.dite.znpt.domain.vo.OutbidInfoResp; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** + * @author Bear.G + * @date 2025/7/28/周一 16:11 + * @description + */ +public interface OutbidInfoService extends IService { + + List page(String projectName); + List list(String projectName); + OutbidInfoResp detail(String outbidInfoId); + void save(OutbidInfoReq req); + void update(String outbidInfoId, OutbidInfoReq req); + void deleteById(String outbidInfoId); + void uploadOutbidInfoFile(String outbidInfoId, MultipartFile file); + void downLoadTenderInfoFile(String outbidInfoId, HttpServletResponse response); +} diff --git a/core/src/main/java/com/dite/znpt/service/TenderInfoService.java b/core/src/main/java/com/dite/znpt/service/TenderInfoService.java new file mode 100644 index 0000000..0a2c539 --- /dev/null +++ b/core/src/main/java/com/dite/znpt/service/TenderInfoService.java @@ -0,0 +1,25 @@ +package com.dite.znpt.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.dite.znpt.domain.entity.TenderInfoEntity; +import com.dite.znpt.domain.vo.TenderInfoReq; +import com.dite.znpt.domain.vo.TenderInfoResp; +import org.springframework.web.multipart.MultipartFile; + +import java.util.List; + +/** + * @author Bear.G + * @date 2025/7/28/周一 16:09 + * @description + */ +public interface TenderInfoService extends IService { + List page(String projectName); + List list(String projectName); + TenderInfoResp detail(String tenderInfoId); + void save(TenderInfoReq req); + void update(String tenderInfoId, TenderInfoReq req); + void deleteById(String tenderInfoId); + void uploadBiddingInfoFile(String tenderInfoId, MultipartFile file); + +} diff --git a/core/src/main/java/com/dite/znpt/service/impl/BiddingInfoServiceImpl.java b/core/src/main/java/com/dite/znpt/service/impl/BiddingInfoServiceImpl.java new file mode 100644 index 0000000..95cddfe --- /dev/null +++ b/core/src/main/java/com/dite/znpt/service/impl/BiddingInfoServiceImpl.java @@ -0,0 +1,51 @@ +package com.dite.znpt.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.dite.znpt.domain.entity.BiddingInfoEntity; +import com.dite.znpt.domain.vo.BiddingInfoReq; +import com.dite.znpt.domain.vo.BiddingInfoResp; +import com.dite.znpt.mapper.BiddingInfoMapper; +import com.dite.znpt.service.BiddingInfoService; +import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; + +import java.util.List; + +/** + * @author Bear.G + * @date 2025/7/28/周一 16:07 + * @description + */ +@Service +public class BiddingInfoServiceImpl extends ServiceImpl implements BiddingInfoService { + + @Override + public List page(String projectName) { + return List.of(); + } + + @Override + public List list(String projectName) { + return List.of(); + } + + @Override + public void save(BiddingInfoReq req) { + + } + + @Override + public void update(String biddingInfoId, BiddingInfoReq req) { + + } + + @Override + public void apply(String biddingInfoId) { + + } + + @Override + public void uploadBiddingInfoFile(String biddingInfoId, MultipartFile file) { + + } +} diff --git a/core/src/main/java/com/dite/znpt/service/impl/OutbidInfoServiceImpl.java b/core/src/main/java/com/dite/znpt/service/impl/OutbidInfoServiceImpl.java new file mode 100644 index 0000000..2cff12f --- /dev/null +++ b/core/src/main/java/com/dite/znpt/service/impl/OutbidInfoServiceImpl.java @@ -0,0 +1,61 @@ +package com.dite.znpt.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.dite.znpt.domain.entity.OutbidInfoEntity; +import com.dite.znpt.domain.vo.OutbidInfoReq; +import com.dite.znpt.domain.vo.OutbidInfoResp; +import com.dite.znpt.mapper.OutbidInfoMapper; +import com.dite.znpt.service.OutbidInfoService; +import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** + * @author Bear.G + * @date 2025/7/28/周一 16:12 + * @description + */ +@Service +public class OutbidInfoServiceImpl extends ServiceImpl implements OutbidInfoService { + @Override + public List page(String projectName) { + return List.of(); + } + + @Override + public List list(String projectName) { + return List.of(); + } + + @Override + public OutbidInfoResp detail(String outbidInfoId) { + return null; + } + + @Override + public void save(OutbidInfoReq req) { + + } + + @Override + public void update(String outbidInfoId, OutbidInfoReq req) { + + } + + @Override + public void deleteById(String outbidInfoId) { + + } + + @Override + public void uploadOutbidInfoFile(String outbidInfoId, MultipartFile file) { + + } + + @Override + public void downLoadTenderInfoFile(String outbidInfoId, HttpServletResponse response) { + + } +} diff --git a/core/src/main/java/com/dite/znpt/service/impl/TenderInfoServiceImpl.java b/core/src/main/java/com/dite/znpt/service/impl/TenderInfoServiceImpl.java new file mode 100644 index 0000000..c98302f --- /dev/null +++ b/core/src/main/java/com/dite/znpt/service/impl/TenderInfoServiceImpl.java @@ -0,0 +1,55 @@ +package com.dite.znpt.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.dite.znpt.domain.entity.TenderInfoEntity; +import com.dite.znpt.domain.vo.TenderInfoReq; +import com.dite.znpt.domain.vo.TenderInfoResp; +import com.dite.znpt.mapper.TenderInfoMapper; +import com.dite.znpt.service.TenderInfoService; +import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; + +import java.util.List; + +/** + * @author Bear.G + * @date 2025/7/28/周一 16:09 + * @description + */ +@Service +public class TenderInfoServiceImpl extends ServiceImpl implements TenderInfoService { + @Override + public List page(String projectName) { + return null; + } + + @Override + public List list(String projectName) { + return List.of(); + } + + @Override + public TenderInfoResp detail(String tenderInfoId) { + return null; + } + + @Override + public void save(TenderInfoReq req) { + + } + + @Override + public void update(String tenderInfoId, TenderInfoReq req) { + + } + + @Override + public void deleteById(String tenderInfoId) { + + } + + @Override + public void uploadBiddingInfoFile(String tenderInfoId, MultipartFile file) { + + } +} diff --git a/core/src/main/resources/mapper/BiddingInfoMapper.xml b/core/src/main/resources/mapper/BiddingInfoMapper.xml new file mode 100644 index 0000000..4133f08 --- /dev/null +++ b/core/src/main/resources/mapper/BiddingInfoMapper.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/core/src/main/resources/mapper/OutbidInfoMapper.xml b/core/src/main/resources/mapper/OutbidInfoMapper.xml new file mode 100644 index 0000000..8620795 --- /dev/null +++ b/core/src/main/resources/mapper/OutbidInfoMapper.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/core/src/main/resources/mapper/UserMapper.xml b/core/src/main/resources/mapper/UserMapper.xml index d61f50d..36b314a 100644 --- a/core/src/main/resources/mapper/UserMapper.xml +++ b/core/src/main/resources/mapper/UserMapper.xml @@ -16,7 +16,7 @@ LEFT JOIN role r ON ur.role_id = r.role_id LEFT JOIN user_post up ON up.user_id = u.user_id LEFT JOIN post p ON p.post_id = up.post_id - + WHERE u.del_flag = '0' AND u.user_code LIKE concat ('%', #{userCode}, '%') @@ -38,7 +38,6 @@ AND u.user_Type = #{userType} - GROUP BY u.user_id, u.account, u.status, u.name, u.user_code, u.user_type, u.user_status, d.dept_name, u.mobile, u.create_time diff --git a/core/src/main/resources/mapper/tenderInfoMapper.xml b/core/src/main/resources/mapper/tenderInfoMapper.xml new file mode 100644 index 0000000..5d8a983 --- /dev/null +++ b/core/src/main/resources/mapper/tenderInfoMapper.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/web/src/main/java/com/dite/znpt/web/controller/BiddingInfoController.java b/web/src/main/java/com/dite/znpt/web/controller/BiddingInfoController.java new file mode 100644 index 0000000..03160c6 --- /dev/null +++ b/web/src/main/java/com/dite/znpt/web/controller/BiddingInfoController.java @@ -0,0 +1,68 @@ +package com.dite.znpt.web.controller; + +import com.dite.znpt.domain.PageResult; +import com.dite.znpt.domain.Result; +import com.dite.znpt.domain.vo.BiddingInfoReq; +import com.dite.znpt.domain.vo.BiddingInfoResp; +import com.dite.znpt.service.BiddingInfoService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.util.List; + +/** + * @author Bear.G + * @date 2025/7/28/周一 16:07 + * @description + */ +@Api(tags = "招标信息") +@RestController +@RequestMapping("/bidding-info") +public class BiddingInfoController { + + @Resource + private BiddingInfoService biddingInfoService; + + @ApiOperation(value = "分页查询招标信息列表", httpMethod = "GET") + @GetMapping("/page") + public PageResult page(String projectName) { + return PageResult.ok(biddingInfoService.page(projectName)); + } + + @ApiOperation(value = "查询招标信息列表", httpMethod = "GET") + @GetMapping("/list") + public Result> list(String projectName) { + return Result.ok(biddingInfoService.list(projectName)); + } + + @ApiOperation(value = "新增招标信息", httpMethod = "POST") + @PostMapping + public Result add(@Validated @RequestBody BiddingInfoReq req){ + biddingInfoService.save(req); + return Result.ok(); + } + + @ApiOperation(value = "编辑招标小心", httpMethod = "POST") + @PutMapping + public Result edit(@PathVariable String biddingInfoId, @Validated @RequestBody BiddingInfoReq req){ + biddingInfoService.update(biddingInfoId, req); + return Result.ok(); + } + + @ApiOperation(value = "报名", httpMethod = "PUT") + public Result apply(@PathVariable String biddingInfoId){ + biddingInfoService.apply(biddingInfoId); + return Result.ok(); + } + + @ApiOperation(value = "上传招标信息文件", httpMethod = "POST") + @PostMapping("/upload-bidding-info-file/{biddingInfoId}") + public Result uploadBiddingInfoFile(@PathVariable String biddingInfoId, @RequestParam("file") MultipartFile file) { + biddingInfoService.uploadBiddingInfoFile(biddingInfoId, file); + return Result.ok(); + } +} diff --git a/web/src/main/java/com/dite/znpt/web/controller/OutbidInfoController.java b/web/src/main/java/com/dite/znpt/web/controller/OutbidInfoController.java new file mode 100644 index 0000000..b450d5e --- /dev/null +++ b/web/src/main/java/com/dite/znpt/web/controller/OutbidInfoController.java @@ -0,0 +1,81 @@ +package com.dite.znpt.web.controller; + +import com.dite.znpt.domain.PageResult; +import com.dite.znpt.domain.Result; +import com.dite.znpt.domain.vo.OutbidInfoReq; +import com.dite.znpt.domain.vo.OutbidInfoResp; +import com.dite.znpt.service.OutbidInfoService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiModelProperty; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; + +/** + * @author Bear.G + * @date 2025/7/28/周一 16:13 + * @description + */ +@Api(tags = "中标通知信息") +@RestController +@RequestMapping("/outbid-info") +public class OutbidInfoController { + @Resource + private OutbidInfoService outbidInfoService; + + @ApiOperation(value = "分页查询中标通知信息列表", httpMethod = "GET") + @GetMapping("/page") + public PageResult page(String projectName){ + return PageResult.ok(outbidInfoService.page(projectName)); + } + + @ApiOperation(value = "查询中标通知信息列表", httpMethod = "GET") + @GetMapping("/list") + public Result list(String projectName){ + return Result.ok(outbidInfoService.list(projectName)); + } + + @ApiOperation(value = "根据中标通知信息Id获取详细信息", httpMethod = "GET") + @GetMapping("/detail/{outbidInfoId}") + public Result detail(@PathVariable String outbidInfoId){ + return Result.ok(outbidInfoService.detail(outbidInfoId)); + } + + @ApiOperation(value = "新增中标通知信息", httpMethod = "POST") + @PostMapping + public Result add(@RequestBody OutbidInfoReq req){ + outbidInfoService.save(req); + return Result.ok(); + } + + @ApiOperation(value = "根据中标通知信息Id更新信息", httpMethod = "PUT") + @PutMapping("/{outbidInfoId}") + public Result update(@PathVariable String outbidInfoId, @RequestBody OutbidInfoReq req){ + outbidInfoService.update(outbidInfoId, req); + return Result.ok(); + } + + @ApiOperation(value = "根据中标通知信息Id删除信息", httpMethod = "DELETE") + @DeleteMapping("/{outbidInfoId}") + public Result delete(@PathVariable String outbidInfoId){ + outbidInfoService.deleteById(outbidInfoId); + return Result.ok(); + } + + @ApiOperation(value = "上传中标通知信息文件", httpMethod = "POST") + @PostMapping("/upload-outbid-info-file/{outBidInfoId}") + public Result uploadTenderInfoFile(@PathVariable String outBidInfoId, @RequestParam("file") MultipartFile file) { + outbidInfoService.uploadOutbidInfoFile(outBidInfoId, file); + return Result.ok(); + } + + @ApiOperation(value = "下载中标通知信息文件", httpMethod = "POST") + @PostMapping("/download-outbid-info-file/{outBidInfoId}") + public Result downLoadTenderInfoFile(@PathVariable String outBidInfoId, HttpServletResponse response) { + outbidInfoService.downLoadTenderInfoFile(outBidInfoId, response); + return Result.ok(); + } +} diff --git a/web/src/main/java/com/dite/znpt/web/controller/TenderInfoController.java b/web/src/main/java/com/dite/znpt/web/controller/TenderInfoController.java new file mode 100644 index 0000000..63adfea --- /dev/null +++ b/web/src/main/java/com/dite/znpt/web/controller/TenderInfoController.java @@ -0,0 +1,75 @@ +package com.dite.znpt.web.controller; + +import com.dite.znpt.domain.PageResult; +import com.dite.znpt.domain.Result; +import com.dite.znpt.domain.vo.TenderInfoReq; +import com.dite.znpt.domain.vo.TenderInfoResp; +import com.dite.znpt.service.TenderInfoService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.util.List; + +/** + * @author Bear.G + * @date 2025/7/28/周一 16:10 + * @description + */ +@Api(tags = "投标信息") +@RestController +@RequestMapping("/tender-info") +public class TenderInfoController { + + @Resource + private TenderInfoService tenderInfoService; + + @ApiOperation(value = "分页查询投标信息列表", httpMethod = "GET") + @GetMapping("/page") + public PageResult page(String projectName){ + return PageResult.ok(tenderInfoService.page(projectName)); + } + + @ApiOperation(value = "查询投标信息列表", httpMethod = "GET") + @GetMapping("/list") + public Result> list(String projectName){ + return Result.ok(tenderInfoService.list(projectName)); + } + + @ApiOperation(value = "根据投标信息Id获取详细信息", httpMethod = "GET") + @GetMapping("/detail/{tenderInfoId}") + public Result detail(@PathVariable String tenderInfoId){ + return Result.ok(tenderInfoService.detail(tenderInfoId)); + } + + @ApiOperation(value = "新增投标信息", httpMethod = "POST") + @PostMapping + public Result add(@Validated @RequestBody TenderInfoReq req) { + tenderInfoService.save(req); + return Result.ok(); + } + + @ApiOperation(value = "修改投标信息", httpMethod = "PUT") + @PutMapping("/{tenderInfoId}") + public Result edit(@PathVariable String tenderInfoId, @Validated @RequestBody TenderInfoReq req) { + tenderInfoService.update(tenderInfoId, req); + return Result.ok(); + } + + @ApiOperation(value = "删除投标信息", httpMethod = "DELETE") + @DeleteMapping("/{tenderInfoId}") + public Result delete(@PathVariable String tenderInfoId) { + tenderInfoService.deleteById(tenderInfoId); + return Result.ok(); + } + + @ApiOperation(value = "上传投标信息文件", httpMethod = "POST") + @PostMapping("/upload-tender-info-file/{tenderInfoId}") + public Result uploadTenderInfoFile(@PathVariable String tenderInfoId, @RequestParam("file") MultipartFile file) { + tenderInfoService.uploadBiddingInfoFile(tenderInfoId, file); + return Result.ok(); + } +} From b0f8e7264af2789849df7e0dd416ba8d5f86ff73 Mon Sep 17 00:00:00 2001 From: gaoxiong Date: Mon, 28 Jul 2025 23:35:44 +0800 Subject: [PATCH 2/9] =?UTF-8?q?=E6=8B=9B=E6=8A=95=E6=A0=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/dite/znpt/constant/Message.java | 3 + .../java/com/dite/znpt/converts/Converts.java | 3 + .../znpt/domain/entity/BiddingInfoEntity.java | 4 +- .../znpt/domain/entity/OutbidInfoEntity.java | 2 +- .../znpt/domain/entity/TenderInfoEntity.java | 2 +- .../dite/znpt/domain/vo/BiddingInfoReq.java | 2 +- .../dite/znpt/domain/vo/BiddingInfoResp.java | 5 ++ .../dite/znpt/domain/vo/OutbidInfoReq.java | 3 +- .../dite/znpt/domain/vo/OutbidInfoResp.java | 3 + .../dite/znpt/domain/vo/TenderInfoReq.java | 3 +- .../dite/znpt/domain/vo/TenderInfoResp.java | 8 ++- .../dite/znpt/mapper/BiddingInfoMapper.java | 6 ++ .../dite/znpt/mapper/OutbidInfoMapper.java | 7 +++ .../dite/znpt/mapper/TenderInfoMapper.java | 8 +++ .../dite/znpt/service/BiddingInfoService.java | 2 +- .../dite/znpt/service/OutbidInfoService.java | 5 +- .../dite/znpt/service/TenderInfoService.java | 2 +- .../service/impl/BiddingInfoServiceImpl.java | 58 +++++++++++++++---- .../service/impl/OutbidInfoServiceImpl.java | 57 ++++++++++++++---- .../service/impl/TenderInfoServiceImpl.java | 54 ++++++++++++++--- .../resources/mapper/BiddingInfoMapper.xml | 10 ++++ .../resources/mapper/OutbidInfoMapper.xml | 19 ++++++ .../resources/mapper/TenderInfoMapper.xml | 28 +++++++++ .../resources/mapper/tenderInfoMapper.xml | 5 -- .../web/controller/BiddingInfoController.java | 16 ++--- .../web/controller/OutbidInfoController.java | 18 +++--- .../web/controller/TenderInfoController.java | 8 +-- 27 files changed, 270 insertions(+), 71 deletions(-) create mode 100644 core/src/main/resources/mapper/TenderInfoMapper.xml delete mode 100644 core/src/main/resources/mapper/tenderInfoMapper.xml diff --git a/core/src/main/java/com/dite/znpt/constant/Message.java b/core/src/main/java/com/dite/znpt/constant/Message.java index e2fafa6..6380daa 100644 --- a/core/src/main/java/com/dite/znpt/constant/Message.java +++ b/core/src/main/java/com/dite/znpt/constant/Message.java @@ -80,4 +80,7 @@ public class Message implements Serializable { public static final String EQUIPMENT_IS_USED = "设备已被使用"; public static final String EQUIPMENT_IS_RETURN = "设备已归还"; public static final String DAILY_REPORT_EXISTS = "当日已提交日报"; + public static final String BIDDING_INFO_ID_IS_NOT_EXIST = "招标信息id不存在"; + public static final String TENDER_INFO_ID_IS_NOT_EXIST = "投标信息id不存在"; + public static final String OUTBID_INFO_ID_IS_NOT_EXIST = "中标信息id不存在"; } diff --git a/core/src/main/java/com/dite/znpt/converts/Converts.java b/core/src/main/java/com/dite/znpt/converts/Converts.java index b373e0f..8d0f2d0 100644 --- a/core/src/main/java/com/dite/znpt/converts/Converts.java +++ b/core/src/main/java/com/dite/znpt/converts/Converts.java @@ -124,5 +124,8 @@ public interface Converts { EquipmentEntity toEquipmentUseRecordEntity(EquipmentReq req); EquipmentUseRecordEntity toEquipmentUseRecordEntity(EquipmentUseRecordReq req); + BiddingInfoEntity toBiddingInfoReq (BiddingInfoReq req); + TenderInfoEntity toTenderInfoEntity (TenderInfoReq req); + OutbidInfoEntity toOutbidInfoEntity (OutbidInfoReq req); } diff --git a/core/src/main/java/com/dite/znpt/domain/entity/BiddingInfoEntity.java b/core/src/main/java/com/dite/znpt/domain/entity/BiddingInfoEntity.java index 126f8df..acfd702 100644 --- a/core/src/main/java/com/dite/znpt/domain/entity/BiddingInfoEntity.java +++ b/core/src/main/java/com/dite/znpt/domain/entity/BiddingInfoEntity.java @@ -53,8 +53,8 @@ public class BiddingInfoEntity extends AuditableEntity implements Serializable { @ApiModelProperty("招标信息来源网址") private String sourceWebsite; - @ApiModelProperty("招标文件") - private String biddingFile; + @ApiModelProperty("招标文件id") + private String biddingFileId; @ApiModelProperty("状态:0-待报名,1-已报名") private String status; diff --git a/core/src/main/java/com/dite/znpt/domain/entity/OutbidInfoEntity.java b/core/src/main/java/com/dite/znpt/domain/entity/OutbidInfoEntity.java index b36f8b2..43b359a 100644 --- a/core/src/main/java/com/dite/znpt/domain/entity/OutbidInfoEntity.java +++ b/core/src/main/java/com/dite/znpt/domain/entity/OutbidInfoEntity.java @@ -46,7 +46,7 @@ public class OutbidInfoEntity extends AuditableEntity implements Serializable { private LocalDateTime outbidNotifyDate; @ApiModelProperty("中标通知文件") - private String outbidFile; + private String outbidNoticeFileId; @ApiModelProperty("删除标志(0代表存在 1代表删除)") @TableLogic(value = "0", delval = "1") diff --git a/core/src/main/java/com/dite/znpt/domain/entity/TenderInfoEntity.java b/core/src/main/java/com/dite/znpt/domain/entity/TenderInfoEntity.java index d7b9dd4..29ad3e4 100644 --- a/core/src/main/java/com/dite/znpt/domain/entity/TenderInfoEntity.java +++ b/core/src/main/java/com/dite/znpt/domain/entity/TenderInfoEntity.java @@ -55,7 +55,7 @@ public class TenderInfoEntity extends AuditableEntity implements Serializable { private String tenderManagerPhone; @ApiModelProperty("投标文件") - private String tenderFile; + private String tenderFileId; @ApiModelProperty("删除标志(0代表存在 1代表删除)") @TableLogic(value = "0", delval = "1") diff --git a/core/src/main/java/com/dite/znpt/domain/vo/BiddingInfoReq.java b/core/src/main/java/com/dite/znpt/domain/vo/BiddingInfoReq.java index 6d428e1..45a399c 100644 --- a/core/src/main/java/com/dite/znpt/domain/vo/BiddingInfoReq.java +++ b/core/src/main/java/com/dite/znpt/domain/vo/BiddingInfoReq.java @@ -51,5 +51,5 @@ public class BiddingInfoReq implements Serializable { @ApiModelProperty("招标文件") @Size(max = 200, message = "招标文件不能超过200个字符") - private String biddingFile; + private String biddingFileId; } diff --git a/core/src/main/java/com/dite/znpt/domain/vo/BiddingInfoResp.java b/core/src/main/java/com/dite/znpt/domain/vo/BiddingInfoResp.java index 5419c65..6c5f44a 100644 --- a/core/src/main/java/com/dite/znpt/domain/vo/BiddingInfoResp.java +++ b/core/src/main/java/com/dite/znpt/domain/vo/BiddingInfoResp.java @@ -20,4 +20,9 @@ public class BiddingInfoResp extends BiddingInfoReq implements Serializable { @ApiModelProperty("招标信息id") private String biddingInfoId; + + @ApiModelProperty("招标文件地址") + private String attachPath; + + } diff --git a/core/src/main/java/com/dite/znpt/domain/vo/OutbidInfoReq.java b/core/src/main/java/com/dite/znpt/domain/vo/OutbidInfoReq.java index dba74e2..619e0c2 100644 --- a/core/src/main/java/com/dite/znpt/domain/vo/OutbidInfoReq.java +++ b/core/src/main/java/com/dite/znpt/domain/vo/OutbidInfoReq.java @@ -38,8 +38,7 @@ public class OutbidInfoReq implements Serializable { private LocalDateTime outbidNotifyDate; @ApiModelProperty("中标通知文件") - @Size(max = 200, message = "中标通知文件长度不能超过200") - private String outbidNoticeFile; + private String outbidNoticeFileId; @ApiModelProperty("状态:0-已通知,1-已签约") private String status; diff --git a/core/src/main/java/com/dite/znpt/domain/vo/OutbidInfoResp.java b/core/src/main/java/com/dite/znpt/domain/vo/OutbidInfoResp.java index bfc0710..8669008 100644 --- a/core/src/main/java/com/dite/znpt/domain/vo/OutbidInfoResp.java +++ b/core/src/main/java/com/dite/znpt/domain/vo/OutbidInfoResp.java @@ -26,4 +26,7 @@ public class OutbidInfoResp extends OutbidInfoReq implements Serializable { @ApiModelProperty("招标公司") private String biddingCompany; + + @ApiModelProperty("中标通知文件地址") + private String attachPath; } diff --git a/core/src/main/java/com/dite/znpt/domain/vo/TenderInfoReq.java b/core/src/main/java/com/dite/znpt/domain/vo/TenderInfoReq.java index a65a217..30f7f53 100644 --- a/core/src/main/java/com/dite/znpt/domain/vo/TenderInfoReq.java +++ b/core/src/main/java/com/dite/znpt/domain/vo/TenderInfoReq.java @@ -43,9 +43,8 @@ public class TenderInfoReq implements Serializable { @ApiModelProperty("招标负责人联系方式") private String tenderManagerPhone; - @Size(max = 100, message = "投标文件不能超过100个字符") @ApiModelProperty("投标文件") - private String tenderFile; + private String tenderFileId; @Size(max = 500, message = "项目描述不能超过500个字符") @ApiModelProperty("项目描述") diff --git a/core/src/main/java/com/dite/znpt/domain/vo/TenderInfoResp.java b/core/src/main/java/com/dite/znpt/domain/vo/TenderInfoResp.java index 0c37898..6f6c1a5 100644 --- a/core/src/main/java/com/dite/znpt/domain/vo/TenderInfoResp.java +++ b/core/src/main/java/com/dite/znpt/domain/vo/TenderInfoResp.java @@ -20,7 +20,7 @@ import java.io.Serializable; */ @Data @ApiModel("投标信息响应实体") -public class TenderInfoResp extends BiddingInfoReq implements Serializable { +public class TenderInfoResp extends TenderInfoReq implements Serializable { @Serial private static final long serialVersionUID = -8445413467535624096L; @@ -33,4 +33,10 @@ public class TenderInfoResp extends BiddingInfoReq implements Serializable { @ApiModelProperty("招标公司") private String biddingCompany; + @ApiModelProperty("投标文件地址") + private String attachPath; + + @ApiModelProperty("投标负责人姓名") + private String tenderManagerName; + } \ No newline at end of file diff --git a/core/src/main/java/com/dite/znpt/mapper/BiddingInfoMapper.java b/core/src/main/java/com/dite/znpt/mapper/BiddingInfoMapper.java index 3bd2a4c..58e377f 100644 --- a/core/src/main/java/com/dite/znpt/mapper/BiddingInfoMapper.java +++ b/core/src/main/java/com/dite/znpt/mapper/BiddingInfoMapper.java @@ -2,6 +2,10 @@ package com.dite.znpt.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.dite.znpt.domain.entity.BiddingInfoEntity; +import com.dite.znpt.domain.vo.BiddingInfoResp; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * @author Bear.G @@ -9,4 +13,6 @@ import com.dite.znpt.domain.entity.BiddingInfoEntity; * @description */ public interface BiddingInfoMapper extends BaseMapper { + + List listBiddingInfoResp(@Param("projectName") String projectName); } diff --git a/core/src/main/java/com/dite/znpt/mapper/OutbidInfoMapper.java b/core/src/main/java/com/dite/znpt/mapper/OutbidInfoMapper.java index 3448a05..4c51729 100644 --- a/core/src/main/java/com/dite/znpt/mapper/OutbidInfoMapper.java +++ b/core/src/main/java/com/dite/znpt/mapper/OutbidInfoMapper.java @@ -2,6 +2,10 @@ package com.dite.znpt.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.dite.znpt.domain.entity.OutbidInfoEntity; +import com.dite.znpt.domain.vo.OutbidInfoResp; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * @author Bear.G @@ -9,4 +13,7 @@ import com.dite.znpt.domain.entity.OutbidInfoEntity; * @description */ public interface OutbidInfoMapper extends BaseMapper { + List listOutbidInfoResp(@Param("projectName") String projectName); + + OutbidInfoResp getOutbidInfoResp(@Param("outbidInfoId") String outbidInfoId); } diff --git a/core/src/main/java/com/dite/znpt/mapper/TenderInfoMapper.java b/core/src/main/java/com/dite/znpt/mapper/TenderInfoMapper.java index 86dc3f5..a3f004c 100644 --- a/core/src/main/java/com/dite/znpt/mapper/TenderInfoMapper.java +++ b/core/src/main/java/com/dite/znpt/mapper/TenderInfoMapper.java @@ -2,6 +2,11 @@ package com.dite.znpt.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.dite.znpt.domain.entity.TenderInfoEntity; +import com.dite.znpt.domain.vo.TenderInfoResp; +import org.apache.ibatis.annotations.Param; +import org.springframework.web.bind.annotation.PathVariable; + +import java.util.List; /** * @author Bear.G @@ -9,4 +14,7 @@ import com.dite.znpt.domain.entity.TenderInfoEntity; * @description */ public interface TenderInfoMapper extends BaseMapper { + List listTenderInfoResp(@Param("projectName") String projectName); + + TenderInfoResp getTenderInfoResp(@Param("tenderInfoId") String tenderInfoId); } diff --git a/core/src/main/java/com/dite/znpt/service/BiddingInfoService.java b/core/src/main/java/com/dite/znpt/service/BiddingInfoService.java index 5084b09..9ede904 100644 --- a/core/src/main/java/com/dite/znpt/service/BiddingInfoService.java +++ b/core/src/main/java/com/dite/znpt/service/BiddingInfoService.java @@ -19,6 +19,6 @@ public interface BiddingInfoService extends IService { List list(String projectName); void save(BiddingInfoReq req); void update(String biddingInfoId, BiddingInfoReq req); + void uploadBiddingInfoFile(String biddingInfoId, String biddingFileId); void apply(String biddingInfoId); - void uploadBiddingInfoFile(String biddingInfoId, MultipartFile file); } diff --git a/core/src/main/java/com/dite/znpt/service/OutbidInfoService.java b/core/src/main/java/com/dite/znpt/service/OutbidInfoService.java index 9044ee4..4aa02b4 100644 --- a/core/src/main/java/com/dite/znpt/service/OutbidInfoService.java +++ b/core/src/main/java/com/dite/znpt/service/OutbidInfoService.java @@ -4,7 +4,6 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.dite.znpt.domain.entity.OutbidInfoEntity; import com.dite.znpt.domain.vo.OutbidInfoReq; import com.dite.znpt.domain.vo.OutbidInfoResp; -import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; import java.util.List; @@ -22,6 +21,6 @@ public interface OutbidInfoService extends IService { void save(OutbidInfoReq req); void update(String outbidInfoId, OutbidInfoReq req); void deleteById(String outbidInfoId); - void uploadOutbidInfoFile(String outbidInfoId, MultipartFile file); - void downLoadTenderInfoFile(String outbidInfoId, HttpServletResponse response); + void uploadOutbidNoticeFile(String outBidInfoId, String outbidFileId); + void downLoadOutbidNoticeFile(String outbidFileId, HttpServletResponse response) throws Exception; } diff --git a/core/src/main/java/com/dite/znpt/service/TenderInfoService.java b/core/src/main/java/com/dite/znpt/service/TenderInfoService.java index 0a2c539..dc185ce 100644 --- a/core/src/main/java/com/dite/znpt/service/TenderInfoService.java +++ b/core/src/main/java/com/dite/znpt/service/TenderInfoService.java @@ -20,6 +20,6 @@ public interface TenderInfoService extends IService { void save(TenderInfoReq req); void update(String tenderInfoId, TenderInfoReq req); void deleteById(String tenderInfoId); - void uploadBiddingInfoFile(String tenderInfoId, MultipartFile file); + void uploadBiddingInfoFile(String tenderInfoId, String tenderFileId); } diff --git a/core/src/main/java/com/dite/znpt/service/impl/BiddingInfoServiceImpl.java b/core/src/main/java/com/dite/znpt/service/impl/BiddingInfoServiceImpl.java index 95cddfe..43f9498 100644 --- a/core/src/main/java/com/dite/znpt/service/impl/BiddingInfoServiceImpl.java +++ b/core/src/main/java/com/dite/znpt/service/impl/BiddingInfoServiceImpl.java @@ -1,14 +1,22 @@ package com.dite.znpt.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.dite.znpt.constant.Constants; +import com.dite.znpt.constant.Message; +import com.dite.znpt.converts.Converts; +import com.dite.znpt.domain.entity.AttachInfoEntity; import com.dite.znpt.domain.entity.BiddingInfoEntity; import com.dite.znpt.domain.vo.BiddingInfoReq; import com.dite.znpt.domain.vo.BiddingInfoResp; +import com.dite.znpt.exception.ServiceException; import com.dite.znpt.mapper.BiddingInfoMapper; +import com.dite.znpt.service.AttachInfoService; import com.dite.znpt.service.BiddingInfoService; +import com.dite.znpt.util.PageUtil; import org.springframework.stereotype.Service; -import org.springframework.web.multipart.MultipartFile; +import org.springframework.transaction.annotation.Transactional; +import javax.annotation.Resource; import java.util.List; /** @@ -19,33 +27,61 @@ import java.util.List; @Service public class BiddingInfoServiceImpl extends ServiceImpl implements BiddingInfoService { + @Resource + private AttachInfoService attachInfoService; @Override public List page(String projectName) { - return List.of(); + PageUtil.startPage(); + return this.list(projectName); } @Override public List list(String projectName) { - return List.of(); + return this.baseMapper.listBiddingInfoResp(projectName); } + @Transactional(rollbackFor = Exception.class) @Override public void save(BiddingInfoReq req) { - + BiddingInfoEntity entity = Converts.INSTANCE.toBiddingInfoReq(req); + this.save(entity); } + @Transactional(rollbackFor = Exception.class) @Override public void update(String biddingInfoId, BiddingInfoReq req) { - + BiddingInfoEntity biddingInfo = this.getById(biddingInfoId); + if(null ==biddingInfo){ + throw new ServiceException(Message.BIDDING_INFO_ID_IS_NOT_EXIST); + } + BiddingInfoEntity entity = Converts.INSTANCE.toBiddingInfoReq(req); + entity.setBiddingInfoId(biddingInfoId); + this.updateById(entity); } + @Transactional(rollbackFor = Exception.class) + @Override + public void uploadBiddingInfoFile(String biddingInfoId, String biddingFileId) { + BiddingInfoEntity entity = this.getById(biddingInfoId); + if(null ==entity){ + throw new ServiceException(Message.BIDDING_INFO_ID_IS_NOT_EXIST); + } + AttachInfoEntity attachInfo = attachInfoService.getById(biddingFileId); + if(null == attachInfo || !Constants.DEL_FLAG_0.equals(attachInfo.getDelFlag())){ + throw new ServiceException(Message.ATTACH_INFO_IS_NOT_EXIST); + } + entity.setBiddingFileId(biddingFileId); + this.updateById(entity); + } + + @Transactional(rollbackFor = Exception.class) @Override public void apply(String biddingInfoId) { - - } - - @Override - public void uploadBiddingInfoFile(String biddingInfoId, MultipartFile file) { - + BiddingInfoEntity entity = this.getById(biddingInfoId); + if(null ==entity){ + throw new ServiceException(Message.BIDDING_INFO_ID_IS_NOT_EXIST); + } + entity.setStatus("1"); + this.updateById(entity); } } diff --git a/core/src/main/java/com/dite/znpt/service/impl/OutbidInfoServiceImpl.java b/core/src/main/java/com/dite/znpt/service/impl/OutbidInfoServiceImpl.java index 2cff12f..1dea161 100644 --- a/core/src/main/java/com/dite/znpt/service/impl/OutbidInfoServiceImpl.java +++ b/core/src/main/java/com/dite/znpt/service/impl/OutbidInfoServiceImpl.java @@ -1,14 +1,23 @@ package com.dite.znpt.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.dite.znpt.constant.Constants; +import com.dite.znpt.constant.Message; +import com.dite.znpt.converts.Converts; +import com.dite.znpt.domain.entity.AttachInfoEntity; import com.dite.znpt.domain.entity.OutbidInfoEntity; import com.dite.znpt.domain.vo.OutbidInfoReq; import com.dite.znpt.domain.vo.OutbidInfoResp; +import com.dite.znpt.exception.ServiceException; import com.dite.znpt.mapper.OutbidInfoMapper; +import com.dite.znpt.service.AttachInfoService; import com.dite.znpt.service.OutbidInfoService; +import com.dite.znpt.util.PageUtil; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; +import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import java.util.List; @@ -19,43 +28,71 @@ import java.util.List; */ @Service public class OutbidInfoServiceImpl extends ServiceImpl implements OutbidInfoService { + + @Resource + private AttachInfoService attachInfoService; @Override public List page(String projectName) { - return List.of(); + PageUtil.startPage(); + return this.list(projectName); } @Override public List list(String projectName) { - return List.of(); + return this.baseMapper.listOutbidInfoResp(projectName); } @Override public OutbidInfoResp detail(String outbidInfoId) { - return null; + return this.baseMapper.getOutbidInfoResp(outbidInfoId); } + @Transactional(rollbackFor = Exception.class) @Override public void save(OutbidInfoReq req) { - + OutbidInfoEntity entity = Converts.INSTANCE.toOutbidInfoEntity(req); + this.save(entity); } + @Transactional(rollbackFor = Exception.class) @Override public void update(String outbidInfoId, OutbidInfoReq req) { - + OutbidInfoEntity outbidInfo = this.getById(outbidInfoId); + if(null == outbidInfo){ + throw new ServiceException(Message.OUTBID_INFO_ID_IS_NOT_EXIST); + } + OutbidInfoEntity entity = Converts.INSTANCE.toOutbidInfoEntity(req); + entity.setOutbidId(outbidInfoId); + this.updateById(entity); } + @Transactional(rollbackFor = Exception.class) @Override public void deleteById(String outbidInfoId) { - + OutbidInfoEntity outbidInfo = this.getById(outbidInfoId); + if(null == outbidInfo){ + throw new ServiceException(Message.OUTBID_INFO_ID_IS_NOT_EXIST); + } + this.removeById(outbidInfoId); } @Override - public void uploadOutbidInfoFile(String outbidInfoId, MultipartFile file) { - + public void uploadOutbidNoticeFile(String outbidInfoId, String outbidNoticeFileId) { + OutbidInfoEntity outbidInfo = this.getById(outbidInfoId); + if(null == outbidInfo){ + throw new ServiceException(Message.OUTBID_INFO_ID_IS_NOT_EXIST); + } + AttachInfoEntity attachInfo = attachInfoService.getById(outbidNoticeFileId); + if(null == attachInfo || !Constants.DEL_FLAG_0.equals(attachInfo.getDelFlag())){ + throw new ServiceException(Message.ATTACH_INFO_IS_NOT_EXIST); + } + outbidInfo.setOutbidNoticeFileId(outbidNoticeFileId); + this.updateById(outbidInfo); } @Override - public void downLoadTenderInfoFile(String outbidInfoId, HttpServletResponse response) { - + public void downLoadOutbidNoticeFile(String outbidNoticeFileId, HttpServletResponse response) throws Exception { + attachInfoService.download(outbidNoticeFileId, response); } + } diff --git a/core/src/main/java/com/dite/znpt/service/impl/TenderInfoServiceImpl.java b/core/src/main/java/com/dite/znpt/service/impl/TenderInfoServiceImpl.java index c98302f..948bef1 100644 --- a/core/src/main/java/com/dite/znpt/service/impl/TenderInfoServiceImpl.java +++ b/core/src/main/java/com/dite/znpt/service/impl/TenderInfoServiceImpl.java @@ -1,14 +1,23 @@ package com.dite.znpt.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.dite.znpt.constant.Constants; +import com.dite.znpt.constant.Message; +import com.dite.znpt.converts.Converts; +import com.dite.znpt.domain.entity.AttachInfoEntity; import com.dite.znpt.domain.entity.TenderInfoEntity; import com.dite.znpt.domain.vo.TenderInfoReq; import com.dite.znpt.domain.vo.TenderInfoResp; +import com.dite.znpt.exception.ServiceException; import com.dite.znpt.mapper.TenderInfoMapper; +import com.dite.znpt.service.AttachInfoService; import com.dite.znpt.service.TenderInfoService; +import com.dite.znpt.util.PageUtil; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; +import javax.annotation.Resource; import java.util.List; /** @@ -18,38 +27,67 @@ import java.util.List; */ @Service public class TenderInfoServiceImpl extends ServiceImpl implements TenderInfoService { + + @Resource + private AttachInfoService attachInfoService; @Override public List page(String projectName) { - return null; + PageUtil.startPage(); + return this.list(projectName); } @Override public List list(String projectName) { - return List.of(); + return this.baseMapper.listTenderInfoResp(projectName); } @Override public TenderInfoResp detail(String tenderInfoId) { - return null; + return this.baseMapper.getTenderInfoResp(tenderInfoId); } + @Transactional(rollbackFor = Exception.class) @Override public void save(TenderInfoReq req) { - + TenderInfoEntity entity = Converts.INSTANCE.toTenderInfoEntity(req); + this.save(entity); } + @Transactional(rollbackFor = Exception.class) @Override public void update(String tenderInfoId, TenderInfoReq req) { - + TenderInfoEntity tenderInfo = this.getById(tenderInfoId); + if(null ==tenderInfo){ + throw new ServiceException(Message.TENDER_INFO_ID_IS_NOT_EXIST); + } + TenderInfoEntity entity = Converts.INSTANCE.toTenderInfoEntity(req); + entity.setTenderInfoId(tenderInfoId); + this.updateById(entity); } + @Transactional(rollbackFor = Exception.class) @Override public void deleteById(String tenderInfoId) { - + TenderInfoEntity tenderInfo = this.getById(tenderInfoId); + if(null ==tenderInfo){ + throw new ServiceException(Message.TENDER_INFO_ID_IS_NOT_EXIST); + } + this.removeById(tenderInfoId); } - @Override - public void uploadBiddingInfoFile(String tenderInfoId, MultipartFile file) { + @Transactional(rollbackFor = Exception.class) + @Override + public void uploadBiddingInfoFile(String tenderInfoId, String tenderFileId) { + TenderInfoEntity entity = this.getById(tenderInfoId); + if(null == entity){ + throw new ServiceException(Message.TENDER_INFO_ID_IS_NOT_EXIST); + } + AttachInfoEntity attachInfo = attachInfoService.getById(tenderInfoId); + if(null == attachInfo || !Constants.DEL_FLAG_0.equals(attachInfo.getDelFlag())){ + throw new ServiceException(Message.ATTACH_INFO_IS_NOT_EXIST); + } + entity.setTenderFileId(tenderFileId); + this.updateById(entity); } } diff --git a/core/src/main/resources/mapper/BiddingInfoMapper.xml b/core/src/main/resources/mapper/BiddingInfoMapper.xml index 4133f08..9672a96 100644 --- a/core/src/main/resources/mapper/BiddingInfoMapper.xml +++ b/core/src/main/resources/mapper/BiddingInfoMapper.xml @@ -2,4 +2,14 @@ + \ No newline at end of file diff --git a/core/src/main/resources/mapper/OutbidInfoMapper.xml b/core/src/main/resources/mapper/OutbidInfoMapper.xml index 8620795..5cccaa5 100644 --- a/core/src/main/resources/mapper/OutbidInfoMapper.xml +++ b/core/src/main/resources/mapper/OutbidInfoMapper.xml @@ -2,4 +2,23 @@ + + \ No newline at end of file diff --git a/core/src/main/resources/mapper/TenderInfoMapper.xml b/core/src/main/resources/mapper/TenderInfoMapper.xml new file mode 100644 index 0000000..6f83a25 --- /dev/null +++ b/core/src/main/resources/mapper/TenderInfoMapper.xml @@ -0,0 +1,28 @@ + + + + + + + \ No newline at end of file diff --git a/core/src/main/resources/mapper/tenderInfoMapper.xml b/core/src/main/resources/mapper/tenderInfoMapper.xml deleted file mode 100644 index 5d8a983..0000000 --- a/core/src/main/resources/mapper/tenderInfoMapper.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/web/src/main/java/com/dite/znpt/web/controller/BiddingInfoController.java b/web/src/main/java/com/dite/znpt/web/controller/BiddingInfoController.java index 03160c6..b3d5d7f 100644 --- a/web/src/main/java/com/dite/znpt/web/controller/BiddingInfoController.java +++ b/web/src/main/java/com/dite/znpt/web/controller/BiddingInfoController.java @@ -46,23 +46,23 @@ public class BiddingInfoController { return Result.ok(); } - @ApiOperation(value = "编辑招标小心", httpMethod = "POST") + @ApiOperation(value = "编辑招标消息",httpMethod = "POST") @PutMapping public Result edit(@PathVariable String biddingInfoId, @Validated @RequestBody BiddingInfoReq req){ biddingInfoService.update(biddingInfoId, req); return Result.ok(); } + @ApiOperation(value = "上传招标文件",httpMethod = "PUT", notes = "上传附件调用新增附件信息接口:/attach-info/biddingInfo,userDefinedPath = {biddingInfoId}") + @PutMapping("/{biddingInfoId}/upload-bidding-info_file/{biddingFileId}") + public Result uploadBiddingInfoFile(@PathVariable String biddingInfoId, @PathVariable String biddingFileId){ + biddingInfoService.uploadBiddingInfoFile(biddingInfoId, biddingFileId); + return Result.ok(); + } @ApiOperation(value = "报名", httpMethod = "PUT") + @PutMapping("/apply/{biddingInfoId}") public Result apply(@PathVariable String biddingInfoId){ biddingInfoService.apply(biddingInfoId); return Result.ok(); } - - @ApiOperation(value = "上传招标信息文件", httpMethod = "POST") - @PostMapping("/upload-bidding-info-file/{biddingInfoId}") - public Result uploadBiddingInfoFile(@PathVariable String biddingInfoId, @RequestParam("file") MultipartFile file) { - biddingInfoService.uploadBiddingInfoFile(biddingInfoId, file); - return Result.ok(); - } } diff --git a/web/src/main/java/com/dite/znpt/web/controller/OutbidInfoController.java b/web/src/main/java/com/dite/znpt/web/controller/OutbidInfoController.java index b450d5e..95896bc 100644 --- a/web/src/main/java/com/dite/znpt/web/controller/OutbidInfoController.java +++ b/web/src/main/java/com/dite/znpt/web/controller/OutbidInfoController.java @@ -6,10 +6,8 @@ import com.dite.znpt.domain.vo.OutbidInfoReq; import com.dite.znpt.domain.vo.OutbidInfoResp; import com.dite.znpt.service.OutbidInfoService; import io.swagger.annotations.Api; -import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; @@ -44,14 +42,14 @@ public class OutbidInfoController { return Result.ok(outbidInfoService.detail(outbidInfoId)); } - @ApiOperation(value = "新增中标通知信息", httpMethod = "POST") + @ApiOperation(value = "新增中标通知信息", httpMethod = "POST", notes = "上传附件调用新增附件信息接口:/attach-info/outbidInfo,userDefinedPath = {outbidInfoId}") @PostMapping public Result add(@RequestBody OutbidInfoReq req){ outbidInfoService.save(req); return Result.ok(); } - @ApiOperation(value = "根据中标通知信息Id更新信息", httpMethod = "PUT") + @ApiOperation(value = "根据中标通知信息Id更新信息", httpMethod = "PUT", notes = "上传附件调用新增附件信息接口:/attach-info/outbidInfo,userDefinedPath = {outbidInfoId}") @PutMapping("/{outbidInfoId}") public Result update(@PathVariable String outbidInfoId, @RequestBody OutbidInfoReq req){ outbidInfoService.update(outbidInfoId, req); @@ -66,16 +64,16 @@ public class OutbidInfoController { } @ApiOperation(value = "上传中标通知信息文件", httpMethod = "POST") - @PostMapping("/upload-outbid-info-file/{outBidInfoId}") - public Result uploadTenderInfoFile(@PathVariable String outBidInfoId, @RequestParam("file") MultipartFile file) { - outbidInfoService.uploadOutbidInfoFile(outBidInfoId, file); + @PostMapping("/{outBidInfoId}/upload-outbid-info-file/{outbidNoticeFileId}") + public Result uploadOutbidNoticeFile(@PathVariable String outBidInfoId, @PathVariable String outbidNoticeFileId) { + outbidInfoService.uploadOutbidNoticeFile(outBidInfoId, outbidNoticeFileId); return Result.ok(); } @ApiOperation(value = "下载中标通知信息文件", httpMethod = "POST") - @PostMapping("/download-outbid-info-file/{outBidInfoId}") - public Result downLoadTenderInfoFile(@PathVariable String outBidInfoId, HttpServletResponse response) { - outbidInfoService.downLoadTenderInfoFile(outBidInfoId, response); + @PostMapping("/download-outbid-info-file/{outbidNoticeFileId}") + public Result downLoadOutbidNoticeFile(@PathVariable String outbidNoticeFileId, HttpServletResponse response) throws Exception { + outbidInfoService.downLoadOutbidNoticeFile(outbidNoticeFileId, response); return Result.ok(); } } diff --git a/web/src/main/java/com/dite/znpt/web/controller/TenderInfoController.java b/web/src/main/java/com/dite/znpt/web/controller/TenderInfoController.java index 63adfea..5f8ea3a 100644 --- a/web/src/main/java/com/dite/znpt/web/controller/TenderInfoController.java +++ b/web/src/main/java/com/dite/znpt/web/controller/TenderInfoController.java @@ -66,10 +66,10 @@ public class TenderInfoController { return Result.ok(); } - @ApiOperation(value = "上传投标信息文件", httpMethod = "POST") - @PostMapping("/upload-tender-info-file/{tenderInfoId}") - public Result uploadTenderInfoFile(@PathVariable String tenderInfoId, @RequestParam("file") MultipartFile file) { - tenderInfoService.uploadBiddingInfoFile(tenderInfoId, file); + @ApiOperation(value = "上传投标信息文件", httpMethod = "POST", notes = "上传附件调用新增附件信息接口:/attach-info/tenderInfo,userDefinedPath = {tenderInfoId}") + @PostMapping("/{tenderInfoId}/upload-tender-info-file/{tenderFileId}") + public Result uploadTenderInfoFile(@PathVariable String tenderInfoId, @PathVariable String tenderFileId) { + tenderInfoService.uploadBiddingInfoFile(tenderInfoId, tenderFileId); return Result.ok(); } } From 096151403a6dd6645d0c392599d7415f4d84ba66 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=AB=98=E9=9B=84?= Date: Tue, 29 Jul 2025 15:41:04 +0800 Subject: [PATCH 3/9] =?UTF-8?q?=E6=8B=9B=E6=8A=95=E6=A0=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/dite/znpt/constant/Message.java | 2 + .../znpt/domain/entity/AttachInfoEntity.java | 4 + .../znpt/domain/entity/OutbidInfoEntity.java | 5 +- .../dite/znpt/domain/vo/AttachInfoReq.java | 3 + .../dite/znpt/domain/vo/AttachInfoResp.java | 3 + .../dite/znpt/domain/vo/BiddingInfoReq.java | 6 +- .../dite/znpt/domain/vo/BiddingInfoResp.java | 3 + .../dite/znpt/domain/vo/OutbidInfoReq.java | 2 +- .../dite/znpt/domain/vo/OutbidInfoResp.java | 3 + .../dite/znpt/domain/vo/TenderInfoResp.java | 3 + .../znpt/enums/AttachBusinessTypeEnum.java | 3 + .../dite/znpt/service/BiddingInfoService.java | 1 - .../dite/znpt/service/OutbidInfoService.java | 1 - .../dite/znpt/service/TenderInfoService.java | 2 - .../service/impl/AttachInfoServiceImpl.java | 2 + .../service/impl/BiddingInfoServiceImpl.java | 3 + .../service/impl/OutbidInfoServiceImpl.java | 57 ++++++++++---- .../service/impl/TenderInfoServiceImpl.java | 76 ++++++++++++++----- .../resources/mapper/BiddingInfoMapper.xml | 2 +- .../resources/mapper/OutbidInfoMapper.xml | 4 +- .../resources/mapper/TenderInfoMapper.xml | 4 +- .../web/controller/BiddingInfoController.java | 3 +- .../web/controller/OutbidInfoController.java | 7 -- .../web/controller/TenderInfoController.java | 12 +-- 24 files changed, 145 insertions(+), 66 deletions(-) diff --git a/core/src/main/java/com/dite/znpt/constant/Message.java b/core/src/main/java/com/dite/znpt/constant/Message.java index 6380daa..8e6398a 100644 --- a/core/src/main/java/com/dite/znpt/constant/Message.java +++ b/core/src/main/java/com/dite/znpt/constant/Message.java @@ -82,5 +82,7 @@ public class Message implements Serializable { public static final String DAILY_REPORT_EXISTS = "当日已提交日报"; public static final String BIDDING_INFO_ID_IS_NOT_EXIST = "招标信息id不存在"; public static final String TENDER_INFO_ID_IS_NOT_EXIST = "投标信息id不存在"; + public static final String TENDER_INFO_IS_EXIST = "招标[{}]已存中投信息存在"; public static final String OUTBID_INFO_ID_IS_NOT_EXIST = "中标信息id不存在"; + public static final String OUTBID_INFO_IS_EXIST = "招标[{}]已存中标信息存在"; } diff --git a/core/src/main/java/com/dite/znpt/domain/entity/AttachInfoEntity.java b/core/src/main/java/com/dite/znpt/domain/entity/AttachInfoEntity.java index 5e1fb8c..ad09e56 100644 --- a/core/src/main/java/com/dite/znpt/domain/entity/AttachInfoEntity.java +++ b/core/src/main/java/com/dite/znpt/domain/entity/AttachInfoEntity.java @@ -43,6 +43,10 @@ public class AttachInfoEntity extends AuditableEntity implements Serializable { @TableField("business_type") private String businessType; + @ApiModelProperty("文件名") + @TableField("file_name") + private String fileName; + @ApiModelProperty("文件类型") @TableField("file_type") private String fileType; diff --git a/core/src/main/java/com/dite/znpt/domain/entity/OutbidInfoEntity.java b/core/src/main/java/com/dite/znpt/domain/entity/OutbidInfoEntity.java index 43b359a..61230b8 100644 --- a/core/src/main/java/com/dite/znpt/domain/entity/OutbidInfoEntity.java +++ b/core/src/main/java/com/dite/znpt/domain/entity/OutbidInfoEntity.java @@ -31,7 +31,7 @@ public class OutbidInfoEntity extends AuditableEntity implements Serializable { @ApiModelProperty("中标通知信息id") @TableId(type = IdType.ASSIGN_UUID) - private String outbidId; + private String outbidInfoId; @ApiModelProperty("招标信息id") private String biddingInfoId; @@ -48,6 +48,9 @@ public class OutbidInfoEntity extends AuditableEntity implements Serializable { @ApiModelProperty("中标通知文件") private String outbidNoticeFileId; + @ApiModelProperty("状态") + private String status; + @ApiModelProperty("删除标志(0代表存在 1代表删除)") @TableLogic(value = "0", delval = "1") private String delFlag; diff --git a/core/src/main/java/com/dite/znpt/domain/vo/AttachInfoReq.java b/core/src/main/java/com/dite/znpt/domain/vo/AttachInfoReq.java index 11d8200..be5ce0d 100644 --- a/core/src/main/java/com/dite/znpt/domain/vo/AttachInfoReq.java +++ b/core/src/main/java/com/dite/znpt/domain/vo/AttachInfoReq.java @@ -24,6 +24,9 @@ public class AttachInfoReq implements Serializable { @ApiModelProperty("自定义路径") private String userDefinedPath; + @ApiModelProperty("文件名称") + private String fileName; + @ApiModelProperty("文件类型") private String fileType; diff --git a/core/src/main/java/com/dite/znpt/domain/vo/AttachInfoResp.java b/core/src/main/java/com/dite/znpt/domain/vo/AttachInfoResp.java index 027fea6..b56a7f7 100644 --- a/core/src/main/java/com/dite/znpt/domain/vo/AttachInfoResp.java +++ b/core/src/main/java/com/dite/znpt/domain/vo/AttachInfoResp.java @@ -32,6 +32,9 @@ public class AttachInfoResp implements Serializable { @ApiModelProperty("附件路径") private String attachPath; + @ApiModelProperty("文件名称") + private String fileName; + @ApiModelProperty("文件类型") private String fileType; diff --git a/core/src/main/java/com/dite/znpt/domain/vo/BiddingInfoReq.java b/core/src/main/java/com/dite/znpt/domain/vo/BiddingInfoReq.java index 45a399c..25e17fe 100644 --- a/core/src/main/java/com/dite/znpt/domain/vo/BiddingInfoReq.java +++ b/core/src/main/java/com/dite/znpt/domain/vo/BiddingInfoReq.java @@ -46,10 +46,6 @@ public class BiddingInfoReq implements Serializable { private String source; @ApiModelProperty("信息来源网址") - @Size(max = 500, message = "信息来源网址不能超过500个字符") + @Size(max = 100, message = "信息来源网址不能超过100个字符") private String sourceWebsite; - - @ApiModelProperty("招标文件") - @Size(max = 200, message = "招标文件不能超过200个字符") - private String biddingFileId; } diff --git a/core/src/main/java/com/dite/znpt/domain/vo/BiddingInfoResp.java b/core/src/main/java/com/dite/znpt/domain/vo/BiddingInfoResp.java index 6c5f44a..64a1797 100644 --- a/core/src/main/java/com/dite/znpt/domain/vo/BiddingInfoResp.java +++ b/core/src/main/java/com/dite/znpt/domain/vo/BiddingInfoResp.java @@ -21,6 +21,9 @@ public class BiddingInfoResp extends BiddingInfoReq implements Serializable { @ApiModelProperty("招标信息id") private String biddingInfoId; + @ApiModelProperty("文件名称") + private String fileName; + @ApiModelProperty("招标文件地址") private String attachPath; diff --git a/core/src/main/java/com/dite/znpt/domain/vo/OutbidInfoReq.java b/core/src/main/java/com/dite/znpt/domain/vo/OutbidInfoReq.java index 619e0c2..16386fa 100644 --- a/core/src/main/java/com/dite/znpt/domain/vo/OutbidInfoReq.java +++ b/core/src/main/java/com/dite/znpt/domain/vo/OutbidInfoReq.java @@ -28,7 +28,7 @@ public class OutbidInfoReq implements Serializable { private String biddingInfoId; @ApiModelProperty("中标金额") - private BigDecimal outBidAmount; + private BigDecimal outbidAmount; @ApiModelProperty("工期") private Integer duration; diff --git a/core/src/main/java/com/dite/znpt/domain/vo/OutbidInfoResp.java b/core/src/main/java/com/dite/znpt/domain/vo/OutbidInfoResp.java index 8669008..bfac3a3 100644 --- a/core/src/main/java/com/dite/znpt/domain/vo/OutbidInfoResp.java +++ b/core/src/main/java/com/dite/znpt/domain/vo/OutbidInfoResp.java @@ -27,6 +27,9 @@ public class OutbidInfoResp extends OutbidInfoReq implements Serializable { @ApiModelProperty("招标公司") private String biddingCompany; + @ApiModelProperty("文件名称") + private String fileName; + @ApiModelProperty("中标通知文件地址") private String attachPath; } diff --git a/core/src/main/java/com/dite/znpt/domain/vo/TenderInfoResp.java b/core/src/main/java/com/dite/znpt/domain/vo/TenderInfoResp.java index 6f6c1a5..97e8028 100644 --- a/core/src/main/java/com/dite/znpt/domain/vo/TenderInfoResp.java +++ b/core/src/main/java/com/dite/znpt/domain/vo/TenderInfoResp.java @@ -32,6 +32,9 @@ public class TenderInfoResp extends TenderInfoReq implements Serializable { @ApiModelProperty("招标公司") private String biddingCompany; + + @ApiModelProperty("文件名称") + private String fileName; @ApiModelProperty("投标文件地址") private String attachPath; diff --git a/core/src/main/java/com/dite/znpt/enums/AttachBusinessTypeEnum.java b/core/src/main/java/com/dite/znpt/enums/AttachBusinessTypeEnum.java index ac53840..1be8f4b 100644 --- a/core/src/main/java/com/dite/znpt/enums/AttachBusinessTypeEnum.java +++ b/core/src/main/java/com/dite/znpt/enums/AttachBusinessTypeEnum.java @@ -20,6 +20,9 @@ public enum AttachBusinessTypeEnum { REPORT("report", "报告"), PROJECT_BUDGE("project_budge", "预算文件"), PROJECT_DAILY_REPORT("project_daily_report", "项目日报文件"), + BIDDING_INFO("bidding_info", "招标信息"), + TENDER_INFO("tender_info", "投标信息"), + OUTBID_INFO("outbid_info", "中标信息"), ; private final String code; private final String desc; diff --git a/core/src/main/java/com/dite/znpt/service/BiddingInfoService.java b/core/src/main/java/com/dite/znpt/service/BiddingInfoService.java index 9ede904..b7dc2e3 100644 --- a/core/src/main/java/com/dite/znpt/service/BiddingInfoService.java +++ b/core/src/main/java/com/dite/znpt/service/BiddingInfoService.java @@ -4,7 +4,6 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.dite.znpt.domain.entity.BiddingInfoEntity; import com.dite.znpt.domain.vo.BiddingInfoReq; import com.dite.znpt.domain.vo.BiddingInfoResp; -import org.springframework.web.multipart.MultipartFile; import java.util.List; diff --git a/core/src/main/java/com/dite/znpt/service/OutbidInfoService.java b/core/src/main/java/com/dite/znpt/service/OutbidInfoService.java index 4aa02b4..0325149 100644 --- a/core/src/main/java/com/dite/znpt/service/OutbidInfoService.java +++ b/core/src/main/java/com/dite/znpt/service/OutbidInfoService.java @@ -21,6 +21,5 @@ public interface OutbidInfoService extends IService { void save(OutbidInfoReq req); void update(String outbidInfoId, OutbidInfoReq req); void deleteById(String outbidInfoId); - void uploadOutbidNoticeFile(String outBidInfoId, String outbidFileId); void downLoadOutbidNoticeFile(String outbidFileId, HttpServletResponse response) throws Exception; } diff --git a/core/src/main/java/com/dite/znpt/service/TenderInfoService.java b/core/src/main/java/com/dite/znpt/service/TenderInfoService.java index dc185ce..a767f49 100644 --- a/core/src/main/java/com/dite/znpt/service/TenderInfoService.java +++ b/core/src/main/java/com/dite/znpt/service/TenderInfoService.java @@ -4,7 +4,6 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.dite.znpt.domain.entity.TenderInfoEntity; import com.dite.znpt.domain.vo.TenderInfoReq; import com.dite.znpt.domain.vo.TenderInfoResp; -import org.springframework.web.multipart.MultipartFile; import java.util.List; @@ -20,6 +19,5 @@ public interface TenderInfoService extends IService { void save(TenderInfoReq req); void update(String tenderInfoId, TenderInfoReq req); void deleteById(String tenderInfoId); - void uploadBiddingInfoFile(String tenderInfoId, String tenderFileId); } diff --git a/core/src/main/java/com/dite/znpt/service/impl/AttachInfoServiceImpl.java b/core/src/main/java/com/dite/znpt/service/impl/AttachInfoServiceImpl.java index f95311f..7236292 100644 --- a/core/src/main/java/com/dite/znpt/service/impl/AttachInfoServiceImpl.java +++ b/core/src/main/java/com/dite/znpt/service/impl/AttachInfoServiceImpl.java @@ -82,9 +82,11 @@ public class AttachInfoServiceImpl extends ServiceImpl implements OutbidInfoService { + @Resource + private BiddingInfoService biddingInfoService; + @Resource private AttachInfoService attachInfoService; + @Override public List page(String projectName) { PageUtil.startPage(); @@ -51,7 +57,22 @@ public class OutbidInfoServiceImpl extends ServiceImpl listByBiddingInfoId(String biddingInfoId){ + return this.list(Wrappers.lambdaQuery().eq(OutbidInfoEntity::getBiddingInfoId, biddingInfoId)); } @Transactional(rollbackFor = Exception.class) @@ -61,9 +82,26 @@ public class OutbidInfoServiceImpl extends ServiceImpl implements TenderInfoService { + @Resource + private UserService userService; + @Resource private AttachInfoService attachInfoService; + @Override public List page(String projectName) { PageUtil.startPage(); @@ -50,19 +59,64 @@ public class TenderInfoServiceImpl extends ServiceImpl listByBiddingInfoId(String biddingInfoId){ + return this.list(Wrappers.lambdaQuery().eq(TenderInfoEntity::getBiddingInfoId, biddingInfoId)); } @Transactional(rollbackFor = Exception.class) @@ -73,21 +127,9 @@ public class TenderInfoServiceImpl extends ServiceImpl - SELECT oi.outbid_info_id, oi.bidding_info_id, bi.bidding_project, bi.bidding_company, oi.outbid_amount, oi.outbid_notify_date, oi.outbid_notice_file_id, oi.status, ai.attach_path + SELECT oi.outbid_info_id, oi.bidding_info_id, bi.bidding_project, bi.bidding_company, oi.outbid_amount, oi.outbid_notify_date, oi.outbid_notice_file_id, oi.status, ai.file_name, ai.attach_path FROM outbid_info oi LEFT JOIN bidding_info bi ON oi.bidding_info_id = bi.bidding_info_id LEFT JOIN attach_info ai ON oi.outbid_notice_file_id = ai.attach_id @@ -15,7 +15,7 @@ SELECT ti.tender_info_id, ti.bidding_info_id, bi.bidding_project, bi.bidding_company, ti.tender_amount, ti.project_address,ti.project_type, ti.tender_manager, u.name AS 'tenderManagerName', - ti.tender_manager_phone, ti.project_description, ti.tender_file_id, ai.attach_path + ti.tender_manager_phone, ti.project_description, ti.tender_file_id, ai.file_name, ai.attach_path FROM tender_info ti LEFT JOIN bidding_info bi ON ti.bidding_info_id = bi.bidding_info_id LEFT JOIN user u ON ti.tender_manager = u.user_id @@ -18,7 +18,7 @@ From adc074804e738d7f39bab06645ef9e968a5338ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=AB=98=E9=9B=84?= Date: Wed, 6 Aug 2025 15:14:59 +0800 Subject: [PATCH 9/9] =?UTF-8?q?=E5=B2=97=E4=BD=8D=E4=B8=AD=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E9=83=A8=E9=97=A8=E4=BF=A1=E6=81=AF=EF=BC=8C=E5=B2=97?= =?UTF-8?q?=E4=BD=8D=E5=88=97=E8=A1=A8=E6=9F=A5=E8=AF=A2=E6=9D=A1=E4=BB=B6?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E6=8C=89=E9=83=A8=E9=97=A8=EF=BC=88=E5=8F=8A?= =?UTF-8?q?=E5=AD=90=E9=83=A8=E9=97=A8=EF=BC=89=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dite/znpt/domain/entity/PostEntity.java | 4 +++ .../com/dite/znpt/domain/vo/PostListReq.java | 29 +++++++++++++++++++ .../java/com/dite/znpt/domain/vo/PostReq.java | 4 +++ .../com/dite/znpt/domain/vo/PostResp.java | 6 ++++ .../java/com/dite/znpt/mapper/PostMapper.java | 6 ++++ .../com/dite/znpt/service/PostService.java | 5 ++-- .../znpt/service/impl/PostServiceImpl.java | 15 +++++++--- core/src/main/resources/mapper/PostMapper.xml | 26 +++++++++++++++++ .../znpt/web/controller/PostController.java | 9 +++--- web/src/main/resources/application-dev.yml | 2 +- 10 files changed, 95 insertions(+), 11 deletions(-) create mode 100644 core/src/main/java/com/dite/znpt/domain/vo/PostListReq.java diff --git a/core/src/main/java/com/dite/znpt/domain/entity/PostEntity.java b/core/src/main/java/com/dite/znpt/domain/entity/PostEntity.java index 17e9479..f19d72e 100644 --- a/core/src/main/java/com/dite/znpt/domain/entity/PostEntity.java +++ b/core/src/main/java/com/dite/znpt/domain/entity/PostEntity.java @@ -31,6 +31,10 @@ public class PostEntity extends AuditableEntity implements Serializable { @TableId(value = "post_id", type = IdType.ASSIGN_UUID) private String postId; + @ApiModelProperty("部门id") + @TableField("dept_id") + private String deptId; + @ApiModelProperty("岗位名称") @TableField("post_name") private String postName; diff --git a/core/src/main/java/com/dite/znpt/domain/vo/PostListReq.java b/core/src/main/java/com/dite/znpt/domain/vo/PostListReq.java new file mode 100644 index 0000000..8425a4e --- /dev/null +++ b/core/src/main/java/com/dite/znpt/domain/vo/PostListReq.java @@ -0,0 +1,29 @@ +package com.dite.znpt.domain.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; + +/** + * @author Bear.G + * @date 2025/8/6/周三 14:37 + * @description + */ +@Data +@ApiModel("项目预算信息列表请求实体") +public class PostListReq implements Serializable { + @Serial + private static final long serialVersionUID = -3911963210474319099L; + + @ApiModelProperty("岗位名称") + private String postName; + + @ApiModelProperty("部门id") + private String deptId; + + @ApiModelProperty("是否包含部门子节点") + private Boolean includeDeptChildren; +} diff --git a/core/src/main/java/com/dite/znpt/domain/vo/PostReq.java b/core/src/main/java/com/dite/znpt/domain/vo/PostReq.java index 97b0a8d..fc4df93 100644 --- a/core/src/main/java/com/dite/znpt/domain/vo/PostReq.java +++ b/core/src/main/java/com/dite/znpt/domain/vo/PostReq.java @@ -21,6 +21,10 @@ public class PostReq implements Serializable { @Serial private static final long serialVersionUID = -149328762675637911L; + @ApiModelProperty("部门id") + @NotBlank(groups = {ValidationGroup.Insert.class, ValidationGroup.Update.class}, message = "部门id不能为空") + private String deptId; + @NotBlank(groups = {ValidationGroup.Insert.class, ValidationGroup.Update.class}, message = "岗位名称不能为空") @Size(max = 30, groups = {ValidationGroup.Insert.class, ValidationGroup.Update.class}, message = "岗位名称长度不能超过30个字符") @ApiModelProperty("岗位名称") diff --git a/core/src/main/java/com/dite/znpt/domain/vo/PostResp.java b/core/src/main/java/com/dite/znpt/domain/vo/PostResp.java index 545ec86..ae7eaf2 100644 --- a/core/src/main/java/com/dite/znpt/domain/vo/PostResp.java +++ b/core/src/main/java/com/dite/znpt/domain/vo/PostResp.java @@ -22,6 +22,12 @@ public class PostResp implements Serializable { @ApiModelProperty("岗位id") private String postId; + @ApiModelProperty("部门id") + private String deptId; + + @ApiModelProperty("部门名称") + private String deptName; + @ApiModelProperty("岗位名称") private String postName; diff --git a/core/src/main/java/com/dite/znpt/mapper/PostMapper.java b/core/src/main/java/com/dite/znpt/mapper/PostMapper.java index b98dc56..4737b42 100644 --- a/core/src/main/java/com/dite/znpt/mapper/PostMapper.java +++ b/core/src/main/java/com/dite/znpt/mapper/PostMapper.java @@ -2,6 +2,10 @@ package com.dite.znpt.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.dite.znpt.domain.entity.PostEntity; +import com.dite.znpt.domain.vo.PostListReq; +import com.dite.znpt.domain.vo.PostResp; + +import java.util.List; /** * @author Bear.G @@ -9,4 +13,6 @@ import com.dite.znpt.domain.entity.PostEntity; * @description */ public interface PostMapper extends BaseMapper { + + List selectPostResp(PostListReq req); } diff --git a/core/src/main/java/com/dite/znpt/service/PostService.java b/core/src/main/java/com/dite/znpt/service/PostService.java index 3a27134..ef9e246 100644 --- a/core/src/main/java/com/dite/znpt/service/PostService.java +++ b/core/src/main/java/com/dite/znpt/service/PostService.java @@ -2,6 +2,7 @@ package com.dite.znpt.service; import com.baomidou.mybatisplus.extension.service.IService; import com.dite.znpt.domain.entity.PostEntity; +import com.dite.znpt.domain.vo.PostListReq; import com.dite.znpt.domain.vo.PostReq; import com.dite.znpt.domain.vo.PostResp; @@ -14,9 +15,9 @@ import java.util.List; */ public interface PostService extends IService { - List page(String postName); + List page(PostListReq req); - List list(String postName); + List list(PostListReq req); PostResp detail(String postId); diff --git a/core/src/main/java/com/dite/znpt/service/impl/PostServiceImpl.java b/core/src/main/java/com/dite/znpt/service/impl/PostServiceImpl.java index b735355..468fdaf 100644 --- a/core/src/main/java/com/dite/znpt/service/impl/PostServiceImpl.java +++ b/core/src/main/java/com/dite/znpt/service/impl/PostServiceImpl.java @@ -5,16 +5,20 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.dite.znpt.constant.Message; import com.dite.znpt.converts.Converts; +import com.dite.znpt.domain.entity.DeptEntity; import com.dite.znpt.domain.entity.PostEntity; +import com.dite.znpt.domain.vo.PostListReq; import com.dite.znpt.domain.vo.PostReq; import com.dite.znpt.domain.vo.PostResp; import com.dite.znpt.exception.ServiceException; +import com.dite.znpt.mapper.DeptMapper; import com.dite.znpt.mapper.PostMapper; import com.dite.znpt.service.PostService; import com.dite.znpt.util.PageUtil; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import javax.annotation.Resource; import java.util.List; /** @@ -25,15 +29,18 @@ import java.util.List; @Service public class PostServiceImpl extends ServiceImpl implements PostService { + @Resource + private DeptMapper deptMapper; + @Override - public List page(String postName) { + public List page(PostListReq req) { PageUtil.startPage(); - return this.list(postName); + return this.list(req); } @Override - public List list(String postName) { - return Converts.INSTANCE.toPostResp(this.list(Wrappers.lambdaQuery(PostEntity.class).like(StrUtil.isNotBlank(postName), PostEntity::getPostName, postName))); + public List list(PostListReq req) { + return this.baseMapper.selectPostResp(req); } @Override diff --git a/core/src/main/resources/mapper/PostMapper.xml b/core/src/main/resources/mapper/PostMapper.xml index c770671..a9ec082 100644 --- a/core/src/main/resources/mapper/PostMapper.xml +++ b/core/src/main/resources/mapper/PostMapper.xml @@ -2,4 +2,30 @@ + \ No newline at end of file diff --git a/web/src/main/java/com/dite/znpt/web/controller/PostController.java b/web/src/main/java/com/dite/znpt/web/controller/PostController.java index f5e0945..9d9b49c 100644 --- a/web/src/main/java/com/dite/znpt/web/controller/PostController.java +++ b/web/src/main/java/com/dite/znpt/web/controller/PostController.java @@ -2,6 +2,7 @@ package com.dite.znpt.web.controller; import com.dite.znpt.domain.PageResult; import com.dite.znpt.domain.Result; +import com.dite.znpt.domain.vo.PostListReq; import com.dite.znpt.domain.vo.PostReq; import com.dite.znpt.domain.vo.PostResp; import com.dite.znpt.service.PostService; @@ -28,14 +29,14 @@ public class PostController { @ApiOperation(value = "分页查询岗位信息列表", httpMethod = "GET") @GetMapping("/page") - public PageResult page(@RequestParam(value = "postName", required = false) String postName){ - return PageResult.ok(postService.page(postName)); + public PageResult page(PostListReq req){ + return PageResult.ok(postService.page(req)); } @ApiOperation(value = "查询岗位信息列表", httpMethod = "GET") @GetMapping("/list") - public Result> list(@RequestParam(value = "postName", required = false) String postName){ - return Result.ok(postService.list(postName)); + public Result> list(PostListReq req){ + return Result.ok(postService.list(req)); } @ApiOperation(value = "查询岗位信息详情", httpMethod = "GET") diff --git a/web/src/main/resources/application-dev.yml b/web/src/main/resources/application-dev.yml index 497aa0b..24e7b09 100644 --- a/web/src/main/resources/application-dev.yml +++ b/web/src/main/resources/application-dev.yml @@ -14,7 +14,7 @@ spring: datasource: type: com.alibaba.druid.pool.DruidDataSource driverClassName: com.mysql.cj.jdbc.Driver - url: jdbc:mysql://39.99.201.243:3306/test01?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 + url: jdbc:mysql://39.99.201.243:3306/znpt_dev?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 username: root password: BUw8YW6%@^8q druid: