From 585ff1cd29e9875f5f2a0fa2b0fdc876c5c6301f Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期一, 26 一月 2026 18:26:31 +0800
Subject: [PATCH] 小程序   接口开发

---
 server/dmmall_service/src/main/java/com/doumee/core/utils/Constants.java                            |   18 +-
 server/dmmall_service/src/main/java/com/doumee/dao/business/model/Notice.java                       |    7 
 server/dmmall_service/src/main/java/com/doumee/service/business/impl/IntegralServiceImpl.java       |  102 +++++++----
 server/dmmall_service/src/main/java/com/doumee/service/business/impl/NoticeServiceImpl.java         |   66 +++++-
 server/dmmall_web/src/main/java/com/doumee/api/web/NoticeApi.java                                   |   15 +
 server/dmmall_admin/src/main/java/com/doumee/api/business/WithdrawRecordController.java             |    6 
 server/dmmall_service/src/main/java/com/doumee/service/business/NoticeService.java                  |   43 ++++
 server/dmmall_service/src/main/java/com/doumee/dao/web/dto/NoticeCardDTO.java                       |    2 
 server/dmmall_service/src/main/java/com/doumee/service/business/WithdrawRecordService.java          |    2 
 server/dmmall_service/src/main/java/com/doumee/service/business/impl/WithdrawRecordServiceImpl.java |   18 +
 server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java     |  230 ++++--------------------
 server/dmmall_service/src/main/java/com/doumee/dao/web/response/HomeInfoResponse.java               |    3 
 server/dmmall_web/src/main/java/com/doumee/api/web/mall/PaymentCallback.java                        |    4 
 server/dmmall_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java         |    3 
 server/dmmall_service/src/main/java/com/doumee/service/business/impl/AftersaleServiceImpl.java      |    3 
 15 files changed, 259 insertions(+), 263 deletions(-)

diff --git a/server/dmmall_admin/src/main/java/com/doumee/api/business/WithdrawRecordController.java b/server/dmmall_admin/src/main/java/com/doumee/api/business/WithdrawRecordController.java
index bc6ae79..94c2c20 100644
--- a/server/dmmall_admin/src/main/java/com/doumee/api/business/WithdrawRecordController.java
+++ b/server/dmmall_admin/src/main/java/com/doumee/api/business/WithdrawRecordController.java
@@ -7,6 +7,7 @@
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.model.PageData;
 import com.doumee.dao.business.model.WithdrawRecord;
+import com.doumee.service.business.IntegralService;
 import com.doumee.service.business.WithdrawRecordService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -29,6 +30,9 @@
 
     @Autowired
     private WithdrawRecordService withdrawRecordService;
+
+    @Autowired
+    private IntegralService integralService;
 
     @PreventRepeat
     @ApiOperation("鏂板缓")
@@ -63,7 +67,7 @@
     @PostMapping("/updateById")
     @RequiresPermissions("business:withdrawrecord:update")
     public ApiResponse updateById(@RequestBody WithdrawRecord withdrawRecord) {
-        withdrawRecordService.updateById(withdrawRecord);
+        withdrawRecordService.updateById(withdrawRecord,integralService);
         return ApiResponse.success(null);
     }
 
diff --git a/server/dmmall_service/src/main/java/com/doumee/core/utils/Constants.java b/server/dmmall_service/src/main/java/com/doumee/core/utils/Constants.java
index cd8d610..5263a50 100644
--- a/server/dmmall_service/src/main/java/com/doumee/core/utils/Constants.java
+++ b/server/dmmall_service/src/main/java/com/doumee/core/utils/Constants.java
@@ -884,26 +884,26 @@
         SYSTEM_RECHARGE(12,"绉垎鍙戞斁","骞冲彴濂栧姳锛岃幏寰�${param}绉垎",0,0),
         SYSTEM_DEDUCT(13,"绉垎鎵i櫎","骞冲彴鎵e噺锛屾秷鑰�${param}绉垎",0,0),
         MEMBER_ORDER_CANCEL(14,"鍙栨秷璁㈠崟閫�鍥�","浜ゆ槗閫�娆鹃��鍥烇紝鑾峰緱${param}绉垎",0,0),
+        MEMBER_ORDER_REFUND(28,"璁㈠崟閫�娆�","璁㈠崟閫�娆撅紝杩旇繕璁㈠崟娑堣��${param}绉垎",0,0),
         MEMBER_ORDER(9,"涓嬪崟鎶垫墸","娑堣垂鎶垫墸锛屾秷鑰�${param}绉垎",1,0),
         ORDER_DONATE(15,"娑堣垂杩旂Н鍒�","璐墿鎴愬姛锛岃幏寰�${param}绉垎",0,0),
         SHOP_YEAR_SETTLEMENT(18,"绉垎杩囨湡","绉垎杩囨湡锛屾秷鑰�${param}绉垎",0,0),
+        MEMBER_ORDER_REFUND_RETURN(27,"璁㈠崟閫�娆�","璁㈠崟閫�娆撅紝鎵i櫎璁㈠崟杩旇繕${param}绉垎",0,0),
 
 
-        ORDER_DONE_AMOUNT(16,"璁㈠崟缁撶畻","${param1}璁㈠崟缁撶畻鎴愬姛锛岃幏寰楋骏${param}鍏�",0,1),//${param}璁㈠崟缂栧彿锛�${param1}閲戦
-        WITHDRAW_APPLY(17,"浣欓鎻愮幇","浣欓鎻愮幇宸叉彁浜わ紝娑堣�楋骏${param}鍏�",0,1),
-        WITHDRAW_APPLY_BACK(19,"鎻愮幇閫�鍥�","浣欓鎻愮幇澶辫触锛岃幏寰楋骏${param}鍏�",0,1),
-        ORDER_DONE_AMOUNT_BACK(20,"璁㈠崟缁撶畻閫�鍥�","${param1}璁㈠崟缁撶畻閫�鍥烇紝娑堣�楋骏${param}鍏�",0,1),//${param}璁㈠崟缂栧彿锛�${param1}閲戦
+        ORDER_DONE_AMOUNT(16,"璁㈠崟缁撶畻","${param1}璁㈠崟缁撶畻鎴愬姛锛岃幏寰楋骏${param}",0,1),//${param}璁㈠崟缂栧彿锛�${param1}閲戦
+        WITHDRAW_APPLY(17,"浣欓鎻愮幇","浣欓鎻愮幇宸叉彁浜わ紝娑堣�楋骏${param}",0,1),
+        WITHDRAW_APPLY_BACK(19,"鎻愮幇閫�鍥�","浣欓鎻愮幇澶辫触锛岃幏寰楋骏${param}",0,1),
+//        ORDER_DONE_AMOUNT_BACK(20,"璁㈠崟缁撶畻閫�鍥�","${param1}璁㈠崟缁撶畻閫�鍥烇紝娑堣�楋骏${param}鍏�",0,1),//${param}璁㈠崟缂栧彿锛�${param1}閲戦
+        SHOP_ORDER_REFUND_CASH(25,"璁㈠崟閫�娆�","${param1}璁㈠崟閫�娆撅紝鎵i櫎缁撶畻閲戦锟�${param}",0,0),
 
 
         SHOP_ORDER(21,"娑堣垂杩旂Н鍒�","浼氬憳${param1}浜ゆ槗鎴愬姛锛岃幏寰�${param}绉垎",0,0),//${param}鏄电О-鎵嬫満鍙�
-        SHOP_ORDER_CANCEL(22,"璁㈠崟鍙栨秷閫�鍥�","璁㈠崟鍙栨秷閫�鍥烇紝閫�鍥�${param}绉垎",0,0),
+//        SHOP_ORDER_CANCEL(22,"璁㈠崟鍙栨秷閫�鍥�","璁㈠崟鍙栨秷閫�鍥烇紝閫�鍥�${param}绉垎",0,0),
+        SHOP_ORDER_REFUND_INTEGRAL(26,"璁㈠崟閫�娆�","璁㈠崟閫�娆撅紝鎵i櫎璁㈠崟杩旇繕${param}绉垎",0,0),
         SHOP_SYSTEM_RECHARGE(23,"绉垎鍙戞斁","骞冲彴濂栧姳锛岃幏寰�${param}绉垎",0,0),
         SHOP_SYSTEM_DEDUCT(24,"绉垎鎵i櫎","骞冲彴鎵e噺锛屾秷鑰�${param}绉垎",0,0),
 
-        SHOP_ORDER_REFUND_CASH(25,"璁㈠崟閫�娆�","璁㈠崟閫�娆撅紝鎵i櫎缁撶畻閲戦${param}鍏�",0,0),
-        SHOP_ORDER_REFUND_INTEGRAL(26,"璁㈠崟閫�娆�","璁㈠崟閫�娆撅紝鎵i櫎璁㈠崟杩旇繕${param}绉垎",0,0),
-        MEMBER_ORDER_REFUND_RETURN(27,"璁㈠崟閫�娆�","璁㈠崟閫�娆撅紝鎵i櫎璁㈠崟杩旇繕${param}绉垎",0,0),
-        MEMBER_ORDER_REFUND(28,"璁㈠崟閫�娆�","璁㈠崟閫�娆撅紝杩旇繕璁㈠崟娑堣��${param}绉垎",0,0),
 
         //----------------搴熷純-------start---------
         SIGNIN(1, "绛惧埌", "绛惧埌",0,0),
diff --git a/server/dmmall_service/src/main/java/com/doumee/dao/business/model/Notice.java b/server/dmmall_service/src/main/java/com/doumee/dao/business/model/Notice.java
index d6aabb7..970655a 100644
--- a/server/dmmall_service/src/main/java/com/doumee/dao/business/model/Notice.java
+++ b/server/dmmall_service/src/main/java/com/doumee/dao/business/model/Notice.java
@@ -84,8 +84,8 @@
     @ExcelColumn(name="瀵硅薄绫诲瀷 0鍟嗗煄璁㈠崟 1绉垎娴佹按 2浜掑姩璇勪环 3浼樻儬鍒� 4鐜伴噾娴佹按")
     private Integer objType;
 
-    @ApiModelProperty(value = "娑堟伅绫诲瀷 0娑堣垂鑰咃紱1=缁忛攢鍟嗙Н鍒嗭紱2=缁忛攢鍟嗙粨绠楅噾棰� ", example = "1")
-    @ExcelColumn(name="娑堟伅绫诲瀷 0娑堣垂鑰咃紱1=缁忛攢鍟嗙Н鍒嗭紱2=缁忛攢鍟嗙粨绠楅噾棰� ")
+    @ApiModelProperty(value = "娑堟伅绫诲瀷 0娑堣垂鑰呮秷鎭紱1=缁忛攢鍟嗘秷鎭紱", example = "1")
+    @ExcelColumn(name="娑堟伅绫诲瀷 0娑堣垂鑰呮秷鎭紱1=缁忛攢鍟嗘秷鎭紱")
     private Integer type;
 
     @ApiModelProperty(value = "鐘舵�� 0鏈 1宸茶", example = "1")
@@ -104,4 +104,7 @@
     @TableField(exist = false)
     private Integer shopId;
 
+    @ApiModelProperty(value = "鏌ヨ绫诲瀷锛�0=绯荤粺娑堟伅锛�1=绀惧尯娑堟伅锛�", example = "1")
+    @TableField(exist = false)
+    private Integer queryType;
 }
diff --git a/server/dmmall_service/src/main/java/com/doumee/dao/web/dto/NoticeCardDTO.java b/server/dmmall_service/src/main/java/com/doumee/dao/web/dto/NoticeCardDTO.java
index fcce78b..f15497e 100644
--- a/server/dmmall_service/src/main/java/com/doumee/dao/web/dto/NoticeCardDTO.java
+++ b/server/dmmall_service/src/main/java/com/doumee/dao/web/dto/NoticeCardDTO.java
@@ -31,7 +31,7 @@
     @ApiModelProperty(value = "瀵硅薄缂栫爜", example = "1")
     private Integer objId;
 
-    @ApiModelProperty(value = "瀵硅薄绫诲瀷 0鍜栬眴璁㈠崟 銆佸晢鍩庛�佸挅鍟¤鍒掕鍗� 1娲诲姩銆佹帰搴椼�佽祫璁� 2娲诲姩鎺㈠簵璧勮璇勮", example = "1")
+    @ApiModelProperty(value = "瀵硅薄绫诲瀷 0鍟嗗煄璁㈠崟 1绉垎娴佹按 2浜掑姩璇勪环 3浼樻儬鍒� 4鐜伴噾娴佹按", example = "1")
     private Integer objType;
 
     @ApiModelProperty(value = "娑堟伅绫诲瀷 0璁㈠崟閫氱煡 1绯荤粺娑堟伅 2浜掑姩娑堟伅 3浼樻儬鍒告彁閱� 4瀹樻柟瀹㈡湇  5娲诲姩鎺ㄨ崘 6鎴戠殑鍏虫敞", example = "1")
diff --git a/server/dmmall_service/src/main/java/com/doumee/dao/web/response/HomeInfoResponse.java b/server/dmmall_service/src/main/java/com/doumee/dao/web/response/HomeInfoResponse.java
index 0b43aa3..2e37e4a 100644
--- a/server/dmmall_service/src/main/java/com/doumee/dao/web/response/HomeInfoResponse.java
+++ b/server/dmmall_service/src/main/java/com/doumee/dao/web/response/HomeInfoResponse.java
@@ -32,5 +32,8 @@
     @ApiModelProperty(value = "寰呮敹璐ф暟閲�")
     private Long waitReceiveNum;
 
+    @ApiModelProperty(value = "鏄惁瀛樺湪鏈锛�0=鏃狅紱1=瀛樺湪")
+    private Integer unRead;
+
 
 }
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 3209b30..cd3777c 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
@@ -5,6 +5,7 @@
 import com.doumee.core.utils.Constants;
 import com.doumee.dao.business.model.Notice;
 import com.doumee.dao.web.dto.NoticeCardDTO;
+import com.doumee.dao.web.request.CouponNoticeRequest;
 
 import java.math.BigDecimal;
 import java.util.List;
