2 次代碼提交 f96f50ec17 ... bdce172212

作者 SHA1 備註 提交日期
  hmp bdce172212 Merge remote-tracking branch 'origin/dev' into dev 4 年之前
  hmp ff008acfe4 ... 4 年之前
共有 21 個文件被更改,包括 650 次插入143 次删除
  1. 3 1
      ldt-core/src/main/java/org/springblade/gateway/client_gateway/controller/ClientMemberController.java
  2. 3 5
      ldt-core/src/main/java/org/springblade/gateway/common_gateway/controller/AppNoticeManagementController.java
  3. 19 15
      ldt-core/src/main/java/org/springblade/gateway/shop_gateway/controller/AppShopController.java
  4. 8 0
      ldt-core/src/main/java/org/springblade/gateway/shop_gateway/service/IAppShopService.java
  5. 43 11
      ldt-core/src/main/java/org/springblade/gateway/shop_gateway/service/impl/AppShopServiceImpl.java
  6. 128 0
      ldt-core/src/main/java/org/springblade/ldt/notice/controller/NoticeManagementContentController.java
  7. 4 2
      ldt-core/src/main/java/org/springblade/ldt/notice/controller/NoticeManagementController.java
  8. 34 0
      ldt-core/src/main/java/org/springblade/ldt/notice/dto/NoticeManagementContentDTO.java
  9. 1 1
      ldt-core/src/main/java/org/springblade/ldt/notice/dto/NoticeManagementDTO.java
  10. 27 47
      ldt-core/src/main/java/org/springblade/ldt/notice/entity/NoticeManagement.java
  11. 68 0
      ldt-core/src/main/java/org/springblade/ldt/notice/entity/NoticeManagementContent.java
  12. 44 0
      ldt-core/src/main/java/org/springblade/ldt/notice/mapper/NoticeManagementContentMapper.java
  13. 27 0
      ldt-core/src/main/java/org/springblade/ldt/notice/mapper/NoticeManagementContentMapper.xml
  14. 3 4
      ldt-core/src/main/java/org/springblade/ldt/notice/mapper/NoticeManagementMapper.xml
  15. 42 0
      ldt-core/src/main/java/org/springblade/ldt/notice/service/INoticeManagementContentService.java
  16. 41 0
      ldt-core/src/main/java/org/springblade/ldt/notice/service/impl/NoticeManagementContentServiceImpl.java
  17. 44 56
      ldt-core/src/main/java/org/springblade/ldt/notice/service/impl/NoticeManagementServiceImpl.java
  18. 36 0
      ldt-core/src/main/java/org/springblade/ldt/notice/vo/NoticeManagementContentVO.java
  19. 3 0
      ldt-core/src/main/java/org/springblade/ldt/notice/vo/NoticeManagementVO.java
  20. 50 0
      ldt-core/src/main/java/org/springblade/ldt/notice/wrapper/NoticeManagementContentWrapper.java
  21. 22 1
      ldt-core/src/main/java/org/springblade/ldt/notice/wrapper/NoticeManagementWrapper.java

+ 3 - 1
ldt-core/src/main/java/org/springblade/gateway/client_gateway/controller/ClientMemberController.java

@@ -9,6 +9,7 @@ import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
 import org.springblade.core.tool.api.R;
 import org.springblade.ldt.notice.entity.NoticeManagement;
+import org.springblade.ldt.notice.service.INoticeManagementContentService;
 import org.springblade.ldt.notice.service.INoticeManagementService;
 import org.springblade.ldt.notice.vo.NoticeManagementVO;
 import org.springblade.ldt.notice.wrapper.NoticeManagementWrapper;
@@ -28,13 +29,14 @@ import org.springframework.web.bind.annotation.RestController;
 public class ClientMemberController {
 
 	private INoticeManagementService noticeManagementService;
+	private INoticeManagementContentService noticeManagementContentService;
 
 	@GetMapping("getNotices")
 	@ApiOperation(value = "根据会员用户id获取相关公告通知")
 	public R<IPage<NoticeManagementVO>> submitAudit(Long id, Query query) {
 		IPage<NoticeManagement> pages = noticeManagementService.page(Condition.getPage(query),
 			Wrappers.<NoticeManagement>lambdaQuery().eq(NoticeManagement::getReceiverId, id).orderByAsc(NoticeManagement::getIsRead));
-		return R.data(NoticeManagementWrapper.build().pageVO(pages));
+		return R.data(NoticeManagementWrapper.build(noticeManagementContentService).pageVO(pages));
 	}
 
 }

+ 3 - 5
ldt-core/src/main/java/org/springblade/gateway/common_gateway/controller/AppNoticeManagementController.java

@@ -21,21 +21,19 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiParam;
 import lombok.AllArgsConstructor;
 import org.springblade.core.boot.ctrl.BladeController;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
 import org.springblade.core.tool.api.R;
-import org.springblade.core.tool.utils.Func;
 import org.springblade.ldt.notice.entity.NoticeManagement;
+import org.springblade.ldt.notice.service.INoticeManagementContentService;
 import org.springblade.ldt.notice.service.INoticeManagementService;
 import org.springblade.ldt.notice.vo.NoticeManagementVO;
 import org.springblade.ldt.notice.wrapper.NoticeManagementWrapper;
 import org.springframework.web.bind.annotation.*;
 
 import javax.validation.Valid;
