From 3f481005be717250a2ea87ff9367aa84d6a3eb13 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期六, 14 九月 2024 10:55:52 +0800 Subject: [PATCH] 课程代码 --- xinquan-modules/xinquan-order/src/main/java/com/xinquan/order/controller/client/ClientOrderController.java | 67 ++++++++++++++++++++++++++++++--- 1 files changed, 60 insertions(+), 7 deletions(-) diff --git a/xinquan-modules/xinquan-order/src/main/java/com/xinquan/order/controller/client/ClientOrderController.java b/xinquan-modules/xinquan-order/src/main/java/com/xinquan/order/controller/client/ClientOrderController.java index 18ad2af..6ac7f22 100644 --- a/xinquan-modules/xinquan-order/src/main/java/com/xinquan/order/controller/client/ClientOrderController.java +++ b/xinquan-modules/xinquan-order/src/main/java/com/xinquan/order/controller/client/ClientOrderController.java @@ -2,13 +2,18 @@ import com.xinquan.common.core.domain.R; +import com.xinquan.order.api.domain.Order; +import com.xinquan.order.domain.vo.ClientPlaceOrderVO; import com.xinquan.order.service.OrderService; import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; + +import java.math.BigDecimal; +import java.util.List; /** * <p> @@ -25,11 +30,59 @@ public class ClientOrderController { private OrderService orderService; + /** + * 根据邀请用户ids 查询对应佣金 + */ + @GetMapping("/getCommissionByUserIds/{userIds}") + public R<String> getCommissionByUserIds(@PathVariable("userIds") String userIds) { + String[] split = userIds.split(","); + StringBuilder stringBuilder = new StringBuilder(); + for (String s : split) { + List<Order> list = orderService.lambdaQuery().eq(Order::getAppUserId, s) + .eq(Order::getPaymentStatus, 2).list(); + BigDecimal commissionAmount = list.stream() + .filter(t -> t.getCommissionAmount()!= null) + .map(Order::getCommissionAmount) + .reduce(BigDecimal.ZERO, BigDecimal::add); + stringBuilder.append(commissionAmount).append(","); + } + StringBuilder stringBuilder1 = stringBuilder.deleteCharAt(stringBuilder.length() - 1); + return R.ok(stringBuilder1.toString()); + } - @PostMapping("/createOrder") - @ApiOperation(value = "创建订单") - public R<?> createOrder() { - return R.ok(); + /** + * 创建待支付订单 + * + * @param targetId 目标id + * @param orderFrom 订单来源 1=冥想音频 2=课程 + * @param receiverId 被赠送课程APP用户id + * @param balanceFlag 是否使用余额抵扣 1=是 2=否 + * @param payType 支付方式 1=微信 2=支付宝 + * @return 下单返回数据视图对象 + * @see com.xinquan.order.domain.vo.ClientPlaceOrderVO + */ + @PostMapping("/placeOrder") + @ApiOperation(value = "创建待支付订单", notes = "微信|支付宝") + @ApiImplicitParams({ + @ApiImplicitParam(name = "targetId", value = "目标id", dataType = "Long", required = true), + @ApiImplicitParam(name = "orderFrom", value = "订单来源 1=冥想音频 2=课程", dataType = "Integer", required = true), + @ApiImplicitParam(name = "receiverId", value = "被赠送课程APP用户id", dataType = "Long", required = false), + @ApiImplicitParam(name = "balanceFlag", value = "是否使用余额抵扣 1=是 2=否", dataType = "Integer", required = true), + @ApiImplicitParam(name = "payType", value = "支付方式 1=微信 2=支付宝", dataType = "Integer", required = true) + }) + public R<ClientPlaceOrderVO> placeOrder( + @RequestParam(value = "targetId") Long targetId, + @RequestParam(value = "orderFrom") Integer orderFrom, + @RequestParam(value = "receiverId", required = false) Long receiverId, + @RequestParam(value = "balanceFlag") Integer balanceFlag, + @RequestParam(value = "payType") Integer payType) { + try { + return R.ok( + orderService.placeOrder(targetId, orderFrom, receiverId, + balanceFlag, payType)); + } catch (Exception e) { + throw new RuntimeException(e); + } } } -- Gitblit v1.7.1