|
@@ -18,6 +18,8 @@ import com.github.zuihou.business.goods.entity.Goods;
|
|
|
import com.github.zuihou.business.goods.service.GoodsService;
|
|
|
import com.github.zuihou.business.member.entity.Member;
|
|
|
import com.github.zuihou.business.member.service.MemberService;
|
|
|
+import com.github.zuihou.business.memberCoupon.entity.MemberCoupon;
|
|
|
+import com.github.zuihou.business.memberCoupon.service.MemberCouponService;
|
|
|
import com.github.zuihou.business.miniApp.service.MiniAppService;
|
|
|
import com.github.zuihou.business.order.entity.Order;
|
|
|
import com.github.zuihou.business.order.service.OrderService;
|
|
@@ -107,6 +109,9 @@ public class AndroidApi
|
|
|
@Resource
|
|
|
private AdvertisementService advertisementService;
|
|
|
|
|
|
+ @Resource
|
|
|
+ private MemberCouponService memberCouponService;
|
|
|
+
|
|
|
@ApiOperation("获取商品列表")
|
|
|
@GetMapping({"/goodsList"})
|
|
|
public R<List<EquGoodsDto>> goodsList(@RequestParam(name = "equId") Long equId)
|
|
@@ -144,6 +149,7 @@ public class AndroidApi
|
|
|
long speId = param.get("speId");
|
|
|
long equId = param.get("equId");
|
|
|
Spe spe = speService.getById(speId);
|
|
|
+ Long orderMemberCouponId = param.get("orderMemberCouponId");
|
|
|
|
|
|
// 生成本地订单
|
|
|
Order preOrder = new Order();
|
|
@@ -152,6 +158,16 @@ public class AndroidApi
|
|
|
preOrder.setOrderGoodsAmount(1);
|
|
|
preOrder.setOrderAmount(spe.getSpecSPrice());
|
|
|
preOrder.setOrderUnitPrice(spe.getSpecSPrice());
|
|
|
+ // 实付金额计算
|
|
|
+ BigDecimal payerTotal = preOrder.getOrderAmount();
|
|
|
+ if (orderMemberCouponId != null) {
|
|
|
+ MemberCoupon memberCoupon = memberCouponService.getMemberCoupon(orderMemberCouponId);
|
|
|
+ preOrder.setOrderMemberCouponId(orderMemberCouponId);
|
|
|
+ preOrder.setOrderPreferentialAmount(memberCoupon.getReceivePreferentialAmount());
|
|
|
+ // 如果存在客户优惠券,则实付金额 = 应付金额 - 客户优惠券的优惠金额
|
|
|
+ payerTotal = payerTotal.subtract(preOrder.getOrderPreferentialAmount());
|
|
|
+ }
|
|
|
+ preOrder.setPayerTotal(payerTotal);
|
|
|
preOrder.setOrderGoodsId(spe.getGoodsId());
|
|
|
preOrder.setOrderEquId(equId);
|
|
|
orderService.save(preOrder);
|
|
@@ -247,6 +263,14 @@ public class AndroidApi
|
|
|
|
|
|
});
|
|
|
}
|
|
|
+ // 支付成功后, 回写客户优惠券状态
|
|
|
+ if (localOrder.getOrderMemberCouponId() != null) {
|
|
|
+ MemberCoupon memberCoupon = new MemberCoupon();
|
|
|
+ memberCoupon.setId(localOrder.getOrderMemberCouponId());
|
|
|
+ // 设置客户优惠券使用状态为:已使用
|
|
|
+ memberCoupon.setStatus("1");
|
|
|
+ memberCouponService.updateById(memberCoupon);
|
|
|
+ }
|
|
|
System.out.println("支付成功,配方是" + JSON.toJSONString(formulaList));
|
|
|
resultMap.put("productConfig", formulaList);
|
|
|
resultMap.put("order", localOrder);
|