-import java.util.ArrayList;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -52,6 +50,7 @@ import java.util.stream.Collectors;
 public class AppNoticeManagementController extends BladeController {
 
 	private final INoticeManagementService noticeService;
+	private INoticeManagementContentService noticeManagementContentService;
 
 	/**
 	 * 未读消息id列表
@@ -63,7 +62,6 @@ public class AppNoticeManagementController extends BladeController {
 		List<NoticeManagement> list = noticeService.list(Condition.getQueryWrapper(new NoticeManagement()).lambda()
 			.eq(NoticeManagement::getReceiverId, notice.getReceiverId())
 			.eq(NoticeManagement::getIsRead, false)
-			.eq(notice.getSenderType()!=null,NoticeManagement::getSenderType,notice.getSenderType())
 			.select(NoticeManagement::getId));
 		if (CollUtil.isNotEmpty(list)) {
 			List<Long> ids = list.stream().map(NoticeManagement::getId).collect(Collectors.toList());
@@ -90,6 +88,6 @@ public class AppNoticeManagementController extends BladeController {
 	@ApiOperation(value = "分页", notes = "传入notice")
 	public R<IPage<NoticeManagementVO>> list(NoticeManagement notice, Query query) {
 		IPage<NoticeManagement> pages = noticeService.page(Condition.getPage(query), Condition.getQueryWrapper(notice).lambda().orderByDesc(NoticeManagement::getCreateTime));
-		return R.data(NoticeManagementWrapper.build().pageVO(pages));
+		return R.data(NoticeManagementWrapper.build(noticeManagementContentService).pageVO(pages));
 	}
 }

+ 19 - 15
ldt-core/src/main/java/org/springblade/gateway/shop_gateway/controller/AppShopController.java

@@ -5,13 +5,11 @@ import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.lang.Assert;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
 import org.springblade.common.enums.AppConstant;
-import org.springblade.common.enums.SenderType;
 import org.springblade.common.enums.WithdrawType;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
@@ -26,7 +24,12 @@ import org.springblade.ldt.bills.entity.Bills;
 import org.springblade.ldt.bills.entity.WithdrawRec;
 import org.springblade.ldt.bills.service.IBillsService;
 import org.springblade.ldt.notice.entity.NoticeManagement;
+import org.springblade.ldt.notice.entity.NoticeManagementContent;
+import org.springblade.ldt.notice.service.INoticeManagementContentService;
 import org.springblade.ldt.notice.service.INoticeManagementService;
+import org.springblade.ldt.notice.vo.NoticeManagementVO;
+import org.springblade.ldt.notice.wrapper.NoticeManagementContentWrapper;
+import org.springblade.ldt.notice.wrapper.NoticeManagementWrapper;
 import org.springblade.ldt.shop.entity.Shop;
 import org.springblade.ldt.shop.service.IShopService;
 import org.springblade.ldt.shop.vo.ShopVO;
@@ -53,7 +56,7 @@ public class AppShopController {
 	private IMemberService memberService;
 	private IShopService shopService;
 	private IBillsService billsService;
-	private INoticeManagementService noticeManagementService;
+	private INoticeManagementContentService noticeManagementContentService;
 
 	/**
 	 * 分页
@@ -313,18 +316,19 @@ public class AppShopController {
 
 	@PostMapping("submitNotice")
 	@ApiOperation(value = "商户创建公告信息")
-	public R submitAudit(@RequestBody NoticeManagement notice) {
-		List<Member> members = memberService.list(Wrappers.<Member>lambdaQuery().eq(Member::getShopId, notice.getSenderId()));
-		List<NoticeManagement> notices = new ArrayList<>();
-		members.forEach(member -> {
-			notice.setReceiver(member.getNickName());
-			notice.setReceiverId(member.getUserId());
-			notice.setIsRead(false);
-			notice.setSenderType(SenderType.SHOP);
-			notices.add(notice);
-		});
-		noticeManagementService.saveBatch(notices);
-		return R.success("提交成功");
+	public R submitAudit(@RequestBody NoticeManagementContent noticeContent) {
+		return R.status(appShopService.submitNotice(noticeContent));
+	}
+	/**
+	 * 获取发布的公告列表
+	 */
+	@GetMapping("/getPublishNoticeList")
+	@ApiOperationSupport(order = 2)
+	@ApiOperation(value = "获取发布的公告列表", notes = "传入notice")
+	public R getPublishNoticeList(NoticeManagementContent noticeManagementContent, Query query) {
+		IPage<NoticeManagementContent> pages = noticeManagementContentService.page(Condition.getPage(query), Condition.getQueryWrapper(noticeManagementContent).lambda()
+			.orderByDesc(NoticeManagementContent::getCreateTime));
+		return R.data(NoticeManagementContentWrapper.build().pageVO(pages));
 	}
 
 }

+ 8 - 0
ldt-core/src/main/java/org/springblade/gateway/shop_gateway/service/IAppShopService.java

@@ -21,6 +21,7 @@ import org.springblade.core.tool.api.R;
 import org.springblade.gateway.shop_gateway.entity.dto.ShopAuditDto;
 import org.springblade.gateway.shop_gateway.entity.vo.BalanceAccountInfoVO;
 import org.springblade.ldt.bills.entity.WithdrawRec;
+import org.springblade.ldt.notice.entity.NoticeManagementContent;
 import org.springblade.ldt.shop.entity.Shop;
 
 /**
@@ -74,4 +75,11 @@ public interface IAppShopService extends IService<Shop> {
 	 * @Date 2021/10/22 9:22
 	 */
 	Long userPointWithdraw(WithdrawRec withdrawRec);
