|
@@ -112,7 +112,12 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
|
|
|
public UserOrderVo detailApp(Long id) {
|
|
|
UserOrderVo userOrderVo = baseMapper.detailApp(id);
|
|
|
if (null != userOrderVo) {
|
|
|
- userOrderVo.setOrderDetailList(orderDetailService.getOrderDetilListByOrderNo(userOrderVo.getOrderNo()));
|
|
|
+ List<UserOrderDetailVo> orderDetilList = orderDetailService.getOrderDetilListByOrderNo(userOrderVo.getOrderNo());
|
|
|
+ orderDetilList.forEach(o -> {
|
|
|
+ o.setPlantformFee(null);
|
|
|
+ o.setPlantformFeeRate(null);
|
|
|
+ });
|
|
|
+ userOrderVo.setOrderDetailList(orderDetilList);
|
|
|
}
|
|
|
return userOrderVo;
|
|
|
}
|
|
@@ -221,7 +226,6 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
|
|
|
}
|
|
|
|
|
|
|
|
|
-
|
|
|
/***
|
|
|
* 处理支付失败订单
|
|
|
* @author liweifan
|
|
@@ -303,7 +307,7 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
|
|
|
HttpResponseResult<Map<String, Object>> responseResult = paymentSdk.executePayment(paymentReq);
|
|
|
if (responseResult.getStatus()) {
|
|
|
OrderPayRes orderPayRes = new OrderPayRes();
|
|
|
- orderPayRes.setPay_amt(detail.getActualPrice().setScale(2).toString());
|
|
|
+ orderPayRes.setPay_amt(detail.getActualPrice().setScale(2, RoundingMode.HALF_UP).toString());
|
|
|
String pay_info = ((JSONObject) responseResult.getData().get("expend")).getString("pay_info");
|
|
|
orderPayRes.setPay_info(pay_info);
|
|
|
|
|
@@ -336,7 +340,7 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
|
|
|
Map<String, Object> res = responseResult.getData();
|
|
|
orderPayment.setTransNo(res.get("id").toString());
|
|
|
orderPayment.setPayAmt(
|
|
|
- new BigDecimal(res.get("pay_amt").toString()).setScale(2)
|
|
|
+ new BigDecimal(res.get("pay_amt").toString()).setScale(2, RoundingMode.HALF_UP)
|
|
|
);
|
|
|
String pay_info = ((JSONObject) res.get("expend")).getString("pay_info");
|
|
|
orderPayment.setPayInfo(pay_info);
|
|
@@ -388,9 +392,9 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
|
|
|
userOrder.setStatus(OrderStatusEnum.WAIT_PAY);
|
|
|
userOrder.setUserNote(orderReq.getUserNote());
|
|
|
userOrder.setCreateTime(new Date());
|
|
|
- userOrder.setOriginalPrice(new BigDecimal(0));
|
|
|
- userOrder.setExpectPrice(new BigDecimal(0));
|
|
|
- userOrder.setPlantformFee(new BigDecimal(0));
|
|
|
+ userOrder.setOriginalPrice(BigDecimal.ZERO);
|
|
|
+ userOrder.setExpectPrice(BigDecimal.ZERO);
|
|
|
+ userOrder.setPlantformFee(BigDecimal.ZERO);
|
|
|
List<UserOrderDetailVo> orderDetailList = new ArrayList<>();
|
|
|
for (OrderCreateRes res : resList) {
|
|
|
|
|
@@ -400,13 +404,13 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
|
|
|
orderDetail.setGoodType(res.getGoodType());
|
|
|
orderDetail.setBizId(res.getBizId());
|
|
|
orderDetail.setBizContent(res.getBizContent());
|
|
|
- orderDetail.setOriginalPrice(null != res.getOriginalPrice() ? res.getOriginalPrice() : new BigDecimal(0));
|
|
|
- orderDetail.setExpectPrice(null != res.getExpectPrice() ? res.getExpectPrice() : new BigDecimal(0));
|
|
|
+ orderDetail.setOriginalPrice(null != res.getOriginalPrice() ? res.getOriginalPrice() : BigDecimal.ZERO);
|
|
|
+ orderDetail.setExpectPrice(null != res.getExpectPrice() ? res.getExpectPrice() : BigDecimal.ZERO);
|
|
|
orderDetail.setGoodNum(null != res.getGoodNum() ? res.getGoodNum() : 1);
|
|
|
//商品单价计算,使用商品原价计算,退费计算公式(退费金额=实际订单金额-(商品单价 * 已经使用商品数))
|
|
|
//其中,已经使用的商品单价按照原价算
|
|
|
orderDetail.setGoodPrice(
|
|
|
- orderDetail.getOriginalPrice().divide(new BigDecimal(orderDetail.getGoodNum()),2, RoundingMode.HALF_UP));
|
|
|
+ orderDetail.getOriginalPrice().divide(new BigDecimal(orderDetail.getGoodNum()), 2, RoundingMode.HALF_UP));
|
|
|
//平台服务费
|
|
|
BigDecimal serviceFeeRate = getServiceFeeRate(res.getGoodType());
|
|
|
orderDetail.setPlantformFee(userOrder.getExpectPrice().multiply(serviceFeeRate));
|
|
@@ -414,8 +418,8 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
|
|
|
orderDetail.setBizParam(res.getBizParam());
|
|
|
orderDetail.setCreateTime(new Date());
|
|
|
|
|
|
- orderReq.getOrderInfos().forEach(o->{
|
|
|
- if(o.getGoodType().equals(res.getGoodType())){
|
|
|
+ orderReq.getOrderInfos().forEach(o -> {
|
|
|
+ if (o.getGoodType().equals(res.getGoodType())) {
|
|
|
orderDetail.setGoodName(o.getGoodName());
|
|
|
}
|
|
|
});
|
|
@@ -430,11 +434,11 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
|
|
|
}
|
|
|
|
|
|
//todo 优惠券优惠金额,暂时为0
|
|
|
- BigDecimal couponAmount = new BigDecimal(0);
|
|
|
- userOrder.setActualPrice(userOrder.getExpectPrice().subtract(couponAmount).setScale(2));
|
|
|
+ BigDecimal couponAmount = BigDecimal.ZERO;
|
|
|
+ userOrder.setActualPrice(userOrder.getExpectPrice().subtract(couponAmount).setScale(2, RoundingMode.HALF_UP));
|
|
|
userOrder.setCouponAmount(couponAmount);
|
|
|
if (userOrder.getActualPrice().subtract(orderReq.getActualPrice()).abs()
|
|
|
- .compareTo(new BigDecimal(0.01)) > 0) {
|
|
|
+ .compareTo(new BigDecimal("0.01")) > 0) {
|
|
|
throw new BizException("交易金额异常");
|
|
|
}
|
|
|
|
|
@@ -472,7 +476,7 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
|
|
|
} else if (GoodTypeEnum.MUSIC.equals(goodTypeEnum)) {
|
|
|
configValue = sysConfigService.findConfigValue(SysConfigConstant.MUSIC_SHEET_SERVICE_FEE);
|
|
|
}
|
|
|
- return new BigDecimal(configValue).divide(new BigDecimal(100));
|
|
|
+ return new BigDecimal(configValue).divide(new BigDecimal("100"), 2, RoundingMode.HALF_UP);
|
|
|
}
|
|
|
|
|
|
/***
|