From 49ca7e1625c1ede03fc8f1b1b52e6f0ed7cc1ecd Mon Sep 17 00:00:00 2001 From: phpcjl <phpcjl@gmail.com> Date: 星期三, 04 十二月 2024 12:03:11 +0800 Subject: [PATCH] 1.补充文档 --- ruoyi-api/ruoyi-api-order/src/main/java/vo/OrderDetailVO.java | 2 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderController.java | 15 +++++-- ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/OrderService.java | 2 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java | 7 +-- ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/BalanceChangeRecord.java | 10 +++++ ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/WalletController.java | 40 +++++++++++++++++-- ruoyi-api/ruoyi-api-order/src/main/java/factory/RemoteOrderFallbackFactory.java | 9 ++++ ruoyi-api/ruoyi-api-order/src/main/java/feignClient/RemoteOrderClient.java | 11 +++++ ruoyi-api/ruoyi-api-order/src/main/java/feignClient/RemoteOrderGoodsClient.java | 3 + ruoyi-api/ruoyi-api-order/src/main/java/vo/OrderGoodsVO.java | 2 10 files changed, 82 insertions(+), 19 deletions(-) diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/BalanceChangeRecord.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/BalanceChangeRecord.java index 9792ae1..a3a839d 100644 --- a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/BalanceChangeRecord.java +++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/BalanceChangeRecord.java @@ -1,6 +1,7 @@ package com.ruoyi.account.api.model; import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; @@ -47,4 +48,13 @@ @ApiModelProperty("添加时间") private LocalDateTime createTime; + + @TableField(exist = false) + @ApiModelProperty("消费用户名称") + private String userName; + + @TableField(exist = false) + @ApiModelProperty("消费金额") + private BigDecimal amount; + } diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/factory/RemoteOrderFallbackFactory.java b/ruoyi-api/ruoyi-api-order/src/main/java/factory/RemoteOrderFallbackFactory.java index 031b643..8bf430c 100644 --- a/ruoyi-api/ruoyi-api-order/src/main/java/factory/RemoteOrderFallbackFactory.java +++ b/ruoyi-api/ruoyi-api-order/src/main/java/factory/RemoteOrderFallbackFactory.java @@ -1,8 +1,13 @@ package factory; +import com.ruoyi.common.core.domain.R; import feignClient.RemoteOrderClient; +import model.Order; +import model.OrderGood; import org.springframework.cloud.openfeign.FallbackFactory; import org.springframework.stereotype.Component; + +import java.util.List; /** * 订单服务降级处理 @@ -14,6 +19,10 @@ @Override public RemoteOrderClient create(Throwable cause) { return new RemoteOrderClient() { + @Override + public R<List<Order>> goodsOrder(List<Long> goodsIds) { + return R.fail("获取订单失败"); + } }; } } diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/feignClient/RemoteOrderClient.java b/ruoyi-api/ruoyi-api-order/src/main/java/feignClient/RemoteOrderClient.java index 362df6f..d6a7338 100644 --- a/ruoyi-api/ruoyi-api-order/src/main/java/feignClient/RemoteOrderClient.java +++ b/ruoyi-api/ruoyi-api-order/src/main/java/feignClient/RemoteOrderClient.java @@ -4,9 +4,14 @@ import com.ruoyi.common.core.domain.R; import factory.RemoteOrderFallbackFactory; import model.Order; +import model.OrderGood; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; + +import java.util.List; /** * 订单远程调用接口 @@ -14,4 +19,10 @@ */ @FeignClient(contextId = "RemoteOrderClient", value = ServiceNameConstants.ORDER_SERVICE, fallbackFactory = RemoteOrderFallbackFactory.class) public interface RemoteOrderClient { + + /** + * 查询指定商品订单 + */ + @PostMapping("/order/getOrderListByIds") + public R<List<Order>> goodsOrder(@RequestBody List<Long> orderIds); } diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/feignClient/RemoteOrderGoodsClient.java b/ruoyi-api/ruoyi-api-order/src/main/java/feignClient/RemoteOrderGoodsClient.java index 95afd49..2c3fc91 100644 --- a/ruoyi-api/ruoyi-api-order/src/main/java/feignClient/RemoteOrderGoodsClient.java +++ b/ruoyi-api/ruoyi-api-order/src/main/java/feignClient/RemoteOrderGoodsClient.java @@ -4,6 +4,7 @@ import com.ruoyi.common.core.constant.ServiceNameConstants; import com.ruoyi.common.core.domain.R; import factory.RemoteOrderGoodsFallbackFactory; +import model.Order; import model.OrderGood; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; @@ -18,5 +19,5 @@ * 查询指定商品订单 */ @PostMapping("/order-good/selectGoodsOrder") - public R<List<OrderGood>> goodsOrder(@RequestBody List<Long> goodsIds); + public R<List<Order>> goodsOrder(@RequestBody List<Long> goodsIds); } diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/vo/OrderDetailVO.java b/ruoyi-api/ruoyi-api-order/src/main/java/vo/OrderDetailVO.java similarity index 97% rename from ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/vo/OrderDetailVO.java rename to ruoyi-api/ruoyi-api-order/src/main/java/vo/OrderDetailVO.java index bf677d3..4063627 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/vo/OrderDetailVO.java +++ b/ruoyi-api/ruoyi-api-order/src/main/java/vo/OrderDetailVO.java @@ -1,4 +1,4 @@ -package com.ruoyi.order.vo; +package vo; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/vo/OrderGoodsVO.java b/ruoyi-api/ruoyi-api-order/src/main/java/vo/OrderGoodsVO.java similarity index 96% rename from ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/vo/OrderGoodsVO.java rename to ruoyi-api/ruoyi-api-order/src/main/java/vo/OrderGoodsVO.java index f733df3..3ecb979 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/vo/OrderGoodsVO.java +++ b/ruoyi-api/ruoyi-api-order/src/main/java/vo/OrderGoodsVO.java @@ -1,4 +1,4 @@ -package com.ruoyi.order.vo; +package vo; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; 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 58cc3d3..8661800 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 @@ -1,7 +1,10 @@ package com.ruoyi.account.controller; +import cn.hutool.core.collection.CollectionUtil; 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; @@ -9,10 +12,14 @@ 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.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; @@ -24,6 +31,8 @@ import java.time.LocalDateTime; import java.time.LocalTime; import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; @Api(tags = "小程序-个人中心-我的钱包") @RestController @@ -35,6 +44,10 @@ private TokenService tokenService; @Resource private WalletService walletService; + @Resource + private RemoteOrderClient remoteOrderClient; + @Resource + private AppUserService appUserService; /** * 钱包详情 @@ -52,10 +65,11 @@ */ @ApiOperation(value = "变更明细", notes = "变更明细") @GetMapping("change") - public R<List<BalanceChangeRecord>> change(@ApiParam(value = "变更类型", required = false) + public R<List<BalanceChangeRecord>> change(@ApiParam(value = "变更类型") @RequestParam(required = false) Integer changeType, - @ApiParam(value = "创建时间", required = false) - @RequestParam(required = false) @DateTimeFormat(pattern = "yyyy-MM-dd") + @ApiParam(value = "创建时间") + @RequestParam(required = false) + @DateTimeFormat(pattern = "yyyy-MM") LocalDate createTime) { Long userId = SecurityUtils.getUserId(); @@ -65,10 +79,26 @@ localDateTime = createTime.atTime(specificTime); } - return R.ok(balanceChangeRecordService.list(new LambdaQueryWrapper<BalanceChangeRecord>() + List<BalanceChangeRecord> list = balanceChangeRecordService.list(new LambdaQueryWrapper<BalanceChangeRecord>() .eq(changeType != null, BalanceChangeRecord::getChangeType, changeType) .eq(createTime != null, BalanceChangeRecord::getCreateTime, localDateTime) - .eq(BalanceChangeRecord::getAppUserId, userId))); + .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()); + }); + }); + return R.ok(list); } // /** diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderController.java index a0873b2..1bdb648 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderController.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderController.java @@ -5,7 +5,8 @@ import com.ruoyi.common.core.domain.R; import com.ruoyi.common.security.service.TokenService; import com.ruoyi.order.service.OrderService; -import com.ruoyi.order.vo.OrderDetailVO; +import org.springframework.web.bind.annotation.*; +import vo.OrderDetailVO; import com.ruoyi.order.vo.OrderVO; import com.ruoyi.system.api.model.LoginUser; import io.swagger.annotations.Api; @@ -13,10 +14,6 @@ import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import model.Order; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import java.util.List; @@ -53,6 +50,14 @@ } /** + * 通过订单ids获取订单列表 + */ + @PostMapping("/getOrderListByIds") + public R<List<Order>> getOrderListByIds(@RequestBody List<Long> ids){ + return R.ok(orderService.listByIds(ids)); + } + + /** * 订单详情 */ @ApiOperation(value = "订单详情", tags = {"小程序-订单详情"}) diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/OrderService.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/OrderService.java index aa5038b..709bfce 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/OrderService.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/OrderService.java @@ -1,7 +1,7 @@ package com.ruoyi.order.service; import com.baomidou.mybatisplus.extension.service.IService; -import com.ruoyi.order.vo.OrderDetailVO; +import vo.OrderDetailVO; import com.ruoyi.order.vo.OrderVO; import model.Order; diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java index 9cbcdc4..55b7583 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java @@ -15,8 +15,8 @@ import com.ruoyi.order.mapper.OrderGoodMapper; import com.ruoyi.order.mapper.OrderMapper; import com.ruoyi.order.service.OrderService; -import com.ruoyi.order.vo.OrderDetailVO; -import com.ruoyi.order.vo.OrderGoodsVO; +import vo.OrderDetailVO; +import vo.OrderGoodsVO; import com.ruoyi.order.vo.OrderVO; import com.ruoyi.other.api.domain.CouponInfo; import com.ruoyi.other.api.domain.Goods; @@ -26,13 +26,10 @@ import com.ruoyi.system.api.model.LoginUser; import model.Order; import model.OrderGood; -import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; -import java.time.LocalDateTime; -import java.time.ZoneId; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; -- Gitblit v1.7.1