+
+	/**
+	 * 商户发布公告
+	 * @param noticeContent
+	 * @return
+	 */
+    Boolean submitNotice(NoticeManagementContent noticeContent);
 }

+ 43 - 11
ldt-core/src/main/java/org/springblade/gateway/shop_gateway/service/impl/AppShopServiceImpl.java

@@ -23,10 +23,7 @@ import lombok.AllArgsConstructor;
 import org.apache.commons.lang3.ObjectUtils;
 import org.springblade.common.cache.PlatformCache;
 import org.springblade.common.config.entity.PlatformConfig;
-import org.springblade.common.enums.AppConstant;
-import org.springblade.common.enums.TransferStatus;
-import org.springblade.common.enums.WithdrawStatus;
-import org.springblade.common.enums.WithdrawType;
+import org.springblade.common.enums.*;
 import org.springblade.core.log.exception.ServiceException;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.tool.api.R;
@@ -44,12 +41,18 @@ import org.springblade.ldt.bills.service.ITransferRecService;
 import org.springblade.ldt.bills.service.IWithdrawRecService;
 import org.springblade.ldt.mall.entity.Mall;
 import org.springblade.ldt.mall.service.IMallService;
+import org.springblade.ldt.notice.entity.NoticeManagement;
+import org.springblade.ldt.notice.entity.NoticeManagementContent;
+import org.springblade.ldt.notice.service.INoticeManagementContentService;
+import org.springblade.ldt.notice.service.INoticeManagementService;
 import org.springblade.ldt.shop.entity.Audit;
 import org.springblade.ldt.shop.entity.Shop;
 import org.springblade.ldt.shop.mapper.ShopMapper;
 import org.springblade.ldt.shop.service.IAuditService;
 import org.springblade.ldt.user.entity.LoginUser;
+import org.springblade.ldt.user.entity.Member;
 import org.springblade.ldt.user.service.ILoginUserService;
+import org.springblade.ldt.user.service.IMemberService;
 import org.springblade.wx.config.ConfigForClient;
 import org.springblade.wx.config.ConfigForMall;
 import org.springblade.wx.config.ConfigForOfficial;
@@ -65,10 +68,7 @@ import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.Assert;
 
 import java.math.BigDecimal;
