From 11e35e0257e48667292b4f563ddf6ce02a3a22bb Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期一, 02 三月 2026 13:49:28 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java | 49 +++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 45 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 42dc97c..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){
@@ -1777,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)){
//璧犻�佹秷璐硅�呯Н鍒�
@@ -1911,8 +1919,6 @@
if(!goodsorder.getStatus().equals(Constants.OrderStatus.DONE.getKey())){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鎿嶄綔澶辫触锛氳鍗曟湭瀹屾垚锛屾棤娉曢��娆撅紒");
}
-
-
}
@@ -2222,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