From e8dd7cfa6bbfd8be4a52f24e03c74f853cc6ac4f Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期一, 26 一月 2026 18:34:25 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
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