@@ -119,4 +120,46 @@
                                   Integer memberId,
                                   BigDecimal integral,
                                   Integer objId, String param1);
+
+
+    /**
+     * 浼樻儬鍒告秷鎭�
+     * @param memberId
+     * @param couponList
+     */
+    void couponNotice(Integer memberId,List<CouponNoticeRequest> couponList);
+
+
+    /**
+     * 璁㈠崟鏀粯鎴愬姛 鍙戦�佹秷鎭�
+     * @param shopId
+     * @param objId
+     * @param receiveType
+     */
+    void orderPayNotice(Integer shopId, Integer objId,Integer receiveType);
+
+    /**
+     * 璁㈠崟鍙栨秷娑堟伅
+     * @param shopId
+     * @param objId
+     * @param orderNo
+     */
+    void orderCancelNotice(Integer shopId, Integer objId,String orderNo);
+
+
+    /**
+     * 绉垎杩囨湡娑堟伅
+     * @param memberId
+     * @param integral
+     * @param expireDateNum
+     */
+    void expireNotice(Integer memberId, BigDecimal integral,Integer expireDateNum);
+
+    /**
+     * 璇勮绔欏唴淇�
+     * @param memberId
+     * @param objId
+     * @param memberName
+     */
+    void commonNotice(Integer memberId, Integer objId,String memberName );
 }
diff --git a/server/dmmall_service/src/main/java/com/doumee/service/business/WithdrawRecordService.java b/server/dmmall_service/src/main/java/com/doumee/service/business/WithdrawRecordService.java
index 8069a59..90f18fc 100644
--- a/server/dmmall_service/src/main/java/com/doumee/service/business/WithdrawRecordService.java
+++ b/server/dmmall_service/src/main/java/com/doumee/service/business/WithdrawRecordService.java
@@ -48,7 +48,7 @@
      *
      * @param withdrawRecord 瀹炰綋瀵硅薄
      */
-    void updateById(WithdrawRecord withdrawRecord);
+    void updateById(WithdrawRecord withdrawRecord, IntegralService integralService);
 
     /**
      * 鎵归噺涓婚敭鏇存柊
diff --git a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/AftersaleServiceImpl.java b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/AftersaleServiceImpl.java
index f3be3c6..408c6a2 100644
--- a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/AftersaleServiceImpl.java
+++ b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/AftersaleServiceImpl.java
@@ -1045,7 +1045,7 @@
         aftersale.setReturnShopSettlement(BigDecimal.ZERO);
         aftersale.setCode(getNextInCode());
 
-        //璁㈠崟閫�鍥� 杩斿洖缁欑粡閿�鍟嗙殑绉垎
+        //璁㈠崟閫�鍥炶繑鍥炵粰缁忛攢鍟嗙殑绉垎
         if(Objects.nonNull(goodsorder.getDistributionShopId())&&goodsorder.getReturnCustomerIntegral().compareTo(BigDecimal.ZERO)>Constants.ZERO){
             Shop shop = shopMapper.selectById(goodsorder.getDistributionShopId());
             //缁忛攢鍟嗗瓨鍦ㄥ墿浣欑Н鍒�
@@ -1122,6 +1122,7 @@
             dealIntegralRequest.setObjId(goodsorder.getId());
             dealIntegralRequest.setOrderCode(goodsorder.getCode().toString());
             dealIntegralRequest.setIntegralObjType(Constants.IntegralObjType.MEMBER_ORDER_REFUND);
+            dealIntegralRequest.setParam1(goodsorder.getCode().toString());
             integralService.dealIntegral(dealIntegralRequest);
         }
 
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 05a4f69..0d71799 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
@@ -36,6 +36,7 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.doumee.service.business.IntegralService;
+import com.doumee.service.business.NoticeService;
 import com.doumee.service.system.SystemDictDataService;
 import com.github.binarywang.wxpay.bean.request.BaseWxPayRequest;
 import com.github.binarywang.wxpay.bean.request.WxPayUnifiedOrderRequest;
@@ -90,6 +91,10 @@
     private MemberMapper memberMapper;
     @Autowired
     private CouponMapper couponMapper;
+    @Autowired
+    private NoticeService noticeService;
+    @Autowired
+    private NoticeMapper noticeMapper;
     @Autowired
     private MemberCouponJoinMapper memberCouponJoinMapper;
     @Autowired
@@ -708,187 +713,6 @@
 
     /****************************************绉诲姩绔帴鍙e紑濮�********************************************************************/
 
