Kaynağa Gözat

修改公告类型,添加公告,修改公告,获取公告详情,获取公告列表

wtx 1 ay önce
ebeveyn
işleme
b357e7dcde

+ 14 - 5
blade-service-api/blade-factory-api/src/main/java/org/springblade/factory/dto/AddNoticeDTO.java → blade-service-api/blade-factory-api/src/main/java/org/springblade/factory/dto/BladeNoticeDTO.java

@@ -1,9 +1,9 @@
 package org.springblade.factory.dto;
 
-import java.time.LocalDateTime;
-
-public class AddNoticeDTO {
+public class BladeNoticeDTO {
 
+	/** 主键ID(系统继承) */
+	private Long id;
 	/** 公告标题 */
 	private String title;
 	/** 公告内容(富文本HTML) */
@@ -33,6 +33,14 @@ public class AddNoticeDTO {
 	/** 更新人(系统继承) */
 	private Long updateUser;
 
+	public Long getId() {
+		return id;
+	}
+
+	public void setId(Long id) {
+		this.id = id;
+	}
+
 	public String getTitle() {
 		return title;
 	}
@@ -147,8 +155,9 @@ public class AddNoticeDTO {
 
 	@Override
 	public String toString() {
-		return "AddNoticeDTO{" +
-			"title='" + title + '\'' +
+		return "BladeNoticeDTO{" +
+			"id=" + id +
+			", title='" + title + '\'' +
 			", content='" + content + '\'' +
 			", categoryId=" + categoryId +
 			", categoryName='" + categoryName + '\'' +

+ 12 - 2
blade-service-api/blade-factory-api/src/main/java/org/springblade/factory/dto/NoticeCategoryDTO.java

@@ -2,6 +2,7 @@ package org.springblade.factory.dto;
 
 public class NoticeCategoryDTO {
 
+	private Long id;
 	/** 公告分类名称 */
 	private String name;
 	/** 排序权重 */
@@ -21,6 +22,14 @@ public class NoticeCategoryDTO {
 	/** 更新人(系统继承) */
 	private Long updateUser;
 
+	public Long getId() {
+		return id;
+	}
+
+	public void setId(Long id) {
+		this.id = id;
+	}
+
 	public String getName() {
 		return name;
 	}
@@ -95,8 +104,9 @@ public class NoticeCategoryDTO {
 
 	@Override
 	public String toString() {
-		return "PcBladeNoticeCategoryDto{" +
-			"name='" + name + '\'' +
+		return "NoticeCategoryDTO{" +
+			"id=" + id +
+			", name='" + name + '\'' +
 			", sortOrder=" + sortOrder +
 			", orgId=" + orgId +
 			", orgCode='" + orgCode + '\'' +

+ 29 - 28
blade-service-api/blade-factory-api/src/main/java/org/springblade/factory/entity/PcBladeNotice.java

@@ -3,6 +3,7 @@ package org.springblade.factory.entity;
 import com.baomidou.mybatisplus.annotation.*;
 import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
 import lombok.Data;
+import org.springblade.core.mp.base.BaseEntity;
 
 import java.io.Serializable;
 import java.time.LocalDateTime;
@@ -15,13 +16,13 @@ import java.time.LocalDateTime;
  */
 @Data
 @TableName(value = "pc_blade_notice", autoResultMap = true)
-public class PcBladeNotice implements Serializable {
+public class PcBladeNotice extends BaseEntity {
 
 	private static final long serialVersionUID = 1L;
 
-	/** 主键ID(系统继承) */
-	@TableId(value = "id", type = IdType.AUTO)
-	private Long id;
+//	/** 主键ID(系统继承) */
+//	@TableId(value = "id", type = IdType.AUTO)
+//	private Long id;
 
 	/** 公告标题 */
 	@TableField("title")
@@ -71,28 +72,28 @@ public class PcBladeNotice implements Serializable {
 	@TableField("remark")
 	private String remark;
 
-	/** 创建人(系统继承) */
-	@TableField("create_user")
-	private Long createUser;
-
-	/** 创建部门(系统继承) */
-	@TableField("create_dept")
-	private Long createDept;
-
-	/** 创建时间(系统继承) */
-	@TableField(value = "create_time", fill = FieldFill.INSERT)
-	private LocalDateTime createTime;
-
-	/** 更新人(系统继承) */
-	@TableField("update_user")
-	private Long updateUser;
-
-	/** 更新时间(系统继承) */
-	@TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
-	private LocalDateTime updateTime;
-
-	/** 是否已删除 0否 1是(系统继承) */
-	@TableField("is_deleted")
-	@TableLogic
-	private Integer isDeleted;
+//	/** 创建人(系统继承) */
+//	@TableField("create_user")
+//	private Long createUser;
+//
+//	/** 创建部门(系统继承) */
+//	@TableField("create_dept")
+//	private Long createDept;
+//
+//	/** 创建时间(系统继承) */
+//	@TableField(value = "create_time", fill = FieldFill.INSERT)
+//	private LocalDateTime createTime;
+//
+//	/** 更新人(系统继承) */
+//	@TableField("update_user")
+//	private Long updateUser;
+//
+//	/** 更新时间(系统继承) */
+//	@TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
+//	private LocalDateTime updateTime;
+//
+//	/** 是否已删除 0否 1是(系统继承) */
+//	@TableField("is_deleted")
+//	@TableLogic
+//	private Integer isDeleted;
 }

+ 3 - 3
blade-service/blade-factory/src/main/java/org/springblade/factory/controller/PcBladeNoticeCategoryController.java

@@ -73,9 +73,9 @@ public class PcBladeNoticeCategoryController {
 	/**
 	 * 修改
 	 */
-	@PutMapping("/update")
-	public R update(@RequestBody PcBladeNoticeCategory entity) {
-		return R.status(categoryService.updateById(entity));
+	@PostMapping("/update")
+	public R update(@RequestBody NoticeCategoryDTO dto) {
+		return R.status(categoryService.updateNoticeCategory(dto));
 	}
 
 	/**

+ 34 - 25
blade-service/blade-factory/src/main/java/org/springblade/factory/controller/PcBladeNoticeController.java

@@ -3,16 +3,26 @@ package org.springblade.factory.controller;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.AllArgsConstructor;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
+import org.springblade.core.secure.BladeUser;
 import org.springblade.core.tool.api.R;
-import org.springblade.factory.dto.AddNoticeDTO;
+import org.springblade.factory.dto.BladeNoticeDTO;
 import org.springblade.factory.entity.PcBladeNotice;
+import org.springblade.factory.entity.PcBladeOrder;
 import org.springblade.factory.service.PcBladeNoticeService;
+import org.springblade.factory.vo.PcBladeNoticeVO;
+import org.springblade.factory.wrapper.PcBladeNoticeWrapper;
+import org.springblade.factory.wrapper.PcBladeOrderWrapper;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
+import springfox.documentation.annotations.ApiIgnore;
 
 import java.io.Serializable;
 import java.util.List;
+import java.util.Map;
 
 /**
  * 系统公告主表 前端控制器
@@ -20,6 +30,7 @@ import java.util.List;
  * @author horizon
  * @since 2025-08-05
  */
+@AllArgsConstructor
 @RestController
 @RequestMapping("/api/factory/notice")
 public class PcBladeNoticeController {
@@ -31,49 +42,47 @@ public class PcBladeNoticeController {
 	 * 分页查询
 	 */
 	@GetMapping("/page")
-	public IPage<PcBladeNotice> page(
-		@RequestParam(defaultValue = "1") long current,
-		@RequestParam(defaultValue = "10") long size,
-		@RequestParam(required = false) Long orgId,
-		@RequestParam(required = false) Integer status) {
-		QueryWrapper<PcBladeNotice> qw = new QueryWrapper<>();
-		qw.eq(orgId != null, "ORG_ID", orgId)
-			.eq(status != null, "status", status)
-			.orderByDesc("create_time");
-		return noticeService.page(new Page<>(current, size), qw);
+	public R<IPage<PcBladeNoticeVO>> page(
+		@ApiIgnore @RequestParam Map<String, Object> noticeParams,
+		Query query,
+		BladeUser bladeUser) {
+		// 1. 构建基础查询条件
+		QueryWrapper<PcBladeNotice> queryWrapper = Condition.getQueryWrapper(noticeParams, PcBladeNotice.class);
+		// 2. 执行分页查询
+		IPage<PcBladeNotice> pages = noticeService.page(Condition.getPage(query), queryWrapper);
+		// 3. 转换VO并返回
+		return R.data(PcBladeNoticeWrapper.build().pageVO(pages));
 	}
 
 	/**
 	 * 单条查询
 	 */
-	@GetMapping("/detail/{id}")
-	public R<PcBladeNotice> get(@PathVariable Serializable id) {
-		return R.data(noticeService.getById(id));
+	@GetMapping("/detail")
+	public R<PcBladeNoticeVO> get(@RequestParam("id") Long id) {
+		return R.data(PcBladeNoticeWrapper.build().entityVO(noticeService.selectPcBladeNoticeById(id)));
 	}
 
 	/**
 	 * 新增
 	 */
 	@PostMapping("/add")
-	public R save(@RequestBody AddNoticeDTO dto) {
-		PcBladeNotice notice = new PcBladeNotice();
-		BeanUtils.copyProperties(dto, notice);
-		return R.status(noticeService.save(notice));
+	public R save(@RequestBody BladeNoticeDTO dto) {
+		return R.status(noticeService.insertNotice(dto));
 	}
 
 	/**
 	 * 修改
 	 */
-	@PutMapping
-	public boolean update(@RequestBody PcBladeNotice entity) {
-		return noticeService.updateById(entity);
+	@PostMapping("/update")
+	public R update(@RequestBody BladeNoticeDTO dto) {
+		return R.status(noticeService.updateNotice(dto));
 	}
 
 	/**
 	 * 批量删除(逻辑删除)
 	 */
-	@DeleteMapping
-	public boolean delete(@RequestParam("ids") List<Long> ids) {
-		return noticeService.removeByIds(ids);
-	}
+//	@DeleteMapping
+//	public boolean delete(@RequestParam("ids") List<Long> ids) {
+//		return noticeService.removeByIds(ids);
+//	}
 }

+ 2 - 0
blade-service/blade-factory/src/main/java/org/springblade/factory/service/PcBladeNoticeCategoryService.java

@@ -12,4 +12,6 @@ public interface PcBladeNoticeCategoryService extends IService<PcBladeNoticeCate
 	List<PcBladeNoticeCategory> getPcBladeNoticeCategoryList();
 
 	boolean insertNoticeCategory(NoticeCategoryDTO dto);
+
+	boolean updateNoticeCategory(NoticeCategoryDTO dto);
 }

+ 38 - 0
blade-service/blade-factory/src/main/java/org/springblade/factory/service/PcBladeNoticeService.java

@@ -1,7 +1,45 @@
 package org.springblade.factory.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import org.springblade.factory.dto.BladeNoticeDTO;
 import org.springblade.factory.entity.PcBladeNotice;
 
+import java.util.List;
+
 public interface PcBladeNoticeService extends IService<PcBladeNotice> {
+
+	/**
+	 * 新增一条公告
+	 * @param dto
+	 * @return
+	 */
+	boolean insertNotice(BladeNoticeDTO dto);
+
+	/**
+	 * 更新一条公告
+	 * @param dto
+	 * @return
+	 */
+	boolean updateNotice(BladeNoticeDTO dto);
+
+	/**
+	 * 获取一条公告
+	 * @param id
+	 * @return
+	 */
+	PcBladeNotice selectPcBladeNoticeById(Long id);
+
+	/**
+	 * 获取相应类型的公告列表
+	 * @param categoryId
+	 * @return
+	 */
+	List<PcBladeNotice> selectPcBladeNoticeListByCategoryId(Long categoryId);
+
+	/**
+	 * 获取全部公告列表
+	 * @return
+	 */
+	List<PcBladeNotice> selectPcBladeNoticeList();
+
 }

+ 7 - 0
blade-service/blade-factory/src/main/java/org/springblade/factory/service/impl/PcBladeNoticeCategoryServiceImpl.java

@@ -35,4 +35,11 @@ public class PcBladeNoticeCategoryServiceImpl extends BaseServiceImpl<PcBladeNot
 		BeanUtils.copyProperties(dto, category);
 		return this.save(category);
 	}
+
+	@Override
+	public boolean updateNoticeCategory(NoticeCategoryDTO dto) {
+		PcBladeNoticeCategory category = new PcBladeNoticeCategory();
+		BeanUtils.copyProperties(dto, category);
+		return this.updateById(category);
+	}
 }

+ 41 - 2
blade-service/blade-factory/src/main/java/org/springblade/factory/service/impl/PcBladeNoticeServiceImpl.java

@@ -2,12 +2,51 @@ package org.springblade.factory.service.impl;
 
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springblade.factory.dto.BladeNoticeDTO;
 import org.springblade.factory.entity.PcBladeNotice;
 import org.springblade.factory.mapper.PcBladeNoticeMapper;
 import org.springblade.factory.service.PcBladeNoticeService;
+import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 
+import java.util.Collections;
+import java.util.List;
+
 @Service
-public class PcBladeNoticeServiceImpl extends ServiceImpl<PcBladeNoticeMapper, PcBladeNotice>
-	implements PcBladeNoticeService {
+public class PcBladeNoticeServiceImpl extends BaseServiceImpl<PcBladeNoticeMapper, PcBladeNotice> implements PcBladeNoticeService {
+
+
+	@Override
+	public boolean insertNotice(BladeNoticeDTO dto) {
+		PcBladeNotice notice = new PcBladeNotice();
+		BeanUtils.copyProperties(dto, notice);
+		return this.save(notice);
+	}
+
+	@Override
+	public boolean updateNotice(BladeNoticeDTO dto) {
+		PcBladeNotice notice = selectPcBladeNoticeById(dto.getId());
+		BeanUtils.copyProperties(dto, notice);
+		return this.updateById(notice);
+	}
+
+	@Override
+	public PcBladeNotice selectPcBladeNoticeById(Long id) {
+		PcBladeNotice notice = this.getById(id);
+		return notice;
+	}
+
+	@Override
+	public List<PcBladeNotice> selectPcBladeNoticeListByCategoryId(Long categoryId) {
+
+		return Collections.emptyList();
+	}
+
+	@Override
+	public List<PcBladeNotice> selectPcBladeNoticeList() {
+		return Collections.emptyList();
+	}
+
+
 }