From 48bc7e0abfd74d5d6d5c15ce93919c3b1c39391b Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期三, 04 十二月 2024 14:40:37 +0800 Subject: [PATCH] 修改启动异常 --- ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/WalletController.java | 120 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 120 insertions(+), 0 deletions(-) diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/WalletController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/WalletController.java new file mode 100644 index 0000000..c96b15b --- /dev/null +++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/WalletController.java @@ -0,0 +1,120 @@ +package com.ruoyi.account.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.ruoyi.account.api.model.AppUser; +import com.ruoyi.account.api.model.BalanceChangeRecord; +import com.ruoyi.account.service.AppUserService; +import com.ruoyi.account.service.BalanceChangeRecordService; +import com.ruoyi.account.service.WalletService; +import com.ruoyi.account.vo.WalletVO; +import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.core.web.controller.BaseController; +import com.ruoyi.common.security.service.TokenService; +import com.ruoyi.common.security.utils.SecurityUtils; +import com.ruoyi.system.api.model.LoginUser; +import com.ruoyi.order.feignClient.RemoteOrderGoodsClient; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import com.ruoyi.order.model.Order; +import org.springframework.format.annotation.DateTimeFormat; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.time.*; +import java.util.List; +import java.util.stream.Collectors; + +@Api(tags = "小程序-个人中心-我的钱包") +@RestController +@RequestMapping("wallet") +public class WalletController extends BaseController { + @Resource + private BalanceChangeRecordService balanceChangeRecordService; + @Resource + private TokenService tokenService; + @Resource + private WalletService walletService; + @Resource + private RemoteOrderGoodsClient remoteOrderGoodsClient; + @Resource + private AppUserService appUserService; + + /** + * 钱包详情 + */ + @GetMapping("detail") + @ApiOperation(value = "钱包详情", notes = "钱包详情") + public R<WalletVO> detail() { + LoginUser loginUserApplet = tokenService.getLoginUserApplet(); + WalletVO walletVO = walletService.getWalletByUserId(loginUserApplet.getUserid()); + return R.ok(walletVO); + } + + /** + * 变更明细 + */ + @ApiOperation(value = "变更明细", notes = "变更明细") + @GetMapping("change") + public R<List<BalanceChangeRecord>> change(@ApiParam(value = "变更类型") + @RequestParam(required = false) Integer changeType, + @ApiParam(value = "创建时间") + @RequestParam(required = false) + @DateTimeFormat(pattern = "yyyy-MM-dd") + LocalDate createTime) { + Long userId = SecurityUtils.getUserId(); + + LocalDateTime startTime = null; + LocalDateTime endTime = null; + if (createTime != null) { + // 将 createTime 设置为当天的开始时间 (00:00) + startTime = createTime.atStartOfDay(); + + // 使用 YearMonth 来获取该月的最后一天 + YearMonth yearMonth = YearMonth.from(createTime); + LocalDate lastDayOfMonth = yearMonth.atEndOfMonth(); + + // 将最后一天转换为 LocalDateTime,并设置为当天的最后一秒 (23:59:59.999) + endTime = lastDayOfMonth.atTime(LocalTime.MAX); + } + + List<BalanceChangeRecord> list = balanceChangeRecordService.list(new LambdaQueryWrapper<BalanceChangeRecord>() + .eq(changeType != null, BalanceChangeRecord::getChangeType, changeType) + .between(startTime != null, BalanceChangeRecord::getCreateTime, startTime, endTime) + .eq(BalanceChangeRecord::getAppUserId, userId)); + + List<Long> orderIds = list.stream().map(BalanceChangeRecord::getOrderId).collect(Collectors.toList()); + R<List<Order>> r = remoteOrderGoodsClient.getOrderListByIds(orderIds); + if (!R.isSuccess(r)){ + return R.fail(r.getMsg()); + } + List<Order> orderList = r.getData(); + list.forEach(bc -> { + orderList.stream().filter(o -> o.getId().equals(bc.getOrderId())).findFirst().ifPresent(o -> { + Long appUserId = o.getAppUserId(); + AppUser appUser = appUserService.getById(appUserId); + bc.setUserName(appUser.getName()); + bc.setAmount(o.getPaymentAmount()); + }); + }); + return R.ok(list); + } + +// /** +// * 充值 +// */ +// @GetMapping("recharge") +// @ApiOperation(value = "充值", notes = "钱包充值") +// public AjaxResult recharge(@ApiParam(value = "充值金额", required = true) @RequestParam BigDecimal amount) { +// Long userId = SecurityUtils.getUserId(); +// String openId; +// // 商户号 +// String partnerTradeNo; +// // TODO 充值 +// return AjaxResult.success(); +// } + +} -- Gitblit v1.7.1