From b9371ee62d1f24c667b1d5b1df504ebb59a2289d Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期一, 19 一月 2026 18:06:30 +0800
Subject: [PATCH] 小程序 接口开发
---
server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java | 35 ++++++++++++++++++++---------------
1 files changed, 20 insertions(+), 15 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 f098231..0753bde 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
@@ -1,5 +1,6 @@
package com.doumee.service.business.impl;
+import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.doumee.biz.system.SystemDictDataBiz;
@@ -24,6 +25,7 @@
import com.doumee.dao.web.request.*;
import com.doumee.dao.web.request.goods.*;
import com.doumee.dao.web.response.HomeInfoResponse;
+import com.doumee.dao.web.response.MailConfigResponse;
import com.doumee.dao.web.response.MyPageResponse;
import com.doumee.dao.web.response.goods.*;
import com.doumee.service.business.AreasService;
@@ -814,6 +816,8 @@
.eq(MemberCoupon::getId,orderPayConfirmResponse.getMemberCoupon().getId())
);
}
+ goodsorder.setReturnCustomerIntegral(getBackIntegral(goodsorder.getPrice(),Constants.ONE));
+ goodsorder.setReturnMemberIntegral(getBackIntegral(goodsorder.getPrice(),Constants.ZERO));
goodsorderMapper.insert(goodsorder);
List<OrderGoodsCalculateResponse> goodsCalculateList = orderPayConfirmResponse.getGoodsCalculateList();
if(CollectionUtils.isEmpty(goodsCalculateList)){
@@ -1389,6 +1393,7 @@
//閭垂閲戦
if(Objects.nonNull(request.getReceiveType())){
if(Constants.equalsInteger(request.getReceiveType(),Constants.ZERO)){
+ MailConfigResponse mailConfigResponse = systemDictDataBiz.getMailConfig();
if(Objects.nonNull(request.getAddressId())){
Addr addr = addrMapper.selectById(request.getAddressId());
if(Objects.isNull(addr)){
@@ -1404,28 +1409,28 @@
Labels labels = labelsMapper.selectById(areas.getYunFeeId());
if(Objects.nonNull(labels)&&StringUtils.isNotBlank(labels.getParam())){
//{weight0:10,fee0:10,weight1:10,fee1:10},{棣栭噸:10,棣栭噸杩愯垂锛�10,缁噸锛�10,缁噸璐癸細10}
-
+ mailConfigResponse = JSONObject.parseObject(labels.getParam(),MailConfigResponse.class);
}
-
}
-
-
-
}
-
-
-
- //TODO 鏍规嵁鏀惰揣鍦板潃 鏌ヨ杩愯垂閰嶇疆
-
-
-
+ //鏍规嵁鏀惰揣鍦板潃 鏌ヨ杩愯垂閰嶇疆
//璁$畻鍟嗗搧淇℃伅鎬婚噸閲�
BigDecimal totalWeight = goodsCalculateList.stream().map(i->
i.getWeight().multiply(new BigDecimal(i.getGoodsNum().toString()))
).reduce(BigDecimal.ZERO,BigDecimal::add);
- //TODO 鏆傛椂鏃犺繍璐归噾棰�
- mailAmount = BigDecimal.ZERO;
-
+ if(totalWeight.compareTo(mailConfigResponse.getWeight0())>=Constants.ZERO){
+ mailAmount = mailConfigResponse.getFee0();
+ }else{
+ //瓒呴噸閲嶉噺
+ BigDecimal overWeight = totalWeight.subtract(mailConfigResponse.getWeight0());
+ if (overWeight.compareTo(mailConfigResponse.getWeight1()) >= Constants.ZERO) {
+ mailAmount = mailConfigResponse.getFee0().add(
+ mailConfigResponse.getFee1()
+ .multiply(overWeight.divide(mailConfigResponse.getWeight1(),2,RoundingMode.HALF_UP)));
+ }else{
+ mailAmount = mailConfigResponse.getFee0().add(mailConfigResponse.getFee1());
+ }
+ }
amount = amount.add(mailAmount);
}
}
--
Gitblit v1.9.3