From eb4cb60ba5e338afa351e5e6a749644ce032bc4a Mon Sep 17 00:00:00 2001 From: 77 <77@77.com> Date: Sat, 27 Apr 2024 02:49:06 +0800 Subject: [PATCH] init --- .../controller/app/AuthOrderController.java | 37 +++++++++++++++++++ .../java/com/ruoyi/xq/domain/AuthOrder.java | 2 + .../ruoyi/xq/enums/common/OrderTypeEnum.java | 1 + .../ruoyi/xq/service/AuthOrderService.java | 3 ++ .../xq/service/impl/AuthOrderServiceImpl.java | 28 ++++++++++++++ .../xq/service/impl/VipOrderServiceImpl.java | 2 +- 6 files changed, 72 insertions(+), 1 deletion(-) create mode 100644 ruoyi-xq/src/main/java/com/ruoyi/xq/controller/app/AuthOrderController.java diff --git a/ruoyi-xq/src/main/java/com/ruoyi/xq/controller/app/AuthOrderController.java b/ruoyi-xq/src/main/java/com/ruoyi/xq/controller/app/AuthOrderController.java new file mode 100644 index 0000000..7591b17 --- /dev/null +++ b/ruoyi-xq/src/main/java/com/ruoyi/xq/controller/app/AuthOrderController.java @@ -0,0 +1,37 @@ +package com.ruoyi.xq.controller.app; + +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.helper.LoginHelper; +import com.ruoyi.xq.domain.AuthOrder; +import com.ruoyi.xq.dto.app.pay.OrderCreateVo; +import com.ruoyi.xq.service.AuthOrderService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/api/auth") +@Tag(name = "实名认证订单相关") +public class AuthOrderController { + + @Autowired + private AuthOrderService authOrderService; + + @PostMapping("/order/create") + @Operation(summary = "生成VIP订单") + @Log(title = "生成VIP订单", businessType = BusinessType.OTHER, isSaveDb = false) + public R createAuthOrder(){ + Long userId = LoginHelper.getUserId(); + AuthOrder authOrder = authOrderService.createVipOrder(userId); + OrderCreateVo result = new OrderCreateVo(); + result.setPrice(authOrder.getPrice()); + result.setOrderNo(authOrder.getOrderNo()); + result.setOrderName(authOrder.getOrderName()); + return R.ok(result); + } +} diff --git a/ruoyi-xq/src/main/java/com/ruoyi/xq/domain/AuthOrder.java b/ruoyi-xq/src/main/java/com/ruoyi/xq/domain/AuthOrder.java index 3aa49fe..b068904 100644 --- a/ruoyi-xq/src/main/java/com/ruoyi/xq/domain/AuthOrder.java +++ b/ruoyi-xq/src/main/java/com/ruoyi/xq/domain/AuthOrder.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import java.io.Serializable; +import java.math.BigDecimal; import java.time.LocalDateTime; /** @@ -40,6 +41,7 @@ public class AuthOrder implements Serializable { * 下单body */ private String body; + private BigDecimal price; /** * 实名认证状态 */ diff --git a/ruoyi-xq/src/main/java/com/ruoyi/xq/enums/common/OrderTypeEnum.java b/ruoyi-xq/src/main/java/com/ruoyi/xq/enums/common/OrderTypeEnum.java index baf3a85..af33416 100644 --- a/ruoyi-xq/src/main/java/com/ruoyi/xq/enums/common/OrderTypeEnum.java +++ b/ruoyi-xq/src/main/java/com/ruoyi/xq/enums/common/OrderTypeEnum.java @@ -7,6 +7,7 @@ public enum OrderTypeEnum { VIP("V"), WITHDRAW("W"), WX_TRANS("X"), + AUTH_ORDER("A"), ; private final String type; diff --git a/ruoyi-xq/src/main/java/com/ruoyi/xq/service/AuthOrderService.java b/ruoyi-xq/src/main/java/com/ruoyi/xq/service/AuthOrderService.java index 4fb10de..9f55754 100644 --- a/ruoyi-xq/src/main/java/com/ruoyi/xq/service/AuthOrderService.java +++ b/ruoyi-xq/src/main/java/com/ruoyi/xq/service/AuthOrderService.java @@ -14,4 +14,7 @@ import com.ruoyi.xq.domain.AuthOrder; public interface AuthOrderService extends IService { Page pageAdmin(PageQuery pageQuery, AuthOrder bo); + + AuthOrder createVipOrder(Long userId); + } diff --git a/ruoyi-xq/src/main/java/com/ruoyi/xq/service/impl/AuthOrderServiceImpl.java b/ruoyi-xq/src/main/java/com/ruoyi/xq/service/impl/AuthOrderServiceImpl.java index 44c300a..e984588 100644 --- a/ruoyi-xq/src/main/java/com/ruoyi/xq/service/impl/AuthOrderServiceImpl.java +++ b/ruoyi-xq/src/main/java/com/ruoyi/xq/service/impl/AuthOrderServiceImpl.java @@ -4,11 +4,19 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.core.domain.PageQuery; import com.ruoyi.xq.domain.AuthOrder; +import com.ruoyi.xq.domain.User; +import com.ruoyi.xq.enums.common.OrderTypeEnum; +import com.ruoyi.xq.enums.pay.PayStatusEnum; +import com.ruoyi.xq.manager.OrderNoUtil; import com.ruoyi.xq.mapper.AuthOrderMapper; import com.ruoyi.xq.service.AuthOrderService; +import com.ruoyi.xq.service.UserService; import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.math.BigDecimal; + /** * 实名认证订单Service业务层处理 * @@ -18,8 +26,28 @@ import org.springframework.stereotype.Service; @RequiredArgsConstructor @Service public class AuthOrderServiceImpl extends ServiceImpl implements AuthOrderService { + + @Autowired + private UserService userService; + @Override public Page pageAdmin(PageQuery pageQuery, AuthOrder bo) { return baseMapper.pageAdmin(pageQuery.build(), bo); } + + @Override + public AuthOrder createVipOrder(Long userId) { + String orderNo = OrderNoUtil.gen(OrderTypeEnum.AUTH_ORDER); + User user = userService.getById(userId); + AuthOrder authOrder = new AuthOrder(); + authOrder.setUserId(user.getId()); + authOrder.setUsercode(user.getUsercode()); + authOrder.setOrderName("实名认证订单"); + authOrder.setBody("实名认证订单"); + authOrder.setPrice(BigDecimal.valueOf(10)); + authOrder.setOrderNo(orderNo); + authOrder.setPayStatus(PayStatusEnum.READY_PAY.getCode()); + this.save(authOrder); + return authOrder; + } } diff --git a/ruoyi-xq/src/main/java/com/ruoyi/xq/service/impl/VipOrderServiceImpl.java b/ruoyi-xq/src/main/java/com/ruoyi/xq/service/impl/VipOrderServiceImpl.java index 2513486..5f5c290 100644 --- a/ruoyi-xq/src/main/java/com/ruoyi/xq/service/impl/VipOrderServiceImpl.java +++ b/ruoyi-xq/src/main/java/com/ruoyi/xq/service/impl/VipOrderServiceImpl.java @@ -60,7 +60,7 @@ public class VipOrderServiceImpl extends ServiceImpl im VipOrder vipOrder = new VipOrder(); vipOrder.setUserId(user.getId()); vipOrder.setUsercode(user.getUsercode()); - vipOrder.setOrderName(vipPrice.getVipName()); + vipOrder.setBody(vipPrice.getVipName()); vipOrder.setVipId(vipPrice.getId()); vipOrder.setVipType(vipPrice.getVipType()); vipOrder.setVipTime(vipPrice.getVipTime());