zoujiajian 1 yıl önce
ebeveyn
işleme
8219713618

+ 13 - 0
netflix-dao/src/main/java/com/cyksj/mapper/mirrorshop/MirrorNoticeUserStatusRelateMapper.java

@@ -0,0 +1,13 @@
+package com.cyksj.mapper.mirrorshop;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.cyksj.model.entity.MirrorNoticeUserStatusRelate;
+
+/**
+ * 项目名: yhlxj
+ * 文件名: MirrorNoticeUserStatusRelateMapper
+ * 创建者: JavaZou
+ * 创建时间:2024/11/8 11:45
+ */
+public interface MirrorNoticeUserStatusRelateMapper extends BaseMapper<MirrorNoticeUserStatusRelate> {
+}

+ 0 - 13
netflix-dao/src/main/java/com/cyksj/mapper/mirrorshop/UserMirrorShopManageAdvertiseStatusRelateMapper.java

@@ -1,13 +0,0 @@
-package com.cyksj.mapper.mirrorshop;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.cyksj.model.entity.UserMirrorShopManageAdvertiseStatusRelate;
-
-/**
- * 项目名: yhlxj
- * 文件名: UserMirrorShopManageAdvertiseStatusRelateMapper
- * 创建者: JavaZou
- * 创建时间:2024/11/8 11:45
- */
-public interface UserMirrorShopManageAdvertiseStatusRelateMapper extends BaseMapper<UserMirrorShopManageAdvertiseStatusRelate> {
-}

+ 12 - 1
netflix-dao/src/main/java/com/cyksj/model/entity/MirrorNotice.java

@@ -1,5 +1,7 @@
 package com.cyksj.model.entity;
 
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.ejlchina.searcher.bean.DbField;
 import com.ejlchina.searcher.bean.SearchBean;
 import lombok.Data;
 
@@ -10,7 +12,8 @@ import java.io.Serializable;
  * @date 2024/6/21 14:57
  */
 @Data
-@SearchBean(tables = "mirror_notice")
+@SearchBean(tables = "mirror_notice mn",
+		where = "user_id = 0")
 public class MirrorNotice extends BaseEntity implements Serializable {
 
     /**
@@ -33,4 +36,12 @@ public class MirrorNotice extends BaseEntity implements Serializable {
      */
     private Boolean status;
 
+    /**
+     * 所属镜像店铺用户id
+     */
+    private Long userId;
+
+    @TableField(exist = false)
+    @DbField("select count(1) from mirror_notice_user_review_record myr where myr.notice_id = mn.id")
+    private Boolean isNew;
 }

+ 3 - 3
netflix-dao/src/main/java/com/cyksj/model/entity/UserMirrorShopManageAdvertiseStatusRelate.java → netflix-dao/src/main/java/com/cyksj/model/entity/MirrorNoticeUserStatusRelate.java

@@ -5,14 +5,14 @@ import lombok.Setter;
 
 /**
  * 项目名: yhlxj
- * 文件名: UserMirrorShopManageAdvertiseStatusRelate
+ * 文件名: MirrorNoticeUserStatusRelate
  * 创建者: JavaZou
  * 创建时间:2024/11/8 11:44
  */
 @Getter
 @Setter
