提交 57fe6797 作者: zhenjie

Merge branch 'develop' of ssh://git.mmcuav.cn:8222/iuav/ims into develop

...@@ -23,8 +23,8 @@ public class TenderApplyDTO implements Serializable { ...@@ -23,8 +23,8 @@ public class TenderApplyDTO implements Serializable {
private Integer id; private Integer id;
@ApiModelProperty(value = "招标快讯编号") @ApiModelProperty(value = "招标快讯编号")
private String tenderInfoNo; private String tenderInfoNo;
@ApiModelProperty(value = "招标快讯内容") @ApiModelProperty(value = "招标快讯标题")
private String tenderContent; private String tenderTitle;
// @ApiModelProperty(value = "用户id") // @ApiModelProperty(value = "用户id")
// private Integer userAccountId; // private Integer userAccountId;
// @ApiModelProperty(value = "招标快讯id") // @ApiModelProperty(value = "招标快讯id")
......
...@@ -26,6 +26,8 @@ public class TenderInfoDTO implements Serializable { ...@@ -26,6 +26,8 @@ public class TenderInfoDTO implements Serializable {
private Integer tenderNewsId; private Integer tenderNewsId;
@ApiModelProperty(value = "招标快讯内容序号") @ApiModelProperty(value = "招标快讯内容序号")
private String tenderInfoNo; private String tenderInfoNo;
@ApiModelProperty(value = "招标快讯标题")
private String tenderTitle;
@ApiModelProperty(value = "招标快讯内容") @ApiModelProperty(value = "招标快讯内容")
private String tenderContent; private String tenderContent;
@ApiModelProperty(value = "价格") @ApiModelProperty(value = "价格")
......
package com.mmc.csf.infomation.qo;
import com.mmc.csf.release.model.group.Page;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
public class IndustryNewsQO implements Serializable {
private static final long serialVersionUID = -46151544725013257L;
@ApiModelProperty(value = "新闻标题",example = "新闻标题")
private String newsTitle;
@ApiModelProperty(value = "开始时间")
private Date startTime;
@ApiModelProperty(value = "结束时间")
private Date endTime;
@ApiModelProperty(value = "页码", required = true)
@NotNull(message = "页码不能为空", groups = Page.class)
@Min(value = 1, groups = Page.class)
private Integer pageNo;
@ApiModelProperty(value = "每页显示数", required = true)
@NotNull(message = "每页显示数不能为空", groups = Page.class)
@Min(value = 1, groups = Page.class)
private Integer pageSize;
public void buildCurrentPage() {
this.pageNo = (pageNo - 1) * pageSize;
}
}
package com.mmc.csf.infomation.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Date;
/**
* @author: zj
* @Date: 2023/5/19 11:23
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class IndustryNewsDTO implements Serializable {
private static final long serialVersionUID = 8479619142765659138L;
@ApiModelProperty(value = "id")
private Integer id;
@ApiModelProperty(value = "新闻标题")
private String newsTitle;
@ApiModelProperty(value = "作者")
private String newsAuthor;
@ApiModelProperty(value = "发布者id")
private Integer userAccountId;
@ApiModelProperty(value = "封面图")
private String surfaceImg;
@ApiModelProperty(value = "新闻内容")
private String newsContents;
@ApiModelProperty(value = "来源")
private String origin;
@ApiModelProperty(value = "创建时间")
private Date createTime;
@ApiModelProperty(value = "最新修改时间")
private Date updateTime;
}
package com.mmc.csf.infomation.vo; package com.mmc.csf.infomation.vo;
import com.mmc.csf.release.model.group.Create;
import com.mmc.csf.release.model.group.Others;
import com.mmc.csf.release.model.group.Update;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date;
/**
* @author: zj
* @Date: 2023/5/19 11:23
*/
@Data @Data
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
@Builder @Builder
public class IndustryNewsVO implements Serializable { public class IndustryNewsVO implements Serializable {
private static final long serialVersionUID = 8479619142765659138L; private static final long serialVersionUID = 8479619142765659138L;
@ApiModelProperty(value = "id") @ApiModelProperty(value = "id")
@NotNull(message = "修改id不能为空", groups = {Update.class})
private Integer id; private Integer id;
@ApiModelProperty(value = "新闻标题")
@ApiModelProperty(value = "新闻标题",example = "新闻标题")
@NotBlank(message = "文章标题不能为空",groups = {Create.class,Update.class})
private String newsTitle; private String newsTitle;
@ApiModelProperty(value = "作者")
@ApiModelProperty(value = "作者",example = "作者")
@NotBlank(message = "作者不能为空",groups = {Create.class,Update.class})
private String newsAuthor; private String newsAuthor;
@ApiModelProperty(value = "发布者id")
@ApiModelProperty(value = "创建人",hidden = true)
private Integer userAccountId; private Integer userAccountId;
@ApiModelProperty(value = "封面图") @ApiModelProperty(value = "封面图")
@NotBlank(message = "封面图不能为空",groups = {Create.class,Update.class})
private String surfaceImg; private String surfaceImg;
@ApiModelProperty(value = "新闻内容") @ApiModelProperty(value = "新闻内容")
private String newsContents; private String newsContents;
@ApiModelProperty(value = "创建时间")
private Date createTime; @ApiModelProperty(value = "来源",example = "来源")
@ApiModelProperty(value = "最新修改时间") private String origin;
private Date updateTime;
} }
package com.mmc.csf.infomation.vo;
import com.mmc.csf.release.model.group.Create;
import com.mmc.csf.release.model.group.Freeze;
import com.mmc.csf.release.model.group.Page;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class TenderApplyQO implements Serializable {
private static final long serialVersionUID = -5519324350926972959L;
@ApiModelProperty(value = "招标id")
private Integer tenderNewsId;
@ApiModelProperty(value = "招标详情id")
private Integer tenderInfoId;
@ApiModelProperty(value = "用户名",example = "用户名")
private String userName;
@ApiModelProperty(value = "页码")
@NotNull(message = "页码不能为空", groups = { Page.class})
@Min(value = 1, groups = Page.class,message = "pageNo不能少于1")
private Integer pageNo;
@ApiModelProperty(value = "每页显示数")
@NotNull(message = "每页显示数不能为空", groups = { Page.class})
@Min(value = 1, groups = Page.class,message = "pageSize不能少于1")
private Integer pageSize;
}
...@@ -21,7 +21,7 @@ public class TenderApplyVO implements Serializable { ...@@ -21,7 +21,7 @@ public class TenderApplyVO implements Serializable {
@ApiModelProperty(value = "招标id") @ApiModelProperty(value = "招标id")
@NotNull(message = "招标id不能为空", groups = {Create.class}) @NotNull(message = "招标id不能为空", groups = {Create.class})
private Integer tenderNewsId; private Integer tenderNewsId;
@ApiModelProperty(value = "用户id") @ApiModelProperty(value = "用户id",hidden = true)
//@NotNull(message = "用户id不能为空", groups = {Create.class}) //@NotNull(message = "用户id不能为空", groups = {Create.class})
private Integer userAccountId; private Integer userAccountId;
@ApiModelProperty(value = "招标详情id") @ApiModelProperty(value = "招标详情id")
......
package com.mmc.csf.infomation.vo;
import com.mmc.csf.release.model.group.Update;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.Max;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Null;
import java.io.Serializable;
import java.math.BigDecimal;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class TenderInfoVO implements Serializable {
private static final long serialVersionUID = -8188835029420792396L;
@NotNull(message = "修改时id不能为空",groups = Update.class)
private Integer id;
@ApiModelProperty(value = "招标快讯标题")
@Length(message = "修改标题不能超过64字符",max = 64,groups = Update.class)
@NotBlank(message = "修改时标题不能为空",groups = Update.class)
private String tenderTitle;
@ApiModelProperty(value = "价格")
private BigDecimal tenderPrice;
@ApiModelProperty(value = "招标快讯内容")
private String tenderContent;
}
...@@ -11,11 +11,14 @@ import javax.validation.constraints.NotNull; ...@@ -11,11 +11,14 @@ import javax.validation.constraints.NotNull;
import java.io.Serializable; import java.io.Serializable;
/** /**
* @author MMC_hzj * author:zhenjie
* Date:2022/5/21
* time:16:17
*/ */
@Data @Data
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
@ApiModel(value = "com.mmc.csf.sharefly.vo.TenderNewsVO", description = "招标快讯内容参数")
public class TenderNewsVO implements Serializable { public class TenderNewsVO implements Serializable {
private static final long serialVersionUID = -8188835029420792396L; private static final long serialVersionUID = -8188835029420792396L;
@ApiModelProperty(value = "id") @ApiModelProperty(value = "id")
......
...@@ -351,7 +351,7 @@ public enum ResultEnum implements BaseErrorInfoInterface { ...@@ -351,7 +351,7 @@ public enum ResultEnum implements BaseErrorInfoInterface {
FILE_PARSE_ERROR("40600", "上传文件无数据或内容识别失败,请重新上传"), FILE_PARSE_ERROR("40600", "上传文件无数据或内容识别失败,请重新上传"),
HAS_BEEN_APPLY_ERROR("40601", "已提交申请!将有客服人员与你联系"), HAS_BEEN_APPLY_ERROR("40601", "已提交申请!将有客服人员与你联系"),
PRICE_TO_HIGH_ERROR("40602", "标价确认在0-10000000万元内"), PRICE_TO_HIGH_ERROR("40602", "标价确认在0-10000000万元内"),
EXIST_SAME_NAME_ERROR("40603", "快讯名称重复,请重新上传"), EXIST_SAME_NAME_ERROR("40603", "快讯名称重复,请重新上传"),
TENDER_FORMAT_ERROR("40604", "招标序号或内容不能为空,请补全后上传"), TENDER_FORMAT_ERROR("40604", "招标序号或内容不能为空,请补全后上传"),
TENDER_CONTENT_TOO_LONG_ERROR("40605", "存在招标内容字符过长"), TENDER_CONTENT_TOO_LONG_ERROR("40605", "存在招标内容字符过长"),
...@@ -396,7 +396,10 @@ public enum ResultEnum implements BaseErrorInfoInterface { ...@@ -396,7 +396,10 @@ public enum ResultEnum implements BaseErrorInfoInterface {
HELP_FAIL_ERROR("2009", "不能给自己助力哦!"), HELP_FAIL_ERROR("2009", "不能给自己助力哦!"),
ALREADY_BINDING_ERROR("2010", "优惠券已被绑定"), ALREADY_BINDING_ERROR("2010", "优惠券已被绑定"),
ALREADY_DIVIDE_ERROR("2011", "订单已分成"), ALREADY_DIVIDE_ERROR("2011", "订单已分成"),
DIVIDE_OBJ_NOT_EXIST("2012", "先点击确认添加分成对象"); DIVIDE_OBJ_NOT_EXIST("2012", "先点击确认添加分成对象"),
// 新闻行业
INDUSTRY_NEWS_TITLE_EXISTS("40200","文章标题存在");
/** /**
* 错误码 * 错误码
* *
......
...@@ -5,5 +5,5 @@ metadata: ...@@ -5,5 +5,5 @@ metadata:
namespace: default namespace: default
data: data:
SPRING_PROFILES_ACTIVE: default SPRING_PROFILES_ACTIVE: default
SW_AGENT_COLLECTOR_BACKEND_SERVICES: "default-oap.default:11800" SW_AGENT_COLLECTOR_BACKEND_SERVICES: "default-oap.skywalking-swck-system:11800"
SW_AGENT_NAME: ims SW_AGENT_NAME: ims
...@@ -22,6 +22,9 @@ spec: ...@@ -22,6 +22,9 @@ spec:
volumeMounts: volumeMounts:
- name: log-of-app - name: log-of-app
mountPath: /var/log/app mountPath: /var/log/app
- name: localtime
mountPath: /etc/localtime
readOnly: true
resources: resources:
limits: limits:
memory: 1024Mi memory: 1024Mi
...@@ -48,3 +51,6 @@ spec: ...@@ -48,3 +51,6 @@ spec:
- name: log-of-app - name: log-of-app
hostPath: hostPath:
path: /var/log/app path: /var/log/app
- name: localtime
hostPath:
path: /etc/localtime
\ No newline at end of file
...@@ -18,4 +18,4 @@ patches: ...@@ -18,4 +18,4 @@ patches:
images: images:
- name: REGISTRY/NAMESPACE/IMAGE:TAG - name: REGISTRY/NAMESPACE/IMAGE:TAG
newName: mmc-registry.cn-shenzhen.cr.aliyuncs.com/sharefly-dev/ims newName: mmc-registry.cn-shenzhen.cr.aliyuncs.com/sharefly-dev/ims
newTag: c589555fceeca9833256d7f3a181015caf5f36c5 newTag: d6ab78c5efde0e3ef645a9f581afd501443b0fb0
...@@ -2,9 +2,12 @@ package com.mmc.csf.release.controller; ...@@ -2,9 +2,12 @@ package com.mmc.csf.release.controller;
import com.mmc.csf.common.util.web.ResultBody; import com.mmc.csf.common.util.web.ResultBody;
import com.mmc.csf.infomation.qo.IndustryCaseQO; import com.mmc.csf.infomation.qo.IndustryCaseQO;
import com.mmc.csf.infomation.vo.IndustryCaseVO; import com.mmc.csf.infomation.qo.IndustryNewsQO;
import com.mmc.csf.infomation.vo.IndustryNewsDTO;
import com.mmc.csf.infomation.vo.IndustryNewsVO; import com.mmc.csf.infomation.vo.IndustryNewsVO;
import com.mmc.csf.release.model.group.Create;
import com.mmc.csf.release.model.group.Page; import com.mmc.csf.release.model.group.Page;
import com.mmc.csf.release.model.group.Update;
import com.mmc.csf.release.service.IndustryNewsService; import com.mmc.csf.release.service.IndustryNewsService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
...@@ -13,31 +16,51 @@ import io.swagger.annotations.ApiResponses; ...@@ -13,31 +16,51 @@ import io.swagger.annotations.ApiResponses;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
/** /**
* @author: zj * @author: zj
* @Date: 2023/5/19 10:42 * @Date: 2023/5/19 10:42
*/ */
@Api(tags = {"行业新闻相关"}) @Api(tags = {"行业新闻-相关接口"})
@RestController @RestController
@RequestMapping("/industry-news/") @RequestMapping("/industry-news/")
public class IndustryNewsController { public class IndustryNewsController extends BaseController {
@Autowired @Autowired
private IndustryNewsService industryNewsService; private IndustryNewsService industryNewsService;
@ApiOperation(value = "新闻列表") @ApiOperation(value = "添加-行业新闻")
@ApiResponses({ @ApiResponse(code = 200, message = "OK", response = IndustryNewsVO.class) }) @ApiResponses({ @ApiResponse(code = 200, message = "OK", response = ResultBody.class) })
@PostMapping("listNewsPage") @PostMapping("insertIndustryNews")
public ResultBody listNewsPage(@Validated(value = {Page.class})@RequestBody IndustryCaseQO industryCaseQO, HttpServletRequest request){ public ResultBody insertIndustryNews(@RequestBody @Validated(Create.class) IndustryNewsVO industryNewsVO, HttpServletRequest request){
return industryNewsService.listNewsPage(industryCaseQO, request); return industryNewsService.insertIndustryNews(industryNewsVO, this.getUserLoginInfoFromRedis(request).getUserAccountId());
}
@ApiOperation(value = "修改-行业新闻")
@ApiResponses({ @ApiResponse(code = 200, message = "OK", response = ResultBody.class) })
@PostMapping("upDateIndustryNews")
public ResultBody upDateIndustryNews(@RequestBody @Validated(Update.class) IndustryNewsVO industryNewsVO, HttpServletRequest request){
return industryNewsService.upDateIndustryNews(industryNewsVO, this.getUserLoginInfoFromRedis(request).getUserAccountId());
} }
@ApiOperation(value = "新闻详情") @ApiOperation(value = "新闻详情")
@ApiResponses({ @ApiResponse(code = 200, message = "OK", response = IndustryNewsVO.class) }) @ApiResponses({ @ApiResponse(code = 200, message = "OK", response = IndustryNewsDTO.class) })
@GetMapping("details") @GetMapping("details")
public ResultBody details(@RequestParam Integer id){ public ResultBody<IndustryNewsDTO> details(@RequestParam Integer id){
return industryNewsService.details(id); return industryNewsService.details(id);
} }
@ApiOperation(value = "后台-新闻列表")
@ApiResponses({ @ApiResponse(code = 200, message = "OK", response = IndustryNewsDTO.class) })
@PostMapping("backgroundListNewsPage")
public ResultBody<IndustryNewsDTO> backgroundListNewsPage(@Validated(value = {Page.class})@RequestBody IndustryNewsQO industryNewsQO, HttpServletRequest request){
return industryNewsService.backgroundListNewsPage(industryNewsQO, request);
}
@ApiOperation(value = "web端-新闻列表")
@ApiResponses({ @ApiResponse(code = 200, message = "OK", response = IndustryNewsDTO.class) })
@PostMapping("listNewsPage")
public ResultBody<IndustryNewsDTO> listNewsPage(@Validated(value = {Page.class})@RequestBody IndustryCaseQO industryCaseQO, HttpServletRequest request){
return industryNewsService.listNewsPage(industryCaseQO, request);
}
} }
...@@ -2,7 +2,8 @@ package com.mmc.csf.release.controller; ...@@ -2,7 +2,8 @@ package com.mmc.csf.release.controller;
import com.mmc.csf.common.util.group.Create; import com.mmc.csf.common.util.group.Create;
import com.mmc.csf.common.util.group.Page; import com.mmc.csf.common.util.group.Page;
import com.mmc.csf.common.util.group.Update; import com.mmc.csf.infomation.vo.TenderApplyQO;
import com.mmc.csf.release.model.group.Update;
import com.mmc.csf.common.util.web.ResultBody; import com.mmc.csf.common.util.web.ResultBody;
import com.mmc.csf.infomation.dto.AppTenderInfoDTO; import com.mmc.csf.infomation.dto.AppTenderInfoDTO;
import com.mmc.csf.infomation.dto.TenderApplyDTO; import com.mmc.csf.infomation.dto.TenderApplyDTO;
...@@ -10,12 +11,10 @@ import com.mmc.csf.infomation.dto.TenderInfoDTO; ...@@ -10,12 +11,10 @@ import com.mmc.csf.infomation.dto.TenderInfoDTO;
import com.mmc.csf.infomation.dto.TenderNewsDTO; import com.mmc.csf.infomation.dto.TenderNewsDTO;
import com.mmc.csf.infomation.qo.IndustryCaseQO; import com.mmc.csf.infomation.qo.IndustryCaseQO;
import com.mmc.csf.infomation.vo.TenderApplyVO; import com.mmc.csf.infomation.vo.TenderApplyVO;
import com.mmc.csf.infomation.vo.TenderInfoVO;
import com.mmc.csf.infomation.vo.TenderNewsVO; import com.mmc.csf.infomation.vo.TenderNewsVO;
import com.mmc.csf.release.service.TenderService; import com.mmc.csf.release.service.TenderService;
import io.swagger.annotations.Api; import io.swagger.annotations.*;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
...@@ -23,7 +22,6 @@ import org.springframework.web.multipart.MultipartFile; ...@@ -23,7 +22,6 @@ import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.io.IOException; import java.io.IOException;
import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
/** /**
...@@ -38,7 +36,7 @@ public class TenderController extends BaseController{ ...@@ -38,7 +36,7 @@ public class TenderController extends BaseController{
@Autowired @Autowired
private TenderService tenderService; private TenderService tenderService;
@ApiOperation(value = "新增招标快讯", hidden = true) @ApiOperation(value = "新增招标快讯")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)}) @ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@PostMapping(value = "news") @PostMapping(value = "news")
public ResultBody addTenderNews(@RequestPart(value = "file") MultipartFile file, public ResultBody addTenderNews(@RequestPart(value = "file") MultipartFile file,
...@@ -47,10 +45,10 @@ public class TenderController extends BaseController{ ...@@ -47,10 +45,10 @@ public class TenderController extends BaseController{
return tenderService.addTenderNews(file, tenderNewsVO); return tenderService.addTenderNews(file, tenderNewsVO);
} }
@ApiOperation(value = "查询招标快讯列表-分页", hidden = true) @ApiOperation(value = "查询招标快讯列表-分页")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = TenderNewsDTO.class)}) @ApiResponses({@ApiResponse(code = 200, message = "OK", response = TenderNewsDTO.class)})
@GetMapping(value = "news") @GetMapping(value = "news")
public ResultBody listTenderNews(@RequestParam Integer pageNo, @RequestParam Integer pageSize, public ResultBody<TenderNewsDTO> listTenderNews(@RequestParam Integer pageNo, @RequestParam Integer pageSize,
@RequestParam(value = "tenderName", required = false) String tenderName, @RequestParam(value = "tenderName", required = false) String tenderName,
@RequestParam(value = "startTime", required = false) Date startTime, @RequestParam(value = "startTime", required = false) Date startTime,
@RequestParam(value = "endTime", required = false) Date endTime, @RequestParam(value = "endTime", required = false) Date endTime,
...@@ -58,7 +56,7 @@ public class TenderController extends BaseController{ ...@@ -58,7 +56,7 @@ public class TenderController extends BaseController{
return tenderService.listTenderNews(pageNo, pageSize, tenderName, startTime, endTime, using); return tenderService.listTenderNews(pageNo, pageSize, tenderName, startTime, endTime, using);
} }
@ApiOperation(value = "修改招标快讯列表", hidden = true) @ApiOperation(value = "修改-招标快讯列表")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)}) @ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@PutMapping(value = "news") @PutMapping(value = "news")
public ResultBody updateTenderNews(@RequestParam(value = "file", required = false) MultipartFile file, public ResultBody updateTenderNews(@RequestParam(value = "file", required = false) MultipartFile file,
...@@ -66,14 +64,14 @@ public class TenderController extends BaseController{ ...@@ -66,14 +64,14 @@ public class TenderController extends BaseController{
return tenderService.updateTenderNews(file, tenderNewsVO); return tenderService.updateTenderNews(file, tenderNewsVO);
} }
@ApiOperation(value = "删除查询招标快讯", hidden = true) @ApiOperation(value = "删除招标快讯")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)}) @ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@DeleteMapping(value = "news/{id}") @DeleteMapping(value = "news/{id}")
public ResultBody removeTenderNews(@PathVariable("id") Integer id){ public ResultBody removeTenderNews(@PathVariable("id") Integer id){
return tenderService.removeTenderNews(id); return tenderService.removeTenderNews(id);
} }
@ApiOperation(value = "查询招标快讯详情列表-分页", hidden = true) @ApiOperation(value = "查询-招标快讯详情列表-分页")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = TenderInfoDTO.class)}) @ApiResponses({@ApiResponse(code = 200, message = "OK", response = TenderInfoDTO.class)})
@GetMapping(value = "info") @GetMapping(value = "info")
public ResultBody listTenderInfo(@RequestParam Integer pageNo, @RequestParam Integer pageSize, public ResultBody listTenderInfo(@RequestParam Integer pageNo, @RequestParam Integer pageSize,
...@@ -81,13 +79,11 @@ public class TenderController extends BaseController{ ...@@ -81,13 +79,11 @@ public class TenderController extends BaseController{
return tenderService.listTenderInfo(pageNo, pageSize, tenderNewsId); return tenderService.listTenderInfo(pageNo, pageSize, tenderNewsId);
} }
@ApiOperation(value = "修改招标快讯详情", hidden = true) @ApiOperation(value = "修改-招标快讯详情")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)}) @ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@PutMapping(value = "info") @PutMapping(value = "info")
public ResultBody updateTenderInfo(@RequestParam(value = "id", required = true) Integer id, public ResultBody updateTenderInfo(@Validated(value = Update.class) @RequestBody TenderInfoVO tenderInfoVO){
@RequestParam(value = "tenderContent", required = true) String tenderContent, return tenderService.updateTenderInfo(tenderInfoVO);
@RequestParam(required = false)BigDecimal tenderPrice){
return tenderService.updateTenderInfo(id, tenderContent, tenderPrice);
} }
@ApiOperation(value = "合作申请提交") @ApiOperation(value = "合作申请提交")
...@@ -98,24 +94,21 @@ public class TenderController extends BaseController{ ...@@ -98,24 +94,21 @@ public class TenderController extends BaseController{
return tenderService.addTenderApply(tenderApplyVO, request); return tenderService.addTenderApply(tenderApplyVO, request);
} }
@ApiOperation(value = "用户反馈列表-分页", hidden = true) @ApiOperation(value = "用户反馈列表-分页")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = TenderApplyDTO.class)}) @ApiResponses({@ApiResponse(code = 200, message = "OK", response = TenderApplyDTO.class)})
@GetMapping(value = "apply") @PostMapping(value = "applyList")
public ResultBody listTenderApply(@RequestParam Integer pageNo, @RequestParam Integer pageSize, public ResultBody listTenderApply(@RequestBody TenderApplyQO tenderApplyQO){
@RequestParam Integer tenderNewsId, @RequestParam(required = false) Integer tenderInfoId, return tenderService.listTenderApply(tenderApplyQO);
@RequestParam(required = false) String keyword){
return tenderService.listTenderApply(pageNo, pageSize, tenderNewsId, tenderInfoId, keyword);
} }
@ApiOperation(value = "app往期招标快讯详情列表-分页", hidden = true) @ApiOperation(value = "web端-招投标列表")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = AppTenderInfoDTO.class)}) @ApiResponses({@ApiResponse(code = 200, message = "OK", response = AppTenderInfoDTO.class)})
@GetMapping(value = "info/app") @PostMapping(value = "listNewTenderInfo")
public ResultBody listTenderInfoApp(@RequestParam Integer pageNo, @RequestParam Integer pageSize, public ResultBody listNewTenderInfo(@Validated(value = {Page.class})@RequestBody IndustryCaseQO industryCaseQO, HttpServletRequest request){
@RequestParam Integer tenderNewsId, @RequestParam(required = false) Integer userAccountId){ return tenderService.listNewTenderInfo(industryCaseQO, this.getUserLoginInfoFromRedis(request), request);
return tenderService.listTenderInfoApp(pageNo, pageSize, tenderNewsId, userAccountId);
} }
@ApiOperation(value = "app最新招标快讯详情列表-分页", hidden = true) @ApiOperation(value = "app最新招标快讯详情列表-分页")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = AppTenderInfoDTO.class)}) @ApiResponses({@ApiResponse(code = 200, message = "OK", response = AppTenderInfoDTO.class)})
@GetMapping(value = "info/app/latest") @GetMapping(value = "info/app/latest")
public ResultBody listTenderInfoAppLatest(@RequestParam Integer pageNo, @RequestParam Integer pageSize, public ResultBody listTenderInfoAppLatest(@RequestParam Integer pageNo, @RequestParam Integer pageSize,
...@@ -123,11 +116,11 @@ public class TenderController extends BaseController{ ...@@ -123,11 +116,11 @@ public class TenderController extends BaseController{
return tenderService.listTenderInfoAppLatest(pageNo, pageSize, userAccountId); return tenderService.listTenderInfoAppLatest(pageNo, pageSize, userAccountId);
} }
@ApiOperation(value = "招投标列表") @ApiOperation(value = "app往期招标快讯详情列表-分页",hidden = true)
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = AppTenderInfoDTO.class)}) @ApiResponses({@ApiResponse(code = 200, message = "OK", response = AppTenderInfoDTO.class)})
@PostMapping(value = "listNewTenderInfo") @GetMapping(value = "info/app")
public ResultBody listNewTenderInfo(@Validated(value = {Page.class})@RequestBody IndustryCaseQO industryCaseQO, HttpServletRequest request){ public ResultBody listTenderInfoApp(@RequestParam Integer pageNo, @RequestParam Integer pageSize,
return tenderService.listNewTenderInfo(industryCaseQO, this.getUserLoginInfoFromRedis(request), request); @RequestParam Integer tenderNewsId, @RequestParam(required = false) Integer userAccountId){
return tenderService.listTenderInfoApp(pageNo, pageSize, tenderNewsId, userAccountId);
} }
} }
package com.mmc.csf.release.dao; package com.mmc.csf.release.dao;
import com.mmc.csf.infomation.qo.IndustryCaseQO; import com.mmc.csf.infomation.qo.IndustryCaseQO;
import com.mmc.csf.infomation.qo.IndustryNewsQO;
import com.mmc.csf.infomation.vo.IndustryNewsVO;
import com.mmc.csf.release.entity.IndustryNewsDO; import com.mmc.csf.release.entity.IndustryNewsDO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
...@@ -32,4 +34,14 @@ public interface IndustryNewsDao { ...@@ -32,4 +34,14 @@ public interface IndustryNewsDao {
* @return * @return
*/ */
IndustryNewsDO details(Integer id); IndustryNewsDO details(Integer id);
Integer count(IndustryNewsDO industryNewsDO);
Integer insert(IndustryNewsDO industryNewsDO);
Integer update(IndustryNewsDO industryNewsDO);
Integer countPage(IndustryNewsQO industryNewsQO);
List<IndustryNewsDO> backgroundListNewsPage(IndustryNewsQO industryNewsQO);
} }
...@@ -5,6 +5,7 @@ import com.mmc.csf.release.entity.TenderApplyDO; ...@@ -5,6 +5,7 @@ import com.mmc.csf.release.entity.TenderApplyDO;
import com.mmc.csf.release.entity.TenderInfoDO; import com.mmc.csf.release.entity.TenderInfoDO;
import com.mmc.csf.release.entity.TenderNewsDO; import com.mmc.csf.release.entity.TenderNewsDO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
...@@ -35,7 +36,7 @@ public interface TenderDao { ...@@ -35,7 +36,7 @@ public interface TenderDao {
List<TenderInfoDO> listTenderInfo(int itemIndex, Integer pageSize, Integer tenderNewsId); List<TenderInfoDO> listTenderInfo(int itemIndex, Integer pageSize, Integer tenderNewsId);
void updateTenderInfo(Integer id, String tenderContent, BigDecimal tenderPrice); void updateTenderInfo(@Param("id") Integer id, @Param("tenderTitle") String tenderTitle, @Param("tenderPrice") BigDecimal tenderPrice, @Param("tenderContent") String tenderContent);
TenderApplyDO getTenderApplyByUId(Integer userAccountId, Integer tenderInfoId); TenderApplyDO getTenderApplyByUId(Integer userAccountId, Integer tenderInfoId);
......
package com.mmc.csf.release.entity; package com.mmc.csf.release.entity;
import com.mmc.csf.infomation.vo.IndustryNewsVO; import com.mmc.csf.infomation.vo.IndustryNewsDTO;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
...@@ -15,6 +17,7 @@ import java.util.Date; ...@@ -15,6 +17,7 @@ import java.util.Date;
@Data @Data
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor @NoArgsConstructor
@Builder
public class IndustryNewsDO implements Serializable { public class IndustryNewsDO implements Serializable {
private static final long serialVersionUID = 3296973167970903480L; private static final long serialVersionUID = 3296973167970903480L;
private Integer id; private Integer id;
...@@ -25,18 +28,30 @@ public class IndustryNewsDO implements Serializable { ...@@ -25,18 +28,30 @@ public class IndustryNewsDO implements Serializable {
private String newsContents; private String newsContents;
private Date createTime; private Date createTime;
private Date updateTime; private Date updateTime;
@ApiModelProperty(value = "来源")
private String origin;
public IndustryNewsVO buildIndustryNewsVO(){ public IndustryNewsDTO buildIndustryNewsDTO(){
return IndustryNewsVO.builder().id(id).newsTitle(newsTitle).newsAuthor(newsAuthor).userAccountId(userAccountId).surfaceImg(surfaceImg). return IndustryNewsDTO.builder().id(id).newsTitle(newsTitle).newsAuthor(newsAuthor).userAccountId(userAccountId).surfaceImg(surfaceImg).
newsContents(newsContents).createTime(createTime).updateTime(updateTime).build(); newsContents(newsContents).createTime(createTime).updateTime(updateTime).origin(origin).build();
} }
public IndustryNewsDO(IndustryNewsVO industryNewsVO){ public IndustryNewsDO(IndustryNewsDTO industryNewsDTO){
this.id = industryNewsVO.getId(); this.id = industryNewsDTO.getId();
this.newsTitle = industryNewsVO.getNewsTitle(); this.newsTitle = industryNewsDTO.getNewsTitle();
this.newsAuthor = industryNewsVO.getNewsAuthor(); this.newsAuthor = industryNewsDTO.getNewsAuthor();
this.userAccountId = industryNewsVO.getUserAccountId(); this.userAccountId = industryNewsDTO.getUserAccountId();
this.surfaceImg = industryNewsVO.getSurfaceImg(); this.surfaceImg = industryNewsDTO.getSurfaceImg();
this.newsContents = industryNewsVO.getNewsContents(); this.newsContents = industryNewsDTO.getNewsContents();
}
public IndustryNewsDO(Integer id, String newsTitle, String newsAuthor, Integer userAccountId, String surfaceImg, String newsContents, String origin) {
this.id = id;
this.newsTitle = newsTitle;
this.newsAuthor = newsAuthor;
this.userAccountId = userAccountId;
this.surfaceImg = surfaceImg;
this.newsContents = newsContents;
this.origin = origin;
} }
} }
...@@ -31,7 +31,7 @@ public class TenderApplyDO implements Serializable { ...@@ -31,7 +31,7 @@ public class TenderApplyDO implements Serializable {
private Date updateTime; private Date updateTime;
private String tenderInfoNo; private String tenderInfoNo;
private String tenderContent; private String tenderTitle;
public TenderApplyDO(TenderApplyVO tenderApplyVO) { public TenderApplyDO(TenderApplyVO tenderApplyVO) {
this.userAccountId = tenderApplyVO.getUserAccountId(); this.userAccountId = tenderApplyVO.getUserAccountId();
...@@ -44,7 +44,6 @@ public class TenderApplyDO implements Serializable { ...@@ -44,7 +44,6 @@ public class TenderApplyDO implements Serializable {
public TenderApplyDTO buildTenderApplyDTO(){ public TenderApplyDTO buildTenderApplyDTO(){
return TenderApplyDTO.builder().id(this.id).tenderInfoId(this.tenderInfoId).nickName(this.nickName).userName(this.userName).phoneNum(this.phoneNum) return TenderApplyDTO.builder().id(this.id).tenderInfoId(this.tenderInfoId).nickName(this.nickName).userName(this.userName).phoneNum(this.phoneNum)
.createTime(this.createTime).tenderInfoNo(this.tenderInfoNo).tenderContent(this.tenderContent).build(); .createTime(this.createTime).tenderInfoNo(this.tenderInfoNo).tenderTitle(this.tenderTitle).build();
} }
} }
...@@ -2,6 +2,7 @@ package com.mmc.csf.release.entity; ...@@ -2,6 +2,7 @@ package com.mmc.csf.release.entity;
import com.mmc.csf.infomation.dto.AppTenderInfoDTO; import com.mmc.csf.infomation.dto.AppTenderInfoDTO;
import com.mmc.csf.infomation.dto.TenderInfoDTO; import com.mmc.csf.infomation.dto.TenderInfoDTO;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
...@@ -23,6 +24,8 @@ public class TenderInfoDO implements Serializable { ...@@ -23,6 +24,8 @@ public class TenderInfoDO implements Serializable {
private Integer id; private Integer id;
private Integer tenderNewsId; private Integer tenderNewsId;
private String tenderInfoNo; private String tenderInfoNo;
private String tenderTitle;
@ApiModelProperty(value = "招标快讯内容")
private String tenderContent; private String tenderContent;
private BigDecimal tenderPrice; private BigDecimal tenderPrice;
private Integer deleted; private Integer deleted;
...@@ -30,12 +33,12 @@ public class TenderInfoDO implements Serializable { ...@@ -30,12 +33,12 @@ public class TenderInfoDO implements Serializable {
private Date updateTime; private Date updateTime;
public TenderInfoDTO buildTenderInfoDTO(){ public TenderInfoDTO buildTenderInfoDTO(){
return TenderInfoDTO.builder().id(this.id).tenderNewsId(this.tenderNewsId).tenderInfoNo(this.tenderInfoNo).tenderContent(this.tenderContent) return TenderInfoDTO.builder().id(this.id).tenderNewsId(this.tenderNewsId).tenderInfoNo(this.tenderInfoNo).tenderTitle(this.tenderTitle)
.tenderPrice(this.tenderPrice).createTime(this.createTime).build(); .tenderPrice(this.tenderPrice).createTime(this.createTime).tenderContent(this.tenderContent).build();
} }
public AppTenderInfoDTO buildAppTenderInfoDTO(){ public AppTenderInfoDTO buildAppTenderInfoDTO(){
return AppTenderInfoDTO.builder().id(this.id).tenderNewsId(this.tenderNewsId).tenderInfoNo(this.tenderInfoNo).tenderContent(this.tenderContent) return AppTenderInfoDTO.builder().id(this.id).tenderNewsId(this.tenderNewsId).tenderInfoNo(this.tenderInfoNo).tenderContent(this.tenderTitle)
.tenderPrice(this.tenderPrice).createTime(this.createTime).apply(0).build(); .tenderPrice(this.tenderPrice).createTime(this.createTime).apply(0).build();
} }
} }
package com.mmc.csf.release.entity.tender;
import cn.afterturn.easypoi.excel.annotation.Excel;
import cn.afterturn.easypoi.excel.annotation.ExcelTarget;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* author:zhenjie
* Date:2022/5/23
* time:10:47
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@ExcelTarget("ExcelTenderInfo")
public class ExcelTenderInfo implements Serializable {
private static final long serialVersionUID = -3213483141870899916L;
@Excel(name = "*序号", width = 25)
@NotNull
private String tenderInfoNo;
@Excel(name = "*内容", width = 25)
@NotNull
@Size(max = 64, message = "标题长度过长")
private String tenderTitle;
@Excel(name = "价格(万元)", width = 25)
private BigDecimal tenderPrice;
}
...@@ -2,6 +2,9 @@ package com.mmc.csf.release.service; ...@@ -2,6 +2,9 @@ package com.mmc.csf.release.service;
import com.mmc.csf.common.util.web.ResultBody; import com.mmc.csf.common.util.web.ResultBody;
import com.mmc.csf.infomation.qo.IndustryCaseQO; import com.mmc.csf.infomation.qo.IndustryCaseQO;
import com.mmc.csf.infomation.qo.IndustryNewsQO;
import com.mmc.csf.infomation.vo.IndustryNewsDTO;
import com.mmc.csf.infomation.vo.IndustryNewsVO;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
...@@ -11,7 +14,7 @@ import javax.servlet.http.HttpServletRequest; ...@@ -11,7 +14,7 @@ import javax.servlet.http.HttpServletRequest;
*/ */
public interface IndustryNewsService { public interface IndustryNewsService {
/** /**
* 新闻列表 * 新闻列表-web
* @param industryCaseQO * @param industryCaseQO
* @param request * @param request
* @return * @return
...@@ -24,4 +27,19 @@ public interface IndustryNewsService { ...@@ -24,4 +27,19 @@ public interface IndustryNewsService {
* @return * @return
*/ */
ResultBody details(Integer id); ResultBody details(Integer id);
/**
* 新闻插入
*/
ResultBody insertIndustryNews(IndustryNewsVO industryNewsVO, Integer userAccountId);
/**
* 新闻编辑
*/
ResultBody upDateIndustryNews(IndustryNewsVO industryNewsVO, Integer userAccountId);
/**
* 新闻列表-后台
*/
ResultBody<IndustryNewsDTO> backgroundListNewsPage(IndustryNewsQO industryNewsQO, HttpServletRequest request);
} }
...@@ -2,11 +2,12 @@ package com.mmc.csf.release.service; ...@@ -2,11 +2,12 @@ package com.mmc.csf.release.service;
import com.mmc.csf.common.util.web.ResultBody; import com.mmc.csf.common.util.web.ResultBody;
import com.mmc.csf.infomation.qo.IndustryCaseQO; import com.mmc.csf.infomation.qo.IndustryCaseQO;
import com.mmc.csf.infomation.vo.TenderApplyQO;
import com.mmc.csf.infomation.vo.TenderApplyVO; import com.mmc.csf.infomation.vo.TenderApplyVO;
import com.mmc.csf.infomation.vo.TenderInfoVO;
import com.mmc.csf.infomation.vo.TenderNewsVO; import com.mmc.csf.infomation.vo.TenderNewsVO;
import com.mmc.csf.release.auth.dto.LoginSuccessDTO; import com.mmc.csf.release.auth.dto.LoginSuccessDTO;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.io.IOException; import java.io.IOException;
import java.math.BigDecimal; import java.math.BigDecimal;
...@@ -28,11 +29,11 @@ public interface TenderService { ...@@ -28,11 +29,11 @@ public interface TenderService {
ResultBody listTenderInfo(Integer pageNo, Integer pageSize, Integer tenderNewsId); ResultBody listTenderInfo(Integer pageNo, Integer pageSize, Integer tenderNewsId);
ResultBody updateTenderInfo(Integer id, String tenderContent, BigDecimal tenderPrice); ResultBody updateTenderInfo(TenderInfoVO tenderInfoVO);
ResultBody addTenderApply(TenderApplyVO tenderApplyVO, HttpServletRequest request); ResultBody addTenderApply(TenderApplyVO tenderApplyVO, HttpServletRequest request);
ResultBody listTenderApply(Integer pageNo, Integer pageSize, Integer tenderNewsId, Integer tenderInfoId, String keyword); ResultBody listTenderApply(TenderApplyQO param);
ResultBody listTenderInfoApp(Integer pageNo, Integer pageSize, Integer tenderNewsId, Integer userAccountId); ResultBody listTenderInfoApp(Integer pageNo, Integer pageSize, Integer tenderNewsId, Integer userAccountId);
......
...@@ -2,7 +2,10 @@ package com.mmc.csf.release.service.impl; ...@@ -2,7 +2,10 @@ package com.mmc.csf.release.service.impl;
import com.mmc.csf.common.util.page.PageResult; import com.mmc.csf.common.util.page.PageResult;
import com.mmc.csf.common.util.web.ResultBody; import com.mmc.csf.common.util.web.ResultBody;
import com.mmc.csf.common.util.web.ResultEnum;
import com.mmc.csf.infomation.qo.IndustryCaseQO; import com.mmc.csf.infomation.qo.IndustryCaseQO;
import com.mmc.csf.infomation.qo.IndustryNewsQO;
import com.mmc.csf.infomation.vo.IndustryNewsDTO;
import com.mmc.csf.infomation.vo.IndustryNewsVO; import com.mmc.csf.infomation.vo.IndustryNewsVO;
import com.mmc.csf.release.constant.TokenConstant; import com.mmc.csf.release.constant.TokenConstant;
import com.mmc.csf.release.dao.IndustryNewsDao; import com.mmc.csf.release.dao.IndustryNewsDao;
...@@ -42,16 +45,53 @@ public class IndustryNewsServiceImpl implements IndustryNewsService { ...@@ -42,16 +45,53 @@ public class IndustryNewsServiceImpl implements IndustryNewsService {
Integer pageNo = industryCaseQO.getPageNo(); Integer pageNo = industryCaseQO.getPageNo();
industryCaseQO.buildCurrentPage(); industryCaseQO.buildCurrentPage();
List<IndustryNewsDO> industryNewsDOList = industryNewsDao.listNewsPage(industryCaseQO); List<IndustryNewsDO> industryNewsDOList = industryNewsDao.listNewsPage(industryCaseQO);
List<IndustryNewsVO> industryNewsVOS = industryNewsDOList.stream().map(IndustryNewsDO::buildIndustryNewsVO).collect(Collectors.toList()); List<IndustryNewsDTO> industryNewsDTOS = industryNewsDOList.stream().map(IndustryNewsDO::buildIndustryNewsDTO).collect(Collectors.toList());
return ResultBody.success(PageResult.buildPage(pageNo, industryCaseQO.getPageSize(), count, industryNewsVOS)); return ResultBody.success(PageResult.buildPage(pageNo, industryCaseQO.getPageSize(), count, industryNewsDTOS));
} }
@Override @Override
public ResultBody details(Integer id) { public ResultBody details(Integer id) {
IndustryNewsDO industryNewsDO = industryNewsDao.details(id); IndustryNewsDO industryNewsDO = industryNewsDao.details(id);
if (industryNewsDO!= null) { if (industryNewsDO!= null) {
return ResultBody.success(industryNewsDO.buildIndustryNewsVO()); return ResultBody.success(industryNewsDO.buildIndustryNewsDTO());
} }
return ResultBody.success(); return ResultBody.success();
} }
@Override
public ResultBody insertIndustryNews(IndustryNewsVO param, Integer userAccountId) {
IndustryNewsDO industryNewsDO = IndustryNewsDO.builder().newsTitle(param.getNewsTitle()).build();
Integer count = industryNewsDao.count(industryNewsDO);
if(count>0){
return ResultBody.error(ResultEnum.INDUSTRY_NEWS_TITLE_EXISTS);
}
industryNewsDO = new IndustryNewsDO(param.getId(), param.getNewsTitle(), param.getNewsAuthor(), userAccountId, param.getSurfaceImg(), param.getNewsContents(), param.getOrigin());
industryNewsDao.insert(industryNewsDO);
return ResultBody.success();
}
@Override
public ResultBody upDateIndustryNews(IndustryNewsVO param, Integer userAccountId) {
IndustryNewsDO industryNewsDO = IndustryNewsDO.builder().newsTitle(param.getNewsTitle()).build();
Integer count = industryNewsDao.count(industryNewsDO);
if(count>0){
return ResultBody.error(ResultEnum.INDUSTRY_NEWS_TITLE_EXISTS);
}
industryNewsDO = new IndustryNewsDO(param.getId(), param.getNewsTitle(), param.getNewsAuthor(), userAccountId, param.getSurfaceImg(), param.getNewsContents(), param.getOrigin());
industryNewsDao.update(industryNewsDO);
return ResultBody.success();
}
@Override
public ResultBody<IndustryNewsDTO> backgroundListNewsPage(IndustryNewsQO industryNewsQO, HttpServletRequest request) {
Integer count = industryNewsDao.countPage(industryNewsQO);
if (count == 0) {
return ResultBody.success(PageResult.buildPage(industryNewsQO.getPageNo(), industryNewsQO.getPageSize(), count));
}
Integer pageNo = industryNewsQO.getPageNo();
industryNewsQO.buildCurrentPage();
List<IndustryNewsDO> industryNewsDOList = industryNewsDao.backgroundListNewsPage(industryNewsQO);
List<IndustryNewsDTO> industryNewsDTOS = industryNewsDOList.stream().map(IndustryNewsDO::buildIndustryNewsDTO).collect(Collectors.toList());
return ResultBody.success(PageResult.buildPage(pageNo, industryNewsQO.getPageSize(), count, industryNewsDTOS));
}
} }
package com.mmc.csf.release.util;
import org.springframework.web.multipart.MultipartFile;
import java.io.*;
/**
* @author 作者 geDuo
* @version 创建时间:2021年11月18日 下午5:40:56
* @explain 类说明
*/
public class MultipartFileUtil {
/**
* MultipartFile 转 File
*
* @param file
* @throws Exception
*/
public static File multipartFileToFile(MultipartFile file) throws IOException {
File toFile = null;
if (file.equals("") || file.getSize() <= 0) {
file = null;
} else {
InputStream ins = null;
ins = file.getInputStream();
toFile = new File(file.getOriginalFilename());
inputStreamToFile(ins, toFile);
ins.close();
}
return toFile;
}
// 获取流文件
private static void inputStreamToFile(InputStream ins, File file) {
try {
OutputStream os = new FileOutputStream(file);
int bytesRead = 0;
byte[] buffer = new byte[8192];
while ((bytesRead = ins.read(buffer, 0, 8192)) != -1) {
os.write(buffer, 0, bytesRead);
}
os.close();
ins.close();
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 删除本地临时文件
*
* @param file
*/
public static void delteTempFile(File file) {
if (file != null) {
File del = new File(file.toURI());
del.delete();
}
}
}
...@@ -3,7 +3,8 @@ ...@@ -3,7 +3,8 @@
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mmc.csf.release.dao.IndustryNewsDao"> <mapper namespace="com.mmc.csf.release.dao.IndustryNewsDao">
<select id="countListNewsPage" resultType="java.lang.Integer" parameterType="com.mmc.csf.infomation.qo.IndustryCaseQO"> <select id="countListNewsPage" resultType="java.lang.Integer"
parameterType="com.mmc.csf.infomation.qo.IndustryCaseQO">
select count(*) from industry_news select count(*) from industry_news
where is_deleted = 0 where is_deleted = 0
<if test=" userIds != null "> <if test=" userIds != null ">
...@@ -17,13 +18,15 @@ ...@@ -17,13 +18,15 @@
</if> </if>
</select> </select>
<select id="listNewsPage" resultType="com.mmc.csf.release.entity.IndustryNewsDO" parameterType="com.mmc.csf.infomation.qo.IndustryCaseQO"> <select id="listNewsPage" resultType="com.mmc.csf.release.entity.IndustryNewsDO"
parameterType="com.mmc.csf.infomation.qo.IndustryCaseQO">
select id, select id,
news_title, news_title,
news_author, news_author,
user_account_id, user_account_id,
surface_img, surface_img,
news_contents, news_contents,
origin,
create_time, create_time,
update_time update_time
from industry_news from industry_news
...@@ -48,9 +51,113 @@ ...@@ -48,9 +51,113 @@
user_account_id, user_account_id,
surface_img, surface_img,
news_contents, news_contents,
origin,
create_time, create_time,
update_time update_time
from industry_news from industry_news
where is_deleted = 0
and id = #{id}
</select>
<select id="count" resultType="java.lang.Integer" parameterType="com.mmc.csf.release.entity.IndustryNewsDO">
select count(*)
from industry_news
<where>
is_deleted = 0
<if test="newsTitle != null and newsTitle != ''">
and news_title = #{newsTitle}
</if>
<if test="newsAuthor != null and newsAuthor != ''">
and news_author = #{newsAuthor}
</if>
<if test="userAccountId != null">
and user_account_id = #{userAccountId}
</if>
<if test="surfaceImg != null and surfaceImg != ''">
and surface_img = #{surfaceImg}
</if>
<if test="newsContents != null and newsContents != ''">
and news_contents = #{newsContents}
</if>
<if test="origin != null and origin != ''">
and origin = #{origin}
</if>
</where>
</select>
<insert id="insert" parameterType="com.mmc.csf.release.entity.IndustryNewsDO" useGeneratedKeys="true"
keyColumn="id">
insert into industry_news(news_title, news_author, user_account_id, surface_img, news_contents, origin,
create_time)
values (#{newsTitle}, #{newsAuthor}, #{userAccountId}, #{surfaceImg}, #{newsContents}, #{origin}, now())
</insert>
<update id="update" parameterType="com.mmc.csf.release.entity.IndustryNewsDO">
update industry_news
<set>
<if test="newsTitle != null and newsTitle != ''">
news_title = #{newsTitle},
</if>
<if test="newsAuthor != null and newsAuthor != ''">
news_author = #{newsAuthor},
</if>
<if test="userAccountId != null">
user_account_id = #{userAccountId},
</if>
<if test="surfaceImg != null and surfaceImg != ''">
surface_img = #{surfaceImg},
</if>
<if test="newsContents != null">
news_contents = #{newsContents},
</if>
<if test="origin != null and origin != ''">
origin = #{origin},
</if>
</set>
where is_deleted = 0 and id = #{id} where is_deleted = 0 and id = #{id}
</update>
<select id="countPage" parameterType="com.mmc.csf.infomation.qo.IndustryNewsQO" resultType="java.lang.Integer">
select count(*)
from industry_news
<where>
is_deleted = 0
<if test="newsTitle != null and newsTitle != ''">
and news_title like concat('%',#{newsTitle},'%')
</if>
<if test="startTime != null">
and create_time &gt;= #{startTime}
</if>
<if test="endTime != null">
and create_time &lt;= #{endTime}
</if>
</where>
</select>
<select id="backgroundListNewsPage" parameterType="com.mmc.csf.infomation.qo.IndustryNewsQO"
resultType="com.mmc.csf.release.entity.IndustryNewsDO">
select id,
news_title,
news_author,
user_account_id,
surface_img,
news_contents,
origin,
create_time,
update_time
from industry_news
<where>
is_deleted = 0
<if test="newsTitle != null and newsTitle != ''">
and news_title like concat('%',#{newsTitle},'%')
</if>
<if test="startTime != null">
and create_time &gt;= #{startTime}
</if>
<if test="endTime != null">
and create_time &lt;= #{endTime}
</if>
</where>
order by create_time desc
limit #{pageNo}, #{pageSize}
</select> </select>
</mapper> </mapper>
\ No newline at end of file
...@@ -17,11 +17,12 @@ ...@@ -17,11 +17,12 @@
<id column="id" property="id"/> <id column="id" property="id"/>
<result column="tender_news_id" property="tenderNewsId"/> <result column="tender_news_id" property="tenderNewsId"/>
<result column="tender_info_no" property="tenderInfoNo"/> <result column="tender_info_no" property="tenderInfoNo"/>
<result column="tender_content" property="tenderContent"/> <result column="tender_title" property="tenderTitle"/>
<result column="tender_price" property="tenderPrice"/> <result column="tender_price" property="tenderPrice"/>
<result column="is_deleted" property="deleted"/> <result column="is_deleted" property="deleted"/>
<result column="create_time" property="createTime"/> <result column="create_time" property="createTime"/>
<result column="update_time" property="updateTime"/> <result column="update_time" property="updateTime"/>
<result column="tender_content" property="tenderContent"/>
</resultMap> </resultMap>
<resultMap id="tenderApplyResultMap" type="com.mmc.csf.release.entity.TenderApplyDO"> <resultMap id="tenderApplyResultMap" type="com.mmc.csf.release.entity.TenderApplyDO">
...@@ -36,26 +37,26 @@ ...@@ -36,26 +37,26 @@
<result column="create_time" property="createTime"/> <result column="create_time" property="createTime"/>
<result column="update_time" property="updateTime"/> <result column="update_time" property="updateTime"/>
<result column="tender_info_no" property="tenderInfoNo"/> <result column="tender_info_no" property="tenderInfoNo"/>
<result column="tender_content" property="tenderContent"/> <result column="tender_title" property="tenderTitle"/>
</resultMap> </resultMap>
<insert id="addTenderNewsDO" useGeneratedKeys="true" <insert id="addTenderNewsDO" useGeneratedKeys="true"
keyProperty="id" parameterType="com.mmc.csf.release.entity.TenderNewsDO"> keyProperty="id" parameterType="com.mmc.csf.release.entity.TenderNewsDO">
insert into tender_news(tender_name,is_using,port,create_time) insert into tender_news(tender_name, is_using, port, create_time)
values(#{tenderName},#{using},#{port},NOW()) values (#{tenderName}, #{using}, #{port}, NOW())
</insert> </insert>
<insert id="batchAddTenderInfo" useGeneratedKeys="true" <insert id="batchAddTenderInfo" useGeneratedKeys="true"
keyProperty="id" parameterType="com.mmc.csf.release.entity.TenderInfoDO"> keyProperty="id" parameterType="com.mmc.csf.release.entity.TenderInfoDO">
insert into insert into
tender_info(tender_news_id,tender_info_no,tender_content,tender_price,create_time) tender_info(tender_news_id,tender_info_no,tender_title,tender_price,create_time)
values values
<foreach item="item" index="index" collection="list" <foreach item="item" index="index" collection="list"
separator=","> separator=",">
( (
#{item.tenderNewsId}, #{item.tenderNewsId},
#{item.tenderInfoNo}, #{item.tenderInfoNo},
#{item.tenderContent}, #{item.tenderTitle},
#{item.tenderPrice}, #{item.tenderPrice},
NOW() NOW()
) )
...@@ -63,12 +64,15 @@ ...@@ -63,12 +64,15 @@
</insert> </insert>
<insert id="addTenderApply" parameterType="com.mmc.csf.release.entity.TenderApplyDO"> <insert id="addTenderApply" parameterType="com.mmc.csf.release.entity.TenderApplyDO">
insert into tender_apply(user_account_id, tender_news_id, tender_info_id, nick_name, user_name, phone_num, create_time) insert into tender_apply(user_account_id, tender_news_id, tender_info_id, nick_name, user_name, phone_num,
values(#{userAccountId},#{tenderNewsId},#{tenderInfoId},#{nickName},#{userName},#{phoneNum},NOW()); create_time)
values (#{userAccountId}, #{tenderNewsId}, #{tenderInfoId}, #{nickName}, #{userName}, #{phoneNum}, NOW());
</insert> </insert>
<update id="batchRemoveTenderInfo"> <update id="batchRemoveTenderInfo">
update tender_info set is_deleted = 1 where tender_news_id = #{tenderNewsId} update tender_info
set is_deleted = 1
where tender_news_id = #{tenderNewsId}
</update> </update>
<update id="updateTenderNews" parameterType="com.mmc.csf.release.entity.TenderNewsDO"> <update id="updateTenderNews" parameterType="com.mmc.csf.release.entity.TenderNewsDO">
...@@ -88,17 +92,22 @@ ...@@ -88,17 +92,22 @@
</update> </update>
<update id="removeTenderNews"> <update id="removeTenderNews">
update tender_news set is_deleted = 1 where id = #{id} update tender_news
set is_deleted = 1
where id = #{id}
</update> </update>
<update id="updateTenderInfo"> <update id="updateTenderInfo">
update tender_info update tender_info
<set> <set>
<if test=" tenderContent != null "> <if test=" tenderTitle != null ">
tender_content = #{tenderContent}, tender_title = #{tenderTitle},
</if> </if>
<if test=" tenderPrice != null "> <if test=" tenderPrice != null ">
tender_price = #{tenderPrice} tender_price = #{tenderPrice},
</if>
<if test="tenderContent!=null">
tender_content = #{tenderContent}
</if> </if>
</set> </set>
where id = #{id} where id = #{id}
...@@ -141,12 +150,15 @@ ...@@ -141,12 +150,15 @@
</select> </select>
<select id="countListTenderInfoApp" resultType="java.lang.Integer"> <select id="countListTenderInfoApp" resultType="java.lang.Integer">
select count(*) from tender_info select count(*)
where is_deleted = 0 and tender_news_id = #{tenderNewsId} from tender_info
where is_deleted = 0
and tender_news_id = #{tenderNewsId}
</select> </select>
<select id="listTenderInfoApp" resultMap="tenderInfoResultMap"> <select id="listTenderInfoApp" resultMap="tenderInfoResultMap">
select id, tender_news_id, tender_price, tender_info_no, tender_content, is_deleted, create_time, update_time select id, tender_news_id, tender_price, tender_info_no, tender_title, is_deleted, create_time,
update_time,tender_content
from tender_info from tender_info
where is_deleted = 0 where is_deleted = 0
<if test=" tenderNewsId != null "> <if test=" tenderNewsId != null ">
...@@ -157,12 +169,15 @@ ...@@ -157,12 +169,15 @@
</select> </select>
<select id="countListTenderInfo" resultType="java.lang.Integer"> <select id="countListTenderInfo" resultType="java.lang.Integer">
select count(*) from tender_info select count(*)
where is_deleted = 0 and tender_news_id = #{tenderNewsId} from tender_info
where is_deleted = 0
and tender_news_id = #{tenderNewsId}
</select> </select>
<select id="listTenderInfo" resultMap="tenderInfoResultMap"> <select id="listTenderInfo" resultMap="tenderInfoResultMap">
select id, tender_news_id, tender_price, tender_info_no, tender_content, is_deleted, create_time, update_time select id, tender_news_id, tender_price, tender_info_no, tender_title, is_deleted, create_time,
update_time,tender_content
from tender_info from tender_info
where is_deleted = 0 where is_deleted = 0
<if test=" tenderNewsId != null "> <if test=" tenderNewsId != null ">
...@@ -173,10 +188,19 @@ ...@@ -173,10 +188,19 @@
</select> </select>
<select id="getTenderApplyByUId" resultMap="tenderApplyResultMap"> <select id="getTenderApplyByUId" resultMap="tenderApplyResultMap">
select id, user_account_id, tender_news_id, tender_info_id, nick_name, select id,
user_name, phone_num, is_deleted, create_time, update_time user_account_id,
tender_news_id,
tender_info_id,
nick_name,
user_name,
phone_num,
is_deleted,
create_time,
update_time
from tender_apply from tender_apply
where user_account_id = #{userAccountId} and tender_info_id = #{tenderInfoId} where user_account_id = #{userAccountId}
and tender_info_id = #{tenderInfoId}
</select> </select>
<select id="countListTenderApply" resultType="java.lang.Integer"> <select id="countListTenderApply" resultType="java.lang.Integer">
...@@ -201,7 +225,7 @@ ...@@ -201,7 +225,7 @@
ta.id, ta.id,
ti.tender_info_no, ti.tender_info_no,
ta.user_account_id, ta.user_account_id,
ti.tender_content, ti.tender_title,
ta.tender_news_id, ta.tender_news_id,
ta.tender_info_id, ta.tender_info_id,
ta.nick_name, ta.nick_name,
...@@ -227,28 +251,28 @@ ...@@ -227,28 +251,28 @@
</select> </select>
<select id="listAppTenderApply" resultMap="tenderApplyResultMap"> <select id="listAppTenderApply" resultMap="tenderApplyResultMap">
SELECT SELECT ta.id,
ta.id,
ta.tender_info_id, ta.tender_info_id,
ti.tender_news_id, ti.tender_news_id,
ti.tender_info_no, ti.tender_info_no,
ti.tender_content, ti.tender_title,
ti.is_deleted, ti.is_deleted,
ti.create_time, ti.create_time,
ti.update_time, ti.update_time,
ta.user_account_id ta.user_account_id
FROM FROM tender_apply ta
tender_apply ta
INNER JOIN tender_info ti ON ta.tender_info_id = ti.id INNER JOIN tender_info ti ON ta.tender_info_id = ti.id
WHERE WHERE ti.is_deleted = 0
ti.is_deleted = 0 and ta.tender_news_id = #{tenderNewsId} and ta.user_account_id = #{userAccountId} and ta.tender_news_id = #{tenderNewsId}
and ta.user_account_id = #{userAccountId}
</select> </select>
<select id="latestTenderNewsDO" resultMap="tenderNewsResultMap"> <select id="latestTenderNewsDO" resultMap="tenderNewsResultMap">
select id,tender_name,is_using,port,is_deleted,create_time from tender_news select id, tender_name, is_using, port, is_deleted, create_time
where is_deleted = 0 and is_using = 1 from tender_news
order by create_time desc where is_deleted = 0
limit 0, 1 and is_using = 1
order by create_time desc limit 0, 1
</select> </select>
<select id="countExistSameName" resultType="java.lang.Integer"> <select id="countExistSameName" resultType="java.lang.Integer">
...@@ -262,7 +286,8 @@ ...@@ -262,7 +286,8 @@
</if> </if>
</select> </select>
<select id="countNewListTenderInfo" resultType="java.lang.Integer" parameterType="com.mmc.csf.infomation.qo.IndustryCaseQO"> <select id="countNewListTenderInfo" resultType="java.lang.Integer"
parameterType="com.mmc.csf.infomation.qo.IndustryCaseQO">
select count(*) from tender_news tn INNER JOIN tender_info ti ON tn.id = ti.tender_news_id select count(*) from tender_news tn INNER JOIN tender_info ti ON tn.id = ti.tender_news_id
where where
tn.is_deleted = 0 and tn.is_using = 1 and ti.is_deleted = 0 tn.is_deleted = 0 and tn.is_using = 1 and ti.is_deleted = 0
...@@ -279,7 +304,8 @@ ...@@ -279,7 +304,8 @@
<select id="listNewListTenderInfo" resultType="com.mmc.csf.release.entity.TenderInfoDO"> <select id="listNewListTenderInfo" resultType="com.mmc.csf.release.entity.TenderInfoDO">
select select
ti.id, ti.tender_news_id, ti.tender_price, ti.tender_info_no, ti.tender_content, ti.is_deleted, ti.create_time, ti.update_time ti.id, ti.tender_news_id, ti.tender_price, ti.tender_info_no, ti.tender_title, ti.is_deleted, ti.create_time,
ti.update_time
from tender_news tn INNER JOIN tender_info ti ON tn.id = ti.tender_news_id from tender_news tn INNER JOIN tender_info ti ON tn.id = ti.tender_news_id
where where
tn.is_deleted = 0 and tn.is_using = 1 and ti.is_deleted = 0 tn.is_deleted = 0 and tn.is_using = 1 and ti.is_deleted = 0
...@@ -298,7 +324,8 @@ ...@@ -298,7 +324,8 @@
<select id="listApplyTenderInfoIds" resultType="java.lang.Integer"> <select id="listApplyTenderInfoIds" resultType="java.lang.Integer">
select ti.id select ti.id
from tender_news tn INNER JOIN tender_info ti ON tn.id = ti.tender_news_id INNER JOIN tender_apply ta ON ta.tender_info_id = ti.id from tender_news tn INNER JOIN tender_info ti ON tn.id = ti.tender_news_id INNER JOIN tender_apply ta ON
ta.tender_info_id = ti.id
where ta.user_account_id = #{applyUserId} and ta.is_deleted = 0 where ta.user_account_id = #{applyUserId} and ta.is_deleted = 0
<if test="tenderInfoIds != null"> <if test="tenderInfoIds != null">
<foreach collection="tenderInfoIds" item="id" index="index" <foreach collection="tenderInfoIds" item="id" index="index"
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论