From e6a19f83c5ef4110837c4dbe25e6e18671c47b53 Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期三, 21 一月 2026 17:18:08 +0800
Subject: [PATCH] 小程序 接口开发
---
server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java | 74 +++++++++++++++++++++++++++++++++++++
1 files changed, 74 insertions(+), 0 deletions(-)
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 c2cc064..0663bae 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
@@ -85,6 +85,12 @@
private ShopGoodsRelationMapper shopGoodsRelationMapper;
@Autowired
private MemberMapper memberMapper;
+ @Autowired
+ private CouponMapper couponMapper;
+ @Autowired
+ private MemberCouponJoinMapper memberCouponJoinMapper;
+ @Autowired
+ private InviteRecordMapper inviteRecordMapper;
@Autowired
private GoodsorderDetailMapper goodsorderDetailMapper;
@@ -1682,11 +1688,77 @@
//鏍规嵁璁㈠崟绫诲瀷杩涜绉垎璧犻��
//涓嬪崟纭鏀惰揣 锛岃禒閫佺粡閿�鍟嗙Н鍒�
this.orderAddShopIntegral(goodsorder);
+ //涓嬪崟瀹屾垚 鏍规嵁淇℃伅纭鏄惁闇�瑕佽禒閫侀個璇疯�呬紭鎯犲埜
+ this.orderDoneRewardInviteCoupon(goodsorder);
//娑堣垂鑰呯‘璁ゆ敹璐�
this.orderAddMemberIntegral(goodsorder);
//缁忛攢鍟� 缁撶畻閲戦
this.orderAddShopCash(goodsorder);
}
+
+
+ /**
+ * 璁㈠崟纭鏀惰揣锛岃禒閫侀個璇疯�呬紭鎯犲埜
+ * @param
+ */
+ public void orderDoneRewardInviteCoupon(Goodsorder goodsorder){
+ PlatformConfigDTO platformConfigDTO = systemDictDataService.getPlatformConfigDTO();
+ if (platformConfigDTO.getShareCouponRewardStatus().equals(Constants.ONE)) {
+ return;
+ }
+ Member member = memberMapper.selectById(goodsorder.getMemberId());
+ if(Objects.isNull(member)||member.getIsdeleted().equals(Constants.ONE)){
+ return;
+ }
+ InviteRecord inviteRecord = inviteRecordMapper.selectOne(new QueryWrapper<InviteRecord>().lambda()
+ .eq(InviteRecord::getMemberId,member.getId())
+ .eq(InviteRecord::getIsdeleted,Constants.ZERO)
+ .eq(InviteRecord::getFirstOrderStatus,Constants.ZERO)
+ .last("limit 1")
+ );
+ if(Objects.isNull(inviteRecord)){
+ return;
+ }
+ Member inviteMember = memberMapper.selectById(inviteRecord.getInviteId());
+ if(Objects.isNull(inviteMember)||inviteMember.getIsdeleted().equals(Constants.ONE)){
+ return;
+ }
+
+ List<JSONObject> shareCouponRewardList = platformConfigDTO.getShareCouponRewardList();
+ //[{"num":"2","couponId":6},{"num":"3","couponId":5}]
+ String couponIds = "";
+ String couponNames = "";
+ if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(shareCouponRewardList)){
+ List<MemberCoupon> memberCouponList = new ArrayList<>();
+ for (JSONObject jsonObject:shareCouponRewardList) {
+ Integer couponId = jsonObject.getInteger("couponId");
+ Integer num = jsonObject.getInteger("num");
+ Coupon coupon = couponMapper.selectById(couponId);
+ if(Objects.isNull(coupon)||Constants.equalsInteger(coupon.getIsdeleted(),Constants.ONE)&&num>Constants.ZERO){
+ continue;
+ }
+ MemberCoupon memberCoupon = MemberCoupon.couponToBean(coupon,inviteMember,new Date(),Constants.ONE,null);
+ for (int i = 0; i < num; i++) {
+ memberCouponList.add(memberCoupon);
+ }
+ couponIds = couponIds + (StringUtils.isBlank(couponIds)? ",":"" )+ couponId ;
+ couponNames = couponNames + (StringUtils.isBlank(couponNames)? ",":"" )+ coupon.getName() ;
+ }
+ if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(memberCouponList)){
+ memberCouponJoinMapper.insert(memberCouponList);
+ }
+ }
+ inviteRecordMapper.update(new UpdateWrapper<InviteRecord>().lambda()
+ .set(InviteRecord::getFirstOrderStatus,Constants.ONE)
+ .set(InviteRecord::getFirstFinishDate,new Date())
+ .set(InviteRecord::getCouponIds,couponIds)
+ .set(InviteRecord::getCouponNames,couponNames)
+ .eq(InviteRecord::getId,inviteRecord.getId())
+ );
+ }
+
+
+
/**
* 璁㈠崟鏍搁攢
@@ -1721,6 +1793,8 @@
if(Constants.equalsInteger(goodsorder.getPayMethod(),Constants.ZERO)){
//璧犻�佹秷璐硅�呯Н鍒�
this.orderAddMemberIntegral(goodsorder);
+ //涓嬪崟瀹屾垚 鏍规嵁淇℃伅纭鏄惁闇�瑕佽禒閫侀個璇疯�呬紭鎯犲埜
+ this.orderDoneRewardInviteCoupon(goodsorder);
//缁忛攢鍟� 娣诲姞璧犻�佺Н鍒�
this.orderAddShopIntegral(goodsorder);
//缁忛攢鍟� 缁撶畻閲戦
--
Gitblit v1.9.3