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/dao/web/request/DealIntegralRequest.java         |    2 
 server/dmmall_service/src/main/java/com/doumee/service/business/impl/IntegralServiceImpl.java   |   12 ++++
 server/dmmall_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java     |   15 +++++
 server/dmmall_web/src/main/java/com/doumee/api/web/AccountApi.java                              |    4 -
 server/dmmall_service/src/main/java/com/doumee/service/business/impl/NoticeServiceImpl.java     |  123 +++++++++++++++++++++++++++++++++--------
 server/dmmall_service/src/main/java/com/doumee/service/business/NoticeService.java              |   15 +++++
 server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java |    1 
 7 files changed, 144 insertions(+), 28 deletions(-)

diff --git a/server/dmmall_service/src/main/java/com/doumee/dao/web/request/DealIntegralRequest.java b/server/dmmall_service/src/main/java/com/doumee/dao/web/request/DealIntegralRequest.java
index fdf20f0..10f2c2d 100644
--- a/server/dmmall_service/src/main/java/com/doumee/dao/web/request/DealIntegralRequest.java
+++ b/server/dmmall_service/src/main/java/com/doumee/dao/web/request/DealIntegralRequest.java
@@ -35,6 +35,8 @@
     @ApiModelProperty(value = "鏀舵敮绫诲瀷 0鏀跺叆 1鏀嚭")
     private Integer dealType;
 
+    @ApiModelProperty(value = "娑堟伅鍙傛暟")
+    private String param1;
 
 
 }
diff --git a/server/dmmall_service/src/main/java/com/doumee/service/business/NoticeService.java b/server/dmmall_service/src/main/java/com/doumee/service/business/NoticeService.java
index eae8784..3209b30 100644
--- a/server/dmmall_service/src/main/java/com/doumee/service/business/NoticeService.java
+++ b/server/dmmall_service/src/main/java/com/doumee/service/business/NoticeService.java
@@ -2,9 +2,11 @@
 
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Constants;
 import com.doumee.dao.business.model.Notice;
 import com.doumee.dao.web.dto.NoticeCardDTO;
 
+import java.math.BigDecimal;
 import java.util.List;
 
 /**
@@ -104,4 +106,17 @@
      * @return
      */
     PageData<NoticeCardDTO> findNoticeCardDTOPage(PageWrap<Notice> pageWrap);
+
+    /**
+     * 绉垎鍙樺姩娑堟伅绫诲瀷
+     * @param integralObjType  绉垎鍙樺姩绫诲瀷
+     * @param memberId 鐢ㄦ埛涓婚敭/鍟嗘埛涓婚敭
+     * @param integral 鍙樺姩绉垎/鐜伴噾鍊�
+     * @param objId 鍏宠仈瀵硅薄涓婚敭 - 绉垎娴佹按鍙樺姩璁板綍涓婚敭
+     * @param param1 param2
+     */
+    void saveMemberIntegralNotice(Constants.IntegralObjType integralObjType, Integer type,
+                                  Integer memberId,
+                                  BigDecimal integral,
+                                  Integer objId, String param1);
 }
diff --git a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java
index 60cdf92..05a4f69 100644
--- a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java
+++ b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java
@@ -1919,6 +1919,7 @@
             dealIntegralRequest.setObjId(goodsorder.getId());
             dealIntegralRequest.setOrderCode(goodsorder.getCode().toString());
             dealIntegralRequest.setIntegralObjType(Constants.IntegralObjType.ORDER_DONE_AMOUNT);
+            dealIntegralRequest.setParam1(goodsorder.getCode().toString());
             integralService.dealShopAmount(dealIntegralRequest);
         }
     }
diff --git a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/IntegralServiceImpl.java b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/IntegralServiceImpl.java
index a235dde..071a850 100644
--- a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/IntegralServiceImpl.java
+++ b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/IntegralServiceImpl.java
@@ -27,6 +27,7 @@
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.doumee.service.business.NoticeService;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.shiro.SecurityUtils;
@@ -66,6 +67,9 @@
 
     @Autowired
     private ShopMapper shopMapper;
+
+    @Autowired
+    private NoticeService noticeService;
 
     @Transactional(rollbackFor = {Exception.class, BusinessException.class})
     @Override
@@ -166,6 +170,14 @@
         }else{
             memberMapper.subtractIntegral(member.getId(),dealIntegralRequest.getIntegralNum());
         }
+
+        //绔欏唴淇�
+        noticeService.saveMemberIntegralNotice(
+                dealIntegralRequest.getIntegralObjType(),Constants.ZERO,member.getId(),dealIntegralRequest.getIntegralNum(),
+                integral.getId(), dealIntegralRequest.getParam1()
+        );
+
+
         return integral.getId();
     }
 
