From 6d1cd76c47e92f6fbb33a1274cfec4c88e09938f Mon Sep 17 00:00:00 2001 From: phpcjl <phpcjl@gmail.com> Date: 星期四, 05 十二月 2024 15:00:44 +0800 Subject: [PATCH] 1.完成开发门店打分接口 --- ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/WalletController.java | 60 +++++++++++++++++++++++++++++++++++++----------------------- 1 files changed, 37 insertions(+), 23 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 index 8661800..a9e78a6 100644 --- 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 @@ -6,20 +6,20 @@ import com.ruoyi.account.api.model.BalanceChangeRecord; import com.ruoyi.account.service.AppUserService; import com.ruoyi.account.service.BalanceChangeRecordService; +import com.ruoyi.account.service.VipSettingService; 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.other.api.feignClient.OrderClient; +import com.ruoyi.order.feignClient.RemoteOrderGoodsClient; +import com.ruoyi.order.model.Order; +import com.ruoyi.other.api.domain.VipSetting; import com.ruoyi.system.api.model.LoginUser; -import feignClient.RemoteOrderClient; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; -import model.Order; -import model.OrderGood; import org.springframework.format.annotation.DateTimeFormat; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; @@ -30,8 +30,8 @@ import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; +import java.time.YearMonth; import java.util.List; -import java.util.Map; import java.util.stream.Collectors; @Api(tags = "小程序-个人中心-我的钱包") @@ -45,9 +45,11 @@ @Resource private WalletService walletService; @Resource - private RemoteOrderClient remoteOrderClient; + private RemoteOrderGoodsClient remoteOrderGoodsClient; @Resource private AppUserService appUserService; + @Resource + private VipSettingService vipSettingService; /** * 钱包详情 @@ -56,7 +58,9 @@ @ApiOperation(value = "钱包详情", notes = "钱包详情") public R<WalletVO> detail() { LoginUser loginUserApplet = tokenService.getLoginUserApplet(); + VipSetting vipSetting = vipSettingService.getVipSettingByUserId(loginUserApplet.getUserid()); WalletVO walletVO = walletService.getWalletByUserId(loginUserApplet.getUserid()); + walletVO.setVipWithdrawalFee(vipSetting.getVipWithdrawalFee()); return R.ok(walletVO); } @@ -69,35 +73,45 @@ @RequestParam(required = false) Integer changeType, @ApiParam(value = "创建时间") @RequestParam(required = false) - @DateTimeFormat(pattern = "yyyy-MM") + @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate createTime) { Long userId = SecurityUtils.getUserId(); - LocalDateTime localDateTime = null; + LocalDateTime startTime = null; + LocalDateTime endTime = null; if (createTime != null) { - LocalTime specificTime = LocalTime.of(0, 0); - localDateTime = createTime.atTime(specificTime); + // 将 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) - .eq(createTime != null, BalanceChangeRecord::getCreateTime, localDateTime) + .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 = remoteOrderClient.goodsOrder(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()); + if (CollectionUtil.isNotEmpty(orderIds)){ + 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); } -- Gitblit v1.7.1