-
-    @Transactional(rollbackFor = {Exception.class,BusinessException.class})
-    public PayResponse orderPay(OrderPayRequest orderPayRequest){
-        Member member = memberMapper.selectById(orderPayRequest.getMemberId());
-        //鏌ヨ鏀惰揣鍦板潃
-        Addr addr = addrMapper.selectById(orderPayRequest.getAddressId());
-        if(Objects.isNull(addr)){
-            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌鏀惰揣鍦板潃淇℃伅锛�");
-        }
-        Areas area = areasService.findById(addr.getAreaId(), Constants.TWO);
-        if(Objects.isNull(area)){
-            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏀惰揣鍦板潃鍖哄垝淇℃伅鍙戠敓鍙樺寲锛岃鏇存柊鍚庝笅鍗曪紒");
-        }
-        Goodsorder goodsorder = new Goodsorder();
-        goodsorder.setCreator(orderPayRequest.getMemberId());
-        goodsorder.setIntegral(BigDecimal.ZERO);
-        goodsorder.setCreateDate(new Date());
-        goodsorder.setIsdeleted(Constants.ZERO);
-        goodsorder.setMemberInfo(orderPayRequest.getRemark());
-        goodsorder.setAddrId(addr.getId());
-        goodsorder.setLinkaddr(area.getProvinceName()+area.getCityName() + area.getName() + addr.getAddr());
-        goodsorder.setLinkphone(addr.getPhone());
-        goodsorder.setLinkname(addr.getName());
-        goodsorder.setMemberId(member.getId());
-        goodsorder.setType(orderPayRequest.getOrderType());
-        //鍗曟嵁缂栧彿 鑷
-        goodsorder.setCode(getNextInCode());
-        //璁$畻璁㈠崟鎬婚噾棰�
-        BigDecimal sumPrice = BigDecimal.ZERO;
-        //瀛樺偍璁板綍鏄庣粏
-        List<PayDetailRequest> payDetailRequestList = orderPayRequest.getPayDetailRequestList();
-        if(Objects.isNull(payDetailRequestList)||payDetailRequestList.size()==Constants.ZERO){
-            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏃犳槑缁嗘暟鎹�,璇锋鏌ラ�夋嫨鏁版嵁锛�");
-        }
-        List<GoodsorderDetail> goodsOrderDetailList = new ArrayList<>();
-        for (PayDetailRequest payDetailRequest:payDetailRequestList) {
-            //鏌ヨ鍟嗗搧
-            GoodsSku goodsSku = goodsSkuMapper.selectById(payDetailRequest.getGoodsSkuId());
-            if(Objects.isNull(goodsSku)){
-                throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌鍟嗗搧SKU淇℃伅锛�");
-            }
-            Goods goods = goodsMapper.selectById(goodsSku.getGoodsId());
-            if(Objects.isNull(goods)){
-                throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌鍟嗗搧淇℃伅锛�");
-            }
-            if(goods.getStatus().equals(Constants.ONE)){
-                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀛樺湪鍟嗗搧宸插垹闄ゆ垨宸蹭笅鏋讹紝鏃犳硶涓嬪崟");
-            }
-            if(goodsSku.getStock().compareTo(new BigDecimal(Constants.formatIntegerNum(payDetailRequest.getGoodsNum())))<Constants.ZERO){
-                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀛樺湪鍟嗗搧搴撳瓨涓嶈冻锛屾棤娉曚笅鍗曪紒");
-            }
-            //鍟嗗搧搴撳瓨鎵i櫎
-            goodsSku.setStock(goodsSku.getStock().subtract(new BigDecimal(Constants.formatIntegerNum(payDetailRequest.getGoodsNum()))));
-            goodsSkuMapper.updateById(goodsSku);
-            GoodsorderDetail goodsOrderDetail = new GoodsorderDetail();
-            goodsOrderDetail.setCreator(member.getId());
-            goodsOrderDetail.setCreateDate(new Date());
-            goodsOrderDetail.setImgurl(StringUtils.isBlank(goodsSku.getImgurl())?goods.getImgurl():goodsSku.getImgurl());
-            goodsOrderDetail.setName(goods.getName());
-            goodsOrderDetail.setGoodsSkuId(goodsSku.getId().toString());
-            goodsOrderDetail.setSkuName(goodsSku.getName());
-            goodsOrderDetail.setPrice(goodsSku.getPrice());
-            goodsOrderDetail.setGoodsNum(payDetailRequest.getGoodsNum());
-            goodsOrderDetailList.add(goodsOrderDetail);
-            sumPrice = sumPrice.add(goodsSku.getPrice().multiply(new BigDecimal(payDetailRequest.getGoodsNum())));
-            //璐墿杞︽敮浠� 鍒犻櫎璐墿杞﹀晢鍝�
-            if(orderPayRequest.getIsShopChart().equals(Constants.ONE)){
-                shopcartMapper.deleteById(payDetailRequest.getShopCartId());
-            }
-        }
-
-        //璁㈠崟鏀粯鐜伴噾閲戦
-        goodsorder.setPrice((sumPrice.subtract(orderPayRequest.getDeductionBalance())));
-        MemberCoupon memberCoupon = new MemberCoupon();
-        if(!Objects.isNull(orderPayRequest.getCouponId())){
-            memberCoupon = memberCouponMapper.selectById(orderPayRequest.getCouponId());
-            if(Objects.isNull(memberCoupon)){
-                throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌浼樻儬鍒镐俊鎭紒");
-            }
-            if(sumPrice.compareTo(memberCoupon.getLimitPrice())<Constants.ZERO){
-                throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"璁㈠崟閲戦灏忎簬浼樻儬鍒告�婚噾棰濓紝鏃犳硶浣跨敤锛�");
-            }
-            if(memberCoupon.getStatus().equals(Constants.ONE)){
-                throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"浼樻儬鍒稿凡浣跨敤锛�");
-            }
-            sumPrice = sumPrice.subtract(memberCoupon.getPrice());
-            goodsorder.setCouponId(orderPayRequest.getCouponId());
-            goodsorder.setCouponPrice(memberCoupon.getPrice());
-        }
-
-        goodsorder.setCode(getNextInCode());
-        if(!Objects.isNull(memberCoupon)){
-            memberCoupon.setStatus(Constants.ONE);
-            memberCouponMapper.updateById(memberCoupon);
-        }
-        //鍜栬眴鍟嗗煄璁㈠崟 鍗曠嫭澶勭悊 鎵e噺绉垎 娣诲姞绉垎鍙樺姩璁板綍
-        if(orderPayRequest.getOrderType().equals(Constants.ONE)){
-            if(member.getIntegral().compareTo(sumPrice)<=Constants.ZERO){
-                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "鍜栬眴涓嶈冻,鏃犳硶鍏戞崲锛�");
-            }
-            goodsorder.setStatus(Constants.OrderStatus.PAY_DONE.getKey());
-            goodsorder.setPayStatus(Constants.ZERO);
-            goodsorder.setPayDate(new Date());
-            goodsorderMapper.insert(goodsorder);
-            //鏇存柊鐢ㄦ埛绉垎
-            memberMapper.subtractIntegral(member.getId(),sumPrice);
-            PayResponse payResponse = new PayResponse();
-            payResponse.setOrderId(goodsorder.getId());
-            return payResponse;
-        }
-        goodsorder.setIntegral(orderPayRequest.getDeductionBalance());
-        goodsorderMapper.insert(goodsorder);
-        //鏁版嵁瀛樺偍
-        BigDecimal total = Constants.formatBigdecimal(goodsorder.getPrice()).add(Constants.formatBigdecimal(goodsorder.getIntegral())).add(Constants.formatBigdecimal(goodsorder.getCouponPrice()));
-        BigDecimal rate =Constants.formatBigdecimal(goodsorder.getCouponPrice()).divide(total,4,BigDecimal.ROUND_HALF_UP);
-        BigDecimal totalWxMoney = new BigDecimal(0);
-        BigDecimal totalIntegral = new BigDecimal(0);
-        for (int i =0;i< goodsOrderDetailList.size();i++) {
-            GoodsorderDetail goodsOrderDetail= goodsOrderDetailList.get(i);
-            goodsOrderDetail.setOrderId(goodsorder.getId());
-            BigDecimal wxMoney ;
-            BigDecimal integral;
-            if(i!=0 && i == goodsOrderDetailList.size() -1){
-                //澶勭悊鍥犱负鍥涜垗浜斿叆閫犳垚鐨勫彲閫�閲戦鎹熷け
-                wxMoney = Constants.formatBigdecimal(goodsorder.getPrice()).subtract(totalWxMoney);
-                integral = Constants.formatBigdecimal(goodsorder.getIntegral()).subtract(totalIntegral);;
-            }else{
-                //褰撳墠鏄庣粏瀹為檯浠锋牸
-                BigDecimal detialTotal = Constants.formatBigdecimal(goodsOrderDetail.getPrice()).multiply(new BigDecimal(Constants.formatIntegerNum(goodsOrderDetail.getGoodsNum())));
-                //鎶樼畻浼樻儬鍒稿悗鏀粯浠锋牸锛堝寘鍚幇閲戝拰浣欓閮ㄥ垎锛�
-                BigDecimal  actDetialTotal = detialTotal.subtract(detialTotal.multiply(rate));
-                //鎸夌幇閲戝拰绉垎鏀粯姣斾緥锛屾姌绠楁瘡涓槑缁嗙幇閲戝拰绉垎鏀粯鐨勬暟閲�
-                BigDecimal rate1 = detialTotal .divide(total,4,BigDecimal.ROUND_HALF_UP);
-                //鍙��鐜伴噾閲戦
-                wxMoney = Constants.formatBigdecimal(goodsorder.getPrice()).multiply(rate1);
-                //鍓╀笅鐨勬槸浣欓鎶垫墸
-                integral =actDetialTotal.subtract(wxMoney);
-                totalWxMoney = totalWxMoney.add(wxMoney);//绱
-                totalIntegral= totalIntegral.add(integral);//绱
-            }
-            goodsOrderDetail.setMoney(wxMoney);
-            goodsOrderDetail.setIntegral(integral);
-            goodsorderDetailMapper.insert(goodsOrderDetail);
-        }
-        //濡傛灉鎶垫墸閲戦澶т簬 0 鍒欒繘琛屼綑棰濅笟鍔″鐞�
-        if(orderPayRequest.getDeductionBalance().compareTo(BigDecimal.ZERO)>Constants.ZERO){
-            //鎶垫墸閲戦灏忎簬浼氬憳鍓╀綑浣欓
-            if(orderPayRequest.getDeductionBalance().compareTo(member.getIntegral())<=Constants.ZERO){
-                //鏇存柊浣欓淇℃伅 娣诲姞绉垎鍙樺姩璁板綍
-                DealIntegralRequest dealIntegralRequest = new DealIntegralRequest();
-                dealIntegralRequest.setIntegralNum(orderPayRequest.getDeductionBalance());
-                dealIntegralRequest.setDealType(Constants.ONE);
-                dealIntegralRequest.setMemberId(member.getId());
-                dealIntegralRequest.setObjId(goodsorder.getId());
-                dealIntegralRequest.setOrderCode(goodsorder.getCode().toString());
-                dealIntegralRequest.setIntegralObjType(Constants.IntegralObjType.SHOP_ORDER);
-                integralService.dealIntegral(dealIntegralRequest);
-                //鍙戦�佸井淇″皬绋嬪簭璁㈤槄娑堟伅
-                SendWxMessage.integralChangeNotice(member,orderPayRequest.getDeductionBalance());
-                //浣欓鍏ㄩ儴鎶垫墸
-                if(goodsorder.getPrice().compareTo(BigDecimal.ZERO)==Constants.ZERO){
-                    goodsorder.setStatus(Constants.OrderStatus.PAY_DONE.getKey());
-                    goodsorder.setPayStatus(Constants.ONE);
-                    goodsorder.setPayDate(new Date());
-                    goodsorderMapper.updateById(goodsorder);
-                    PayResponse payResponse = new PayResponse();
-                    payResponse.setOrderId(goodsorder.getId());
-                    return payResponse;
-                }
-            }else{
-                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"浣欓涓嶈冻锛屾棤娉曡繘琛屾敮浠橈紝褰撳墠鍓╀綑浣欓锛氥��"+member.getIntegral()+"銆戯紒");
-            }
-        }
-        if(goodsorder.getPrice().compareTo(orderPayRequest.getTitlePrice())!=Constants.ZERO){
-            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鍟嗗搧浠锋牸鍙戠敓鍙樺寲锛岃鍒锋柊鍚庨噸鏂版敮浠橈紒");
-        }
-        return this.wxPay(goodsorder,member);
-    }
-
-
-
     @Override
     @Transactional(rollbackFor = {Exception.class,BusinessException.class})
     public PayResponse orderPay(ShopOrderPayRequest orderPayRequest,MemberCouponServiceImpl memberCouponService){
@@ -1068,7 +892,7 @@
             dealIntegralRequest.setMemberId(member.getId());
             dealIntegralRequest.setObjId(goodsorder.getId());
             dealIntegralRequest.setOrderCode(goodsorder.getCode().toString());
-            dealIntegralRequest.setIntegralObjType(Constants.IntegralObjType.SHOP_ORDER);
+            dealIntegralRequest.setIntegralObjType(Constants.IntegralObjType.MEMBER_ORDER);
             integralService.dealIntegral(dealIntegralRequest);
         }
 
