招投标

This commit is contained in:
高雄 2025-07-29 15:41:04 +08:00 committed by 何德超
parent 6c698b5256
commit 8db8dec22b
24 changed files with 146 additions and 66 deletions

View File

@ -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 = "招标[{}]已存中标信息存在";
}

View File

@ -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;

View File

@ -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;

View File

@ -24,6 +24,9 @@ public class AttachInfoReq implements Serializable {
@ApiModelProperty("自定义路径")
private String userDefinedPath;
@ApiModelProperty("文件名称")
private String fileName;
@ApiModelProperty("文件类型")
private String fileType;

View File

@ -32,6 +32,9 @@ public class AttachInfoResp implements Serializable {
@ApiModelProperty("附件路径")
private String attachPath;
@ApiModelProperty("文件名称")
private String fileName;
@ApiModelProperty("文件类型")
private String fileType;

View File

@ -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;
}

View File

@ -21,6 +21,9 @@ public class BiddingInfoResp extends BiddingInfoReq implements Serializable {
@ApiModelProperty("招标信息id")
private String biddingInfoId;
@ApiModelProperty("文件名称")
private String fileName;
@ApiModelProperty("招标文件地址")
private String attachPath;

View File

@ -28,7 +28,7 @@ public class OutbidInfoReq implements Serializable {
private String biddingInfoId;
@ApiModelProperty("中标金额")
private BigDecimal outBidAmount;
private BigDecimal outbidAmount;
@ApiModelProperty("工期")
private Integer duration;

View File

@ -27,6 +27,9 @@ public class OutbidInfoResp extends OutbidInfoReq implements Serializable {
@ApiModelProperty("招标公司")
private String biddingCompany;
@ApiModelProperty("文件名称")
private String fileName;
@ApiModelProperty("中标通知文件地址")
private String attachPath;
}

View File

@ -32,6 +32,9 @@ public class TenderInfoResp extends TenderInfoReq implements Serializable {
@ApiModelProperty("招标公司")
private String biddingCompany;
@ApiModelProperty("文件名称")
private String fileName;
@ApiModelProperty("投标文件地址")
private String attachPath;

View File

@ -19,6 +19,10 @@ public enum AttachBusinessTypeEnum {
DEFECT_MARK_PIC("defect_mark_pic", "缺陷标注图片"),
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;

View File

@ -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;

View File

@ -21,6 +21,5 @@ public interface OutbidInfoService extends IService<OutbidInfoEntity> {
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;
}

View File

@ -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<TenderInfoEntity> {
void save(TenderInfoReq req);
void update(String tenderInfoId, TenderInfoReq req);
void deleteById(String tenderInfoId);
void uploadBiddingInfoFile(String tenderInfoId, String tenderFileId);
}

View File

@ -81,9 +81,11 @@ public class AttachInfoServiceImpl extends ServiceImpl<FileInfoMapper, AttachInf
try {
String path = temPathPrefix + file.getOriginalFilename();
FileUtil.writeBytes(file.getBytes(),path);
String fileName = StrUtil.isBlank(infoReq.getFileName()) ? file.getOriginalFilename() : infoReq.getFileName();
AttachInfoEntity attachInfo = AttachInfoEntity.builder()
.attachPath(FilePathEnum.ATTACH.getFileDownPath(path))
.businessType(businessType)
.fileName(fileName)
.fileType(infoReq.getFileType())
.remark(infoReq.getRemark())
.build();

View File

@ -72,6 +72,9 @@ public class BiddingInfoServiceImpl extends ServiceImpl<BiddingInfoMapper, Biddi
}
entity.setBiddingFileId(biddingFileId);
this.updateById(entity);
attachInfo.setBusinessId(biddingInfoId);
attachInfoService.updateById(attachInfo);
}
@Transactional(rollbackFor = Exception.class)

View File

@ -1,5 +1,7 @@
package com.dite.znpt.service.impl;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dite.znpt.constant.Constants;
import com.dite.znpt.constant.Message;
@ -11,11 +13,11 @@ 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.BiddingInfoService;
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;
@ -29,8 +31,12 @@ import java.util.List;
@Service
public class OutbidInfoServiceImpl extends ServiceImpl<OutbidInfoMapper, OutbidInfoEntity> implements OutbidInfoService {
@Resource
private BiddingInfoService biddingInfoService;
@Resource
private AttachInfoService attachInfoService;
@Override
public List<OutbidInfoResp> page(String projectName) {
PageUtil.startPage();
@ -51,7 +57,22 @@ public class OutbidInfoServiceImpl extends ServiceImpl<OutbidInfoMapper, OutbidI
@Override
public void save(OutbidInfoReq req) {
OutbidInfoEntity entity = Converts.INSTANCE.toOutbidInfoEntity(req);
if(!listByBiddingInfoId(req.getBiddingInfoId()).isEmpty()){
throw new ServiceException(StrUtil.format(Message.OUTBID_INFO_IS_EXIST, req.getBiddingInfoId()));
}
this.save(entity);
if(StrUtil.isNotBlank(req.getOutbidNoticeFileId())){
AttachInfoEntity attachInfo = attachInfoService.getById(req.getOutbidNoticeFileId());
if(null == attachInfo || !Constants.DEL_FLAG_0.equals(attachInfo.getDelFlag())){
throw new ServiceException(Message.ATTACH_INFO_IS_NOT_EXIST);
}
attachInfo.setBusinessId(entity.getOutbidInfoId());
attachInfoService.updateById(attachInfo);
}
}
private List<OutbidInfoEntity> listByBiddingInfoId(String biddingInfoId){
return this.list(Wrappers.<OutbidInfoEntity>lambdaQuery().eq(OutbidInfoEntity::getBiddingInfoId, biddingInfoId));
}
@Transactional(rollbackFor = Exception.class)
@ -61,9 +82,26 @@ public class OutbidInfoServiceImpl extends ServiceImpl<OutbidInfoMapper, OutbidI
if(null == outbidInfo){
throw new ServiceException(Message.OUTBID_INFO_ID_IS_NOT_EXIST);
}
if(!outbidInfo.getBiddingInfoId().equals(req.getBiddingInfoId())){
if(!listByBiddingInfoId(req.getBiddingInfoId()).isEmpty()){
throw new ServiceException(StrUtil.format(Message.OUTBID_INFO_IS_EXIST, req.getBiddingInfoId()));
}
}
OutbidInfoEntity entity = Converts.INSTANCE.toOutbidInfoEntity(req);
entity.setOutbidId(outbidInfoId);
entity.setOutbidInfoId(outbidInfoId);
this.updateById(entity);
if(StrUtil.isNotBlank(req.getOutbidNoticeFileId())){
AttachInfoEntity attachInfo = attachInfoService.getById(req.getOutbidNoticeFileId());
if(null == attachInfo || !Constants.DEL_FLAG_0.equals(attachInfo.getDelFlag())){
throw new ServiceException(Message.ATTACH_INFO_IS_NOT_EXIST);
}
attachInfo.setBusinessId(outbidInfoId);
attachInfoService.updateById(attachInfo);
}else {
if(StrUtil.isNotBlank(outbidInfo.getOutbidNoticeFileId())){
attachInfoService.deleteByAttachInfoId(outbidInfo.getOutbidNoticeFileId());
}
}
}
@Transactional(rollbackFor = Exception.class)
@ -74,20 +112,9 @@ public class OutbidInfoServiceImpl extends ServiceImpl<OutbidInfoMapper, OutbidI
throw new ServiceException(Message.OUTBID_INFO_ID_IS_NOT_EXIST);
}
this.removeById(outbidInfoId);
}
@Override
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);
if(StrUtil.isNotBlank(outbidInfo.getOutbidNoticeFileId())){
attachInfoService.deleteByAttachInfoId(outbidInfo.getOutbidNoticeFileId());
}
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

View File

@ -1,21 +1,26 @@
package com.dite.znpt.service.impl;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
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.entity.TenderInfoEntity;
import com.dite.znpt.domain.entity.UserEntity;
import com.dite.znpt.domain.vo.TenderInfoReq;
import com.dite.znpt.domain.vo.TenderInfoResp;
import com.dite.znpt.enums.AttachBusinessTypeEnum;
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.service.UserService;
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;
@ -28,8 +33,12 @@ import java.util.List;
@Service
public class TenderInfoServiceImpl extends ServiceImpl<TenderInfoMapper, TenderInfoEntity> implements TenderInfoService {
@Resource
private UserService userService;
@Resource
private AttachInfoService attachInfoService;
@Override
public List<TenderInfoResp> page(String projectName) {
PageUtil.startPage();
@ -50,19 +59,64 @@ public class TenderInfoServiceImpl extends ServiceImpl<TenderInfoMapper, TenderI
@Override
public void save(TenderInfoReq req) {
TenderInfoEntity entity = Converts.INSTANCE.toTenderInfoEntity(req);
if(StrUtil.isNotBlank(req.getTenderManager())){
UserEntity user = userService.getById(req.getTenderManager());
if(null == user || !Constants.DEL_FLAG_0.equals(user.getDelFlag())){
throw new ServiceException(Message.USER_ID_NOT_EXIST);
}
}
if(!listByBiddingInfoId(req.getBiddingInfoId()).isEmpty()){
throw new ServiceException(StrUtil.format(Message.TENDER_INFO_IS_EXIST,req.getBiddingInfoId()));
}
this.save(entity);
if(StrUtil.isNotBlank(req.getTenderFileId())){
AttachInfoEntity attachInfo = attachInfoService.getById(req.getTenderFileId());
if(null == attachInfo || !Constants.DEL_FLAG_0.equals(attachInfo.getDelFlag())){
throw new ServiceException(Message.ATTACH_INFO_IS_NOT_EXIST);
}
attachInfo.setBusinessId(entity.getTenderInfoId());
attachInfoService.updateById(attachInfo);
}
}
@Transactional(rollbackFor = Exception.class)
@Override
public void update(String tenderInfoId, TenderInfoReq req) {
TenderInfoEntity tenderInfo = this.getById(tenderInfoId);
if(null ==tenderInfo){
if(null == tenderInfo){
throw new ServiceException(Message.TENDER_INFO_ID_IS_NOT_EXIST);
}
if(!tenderInfo.getBiddingInfoId().equals(req.getBiddingInfoId())){
if(!listByBiddingInfoId(req.getBiddingInfoId()).isEmpty()){
throw new ServiceException(StrUtil.format(Message.TENDER_INFO_IS_EXIST,req.getBiddingInfoId()));
}
}
if(StrUtil.isNotBlank(req.getTenderFileId())){
AttachInfoEntity attachInfo = attachInfoService.getById(req.getTenderFileId());
if(null == attachInfo || !Constants.DEL_FLAG_0.equals(attachInfo.getDelFlag())){
throw new ServiceException(Message.ATTACH_INFO_IS_NOT_EXIST);
}
attachInfo.setBusinessId(tenderInfoId);
attachInfoService.updateById(attachInfo);
}else{
if(StrUtil.isNotBlank(tenderInfo.getTenderFileId())){
attachInfoService.deleteByAttachInfoId(tenderInfo.getTenderFileId());
}
}
TenderInfoEntity entity = Converts.INSTANCE.toTenderInfoEntity(req);
if(StrUtil.isNotBlank(req.getTenderManager())){
UserEntity user = userService.getById(req.getTenderManager());
if(null == user || !Constants.DEL_FLAG_0.equals(user.getDelFlag())){
throw new ServiceException(Message.USER_ID_NOT_EXIST);
}
}
entity.setTenderInfoId(tenderInfoId);
this.updateById(entity);
}
private List<TenderInfoEntity> listByBiddingInfoId(String biddingInfoId){
return this.list(Wrappers.<TenderInfoEntity>lambdaQuery().eq(TenderInfoEntity::getBiddingInfoId, biddingInfoId));
}
@Transactional(rollbackFor = Exception.class)
@ -73,21 +127,9 @@ public class TenderInfoServiceImpl extends ServiceImpl<TenderInfoMapper, TenderI
throw new ServiceException(Message.TENDER_INFO_ID_IS_NOT_EXIST);
}
this.removeById(tenderInfoId);
if(StrUtil.isNotBlank(tenderInfo.getTenderFileId())){
attachInfoService.deleteByAttachInfoId(tenderInfo.getTenderFileId());
}
}
@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);
}
}