-public class UserMirrorShopManageAdvertiseStatusRelate extends BaseEntity{
-	private Long advertiseId;
+public class MirrorNoticeUserStatusRelate extends BaseEntity{
+	private Long noticeId;
 
 	private Long userId;
 

+ 14 - 7
netflix-dao/src/main/java/com/cyksj/model/entity/UserMirrorShopManageAdvertise.java

@@ -14,25 +14,32 @@ import lombok.Setter;
  */
 @Getter
 @Setter
-@SearchBean(tables = "user_mirror_shop_manage_advertise ua",
+@SearchBean(tables = "mirror_notice ua",
 		where = ":uid:")
 public class UserMirrorShopManageAdvertise extends BaseEntity {
-	private Long goodsId;
 
 	/**
-	 * 公告简介
+	 * 平台 MJ GPT
 	 */
-	private String about;
+	private String platform;
 
 	/**
-	 * 公告详情
+	 * 标题
 	 */
-	private String detail;
+	private String title;
 
+	/**
+	 * 富文本
+	 */
+	private String text;
+
+	/**
+	 * 状态
+	 */
 	private Boolean status;
 
 	@TableField(exist = false)
-	@DbField("select count(1) from user_mirror_shop_user_advertise_review_record uar where uar.advertise_id = ua.id")
+	@DbField("select count(1) from mirror_notice_user_review_record myr where myr.notice_id = ua.id")
 	private Boolean isNew;
 
 	/**

+ 3 - 3
netflix-dao/src/main/resources/mapper/UserMirrorShopManageAdvertiseMapper.xml

@@ -6,14 +6,14 @@
     <select id="getAdvertise" resultType="com.cyksj.model.views.UserMirrorShopAdvertiseFrontView">
         select *
         from (select uma.*
-              from user_mirror_shop_manage_advertise uma
+              from mirror_notice uma
                        inner join user_mirror_shop um on um.user_id = uma.user_id
               where uma.status is true
                 and um.custom_id = #{customId}
               union all
               select uma2.*
-              from user_mirror_shop_manage_advertise uma2
-                       inner join user_mirror_shop_manage_user_advertise_status_relate umr on umr.advertise_id = uma2.id
+              from mirror_notice uma2
+                       inner join mirror_notice_user_status_relate umr on umr.notice_id = uma2.id
                        inner join user_mirror_shop um on um.user_id = umr.user_id
               where umr.status is true
                 and um.custom_id = #{customId}) s

+ 35 - 35
netflix-web/src/main/java/com/cyksj/web/controller/manage/mirrorshop/manage/CmsUserMirrorAdvertiseController.java

@@ -4,11 +4,11 @@ import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.cyksj.dto.Result;
 import com.cyksj.enums.GatewayResponse;
-import com.cyksj.mapper.mirrorshop.UserMirrorShopManageAdvertiseStatusRelateMapper;
-import com.cyksj.model.entity.UserMirrorShopManageAdvertise;
-import com.cyksj.model.entity.UserMirrorShopManageAdvertiseStatusRelate;
+import com.cyksj.mapper.mirrorshop.MirrorNoticeUserStatusRelateMapper;
+import com.cyksj.model.entity.MirrorNotice;
+import com.cyksj.model.entity.MirrorNoticeUserStatusRelate;
 import com.cyksj.service.mange.RefreshCacheService;
-import com.cyksj.service.mirrorshop.UserMirrorShopAdvertiseService;
+import com.cyksj.service.sys.MirrorNoticeService;
 import com.cyksj.web.util.StpUserMirrorShopManageUser;
 import com.ejlchina.searcher.BeanSearcher;
 import com.ejlchina.searcher.SearchResult;
@@ -32,33 +32,33 @@ import java.util.Optional;
 @RequiredArgsConstructor
 public class CmsUserMirrorAdvertiseController {
 
-	private final UserMirrorShopAdvertiseService userMirrorShopAdvertiseService;
-
 	private final BeanSearcher beanSearcher;
 
 	private final HttpServletRequest request;
 
-	private RefreshCacheService refreshCacheService;
+	private final MirrorNoticeService mirrorNoticeService;
+
+	private final RefreshCacheService refreshCacheService;
 
-	private UserMirrorShopManageAdvertiseStatusRelateMapper userMirrorShopManageAdvertiseStatusRelateMapper;
+	private final MirrorNoticeUserStatusRelateMapper MirrorNoticeUserStatusRelateMapper;
 
 	/**
 	 * 店铺公告列表
 	 */
 	@GetMapping("/get")
-	public Result<SearchResult<UserMirrorShopManageAdvertise>> get(@RequestParam(defaultValue = "1") Boolean self) {
+	public Result<SearchResult<MirrorNotice>> get(@RequestParam(defaultValue = "1") Boolean self) {
 		long userId = StpUserMirrorShopManageUser.getLoginIdAsLong();
 		MapBuilder builder = MapUtils.flatBuilder(request.getParameterMap());
 		if (self) {
 			builder.put("uid", String.format("ua.user_id in (0,%s)", userId));
 		} else {
-			builder.field(UserMirrorShopManageAdvertise::getUserId, 0);
+			builder.field(MirrorNotice::getUserId, 0);
 		}
-		SearchResult<UserMirrorShopManageAdvertise> search = beanSearcher.search(UserMirrorShopManageAdvertise.class, builder.orderBy(UserMirrorShopManageAdvertise::getUpdateTime).desc().build());
+		SearchResult<MirrorNotice> search = beanSearcher.search(MirrorNotice.class, builder.orderBy(MirrorNotice::getUpdateTime).desc().build());
 		search.getDataList().forEach(data -> {
 			if (data.getUserId() == 0) {
-				Optional.ofNullable(userMirrorShopManageAdvertiseStatusRelateMapper.selectOne(Wrappers.lambdaQuery(UserMirrorShopManageAdvertiseStatusRelate.class).eq(UserMirrorShopManageAdvertiseStatusRelate::getAdvertiseId, data.getId())
-						.eq(UserMirrorShopManageAdvertiseStatusRelate::getUserId, userId)
+				Optional.ofNullable(MirrorNoticeUserStatusRelateMapper.selectOne(Wrappers.lambdaQuery(MirrorNoticeUserStatusRelate.class).eq(MirrorNoticeUserStatusRelate::getNoticeId, data.getId())
+						.eq(MirrorNoticeUserStatusRelate::getUserId, userId)
 						.last("limit 1"))).ifPresent(e -> data.setStatus(e.getStatus()));
 			}
 		});
@@ -70,10 +70,10 @@ public class CmsUserMirrorAdvertiseController {
 	 * 新增店铺公告
 	 */
 	@PostMapping("/post")
-	public Result<String> post(@RequestBody UserMirrorShopManageAdvertise advertise) {
+	public Result<String> post(@RequestBody MirrorNotice notice) {
 		long userId = StpUserMirrorShopManageUser.getLoginIdAsLong();
-		advertise.setUserId(userId);
-		userMirrorShopAdvertiseService.saveOrUpdate(advertise);
+		notice.setUserId(userId);
+		mirrorNoticeService.saveOrUpdate(notice);
 		return GatewayResponse.SUCCESS.newBuilder().toResult();
 	}
 
@@ -82,13 +82,13 @@ public class CmsUserMirrorAdvertiseController {
 	 * 编辑店铺公告
 	 */
 	@PutMapping("/update")
-	public Result<String> update(@RequestBody UserMirrorShopManageAdvertise advertise) {
+	public Result<String> update(@RequestBody MirrorNotice notice) {
 		Long userId = StpUserMirrorShopManageUser.getLoginIdAsLong();
-		UserMirrorShopManageAdvertise byId = userMirrorShopAdvertiseService.getById(advertise.getId());
+		MirrorNotice byId = mirrorNoticeService.getById(notice.getId());
 		if (byId == null || !ObjectUtil.equal(userId, byId.getUserId())) {
 			return GatewayResponse.SUCCESS.newBuilder().toResult();
 		}
-		userMirrorShopAdvertiseService.saveOrUpdate(advertise);
+		mirrorNoticeService.saveOrUpdate(notice);
 		refreshCacheService.refreshUserMirrorShopAdvertiseCache(userId);
 		return GatewayResponse.SUCCESS.newBuilder().toResult();
 	}
@@ -100,29 +100,29 @@ public class CmsUserMirrorAdvertiseController {
 	@PutMapping("/update/status/{id}")
 	public Result<String> updateStatusById(@PathVariable Long id) {
 		Long userId = StpUserMirrorShopManageUser.getLoginIdAsLong();
-		Optional.ofNullable(userMirrorShopAdvertiseService.getById(id))
+		Optional.ofNullable(mirrorNoticeService.getById(id))
 				.ifPresent(en -> {
 					if (en.getUserId() != 0) {
 						return;
 					}
 					//官方公告
 					if (!en.getUserId().equals(userId)) {
-						UserMirrorShopManageAdvertiseStatusRelate userMirrorShopManageAdvertiseStatusRelate = Optional.ofNullable(userMirrorShopManageAdvertiseStatusRelateMapper.selectOne(Wrappers.lambdaQuery(UserMirrorShopManageAdvertiseStatusRelate.class)
-								.eq(UserMirrorShopManageAdvertiseStatusRelate::getUserId, userId)
-								.eq(UserMirrorShopManageAdvertiseStatusRelate::getAdvertiseId, id).last("limit 1"))).orElse(new UserMirrorShopManageAdvertiseStatusRelate());
-
-						userMirrorShopManageAdvertiseStatusRelate.setAdvertiseId(id);
-						userMirrorShopManageAdvertiseStatusRelate.setUserId(userId);
-						if (userMirrorShopManageAdvertiseStatusRelate.getId() == null) {
-							userMirrorShopManageAdvertiseStatusRelate.setStatus(!en.getStatus());
-							userMirrorShopManageAdvertiseStatusRelateMapper.insert(userMirrorShopManageAdvertiseStatusRelate);
+						MirrorNoticeUserStatusRelate mirrorNoticeUserStatusRelate = Optional.ofNullable(MirrorNoticeUserStatusRelateMapper.selectOne(Wrappers.lambdaQuery(MirrorNoticeUserStatusRelate.class)
+								.eq(MirrorNoticeUserStatusRelate::getUserId, userId)
+								.eq(MirrorNoticeUserStatusRelate::getNoticeId, id).last("limit 1"))).orElse(new MirrorNoticeUserStatusRelate());
+
+						mirrorNoticeUserStatusRelate.setNoticeId(id);
+						mirrorNoticeUserStatusRelate.setUserId(userId);
+						if (mirrorNoticeUserStatusRelate.getId() == null) {
+							mirrorNoticeUserStatusRelate.setStatus(!en.getStatus());
+							MirrorNoticeUserStatusRelateMapper.insert(mirrorNoticeUserStatusRelate);
 						} else {
-							userMirrorShopManageAdvertiseStatusRelate.setStatus(!userMirrorShopManageAdvertiseStatusRelate.getStatus());
-							userMirrorShopManageAdvertiseStatusRelateMapper.updateById(userMirrorShopManageAdvertiseStatusRelate);
+							mirrorNoticeUserStatusRelate.setStatus(!mirrorNoticeUserStatusRelate.getStatus());
+							MirrorNoticeUserStatusRelateMapper.updateById(mirrorNoticeUserStatusRelate);
 						}
 					} else {
 						en.setStatus(!en.getStatus());
-						userMirrorShopAdvertiseService.updateById(en);
+						mirrorNoticeService.updateById(en);
 					}
 					refreshCacheService.refreshUserMirrorShopAdvertiseCache(userId);
 				});
@@ -135,9 +135,9 @@ public class CmsUserMirrorAdvertiseController {
 	@PutMapping("/delete/{id}")
 	public Result<String> deleteById(@PathVariable Long id) {
 		Long userId = StpUserMirrorShopManageUser.getLoginIdAsLong();
-		userMirrorShopAdvertiseService.remove(Wrappers.lambdaQuery(UserMirrorShopManageAdvertise.class)
-				.eq(UserMirrorShopManageAdvertise::getId, id)
-				.eq(UserMirrorShopManageAdvertise::getUserId, userId));
+		mirrorNoticeService.remove(Wrappers.lambdaQuery(MirrorNotice.class)
+				.eq(MirrorNotice::getId, id)
+				.eq(MirrorNotice::getUserId, userId));
 		refreshCacheService.refreshUserMirrorShopAdvertiseCache(userId);
 		return GatewayResponse.SUCCESS.newBuilder().toResult();
 	}

+ 5 - 0
netflix-web/src/main/java/com/cyksj/web/controller/manage/sys/CmsMirrorNoticeController.java

@@ -4,6 +4,7 @@ import com.cyksj.common.exception.BusinessRuntimeException;
 import com.cyksj.dto.Result;
 import com.cyksj.enums.GatewayResponse;
 import com.cyksj.model.entity.MirrorNotice;
+import com.cyksj.service.mange.RefreshCacheService;
 import com.cyksj.service.sys.MirrorNoticeService;
 import com.ejlchina.searcher.BeanSearcher;
 import com.ejlchina.searcher.SearchResult;
@@ -31,6 +32,8 @@ public class CmsMirrorNoticeController {
 
     private final MirrorNoticeService mirrorNoticeService;
 
+    private final RefreshCacheService refreshCacheService;
+
     /**
      * 公告列表
      */
@@ -62,6 +65,7 @@ public class CmsMirrorNoticeController {
             throw BusinessRuntimeException.getInstance("公告不存在");
         }
         mirrorNoticeService.updateById(mirrorNotice);
+        refreshCacheService.refreshUserMirrorShopAdvertiseCache(null);
         return GatewayResponse.SUCCESS.newBuilder().toResult(mirrorNoticeService.getById(mirrorNotice.getId()));
     }
 
@@ -75,6 +79,7 @@ public class CmsMirrorNoticeController {
             throw BusinessRuntimeException.getInstance("公告不存在");
         }
         mirrorNoticeService.removeById(id);
+        refreshCacheService.refreshUserMirrorShopAdvertiseCache(null);
         return GatewayResponse.SUCCESS.newBuilder().toResult();
     }
 }