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