@@ -1089,6 +913,13 @@
         PayResponse payResponse = new PayResponse();
         payResponse.setOrderId(goodsorder.getId());
         payResponse.setPayType(Constants.ONE);
+        //鍙戦�侀�氱煡
+        if(Objects.nonNull(goodsorder.getPickUpShopId())){
+            //鍙戦�佺珯鍐呬俊 - 缁忛攢鍟�
+            noticeService.orderPayNotice(goodsorder.getPickUpShopId(),goodsorder.getId(),goodsorder.getReceiveType());
+        }
+
+
         return payResponse;
     }
 
@@ -1316,7 +1147,7 @@
             dealIntegralRequest.setMemberId(goodsorder.getMemberId());
             dealIntegralRequest.setObjId(goodsorder.getId());
             dealIntegralRequest.setOrderCode(goodsorder.getCode().toString());
-            dealIntegralRequest.setIntegralObjType(Constants.IntegralObjType.SHOP_ORDER_CANCEL);
+            dealIntegralRequest.setIntegralObjType(Constants.IntegralObjType.MEMBER_ORDER_CANCEL);
             integralService.dealIntegral(dealIntegralRequest);
         }
         //璁㈠崟淇℃伅鍙栨秷
@@ -1342,8 +1173,6 @@
         }
 
         SendWxMessage.orderCancel(goodsorder,memberMapper.selectById(goodsorder.getMemberId()),goodsName);
-
-
 
         //鏌ヨ浼樻儬鍒镐俊鎭褰�
         if(!Objects.isNull(goodsorder.getCouponId())){
@@ -1398,7 +1227,7 @@
             dealIntegralRequest.setMemberId(goodsorder.getMemberId());
             dealIntegralRequest.setObjId(goodsorder.getId());
             dealIntegralRequest.setOrderCode(goodsorder.getCode().toString());
-            dealIntegralRequest.setIntegralObjType(Constants.IntegralObjType.SHOP_ORDER_CANCEL);
+            dealIntegralRequest.setIntegralObjType(Constants.IntegralObjType.MEMBER_ORDER_CANCEL);
             integralService.dealIntegral(dealIntegralRequest);
         }
         //璁㈠崟淇℃伅鍙栨秷
@@ -1423,7 +1252,10 @@
             }
         }
 
