From c5f7cdfaf69deb6fb3bb4a8379beb0e9bbe0f3c0 Mon Sep 17 00:00:00 2001 From: rentaiming <806181062@qq.com> Date: 星期五, 31 五月 2024 16:28:12 +0800 Subject: [PATCH] 修改循环注入 --- ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/forepart/ForepartAuctionSalesroomController.java | 8 ++ ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/OrderClient.java | 8 ++ ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomGoodsServiceImpl.java | 1 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/inner/InnerOrderAuctionBondController.java | 36 +++++++++-- ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/IAuctionSalesroomService.java | 2 ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/forepart/ForepartAuctionSalesroomGoodsController.java | 2 ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java | 100 +++++++++++++++++++++++++++++--- ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/OrderFallbackFactory.java | 9 +++ 8 files changed, 147 insertions(+), 19 deletions(-) diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/OrderFallbackFactory.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/OrderFallbackFactory.java index 1d66ebb..db3c93c 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/OrderFallbackFactory.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/OrderFallbackFactory.java @@ -58,6 +58,15 @@ return R.fail("获取保证金订单列表失败:" + cause.getMessage()); } + @Override + public R<OrderAuctionBond> getOrderAuctionBondone(MemberAuctionSalesroomBondDTO memberAuctionSalesroomBondDTO, String source) { + return R.fail("获取保证金订单失败" + cause.getMessage()); + } + + @Override + public R<OrderAuctionBond> getOrderAuctionBondone1(MemberAuctionSalesroomBondDTO memberAuctionSalesroomBondDTO, String source) { + return R.fail("获取保证金订单失败" + cause.getMessage()); + } @Override public R<Map<String, Object>> refund(List<RefundDTO> refundDTOS, String source) { diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/OrderClient.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/OrderClient.java index bdec9d5..c0b965c 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/OrderClient.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/OrderClient.java @@ -72,6 +72,14 @@ R<List<OrderAuctionBond>> getOrderAuctionBondList1(@RequestBody MemberAuctionSalesroomDTO memberAuctionSalesroomDTO, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); + @PostMapping("/order-auction-bond/getOrderAuctionBondone") + R<OrderAuctionBond> getOrderAuctionBondone(@RequestBody MemberAuctionSalesroomBondDTO memberAuctionSalesroomBondDTO, + @RequestHeader(SecurityConstants.FROM_SOURCE) String source); + + @PostMapping("/order-auction-bond/getOrderAuctionBondone1") + R<OrderAuctionBond> getOrderAuctionBondone1(@RequestBody MemberAuctionSalesroomBondDTO memberAuctionSalesroomBondDTO, + @RequestHeader(SecurityConstants.FROM_SOURCE) String source); + /** * 批量退款 * diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/forepart/ForepartAuctionSalesroomController.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/forepart/ForepartAuctionSalesroomController.java index b706ca7..db5f444 100644 --- a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/forepart/ForepartAuctionSalesroomController.java +++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/forepart/ForepartAuctionSalesroomController.java @@ -121,6 +121,14 @@ } + @RequestMapping("/CancelSignUpNow") + @ResponseBody + @ApiOperation(value = "用户端-拍卖取消报名") + public R CancelSignUpNow(@RequestBody MemberAuctionSalesroomBondDTO memberAuctionSalesroomBondDTO) { + iAuctionSalesroomService.CancelSignUpNow(memberAuctionSalesroomBondDTO); + return R.ok( ); + } + /** * 拍卖师端拍卖场立即开始 * diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/forepart/ForepartAuctionSalesroomGoodsController.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/forepart/ForepartAuctionSalesroomGoodsController.java index c83f520..444bb4c 100644 --- a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/forepart/ForepartAuctionSalesroomGoodsController.java +++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/forepart/ForepartAuctionSalesroomGoodsController.java @@ -93,7 +93,7 @@ @ResponseBody @ApiOperation(value = "拍卖师端-拍卖场商品立即结束") public R auctionSalesroomGoodsEnd(@RequestBody AuctionSalesroomGoodsDTO auctionSalesroomGoodsDTO) { - iAuctionSalesroomGoodsService.auctionSalesroomGoodsStart(auctionSalesroomGoodsDTO); + iAuctionSalesroomGoodsService.auctionSalesroomGoodsEnd(auctionSalesroomGoodsDTO); return R.ok(); } diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/IAuctionSalesroomService.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/IAuctionSalesroomService.java index 0596e10..495b3bc 100644 --- a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/IAuctionSalesroomService.java +++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/IAuctionSalesroomService.java @@ -73,6 +73,8 @@ PayInfoVO SaveSignUpNow(MemberAuctionSalesroomBondDTO memberAuctionSalesroomBondDTO); + void CancelSignUpNow(@RequestBody MemberAuctionSalesroomBondDTO memberAuctionSalesroomBondDTO); + void SaveBid(@RequestBody BidDTO BidVO); diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomGoodsServiceImpl.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomGoodsServiceImpl.java index 1d0e3e8..0dbf12e 100644 --- a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomGoodsServiceImpl.java +++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomGoodsServiceImpl.java @@ -399,6 +399,7 @@ if (auctionSalesroomGoods.getStatus().getCode()==1) { LambdaQueryWrapper<AuctionBidRecord> wrapper = Wrappers.lambdaQuery(); + wrapper.eq(AuctionBidRecord::getAuctionSalesroomId,auctionSalesroomGoodsDTO.getAuctionSalesroomId()); wrapper.eq(AuctionBidRecord::getTargetId, auctionSalesroomGoodsDTO.getGoodsSkuId()); wrapper.eq(AuctionBidRecord::getDelFlag, 0); wrapper.orderByDesc(AuctionBidRecord::getLastBidAmount); diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java index 527a996..dd17481 100644 --- a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java +++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java @@ -30,6 +30,7 @@ import com.ruoyi.auction.domain.AuctionBidRecord; import com.ruoyi.auction.domain.AuctionSalesroomGoods; import com.ruoyi.auction.domain.AuctionVideo; +import com.ruoyi.auction.mapper.AuctionBidRecordMapper; import com.ruoyi.auction.mapper.AuctionSalesroomGoodsMapper; import com.ruoyi.auction.mapper.AuctionSalesroomMapper; import com.ruoyi.auction.service.*; @@ -40,6 +41,7 @@ import com.ruoyi.common.core.enums.AuctionOrderTypeEnum; import com.ruoyi.common.core.enums.AuctionStartStatusEnum; import com.ruoyi.common.core.enums.BidStatusEnum; +import com.ruoyi.common.core.enums.BondStatusEnum; import com.ruoyi.common.core.exception.ServiceException; import com.ruoyi.common.core.utils.IDhelper; import com.ruoyi.common.core.utils.StringUtils; @@ -54,12 +56,7 @@ import com.ruoyi.system.api.domain.Member; import com.ruoyi.system.api.domain.OrderAuctionBond; import com.ruoyi.system.api.domain.SysUser; -import com.ruoyi.system.api.domain.dto.AppMiniLoginDTO; -import com.ruoyi.system.api.domain.dto.BidDTO; -import com.ruoyi.system.api.domain.dto.GoodsStockUpdDTO; -import com.ruoyi.system.api.domain.dto.MemberAuctionSalesroomBondDTO; -import com.ruoyi.system.api.domain.dto.MemberAuctionSalesroomDTO; -import com.ruoyi.system.api.domain.dto.MemberAuctionSalesroomWdDTO; +import com.ruoyi.system.api.domain.dto.*; import com.ruoyi.system.api.domain.vo.PayInfoVO; import com.ruoyi.system.api.domain.vo.WdMemberAuctionSalesroomVO; import com.ruoyi.system.api.feignClient.GoodsSkuClient; @@ -69,11 +66,7 @@ import io.seata.spring.annotation.GlobalTransactional; import java.math.BigDecimal; import java.time.LocalDateTime; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Set; +import java.util.*; import java.util.function.Function; import java.util.stream.Collectors; import javax.annotation.Resource; @@ -133,6 +126,9 @@ private static final String WX_APPID = "wxb7f0ea286fc4e535"; private static final String WX_SECRET = "852a2512a6ab559cafc68bae5d4160ac"; + + @Resource + private AuctionBidRecordMapper auctionBidRecordMapper; //支付寶 @@ -425,6 +421,88 @@ } @Override + public void CancelSignUpNow(MemberAuctionSalesroomBondDTO memberAuctionSalesroomBondDTO) { + if (memberAuctionSalesroomBondDTO.getBondType()==2){ + OrderAuctionBond orderAuctionBond = orderClient.getOrderAuctionBondone(memberAuctionSalesroomBondDTO, SecurityConstants.INNER).getData(); + + List<RefundDTO> refundDTOList = new ArrayList<>(); + RefundDTO refundDTO = new RefundDTO(); + refundDTO.setOrderNo(orderAuctionBond.getOrderNo()); + refundDTO.setAmount(orderAuctionBond.getBond()); + + LambdaQueryWrapper<AuctionBidRecord> wrapper = Wrappers.lambdaQuery(); + wrapper.eq(AuctionBidRecord::getAuctionSalesroomId,memberAuctionSalesroomBondDTO.getAuctionSalesroomId()); + wrapper.eq(AuctionBidRecord::getAuctionType,2); + wrapper.eq(AuctionBidRecord::getStatus,BidStatusEnum.SUCCESSFUL); + wrapper.eq(AuctionBidRecord::getDelFlag, 0); + AuctionBidRecord auctionBidRecord = auctionBidRecordMapper.selectOne(wrapper); + if (auctionBidRecord!=null){ + throw new ServiceException("当前拍卖场中标拍品订单未完成,请完成后再试。"); + } + + + // 远程调用订单服务进行退款 + Map<String, Object> data = orderClient.refund(refundDTOList, + SecurityConstants.INNER).getData(); + // 处理退款返回结果 + List<String> successfulOrders = new ArrayList<>(); + List<String> failedOrders = new ArrayList<>(); + + data.forEach((key, value) -> { + if ((boolean) value) { + successfulOrders.add(key); + } else { + failedOrders.add(key); + } + }); + // 退款成功的订单修改状态 + List<Long> ids = new ArrayList<>(); + ids.add(orderAuctionBond.getId()); + // 远程调用订单服务修改订单状态 + orderClient.updateOrderAuctionBondStatus(ids, BondStatusEnum.PAID); + + }else{ + OrderAuctionBond orderAuctionBond = orderClient.getOrderAuctionBondone1(memberAuctionSalesroomBondDTO, SecurityConstants.INNER).getData(); + List<RefundDTO> refundDTOList = new ArrayList<>(); + RefundDTO refundDTO = new RefundDTO(); + refundDTO.setOrderNo(orderAuctionBond.getOrderNo()); + refundDTO.setAmount(orderAuctionBond.getBond()); + + LambdaQueryWrapper<AuctionBidRecord> wrapper = Wrappers.lambdaQuery(); + wrapper.eq(AuctionBidRecord::getTargetId, memberAuctionSalesroomBondDTO.getAuctionGoodsId()); + wrapper.eq(AuctionBidRecord::getAuctionType,1); + wrapper.eq(AuctionBidRecord::getStatus,BidStatusEnum.SUCCESSFUL); + wrapper.eq(AuctionBidRecord::getDelFlag, 0); + AuctionBidRecord auctionBidRecord = auctionBidRecordMapper.selectOne(wrapper); + if (auctionBidRecord!=null){ + throw new ServiceException("当前拍卖场中标拍品订单未完成,请完成后再试。"); + } + + // 远程调用订单服务进行退款 + Map<String, Object> data = orderClient.refund(refundDTOList, + SecurityConstants.INNER).getData(); + // 处理退款返回结果 + List<String> successfulOrders = new ArrayList<>(); + List<String> failedOrders = new ArrayList<>(); + + data.forEach((key, value) -> { + if ((boolean) value) { + successfulOrders.add(key); + } else { + failedOrders.add(key); + } + }); + // 退款成功的订单修改状态 + List<Long> ids = new ArrayList<>(); + ids.add(orderAuctionBond.getId()); + // 远程调用订单服务修改订单状态 + orderClient.updateOrderAuctionBondStatus(ids, BondStatusEnum.PAID); + } + + + } + + @Override public void SaveBid(BidDTO bidVO) { Member membeOne = memberClient.getMembeOne(bidVO.getMemberId(), SecurityConstants.INNER).getData(); if (bidVO.getAuctionType()==2){ diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/inner/InnerOrderAuctionBondController.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/inner/InnerOrderAuctionBondController.java index 7e3e869..3a81973 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/inner/InnerOrderAuctionBondController.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/inner/InnerOrderAuctionBondController.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.ruoyi.common.core.constant.SecurityConstants; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.enums.AuctionOrderTypeEnum; import com.ruoyi.common.core.enums.BondStatusEnum; @@ -16,13 +17,7 @@ import com.ruoyi.system.api.domain.vo.PayInfoVO; import org.apache.poi.ss.formula.functions.T; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; /** * <p> @@ -122,7 +117,34 @@ wrapper.eq(OrderAuctionBond::getDelFlag,0); List<OrderAuctionBond> list = iOrderAuctionBondService.list(wrapper); return R.ok(list); + } + @InnerAuth + @PostMapping("/getOrderAuctionBondone1") + @ResponseBody + public R<OrderAuctionBond> getOrderAuctionBondone1(@RequestBody MemberAuctionSalesroomBondDTO memberAuctionSalesroomBondDTO) { + LambdaQueryWrapper<OrderAuctionBond> wrapper= Wrappers.lambdaQuery(); + wrapper.eq(OrderAuctionBond::getMemberId,memberAuctionSalesroomBondDTO.getMemberId()); + wrapper.eq(OrderAuctionBond::getAuctionGoodsId,memberAuctionSalesroomBondDTO.getAuctionGoodsId()); + wrapper.eq(OrderAuctionBond::getBoundStatus,1); + wrapper.eq(OrderAuctionBond::getDelFlag,0); + OrderAuctionBond one = iOrderAuctionBondService.getOne(wrapper); + return R.ok(one); + } + + + @InnerAuth + @PostMapping("/getOrderAuctionBondone") + @ResponseBody + public R<OrderAuctionBond> getOrderAuctionBondone(@RequestBody MemberAuctionSalesroomBondDTO memberAuctionSalesroomBondDTO, + @RequestHeader(SecurityConstants.FROM_SOURCE) String source){ + LambdaQueryWrapper<OrderAuctionBond> wrapper= Wrappers.lambdaQuery(); + wrapper.eq(OrderAuctionBond::getMemberId,memberAuctionSalesroomBondDTO.getMemberId()); + wrapper.eq(OrderAuctionBond::getAuctionSalesroomId,memberAuctionSalesroomBondDTO.getAuctionSalesroomId()); + wrapper.eq(OrderAuctionBond::getBoundStatus,2); + wrapper.eq(OrderAuctionBond::getDelFlag,0); + OrderAuctionBond one = iOrderAuctionBondService.getOne(wrapper); + return R.ok(one); } @InnerAuth -- Gitblit v1.7.1