From b1dbef13075c3a6fea62e41db4cdcd7334e1e92b Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期一, 02 三月 2026 13:42:55 +0800
Subject: [PATCH] 小程序 接口开发
---
server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 52 insertions(+), 4 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 0e23901..057ce21 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
@@ -1205,6 +1205,10 @@
goodsorder.setCancelInfo(cancelInfo);
goodsorder.setCancelUser(optUserId);
goodsorderMapper.updateById(goodsorder);
+ if(Constants.equalsInteger(goodsorder.getReceiveType(),Constants.ONE)){
+ //閲婃斁鏍搁攢鐮�
+ this.releaseExchangeCode(goodsorder.getExchangeCode());
+ }
String goodsName = "";
List<GoodsorderDetail> goodsorderDetailList = goodsorderDetailMapper.selectList(new QueryWrapper<GoodsorderDetail>().eq("ORDER_ID",goodsorder.getId()));
if(!Objects.isNull(goodsorderDetailList)&&goodsorderDetailList.size()>Constants.ZERO){
@@ -1282,6 +1286,10 @@
goodsorder.setCancelInfo(StringUtils.isBlank(cancelInfo)?"鐢ㄦ埛涓诲姩鍙栨秷":cancelInfo);
goodsorder.setCancelUser(optUserId);
goodsorderMapper.updateById(goodsorder);
+ if(Constants.equalsInteger(goodsorder.getReceiveType(),Constants.ONE)){
+ //閲婃斁鏍搁攢鐮�
+ this.releaseExchangeCode(goodsorder.getExchangeCode());
+ }
String goodsName = "";
List<GoodsorderDetail> goodsorderDetailList = goodsorderDetailMapper.selectList(new QueryWrapper<GoodsorderDetail>().eq("ORDER_ID",goodsorder.getId()));
if(!Objects.isNull(goodsorderDetailList)&&goodsorderDetailList.size()>Constants.ZERO){
@@ -1311,8 +1319,6 @@
memberCouponMapper.updateById(memberCoupon);
}
}
-
-
}
public BigDecimal getDeductAmount(List<PayDetailRequest> requestList){
@@ -1701,6 +1707,9 @@
List<MemberCoupon> memberCouponList = new ArrayList<>();
List<CouponNoticeRequest> requestList = new ArrayList<>();
for (JSONObject jsonObject:shareCouponRewardList) {
+ if(!jsonObject.containsKey("couponId")||!jsonObject.containsKey("num")){
+ continue;
+ }
Integer couponId = jsonObject.getInteger("couponId");
Integer num = jsonObject.getInteger("num");
Coupon coupon = couponMapper.selectById(couponId);
@@ -1709,6 +1718,10 @@
}
MemberCoupon memberCoupon = MemberCoupon.couponToBean(coupon,inviteMember,new Date(),Constants.ONE,null);
for (int i = 0; i < num; i++) {
+ //婊″噺鍗蜂笉浼氱敓鎴恗axPrice 闇�瑕佹牴鎹紭鎯犲埜鍑忓皯閲戦璁剧疆
+ if(Constants.equalsInteger(coupon.getCouponType(),Constants.ZERO)){
+ memberCoupon.setMaxPrice(coupon.getPrice());
+ }
memberCouponList.add(memberCoupon);
}
couponIds = couponIds + (StringUtils.isBlank(couponIds)? ",":"" )+ couponId ;
@@ -1770,6 +1783,8 @@
goodsorder.setStatus(Constants.OrderStatus.DONE.getKey());
goodsorder.setDoneDate(new Date());
goodsorderMapper.updateById(goodsorder);
+ //閲婃斁鏍搁攢鐮�
+ this.releaseExchangeCode(goodsorder.getExchangeCode());
//瀛樺湪鐜伴噾鏀粯 璧犻�� 绉垎
if(Constants.equalsInteger(goodsorder.getPayMethod(),Constants.ZERO)){
//璧犻�佹秷璐硅�呯Н鍒�
@@ -1904,8 +1919,6 @@
if(!goodsorder.getStatus().equals(Constants.OrderStatus.DONE.getKey())){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鎿嶄綔澶辫触锛氳鍗曟湭瀹屾垚锛屾棤娉曢��娆撅紒");
}
-
-
}
@@ -2215,4 +2228,39 @@
+ @Override
+ public String createExchangeCode(){
+ List<Goodsorder> goodsorderList = goodsorderMapper.selectList(new QueryWrapper<Goodsorder>().lambda()
+ .eq(Goodsorder::getIsdeleted,Constants.ZERO)
+ .eq(Goodsorder::getReceiveType,Constants.ONE)
+ .in(Goodsorder::getStatus,Constants.OrderStatus.WAIT_RECEIVE.getKey(),
+ Constants.OrderStatus.WAIT_PAY.getKey(),
+ Constants.OrderStatus.PAY_DONE.getKey())
+ );
+ String exchangeCode = UniqueVerificationCodeGenerator.generateNumericCode();
+ if(CollectionUtils.isNotEmpty(goodsorderList)){
+ Boolean flag = true;
+ while (flag){
+ String finalExchangeCode = exchangeCode;
+ flag = goodsorderList.stream().filter(i->i.getExchangeCode().equals(finalExchangeCode)).count()>0L?true:false;
+ if(flag){
+ exchangeCode = UniqueVerificationCodeGenerator.generateNumericCode();
+ }
+ }
+ }
+ RedisUtil.addObject(redisTemplate,Constants.RedisKeys.EXCHANGE_KEY+exchangeCode,exchangeCode);
+ return exchangeCode;
+ }
+
+
+ /**
+ * 閲婃斁鏍搁攢鐮�
+ * @param code
+ */
+ public void releaseExchangeCode(String code){
+ if(StringUtils.isNotBlank(code)){
+ RedisUtil.deleteObject(redisTemplate,Constants.RedisKeys.EXCHANGE_KEY+code);
+ }
+ }
+
}
--
Gitblit v1.9.3