-        //SendWxMessage.orderCancel(goodsorder,memberMapper.selectById(goodsorder.getMemberId()),goodsName);
+        // 鐢ㄦ埛涓诲姩鍙栨秷 鍙戦�佺粡閿�鍟嗙珯鍐呮秷鎭�
+        if(Objects.nonNull(goodsorder.getPickUpShopId())&&StringUtils.isBlank(cancelInfo)){
+            noticeService.orderCancelNotice(goodsorder.getPickUpShopId(),goodsorder.getId(),goodsorder.getCode().toString());
+        }
 
         //鏌ヨ浼樻儬鍒镐俊鎭褰�
         if(!Objects.isNull(goodsorder.getCouponId())){
@@ -1808,6 +1640,7 @@
         String couponNames = "";
         if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(shareCouponRewardList)){
             List<MemberCoupon> memberCouponList = new ArrayList<>();
+            List<CouponNoticeRequest> requestList = new ArrayList<>();
             for (JSONObject jsonObject:shareCouponRewardList) {
                 Integer couponId = jsonObject.getInteger("couponId");
                 Integer num = jsonObject.getInteger("num");
@@ -1821,9 +1654,19 @@
                 }
                 couponIds = couponIds + (StringUtils.isBlank(couponIds)? ",":"" )+ couponId ;
                 couponNames = couponNames + (StringUtils.isBlank(couponNames)? ",":"" )+ coupon.getName() ;
+
+
+                CouponNoticeRequest couponNoticeRequest = new CouponNoticeRequest();
+                couponNoticeRequest.setMemberCoupon(memberCoupon);
+                couponNoticeRequest.setNum(num);
+                requestList.add(couponNoticeRequest);
             }
             if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(memberCouponList)){
                 memberCouponJoinMapper.insert(memberCouponList);
+            }
+            if(CollectionUtils.isNotEmpty(requestList)){
+                //鍙戦�佺珯鍐呬俊
+                noticeService.couponNotice(inviteMember.getId(),requestList);
             }
         }
         inviteRecordMapper.update(new UpdateWrapper<InviteRecord>().lambda()
@@ -1898,7 +1741,11 @@
             dealIntegralRequest.setMemberId(goodsorder.getDistributionShopId());
             dealIntegralRequest.setObjId(goodsorder.getId());
             dealIntegralRequest.setOrderCode(goodsorder.getCode().toString());
-            dealIntegralRequest.setIntegralObjType(Constants.IntegralObjType.ORDER_DONATE);
+            dealIntegralRequest.setIntegralObjType(Constants.IntegralObjType.SHOP_ORDER);
+            Member member = memberMapper.selectById(goodsorder.getMemberId());
+            if(Objects.nonNull(member)){
+                dealIntegralRequest.setParam1(member.getNickname());
+            }
             integralService.dealShopIntegral(dealIntegralRequest);
         }
     }
@@ -2233,6 +2080,13 @@
                         .eq(Collect::getMemberId,member.getId())
                 )
         );
+        homeInfoResponse.setUnRead(
+                noticeMapper.selectCount(new QueryWrapper<Notice>().lambda()
+                        .eq(Notice::getIsdeleted,Constants.ZERO)
+                        .eq(Notice::getMemberId,member.getId())
+                        .eq(Notice::getStatus,Constants.ZERO)
+                )>=Constants.ZERO?Constants.ZERO:Constants.ONE
+        );
 
         return homeInfoResponse;
     }
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 071a850..1d8e54b 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
@@ -208,6 +208,14 @@
         }else{
             shopMapper.subtractIntegral(shop.getId(),dealIntegralRequest.getIntegralNum());
         }
+
+        //绔欏唴淇�
+        noticeService.saveMemberIntegralNotice(
+                dealIntegralRequest.getIntegralObjType(),Constants.ZERO,shop.getId(),dealIntegralRequest.getIntegralNum(),
+                integral.getId(), dealIntegralRequest.getParam1()
+        );
+
+
         return integral.getId();
     }
 
@@ -462,21 +470,32 @@
             BigDecimal num = param.getNum();
             if(param.getType() == 1 &&Constants.formatBigdecimal(model.getIntegral()).compareTo(param.getNum())<0){
                 //濡傛灉鏄噺灏戯紝鍒ゆ柇鐢ㄦ埛浣欓鏄惁婊¤冻
-                num = num.multiply(new BigDecimal(-1));//鍑忓皯
+//                num = num.multiply(new BigDecimal(-1));//鍑忓皯
                 throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鐢ㄦ埛璐︽埛浣欓涓嶈冻锛�");
             }
-            //璐︽埛浣欓
-            memberMapper.update(null,new UpdateWrapper<Member>().lambda()
-                    .eq(Member::getId,model.getId())
-                    .set(Member::getEditDate,date)
-                    .set(Member::getEditor,user.getId())
-                    .setSql(param.getType() == 0,"total_integral = ifnull(total_integral,0)+" + num)//绱澧炲姞
-                    .setSql(param.getType() == 0,"integral = ifnull(integral,0)+" + param.getNum())
-                    .setSql(param.getType() == 1,"integral = ifnull(integral,0)-" + param.getNum()));
-
             integralObjType = param.getType()==0?Constants.IntegralObjType.SYSTEM_RECHARGE:Constants.IntegralObjType.SYSTEM_DEDUCT;
-            integral.setTotalNum(param.getType() == 0? Constants.formatBigdecimal(model.getIntegral()).add(param.getNum()):Constants.formatBigdecimal(model.getIntegral()).subtract(param.getNum()));
-            integral.setUserType(Constants.ZERO);
+            DealIntegralRequest dealIntegralRequest = new DealIntegralRequest();
+            dealIntegralRequest.setIntegralNum(num);
+            dealIntegralRequest.setDealType(param.getType());
+            dealIntegralRequest.setMemberId(model.getId());
+            dealIntegralRequest.setObjId(null);
+            dealIntegralRequest.setOrderCode(null);
+            dealIntegralRequest.setIntegralObjType(integralObjType);
+            this.dealIntegral(dealIntegralRequest);
+
+
+            //璐︽埛浣欓
+//            memberMapper.update(null,new UpdateWrapper<Member>().lambda()
+//                    .eq(Member::getId,model.getId())
+//                    .set(Member::getEditDate,date)
+//                    .set(Member::getEditor,user.getId())
+//                    .setSql(param.getType() == 0,"total_integral = ifnull(total_integral,0)+" + num)//绱澧炲姞
+//                    .setSql(param.getType() == 0,"integral = ifnull(integral,0)+" + param.getNum())
+//                    .setSql(param.getType() == 1,"integral = ifnull(integral,0)-" + param.getNum()));
+//
+//            integralObjType = param.getType()==0?Constants.IntegralObjType.SYSTEM_RECHARGE:Constants.IntegralObjType.SYSTEM_DEDUCT;
+//            integral.setTotalNum(param.getType() == 0? Constants.formatBigdecimal(model.getIntegral()).add(param.getNum()):Constants.formatBigdecimal(model.getIntegral()).subtract(param.getNum()));
+//            integral.setUserType(Constants.ZERO);
         }else{//缁忛攢鍟嗚处鎴�
             Shop model = shopMapper.selectById(param.getMemberId());
             if(model == null ||Constants.equalsObject(model.getIsdeleted(),Constants.ONE)){
@@ -485,34 +504,45 @@
             BigDecimal num = param.getNum();
             if(param.getType() == 1 &&Constants.formatBigdecimal(model.getIntegral()).compareTo(param.getNum())<0){
                 //濡傛灉鏄噺灏戯紝鍒ゆ柇鐢ㄦ埛浣欓鏄惁婊¤冻
-                num = num.multiply(new BigDecimal(-1));//鍑忓皯
+//                num = num.multiply(new BigDecimal(-1));//鍑忓皯
                 throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"缁忛攢鍟嗚处鎴风Н鍒嗕綑棰濅笉瓒筹紒");
             }
             //璐︽埛浣欓
-            shopMapper.update(null,new UpdateWrapper<Shop>().lambda()
-                    .eq(Shop::getId,model.getId())
-                    .set(Shop::getEditDate,date)
-                    .set(Shop::getEditor,user.getId())
-                    .setSql(param.getType() == 0,"total_integral = ifnull(total_integral,0)+" + num)//绱澧炲姞
-                    .setSql(param.getType() == 0,"integral = ifnull(integral,0)+" + param.getNum())
-                    .setSql(param.getType() == 1,"integral = ifnull(integral,0)-" + param.getNum()));
-            integralObjType = param.getType()==0?Constants.IntegralObjType.SHOP_SYSTEM_RECHARGE:Constants.IntegralObjType.SHOP_SYSTEM_DEDUCT;
-            integral.setTotalNum(param.getType() == 0? Constants.formatBigdecimal(model.getIntegral()).add(param.getNum()):Constants.formatBigdecimal(model.getIntegral()).subtract(param.getNum()));
-            integral.setUserType(Constants.ONE);
+//            shopMapper.update(null,new UpdateWrapper<Shop>().lambda()
+//                    .eq(Shop::getId,model.getId())
+//                    .set(Shop::getEditDate,date)
+//                    .set(Shop::getEditor,user.getId())
+//                    .setSql(param.getType() == 0,"total_integral = ifnull(total_integral,0)+" + num)//绱澧炲姞
+//                    .setSql(param.getType() == 0,"integral = ifnull(integral,0)+" + param.getNum())
+//                    .setSql(param.getType() == 1,"integral = ifnull(integral,0)-" + param.getNum()));
+//            integralObjType = param.getType()==0?Constants.IntegralObjType.SHOP_SYSTEM_RECHARGE:Constants.IntegralObjType.SHOP_SYSTEM_DEDUCT;
+//            integral.setTotalNum(param.getType() == 0? Constants.formatBigdecimal(model.getIntegral()).add(param.getNum()):Constants.formatBigdecimal(model.getIntegral()).subtract(param.getNum()));
+//            integral.setUserType(Constants.ONE);
+
+            DealIntegralRequest dealIntegralRequest = new DealIntegralRequest();
+            dealIntegralRequest.setIntegralNum(num);
+            dealIntegralRequest.setDealType(param.getType());
+            dealIntegralRequest.setMemberId(model.getId());
+            dealIntegralRequest.setObjId(null);
+            dealIntegralRequest.setOrderCode(null);
+            dealIntegralRequest.setIntegralObjType(integralObjType);
+            this.dealShopIntegral(dealIntegralRequest);
+
+
         }