View File

@ -3,7 +3,7 @@
<mapper namespace="com.dite.znpt.mapper.BiddingInfoMapper">
<select id="listBiddingInfoResp" resultType="com.dite.znpt.domain.vo.BiddingInfoResp">
SELECT bi.bidding_info_id, bi.bidding_project, bi.bidding_company, bi.bidding_amount, bi.bidding_deadline, bi.info_entry_time, bi.source, bi.source_website, ai.attach_path
SELECT bi.bidding_info_id, bi.bidding_project, bi.bidding_company, bi.bidding_amount, bi.bidding_deadline, bi.info_entry_time, bi.source, bi.source_website, ai.file_name, ai.attach_path
FROM bidding_info bi
LEFT JOIN attach_info ai ON bi.bidding_file_id = ai.attach_id
<where>

View File

@ -3,7 +3,7 @@
<mapper namespace="com.dite.znpt.mapper.OutbidInfoMapper">
<select id="listOutbidInfoResp" resultType="com.dite.znpt.domain.vo.OutbidInfoResp">
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 @@
</where>
</select>
<select id="getOutbidInfoResp" resultType="com.dite.znpt.domain.vo.OutbidInfoResp">
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

View File

@ -4,7 +4,7 @@
<select id="listTenderInfoResp" resultType="com.dite.znpt.domain.vo.TenderInfoResp">
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 @@
</select>
<select id="getTenderInfoResp" resultType="com.dite.znpt.domain.vo.TenderInfoResp">
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