-import java.util.Date;
-import java.util.List;
-import java.util.Objects;
-import java.util.Optional;
+import java.util.*;
 
 /**
  * 服务实现类
@@ -94,6 +94,9 @@ public class AppShopServiceImpl extends ServiceImpl<ShopMapper, Shop> implements
 	private ITransferRecService transferRecService;
 	private YeepaySaasService yeepaySaasService;
 	private IAccountService accountService;
+	private IMemberService memberService;
+	private INoticeManagementContentService noticeContentService;
+	private INoticeManagementService noticeManagementService;
 
 
 	@Override
@@ -227,15 +230,44 @@ public class AppShopServiceImpl extends ServiceImpl<ShopMapper, Shop> implements
 		transferRec.setPrice(actualPrice);
 		transferRec.setActualPrice(actualPrice);
 		transferRec.setFeeChargeSide(YeepayApiConstant.feeChargeSide.INSIDE);
-		transferRec.setPlatformFee(BigDecimal.ZERO);//转账平台暂时不收取手续费
-		transferRec.setWithdrawId(withdrawId);//提现记录id
+		//转账平台暂时不收取手续费
+		transferRec.setPlatformFee(BigDecimal.ZERO);
+		//提现记录id
+		transferRec.setWithdrawId(withdrawId);
 		transferRec.setTenantId(withdrawRec.getTenantId());
 		transferRecService.saveOrUpdate(transferRec);
 
 		return transferRec.getId();
 	}
 
-	/**
+    @Override
+	@Transactional
+    public Boolean submitNotice(NoticeManagementContent noticeContent) {
+		Long id = noticeContent.getId();
+		//保存通知内容
+		noticeContent.setSenderType(SenderType.SHOP);
+		boolean flag = noticeContentService.saveOrUpdate(noticeContent);
+		if (!Objects.isNull(id)) {
+			//如果是修改内容,noticeManagement表不用修改
+			return flag;
+		}
+		List<Member> members = memberService.list(Condition.getQueryWrapper(new Member()).lambda()
+			.eq(Member::getShopId, noticeContent.getSenderId()));
+		List<NoticeManagement> notices = new ArrayList<>();
+
+		members.forEach(member -> {
+			NoticeManagement noticeNew = new NoticeManagement();
+			noticeNew.setContentId(noticeContent.getId());
+			noticeNew.setReceiverType(ReceiverType.CONSUMER);
+			noticeNew.setReceiver(member.getNickName());
+			noticeNew.setReceiverId(member.getUserId());
+			noticeNew.setIsRead(false);
+			notices.add(noticeNew);
+		});
+		return noticeManagementService.saveBatch(notices);
+    }
+
+    /**
 	 * 提现处理国信手续费
 	 *
 	 * @param amount 提现金额

+ 128 - 0
ldt-core/src/main/java/org/springblade/ldt/notice/controller/NoticeManagementContentController.java

@@ -0,0 +1,128 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.notice.controller;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import lombok.AllArgsConstructor;
+import javax.validation.Valid;
+
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.Func;
+import org.springblade.ldt.notice.entity.NoticeManagementContent;
+import org.springblade.ldt.notice.service.INoticeManagementContentService;
+import org.springblade.ldt.notice.vo.NoticeManagementContentVO;
+import org.springblade.ldt.notice.wrapper.NoticeManagementContentWrapper;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.RequestParam;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.core.boot.ctrl.BladeController;
+
+/**
+ *  控制器
+ *
+ * @author BladeX
+ * @since 2021-11-09
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("ldt_notice/noticecontent")
+@Api(value = "", tags = "接口")
+public class NoticeManagementContentController extends BladeController {
+
+	private final INoticeManagementContentService noticeContentService;
+
+	/**
+	 * 详情
+	 */
+	@GetMapping("/detail")
+	@ApiOperationSupport(order = 1)
+	@ApiOperation(value = "详情", notes = "传入noticeContent")
+	public R<NoticeManagementContentVO> detail(NoticeManagementContent noticeContent) {
+		NoticeManagementContent detail = noticeContentService.getOne(Condition.getQueryWrapper(noticeContent));
+		return R.data(NoticeManagementContentWrapper.build().entityVO(detail));
+	}
+
+	/**
+	 * 分页
+	 */
+	@GetMapping("/list")
+	@ApiOperationSupport(order = 2)
+	@ApiOperation(value = "分页", notes = "传入noticeContent")
+	public R<IPage<NoticeManagementContentVO>> list(NoticeManagementContent noticeContent, Query query) {
+		IPage<NoticeManagementContent> pages = noticeContentService.page(Condition.getPage(query), Condition.getQueryWrapper(noticeContent));
+		return R.data(NoticeManagementContentWrapper.build().pageVO(pages));
+	}
+
+
+	/**
+	 * 自定义分页
+	 */
+	@GetMapping("/page")
+	@ApiOperationSupport(order = 3)
+	@ApiOperation(value = "分页", notes = "传入noticeContent")
+	public R<IPage<NoticeManagementContentVO>> page(NoticeManagementContentVO noticeContent, Query query) {
+		IPage<NoticeManagementContentVO> pages = noticeContentService.selectNoticeContentPage(Condition.getPage(query), noticeContent);
+		return R.data(pages);
+	}
+
+	/**
+	 * 新增
+	 */
+	@PostMapping("/save")
+	@ApiOperationSupport(order = 4)
+	@ApiOperation(value = "新增", notes = "传入noticeContent")
+	public R save(@Valid @RequestBody NoticeManagementContent noticeContent) {
+		return R.status(noticeContentService.save(noticeContent));
+	}
+
+	/**
+	 * 修改
+	 */
+	@PostMapping("/update")
+	@ApiOperationSupport(order = 5)
+	@ApiOperation(value = "修改", notes = "传入noticeContent")
+	public R update(@Valid @RequestBody NoticeManagementContent noticeContent) {
+		return R.status(noticeContentService.updateById(noticeContent));
+	}
+
+	/**
+	 * 新增或修改
+	 */
+	@PostMapping("/submit")
+	@ApiOperationSupport(order = 6)
+	@ApiOperation(value = "新增或修改", notes = "传入noticeContent")
+	public R submit(@Valid @RequestBody NoticeManagementContent noticeContent) {
+		return R.status(noticeContentService.saveOrUpdate(noticeContent));
+	}
+
+
+	/**
+	 * 删除
+	 */
+	@PostMapping("/remove")
+	@ApiOperationSupport(order = 7)
+	@ApiOperation(value = "逻辑删除", notes = "传入ids")
+	public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
+		return R.status(noticeContentService.deleteLogic(Func.toLongList(ids)));
+	}
+
+}

+ 4 - 2
ldt-core/src/main/java/org/springblade/ldt/notice/controller/NoticeManagementController.java

@@ -29,6 +29,7 @@ import org.springblade.core.secure.BladeUser;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.ldt.notice.entity.NoticeManagement;
+import org.springblade.ldt.notice.service.INoticeManagementContentService;
 import org.springblade.ldt.notice.service.INoticeManagementService;
 import org.springblade.ldt.notice.vo.NoticeManagementVO;
 import org.springblade.ldt.notice.wrapper.NoticeManagementWrapper;
