From dbddcc6d450759987c0af44ccab8cd5269ae08e8 Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期一, 26 一月 2026 14:04:18 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 server/dmmall_service/src/main/java/com/doumee/service/business/impl/NoticeServiceImpl.java |  158 +++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 154 insertions(+), 4 deletions(-)

diff --git a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/NoticeServiceImpl.java b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/NoticeServiceImpl.java
index f7b9193..138327b 100644
--- a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/NoticeServiceImpl.java
+++ b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/NoticeServiceImpl.java
@@ -11,11 +11,10 @@
 import com.doumee.dao.business.NoticeMapper;
 import com.doumee.dao.business.join.MemberJoinMapper;
 import com.doumee.dao.business.join.NoticeJoinMapper;
-import com.doumee.dao.business.model.Member;
-import com.doumee.dao.business.model.Notice;
-import com.doumee.dao.business.model.Shop;
+import com.doumee.dao.business.model.*;
 import com.doumee.dao.web.dto.NoticeCardDTO;
 import com.doumee.dao.system.model.SystemUser;
+import com.doumee.dao.web.request.CouponNoticeRequest;
 import com.doumee.service.business.NoticeService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
@@ -30,6 +29,7 @@
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
 
+import java.math.BigDecimal;
 import java.util.Date;
 import java.util.List;
 import java.util.Objects;
@@ -216,7 +216,6 @@
 
     @Override
     public PageData<NoticeCardDTO> findNoticeCardDTOPage(PageWrap<Notice> pageWrap) {
-
         LoginUserInfo loginUserInfo = (LoginUserInfo)SecurityUtils.getSubject().getPrincipal();
         IPage<Notice> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
         LambdaQueryWrapper<Notice> queryWrapper = new LambdaQueryWrapper<>();
@@ -242,4 +241,155 @@
         pageData.setRecords(noticeCardDTOs);
         return pageData;
     }
