From d7dc4db8d005a58f51d21d35147317762a16373f Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期五, 16 八月 2024 13:40:11 +0800 Subject: [PATCH] 修改bug --- ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/MemberClient.java | 6 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/PaylogServiceImpl.java | 343 +++++++++++++-------- ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/mapper/AuctionBondJlMapper.java | 2 ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionGoodsServiceImpl.java | 2 ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomGoodsServiceImpl.java | 2 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/AuctionClient.java | 20 + ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/impl/ArticleServiceImpl.java | 5 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderAuctionBondServiceImpl.java | 45 ++ ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/inner/MemberController.java | 14 ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java | 12 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/MemberFallbackFactory.java | 5 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/IMemberService.java | 2 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsGroupPurchaseServiceImpl.java | 7 ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/forepart/ForepartAuctionSalesroomController.java | 104 +++--- ruoyi-gateway/target/classes/bootstrap.yml | 8 ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/impl/MemberArticleCollectionServiceImpl.java | 14 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/forepart/ForepartPaylogController.java | 9 ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/inner/AuctionSalesroomController.java | 12 ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionBondJlServiceImpl.java | 4 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/LogisticsServiceImpl.java | 6 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/AuctionBondJl.java | 2 ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/inner/AuctionBondJlController.java | 42 ++ ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/AuctionFallbackFactory.java | 12 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/MemberGoodsCollectionServiceImpl.java | 102 +++--- ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/Member.java | 2 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSkuServiceImpl.java | 28 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSeckillServiceImpl.java | 5 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java | 20 ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java | 42 ++ ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/inner/GoodsGroupPurchaseController.java | 18 ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/IAuctionSalesroomService.java | 4 ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionBrowseRecordServiceImpl.java | 9 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberServiceImpl.java | 5 ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/IAuctionBondJlService.java | 2 34 files changed, 616 insertions(+), 299 deletions(-) diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/domain/AuctionBondJl.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/AuctionBondJl.java similarity index 96% rename from ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/domain/AuctionBondJl.java rename to ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/AuctionBondJl.java index c19126c..e24dd2f 100644 --- a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/domain/AuctionBondJl.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/AuctionBondJl.java @@ -1,4 +1,4 @@ -package com.ruoyi.auction.domain; +package com.ruoyi.system.api.domain; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/Member.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/Member.java index 7617608..8710c60 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/Member.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/Member.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonInclude; import com.ruoyi.common.core.enums.GenderEnum; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -15,7 +16,6 @@ import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; -import com.fasterxml.jackson.annotation.JsonInclude; /** * <p> * 会员表 diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/AuctionFallbackFactory.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/AuctionFallbackFactory.java index ceb5abb..bb11821 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/AuctionFallbackFactory.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/AuctionFallbackFactory.java @@ -2,6 +2,7 @@ import com.ruoyi.common.core.domain.R; import com.ruoyi.system.api.domain.AppMiniLoginVO; +import com.ruoyi.system.api.domain.AuctionBondJl; import com.ruoyi.system.api.domain.AuctionGoods; import com.ruoyi.system.api.domain.AuctionSalesroom; import com.ruoyi.system.api.domain.AuctionSalesroomGoods; @@ -84,6 +85,17 @@ String source) { return R.fail("获取拍卖会商品失败" + cause.getMessage()); } + + @Override + public R<AuctionBondJl> getAuctionBondJLByTargetId(Long targetId, Long memberId, + Integer bondType, String source) { + return R.fail("获取拍卖参与记录失败" + cause.getMessage()); + } + + @Override + public R<?> saveOrUpdateAuctionBondJl(AuctionBondJl auctionBondJl, String source) { + return R.fail("保存拍卖参与记录失败" + cause.getMessage()); + } }; } } diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/MemberFallbackFactory.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/MemberFallbackFactory.java index 385fe0d..877a40d 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/MemberFallbackFactory.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/MemberFallbackFactory.java @@ -68,6 +68,11 @@ String source) { return R.fail("获取用户列表失败:" + cause.getMessage()); } + + @Override + public R<Member> getMemberByUserId(Long userId, String source) { + return R.fail("获取用户信息失败:" + cause.getMessage()); + } }; } diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/AuctionClient.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/AuctionClient.java index 8cbd02a..bbf9dcb 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/AuctionClient.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/AuctionClient.java @@ -4,6 +4,7 @@ import com.ruoyi.common.core.constant.ServiceNameConstants; import com.ruoyi.common.core.domain.R; import com.ruoyi.system.api.domain.AppMiniLoginVO; +import com.ruoyi.system.api.domain.AuctionBondJl; import com.ruoyi.system.api.domain.AuctionGoods; import com.ruoyi.system.api.domain.AuctionSalesroom; import com.ruoyi.system.api.domain.AuctionSalesroomGoods; @@ -21,6 +22,7 @@ import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestHeader; +import org.springframework.web.bind.annotation.RequestParam; @FeignClient(contextId = "auctionClient", value = ServiceNameConstants.RUOYI_AUCTION, fallbackFactory = AuctionFallbackFactory.class) public interface AuctionClient { @@ -70,4 +72,22 @@ R<AuctionSalesroomGoods> getAuctionSalesroomGoodsById( @PathVariable("goodsSkuId") Long goodsSkuId, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); + + @GetMapping("/auction-salesroom/getAuctionBondJLByTargetId") + R<AuctionBondJl> getAuctionBondJLByTargetId( + @RequestParam("targetId") Long targetId, + @RequestParam("memberId") Long memberId, + @RequestParam("bondType") Integer bondType, + @RequestHeader(SecurityConstants.FROM_SOURCE) String source); + + /** + * 保存更新拍卖报名记录 + * + * @param auctionBondJl + * @param source + * @return + */ + @PostMapping("/auction-bond-jl/saveOrUpdateAuctionBondJl") + R<?> saveOrUpdateAuctionBondJl(@RequestBody AuctionBondJl auctionBondJl, + @RequestHeader(SecurityConstants.FROM_SOURCE) String source); } diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/MemberClient.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/MemberClient.java index cfb944d..1d55bf3 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/MemberClient.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/MemberClient.java @@ -14,6 +14,8 @@ import java.util.Collection; import java.util.List; import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestHeader; @@ -50,4 +52,8 @@ @PostMapping("/member/list-by-level") R<List<Member>> getMemberListByLevel(@RequestBody List<String> memberLevelList, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); + + @GetMapping("/member/getMemberByUserId/{userId}") + R<Member> getMemberByUserId(@PathVariable("userId") Long userId, + @RequestHeader(SecurityConstants.FROM_SOURCE) String source); } diff --git a/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java b/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java index ccdde28..7857a8d 100644 --- a/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java +++ b/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java @@ -1,25 +1,31 @@ package com.ruoyi.auth.controller; import cn.hutool.core.util.RandomUtil; +import com.google.common.collect.Lists; import com.ruoyi.auth.form.ChangePasswordBody; import com.ruoyi.auth.form.LoginBody; import com.ruoyi.auth.form.RegisterBody; import com.ruoyi.auth.service.SysLoginService; import com.ruoyi.auth.utils.JuTongDaSMSUtil; import com.ruoyi.common.core.constant.CacheConstants; +import com.ruoyi.common.core.constant.SecurityConstants; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.exception.ServiceException; import com.ruoyi.common.core.utils.JwtUtils; import com.ruoyi.common.core.utils.StringUtils; +import com.ruoyi.common.core.utils.page.CollUtils; +import com.ruoyi.common.core.web.domain.AjaxResult; import com.ruoyi.common.redis.service.RedisService; import com.ruoyi.common.security.annotation.InnerAuth; import com.ruoyi.common.security.auth.AuthUtil; import com.ruoyi.common.security.service.TokenService; import com.ruoyi.common.security.utils.SecurityUtils; import com.ruoyi.system.api.domain.AppMiniLoginVO; +import com.ruoyi.system.api.domain.Member; import com.ruoyi.system.api.domain.SysRole; import com.ruoyi.system.api.domain.SysUser; import com.ruoyi.system.api.domain.dto.AppMiniLoginDTO; +import com.ruoyi.system.api.feignClient.MemberClient; import com.ruoyi.system.api.feignClient.SysUserClient; import com.ruoyi.system.api.model.LoginUser; import io.swagger.annotations.Api; @@ -27,8 +33,11 @@ import java.util.Date; import java.util.HashMap; import java.util.List; +import java.util.Map; import java.util.Objects; import java.util.concurrent.TimeUnit; +import java.util.stream.Collectors; +import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -60,7 +69,10 @@ private SysUserClient userClient; @Autowired private RedisService redisService; - + @Resource + private SysUserClient sysUserClient; + @Resource + private MemberClient memberClient; @ApiOperation("小程序登录") @@ -201,6 +213,34 @@ changePasswordBody.getPassword(), changePasswordBody.getVerificationCode()); return R.ok(); } + + @GetMapping("access-token") + @ApiOperation(value = "获取accessToken") + public AjaxResult getAccessToken() { + // List<Member> memberListByIds = memberClient.getMemberListByIds( + // Lists.newArrayList(1821462999835160577L, 1821743236321980417L, + // 1821757052577460226L, 1821833986934124545L, 1822807281414254593L, + // 1823168855446466562L, 1823174222863740930L, 1823174926122692610L, + // 1823187615653900289L, 1823233301862756353L), SecurityConstants.INNER) + // .getData(); + List<Member> memberListByIds = memberClient.getMemberListByIds( + Lists.newArrayList(1797556140608446465L, 1797810418820390913L, + 1798197038803324929L, 1800411185637076994L), SecurityConstants.INNER) + .getData(); + List<Map<String, Object>> memberList = CollUtils.emptyList(); + if (CollUtils.isNotEmpty(memberListByIds)) { + AppMiniLoginVO appMiniLoginVo = new AppMiniLoginVO(); + memberList = memberListByIds.stream().map(item -> { + SysUser sysUser = sysUserClient.getSysUser(item.getUserId()).getData(); + appMiniLoginVo.setZfbuserid(item.getZfbOpenid()); + appMiniLoginVo.setSysUser(sysUser); + appMiniLoginVo.setMemberid(item.getId()); + appMiniLoginVo.setSysUser(sysUser); + return tokenService.createMiniToken(appMiniLoginVo); + }).collect(Collectors.toList()); + } + return AjaxResult.success(memberList); + } } diff --git a/ruoyi-gateway/target/classes/bootstrap.yml b/ruoyi-gateway/target/classes/bootstrap.yml index 9a9c3db..157c1a2 100644 --- a/ruoyi-gateway/target/classes/bootstrap.yml +++ b/ruoyi-gateway/target/classes/bootstrap.yml @@ -56,14 +56,14 @@ nacos: discovery: # 服务注册地址 - server-addr: 127.0.0.1:8848 + server-addr: 127.0.0.1:8888 service: ${spring.application.name} group: DEFAULT_GROUP - namespace: c2f47d1c-6355-4a68-b357-7523d73b2d13 + namespace: 348e7dd1-5101-4c61-a8dd-d835a2a125ab config: # 配置中心地址 - server-addr: 127.0.0.1:8848 - namespace: c2f47d1c-6355-4a68-b357-7523d73b2d13 + server-addr: 127.0.0.1:8888 + namespace: 348e7dd1-5101-4c61-a8dd-d835a2a125ab group: DEFAULT_GROUP name: ${spring.application.name} # 配置文件格式 diff --git a/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/impl/ArticleServiceImpl.java b/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/impl/ArticleServiceImpl.java index 5e5cd79..f1f02a5 100644 --- a/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/impl/ArticleServiceImpl.java +++ b/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/impl/ArticleServiceImpl.java @@ -31,6 +31,7 @@ import com.ruoyi.common.core.utils.page.BeanUtils; import com.ruoyi.common.core.utils.page.CollUtils; import com.ruoyi.common.core.utils.page.PageDTO; +import com.ruoyi.common.security.utils.SecurityUtils; import com.ruoyi.system.api.domain.Member; import com.ruoyi.system.api.domain.SysUser; import com.ruoyi.system.api.domain.dto.MemberDTO; @@ -212,6 +213,8 @@ @Override public PageDTO<ArticleCommentsVO> getArticleCommentsList(ArticleDTO articleDTO) { + Long userId = SecurityUtils.getUserId(); + Member member = memberClient.getMemberByUserId(userId, SecurityConstants.INNER).getData(); Page<ArticleComments> page = new Page<>(articleDTO.getPageCurr(), articleDTO.getPageSize()); LambdaQueryWrapper< ArticleComments> wrapper= Wrappers.lambdaQuery(); wrapper.eq(ArticleComments::getArticleId,articleDTO.getId()); @@ -236,7 +239,7 @@ } LambdaQueryWrapper<MemberLike> wrapper1= Wrappers.lambdaQuery(); - wrapper1.eq(MemberLike::getMemberId,articleCommentsVO.getMemberId()); + wrapper1.eq(MemberLike::getMemberId, member.getId()); wrapper1.eq(MemberLike::getArticleId,articleCommentsVO.getId()); wrapper1.eq(MemberLike::getType,2); wrapper1.eq( MemberLike::getDelFlag,0); diff --git a/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/impl/MemberArticleCollectionServiceImpl.java b/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/impl/MemberArticleCollectionServiceImpl.java index 5f7d84a..f434c3e 100644 --- a/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/impl/MemberArticleCollectionServiceImpl.java +++ b/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/impl/MemberArticleCollectionServiceImpl.java @@ -4,27 +4,24 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.ruoyi.article.domain.Article; -import com.ruoyi.article.domain.MemberArticleCollection; import com.ruoyi.article.controller.forepart.dto.ArticleDTO; import com.ruoyi.article.controller.forepart.dto.MemberArticleCollectionDTO; +import com.ruoyi.article.controller.forepart.vo.MemberArticleCollectionVO; +import com.ruoyi.article.domain.Article; +import com.ruoyi.article.domain.MemberArticleCollection; import com.ruoyi.article.mapper.ArticleMapper; import com.ruoyi.article.mapper.MemberArticleCollectionMapper; import com.ruoyi.article.service.IMemberArticleCollectionService; -import com.ruoyi.article.controller.forepart.vo.MemberArticleCollectionVO; import com.ruoyi.common.core.constant.SecurityConstants; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.exception.ServiceException; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.core.utils.page.PageDTO; -import com.ruoyi.system.api.domain.GoodsGroupPurchase; -import com.ruoyi.system.api.domain.GoodsSku; import com.ruoyi.system.api.domain.Member; -import com.ruoyi.system.api.domain.dto.AuctionGoodsListPageDTO; import com.ruoyi.system.api.feignClient.MemberClient; - import java.util.HashSet; import java.util.List; +import java.util.Objects; import java.util.Set; import java.util.stream.Collectors; import javax.annotation.Resource; @@ -117,6 +114,9 @@ List<MemberArticleCollectionVO> list2 = articleCommentsVOPageDTO.getList(); for (MemberArticleCollectionVO memberArticleCollectionVO:list2){ Article byId = articleMapper.selectById(memberArticleCollectionVO.getTargetId()); + if (Objects.isNull(byId)) { + continue; + } memberArticleCollectionVO.setContent(byId.getContent()); memberArticleCollectionVO.setImages(byId.getImages()); memberArticleCollectionVO.setTitle(byId.getTitle()); 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 f859079..2ec17bf 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 @@ -3,38 +3,38 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.ruoyi.auction.domain.AuctionBidRecord; -import com.ruoyi.auction.domain.AuctionBondJl; import com.ruoyi.auction.mapper.AuctionBondJlMapper; import com.ruoyi.auction.mapper.AuctionGoodsMapper; -import com.ruoyi.auction.service.IAuctionGoodsService; -import com.ruoyi.common.core.constant.SecurityConstants; -import com.ruoyi.common.core.enums.BidStatusEnum; -import com.ruoyi.common.core.enums.BondStatusEnum; -import com.ruoyi.common.core.exception.ServiceException; -import com.ruoyi.system.api.domain.AuctionGoods; -import com.ruoyi.system.api.domain.OrderAuctionBond; -import com.ruoyi.system.api.domain.dto.*; import com.ruoyi.auction.service.IAuctionSalesroomGoodsService; +import com.ruoyi.auction.service.IAuctionSalesroomService; +import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.core.exception.ServiceException; +import com.ruoyi.common.core.utils.page.PageDTO; +import com.ruoyi.system.api.domain.AppMiniLoginVO; +import com.ruoyi.system.api.domain.AuctionBondJl; +import com.ruoyi.system.api.domain.AuctionGoods; +import com.ruoyi.system.api.domain.AuctionSalesroom; +import com.ruoyi.system.api.domain.dto.AppMiniLoginDTO; +import com.ruoyi.system.api.domain.dto.AuctionSalesroomDTO; +import com.ruoyi.system.api.domain.dto.ForepartAuctionBidRecordDTO; +import com.ruoyi.system.api.domain.dto.MemberAuctionSalesroomBondDTO; +import com.ruoyi.system.api.domain.dto.MemberAuctionSalesroomDTO; import com.ruoyi.system.api.domain.vo.ForepartAuctionSalesroomVO; import com.ruoyi.system.api.domain.vo.MemberAuctionSalesroomInfoVO; import com.ruoyi.system.api.domain.vo.MemberAuctionSalesroomVO; -import com.ruoyi.system.api.domain.AuctionSalesroom; -import com.ruoyi.auction.service.IAuctionSalesroomService; -import com.ruoyi.common.core.domain.R; -import com.ruoyi.common.core.utils.page.PageDTO; -import com.ruoyi.system.api.domain.AppMiniLoginVO; import com.ruoyi.system.api.domain.vo.PayInfoVO; import com.ruoyi.system.api.domain.vo.WdMemberAuctionSalesroomVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import javax.annotation.Resource; - -import org.springframework.web.bind.annotation.*; - -import java.time.LocalDateTime; -import java.util.ArrayList; +import java.math.BigDecimal; import java.util.List; +import java.util.Objects; +import javax.annotation.Resource; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; /** * <p> @@ -44,6 +44,7 @@ * @author mitao * @since 2024-05-16 */ +@Slf4j @RestController @RequestMapping("/forepart/auction-salesroom") @Api(value = "拍卖场相关接口", tags = "拍卖场相关接口", description = "拍卖场相关接口") @@ -123,54 +124,61 @@ @PostMapping("/SaveSignUpNow") @ApiOperation(value = "用户端-拍卖立即报名") public R<PayInfoVO> SaveSignUpNow(@RequestBody MemberAuctionSalesroomBondDTO memberAuctionSalesroomBondDTO) { - if (memberAuctionSalesroomBondDTO.getBondType()==1){ + log.info("=================================开始拍卖报名================================="); + if (memberAuctionSalesroomBondDTO.getBondType() == 1) { AuctionGoods auctionGoods = AuctionGoodsMapper.selectById(memberAuctionSalesroomBondDTO.getAuctionGoodsId()); if (auctionGoods.getListingStatus().getCode()==1){ throw new ServiceException("商品拍卖下线"); } - }else{ - AuctionSalesroom byId = iAuctionSalesroomService.getById(memberAuctionSalesroomBondDTO.getAuctionSalesroomId()); - if(byId==null){ - LambdaQueryWrapper<AuctionSalesroom> wrapper= Wrappers.lambdaQuery(); - wrapper.eq(AuctionSalesroom::getAuctionSalesroomNo,memberAuctionSalesroomBondDTO.getAuctionSalesroomId()); - wrapper.eq(AuctionSalesroom::getDelFlag,0); - byId =iAuctionSalesroomService.getOne(wrapper); - memberAuctionSalesroomBondDTO.setAuctionSalesroomId(byId.getId()); - } - } - if (memberAuctionSalesroomBondDTO.getBondType()==1) { LambdaQueryWrapper<AuctionBondJl> wrapper = Wrappers.lambdaQuery(); - wrapper.eq(AuctionBondJl::getAuctionGoodsId, memberAuctionSalesroomBondDTO.getAuctionGoodsId()); + wrapper.eq(AuctionBondJl::getAuctionGoodsId, + memberAuctionSalesroomBondDTO.getAuctionGoodsId()); wrapper.eq(AuctionBondJl::getMemberId, memberAuctionSalesroomBondDTO.getMemberId()); wrapper.eq(AuctionBondJl::getIsState, 0); - AuctionBondJl auctionSalesroom = auctionBondJlMapper.selectOne(wrapper); - if (auctionSalesroom==null){ - AuctionBondJl auctionBondJl = new AuctionBondJl(); + AuctionBondJl auctionBondJl = auctionBondJlMapper.selectOne(wrapper); + if (Objects.nonNull(auctionBondJl)) { + throw new ServiceException("你已报名"); + } + log.info("auctionGoods:{}", auctionGoods); + if (auctionGoods.getBond() == null + || auctionGoods.getBond().compareTo(BigDecimal.ZERO) == 0) { + auctionBondJl = new AuctionBondJl(); auctionBondJl.setAuctionGoodsId(memberAuctionSalesroomBondDTO.getAuctionGoodsId()); auctionBondJl.setIsState(0); auctionBondJl.setBondType(memberAuctionSalesroomBondDTO.getBondType()); auctionBondJl.setMemberId(memberAuctionSalesroomBondDTO.getMemberId()); auctionBondJlMapper.insert(auctionBondJl); - }else{ - throw new ServiceException("你已报名"); } - }else{ + }else{ + AuctionSalesroom byId = iAuctionSalesroomService.getById(memberAuctionSalesroomBondDTO.getAuctionSalesroomId()); + if(byId==null){ + LambdaQueryWrapper<AuctionSalesroom> auctionSalesroomWrapper = Wrappers.lambdaQuery(); + auctionSalesroomWrapper.eq(AuctionSalesroom::getAuctionSalesroomNo, + memberAuctionSalesroomBondDTO.getAuctionSalesroomId()); + auctionSalesroomWrapper.eq(AuctionSalesroom::getDelFlag, 0); + byId = iAuctionSalesroomService.getOne(auctionSalesroomWrapper); + } + memberAuctionSalesroomBondDTO.setAuctionSalesroomId(byId.getId()); LambdaQueryWrapper<AuctionBondJl> wrapper = Wrappers.lambdaQuery(); - wrapper.eq(AuctionBondJl::getAuctionSalesroomId, memberAuctionSalesroomBondDTO.getAuctionSalesroomId()); + wrapper.eq(AuctionBondJl::getAuctionSalesroomId, + memberAuctionSalesroomBondDTO.getAuctionSalesroomId()); wrapper.eq(AuctionBondJl::getMemberId, memberAuctionSalesroomBondDTO.getMemberId()); wrapper.eq(AuctionBondJl::getIsState, 0); - AuctionBondJl auctionSalesroom = auctionBondJlMapper.selectOne(wrapper); - if (auctionSalesroom==null){ - AuctionBondJl auctionBondJl = new AuctionBondJl(); - auctionBondJl.setAuctionSalesroomId(memberAuctionSalesroomBondDTO.getAuctionSalesroomId()); + AuctionBondJl auctionBondJl = auctionBondJlMapper.selectOne(wrapper); + if (Objects.nonNull(auctionBondJl)) { + throw new ServiceException("你已报名"); + } + log.info("AuctionSalesroom:{}", byId); + if (byId.getBond() == null || byId.getBond().compareTo(BigDecimal.ZERO) == 0) { + auctionBondJl = new AuctionBondJl(); + auctionBondJl.setAuctionSalesroomId( + memberAuctionSalesroomBondDTO.getAuctionSalesroomId()); auctionBondJl.setIsState(0); auctionBondJl.setBondType(memberAuctionSalesroomBondDTO.getBondType()); auctionBondJl.setMemberId(memberAuctionSalesroomBondDTO.getMemberId()); auctionBondJlMapper.insert(auctionBondJl); - }else{ - throw new ServiceException("你已报名"); } - } + } PayInfoVO payInfoVO = iAuctionSalesroomService.SaveSignUpNow(memberAuctionSalesroomBondDTO); diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/inner/AuctionBondJlController.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/inner/AuctionBondJlController.java new file mode 100644 index 0000000..e0f8be7 --- /dev/null +++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/inner/AuctionBondJlController.java @@ -0,0 +1,42 @@ +package com.ruoyi.auction.controller.inner; + +import com.ruoyi.auction.service.IAuctionBondJlService; +import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.security.annotation.InnerAuth; +import com.ruoyi.system.api.domain.AuctionBondJl; +import java.util.Objects; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @author mitao + * @date 2024/8/14 + */ +@Slf4j +@RestController +@RequiredArgsConstructor +@RequestMapping("/auction-bond-jl") +public class AuctionBondJlController { + + private final IAuctionBondJlService auctionBondJlService; + + /** + * 保存更新拍卖报名记录 + * + * @param auctionBondJl + * @return + */ + @InnerAuth + @PostMapping("/saveOrUpdateAuctionBondJl") + R<?> saveOrUpdateAuctionBondJl(@RequestBody AuctionBondJl auctionBondJl) { + log.info("保证金支付回调,saveOrUpdateAuctionBondJl 入参{}", auctionBondJl); + if (Objects.nonNull(auctionBondJl)) { + auctionBondJlService.saveOrUpdate(auctionBondJl); + } + return R.ok(); + } +} diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/inner/AuctionSalesroomController.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/inner/AuctionSalesroomController.java index c94fda0..7756ad3 100644 --- a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/inner/AuctionSalesroomController.java +++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/inner/AuctionSalesroomController.java @@ -4,6 +4,7 @@ import com.ruoyi.auction.service.IAuctionSalesroomService; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.security.annotation.InnerAuth; +import com.ruoyi.system.api.domain.AuctionBondJl; import com.ruoyi.system.api.domain.AuctionSalesroom; import com.ruoyi.system.api.domain.AuctionSalesroomGoods; import com.ruoyi.system.api.domain.dto.MemberAuctionSalesroomBondDTO; @@ -15,6 +16,7 @@ import org.springframework.web.bind.annotation.PostMapping; 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; @@ -75,4 +77,14 @@ @PathVariable("goodsSkuId") Long goodsSkuId) { return R.ok(iAuctionSalesroomService.getAuctionSalesroomGoodsById(goodsSkuId)); } + + @InnerAuth + @GetMapping("/getAuctionBondJLByTargetId") + R<AuctionBondJl> getAuctionBondJLBySalesroomId( + @RequestParam("targetId") Long targetId, + @RequestParam("memberId") Long memberId, + @RequestParam("bondType") Integer bondType) { + return R.ok(iAuctionSalesroomService.getAuctionBondJLBySalesroomId(targetId, + memberId, bondType)); + } } diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/mapper/AuctionBondJlMapper.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/mapper/AuctionBondJlMapper.java index f4d9760..efe49b0 100644 --- a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/mapper/AuctionBondJlMapper.java +++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/mapper/AuctionBondJlMapper.java @@ -1,7 +1,7 @@ package com.ruoyi.auction.mapper; -import com.ruoyi.auction.domain.AuctionBondJl; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.system.api.domain.AuctionBondJl; /** * <p> diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/IAuctionBondJlService.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/IAuctionBondJlService.java index a7bfb34..c825d7e 100644 --- a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/IAuctionBondJlService.java +++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/IAuctionBondJlService.java @@ -1,7 +1,7 @@ package com.ruoyi.auction.service; -import com.ruoyi.auction.domain.AuctionBondJl; import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.system.api.domain.AuctionBondJl; /** * <p> 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 cec7c03..eb71dc1 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 @@ -16,6 +16,7 @@ import com.ruoyi.auction.controller.management.vo.MgtAuctionSalesroomVO; import com.ruoyi.common.core.utils.page.PageDTO; import com.ruoyi.system.api.domain.AppMiniLoginVO; +import com.ruoyi.system.api.domain.AuctionBondJl; import com.ruoyi.system.api.domain.AuctionSalesroom; import com.ruoyi.system.api.domain.AuctionSalesroomGoods; import com.ruoyi.system.api.domain.dto.AppMiniLoginDTO; @@ -207,4 +208,7 @@ List<AuctionSalesroom> getAuctionSalesroomBySkuId(Long id); AuctionSalesroomGoods getAuctionSalesroomGoodsById(Long goodsSkuId); + + AuctionBondJl getAuctionBondJLBySalesroomId(Long targetId, Long memberId, + Integer bondType); } diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionBondJlServiceImpl.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionBondJlServiceImpl.java index 69883cd..0a9e668 100644 --- a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionBondJlServiceImpl.java +++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionBondJlServiceImpl.java @@ -1,9 +1,9 @@ package com.ruoyi.auction.service.impl; -import com.ruoyi.auction.domain.AuctionBondJl; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.auction.mapper.AuctionBondJlMapper; import com.ruoyi.auction.service.IAuctionBondJlService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.system.api.domain.AuctionBondJl; import org.springframework.stereotype.Service; /** diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionBrowseRecordServiceImpl.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionBrowseRecordServiceImpl.java index 27a23ca..3fb92f0 100644 --- a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionBrowseRecordServiceImpl.java +++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionBrowseRecordServiceImpl.java @@ -4,7 +4,6 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.ruoyi.auction.domain.AuctionBondJl; import com.ruoyi.auction.domain.AuctionBrowseRecord; import com.ruoyi.auction.mapper.AuctionBondJlMapper; import com.ruoyi.auction.mapper.AuctionBrowseRecordMapper; @@ -14,25 +13,19 @@ import com.ruoyi.common.core.constant.SecurityConstants; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.core.utils.page.PageDTO; +import com.ruoyi.system.api.domain.AuctionBondJl; import com.ruoyi.system.api.domain.AuctionGoods; import com.ruoyi.system.api.domain.AuctionSalesroom; import com.ruoyi.system.api.domain.GoodsSku; -import com.ruoyi.system.api.domain.OrderAuctionBond; import com.ruoyi.system.api.domain.dto.AuctionGoodsListDTO; -import com.ruoyi.system.api.domain.dto.AuctionGoodsListPageDTO; import com.ruoyi.system.api.domain.dto.MemberAuctionSalesroomDTO; -import com.ruoyi.system.api.domain.dto.MemberAuctionSalesroomWdDTO; import com.ruoyi.system.api.domain.vo.AuctionGoodsListVO; import com.ruoyi.system.api.domain.vo.WdMemberAuctionSalesroomVO; import com.ruoyi.system.api.feignClient.GoodsSkuClient; import com.ruoyi.system.api.feignClient.OrderClient; import java.time.LocalDateTime; -import java.time.format.DateTimeFormatter; import java.util.ArrayList; -import java.util.HashSet; import java.util.List; -import java.util.Set; -import java.util.stream.Collectors; import javax.annotation.Resource; import org.springframework.stereotype.Service; diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionGoodsServiceImpl.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionGoodsServiceImpl.java index 24203d4..e775042 100644 --- a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionGoodsServiceImpl.java +++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionGoodsServiceImpl.java @@ -12,7 +12,6 @@ import com.ruoyi.auction.controller.management.vo.MgtAuctionBidRecordVO; import com.ruoyi.auction.controller.management.vo.MgtAuctionGoodsVO; import com.ruoyi.auction.domain.AuctionBidRecord; -import com.ruoyi.auction.domain.AuctionBondJl; import com.ruoyi.auction.domain.AuctionBrowseRecord; import com.ruoyi.auction.domain.MemberAuctionCollection; import com.ruoyi.auction.mapper.AuctionBondJlMapper; @@ -38,6 +37,7 @@ import com.ruoyi.common.core.utils.page.PageDTO; import com.ruoyi.system.api.constants.ConfigEnum; import com.ruoyi.system.api.constants.NotificationTypeConstant; +import com.ruoyi.system.api.domain.AuctionBondJl; import com.ruoyi.system.api.domain.AuctionGoods; import com.ruoyi.system.api.domain.CustomConfig; import com.ruoyi.system.api.domain.GoodsBrand; 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 733b65e..ccafbeb 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 @@ -7,7 +7,6 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.google.common.collect.Lists; import com.ruoyi.auction.domain.AuctionBidRecord; -import com.ruoyi.auction.domain.AuctionBondJl; import com.ruoyi.auction.mapper.AuctionBidRecordMapper; import com.ruoyi.auction.mapper.AuctionBondJlMapper; import com.ruoyi.auction.mapper.AuctionSalesroomGoodsMapper; @@ -25,6 +24,7 @@ import com.ruoyi.common.core.exception.ServiceException; import com.ruoyi.common.core.utils.DateUtils; import com.ruoyi.system.api.constants.NotificationTypeConstant; +import com.ruoyi.system.api.domain.AuctionBondJl; import com.ruoyi.system.api.domain.AuctionSalesroom; import com.ruoyi.system.api.domain.AuctionSalesroomGoods; import com.ruoyi.system.api.domain.CustomConfig; 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 9e33338..2160258 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 @@ -25,7 +25,6 @@ import com.ruoyi.auction.controller.management.vo.MgtAuctionSalesroomScreenVO; import com.ruoyi.auction.controller.management.vo.MgtAuctionSalesroomVO; import com.ruoyi.auction.domain.AuctionBidRecord; -import com.ruoyi.auction.domain.AuctionBondJl; import com.ruoyi.auction.domain.AuctionBrowseRecord; import com.ruoyi.auction.domain.AuctionVideo; import com.ruoyi.auction.mapper.AuctionBidRecordMapper; @@ -61,6 +60,7 @@ import com.ruoyi.system.api.constants.ConfigEnum; import com.ruoyi.system.api.constants.NotificationTypeConstant; import com.ruoyi.system.api.domain.AppMiniLoginVO; +import com.ruoyi.system.api.domain.AuctionBondJl; import com.ruoyi.system.api.domain.AuctionGoods; import com.ruoyi.system.api.domain.AuctionSalesroom; import com.ruoyi.system.api.domain.AuctionSalesroomGoods; @@ -1781,4 +1781,14 @@ public AuctionSalesroomGoods getAuctionSalesroomGoodsById(Long goodsSkuId) { return auctionSalesroomGoodsMapper.selectById(goodsSkuId); } + + @Override + public AuctionBondJl getAuctionBondJLBySalesroomId(Long targetId, Long memberId, + Integer bondType) { + return auctionBondJlMapper.selectOne( + Wrappers.lambdaQuery(AuctionBondJl.class).eq(AuctionBondJl::getMemberId, memberId) + .eq(AuctionBondJl::getAuctionSalesroomId, targetId) + .eq(AuctionBondJl::getBondType, bondType) + .last("limit 1")); + } } diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/inner/GoodsGroupPurchaseController.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/inner/GoodsGroupPurchaseController.java index 3b5f8c3..9acf417 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/inner/GoodsGroupPurchaseController.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/inner/GoodsGroupPurchaseController.java @@ -8,19 +8,20 @@ import com.ruoyi.common.core.domain.R; import com.ruoyi.common.security.annotation.InnerAuth; import com.ruoyi.goods.mapper.GoodsSkuMapper; -import com.ruoyi.goods.service.IGoodsSkuService; -import com.ruoyi.system.api.domain.GoodsGroupPurchaseInfo; +import com.ruoyi.goods.service.IGoodsGroupPurchaseService; import com.ruoyi.goods.service.impl.GoodsGroupPurchaseInfoServiceImpl; import com.ruoyi.system.api.domain.GoodsGroupPurchase; -import com.ruoyi.goods.service.IGoodsGroupPurchaseService; +import com.ruoyi.system.api.domain.GoodsGroupPurchaseInfo; import com.ruoyi.system.api.domain.GoodsSku; -import com.ruoyi.system.api.domain.Order; import com.ruoyi.system.api.feignClient.OrderClient; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.*; - -import java.util.List; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; /** * <p> @@ -134,7 +135,9 @@ @InnerAuth @PostMapping("/updgoodsGroupPurchaseInfo") public R getGoodsSeckiGoodsGroupPurchaseInfo(@RequestBody GoodsGroupPurchaseInfo goodsGroupPurchaseInfo) { + log.info("getGoodsSeckiGoodsGroupPurchaseInfo==============》{}", goodsGroupPurchaseInfo); if (goodsGroupPurchaseInfo.getId()!=null){ + log.info("========================已有待成团========================"); GoodsGroupPurchaseInfo byId = goodsGroupPurchaseInfoServiceImpl.getById(goodsGroupPurchaseInfo.getId()); Integer num= byId.getCurrentNumber()+1; byId.setCurrentNumber(num); @@ -160,6 +163,7 @@ } }else{ + log.info("===================没有待成团的团购==================="); if (goodsGroupPurchaseInfo.getCurrentNumber()==goodsGroupPurchaseInfo.getGroupSize()){ goodsGroupPurchaseInfo.setGroupStatus(1); goodsGroupPurchaseInfo.setIsPurchase(1); diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsGroupPurchaseServiceImpl.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsGroupPurchaseServiceImpl.java index 6ed003f..ff49d79 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsGroupPurchaseServiceImpl.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsGroupPurchaseServiceImpl.java @@ -304,12 +304,11 @@ Collectors.toList()); // 回退未成团记录的商品库存 if (CollUtils.isNotEmpty(notGroupedInfoList)) { - Integer goodsStock = notGroupedInfoList.stream() - .map(GoodsGroupPurchaseInfo::getPurchaseNum) - .reduce(Integer::sum).orElse(0); + Integer stock = groupPurchase.getLimitNumber() * groupPurchase.getGroupSize() + * notGroupedInfoList.size(); GoodsStockUpdDTO goodsStockUpdDTO = new GoodsStockUpdDTO(); goodsStockUpdDTO.setGoodsSkuId(groupPurchase.getGoodsSkuId()); - goodsStockUpdDTO.setAuctionStock(goodsStock); + goodsStockUpdDTO.setAuctionStock(stock); goodsSkuClient.updGoodsStock(Lists.newArrayList(goodsStockUpdDTO), SecurityConstants.INNER); // 根据唯一标识查询订单 diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSeckillServiceImpl.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSeckillServiceImpl.java index b005cfe..83535e4 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSeckillServiceImpl.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSeckillServiceImpl.java @@ -16,6 +16,7 @@ import com.ruoyi.common.core.utils.DateUtils; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.core.utils.page.BeanUtils; +import com.ruoyi.common.core.utils.page.CollUtils; import com.ruoyi.common.core.utils.page.PageDTO; import com.ruoyi.common.redis.service.RedisService; import com.ruoyi.goods.controller.management.dto.GoodsSeckillDTO; @@ -409,7 +410,9 @@ Set<Long> goodsSkuIdList = null; goodsSkuIdList = page1.stream().map(GoodsSku::getId) .collect(Collectors.toSet()); - + if (CollUtils.isEmpty(goodsSkuIdList)) { + return PageDTO.empty(0L, 0L); + } Page<GoodsSeckill> page = new Page<>(); page.setSize(homeGoodsSkuDTO.getPageSize()); page.setCurrent(homeGoodsSkuDTO.getPageCurr()); diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSkuServiceImpl.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSkuServiceImpl.java index 65403ca..fa5106a 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSkuServiceImpl.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSkuServiceImpl.java @@ -1,5 +1,6 @@ package com.ruoyi.goods.service.impl; +import cn.hutool.core.date.DateUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -388,7 +389,7 @@ LocalDateTime newTime7 = now.minusYears(30); String formattedDate7 = newTime7.format(formatter); LocalDateTime parseTime7 = LocalDate.parse(formattedDate7).atStartOfDay(); - wrapper3.le(GoodsSku::getYears,parseTime7); + wrapper3.le(GoodsSku::getYears, DateUtil.format(parseTime7, "yyyy")); } if(homeGoodsSkuDTO.getYear()==3){ LocalDateTime now = LocalDateTime.now(); @@ -400,8 +401,8 @@ LocalDateTime newTime15 = now.minusYears(15); String formattedDate15 = newTime15.format(formatter); LocalDateTime parseTime15= LocalDate.parse(formattedDate15).atStartOfDay(); - wrapper3.le(GoodsSku::getYears, parseTime15) - .gt(GoodsSku::getYears, parseTime7); + wrapper3.le(GoodsSku::getYears, DateUtil.format(parseTime15, "yyyy")) + .gt(GoodsSku::getYears, DateUtil.format(parseTime7, "yyyy")); } if(homeGoodsSkuDTO.getYear()==4){ @@ -414,8 +415,8 @@ LocalDateTime newTime15 = now.minusYears(15); String formattedDate15 = newTime15.format(formatter); LocalDateTime parseTime15= LocalDate.parse(formattedDate15).atStartOfDay(); - wrapper3.le(GoodsSku::getYears, parseTime7) - .gt(GoodsSku::getYears, parseTime15); + wrapper3.le(GoodsSku::getYears, DateUtil.format(parseTime7, "yyyy")) + .gt(GoodsSku::getYears, DateUtil.format(parseTime15, "yyyy")); } if(homeGoodsSkuDTO.getYear()==5){ @@ -424,12 +425,11 @@ LocalDateTime newTime7 = now.minusYears(1); String formattedDate7 = newTime7.format(formatter); LocalDateTime parseTime7 = LocalDate.parse(formattedDate7).atStartOfDay(); - LocalDateTime newTime15 = now.minusYears(5); String formattedDate15 = newTime15.format(formatter); LocalDateTime parseTime15= LocalDate.parse(formattedDate15).atStartOfDay(); - wrapper3.le(GoodsSku::getYears, parseTime7) - .ge(GoodsSku::getYears, parseTime15); + wrapper3.le(GoodsSku::getYears, DateUtil.format(parseTime7, "yyyy")) + .ge(GoodsSku::getYears, DateUtil.format(parseTime15, "yyyy")); } if (homeGoodsSkuDTO.getSort()==1){ wrapper3.last(" ORDER BY IF(isnull(sort_num),1,0), sort_num DESC,create_time DESC"); @@ -448,7 +448,6 @@ public HomeGoodsSkuInfoVO getHomeGoodsSkuInfo(HomeGoodsSkuDTO homeGoodsSkuDTO) { GoodsSku byId = this.getById(homeGoodsSkuDTO.getGoodsSkuId()); HomeGoodsSkuInfoVO homeGoodsSkuInfoVO=new HomeGoodsSkuInfoVO(); - homeGoodsSkuInfoVO.setId(byId.getId()); homeGoodsSkuInfoVO.setSkuName(byId.getSkuName()); homeGoodsSkuInfoVO.setYears(String.valueOf(byId.getYears().getYear())); GoodsBrand data = goodsSkuClient.getBrandOne(byId.getBrandId(), SecurityConstants.INNER).getData(); @@ -487,18 +486,21 @@ .eq(GoodsGroupPurchase::getStartStatus, StartStatusEnum.STARTED); GoodsGroupPurchase goodsGroupPurchase = goodsGroupPurchaseMapper.selectOne(queryWrapper1); + log.info("团购商品信息=================》:{}", goodsGroupPurchase); if(goodsGroupPurchase!=null){ HomeGoodsSkuDTO homeGoodsSkuDTO1 =new HomeGoodsSkuDTO(); homeGoodsSkuDTO1.setGoodsSkuId(goodsGroupPurchase.getId()); homeGoodsSkuDTO1.setMemberId(homeGoodsSkuDTO.getMemberId()); Order data4 = orderClient.getOrderByGroupPurchaseMemberId2(homeGoodsSkuDTO1, SecurityConstants.INNER).getData(); - if (data4!=null){ + log.info("关联订单信息=================》:{}", data4); + homeGoodsSkuInfoVO.setId(goodsGroupPurchase.getId()); + homeGoodsSkuInfoVO.setIsGoodsGroupPurchase(1); + if (data4 != null) { homeGoodsSkuInfoVO.setIsGoodsGroupPurchase(2); - }else{ - homeGoodsSkuInfoVO.setIsGoodsGroupPurchase(1); } - }else{ + log.info( + "=============================没有查询到团购信息============================="); homeGoodsSkuInfoVO.setIsGoodsGroupPurchase(1); } diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/MemberGoodsCollectionServiceImpl.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/MemberGoodsCollectionServiceImpl.java index 1aa37c2..cfb4ae3 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/MemberGoodsCollectionServiceImpl.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/MemberGoodsCollectionServiceImpl.java @@ -3,9 +3,10 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.ruoyi.common.core.constant.SecurityConstants; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.core.exception.ServiceException; import com.ruoyi.common.core.utils.StringUtils; +import com.ruoyi.common.core.utils.page.CollUtils; import com.ruoyi.common.core.utils.page.PageDTO; import com.ruoyi.goods.domain.MemberGoodsCollection; import com.ruoyi.goods.mapper.GoodsGroupPurchaseMapper; @@ -13,22 +14,19 @@ import com.ruoyi.goods.mapper.GoodsSkuMapper; import com.ruoyi.goods.mapper.MemberGoodsCollectionMapper; import com.ruoyi.goods.service.IMemberGoodsCollectionService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.ruoyi.system.api.domain.AuctionGoods; import com.ruoyi.system.api.domain.GoodsGroupPurchase; import com.ruoyi.system.api.domain.GoodsSeckill; import com.ruoyi.system.api.domain.GoodsSku; import com.ruoyi.system.api.domain.dto.AuctionCollectionDTO; -import com.ruoyi.system.api.domain.vo.AuctionGoodsListVO; import com.ruoyi.system.api.domain.vo.HomeGoodsSkuListVO; -import org.springframework.stereotype.Service; - -import javax.annotation.Resource; import java.util.ArrayList; import java.util.HashSet; import java.util.List; +import java.util.Objects; import java.util.Set; import java.util.stream.Collectors; +import javax.annotation.Resource; +import org.springframework.stereotype.Service; /** * <p> @@ -116,59 +114,67 @@ } } List<MemberGoodsCollection> list = this.list(wrapper); - - List<HomeGoodsSkuListVO> auctionGoodsVOS=new ArrayList<>(); - for (MemberGoodsCollection auctionCollection:list){ - if(auctionCollection.getType()==1){ - HomeGoodsSkuListVO auctionGoodsVO=new HomeGoodsSkuListVO(); - GoodsSku goodsSku = goodsSkuMapper.selectById(auctionCollection.getTargetId()); - auctionGoodsVO.setId(goodsSku.getId()); - auctionGoodsVO.setPrice(goodsSku.getPrice()); - auctionGoodsVO.setCoverPic(goodsSku.getCoverPic()); - auctionGoodsVO.setSkuName(goodsSku.getSkuName()); - auctionGoodsVO.setSoldQuantity(goodsSku.getSoldQuantity()); - auctionGoodsVO.setIsCollection(2); - auctionGoodsVO.setType(auctionCollection.getType()); - auctionGoodsVOS.add(auctionGoodsVO); - } if(auctionCollection.getType()==3){ - HomeGoodsSkuListVO auctionGoodsVO=new HomeGoodsSkuListVO(); - GoodsSeckill goodsSeckill = goodsSeckillMapper.selectById(auctionCollection.getTargetId()); - GoodsSku goodsSku = goodsSkuMapper.selectById(goodsSeckill.getGoodsSkuId()); - auctionGoodsVO.setId(auctionCollection.getTargetId()); - auctionGoodsVO.setPrice( goodsSeckill.getSeckillPrice()); - auctionGoodsVO.setCoverPic(goodsSku.getCoverPic()); - auctionGoodsVO.setSkuName(goodsSku.getSkuName()); - auctionGoodsVO.setSoldQuantity(goodsSku.getSoldQuantity()); - auctionGoodsVO.setIsCollection(2); - auctionGoodsVO.setStartStatus(goodsSeckill.getStartStatus()); - auctionGoodsVO.setStartTime(goodsSeckill.getStartTime()); - auctionGoodsVO.setEndTime(goodsSeckill.getEndTime()); - auctionGoodsVO.setXiaosPrice(goodsSku.getPrice()); - auctionGoodsVO.setType(auctionCollection.getType()); - auctionGoodsVOS.add(auctionGoodsVO); - } if(auctionCollection.getType()==2){ - GoodsGroupPurchase goodsGroupPurchase = goodsGroupPurchaseMapper.selectById(auctionCollection.getTargetId()); - HomeGoodsSkuListVO auctionGoodsVO=new HomeGoodsSkuListVO(); - if(goodsGroupPurchase!=null){ - GoodsSku goodsSku = goodsSkuMapper.selectById(goodsGroupPurchase.getGoodsSkuId()); + if (CollUtils.isNotEmpty(list)) { + List<HomeGoodsSkuListVO> auctionGoodsVOS = new ArrayList<>(); + for (MemberGoodsCollection auctionCollection : list) { + if (auctionCollection.getType() == 1) { + HomeGoodsSkuListVO auctionGoodsVO = new HomeGoodsSkuListVO(); + GoodsSku goodsSku = goodsSkuMapper.selectById(auctionCollection.getTargetId()); + if (Objects.nonNull(goodsSku)) { + auctionGoodsVO.setId(goodsSku.getId()); + auctionGoodsVO.setPrice(goodsSku.getPrice()); + auctionGoodsVO.setCoverPic(goodsSku.getCoverPic()); + auctionGoodsVO.setSkuName(goodsSku.getSkuName()); + auctionGoodsVO.setSoldQuantity(goodsSku.getSoldQuantity()); + auctionGoodsVO.setIsCollection(2); + auctionGoodsVO.setType(auctionCollection.getType()); + auctionGoodsVOS.add(auctionGoodsVO); + } + } + if (auctionCollection.getType() == 3) { + HomeGoodsSkuListVO auctionGoodsVO = new HomeGoodsSkuListVO(); + GoodsSeckill goodsSeckill = goodsSeckillMapper.selectById( + auctionCollection.getTargetId()); + GoodsSku goodsSku = goodsSkuMapper.selectById(goodsSeckill.getGoodsSkuId()); auctionGoodsVO.setId(auctionCollection.getTargetId()); - auctionGoodsVO.setPrice(goodsGroupPurchase.getGroupPurchasePrice()); + auctionGoodsVO.setPrice(goodsSeckill.getSeckillPrice()); auctionGoodsVO.setCoverPic(goodsSku.getCoverPic()); auctionGoodsVO.setSkuName(goodsSku.getSkuName()); auctionGoodsVO.setSoldQuantity(goodsSku.getSoldQuantity()); auctionGoodsVO.setIsCollection(2); + auctionGoodsVO.setStartStatus(goodsSeckill.getStartStatus()); + auctionGoodsVO.setStartTime(goodsSeckill.getStartTime()); + auctionGoodsVO.setEndTime(goodsSeckill.getEndTime()); auctionGoodsVO.setXiaosPrice(goodsSku.getPrice()); - auctionGoodsVO.setStartTime(goodsGroupPurchase.getStartTime()); - auctionGoodsVO.setEndTime(goodsGroupPurchase.getEndTime()); - auctionGoodsVO.setXiaosPrice(goodsGroupPurchase.getGroupPurchasePrice()); auctionGoodsVO.setType(auctionCollection.getType()); auctionGoodsVOS.add(auctionGoodsVO); } + if (auctionCollection.getType() == 2) { + GoodsGroupPurchase goodsGroupPurchase = goodsGroupPurchaseMapper.selectById( + auctionCollection.getTargetId()); + HomeGoodsSkuListVO auctionGoodsVO = new HomeGoodsSkuListVO(); + if (goodsGroupPurchase != null) { + GoodsSku goodsSku = goodsSkuMapper.selectById( + goodsGroupPurchase.getGoodsSkuId()); + auctionGoodsVO.setId(auctionCollection.getTargetId()); + auctionGoodsVO.setPrice(goodsGroupPurchase.getGroupPurchasePrice()); + auctionGoodsVO.setCoverPic(goodsSku.getCoverPic()); + auctionGoodsVO.setSkuName(goodsSku.getSkuName()); + auctionGoodsVO.setSoldQuantity(goodsSku.getSoldQuantity()); + auctionGoodsVO.setIsCollection(2); + auctionGoodsVO.setXiaosPrice(goodsSku.getPrice()); + auctionGoodsVO.setStartTime(goodsGroupPurchase.getStartTime()); + auctionGoodsVO.setEndTime(goodsGroupPurchase.getEndTime()); + auctionGoodsVO.setXiaosPrice(goodsGroupPurchase.getGroupPurchasePrice()); + auctionGoodsVO.setType(auctionCollection.getType()); + auctionGoodsVOS.add(auctionGoodsVO); + } + + } } - + page.setRecords(auctionGoodsVOS); } - page.setRecords(auctionGoodsVOS); return PageDTO.of(page); } } diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/inner/MemberController.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/inner/MemberController.java index a868acc..97fabc9 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/inner/MemberController.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/inner/MemberController.java @@ -9,6 +9,8 @@ import java.util.Collection; import java.util.List; import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; @@ -58,4 +60,16 @@ R<List<Member>> getMemberListByLevel(@RequestBody List<String> memberLevelList) { return R.ok(memberService.getMemberListByLevel(memberLevelList)); } + + /** + * 根据sys_user表的user_id查询member + * + * @param userId + * @return + */ + @InnerAuth + @GetMapping("/getMemberByUserId/{userId}") + R<Member> getMemberByUserId(@PathVariable("userId") Long userId) { + return R.ok(memberService.getMemberByUserId(userId)); + } } diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/IMemberService.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/IMemberService.java index 8b074fb..7c991bc 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/IMemberService.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/IMemberService.java @@ -68,4 +68,6 @@ List<Member> getMemberListByCondition(MemberDTO memberDTO); List<Member> getMemberListByLevel(List<String> memberLevelList); + + Member getMemberByUserId(Long userId); } diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberServiceImpl.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberServiceImpl.java index fbc386d..32e551d 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberServiceImpl.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberServiceImpl.java @@ -630,7 +630,10 @@ .list(); } - + @Override + public Member getMemberByUserId(Long userId) { + return this.lambdaQuery().eq(Member::getUserId, userId).oneOpt().orElse(null); + } } diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/forepart/ForepartPaylogController.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/forepart/ForepartPaylogController.java index 487e500..4fadacb 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/forepart/ForepartPaylogController.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/forepart/ForepartPaylogController.java @@ -52,13 +52,8 @@ @ApiOperation(value = "用户端-获取支付信息") public R<Map<String, Object>> getPayInfo(@RequestBody PayInfoDTO payInfoDTO, HttpServletRequest request) { - try { - return paylogServiceImpl.getPayInfo(payInfoDTO.getMemberId(), payInfoDTO.getType(), - payInfoDTO.getOrderNO(), payInfoDTO.getOpenId(), request); - } catch (Exception e) { - return R.fail("获取异常"); - } - + return paylogServiceImpl.getPayInfo(payInfoDTO.getMemberId(), payInfoDTO.getType(), + payInfoDTO.getOrderNO(), payInfoDTO.getOpenId(), request); } diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/LogisticsServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/LogisticsServiceImpl.java index 4cbabe5..2d96b53 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/LogisticsServiceImpl.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/LogisticsServiceImpl.java @@ -41,10 +41,10 @@ public class LogisticsServiceImpl extends ServiceImpl<LogisticsMapper, Logistics> implements ILogisticsService { - private String key="BltjQodT7186"; + private static final String key = "BltjQodT7186"; - private String kye1="GMtjjhxp9pdEpfz37M"; - private String customer="56DE8E9E3D58CE73C60755C8B7483043"; + private static final String kye1 = "GMtjjhxp9pdEpfz37M"; + private static final String customer = "56DE8E9E3D58CE73C60755C8B7483043"; private static final String AUTONUMBER_AUTO_URL = "http://www.kuaidi100.com/autonumber/auto?num=NUM&key=KEY"; diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderAuctionBondServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderAuctionBondServiceImpl.java index bb02da9..e678045 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderAuctionBondServiceImpl.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderAuctionBondServiceImpl.java @@ -25,10 +25,12 @@ import com.ruoyi.system.api.domain.dto.RefundDTO; import com.ruoyi.system.api.domain.vo.PayInfoVO; import com.ruoyi.system.api.feignClient.AuctionClient; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Objects; +import java.util.Optional; import java.util.stream.Collectors; import javax.annotation.Resource; import lombok.extern.slf4j.Slf4j; @@ -141,14 +143,43 @@ @Override public PayInfoVO SaveOrderAuctionBond(MemberAuctionSalesroomBondDTO memberAuctionSalesroomBondDTO) { PayInfoVO payInfoVO = new PayInfoVO(); + // 查询参与记录 + Optional<OrderAuctionBond> orderAuctionBondOpt = this.lambdaQuery() + .eq(OrderAuctionBond::getMemberId, memberAuctionSalesroomBondDTO.getMemberId()) + .eq(memberAuctionSalesroomBondDTO.getBondType() + .equals(AuctionOrderTypeEnum.AUCTION_ITEMS.getCode()), + OrderAuctionBond::getAuctionSalesroomId, + memberAuctionSalesroomBondDTO.getAuctionSalesroomId()) + .eq(memberAuctionSalesroomBondDTO.getBondType() + .equals(AuctionOrderTypeEnum.REGULAR_ITEMS.getCode()), + OrderAuctionBond::getAuctionGoodsId, + memberAuctionSalesroomBondDTO.getAuctionGoodsId()).oneOpt(); + if (orderAuctionBondOpt.isPresent()) { + OrderAuctionBond orderAuctionBond = orderAuctionBondOpt.get(); + orderAuctionBond.setPaymentMethod( + PaymentMethodEnum.fromCode(memberAuctionSalesroomBondDTO.getPaymentMethod())); + orderAuctionBond.setOrderNo(OrderUtil.getOrderNoForPrefix("BO")); + this.updateById(orderAuctionBond); + payInfoVO.setOrderNO(orderAuctionBond.getOrderNo()); + if (memberAuctionSalesroomBondDTO.getPaymentMethod() == 1) { + payInfoVO.setType(2); + } else { + payInfoVO.setType(1); + } + payInfoVO.setOrderNO(orderAuctionBond.getOrderNo()); + payInfoVO.setSubject("保证金"); + payInfoVO.setMemberId(memberAuctionSalesroomBondDTO.getMemberId()); + payInfoVO.setBody("保证金"); + return payInfoVO; + } if (memberAuctionSalesroomBondDTO.getBondType() == 1) { AuctionGoods data = auctionClient.getauctionGoodsOne(memberAuctionSalesroomBondDTO, SecurityConstants.INNER).getData(); - + log.info("商品竞价立即报名的商品:{}", data); if (data.getListingStatus().getCode()==1){ throw new ServiceException("商品拍卖下线"); } - if (data.getBond()==null||data.getBond().intValue() == 0) { + if (data.getBond() == null || data.getBond().compareTo(BigDecimal.ZERO) == 0) { OrderAuctionBond orderAuctionBond = new OrderAuctionBond(); orderAuctionBond.setOrderNo(OrderUtil.getOrderNoForPrefix("BO")); orderAuctionBond.setAuctionGoodsId(memberAuctionSalesroomBondDTO.getAuctionGoodsId()); @@ -156,6 +187,7 @@ orderAuctionBond.setBond(data.getBond()); orderAuctionBond.setBoundStatus(BondStatusEnum.PAID); orderAuctionBond.setBondType(AuctionOrderTypeEnum.REGULAR_ITEMS); + orderAuctionBond.setOrderTimeSx(data.getEndTime()); this.save(orderAuctionBond); payInfoVO.setOrderNO(orderAuctionBond.getOrderNo()); payInfoVO.setType(0); @@ -176,6 +208,7 @@ } else { orderAuctionBond.setPaymentMethod(PaymentMethodEnum.ALIPAY); } + log.info("保存保证金订单:{}", orderAuctionBond); this.save(orderAuctionBond); payInfoVO.setOrderNO(orderAuctionBond.getOrderNo()); if (memberAuctionSalesroomBondDTO.getPaymentMethod() == 1) { @@ -190,7 +223,9 @@ } } else { AuctionSalesroom data = auctionClient.getauctionSalesroomOne(memberAuctionSalesroomBondDTO, SecurityConstants.INNER).getData(); - if (data.getBond()==null||data.getBond().intValue() == 0) { + log.info("拍卖会报名的拍卖会:{}", data); + if (data.getBond() == null || data.getBond().compareTo(BigDecimal.ZERO) == 0) { + OrderAuctionBond orderAuctionBond = new OrderAuctionBond(); orderAuctionBond.setOrderNo(OrderUtil.getOrderNoForPrefix("BO")); orderAuctionBond.setAuctionSalesroomId(memberAuctionSalesroomBondDTO.getAuctionSalesroomId()); @@ -198,6 +233,8 @@ orderAuctionBond.setBond(data.getBond()); orderAuctionBond.setBoundStatus(BondStatusEnum.PAID); orderAuctionBond.setBondType(AuctionOrderTypeEnum.AUCTION_ITEMS); + orderAuctionBond.setOrderTimeSx(data.getEndTime()); + log.info("添加保证金为0的记录:{}", orderAuctionBond); this.save(orderAuctionBond); payInfoVO.setOrderNO(orderAuctionBond.getOrderNo()); payInfoVO.setType(0); @@ -210,6 +247,7 @@ orderAuctionBond.setAuctionSalesroomId(memberAuctionSalesroomBondDTO.getAuctionSalesroomId()); orderAuctionBond.setMemberId(memberAuctionSalesroomBondDTO.getMemberId()); orderAuctionBond.setBond(data.getBond()); + orderAuctionBond.setOrderTimeSx(data.getEndTime()); orderAuctionBond.setBoundStatus(BondStatusEnum.TO_PLAY); orderAuctionBond.setBondType(AuctionOrderTypeEnum.AUCTION_ITEMS); if (memberAuctionSalesroomBondDTO.getPaymentMethod() == 1) { @@ -217,6 +255,7 @@ } else { orderAuctionBond.setPaymentMethod(PaymentMethodEnum.ALIPAY); } + log.info("添加保证金不为0的记录:{}", orderAuctionBond); this.save(orderAuctionBond); payInfoVO.setOrderNO(orderAuctionBond.getOrderNo()); if (memberAuctionSalesroomBondDTO.getPaymentMethod() == 1) { diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java index bcd2ad1..a6b600b 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java @@ -1,7 +1,5 @@ package com.ruoyi.order.service.impl; -import cn.hutool.core.date.DatePattern; -import cn.hutool.core.date.DateUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -96,6 +94,7 @@ import java.util.stream.Collectors; import javax.annotation.Resource; import lombok.Synchronized; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections.map.HashedMap; import org.redisson.api.RLock; import org.redisson.api.RedissonClient; @@ -110,6 +109,7 @@ * @author mitao * @since 2024-05-16 */ +@Slf4j @Service @SuppressWarnings("unchecked") public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements IOrderService { @@ -296,7 +296,6 @@ @Override @Synchronized public MemberTiOrderVO saveMemberOrder(MemberOrderDTO memberOrderDTO) { - MemberTiOrderVO memberOrderVO=new MemberTiOrderVO(); BigDecimal pice=new BigDecimal(0); @@ -485,6 +484,16 @@ memberOrderVO.setReceiverCity(data.getReceiverCity()); memberOrderVO.setReceiverDetailAddress(data.getDetailedAddress()); memberOrderVO.setReceiverphone(data.getRecipientPhone()); + } else { + order.setReceiverName(memberOrderDTO.getReceiverName()); + order.setReceiverCity(memberOrderDTO.getReceiverCity()); + order.setReceiverDetailAddress(memberOrderDTO.getReceiverDetailAddress()); + order.setReceiverPhone(memberOrderDTO.getReceiverphone()); + + memberOrderVO.setReceiverName(memberOrderDTO.getReceiverName()); + memberOrderVO.setReceiverCity(memberOrderDTO.getReceiverCity()); + memberOrderVO.setReceiverDetailAddress(memberOrderDTO.getReceiverDetailAddress()); + memberOrderVO.setReceiverphone(memberOrderDTO.getReceiverphone()); } order.setGoodsSkuId(memberOrderDTO.getGoodsSkuId()); @@ -518,9 +527,6 @@ return memberOrderVO; } - public static void main(String[] args) { - System.err.println(DateUtil.format(LocalDateTime.now(), DatePattern.NORM_DATETIME_PATTERN)); - } @Override public MemberTiOrderVO updMemberOrder(MemberOrderDTO memberOrderDTO) { Order order = baseMapper.selectById(memberOrderDTO.getId()); @@ -1889,9 +1895,11 @@ @Override public void updateOrderStatusByMubres1(String formedGroupMubres) { + LambdaQueryWrapper<Order> wrapper = Wrappers.lambdaQuery(); wrapper.eq(Order::getGroupNo, formedGroupMubres); List<Order> page1 = this.list(wrapper); + log.info("开始更新订单,已成团的团购订单:{}", page1); for (Order p:page1){ p.setIsOrder(1); this.updateById(p); diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/PaylogServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/PaylogServiceImpl.java index 07acaaf..3b124c8 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/PaylogServiceImpl.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/PaylogServiceImpl.java @@ -12,12 +12,11 @@ import com.jpay.weixin.api.WxPayApi; 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; -import com.ruoyi.common.core.enums.OrderFromEnum; import com.ruoyi.common.core.enums.OrderStatusEnum; import com.ruoyi.common.core.enums.PaymentMethodEnum; import com.ruoyi.common.core.enums.PointStatusEnum; -import com.ruoyi.common.core.exception.ServiceException; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.order.domain.Paylog; import com.ruoyi.order.mapper.OrderAuctionBondMapper; @@ -25,14 +24,15 @@ import com.ruoyi.order.mapper.PaylogMapper; import com.ruoyi.order.service.IPaylogService; import com.ruoyi.order.util.MD5AndKL; +import com.ruoyi.order.util.OrderUtil; import com.ruoyi.order.util.SinataUtil; import com.ruoyi.order.util.alipay.config.AlipayConfig; import com.ruoyi.order.util.alipay.util.PayDemoActivity; import com.ruoyi.order.util.tencent.common.Configure; import com.ruoyi.order.util.tencent.common.XMLParser; +import com.ruoyi.system.api.domain.AuctionBondJl; import com.ruoyi.system.api.domain.GoodsGroupPurchase; import com.ruoyi.system.api.domain.GoodsGroupPurchaseInfo; -import com.ruoyi.system.api.domain.GoodsSeckill; import com.ruoyi.system.api.domain.GoodsSku; import com.ruoyi.system.api.domain.Member; import com.ruoyi.system.api.domain.Order; @@ -86,7 +86,7 @@ @Resource - private OrderMapper OrderMapper; + private OrderMapper orderMapper; @Resource private AuctionClient auctionClient; @@ -114,120 +114,114 @@ Double price = 0.0; String subject; String body; - try { - if(judgeContainsStr(orderNO)){ - if (orderNO.contains("BO")) { - LambdaQueryWrapper<OrderAuctionBond> wrapper1= Wrappers.lambdaQuery(); - wrapper1.eq(OrderAuctionBond::getOrderNo,orderNO); - wrapper1.eq(OrderAuctionBond::getDelFlag,0); - OrderAuctionBond one1 = orderAuctionBondMapper.selectOne(wrapper1); - if (one1.getBond()==null||one1.getBond().compareTo(new BigDecimal(0))==0){ - one1.setBoundStatus(BondStatusEnum.PAID); - Map<String, Object> returnMap = new HashMap<>(); - // Type 1是否需要支付 - returnMap.put("Type",1); - return R.ok(returnMap); - } - - - }else{ - LambdaQueryWrapper<Order> wrapper1= Wrappers.lambdaQuery(); - wrapper1.eq(Order::getOrderNo,orderNO); - wrapper1.eq(Order::getDelFlag,0); - Order page1 = OrderMapper.selectOne(wrapper1); - // 判断商品库存 - Long goodsSkuId = page1.getGoodsSkuId(); - OrderFromEnum orderFrom = page1.getOrderFrom(); - switch (orderFrom) { - case COMMODITY_ORDER: - GoodsSku goods = goodsSkuClient.getGoodsSkuOne(goodsSkuId, - SecurityConstants.INNER).getData(); - if (Objects.isNull(goods)) { - throw new ServiceException("该商品已下架"); - } - if (goods.getStock() <= 0) { - throw new ServiceException("该商品已售罄"); - } - if (goods.getStock() < page1.getGoodsQuantity()) { - throw new ServiceException("该商品库存不足"); - } - break; - case SNAP_ORDERS: - GoodsSeckill data = goodsSkuClient.getGoodsSeckillOne(goodsSkuId, - SecurityConstants.INNER).getData(); - if (Objects.isNull(data)) { - throw new ServiceException("该商品已下架"); - } - if (data.getSeckillStock() <= 0) { - throw new ServiceException("该商品已售罄"); - } - if (data.getSeckillStock() < page1.getGoodsQuantity()) { - throw new ServiceException("该商品库存不足"); - } - break; - default: - break; - } - if (page1.getTotalAmount().compareTo(new BigDecimal(0))==0){ - Map<String, Object> returnMap = new HashMap<>(); - returnMap.put("Type",1); - return R.ok(returnMap); - } - if (page1.getPoints()!=0){ - MemberPointsDTO memberPointsDTO=new MemberPointsDTO(); - memberPointsDTO.setMemberId(page1.getMemberId()); - memberPointsDTO.setPointsType(1); - memberPointsDTO.setPointsStatus(PointStatusEnum.INCREASE); - memberPointsDTO.setPoints(page1.getPoints()); - memberClient.addMemberPoints(memberPointsDTO); - } - - updMembeOneDTO MembeOneDTO=new updMembeOneDTO(); - MembeOneDTO.setType(1); - MembeOneDTO.setMemberId(page1.getMemberId()); - MembeOneDTO.setMoney(page1.getTotalAmount()); - MembeOneDTO.setTotalPoints(page1.getPoints()); - memberClient.updMembeOne(MembeOneDTO, SecurityConstants.INNER); + if (judgeContainsStr(orderNO)) { + if (orderNO.contains("BO")) { + LambdaQueryWrapper<OrderAuctionBond> wrapper1 = Wrappers.lambdaQuery(); + wrapper1.eq(OrderAuctionBond::getOrderNo, orderNO); + wrapper1.eq(OrderAuctionBond::getDelFlag, 0); + OrderAuctionBond one1 = orderAuctionBondMapper.selectOne(wrapper1); + if (one1.getBond() == null || one1.getBond().compareTo(new BigDecimal(0)) == 0) { + one1.setBoundStatus(BondStatusEnum.PAID); + Map<String, Object> returnMap = new HashMap<>(); + // Type 1是否需要支付 + returnMap.put("Type", 1); + return R.ok(returnMap); } - - - if (orderNO.contains("BO")) { - LambdaQueryWrapper<OrderAuctionBond> wrapper1= Wrappers.lambdaQuery(); - wrapper1.eq(OrderAuctionBond::getOrderNo,orderNO); - wrapper1.eq(OrderAuctionBond::getDelFlag,0); - OrderAuctionBond one = orderAuctionBondMapper.selectOne(wrapper1); - price=one.getBond().doubleValue(); - body = " 订单支付"; - subject = " 订单支付"; - if (type == 1) { - // 支付宝预下单 - return this.alipay(zfbOpenid, orderNO, subject, body, price, request); - } if (type == 2){ - // 微信预下单 - return this.wxpay(2 ,orderNO, body, openId, price, request); + } else { + LambdaQueryWrapper<Order> wrapper1 = Wrappers.lambdaQuery(); + wrapper1.eq(Order::getOrderNo, orderNO); + wrapper1.eq(Order::getDelFlag, 0); + Order page1 = orderMapper.selectOne(wrapper1); + if (page1.getTotalAmount().compareTo(new BigDecimal(0)) == 0) { + Map<String, Object> returnMap = new HashMap<>(); + returnMap.put("Type", 1); + page1.setOrderStatus(OrderStatusEnum.TO_BE_SHIPPED); + page1.setPaymentMethod(paymentMethodEnum); + page1.setPayTime(LocalDateTime.now()); + orderMapper.updateById(page1); + if (page1.getOrderNo().contains("SP")) { + GoodsSku goodsSku = new GoodsSku(); + goodsSku.setId(page1.getGoodsSkuId()); + goodsSku.setSoldQuantity(page1.getGoodsQuantity()); + goodsSkuClient.updGoods(goodsSku, SecurityConstants.INNER); } - }else{ - LambdaQueryWrapper<Order> wrapper1= Wrappers.lambdaQuery(); - wrapper1.eq(Order::getOrderNo,orderNO); - wrapper1.eq(Order::getDelFlag,0); - Order page1 = OrderMapper.selectOne(wrapper1); - price=page1.getTotalAmount().doubleValue(); - body = " 订单支付"; - subject = " 订单支付"; - Map<String, Object> map = new HashMap<String, Object>(); - if (type == 1) { - // 支付宝预下单 - return this.alipay(zfbOpenid, orderNO, subject, body, price, request); - } if (type == 2) { - // 微信预下单 - return this.wxpay(2, orderNO, body,openId, price, request); - } + + return R.ok(returnMap); + } + if (page1.getPoints() != 0) { + MemberPointsDTO memberPointsDTO = new MemberPointsDTO(); + memberPointsDTO.setMemberId(page1.getMemberId()); + memberPointsDTO.setPointsType(1); + memberPointsDTO.setPointsStatus(PointStatusEnum.INCREASE); + memberPointsDTO.setPoints(page1.getPoints()); + memberClient.addMemberPoints(memberPointsDTO); } + updMembeOneDTO MembeOneDTO = new updMembeOneDTO(); + MembeOneDTO.setType(1); + MembeOneDTO.setMemberId(page1.getMemberId()); + MembeOneDTO.setMoney(page1.getTotalAmount()); + MembeOneDTO.setTotalPoints(page1.getPoints()); + memberClient.updMembeOne(MembeOneDTO, SecurityConstants.INNER); } - } catch (Exception e) { - log.info("获取异常", e); + + if (orderNO.contains("BO")) { + LambdaQueryWrapper<OrderAuctionBond> wrapper1 = Wrappers.lambdaQuery(); + wrapper1.eq(OrderAuctionBond::getOrderNo, orderNO); + wrapper1.eq(OrderAuctionBond::getDelFlag, 0); + OrderAuctionBond one = orderAuctionBondMapper.selectOne(wrapper1); + price = one.getBond().doubleValue(); + body = " 订单支付"; + subject = " 订单支付"; + if (type == 1) { + // 支付宝预下单 + return this.alipay(zfbOpenid, orderNO, subject, body, price, request); + } + if (type == 2) { + // 微信预下单 + R<Map<String, Object>> wxpayR = this.wxpay(2, orderNO, body, openId, price, + request); + Map<String, Object> wxpay = wxpayR.getData(); + if (wxpay.get( + "result_code").equals("FAIL") && wxpay.get("err_code_des") + .equals("201 商户订单号重复")) { + one.setOrderNo(OrderUtil.getOrderNoForPrefix("BO")); + orderAuctionBondMapper.updateById(one); + wxpayR = this.wxpay(2, one.getOrderNo(), body, openId, price, + request); + } + return wxpayR; + } + } else { + LambdaQueryWrapper<Order> wrapper1 = Wrappers.lambdaQuery(); + wrapper1.eq(Order::getOrderNo, orderNO); + wrapper1.eq(Order::getDelFlag, 0); + Order page1 = orderMapper.selectOne(wrapper1); + price = page1.getTotalAmount().doubleValue(); + body = " 订单支付"; + subject = " 订单支付"; + Map<String, Object> map = new HashMap<String, Object>(); + if (type == 1) { + // 支付宝预下单 + return this.alipay(zfbOpenid, orderNO, subject, body, price, request); + } + if (type == 2) { + // 微信预下单 + R<Map<String, Object>> wxpayR = this.wxpay(2, orderNO, body, openId, price, + request); + Map<String, Object> wxpay = wxpayR.getData(); + if (wxpay.get("result_code").equals("FAIL") && wxpay.get("err_code_des") + .equals("201 商户订单号重复")) { + String prefix = page1.getOrderNo().substring(0, 2); + page1.setOrderNo(OrderUtil.getOrderNoForPrefix(prefix)); + orderMapper.updateById(page1); + wxpayR = this.wxpay(2, page1.getOrderNo(), body, openId, price, + request); + } + return wxpayR; + } + } } return R.fail("获取异常"); } @@ -284,23 +278,61 @@ wrapper1.eq(OrderAuctionBond::getDelFlag,0); OrderAuctionBond one1 = orderAuctionBondMapper.selectOne(wrapper1); - if (one1.getOrderTimeSx().isAfter(LocalDateTime.now())){ + if (one1.getBondType().equals(AuctionOrderTypeEnum.REGULAR_ITEMS) && + one1.getOrderTimeSx().isBefore(LocalDateTime.now())) { boolean bo = refundForAlipay(paylog1.getOutTradeNo(), paylog1.getTradeNo(), paylog1.getPayMoney()); } - one1.setBoundStatus(BondStatusEnum.PAID); orderAuctionBondMapper.updateById(one1); - - + AuctionOrderTypeEnum bondType = one1.getBondType(); + AuctionBondJl auctionBondJl = null; + if (bondType.equals(AuctionOrderTypeEnum.AUCTION_ITEMS)) { + auctionBondJl = auctionClient.getAuctionBondJLByTargetId( + one1.getAuctionSalesroomId(), one1.getMemberId(), + bondType.getCode(), SecurityConstants.INNER) + .getData(); + log.info("保证金支付回调,添加拍卖参与记录开始进行"); + if (Objects.isNull(auctionBondJl)) { + auctionBondJl = new AuctionBondJl(); + auctionBondJl.setAuctionSalesroomId( + one1.getAuctionSalesroomId()); + auctionBondJl.setIsState(0); + auctionBondJl.setBondType(bondType.getCode()); + auctionBondJl.setMemberId( + one1.getMemberId()); + } else { + auctionBondJl.setIsState(0); + } + } else { + auctionBondJl = auctionClient.getAuctionBondJLByTargetId( + one1.getAuctionGoodsId(), one1.getMemberId(), + bondType.getCode(), SecurityConstants.INNER) + .getData(); + if (Objects.isNull(auctionBondJl)) { + auctionBondJl = new AuctionBondJl(); + auctionBondJl.setAuctionGoodsId(one1.getAuctionGoodsId()); + auctionBondJl.setIsState(0); + auctionBondJl.setBondType(bondType.getCode()); + auctionBondJl.setMemberId( + one1.getMemberId()); + } else { + auctionBondJl.setIsState(0); + } + } + auctionClient.saveOrUpdateAuctionBondJl(auctionBondJl, + SecurityConstants.INNER); + log.info("保证金支付回调,添加拍卖参与记录结束"); }else{ LambdaQueryWrapper<Order> wrapper1= Wrappers.lambdaQuery(); wrapper1.eq(Order::getOrderNo,paylog1.getOutTradeNo()); wrapper1.eq(Order::getDelFlag,0); - Order page1 = OrderMapper.selectOne(wrapper1); + Order page1 = orderMapper.selectOne(wrapper1); page1.setOrderStatus(OrderStatusEnum.TO_BE_SHIPPED); + page1.setPaymentMethod(PaymentMethodEnum.ALIPAY); page1.setPayTime(LocalDateTime.now()); + orderMapper.updateById(page1); if(page1.getOrderNo().contains("SP")){ GoodsSku goodsSku =new GoodsSku(); goodsSku.setId(page1.getGoodsSkuId()); @@ -316,19 +348,23 @@ } if(page1.getOrderNo().contains("TG")){ + log.info( + "===================================开始处理团购回调==================================="); GoodsGroupPurchase goodsSeckiGoodsGroupPurchaseOne = goodsSkuClient.getGoodsSeckiGoodsGroupPurchaseOne(page1.getGoodsSkuId(), SecurityConstants.INNER).getData(); GoodsGroupPurchaseInfo goodsSeckiGoodsGroupPurchaseInfo = goodsSkuClient.getGoodsSeckiGoodsGroupPurchaseInfo(page1.getGoodsSkuId(), SecurityConstants.INNER).getData(); if (goodsSeckiGoodsGroupPurchaseInfo!=null){ + log.info("==================已有待成团团购================"); page1.setGroupNo(goodsSeckiGoodsGroupPurchaseInfo.getMubre()); - OrderMapper.updateById(page1); + orderMapper.updateById(page1); Integer i= goodsSeckiGoodsGroupPurchaseInfo.getPurchaseNum()+page1.getGoodsQuantity(); goodsSeckiGoodsGroupPurchaseInfo.setPurchaseNum(i); goodsSkuClient.updgoodsGroupPurchaseInfo(goodsSeckiGoodsGroupPurchaseInfo, SecurityConstants.INNER); }else{ + log.info("==================开启一个新团================"); UUID uuid = UUID.randomUUID(); page1.setGroupNo(uuid.toString()); - OrderMapper.updateById(page1); + orderMapper.updateById(page1); GoodsGroupPurchaseInfo goodsGroupPurchaseInfo=new GoodsGroupPurchaseInfo(); goodsGroupPurchaseInfo.setGroupSize(goodsSeckiGoodsGroupPurchaseOne.getGroupSize()); goodsGroupPurchaseInfo.setCurrentNumber(1); @@ -340,6 +376,7 @@ } } + } } @@ -431,7 +468,8 @@ wrapper1.eq(OrderAuctionBond::getOrderNo,paylog.getOutTradeNo()); wrapper1.eq(OrderAuctionBond::getDelFlag,0); OrderAuctionBond one1 = orderAuctionBondMapper.selectOne(wrapper1); - if (one1.getOrderTimeSx().isAfter(LocalDateTime.now())){ + if (one1.getBondType().equals(AuctionOrderTypeEnum.REGULAR_ITEMS) + && one1.getOrderTimeSx().isBefore(LocalDateTime.now())) { String refundMoney = SinataUtil.doubleRetainTwo(paylog.getPayMoney() * 100d); Integer refundFee = Integer.parseInt(refundMoney.substring(0, refundMoney.length() - 3)); String money = SinataUtil.doubleRetainTwo(paylog.getPayMoney() * 100d); @@ -448,16 +486,53 @@ one1.setBoundStatus(BondStatusEnum.PAID); one1.setPaymentMethod(PaymentMethodEnum.WECHAT); orderAuctionBondMapper.updateById(one1); - + AuctionOrderTypeEnum bondType = one1.getBondType(); + AuctionBondJl auctionBondJl = null; + if (bondType.equals(AuctionOrderTypeEnum.AUCTION_ITEMS)) { + auctionBondJl = auctionClient.getAuctionBondJLByTargetId( + one1.getAuctionSalesroomId(), one1.getMemberId(), + bondType.getCode(), SecurityConstants.INNER) + .getData(); + log.info("保证金支付回调,添加拍卖参与记录开始进行"); + if (Objects.isNull(auctionBondJl)) { + auctionBondJl = new AuctionBondJl(); + auctionBondJl.setAuctionSalesroomId( + one1.getAuctionSalesroomId()); + auctionBondJl.setIsState(0); + auctionBondJl.setBondType(bondType.getCode()); + auctionBondJl.setMemberId( + one1.getMemberId()); + } else { + auctionBondJl.setIsState(0); + } + } else { + auctionBondJl = auctionClient.getAuctionBondJLByTargetId( + one1.getAuctionGoodsId(), one1.getMemberId(), + bondType.getCode(), SecurityConstants.INNER) + .getData(); + if (Objects.isNull(auctionBondJl)) { + auctionBondJl = new AuctionBondJl(); + auctionBondJl.setAuctionGoodsId(one1.getAuctionGoodsId()); + auctionBondJl.setIsState(0); + auctionBondJl.setBondType(bondType.getCode()); + auctionBondJl.setMemberId( + one1.getMemberId()); + } else { + auctionBondJl.setIsState(0); + } + } + auctionClient.saveOrUpdateAuctionBondJl(auctionBondJl, + SecurityConstants.INNER); + log.info("保证金支付回调,添加拍卖参与记录结束"); }else{ LambdaQueryWrapper<Order> wrapper1= Wrappers.lambdaQuery(); wrapper1.eq(Order::getOrderNo,paylog.getOutTradeNo()); wrapper1.eq(Order::getDelFlag,0); - Order page1 = OrderMapper.selectOne(wrapper1); + Order page1 = orderMapper.selectOne(wrapper1); page1.setOrderStatus(OrderStatusEnum.TO_BE_SHIPPED); page1.setPaymentMethod(PaymentMethodEnum.WECHAT); page1.setPayTime(LocalDateTime.now()); - + orderMapper.updateById(page1); if(page1.getOrderNo().contains("SP")){ GoodsSku goodsSku =new GoodsSku(); @@ -473,19 +548,23 @@ goodsSkuClient.updGoodsSeckill1(goodsSku, SecurityConstants.INNER); } if(page1.getOrderNo().contains("TG")){ + log.info( + "===================================开始处理团购回调==================================="); GoodsGroupPurchase goodsSeckiGoodsGroupPurchaseOne = goodsSkuClient.getGoodsSeckiGoodsGroupPurchaseOne(page1.getGoodsSkuId(), SecurityConstants.INNER).getData(); GoodsGroupPurchaseInfo goodsSeckiGoodsGroupPurchaseInfo = goodsSkuClient.getGoodsSeckiGoodsGroupPurchaseInfo(page1.getGoodsSkuId(), SecurityConstants.INNER).getData(); if (goodsSeckiGoodsGroupPurchaseInfo!=null){ + log.info("==================已有待成团团购================"); page1.setGroupNo(goodsSeckiGoodsGroupPurchaseInfo.getMubre()); - OrderMapper.updateById(page1); + orderMapper.updateById(page1); Integer i= goodsSeckiGoodsGroupPurchaseInfo.getPurchaseNum()+page1.getGoodsQuantity(); goodsSeckiGoodsGroupPurchaseInfo.setPurchaseNum(i); goodsSkuClient.updgoodsGroupPurchaseInfo(goodsSeckiGoodsGroupPurchaseInfo, SecurityConstants.INNER); }else{ + log.info("==================开启一个新团================"); UUID uuid = UUID.randomUUID(); page1.setGroupNo(uuid.toString()); - OrderMapper.updateById(page1); + orderMapper.updateById(page1); GoodsGroupPurchaseInfo goodsGroupPurchaseInfo=new GoodsGroupPurchaseInfo(); goodsGroupPurchaseInfo.setGroupSize(goodsSeckiGoodsGroupPurchaseOne.getGroupSize()); goodsGroupPurchaseInfo.setCurrentNumber(1); @@ -643,6 +722,8 @@ String money=SinataUtil.doubleRetainTwo(price*100d); Integer price1 = Integer.parseInt(money.substring(0,money.length()-3)); + log.info( + "============================>WxpayController.createOrder__price1:\n" + price1); paraMap.put("total_fee", price1.toString()); //设置请求参数(通知地址) paraMap.put("notify_url", Configure.wx_notify_url); @@ -656,9 +737,13 @@ String sign = PaymentKit.createSign(paraMap, "HSCEWrfSYiwxR6sesZ6De91Xh3m447sh"); paraMap.put("sign", sign); //统一下单,向微信api发送数据 + log.info( + "============================>WxpayController.paraMap:\n" + paraMap); //转成xml String xmlResult = WxPayApi.pushOrder(false, paraMap); Map<String, String> map = PaymentKit.xmlToMap(xmlResult); + log.info( + "============================>WxpayController.map:\n" + map); //返回状态码 String returnCode = map.get("return_code"); /* Assert.isTrue("SUCCESS".equals(returnCode), getMsgByCode(returnCode));*/ @@ -680,6 +765,7 @@ returnMap.put("sign", signature); returnMap.put("Type",2); + returnMap.put("result_code", map.get("result_code")); returnMap.put("err_code_des", map.get("err_code_des")); // 对获取预支付返回接口参数进行封装(生成支付订单接口数据) return R.ok(returnMap); @@ -821,10 +907,11 @@ */ @Override public Map<String, Object> refund(List<RefundDTO> refundDTOS) { + log.info("开始退款,入参:{}", refundDTOS); Map<String, Object> map = new HashMap<>(); - Set<String> orderNoList = refundDTOS.stream().map(RefundDTO::getOrderNo) - .collect(Collectors.toSet()); - if (StringUtils.isNotEmpty(orderNoList)) { + if (StringUtils.isNotEmpty(refundDTOS)) { + Set<String> orderNoList = refundDTOS.stream().map(RefundDTO::getOrderNo) + .collect(Collectors.toSet()); Map<String, Paylog> paylogMap = this.lambdaQuery() .in(Paylog::getOutTradeNo, orderNoList).eq(Paylog::getState, 1).list().stream() .collect(Collectors.toMap(Paylog::getOutTradeNo, Function.identity())); -- Gitblit v1.7.1