-        integral.setCreateDate(new Date());
-        integral.setCreator(user.getId());
-        integral.setIsdeleted(Constants.ZERO);
-        integral.setNum(param.getNum());
-        integral.setTitle(integralObjType.getName());
-        integral.setContent(integralObjType.getNoteinfo().replace("${param}",integral.getNum().toString()));
-        integral.setMemberId(param.getMemberId());
-        integral.setObjId(param.getMemberId());
-        integral.setObjType(integralObjType.getKey());
-        integral.setType(param.getType());
-        integral.setRemark(param.getRemark());
-        integral.setOrderCode(null);
-        integralMapper.insert(integral);
+//        integral.setCreateDate(new Date());
+//        integral.setCreator(user.getId());
+//        integral.setIsdeleted(Constants.ZERO);
+//        integral.setNum(param.getNum());
+//        integral.setTitle(integralObjType.getName());
+//        integral.setContent(integralObjType.getNoteinfo().replace("${param}",integral.getNum().toString()));
+//        integral.setMemberId(param.getMemberId());
+//        integral.setObjId(param.getMemberId());
+//        integral.setObjType(integralObjType.getKey());
+//        integral.setType(param.getType());
+//        integral.setRemark(param.getRemark());
+//        integral.setOrderCode(null);
+//        integralMapper.insert(integral);
     }
     @Override
     public IntegralDataResponse getIntegralData(IntegralRecordDTO model){
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 00a2891..9e01ef6 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
@@ -475,9 +475,6 @@
             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 138327b..2072e72 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
@@ -30,6 +30,7 @@
 import org.springframework.util.CollectionUtils;
 
 import java.math.BigDecimal;
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 import java.util.Objects;
@@ -216,24 +217,30 @@
 
     @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<>();
         Utils.MP.blankToNull(pageWrap.getModel());
-        queryWrapper.eq(Notice::getType,pageWrap.getModel().getType())
-                    .eq(Notice::getObjMemberId,loginUserInfo.getMemberId());
+
+        Notice notice = pageWrap.getModel();
+
+        queryWrapper.ne(Objects.nonNull(notice.getQueryType())&&Constants.equalsInteger(notice.getQueryType(),Constants.ZERO),
+                        Notice::getObjType,Constants.TWO)
+                    .eq(Objects.nonNull(notice.getQueryType())&&Constants.equalsInteger(notice.getQueryType(),Constants.ONE),
+                        Notice::getObjType,Constants.TWO)
+                    .eq(Notice::getMemberId,notice.getMemberId())
+                .orderByAsc(Notice::getStatus)
+                .orderByDesc(Notice::getId)
+        ;
         IPage<Notice> noticeIPage = noticeMapper.selectPage(page, queryWrapper);
-
+        List<NoticeCardDTO> noticeCardDTOs = new ArrayList<>();
         if (CollectionUtils.isEmpty(noticeIPage.getRecords())){
-            return PageData.from(new Page<>());
+            noticeCardDTOs = noticeIPage.getRecords().stream().map(s -> {
+                NoticeCardDTO noticeCardDTO = new NoticeCardDTO();
+                BeanUtils.copyProperties(s, noticeCardDTO);
+                return noticeCardDTO;
+
+            }).collect(Collectors.toList());
         }
-        List<NoticeCardDTO> noticeCardDTOs = noticeIPage.getRecords().stream().map(s -> {
-            NoticeCardDTO noticeCardDTO = new NoticeCardDTO();
-            BeanUtils.copyProperties(s, noticeCardDTO);
-            return noticeCardDTO;
-
-        }).collect(Collectors.toList());
-
         PageData<NoticeCardDTO> pageData = new PageData<>();
         pageData.setPage(pageWrap.getPage());
         pageData.setCapacity(pageWrap.getCapacity());
@@ -293,14 +300,16 @@
     }
 
     /**
-     * 鍙戞斁浼樻儬鍒�
+     * 鍙戞斁浼樻儬鍒� 绔欏唴淇�
      * @param memberId
      * @param couponList
      */
+    @Override
     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)?
@@ -322,6 +331,13 @@
     }
 
 
+    /**
+     * 绉垎杩囨湡 绔欏唴娑堟伅
+     * @param memberId
+     * @param integral
+     * @param expireDateNum
+     */
+    @Override
     public void expireNotice(Integer memberId, BigDecimal integral,Integer expireDateNum){
         //鎮ㄦ湁1000绉垎30澶╁悗杩囨湡锛岃灏藉揩浣跨敤
         String noticeInfo = "鎮ㄦ湁${param}绉垎鍗冲皢杩囨湡锛岃灏藉揩浣跨敤";
@@ -340,7 +356,13 @@
     }
 
 