View File

@ -9,7 +9,6 @@ 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;
@ -47,7 +46,7 @@ public class BiddingInfoController {
}
@ApiOperation(value = "编辑招标消息",httpMethod = "POST")
@PutMapping
@PutMapping("/{biddingInfoId}")
public Result<?> edit(@PathVariable String biddingInfoId, @Validated @RequestBody BiddingInfoReq req){
biddingInfoService.update(biddingInfoId, req);
return Result.ok();

View File

@ -63,13 +63,6 @@ public class OutbidInfoController {
return Result.ok();
}
@ApiOperation(value = "上传中标通知信息文件", httpMethod = "POST")
@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/{outbidNoticeFileId}")
public Result<?> downLoadOutbidNoticeFile(@PathVariable String outbidNoticeFileId, HttpServletResponse response) throws Exception {

View File

@ -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.BiddingInfoResp;
import com.dite.znpt.domain.vo.TenderInfoReq;
import com.dite.znpt.domain.vo.TenderInfoResp;
import com.dite.znpt.service.TenderInfoService;
@ -9,7 +10,6 @@ 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;
@ -52,24 +52,18 @@ public class TenderInfoController {
return Result.ok();
}
@ApiOperation(value = "修改投标信息", httpMethod = "PUT")
@ApiOperation(value = "修改投标信息", httpMethod = "PUT", notes = "上传附件调用新增附件信息接口:/attach-info/tenderInfo,userDefinedPath = {tenderInfoId}")
@PutMapping("/{tenderInfoId}")
public Result<?> edit(@PathVariable String tenderInfoId, @Validated @RequestBody TenderInfoReq req) {
tenderInfoService.update(tenderInfoId, req);
return Result.ok();
}
@ApiOperation(value = "删除投标信息", httpMethod = "DELETE")
@ApiOperation(value = "删除投标信息", httpMethod = "DELETE", notes = "上传附件调用新增附件信息接口:/attach-info/tenderInfo,userDefinedPath = {tenderInfoId}")
@DeleteMapping("/{tenderInfoId}")
public Result<?> delete(@PathVariable String tenderInfoId) {
tenderInfoService.deleteById(tenderInfoId);
return Result.ok();
}
@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();
}
}