This commit is contained in:
77
2024-03-25 20:52:18 +08:00
parent 8a89c53258
commit b8085e0416
16 changed files with 210 additions and 77 deletions

View File

@@ -0,0 +1,85 @@
package com.ruoyi.xq.controller.app;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.domain.PageModel;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.helper.LoginHelper;
import com.ruoyi.xq.domain.UserExtend;
import com.ruoyi.xq.domain.WxTransOrder;
import com.ruoyi.xq.dto.app.account.AccountDetailVo;
import com.ruoyi.xq.dto.app.account.AccountInfoVO;
import com.ruoyi.xq.dto.app.pay.OrderCreateVo;
import com.ruoyi.xq.dto.app.wxtrans.GenWxTransOrderReq;
import com.ruoyi.xq.dto.app.wxtrans.WxTransPriceAppVo;
import com.ruoyi.xq.enums.common.SystemConfigEnum;
import com.ruoyi.xq.manager.SystemConfigManager;
import com.ruoyi.xq.service.AccountChangeLogService;
import com.ruoyi.xq.service.UserExtendService;
import com.ruoyi.xq.service.WxTransOrderService;
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.*;
import java.math.BigDecimal;
@RestController
@RequestMapping("/api/account")
@Tag(name = "账户管理")
public class AccountAppController {
@Autowired
private UserExtendService userExtendService;
@Autowired
private AccountChangeLogService accountChangeLogService;
@Autowired
private WxTransOrderService wxTransOrderService;
@Autowired
private SystemConfigManager systemConfigManager;
@GetMapping("/info")
@Operation(summary = "当前用户信息的账户余额情况")
@Log(title = "当前用户信息的账户余额情况", businessType = BusinessType.OTHER, isSaveDb = false)
public R<AccountInfoVO> accountInfo(){
UserExtend userExtend = userExtendService.getByUserId(LoginHelper.getUserId());
AccountInfoVO accountInfoVO = new AccountInfoVO();
accountInfoVO.setUserId(userExtend.getUserId());
accountInfoVO.setIncomeCoin(userExtend.getIncomeCoin());
accountInfoVO.setWxTransNum(userExtend.getWxTransNum());
return R.ok(accountInfoVO);
}
@GetMapping("/detail/page")
@Operation(summary = "查询账户明细")
@Log(title = "查询账户明细", businessType = BusinessType.OTHER, isSaveDb = false)
public R<PageModel<AccountDetailVo>> detail(PageQuery pageQuery){
Page<AccountDetailVo> page = accountChangeLogService.pageApp(pageQuery,LoginHelper.getUserId());
return R.ok(PageModel.build(page));
}
@GetMapping("/wxTrans/price")
@Operation(summary = "获取微信交换单价")
@Log(title = "获取微信交换单价", businessType = BusinessType.OTHER, isSaveDb = false)
public R<WxTransPriceAppVo> getPrice(){
WxTransPriceAppVo vo = new WxTransPriceAppVo();
BigDecimal price = systemConfigManager.getSystemConfigOfBigDecimal(SystemConfigEnum.WX_TRANS_PRICE);
vo.setPrice(price);
return R.ok(vo);
}
@PostMapping("/wxTrans/order/create")
@Operation(summary = "生成微信交换订单")
@Log(title = "生成微信交换订单", businessType = BusinessType.OTHER, isSaveDb = false)
public R<OrderCreateVo> createVipOrder(@RequestBody GenWxTransOrderReq req){
Long userId = LoginHelper.getUserId();
WxTransOrder vipOrder = wxTransOrderService.createVipOrder(userId, req.getWxTransNum());
OrderCreateVo result = new OrderCreateVo();
result.setPrice(vipOrder.getWxPrice());
result.setOrderNo(vipOrder.getOrderNo());
result.setOrderName(vipOrder.getOrderName());
return R.ok(result);
}
}

View File

@@ -1,13 +0,0 @@
package com.ruoyi.xq.controller.app;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/api/invite")
@Tag(name = "邀请推广接口")
public class InviteAppController {
}

View File

@@ -3,11 +3,8 @@ 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.UserExtend;
import com.ruoyi.xq.dto.app.common.IdsReq;
import com.ruoyi.xq.dto.app.user.*;
import com.ruoyi.xq.dto.app.user.vo.AccountInfoVO;
import com.ruoyi.xq.dto.app.user.vo.CurrentUserFullInfoVo;
import com.ruoyi.xq.dto.app.user.vo.CurrentUserInfoVo;
import com.ruoyi.xq.dto.app.user.vo.UserAuthInfoVo;
@@ -39,17 +36,6 @@ public class UserAppController {
return R.ok(vo);
}
@GetMapping("/user/account/info")
@Operation(summary = "当前用户信息的账户余额情况")
@Log(title = "当前用户信息的账户余额情况", businessType = BusinessType.OTHER, isSaveDb = false)
public R<AccountInfoVO> accountInfo(){
UserExtend userExtend = userExtendService.getByUserId(LoginHelper.getUserId());
AccountInfoVO accountInfoVO = new AccountInfoVO();
accountInfoVO.setUserId(userExtend.getUserId());
accountInfoVO.setIncomeCoin(userExtend.getIncomeCoin());
accountInfoVO.setWxTransNum(userExtend.getWxTransNum());
return R.ok(accountInfoVO);
}
@GetMapping("/user/query/fullInfo")
@Operation(summary = "当前用户的详细信息")

View File

@@ -45,7 +45,6 @@ public class WithdrawAppController {
return R.ok(result);
}
@PostMapping("/save")
@Operation(summary = "申请提现")
@Log(title = "申请提现", businessType = BusinessType.OTHER, isSaveDb = false)

View File

@@ -23,31 +23,5 @@ import java.math.BigDecimal;
@Tag(name = "微信交换接口")
public class WxTransAppController {
@Autowired
private WxTransOrderService wxTransOrderService;
@Autowired
private SystemConfigManager systemConfigManager;
@GetMapping("/get/price")
@Operation(summary = "获取微信交换单价")
@Log(title = "获取微信交换单价", businessType = BusinessType.OTHER, isSaveDb = false)
public R<WxTransPriceAppVo> getPrice(){
WxTransPriceAppVo vo = new WxTransPriceAppVo();
BigDecimal price = systemConfigManager.getSystemConfigOfBigDecimal(SystemConfigEnum.WX_TRANS_PRICE);
vo.setPrice(price);
return R.ok(vo);
}
@PostMapping("/order/create")
@Operation(summary = "生成微信交换订单")
@Log(title = "生成微信交换订单", businessType = BusinessType.OTHER, isSaveDb = false)
public R<OrderCreateVo> createVipOrder(@RequestBody GenWxTransOrderReq req){
Long userId = LoginHelper.getUserId();
WxTransOrder vipOrder = wxTransOrderService.createVipOrder(userId, req.getWxTransNum());
OrderCreateVo result = new OrderCreateVo();
result.setPrice(vipOrder.getWxPrice());
result.setOrderNo(vipOrder.getOrderNo());
result.setOrderName(vipOrder.getOrderName());
return R.ok(result);
}
}