From 537377e621a0f33767c38d60fa2f27a1fad9a005 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期三, 11 十月 2023 18:14:25 +0800
Subject: [PATCH] Merge branch 'dev' of http://139.186.142.91:10010/r/productDev/parkBike into dev
---
server/platform/src/main/java/com/doumee/api/business/GoodsorderController.java | 14 +++++-
server/services/src/main/java/com/doumee/dao/business/web/request/GoodsorderCanBanlanceDTO.java | 31 +++++++++++++++
server/services/src/main/java/com/doumee/dao/business/web/request/GoodsorderBackDTO.java | 3 +
server/services/src/main/java/com/doumee/service/business/GoodsorderService.java | 9 ++++
server/services/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java | 35 ++++++++++++++---
5 files changed, 82 insertions(+), 10 deletions(-)
diff --git a/server/platform/src/main/java/com/doumee/api/business/GoodsorderController.java b/server/platform/src/main/java/com/doumee/api/business/GoodsorderController.java
index 238304a..77aa567 100644
--- a/server/platform/src/main/java/com/doumee/api/business/GoodsorderController.java
+++ b/server/platform/src/main/java/com/doumee/api/business/GoodsorderController.java
@@ -12,6 +12,7 @@
import com.doumee.dao.business.vo.GoodsorderExportVO;
import com.doumee.dao.business.vo.GoodsorderTotalDataVO;
import com.doumee.dao.business.web.request.GoodsorderBackDTO;
+import com.doumee.dao.business.web.request.GoodsorderCanBanlanceDTO;
import com.doumee.dao.business.web.response.GoodsorderDetailDTO;
import com.doumee.service.business.GoodsorderService;
import com.doumee.service.business.GoodsorderService;
@@ -122,7 +123,7 @@
* @param id
* @return
*/
- @ApiOperation("鏍规嵁ID鏌ヨ")
+ @ApiOperation("寮哄埗缁撶畻璁㈠崟")
@PostMapping("/closerGoodsorder")
@RequiresPermissions("business:goodsorder:query")
public ApiResponse closerGoodsorder(@RequestParam String id){
@@ -131,11 +132,18 @@
}
- @ApiOperation("鏍规嵁ID鏌ヨ")
+ @ApiOperation("閫�娆�")
@PostMapping("/backGoodsorder")
@RequiresPermissions("business:goodsorder:query")
public ApiResponse backGoodsorder(@RequestBody GoodsorderBackDTO goodsorderBackDTO){
- goodsorderService.backGoodsorder(goodsorderBackDTO.getOrderId(),goodsorderBackDTO.getMoney());
+ goodsorderService.backGoodsorder(goodsorderBackDTO.getOrderId(),goodsorderBackDTO.getMoney(),goodsorderBackDTO.getReason());
return ApiResponse.success(null);
}
+
+ @ApiOperation("鑾峰彇鍙��娆句俊鎭�")
+ @PostMapping("/getGoodsorderCanBanlanceDTO")
+ @RequiresPermissions("business:goodsorder:query")
+ public ApiResponse<GoodsorderCanBanlanceDTO> getGoodsorderCanBanlanceDTO(@RequestParam String orderId){
+ return ApiResponse.success(goodsorderService.getGoodsorderCanBanlanceDTO(orderId));
+ }
}
diff --git a/server/services/src/main/java/com/doumee/dao/business/web/request/GoodsorderBackDTO.java b/server/services/src/main/java/com/doumee/dao/business/web/request/GoodsorderBackDTO.java
index 4f2da98..18a6350 100644
--- a/server/services/src/main/java/com/doumee/dao/business/web/request/GoodsorderBackDTO.java
+++ b/server/services/src/main/java/com/doumee/dao/business/web/request/GoodsorderBackDTO.java
@@ -18,4 +18,7 @@
@ApiModelProperty(value = "閫�娆鹃噾棰�")
private BigDecimal money;
+
+ @ApiModelProperty(value = "閫�娆鹃噾棰�")
+ private String reason;
}
diff --git a/server/services/src/main/java/com/doumee/dao/business/web/request/GoodsorderCanBanlanceDTO.java b/server/services/src/main/java/com/doumee/dao/business/web/request/GoodsorderCanBanlanceDTO.java
new file mode 100644
index 0000000..0a2db3c
--- /dev/null
+++ b/server/services/src/main/java/com/doumee/dao/business/web/request/GoodsorderCanBanlanceDTO.java
@@ -0,0 +1,31 @@
+package com.doumee.dao.business.web.request;
+
+import com.doumee.core.annotation.excel.ExcelColumn;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.apache.poi.ss.usermodel.HorizontalAlignment;
+
+import java.math.BigDecimal;
+
+/**
+ * @author T14
+ */
+@Data
+@ApiModel("璁㈠崟閫�娆句俊鎭�")
+public class GoodsorderCanBanlanceDTO {
+
+
+ @ApiModelProperty(value = "鍏呭�兼娂閲戦噾棰�")
+ private BigDecimal goodsorderMoney;
+
+ @ApiModelProperty(value = "缁撶畻")
+ private BigDecimal closeMoney;
+
+ @ApiModelProperty(value = "宸查��閲戦")
+ private BigDecimal hasRefundMoney;
+
+ @ApiModelProperty(value = "鍙��閲戦")
+ private BigDecimal canBanlanceMoney;
+
+}
diff --git a/server/services/src/main/java/com/doumee/service/business/GoodsorderService.java b/server/services/src/main/java/com/doumee/service/business/GoodsorderService.java
index 213dd1d..3906278 100644
--- a/server/services/src/main/java/com/doumee/service/business/GoodsorderService.java
+++ b/server/services/src/main/java/com/doumee/service/business/GoodsorderService.java
@@ -8,6 +8,7 @@
import com.doumee.dao.business.model.Goodsorder;
import com.doumee.dao.business.vo.GoodsorderExportVO;
import com.doumee.dao.business.vo.GoodsorderTotalDataVO;
+import com.doumee.dao.business.web.request.GoodsorderCanBanlanceDTO;
import com.doumee.dao.business.web.response.HomeResponse;
import com.doumee.dao.business.web.response.GoodsorderDetailDTO;
import com.doumee.dao.business.web.response.RidesDetailResponse;
@@ -150,7 +151,13 @@
* 閫�娆�
* @param orderId
*/
- void backGoodsorder(String orderId, BigDecimal money);
+ void backGoodsorder(String orderId, BigDecimal money ,String reason);
+
+ /**
+ * 鑾峰彇鍙��娆句俊鎭�
+ * @param orderId
+ */
+ GoodsorderCanBanlanceDTO getGoodsorderCanBanlanceDTO(String orderId);
/**
diff --git a/server/services/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java b/server/services/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java
index 0c8f1e1..74bd926 100644
--- a/server/services/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java
+++ b/server/services/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java
@@ -26,6 +26,7 @@
import com.doumee.dao.business.model.MemberRides;
import com.doumee.dao.business.vo.GoodsorderExportVO;
import com.doumee.dao.business.vo.GoodsorderTotalDataVO;
+import com.doumee.dao.business.web.request.GoodsorderCanBanlanceDTO;
import com.doumee.dao.business.web.request.MemberRidesQuery;
import com.doumee.dao.business.web.request.RefundDTO;
import com.doumee.dao.business.web.response.*;
@@ -56,10 +57,7 @@
import java.net.UnknownHostException;
import java.sql.Ref;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Objects;
+import java.util.*;
import java.util.stream.Collectors;
@Service
@@ -462,7 +460,7 @@
}
@Override
- public void backGoodsorder(String orderId, BigDecimal money) {
+ public void backGoodsorder(String orderId, BigDecimal money,String reason) {
LoginUserInfo principal = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
Goodsorder goodsorder = goodsorderMapper.selectById(orderId);
@@ -483,13 +481,38 @@
refundDTO.setRefundAmount(money);
refundDTO.setTotalAmount(goodsorder.getMoney());
refundDTO.setMemberId(goodsorder.getMemberId());
- refundDTO.setReason("骞冲彴閫�娆�");
+ refundDTO.setReason(reason);
refundDTO.setType(Constants.REFUND_TYPE.BACK.getKey());
Refund refund = wxMiniUtilService.wxRefund(refundDTO);
}
}
@Override
+ public GoodsorderCanBanlanceDTO getGoodsorderCanBanlanceDTO(String orderId) {
+
+
+ Goodsorder goodsorder = goodsorderMapper.selectById(orderId);
+ QueryWrapper<Refund> wrapper = new QueryWrapper<>();
+ wrapper.lambda()
+ .eq(Refund::getObjId,orderId)
+ .orderByDesc(Refund::getCreateDate);
+ List<Refund> refunds = refundMapper.selectList(wrapper);
+ GoodsorderCanBanlanceDTO goodsorderCanBanlanceDTO = new GoodsorderCanBanlanceDTO();
+ goodsorderCanBanlanceDTO.setGoodsorderMoney(goodsorder.getMoney());
+ goodsorderCanBanlanceDTO.setCloseMoney(goodsorder.getCloseMoney());
+ if (!CollectionUtils.isEmpty(refunds)){
+ BigDecimal reduce = refunds.stream().map(s -> s.getMoney()).reduce(new BigDecimal("0"), (a, b) -> b.add(a));
+ Refund refund = refunds.stream().findFirst().orElse(null);
+ goodsorderCanBanlanceDTO.setHasRefundMoney(reduce);
+ goodsorderCanBanlanceDTO.setCanBanlanceMoney(refund.getCanBalance().subtract(refund.getMoney()));
+ }else {
+ goodsorderCanBanlanceDTO.setHasRefundMoney(new BigDecimal("0"));
+ goodsorderCanBanlanceDTO.setCanBanlanceMoney(goodsorder.getMoney());
+ }
+ return goodsorderCanBanlanceDTO;
+ }
+
+ @Override
public GoodsorderTotalDataVO getTotalData(Goodsorder param){
GoodsorderTotalDataVO model = new GoodsorderTotalDataVO();
--
Gitblit v1.9.3