This commit is contained in:
77
2024-04-27 02:49:06 +08:00
parent 8257e9fd5e
commit eb4cb60ba5
6 changed files with 72 additions and 1 deletions

View File

@@ -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<OrderCreateVo> 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);
}
}

View File

@@ -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;
/**
* 实名认证状态
*/

View File

@@ -7,6 +7,7 @@ public enum OrderTypeEnum {
VIP("V"),
WITHDRAW("W"),
WX_TRANS("X"),
AUTH_ORDER("A"),
;
private final String type;

View File

@@ -14,4 +14,7 @@ import com.ruoyi.xq.domain.AuthOrder;
public interface AuthOrderService extends IService<AuthOrder> {
Page<AuthOrder> pageAdmin(PageQuery pageQuery, AuthOrder bo);
AuthOrder createVipOrder(Long userId);
}

View File

@@ -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<AuthOrderMapper,AuthOrder> implements AuthOrderService {
@Autowired
private UserService userService;
@Override
public Page<AuthOrder> 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;
}
}

View File

@@ -60,7 +60,7 @@ public class VipOrderServiceImpl extends ServiceImpl<VipOrderMapper,VipOrder> 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());