-
+    /**
+     * 璇勮娑堟伅 绔欏唴淇�
+     * @param memberId
+     * @param objId
+     * @param memberName
+     */
+    @Override
     public void commonNotice(Integer memberId, Integer objId,String memberName ){
         //鎮ㄦ湁1000绉垎30澶╁悗杩囨湡锛岃灏藉揩浣跨敤
         String noticeInfo = "${param}鍥炲浜嗘偍鐨勮瘎璁�";
@@ -351,10 +373,17 @@
                 memberId,
                 noticeInfo,
                 noticeInfo,
-                null
+                objId
         );
     }
 
+    /**
+     * 璁㈠崟鏀粯鎴愬姛 鍙戦�佹秷鎭�
+     * @param shopId
+     * @param objId
+     * @param receiveType
+     */
+    @Override
     public void orderPayNotice(Integer shopId, Integer objId,Integer receiveType){
         if(Constants.equalsInteger(receiveType,Constants.ZERO)){
             return;
@@ -373,6 +402,13 @@
     }
 
 
+    /**
+     * 璁㈠崟鍙栨秷 鍙戦�佺珯鍐呬俊
+     * @param shopId
+     * @param objId
+     * @param orderNo
+     */
+    @Override
     public void orderCancelNotice(Integer shopId, Integer objId,String orderNo){
         // 鎮ㄧ殑璁㈠崟{璁㈠崟鍙穧锛屽凡鐢卞鎴锋墜鍔ㄥ彇娑堬紝璇风煡鎮�
         String noticeInfo = " 鎮ㄧ殑璁㈠崟${param}锛屽凡鐢卞鎴锋墜鍔ㄥ彇娑堬紝璇风煡鎮�";
diff --git a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/WithdrawRecordServiceImpl.java b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/WithdrawRecordServiceImpl.java
index cfc54b2..3e0af81 100644
--- a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/WithdrawRecordServiceImpl.java
+++ b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/WithdrawRecordServiceImpl.java
@@ -52,6 +52,7 @@
     @Autowired
     private WithdrawRecordMapper withdrawRecordMapper;
 
+
     @Autowired
     private ShopMapper shopMapper;
 
@@ -101,7 +102,7 @@
      */
     @Override
     @Transactional
-    public void updateById(WithdrawRecord withdrawRecord) {
+    public void updateById(WithdrawRecord withdrawRecord, IntegralService integralService) {
         LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
         if(!Constants.equalsObject(withdrawRecord.getStatus(),Constants.ONE)
                 && !Constants.equalsObject(withdrawRecord.getStatus(),Constants.TWO)){
@@ -126,7 +127,20 @@
         model.setPayBank(withdrawRecord.getPayBank());
         withdrawRecordMapper.updateById(model);
         dealBatchMultiFiles(model,withdrawRecord.getPayFileList());
+
+        //瀹℃壒鏈�氳繃 閫�鍥炴彁鐜伴噾棰�
+        if (Constants.equalsObject(model.getStatus(), Constants.TWO)) {
+            DealIntegralRequest dealIntegralRequest = new DealIntegralRequest();
+            dealIntegralRequest.setIntegralObjType(Constants.IntegralObjType.WITHDRAW_APPLY_BACK);
+            dealIntegralRequest.setIntegralNum(model.getAmount());
+            dealIntegralRequest.setObjId(withdrawRecord.getId());
+            dealIntegralRequest.setOrderCode(withdrawRecord.getCode().toString());
+            dealIntegralRequest.setMemberId(model.getMemberId());
+            dealIntegralRequest.setDealType(Constants.ZERO);
+            integralService.dealShopAmount(dealIntegralRequest);
+        }
     }
+
     public void dealBatchMultiFiles(WithdrawRecord model, List<Multifile> fileList  ) {
         //娓呯┖鍘熸湁鐨�
         if(fileList!=null && fileList.size()>0){
@@ -153,7 +167,7 @@
             return;
         }
         for (WithdrawRecord withdrawRecord: withdrawRecords) {
-            this.updateById(withdrawRecord);
+//            this.updateById(withdrawRecord);
         }
     }
 
diff --git a/server/dmmall_web/src/main/java/com/doumee/api/web/NoticeApi.java b/server/dmmall_web/src/main/java/com/doumee/api/web/NoticeApi.java
index df5942a..c734fce 100644
--- a/server/dmmall_web/src/main/java/com/doumee/api/web/NoticeApi.java
+++ b/server/dmmall_web/src/main/java/com/doumee/api/web/NoticeApi.java
@@ -9,6 +9,8 @@
 import com.doumee.dao.business.model.Notice;
 import com.doumee.dao.web.dto.NoticeCardDTO;
 import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.web.bind.annotation.*;
@@ -16,7 +18,7 @@
 @Api(tags = "娑堟伅閫氱煡淇′笟鍔�")
 @Trace(exclude = true)
 @LoginRequired
-//@RestController
+@RestController
 @RequestMapping("/web/notice")
 @Slf4j
 public class NoticeApi extends ApiController{
@@ -27,10 +29,15 @@
      * @param pageWrap
      * @return
      */
-    @ApiOperation(value = "鏌ヨ鐢ㄦ埛閫氱煡", notes = "灏忕▼搴忕")
-    @GetMapping("/findNoticeCardDTOPage")
-    public ApiResponse<PageData<NoticeCardDTO>> findNoticeCardDTOPage(@RequestBody PageWrap<Notice> pageWrap){
 
+    @LoginRequired
+    @ApiOperation(value = "鏌ヨ鐢ㄦ埛閫氱煡", notes = "灏忕▼搴忕")
+    @PostMapping("/findNoticeCardDTOPage")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
+    })
+    public ApiResponse<PageData<NoticeCardDTO>> findNoticeCardDTOPage(@RequestBody PageWrap<Notice> pageWrap){
+        pageWrap.getModel().setMemberId(this.getMemberId());
         return ApiResponse.success(noticeService.findNoticeCardDTOPage(pageWrap));
     }
 
diff --git a/server/dmmall_web/src/main/java/com/doumee/api/web/mall/PaymentCallback.java b/server/dmmall_web/src/main/java/com/doumee/api/web/mall/PaymentCallback.java
index 3d69e28..8de04d0 100644
--- a/server/dmmall_web/src/main/java/com/doumee/api/web/mall/PaymentCallback.java
+++ b/server/dmmall_web/src/main/java/com/doumee/api/web/mall/PaymentCallback.java
@@ -118,6 +118,10 @@
                         goodsOrder.setExchangeCode(Constants.equalsInteger(goodsOrder.getReceiveType(),Constants.ZERO)?null:Constants.getRandomNumber());
                         goodsOrder.setPayMethod(Constants.ZERO);
                         goodsorderService.updateById(goodsOrder);
+                        if(Objects.nonNull(goodsOrder.getPickUpShopId())){
+                            //鍙戦�佺珯鍐呬俊 - 缁忛攢鍟�
+                            noticeService.orderPayNotice(goodsOrder.getPickUpShopId(),goodsOrder.getId(),goodsOrder.getReceiveType());
+                        }
                         Fund fund = new Fund();
                         fund.setOrderCode(goodsOrder.getPayOrderId());
                         fund.setCreator(goodsOrder.getMemberId());

--
Gitblit v1.9.3