+
+
+    /**
+     *
+     * @param type 0娑堣垂鑰咃紱1=缁忛攢鍟嗭紱
+     * @param objType 0鍟嗗煄璁㈠崟 1绉垎娴佹按 2浜掑姩璇勪环 3浼樻儬鍒�
+     *
+     */
+
+    public void saveNoticeInfo(Integer type,Integer objType,Integer memberId
+        ,String title,String content,Integer objId){
+        Notice notice = new Notice();
+        notice.setCreateDate(new Date());
+        notice.setIsdeleted(Constants.ZERO);
+        notice.setTitle(title);
+        notice.setContent(content);
+        notice.setType(type);
+        notice.setObjType(objType);
+        notice.setObjId(objId);
+        notice.setMemberId(memberId);
+        notice.setStatus(Constants.ZERO);
+        noticeMapper.insert(notice);
+    }
+
+
+    /**
+     * 绉垎鍙樺姩娑堟伅绫诲瀷
+     * @param integralObjType  绉垎鍙樺姩绫诲瀷
+     * @param memberId 鐢ㄦ埛涓婚敭/鍟嗘埛涓婚敭
+     * @param integral 鍙樺姩绉垎/鐜伴噾鍊�
+     * @param objId 鍏宠仈瀵硅薄涓婚敭 - 绉垎娴佹按鍙樺姩璁板綍涓婚敭
+     * @param param1 param2
+     */
+    @Override
+    public void saveMemberIntegralNotice(Constants.IntegralObjType integralObjType,Integer type,
+                                         Integer memberId,
+                                         BigDecimal integral,
+                                         Integer objId,String param1){
+        String title = integralObjType.getName();
+        String info = integralObjType.getNoteinfo();
+        info = info.replace("${param}",integral.toString()).replace("${param1}",param1);
+        this.saveNoticeInfo(
+                type,
+                Constants.ONE,
+                memberId,
+                title,
+                info,
+                objId
+        );
+    }
+
+    /**
+     * 鍙戞斁浼樻儬鍒�
+     * @param memberId
+     * @param couponList
+     */
+    public void couponNotice(Integer memberId,List<CouponNoticeRequest> couponList){
+        String noticeInfo = "鎭枩鎮ㄨ幏寰�${param}";
+        //鎭枩鎮ㄨ幏寰� 婊�50鍑�10鎶垫墸鍒�
+        String replaceInfo = "";
+        for (CouponNoticeRequest c:couponList) {
+            MemberCoupon mc = c.getMemberCoupon();
+            String info = Constants.equalsInteger(mc.getCouponType(),Constants.ZERO)?
+                    "婊�"+mc.getLimitPrice()+"鍏冨噺"+mc.getPrice()+"鍏冩姷鎵e埜*"+c.getNum():
+                    "婊�"+mc.getLimitPrice()+"鍏冧韩"+mc.getPrice()+"鎶樺埜";
+            replaceInfo = replaceInfo + (StringUtils.isBlank(replaceInfo)?
+                    info:","+info);
+        }
+        noticeInfo.replace("${param}",replaceInfo);
+
+        this.saveNoticeInfo(
+                Constants.ZERO,
+                Constants.ONE,
+                memberId,
+                "鑾峰緱绯荤粺鍙戞斁鐨勪紭鎯犲埜",
+                noticeInfo,
+                null
+        );
+    }
+
+
+    public void expireNotice(Integer memberId, BigDecimal integral,Integer expireDateNum){
+        //鎮ㄦ湁1000绉垎30澶╁悗杩囨湡锛岃灏藉揩浣跨敤
+        String noticeInfo = "鎮ㄦ湁${param}绉垎鍗冲皢杩囨湡锛岃灏藉揩浣跨敤";
+        if(integral.compareTo(BigDecimal.ZERO)<=Constants.ZERO){
+            return;
+        }
+        noticeInfo.replace("${param}",integral.toString());
+        this.saveNoticeInfo(
+                Constants.ZERO,
+                Constants.ONE,
+                memberId,
+                "鎮ㄧ殑绉垎灏嗗湪"+expireDateNum+"澶╁悗娓呯┖锛岃灏藉揩浣跨敤",
+                noticeInfo,
+                null
+        );
+    }
+
+
+
+    public void commonNotice(Integer memberId, Integer objId,String memberName ){
+        //鎮ㄦ湁1000绉垎30澶╁悗杩囨湡锛岃灏藉揩浣跨敤
+        String noticeInfo = "${param}鍥炲浜嗘偍鐨勮瘎璁�";
+        noticeInfo.replace("${param}",memberName);
+        this.saveNoticeInfo(
+                Constants.ZERO,
+                Constants.TWO,
+                memberId,
+                noticeInfo,
+                noticeInfo,
+                null
+        );
+    }
+
+    public void orderPayNotice(Integer shopId, Integer objId,Integer receiveType){
+        if(Constants.equalsInteger(receiveType,Constants.ZERO)){
+            return;
+        }
+        //鎮ㄦ湁鏂扮殑銆愬彂璐ф柟寮忋�戣鍗曞緟澶勭悊
+        String noticeInfo = "鎮ㄦ湁鏂扮殑${param}璁㈠崟寰呭鐞�";
+        noticeInfo.replace("${param}",Constants.equalsInteger(receiveType,Constants.ZERO)?"鐗╂祦鍙戣揣":"闂ㄥ簵鑷彁");
+        this.saveNoticeInfo(
+                Constants.ONE,
+                Constants.ZERO,
+                shopId,
+                noticeInfo,
+                noticeInfo,
+                objId
+        );
+    }
+
+
+    public void orderCancelNotice(Integer shopId, Integer objId,String orderNo){
+        // 鎮ㄧ殑璁㈠崟{璁㈠崟鍙穧锛屽凡鐢卞鎴锋墜鍔ㄥ彇娑堬紝璇风煡鎮�
+        String noticeInfo = " 鎮ㄧ殑璁㈠崟${param}锛屽凡鐢卞鎴锋墜鍔ㄥ彇娑堬紝璇风煡鎮�";
+        noticeInfo.replace("${param}",orderNo);
+        this.saveNoticeInfo(
+                Constants.ONE,
+                Constants.ZERO,
+                shopId,
+                noticeInfo,
+                noticeInfo,
+                objId
+        );
+    }
+
+
+
+
+
+
 }

--
Gitblit v1.9.3