diff --git a/ruoyi-xq/src/main/java/com/ruoyi/xq/controller/app/AuthOrderAppController.java b/ruoyi-xq/src/main/java/com/ruoyi/xq/controller/app/AuthOrderAppController.java index 853cf4b..d31926b 100644 --- a/ruoyi-xq/src/main/java/com/ruoyi/xq/controller/app/AuthOrderAppController.java +++ b/ruoyi-xq/src/main/java/com/ruoyi/xq/controller/app/AuthOrderAppController.java @@ -6,14 +6,20 @@ 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.enums.common.SystemConfigEnum; +import com.ruoyi.xq.manager.SystemConfigManager; import com.ruoyi.xq.service.AuthOrderService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; +import org.apache.commons.collections4.map.HashedMap; 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; +import java.math.BigDecimal; +import java.util.Map; + @RestController @RequestMapping("/api/auth") @Tag(name = "实名认证订单相关") @@ -21,6 +27,8 @@ public class AuthOrderAppController { @Autowired private AuthOrderService authOrderService; + @Autowired + private SystemConfigManager systemCOnfigManager; @PostMapping("/order/create") @Operation(summary = "生成VIP订单") @@ -34,4 +42,14 @@ public class AuthOrderAppController { result.setOrderName(authOrder.getOrderName()); return R.ok(result); } + + + @PostMapping("/price") + @Operation(summary = "获取实名认证价格") + public R> getAuthOrderPrice(){ + BigDecimal authCardPrice = systemCOnfigManager.getSystemConfigOfBigDecimal(SystemConfigEnum.AUTH_CARD_PRICE); + Map map = new HashedMap<>(); + map.put("price",authCardPrice); + return R.ok(map); + } } diff --git a/ruoyi-xq/src/main/java/com/ruoyi/xq/enums/common/SystemConfigEnum.java b/ruoyi-xq/src/main/java/com/ruoyi/xq/enums/common/SystemConfigEnum.java index 0511858..255b009 100644 --- a/ruoyi-xq/src/main/java/com/ruoyi/xq/enums/common/SystemConfigEnum.java +++ b/ruoyi-xq/src/main/java/com/ruoyi/xq/enums/common/SystemConfigEnum.java @@ -17,6 +17,7 @@ public enum SystemConfigEnum { WX_TRANS_PRICE("0.01", "微信交换次数价格", SystemConfigGroupEnum.BUSINESS, null), OPEN_WX_WITHDRAW("0", "是否开启微信提现", SystemConfigGroupEnum.BUSINESS, null), OPEN_ALI_WITHDRAW("1", "是否开启支付宝提现", SystemConfigGroupEnum.BUSINESS, null), + AUTH_CARD_PRICE("0.01", "实名认证收费价格", SystemConfigGroupEnum.BUSINESS, null), VIP_INVITE_RATE("0.30","默认会员分销比例",SystemConfigGroupEnum.BUSINESS, new RateSystemConfigCheck()), CUSTOMER_SERVICE_URL("https://xq-oss-123121.oss-cn-guangzhou.aliyuncs.com/xq/images/service/customer-service.png","客服地址",SystemConfigGroupEnum.BUSINESS, null), SENSITIVE_ENABLE("1", "是否开启手机号脱敏",SystemConfigGroupEnum.SYSTEM,new BooleanSystemConfigCheck()), diff --git a/ruoyi-xq/src/main/java/com/ruoyi/xq/manager/PayManager.java b/ruoyi-xq/src/main/java/com/ruoyi/xq/manager/PayManager.java index 58d3eb9..390803b 100644 --- a/ruoyi-xq/src/main/java/com/ruoyi/xq/manager/PayManager.java +++ b/ruoyi-xq/src/main/java/com/ruoyi/xq/manager/PayManager.java @@ -1,6 +1,7 @@ package com.ruoyi.xq.manager; import com.ruoyi.common.exception.ServiceException; +import com.ruoyi.xq.domain.AuthOrder; import com.ruoyi.xq.domain.VipOrder; import com.ruoyi.xq.domain.VipPrice; import com.ruoyi.xq.domain.WxTransOrder; @@ -71,6 +72,20 @@ public class PayManager { dto.setPrice(wxTransOrder.getWxPrice()); dto.setOrderNo(wxTransOrder.getOrderNo()); break; + case AUTH_ORDER: + AuthOrder authOrder = authOrderService.getByOrderNo(orderNo); + if(authOrder == null){ + throw new ServiceException("订单不存在,请重新下单支付"); + } + if(!PayStatusEnum.READY_PAY.getCode().equals(authOrder.getPayStatus())){ + throw new ServiceException("订单状态有误,请重新下单支付"); + } + dto = new PayOrderInfoDTO(); + dto.setBody(authOrder.getBody()); + dto.setSubject(authOrder.getBody()); + dto.setPrice(authOrder.getPrice()); + dto.setOrderNo(authOrder.getOrderNo()); + break; default: break; } 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 33a0a4a..8269cad 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 @@ -10,10 +10,12 @@ import com.ruoyi.xq.domain.User; import com.ruoyi.xq.dto.admin.authOrder.AuthOrderAdminVo; import com.ruoyi.xq.dto.app.pay.ConsumeResp; import com.ruoyi.xq.enums.common.OrderTypeEnum; +import com.ruoyi.xq.enums.common.SystemConfigEnum; import com.ruoyi.xq.enums.common.TraceIdEnum; import com.ruoyi.xq.enums.pay.PayStatusEnum; import com.ruoyi.xq.enums.pay.PlatformTypeEnum; import com.ruoyi.xq.manager.OrderNoUtil; +import com.ruoyi.xq.manager.SystemConfigManager; import com.ruoyi.xq.manager.TraceIdManager; import com.ruoyi.xq.mapper.AuthOrderMapper; import com.ruoyi.xq.service.AuthOrderService; @@ -38,6 +40,8 @@ public class AuthOrderServiceImpl extends ServiceImpl @Autowired private UserService userService; + @Autowired + private SystemConfigManager systemCOnfigManager; @Override public Page pageAdmin(PageQuery pageQuery, AuthOrderAdminVo bo) { @@ -46,6 +50,7 @@ public class AuthOrderServiceImpl extends ServiceImpl @Override public AuthOrder createVipOrder(Long userId) { + BigDecimal authCardPrice = systemCOnfigManager.getSystemConfigOfBigDecimal(SystemConfigEnum.AUTH_CARD_PRICE); String orderNo = OrderNoUtil.gen(OrderTypeEnum.AUTH_ORDER); User user = userService.getById(userId); AuthOrder authOrder = new AuthOrder(); @@ -53,7 +58,7 @@ public class AuthOrderServiceImpl extends ServiceImpl authOrder.setUsercode(user.getUsercode()); authOrder.setOrderName("实名认证订单"); authOrder.setBody("实名认证订单"); - authOrder.setPrice(BigDecimal.valueOf(10)); + authOrder.setPrice(authCardPrice); authOrder.setOrderNo(orderNo); authOrder.setPayStatus(PayStatusEnum.READY_PAY.getCode()); this.save(authOrder);