From 7a38456f48d541d737fb46d19f49484b67a806d0 Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期一, 11 五月 2026 13:54:24 +0800
Subject: [PATCH] 小程序 接口开发
---
server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java | 68 +++++++++++++++++++++++++++++----
1 files changed, 59 insertions(+), 9 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 3680761..17a94a0 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
@@ -1586,7 +1586,8 @@
integralBack = payAmount.divide(platformConfigDTO.getReturnShopIntegral(),2,BigDecimal.ROUND_DOWN);
}
}
- return integralBack;
+ //绉垎鑾峰彇鍚戜笅鍙栨暣
+ return integralBack.setScale(0, BigDecimal.ROUND_DOWN);
}
@@ -1642,8 +1643,9 @@
}
//鍓╀綑绉垎鍊�
orderPayConfirmResponse.setSurplusIntegral(totalIntegral);
- //瀹為檯鎶垫墸浣跨敤绉垎
- orderPayConfirmResponse.setDeductIntegral(totalIntegral.compareTo(maxDeductionIntegral)<=Constants.ZERO?totalIntegral:maxDeductionIntegral);
+ //瀹為檯鎶垫墸浣跨敤绉垎锛堝悜涓婂彇鏁达級
+ BigDecimal deductIntegralValue = totalIntegral.compareTo(maxDeductionIntegral)<=Constants.ZERO?totalIntegral:maxDeductionIntegral;
+ orderPayConfirmResponse.setDeductIntegral(deductIntegralValue.setScale(0, BigDecimal.ROUND_UP));
return realDeductionCash;
}
@@ -2141,9 +2143,6 @@
}
//鍔犲叆redis缂撳瓨锛屽埛鏂颁粖澶╁敭鍚庣紪鍙�0寮�濮�
RedisUtil.addObject(redisTemplate,Constants.RedisKeys.WITHDRAW_KEY,countWithdraw);
-
-
-
}
@@ -2378,9 +2377,60 @@
this.cancel(goodsorder,null,"璁㈠崟鏈敮浠樿秴鏃惰嚜鍔ㄥ彇娑�");
}
}
-
-
-
}
+
+
+ /**
+ * 鑷姩瀹屾垚 7 澶╂湭纭鏀惰揣鐨勭墿娴佸彂璐ц鍗�
+ */
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void autoCompleteOrder(){
+ //鏌ヨ鍙戣揣鍚� 7 澶╂湭纭鏀惰揣鐨勮鍗曟暟鎹紙浠呭鐞嗗揩閫掗厤閫佽鍗曪級
+ List<Goodsorder> goodsOrderList = goodsorderMapper.selectList(
+ new QueryWrapper<Goodsorder>()
+ .eq("STATUS", Constants.OrderStatus.WAIT_RECEIVE.getKey())
+ .eq("RECEIVE_TYPE", Constants.ZERO) // 浠呭鐞嗗揩閫掗厤閫佽鍗�
+ .isNotNull("KD_CODE") // 鏈夌墿娴佸崟鍙�
+ .ne("KD_CODE", "") // 鐗╂祦鍗曞彿涓嶄负绌�
+ .apply(" KD_DATE IS NOT NULL ") // 鏈夊彂璐ф椂闂�
+ .apply(" NOW() >= DATE_SUB(KD_DATE, INTERVAL -7 DAY) ") // 鍙戣揣鍚� 7 澶�
+ );
+
+ if (!goodsOrderList.isEmpty()) {
+ for (Goodsorder order : goodsOrderList) {
+ try {
+ Goodsorder updateOrder = new Goodsorder();
+ updateOrder.setId(order.getId());
+ updateOrder.setStatus(Constants.OrderStatus.DONE.getKey());
+ updateOrder.setDoneDate(new Date());
+ updateOrder.setDoneInfo("鍙戣揣 7 澶╁悗绯荤粺鑷姩纭鏀惰揣");
+ goodsorderMapper.updateById(updateOrder);
+
+ //瀛樺湪鐜伴噾鏀粯 璧犻�� 绉垎
+ if(Constants.equalsInteger(updateOrder.getPayMethod(),Constants.ZERO)){
+ //璧犻�佹秷璐硅�呯Н鍒�
+ this.orderAddMemberIntegral(order);
+ //涓嬪崟瀹屾垚 鏍规嵁淇℃伅纭鏄惁闇�瑕佽禒閫侀個璇疯�呬紭鎯犲埜
+ this.orderDoneRewardInviteCoupon(order);
+ //缁忛攢鍟� 娣诲姞璧犻�佺Н鍒�
+ this.orderAddShopIntegral(order);
+ //缁忛攢鍟� 缁撶畻閲戦
+ this.orderAddShopCash(order);
+ }
+
+
+ System.out.println("璁㈠崟鑷姩瀹屾垚锛氳鍗� ID=" + order.getId() + ", 璁㈠崟缂栧彿=" + order.getCode());
+ } catch (Exception e) {
+ System.out.println("璁㈠崟鑷姩瀹屾垚澶辫触锛氳鍗� ID=" + order.getId() + ", 閿欒锛�" + e.getMessage());
+ }
+ }
+ }
+ }
+
+
+
+
+
}
--
Gitblit v1.9.3