@@ -49,6 +50,7 @@ import javax.validation.Valid;
 public class NoticeManagementController extends BladeController {
 
 	private final INoticeManagementService noticeService;
+	private final INoticeManagementContentService noticeManagementContentService;
 
 	/**
 	 * 详情
@@ -58,7 +60,7 @@ public class NoticeManagementController extends BladeController {
 	@ApiOperation(value = "详情", notes = "传入notice")
 	public R<NoticeManagementVO> detail(NoticeManagement notice) {
 		NoticeManagement detail = noticeService.getOne(Condition.getQueryWrapper(notice));
-		return R.data(NoticeManagementWrapper.build().entityVO(detail));
+		return R.data(NoticeManagementWrapper.build(noticeManagementContentService).entityVO(detail));
 	}
 
 	/**
@@ -70,7 +72,7 @@ public class NoticeManagementController extends BladeController {
 	public R<IPage<NoticeManagementVO>> list(NoticeManagement notice, Query query) {
 		IPage<NoticeManagement> pages = noticeService.page(Condition.getPage(query),
 			Condition.getQueryWrapper(notice).lambda().orderByAsc(NoticeManagement::getIsRead));
-		return R.data(NoticeManagementWrapper.build().pageVO(pages));
+		return R.data(NoticeManagementWrapper.build(noticeManagementContentService).pageVO(pages));
 	}
 
 

+ 34 - 0
ldt-core/src/main/java/org/springblade/ldt/notice/dto/NoticeManagementContentDTO.java

@@ -0,0 +1,34 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.notice.dto;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.ldt.notice.entity.NoticeManagementContent;
+
+/**
+ * 数据传输对象实体类
+ *
+ * @author BladeX
+ * @since 2021-11-09
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class NoticeManagementContentDTO extends NoticeManagementContent {
+	private static final long serialVersionUID = 1L;
+
+}

+ 1 - 1
ldt-core/src/main/java/org/springblade/ldt/notice/dto/NoticeManagementDTO.java

@@ -16,9 +16,9 @@
  */
 package org.springblade.ldt.notice.dto;
 
-import org.springblade.ldt.notice.entity.NoticeManagement;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
+import org.springblade.ldt.notice.entity.NoticeManagement;
 
 /**
  * 通知表数据传输对象实体类

+ 27 - 47
ldt-core/src/main/java/org/springblade/ldt/notice/entity/NoticeManagement.java

@@ -17,72 +17,52 @@
 package org.springblade.ldt.notice.entity;
 
 import com.baomidou.mybatisplus.annotation.TableName;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
+import org.springblade.common.enums.ReceiverType;
+import org.springblade.core.mp.base.BaseEntity;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
-import org.springblade.common.enums.ReceiverType;
-import org.springblade.common.enums.SenderType;
-import org.springblade.core.tenant.mp.TenantEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 
 /**
  * 通知表实体类
  *
  * @author BladeX
- * @since 2021-11-03
+ * @since 2021-11-09
  */
 @Data
 @TableName("ldt_notice")
 @EqualsAndHashCode(callSuper = true)
 @ApiModel(value = "Notice对象", description = "通知表")
-public class NoticeManagement extends TenantEntity {
+public class NoticeManagement extends BaseEntity {
 
 	private static final long serialVersionUID = 1L;
 
 	/**
-	 * 标题
-	 */
-	@ApiModelProperty(value = "标题,必填", required = true)
-	private String title;
+	* 接收人Id
+	*/
+		@ApiModelProperty(value = "接收人Id")
+		private Long receiverId;
 	/**
-	 * 内容
-	 */
-	@ApiModelProperty(value = "内容,必填", required = true)
-	private String content;
+	* 内容id
+	*/
+		@ApiModelProperty(value = "内容id")
+		private Long contentId;
 	/**
-	 * 发送人Id
-	 */
-	@ApiModelProperty(value = "发送人Id,必填", required = true)
-	private Long senderId;
+	* 接收人昵称
+	*/
+		@ApiModelProperty(value = "接收人昵称")
+		private String receiver;
 	/**
-	 * 发送人昵称
-	 */
-	@ApiModelProperty(value = "发送人昵称,必填", required = true)
-	private String sender;
+	* 是否已读(0:未读  1:已读)
+	*/
+		@ApiModelProperty(value = "是否已读(0:未读  1:已读)")
+		private Boolean isRead;
 	/**
-	 * 接收人Id
-	 */
-	@ApiModelProperty(value = "接收人Id")
-	private Long receiverId;
-	/**
-	 * 接收人昵称
-	 */
-	@ApiModelProperty(value = "接收人昵称")
-	private String receiver;
-	/**
-	 * 是否已读(0:未读  1:已读)
-	 */
-	@ApiModelProperty(value = "是否已读(0:未读  1:已读")
-	private Boolean isRead;
-	/**
-	 * 发送人类型(商户,平台)
-	 */
-	@ApiModelProperty(value = "发送人类型(商户,平台,商家)", required = true)
-	private SenderType senderType;
-	/**
-	 * 接收人类型(平台用户,商场,商户,会员,C端用户)
-	 */
-	@ApiModelProperty(value = "接收人类型(平台用户,商场,商户,会员,C端用户)", required = true)
-	private ReceiverType receiverType;
+	* 接收人类型(平台用户,商场,商户,会员,C端用户)
+	*/
+		@ApiModelProperty(value = "接收人类型(平台用户,商场,商户,会员,C端用户)")
+		private ReceiverType receiverType;
+
 
 }

+ 68 - 0
ldt-core/src/main/java/org/springblade/ldt/notice/entity/NoticeManagementContent.java

@@ -0,0 +1,68 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.notice.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import org.springblade.common.enums.SenderType;
+import org.springblade.core.mp.base.BaseEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * 实体类
+ *
+ * @author BladeX
+ * @since 2021-11-09
+ */
+@Data
+@TableName("ldt_notice_content")
+@EqualsAndHashCode(callSuper = true)
+@ApiModel(value = "NoticeContent对象", description = "NoticeContent对象")
+public class NoticeManagementContent extends BaseEntity {
+
+	private static final long serialVersionUID = 1L;
+
+	/**
+	* 标题
+	*/
+		@ApiModelProperty(value = "标题")
+		private String title;
+	/**
+	* 内容
+	*/
+		@ApiModelProperty(value = "内容")
+		private String content;
+	/**
+	* 发送人Id
+	*/
+		@ApiModelProperty(value = "发送人Id")
+		private Long senderId;
+	/**
+	* 发送人昵称
+	*/
+		@ApiModelProperty(value = "发送人昵称")
+		private String sender;
+	/**
+	* 发送人类型(商户,平台,商家)
+	*/
+		@ApiModelProperty(value = "发送人类型(商户,平台,商家)")
+		private SenderType senderType;
+
+
+}

+ 44 - 0
ldt-core/src/main/java/org/springblade/ldt/notice/mapper/NoticeManagementContentMapper.java

@@ -0,0 +1,44 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.notice.mapper;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.ldt.notice.entity.NoticeManagementContent;
+import org.springblade.ldt.notice.vo.NoticeManagementContentVO;
+
+import java.util.List;
+
+/**
+ *  Mapper 接口
+ *
+ * @author BladeX
+ * @since 2021-11-09
+ */
+public interface NoticeManagementContentMapper extends BaseMapper<NoticeManagementContent> {
+
+	/**
+	 * 自定义分页
+	 *
+	 * @param page
+	 * @param noticeContent
+	 * @return
+	 */
+	List<NoticeManagementContentVO> selectNoticeContentPage(IPage page, NoticeManagementContentVO noticeContent);
+
+}

+ 27 - 0
ldt-core/src/main/java/org/springblade/ldt/notice/mapper/NoticeManagementContentMapper.xml

@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.springblade.ldt.notice.mapper.NoticeManagementContentMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="noticeContentResultMap" type="org.springblade.ldt.notice.entity.NoticeManagementContent">
+        <result column="id" property="id"/>
+        <result column="create_user" property="createUser"/>
+        <result column="create_dept" property="createDept"/>
+        <result column="create_time" property="createTime"/>
+        <result column="update_user" property="updateUser"/>
+        <result column="update_time" property="updateTime"/>
+        <result column="status" property="status"/>
+        <result column="is_deleted" property="isDeleted"/>
+        <result column="title" property="title"/>
+        <result column="content" property="content"/>
+        <result column="sender_id" property="senderId"/>
+        <result column="sender" property="sender"/>
+        <result column="sender_type" property="senderType"/>
+    </resultMap>
+
+
+    <select id="selectNoticeContentPage" resultMap="noticeContentResultMap">
+        select * from ldt_notice_content where is_deleted = 0
+    </select>
+
+</mapper>

+ 3 - 4
ldt-core/src/main/java/org/springblade/ldt/notice/mapper/NoticeManagementMapper.xml

@@ -12,12 +12,11 @@
         <result column="update_time" property="updateTime"/>
         <result column="status" property="status"/>
         <result column="is_deleted" property="isDeleted"/>
-        <result column="title" property="title"/>
-        <result column="content" property="content"/>
-        <result column="sender" property="sender"/>
+        <result column="receiver_id" property="receiverId"/>
+        <result column="content_id" property="contentId"/>
         <result column="receiver" property="receiver"/>
         <result column="is_read" property="isRead"/>
-        <result column="sender_type" property="senderType"/>
+        <result column="receiver_type" property="receiverType"/>
     </resultMap>
 
 

+ 42 - 0
ldt-core/src/main/java/org/springblade/ldt/notice/service/INoticeManagementContentService.java

@@ -0,0 +1,42 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.notice.service;
+
+
+import org.springblade.core.mp.base.BaseService;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.ldt.notice.entity.NoticeManagementContent;
+import org.springblade.ldt.notice.vo.NoticeManagementContentVO;
+
+/**
+ *  服务类
+ *
+ * @author BladeX
+ * @since 2021-11-09
+ */
+public interface INoticeManagementContentService extends BaseService<NoticeManagementContent> {
+
+	/**
+	 * 自定义分页
+	 *
+	 * @param page
+	 * @param noticeContent
+	 * @return
+	 */
+	IPage<NoticeManagementContentVO> selectNoticeContentPage(IPage<NoticeManagementContentVO> page, NoticeManagementContentVO noticeContent);
+
+}

+ 41 - 0
ldt-core/src/main/java/org/springblade/ldt/notice/service/impl/NoticeManagementContentServiceImpl.java

@@ -0,0 +1,41 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.notice.service.impl;
+
+import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springblade.ldt.notice.entity.NoticeManagementContent;
+import org.springblade.ldt.notice.mapper.NoticeManagementContentMapper;
+import org.springblade.ldt.notice.service.INoticeManagementContentService;
+import org.springblade.ldt.notice.vo.NoticeManagementContentVO;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+
+/**
+ *  服务实现类
+ *
+ * @author BladeX
+ * @since 2021-11-09
+ */
+@Service
+public class NoticeManagementContentServiceImpl extends BaseServiceImpl<NoticeManagementContentMapper, NoticeManagementContent> implements INoticeManagementContentService {
+
+	@Override
+	public IPage<NoticeManagementContentVO> selectNoticeContentPage(IPage<NoticeManagementContentVO> page, NoticeManagementContentVO noticeContent) {
+		return page.setRecords(baseMapper.selectNoticeContentPage(page, noticeContent));
+	}
+
+}

+ 44 - 56
ldt-core/src/main/java/org/springblade/ldt/notice/service/impl/NoticeManagementServiceImpl.java

@@ -17,35 +17,22 @@
 package org.springblade.ldt.notice.service.impl;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import lombok.AllArgsConstructor;
-import org.springblade.common.enums.ReceiverType;
-import org.springblade.common.enums.SenderType;
 import org.springblade.core.mp.base.BaseServiceImpl;
 import org.springblade.core.secure.BladeUser;
 import org.springblade.core.tool.api.R;
-import org.springblade.ldt.mall.entity.Mall;
 import org.springblade.ldt.mall.service.IMallService;
 import org.springblade.ldt.notice.entity.NoticeManagement;
 import org.springblade.ldt.notice.mapper.NoticeManagementMapper;
 import org.springblade.ldt.notice.service.INoticeManagementService;
 import org.springblade.ldt.notice.vo.NoticeManagementVO;
-import org.springblade.ldt.shop.entity.Shop;
 import org.springblade.ldt.shop.service.IShopService;
-import org.springblade.ldt.user.entity.LoginUser;
-import org.springblade.ldt.user.entity.Member;
 import org.springblade.ldt.user.service.ILoginUserService;
 import org.springblade.ldt.user.service.IMemberService;
 import org.springblade.modules.system.service.IUserService;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
-
 /**
  * 通知表 服务实现类
  *
@@ -70,49 +57,50 @@ public class NoticeManagementServiceImpl extends BaseServiceImpl<NoticeManagemen
 	@Override
 	@Transactional
 	public R saveNotice(NoticeManagementVO notice, BladeUser bladeUser) {
-		Mall mall = null;
-		if (notice.getSenderType().equals(SenderType.MALL)) {
-			mall = mallService.getOne(Wrappers.<Mall>lambdaQuery().eq(Mall::getTenantId, bladeUser.getTenantId()));
-		}
-		Map<ReceiverType, Map<Long, String>> receiver = new HashMap<>();
-		for (ReceiverType receiverType : notice.getReceiverTypes()) {
-			if (receiverType.equals(ReceiverType.MALL)) {//平台可发
-				List<Mall> malls = mallService.list();
-				receiver.put(ReceiverType.MALL, malls.stream().collect(Collectors.toMap(Mall::getId, Mall::getMallName)));
-			}
-			if (receiverType.equals(ReceiverType.SHOP)) {//平台,商场可发
-				List<Shop> shops = shopService.list(Wrappers.<Shop>lambdaQuery()
-					.eq(notice.getSenderType().equals(SenderType.MALL) && mall != null, Shop::getMallId, mall.getId()));
-				receiver.put(ReceiverType.SHOP, shops.stream().collect(Collectors.toMap(Shop::getId, Shop::getName)));
-			}
-			if (receiverType.equals(ReceiverType.MEMBER)) {//商场可发
-				List<Member> members = memberService.list(Wrappers.<Member>lambdaQuery().eq(mall != null, Member::getMallId, mall.getId()));
-				receiver.put(ReceiverType.MEMBER, members.stream().collect(Collectors.toMap(Member::getId, Member::getNickName)));
-			}
-			if (receiverType.equals(ReceiverType.CONSUMER)) {//平台可发
-				List<LoginUser> loginUsers = loginUserService.list();
-				receiver.put(ReceiverType.CONSUMER, loginUsers.stream().collect(Collectors.toMap(LoginUser::getId, LoginUser::getNickName)));
-			}
-		}
-
-		List<NoticeManagement> notices = new ArrayList<>();
-		for (Map.Entry<ReceiverType, Map<Long, String>> data : receiver.entrySet()) {
-			for (Map.Entry<Long, String> item : data.getValue().entrySet()) {
-				notice.setReceiver(item.getValue());
-				notice.setReceiverId(item.getKey());
-				notice.setReceiverType(data.getKey());
-				notice.setIsRead(false);
-				if (notice.getSenderType().equals(SenderType.MALL)) {
-					notice.setSenderId(mall.getId());
-					notice.setSender(mall.getMallName());
-				} else {
-					notice.setSenderId(bladeUser.getUserId());
-					notice.setSender("[平台]");
-				}
-				notices.add(notice);
-			}
-		}
-		return R.data(saveBatch(notices));
+		return null;
+//		Mall mall = null;
+//		if (notice.getSenderType().equals(SenderType.MALL)) {
+//			mall = mallService.getOne(Wrappers.<Mall>lambdaQuery().eq(Mall::getTenantId, bladeUser.getTenantId()));
+//		}
+//		Map<ReceiverType, Map<Long, String>> receiver = new HashMap<>();
+//		for (ReceiverType receiverType : notice.getReceiverTypes()) {
+//			if (receiverType.equals(ReceiverType.MALL)) {//平台可发
+//				List<Mall> malls = mallService.list();
+//				receiver.put(ReceiverType.MALL, malls.stream().collect(Collectors.toMap(Mall::getId, Mall::getMallName)));
+//			}
+//			if (receiverType.equals(ReceiverType.SHOP)) {//平台,商场可发
+//				List<Shop> shops = shopService.list(Wrappers.<Shop>lambdaQuery()
+//					.eq(notice.getSenderType().equals(SenderType.MALL) && mall != null, Shop::getMallId, mall.getId()));
+//				receiver.put(ReceiverType.SHOP, shops.stream().collect(Collectors.toMap(Shop::getId, Shop::getName)));
+//			}
+//			if (receiverType.equals(ReceiverType.MEMBER)) {//商场可发
+//				List<Member> members = memberService.list(Wrappers.<Member>lambdaQuery().eq(mall != null, Member::getMallId, mall.getId()));
+//				receiver.put(ReceiverType.MEMBER, members.stream().collect(Collectors.toMap(Member::getId, Member::getNickName)));
+//			}
+//			if (receiverType.equals(ReceiverType.CONSUMER)) {//平台可发
+//				List<LoginUser> loginUsers = loginUserService.list();
+//				receiver.put(ReceiverType.CONSUMER, loginUsers.stream().collect(Collectors.toMap(LoginUser::getId, LoginUser::getNickName)));
+//			}
+//		}
+//
+//		List<NoticeManagement> notices = new ArrayList<>();
+//		for (Map.Entry<ReceiverType, Map<Long, String>> data : receiver.entrySet()) {
+//			for (Map.Entry<Long, String> item : data.getValue().entrySet()) {
+//				notice.setReceiver(item.getValue());
+//				notice.setReceiverId(item.getKey());
+//				notice.setReceiverType(data.getKey());
+//				notice.setIsRead(false);
+//				if (notice.getSenderType().equals(SenderType.MALL)) {
+//					notice.setSenderId(mall.getId());
+//					notice.setSender(mall.getMallName());
+//				} else {
+//					notice.setSenderId(bladeUser.getUserId());
+//					notice.setSender("[平台]");
+//				}
+//				notices.add(notice);
+//			}
+//		}
+//		return R.data(saveBatch(notices));
 	}
 
 }

+ 36 - 0
ldt-core/src/main/java/org/springblade/ldt/notice/vo/NoticeManagementContentVO.java

@@ -0,0 +1,36 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.notice.vo;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import io.swagger.annotations.ApiModel;
+import org.springblade.ldt.notice.entity.NoticeManagementContent;
+
+/**
+ * 视图实体类
+ *
+ * @author BladeX
+ * @since 2021-11-09
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ApiModel(value = "NoticeContentVO对象", description = "NoticeContentVO对象")
+public class NoticeManagementContentVO extends NoticeManagementContent {
+	private static final long serialVersionUID = 1L;
+
+}

+ 3 - 0
ldt-core/src/main/java/org/springblade/ldt/notice/vo/NoticeManagementVO.java

@@ -21,6 +21,7 @@ import lombok.Data;
 import lombok.EqualsAndHashCode;
 import org.springblade.common.enums.ReceiverType;
 import org.springblade.ldt.notice.entity.NoticeManagement;
+import org.springblade.ldt.notice.entity.NoticeManagementContent;
 
 /**
  * 通知表视图实体类
@@ -36,4 +37,6 @@ public class NoticeManagementVO extends NoticeManagement {
 
 	private ReceiverType[] receiverTypes;
 
+	private NoticeManagementContent noticeManagementContent;
+
 }

+ 50 - 0
ldt-core/src/main/java/org/springblade/ldt/notice/wrapper/NoticeManagementContentWrapper.java

@@ -0,0 +1,50 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.ldt.notice.wrapper;
+
+import org.springblade.core.mp.support.BaseEntityWrapper;
+import org.springblade.core.tool.utils.BeanUtil;
+import org.springblade.ldt.notice.entity.NoticeManagementContent;
+import org.springblade.ldt.notice.vo.NoticeManagementContentVO;
+
+import java.util.Objects;
+
+/**
+ * 包装类,返回视图层所需的字段
+ *
+ * @author BladeX
+ * @since 2021-11-09
+ */
+public class NoticeManagementContentWrapper extends BaseEntityWrapper<NoticeManagementContent, NoticeManagementContentVO>  {
+
+	public static NoticeManagementContentWrapper build() {
+		return new NoticeManagementContentWrapper();
+ 	}
+
+	@Override
+	public NoticeManagementContentVO entityVO(NoticeManagementContent noticeContent) {
+		NoticeManagementContentVO noticeContentVO = Objects.requireNonNull(BeanUtil.copy(noticeContent, NoticeManagementContentVO.class));
+
+		//User createUser = UserCache.getUser(noticeContent.getCreateUser());
+		//User updateUser = UserCache.getUser(noticeContent.getUpdateUser());
+		//noticeContentVO.setCreateUserName(createUser.getName());
+		//noticeContentVO.setUpdateUserName(updateUser.getName());
+
+		return noticeContentVO;
+	}
+
+}

+ 22 - 1
ldt-core/src/main/java/org/springblade/ldt/notice/wrapper/NoticeManagementWrapper.java

@@ -19,6 +19,8 @@ package org.springblade.ldt.notice.wrapper;
 import org.springblade.core.mp.support.BaseEntityWrapper;
 import org.springblade.core.tool.utils.BeanUtil;
 import org.springblade.ldt.notice.entity.NoticeManagement;
+import org.springblade.ldt.notice.entity.NoticeManagementContent;
+import org.springblade.ldt.notice.service.INoticeManagementContentService;
 import org.springblade.ldt.notice.vo.NoticeManagementVO;
 import java.util.Objects;
 
@@ -30,14 +32,33 @@ import java.util.Objects;
  */
 public class NoticeManagementWrapper extends BaseEntityWrapper<NoticeManagement, NoticeManagementVO>  {
 
+	private INoticeManagementContentService noticeManagementContentService;
+
+
+	public NoticeManagementWrapper() {
+	}
+
+	public NoticeManagementWrapper(INoticeManagementContentService noticeManagementContentService) {
+		this.noticeManagementContentService = noticeManagementContentService;
+	}
+
+	public static NoticeManagementWrapper build(INoticeManagementContentService noticeManagementContentService) {
+		return new NoticeManagementWrapper(noticeManagementContentService);
+ 	}
+
 	public static NoticeManagementWrapper build() {
 		return new NoticeManagementWrapper();
- 	}
+	}
 
 	@Override
 	public NoticeManagementVO entityVO(NoticeManagement notice) {
 		NoticeManagementVO noticeVO = Objects.requireNonNull(BeanUtil.copy(notice, NoticeManagementVO.class));
 
+		if (noticeManagementContentService != null) {
+			NoticeManagementContent content = noticeManagementContentService.getById(notice.getContentId());
+			noticeVO.setNoticeManagementContent(content);
+		}
+
 		//User createUser = UserCache.getUser(notice.getCreateUser());
 		//User updateUser = UserCache.getUser(notice.getUpdateUser());
 		//noticeVO.setCreateUserName(createUser.getName());