From bf7b975c7ebe94ac801d72671cefc4d6ec01d56e Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期一, 23 三月 2026 09:39:07 +0800
Subject: [PATCH] 小程序 接口开发
---
server/dmmall_service/src/main/java/com/doumee/service/business/impl/AftersaleServiceImpl.java | 113 +++++++++++++++++++++++++++++++++-----------------------
1 files changed, 66 insertions(+), 47 deletions(-)
diff --git a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/AftersaleServiceImpl.java b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/AftersaleServiceImpl.java
index 38747e8..62db222 100644
--- a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/AftersaleServiceImpl.java
+++ b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/AftersaleServiceImpl.java
@@ -1,5 +1,6 @@
package com.doumee.service.business.impl;
+import com.alibaba.fastjson.JSONObject;
import com.doumee.biz.system.SystemDictDataBiz;
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.exception.BusinessException;
@@ -58,6 +59,8 @@
private AftersaleMapper aftersaleMapper;
@Autowired
private GoodsorderMapper goodsorderMapper;
+ @Autowired
+ private NoticeMapper noticeMapper;
@Autowired
private ShopMapper shopMapper;
@Autowired
@@ -1047,78 +1050,81 @@
aftersale.setReturnShopSettlement(BigDecimal.ZERO);
aftersale.setCode(getNextInCode());
- //璁㈠崟閫�鍥炶繑鍥炵粰缁忛攢鍟嗙殑绉垎
- if(Objects.nonNull(goodsorder.getDistributionShopId())&&goodsorder.getReturnCustomerIntegral().compareTo(BigDecimal.ZERO)>Constants.ZERO){
- Shop shop = shopMapper.selectById(goodsorder.getDistributionShopId());
- //缁忛攢鍟嗗瓨鍦ㄥ墿浣欑Н鍒�
- if(Objects.nonNull(shop)&&shop.getIntegral().compareTo(BigDecimal.ZERO)>Constants.ZERO){
- //寮�鍚簡鎵i櫎杩旇繕缁忛攢鍟嗙Н鍒�
- if(Constants.equalsInteger(afterSaleApplyRequest.getReturnShopIntegralStatus(),Constants.ONE)){
- //璁板綍鎵i櫎缁忛攢鍟嗙Н鍒嗗��
- aftersale.setReturnShopIntegral(shop.getIntegral().compareTo(goodsorder.getReturnCustomerIntegral())>Constants.ZERO
- ?goodsorder.getReturnCustomerIntegral():shop.getIntegral());
- DealIntegralRequest dealIntegralRequest = new DealIntegralRequest();
- dealIntegralRequest.setIntegralNum(aftersale.getReturnShopIntegral());
- dealIntegralRequest.setDealType(Constants.ONE);
- dealIntegralRequest.setMemberId(goodsorder.getDistributionShopId());
- dealIntegralRequest.setObjId(goodsorder.getId());
- dealIntegralRequest.setOrderCode(goodsorder.getCode().toString());
- dealIntegralRequest.setIntegralObjType(Constants.IntegralObjType.SHOP_ORDER_REFUND_INTEGRAL);
- integralService.dealShopIntegral(dealIntegralRequest,null);
- }
+ //璁㈠崟閫�鍥� 鎵i櫎宸茬粨绠� 璁㈠崟璧犻�佺Н鍒� - 缁忛攢鍟�
+ if(Constants.equalsInteger(afterSaleApplyRequest.getReturnShopIntegralStatus(),Constants.ONE)){
+ //璁㈠崟閫�鍥炶繑鍥炵粰缁忛攢鍟嗙殑绉垎
+ if(Objects.nonNull(goodsorder.getDistributionShopId())){
+ Shop shop = shopMapper.selectById(goodsorder.getDistributionShopId());
+ //缁忛攢鍟嗗瓨鍦ㄥ墿浣欑Н鍒�
+ if(Objects.nonNull(shop)&&shop.getIntegral().compareTo(BigDecimal.ZERO)>Constants.ZERO){
+ //璁板綍鎵i櫎缁忛攢鍟嗙Н鍒嗗��
+ aftersale.setReturnShopIntegral(shop.getIntegral().compareTo(goodsorder.getReturnCustomerIntegral())>Constants.ZERO
+ ?goodsorder.getReturnCustomerIntegral():shop.getIntegral());
+ DealIntegralRequest dealIntegralRequest = new DealIntegralRequest();
+ dealIntegralRequest.setIntegralNum(aftersale.getReturnShopIntegral());
+ dealIntegralRequest.setDealType(Constants.ONE);
+ dealIntegralRequest.setMemberId(goodsorder.getDistributionShopId());
+ dealIntegralRequest.setObjId(goodsorder.getId());
+ dealIntegralRequest.setOrderCode(goodsorder.getCode().toString());
+ dealIntegralRequest.setIntegralObjType(Constants.IntegralObjType.SHOP_ORDER_REFUND_INTEGRAL);
+ integralService.dealShopIntegral(dealIntegralRequest,null);
+ }
}
}
- //璁㈠崟閫�鍥� 缁忛攢鍟嗙粨绠椾綑棰�
- if(Objects.nonNull(goodsorder.getDistributionShopId())&&goodsorder.getShopSettlement().compareTo(BigDecimal.ZERO)>Constants.ZERO){
- Shop shop = shopMapper.selectById(goodsorder.getDistributionShopId());
- //缁忛攢鍟嗗瓨鍦ㄥ墿浣欑Н鍒�
- if(Objects.nonNull(shop)&&shop.getAmount().compareTo(BigDecimal.ZERO)>Constants.ZERO){
- //寮�鍚簡鎵i櫎杩旇繕缁忛攢鍟嗙Н鍒�
- if(Constants.equalsInteger(afterSaleApplyRequest.getReturnShopSettlementStatus(),Constants.ONE)){
- //璁板綍鎵i櫎缁忛攢鍟嗙Н鍒嗗��
- aftersale.setReturnShopSettlement(shop.getAmount().compareTo(goodsorder.getShopSettlement())>Constants.ZERO
- ?goodsorder.getShopSettlement():shop.getAmount());
- DealIntegralRequest dealIntegralRequest = new DealIntegralRequest();
- dealIntegralRequest.setIntegralNum(aftersale.getReturnShopIntegral());
- dealIntegralRequest.setDealType(Constants.ONE);
- dealIntegralRequest.setMemberId(goodsorder.getDistributionShopId());
- dealIntegralRequest.setObjId(goodsorder.getId());
- dealIntegralRequest.setOrderCode(goodsorder.getCode().toString());
- dealIntegralRequest.setIntegralObjType(Constants.IntegralObjType.SHOP_ORDER_REFUND_CASH);
- integralService.dealShopAmount(dealIntegralRequest);
-
- }
+ //璁㈠崟閫�鍥� 鎵i櫎宸茬粨绠� 缁撶畻浣欓 - 缁忛攢鍟�
+ if(Constants.equalsInteger(afterSaleApplyRequest.getReturnShopSettlementStatus(),Constants.ONE)){
+ if(Objects.nonNull(goodsorder.getDistributionShopId())){
+ Shop shop = shopMapper.selectById(goodsorder.getDistributionShopId());
+ //鏌ヨ璁㈠崟鏄庣粏缁忛攢鍟嗙粨绠楅噾棰�
+ List<GoodsorderDetail> list = goodsorderDetailMapper.selectList(new QueryWrapper<GoodsorderDetail>().lambda()
+ .eq(GoodsorderDetail::getIsdeleted,Constants.ZERO)
+ .eq(GoodsorderDetail::getOrderId,goodsorder.getId())
+ .isNotNull(GoodsorderDetail::getShopSettlement)
+ );
+ //缁忛攢鍟嗗瓨鍦ㄥ墿浣欎綑棰�
+ if(Objects.nonNull(shop)&&shop.getAmount().compareTo(BigDecimal.ZERO)>Constants.ZERO&&list.size()>Constants.ZERO){
+ BigDecimal total = list.stream().map(i->i.getShopSettlement()).reduce(BigDecimal.ZERO, BigDecimal::add);
+ //璁板綍鎵i櫎缁忛攢鍟嗙Н鍒嗗��
+ aftersale.setReturnShopSettlement(shop.getAmount().compareTo(total)>Constants.ZERO
+ ?total:shop.getAmount());
+ DealIntegralRequest dealIntegralRequest = new DealIntegralRequest();
+ dealIntegralRequest.setIntegralNum(aftersale.getReturnShopSettlement());
+ dealIntegralRequest.setDealType(Constants.ONE);
+ dealIntegralRequest.setMemberId(goodsorder.getDistributionShopId());
+ dealIntegralRequest.setObjId(goodsorder.getId());
+ dealIntegralRequest.setOrderCode(goodsorder.getCode().toString());
+ dealIntegralRequest.setIntegralObjType(Constants.IntegralObjType.SHOP_ORDER_REFUND_CASH);
+ dealIntegralRequest.setParam1(goodsorder.getCode().toString());
+ integralService.dealShopAmount(dealIntegralRequest);
+ }
}
}
- //璁㈠崟閫�鍥� 杩旇繕缁欏鎴风殑绉垎
- if(Objects.nonNull(goodsorder.getDistributionShopId())&&goodsorder.getReturnMemberIntegral().compareTo(BigDecimal.ZERO)>Constants.ZERO){
+ //鎵i櫎宸茶繑杩樼敤鎴风Н鍒� - 鐢ㄦ埛
+ if(Constants.equalsInteger(afterSaleApplyRequest.getReturnIntegralStatus(),Constants.ONE)){
Member member = memberMapper.selectById(goodsorder.getMemberId());
//瀹㈡埛瀛樺湪鍓╀綑绉垎
if(Objects.nonNull(member)&&member.getIntegral().compareTo(BigDecimal.ZERO)>Constants.ZERO){
- //寮�鍚簡鎵i櫎杩旇繕瀹㈡埛绉垎
- if(Constants.equalsInteger(afterSaleApplyRequest.getReturnIntegralStatus(),Constants.ONE)){
//璁板綍鎵i櫎缁忛攢鍟嗙Н鍒嗗��
aftersale.setReturnIntegral(member.getIntegral().compareTo(goodsorder.getReturnCustomerIntegral())>Constants.ZERO
?goodsorder.getReturnCustomerIntegral():member.getIntegral());
DealIntegralRequest dealIntegralRequest = new DealIntegralRequest();
- dealIntegralRequest.setIntegralNum(aftersale.getReturnShopIntegral());
+ dealIntegralRequest.setIntegralNum(aftersale.getReturnIntegral());
dealIntegralRequest.setDealType(Constants.ONE);
dealIntegralRequest.setMemberId(member.getId());
dealIntegralRequest.setObjId(goodsorder.getId());
dealIntegralRequest.setOrderCode(goodsorder.getCode().toString());
dealIntegralRequest.setIntegralObjType(Constants.IntegralObjType.MEMBER_ORDER_REFUND_RETURN);
integralService.dealIntegral(dealIntegralRequest,null);
- }
}
}
//璁㈠崟閫�娆� 杩旇繕瀹㈡埛浣跨敤鐨勭Н鍒�
- if(Constants.equalsInteger(afterSaleApplyRequest.getReturnIntegralStatus(),Constants.ONE)
+ if(Constants.equalsInteger(afterSaleApplyRequest.getReturnUseIntegralStatus(),Constants.ONE)
&& goodsorder.getUseIntegral().compareTo(BigDecimal.ZERO)>Constants.ZERO){
DealIntegralRequest dealIntegralRequest = new DealIntegralRequest();
- dealIntegralRequest.setIntegralNum(aftersale.getReturnShopIntegral());
+ dealIntegralRequest.setIntegralNum(goodsorder.getUseIntegral());
dealIntegralRequest.setDealType(Constants.ZERO);
dealIntegralRequest.setMemberId(goodsorder.getMemberId());
dealIntegralRequest.setObjId(goodsorder.getId());
@@ -1170,6 +1176,7 @@
.set(Goodsorder::getRefundMoney, afterSaleApplyRequest.getMoney())
.set(Goodsorder::getRefundUserId, loginUserInfo.getId())
.set(Goodsorder::getRefundInfo, afterSaleApplyRequest.getRemark())
+ .set(Goodsorder::getRefundConfigInfo, JSONObject.toJSONString(afterSaleApplyRequest))
.eq(Goodsorder::getId, goodsorder.getId())
);
@@ -1177,6 +1184,18 @@
if(Constants.equalsInteger(goodsorder.getReceiveType(),Constants.ONE)&&StringUtils.isNotBlank(goodsorder.getExchangeCode())){
RedisUtil.deleteObject(redisTemplate,Constants.RedisKeys.EXCHANGE_KEY+goodsorder.getExchangeCode());
}
+
+
+ //鍙戦�佽鍗曢��娆剧珯鍐呬俊
+ Notice notice = Notice.getNotice(
+ Constants.NoticeType.NOTICE_ORDER_REFUND,
+ goodsorder.getMemberId(),
+ goodsorder.getId()
+ );
+ notice.setContent(notice.getContent().replace("{param}",goodsorder.getCode().toString()));
+ noticeMapper.insert(notice);
+
+
}
--
Gitblit v1.9.3