diff --git a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
index 75d7051..00a2891 100644
--- a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
+++ b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -364,6 +364,7 @@
                     member.setRecId(Constants.getInviteCode(wxPhoneRequest.getRecId()));
                 }
                 member.setOpenId(wxPhoneRequest.getOpenid());
+                member.setIntegral(BigDecimal.ZERO);
             }
             member.setPhone(phone);
             member.setEditDate(new Date());
@@ -463,6 +464,20 @@
                 platformConfigDTO.getShareIntegralReward():BigDecimal.ZERO);
         inviteRecord.setFirstOrderStatus(Constants.ZERO);
         inviteRecordMapper.insert(inviteRecord);
+        //璧犻�侀個璇风Н鍒�
+        //寮�鍚個璇锋敞鍐岄�佺Н鍒�
+        if(Constants.equalsInteger(platformConfigDTO.getShareIntegralRewardStatus(),Constants.ZERO)){
+            DealIntegralRequest dealIntegralRequest = new DealIntegralRequest();
+            dealIntegralRequest.setIntegralNum(platformConfigDTO.getShareIntegralReward());
+            dealIntegralRequest.setDealType(Constants.ZERO);
+            dealIntegralRequest.setMemberId(member.getRecId());
+            dealIntegralRequest.setIntegralObjType(Constants.IntegralObjType.INVITENEWUSER);
+            dealIntegralRequest.setParam1(member.getNickname());
+            integralService.dealIntegral(dealIntegralRequest);
+        }
+
+
+
     }
 
 
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 e96861f..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,10 +11,7 @@
 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.MemberCoupon;
-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;
@@ -32,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;
@@ -247,7 +245,7 @@
 
     /**
      *
-     * @param type 0娑堣垂鑰咃紱1=缁忛攢鍟嗙Н鍒嗭紱2=缁忛攢鍟嗙粨绠楅噾棰�
+     * @param type 0娑堣垂鑰咃紱1=缁忛攢鍟嗭紱
      * @param objType 0鍟嗗煄璁㈠崟 1绉垎娴佹按 2浜掑姩璇勪环 3浼樻儬鍒�
      *
      */
@@ -263,6 +261,7 @@
         notice.setObjType(objType);
         notice.setObjId(objId);
         notice.setMemberId(memberId);
+        notice.setStatus(Constants.ZERO);
         noticeMapper.insert(notice);
     }
 
@@ -275,7 +274,11 @@
      * @param objId 鍏宠仈瀵硅薄涓婚敭 - 绉垎娴佹按鍙樺姩璁板綍涓婚敭
      * @param param1 param2
      */
-    public void saveMemberIntegralNotice(Constants.IntegralObjType integralObjType,Integer type, Integer memberId, Integer integral, Integer objId,String param1){
+    @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);
@@ -289,32 +292,104 @@
         );
     }
 
+    /**
+     * 鍙戞斁浼樻儬鍒�
+     * @param memberId
+     * @param couponList
+     */
     public void couponNotice(Integer memberId,List<CouponNoticeRequest> couponList){
-        String info = "鎭枩鎮ㄨ幏寰椼�愪紭鎯犺鍒欍�戙�愪紭鎯犲埜绫诲瀷銆�";
+        String noticeInfo = "鎭枩鎮ㄨ幏寰�${param}";
         //鎭枩鎮ㄨ幏寰� 婊�50鍑�10鎶垫墸鍒�
+        String replaceInfo = "";
         for (CouponNoticeRequest c:couponList) {
             MemberCoupon mc = c.getMemberCoupon();
-            Constants.equalsInteger(mc.getCouponType(),Constants.ZERO)?
-
-
-
-
+            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(
-//                type,
-//                Constants.ONE,
-//                memberId,
-//                "鑾峰緱绯荤粺鍙戞斁鐨勪紭鎯犲埜",
-//                info,
-//                objId
-//        );
-//
-
-
+        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
+        );
+    }
+
+
+
+
+
 
 }
diff --git a/server/dmmall_web/src/main/java/com/doumee/api/web/AccountApi.java b/server/dmmall_web/src/main/java/com/doumee/api/web/AccountApi.java
index 2d61391..3366c5b 100644
--- a/server/dmmall_web/src/main/java/com/doumee/api/web/AccountApi.java
+++ b/server/dmmall_web/src/main/java/com/doumee/api/web/AccountApi.java
@@ -46,12 +46,8 @@
         return  ApiResponse.success(memberService.wxLogin(code));
     }
 
-    @LoginRequired
     @ApiOperation(value = "缁戝畾鎵嬫満鍙�", notes = "灏忕▼搴忕")
     @PostMapping("/wxPhone")
-    @ApiImplicitParams({
-            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true)
-    })
     public ApiResponse<AccountResponse> wxPhone(@Valid @RequestBody WxPhoneRequest wxPhoneRequest) {
         return  ApiResponse.success(memberService.wxPhone(wxPhoneRequest));
     }

--
Gitblit v1.9.3