This commit is contained in:
77
2024-03-20 23:27:56 +08:00
parent 48a93e83e9
commit 4dd60a74f5
9 changed files with 144 additions and 1 deletions

View File

@@ -11,4 +11,5 @@ import com.ruoyi.xq.domain.WxTransOrder;
*/
public interface WxTransOrderService extends IService<WxTransOrder> {
WxTransOrder createVipOrder(Long userId, Integer wxTransNum);
}

View File

@@ -1,11 +1,23 @@
package com.ruoyi.xq.service.impl;
import cn.hutool.core.util.NumberUtil;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.xq.domain.User;
import com.ruoyi.xq.domain.WxTransOrder;
import com.ruoyi.xq.enums.common.OrderTypeEnum;
import com.ruoyi.xq.enums.common.SystemConfigEnum;
import com.ruoyi.xq.enums.pay.PayStatusEnum;
import com.ruoyi.xq.enums.wxtrans.WxTransSourceEnum;
import com.ruoyi.xq.manager.OrderNoUtil;
import com.ruoyi.xq.manager.SystemConfigManager;
import com.ruoyi.xq.mapper.WxTransOrderMapper;
import com.ruoyi.xq.service.UserService;
import com.ruoyi.xq.service.WxTransOrderService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
/**
* 微信交换订单Service业务层处理
*
@@ -15,4 +27,26 @@ import org.springframework.stereotype.Service;
@Service
public class WxTransOrderServiceImpl extends ServiceImpl<WxTransOrderMapper,WxTransOrder> implements WxTransOrderService {
@Autowired
private SystemConfigManager systemConfigManager;
@Autowired
private UserService userService;
@Override
public WxTransOrder createVipOrder(Long userId, Integer wxTransNum) {
BigDecimal price = systemConfigManager.getSystemConfigOfBigDecimal(SystemConfigEnum.WX_TRANS_PRICE);
String orderNo = OrderNoUtil.gen(OrderTypeEnum.VIP);
User user = userService.getById(userId);
WxTransOrder order = new WxTransOrder();
order.setUserId(user.getId());
order.setUsercode(user.getUsercode());
order.setWxNum(wxTransNum);
order.setWxPrice(NumberUtil.add(price,wxTransNum));
order.setOrderName("微信交换订单");
order.setOrderNo(orderNo);
order.setPayStatus(PayStatusEnum.READY_PAY.getCode());
order.setSource(WxTransSourceEnum.ORDER.getCode());
this.save(order);
return order;
}
}