提交代码

dev
胡锐 6 months ago
parent d5804f7f09
commit 4114c549ab
  1. 35
      order/src/main/java/com/order/controller/OrderAfterSalesApplyController.java

@ -30,6 +30,7 @@ import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.HashMap;
import java.util.Map;
@ -52,6 +53,40 @@ public class OrderAfterSalesApplyController {
@Resource
private BsOrderChildService orderChildService;
@RequestMapping(value="/calculate",method = RequestMethod.GET)
@ResponseBody
@ApiOperation(value = "计算预计退款金额")
public ResponseData calculate(@RequestParam(value = "childOrderNo" , required = true) String childOrderNo,
@RequestParam(value = "productCount" , required = true) Integer productCount) {
try {
// 查询子订单
OrderChildModel orderChild = orderChildService.getDetail(childOrderNo);
if (orderChild == null) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未知的商品订单");
}
Map<String,Object> param = new HashMap<>();
if (orderChild.getSurplusRefundCount().equals(productCount)) {
// 全部退款
param.put("refundPrice", orderChild.getSurplusRefundPrice());
param.put("refundIntegral", orderChild.getSurplusRefundIntegral());
} else {
// 部分退款
// 计算单价
BigDecimal unitPrice = orderChild.getSurplusRefundPrice().divide(new BigDecimal(productCount.toString()), 2, BigDecimal.ROUND_DOWN).setScale(2);
BigDecimal unitPriceIntegral = new BigDecimal(orderChild.getSurplusRefundIntegral().toString()).divide(new BigDecimal("100"))
.divide(new BigDecimal(productCount.toString()), 2, BigDecimal.ROUND_DOWN).setScale(2);
param.put("refundPrice", unitPrice.multiply(new BigDecimal(productCount.toString())));
param.put("refundIntegral", unitPriceIntegral.multiply(new BigDecimal("100")).longValue());
}
return ResponseMsgUtil.success(param);
} catch (Exception e) {
log.error("error!",e);
return ResponseMsgUtil.exception(e);
}
}
@RequestMapping(value="/apply",method = RequestMethod.POST)
@ResponseBody
@ApiOperation(value = "申请")

Loading…
Cancel
Save