Kaynağa Gözat

feat(second): 新增二手委托人信息管理模块

- 创建委托人信息实体类 SecondEntrustUser 及相关字段注解
- 实现委托人信息的增删改查接口及对应业务逻辑
- 添加委托人信息传输对象 SecondEntrustUserDTO 继承交易记录类
- 配置 MyBatis 映射文件及 Mapper 接口支持数据库操作
- 提供根据交易 ID、用户电话等条件查询委托人信息的功能
- 实现逻辑删除功能,确保数据安全性和一致性
zjy 3 hafta önce
ebeveyn
işleme
c5ca1130de

+ 14 - 10
alien-entity/src/main/java/shop/alien/entity/second/SecondEntrustUser.java

@@ -32,24 +32,28 @@ public class SecondEntrustUser extends Model<SecondEntrustUser> {
     private Integer id;
 
     @ApiModelProperty(value = "交易ID")
-    @TableField("trade_id")
-    private Integer tradeId;
+    @TableField("entrust_trade_id")
+    private Integer entrustTradeId;
+
+    @ApiModelProperty(value = "交易编号")
+    @TableField("entrust_trade_no")
+    private String entrustTradeNo;
 
     @ApiModelProperty(value = "委托人电话")
-    @TableField("user_phone")
-    private String userPhone;
+    @TableField("entrust_user_phone")
+    private String entrustUserPhone;
 
     @ApiModelProperty(value = "委托人姓名")
-    @TableField("user_name")
-    private String userName;
+    @TableField("entrust_user_name")
+    private String entrustUserName;
 
     @ApiModelProperty(value = "委托人身份证")
-    @TableField("id_card")
-    private String idCard;
+    @TableField("entrust_id_card")
+    private String entrustIdCard;
 
     @ApiModelProperty(value = "委托人身份证照片")
-    @TableField("id_card_img")
-    private String idCardImg;
+    @TableField("entrust_id_card_img")
+    private String entrustIdCardImg;
 
     @ApiModelProperty(value = "删除标记, 0:未删除, 1:已删除")
     @TableField("delete_flag")

+ 11 - 9
alien-entity/src/main/java/shop/alien/entity/second/vo/SecondEntrustUserDTO.java

@@ -1,6 +1,5 @@
 package shop.alien.entity.second.vo;
 
-import com.sun.istack.internal.NotNull;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -18,20 +17,23 @@ import shop.alien.entity.second.SecondTradeRecord;
 @ApiModel(value = "SecondEntrustUserDTO", description = "二手委托人信息传输对象")
 public class SecondEntrustUserDTO extends SecondTradeRecord {
 
-    @ApiModelProperty(value = "交易ID", required = true)
-    private Integer tradeId;
+    @ApiModelProperty(value = "交易ID")
+    private Integer entrustTradeId;
 
-    @ApiModelProperty(value = "委托人电话", required = true)
-    private String userPhone;
+    @ApiModelProperty(value = "交易编号")
+    private String entrustTradeNo;
 
-    @ApiModelProperty(value = "委托人姓名", required = true)
-    private String userName;
+    @ApiModelProperty(value = "委托人电话")
+    private String entrustUserPhone;
+
+    @ApiModelProperty(value = "委托人姓名")
+    private String entrustUserName;
 
     @ApiModelProperty(value = "委托人身份证")
-    private String idCard;
+    private String entrustIdCard;
 
     @ApiModelProperty(value = "委托人身份证照片")
-    private String idCardImg;
+    private String entrustIdCardImg;
 
 }
 

+ 12 - 0
alien-entity/src/main/java/shop/alien/entity/second/vo/SecondTradeRecordVo.java

@@ -76,4 +76,16 @@ public class SecondTradeRecordVo extends SecondTradeRecord {
 
     @ApiModelProperty(value = "商品信息")
     private SecondGoodsVo goodsInfo;
+
+//    @ApiModelProperty(value = "商品信息")
+//    private Integer entrustId;
+//
+//    @ApiModelProperty(value = "商品信息")
+//    private String userPhone;
+//
+//    @ApiModelProperty(value = "商品信息")
+//    private String userName;
+//
+//    @ApiModelProperty(value = "商品信息")
+//    private String idCard;
 }

+ 9 - 7
alien-entity/src/main/resources/mapper/second/SecondEntrustUserMapper.xml

@@ -5,11 +5,12 @@
     <!-- 通用查询映射结果 -->
     <resultMap id="BaseResultMap" type="shop.alien.entity.second.SecondEntrustUser">
         <id column="id" property="id" />
-        <result column="trade_id" property="tradeId" />
-        <result column="user_phone" property="userPhone" />
-        <result column="user_name" property="userName" />
-        <result column="id_card" property="idCard" />
-        <result column="id_card_img" property="idCardImg" />
+        <result column="entrust_trade_id" property="entrustTradeId" />
+        <result column="entrust_trade_no" property="entrustTradeNo" />
+        <result column="entrust_user_phone" property="entrustUserPhone" />
+        <result column="entrust_user_name" property="entrustUserName" />
+        <result column="entrust_id_card" property="entrustIdCard" />
+        <result column="entrust_id_card_img" property="entrustIdCardImg" />
         <result column="delete_flag" property="deleteFlag" />
         <result column="created_time" property="createdTime" />
         <result column="created_user_id" property="createdUserId" />
@@ -19,8 +20,9 @@
 
     <!-- 通用查询结果列 -->
     <sql id="Base_Column_List">
-        id, trade_id, user_phone, user_name, id_card, id_card_img, 
-        delete_flag, created_time, created_user_id, updated_time, updated_user_id
+        id, entrust_trade_id, entrust_trade_no, entrust_user_phone, entrust_user_name, 
+        entrust_id_card, entrust_id_card_img, delete_flag, created_time, created_user_id, 
+        updated_time, updated_user_id
     </sql>
 
 </mapper>

+ 29 - 12
alien-second/src/main/java/shop/alien/second/controller/SecondEntrustUserController.java

@@ -51,13 +51,13 @@ public class SecondEntrustUserController {
     @ApiOperation("根据交易ID获取委托人信息")
     @ApiOperationSupport(order = 2)
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "tradeId", value = "交易ID", dataType = "Integer", paramType = "query", required = true)
+            @ApiImplicitParam(name = "entrustTradeId", value = "交易ID", dataType = "Integer", paramType = "query", required = true)
     })
     @GetMapping("/getByTradeId")
-    public R<SecondEntrustUser> getByTradeId(@RequestParam Integer tradeId) {
-        log.info("SecondEntrustUserController.getByTradeId tradeId={}", tradeId);
+    public R<SecondEntrustUser> getByTradeId(@RequestParam Integer entrustTradeId) {
+        log.info("SecondEntrustUserController.getByTradeId entrustTradeId={}", entrustTradeId);
         try {
-            SecondEntrustUser entrustUser = secondEntrustUserService.getByTradeId(tradeId);
+            SecondEntrustUser entrustUser = secondEntrustUserService.getByTradeId(entrustTradeId);
             return R.data(entrustUser);
         } catch (Exception e) {
             log.error("SecondEntrustUserController.getByTradeId error: {}", e.getMessage(), e);
@@ -65,9 +65,26 @@ public class SecondEntrustUserController {
         }
     }
 
-    @ApiOperation("根据ID获取委托人信息")
+    @ApiOperation("根据交易编号获取委托人信息")
     @ApiOperationSupport(order = 3)
     @ApiImplicitParams({
+            @ApiImplicitParam(name = "entrustTradeNo", value = "交易编号", dataType = "String", paramType = "query", required = true)
+    })
+    @GetMapping("/getByTradeNo")
+    public R<SecondEntrustUser> getByTradeNo(@RequestParam String entrustTradeNo) {
+        log.info("SecondEntrustUserController.getByTradeNo entrustTradeNo={}", entrustTradeNo);
+        try {
+            SecondEntrustUser entrustUser = secondEntrustUserService.getByTradeNo(entrustTradeNo);
+            return R.data(entrustUser);
+        } catch (Exception e) {
+            log.error("SecondEntrustUserController.getByTradeNo error: {}", e.getMessage(), e);
+            return R.fail(e.getMessage());
+        }
+    }
+
+    @ApiOperation("根据ID获取委托人信息")
+    @ApiOperationSupport(order = 4)
+    @ApiImplicitParams({
             @ApiImplicitParam(name = "id", value = "委托人ID", dataType = "Integer", paramType = "query", required = true)
     })
     @GetMapping("/getById")
@@ -86,7 +103,7 @@ public class SecondEntrustUserController {
     }
 
     @ApiOperation("更新委托人信息")
-    @ApiOperationSupport(order = 4)
+    @ApiOperationSupport(order = 5)
     @PutMapping("/update/{id}")
     public R<Boolean> updateEntrustUser(
             @ApiParam(value = "委托人ID", required = true) @PathVariable Integer id,
@@ -105,7 +122,7 @@ public class SecondEntrustUserController {
     }
 
     @ApiOperation("删除委托人信息")
-    @ApiOperationSupport(order = 5)
+    @ApiOperationSupport(order = 6)
     @ApiImplicitParams({
             @ApiImplicitParam(name = "id", value = "委托人ID", dataType = "Integer", paramType = "query", required = true)
     })
@@ -125,15 +142,15 @@ public class SecondEntrustUserController {
     }
 
     @ApiOperation("根据用户电话查询委托人信息列表")
-    @ApiOperationSupport(order = 6)
+    @ApiOperationSupport(order = 7)
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "userPhone", value = "用户电话", dataType = "String", paramType = "query", required = true)
+            @ApiImplicitParam(name = "entrustUserPhone", value = "用户电话", dataType = "String", paramType = "query", required = true)
     })
     @GetMapping("/getByUserPhone")
-    public R<List<SecondEntrustUser>> getByUserPhone(@RequestParam String userPhone) {
-        log.info("SecondEntrustUserController.getByUserPhone userPhone={}", userPhone);
+    public R<List<SecondEntrustUser>> getByUserPhone(@RequestParam String entrustUserPhone) {
+        log.info("SecondEntrustUserController.getByUserPhone entrustUserPhone={}", entrustUserPhone);
         try {
-            List<SecondEntrustUser> list = secondEntrustUserService.getByUserPhone(userPhone);
+            List<SecondEntrustUser> list = secondEntrustUserService.getByUserPhone(entrustUserPhone);
             return R.data(list);
         } catch (Exception e) {
             log.error("SecondEntrustUserController.getByUserPhone error: {}", e.getMessage(), e);

+ 8 - 3
alien-second/src/main/java/shop/alien/second/controller/SecondTradeRecordController.java

@@ -9,6 +9,7 @@ import org.springframework.web.bind.annotation.*;
 import shop.alien.entity.result.BusinessException;
 import shop.alien.entity.result.R;
 import shop.alien.entity.second.SecondTradeRecord;
+import shop.alien.entity.second.vo.SecondEntrustUserDTO;
 import shop.alien.entity.second.vo.SecondTradeRecordVo;
 import shop.alien.entity.second.vo.SellerEvaluationVo;
 import shop.alien.second.service.SecondTradeRecordService;
@@ -37,7 +38,7 @@ public class SecondTradeRecordController {
     @ApiOperation("创建交易")
     @ApiOperationSupport(order = 1)
     @PostMapping("/createTrade")
-    public R<Boolean> createTrade(@RequestBody SecondTradeRecord entity) throws Exception {
+    public R<Boolean> createTrade(@RequestBody SecondEntrustUserDTO entity) throws Exception {
         log.info("SecondTradeRecordController.createTrade?entity={}", entity.toString());
         if (secondTradeRecordService.createTrade(entity)) return R.success("创建成功");
         return R.fail("创建失败");
@@ -157,9 +158,13 @@ public class SecondTradeRecordController {
     @ApiOperationSupport(order = 11)
     @ApiImplicitParams({@ApiImplicitParam(name = "type", value = "1-确认  2-拒绝", dataType = "Integer", paramType = "query", required = true)})
     @GetMapping("/modifyTradeRecord")
-    public R<Boolean> modifyTradeRecord(int type, Integer tradeId, String transactionTime, String transactionLatitudeLongitude, String transactionLatitudeLongitudeAddress, String transactionLocation, String messageId) throws Exception {
+    public R<Boolean> modifyTradeRecord(int type, Integer tradeId, String transactionTime,
+                                        String transactionLatitudeLongitude,
+                                        String transactionLatitudeLongitudeAddress,
+                                        String transactionLocation,
+                                        String messageId, String userPhone, String userName, String idCard, Integer entrustId) throws Exception {
         log.info("SecondTradeRecordController.modifyTradeRecord?record={}", transactionTime);
-        return R.data(secondTradeRecordService.modifyTradeRecord(type, tradeId, transactionTime, transactionLatitudeLongitude, transactionLatitudeLongitudeAddress, transactionLocation, messageId));
+        return R.data(secondTradeRecordService.modifyTradeRecord(type, tradeId, transactionTime, transactionLatitudeLongitude, transactionLatitudeLongitudeAddress, transactionLocation, messageId, userPhone, userName, idCard, entrustId));
     }
 
     @ApiOperation("获取用户作为卖家的交易评价列表(分页)")

+ 12 - 4
alien-second/src/main/java/shop/alien/second/service/SecondEntrustUserService.java

@@ -27,10 +27,18 @@ public interface SecondEntrustUserService extends IService<SecondEntrustUser> {
     /**
      * 根据交易ID获取委托人信息
      *
-     * @param tradeId 交易ID
+     * @param entrustTradeId 交易ID
      * @return 委托人信息
      */
-    SecondEntrustUser getByTradeId(Integer tradeId);
+    SecondEntrustUser getByTradeId(Integer entrustTradeId);
+
+    /**
+     * 根据交易编号获取委托人信息
+     *
+     * @param entrustTradeNo 交易编号
+     * @return 委托人信息
+     */
+    SecondEntrustUser getByTradeNo(String entrustTradeNo);
 
     /**
      * 更新委托人信息
@@ -52,10 +60,10 @@ public interface SecondEntrustUserService extends IService<SecondEntrustUser> {
     /**
      * 根据用户电话查询委托人信息列表
      *
-     * @param userPhone 用户电话
+     * @param entrustUserPhone 用户电话
      * @return 委托人信息列表
      */
-    List<SecondEntrustUser> getByUserPhone(String userPhone);
+    List<SecondEntrustUser> getByUserPhone(String entrustUserPhone);
 
 }
 

+ 4 - 2
alien-second/src/main/java/shop/alien/second/service/SecondTradeRecordService.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
 import shop.alien.entity.result.BusinessException;
 import shop.alien.entity.second.SecondTradeRecord;
+import shop.alien.entity.second.vo.SecondEntrustUserDTO;
 import shop.alien.entity.second.vo.SecondTradeRecordVo;
 import shop.alien.entity.second.vo.SellerEvaluationVo;
 
@@ -19,7 +20,7 @@ import java.util.List;
  * @since 2025-07-07
  */
 public interface SecondTradeRecordService extends IService<SecondTradeRecord> {
-    boolean createTrade(SecondTradeRecord entity) throws Exception;
+    boolean createTrade(SecondEntrustUserDTO entity) throws Exception;
 
     boolean goodsTradeConfirm(int goodsId) throws Exception;
 
@@ -39,7 +40,8 @@ public interface SecondTradeRecordService extends IService<SecondTradeRecord> {
 
     SecondTradeRecord hasInTradeRecord(Integer sideId) throws Exception;
 
-    boolean modifyTradeRecord(int type, Integer tradeId, String transactionTime, String transactionLatitudeLongitude, String transactionLatitudeLongitudeAddress, String transactionLocation, String messageId) throws Exception;
+    boolean modifyTradeRecord(int type, Integer tradeId, String transactionTime, String transactionLatitudeLongitude, String transactionLatitudeLongitudeAddress, String transactionLocation, String messageId,
+                              String userPhone, String userName, String idCard, Integer entrustId) throws Exception;
 
     /**
      * 获取用户作为卖家的交易评价列表(分页)

+ 28 - 10
alien-second/src/main/java/shop/alien/second/service/impl/SecondEntrustUserServiceImpl.java

@@ -11,6 +11,7 @@ import shop.alien.entity.second.SecondEntrustUser;
 import shop.alien.entity.second.vo.SecondEntrustUserDTO;
 import shop.alien.mapper.second.SecondEntrustUserMapper;
 import shop.alien.second.service.SecondEntrustUserService;
+import org.apache.commons.lang3.StringUtils;
 
 import java.util.List;
 
@@ -41,9 +42,9 @@ public class SecondEntrustUserServiceImpl extends ServiceImpl<SecondEntrustUserM
         log.info("SecondEntrustUserServiceImpl.createEntrustUser dto={}", dto);
         try {
             // 检查该交易是否已存在委托人信息
-            SecondEntrustUser existUser = getByTradeId(dto.getTradeId());
+            SecondEntrustUser existUser = getByTradeId(dto.getEntrustTradeId());
             if (existUser != null) {
-                log.warn("交易ID:{}已存在委托人信息", dto.getTradeId());
+                log.warn("交易ID:{}已存在委托人信息", dto.getEntrustTradeId());
                 throw new RuntimeException("该交易已存在委托人信息");
             }
 
@@ -61,14 +62,31 @@ public class SecondEntrustUserServiceImpl extends ServiceImpl<SecondEntrustUserM
     /**
      * 根据交易ID获取委托人信息
      *
-     * @param tradeId 交易ID
+     * @param entrustTradeId 交易ID
      * @return 委托人信息
      */
     @Override
-    public SecondEntrustUser getByTradeId(Integer tradeId) {
-        log.info("SecondEntrustUserServiceImpl.getByTradeId tradeId={}", tradeId);
+    public SecondEntrustUser getByTradeId(Integer entrustTradeId) {
+        log.info("SecondEntrustUserServiceImpl.getByTradeId entrustTradeId={}", entrustTradeId);
         LambdaQueryWrapper<SecondEntrustUser> wrapper = new LambdaQueryWrapper<>();
-        wrapper.eq(SecondEntrustUser::getTradeId, tradeId);
+        wrapper.eq(SecondEntrustUser::getEntrustTradeId, entrustTradeId);
+        return this.getOne(wrapper);
+    }
+
+    /**
+     * 根据交易编号获取委托人信息
+     *
+     * @param entrustTradeNo 交易编号
+     * @return 委托人信息
+     */
+    @Override
+    public SecondEntrustUser getByTradeNo(String entrustTradeNo) {
+        log.info("SecondEntrustUserServiceImpl.getByTradeNo entrustTradeNo={}", entrustTradeNo);
+        if (StringUtils.isBlank(entrustTradeNo)) {
+            return null;
+        }
+        LambdaQueryWrapper<SecondEntrustUser> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(SecondEntrustUser::getEntrustTradeNo, entrustTradeNo);
         return this.getOne(wrapper);
     }
 
@@ -128,14 +146,14 @@ public class SecondEntrustUserServiceImpl extends ServiceImpl<SecondEntrustUserM
     /**
      * 根据用户电话查询委托人信息列表
      *
-     * @param userPhone 用户电话
+     * @param entrustUserPhone 用户电话
      * @return 委托人信息列表
      */
     @Override
-    public List<SecondEntrustUser> getByUserPhone(String userPhone) {
-        log.info("SecondEntrustUserServiceImpl.getByUserPhone userPhone={}", userPhone);
+    public List<SecondEntrustUser> getByUserPhone(String entrustUserPhone) {
+        log.info("SecondEntrustUserServiceImpl.getByUserPhone entrustUserPhone={}", entrustUserPhone);
         LambdaQueryWrapper<SecondEntrustUser> wrapper = new LambdaQueryWrapper<>();
-        wrapper.eq(SecondEntrustUser::getUserPhone, userPhone);
+        wrapper.eq(SecondEntrustUser::getEntrustUserPhone, entrustUserPhone);
         wrapper.orderByDesc(SecondEntrustUser::getCreatedTime);
         return this.list(wrapper);
     }

+ 42 - 2
alien-second/src/main/java/shop/alien/second/service/impl/SecondTradeRecordServiceImpl.java

@@ -10,12 +10,14 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import shop.alien.config.properties.RiskControlProperties;
 import shop.alien.entity.result.BusinessException;
 import shop.alien.entity.second.*;
+import shop.alien.entity.second.vo.SecondEntrustUserDTO;
 import shop.alien.mapper.second.SecondRiskControlRecordMapper;
 import shop.alien.entity.second.vo.SecondTradeRecordVo;
 import shop.alien.entity.second.vo.SellerEvaluationVo;
@@ -68,11 +70,14 @@ public class SecondTradeRecordServiceImpl extends ServiceImpl<SecondTradeRecordM
     @Autowired
     private RiskControlProperties riskControlProperties;
 
+    // 委托人信息
+    private final SecondEntrustUserMapper secondEntrustUserMapper;
+
     private final Object lock = new Object();
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public boolean createTrade(SecondTradeRecord trade) throws Exception {
+    public boolean createTrade(SecondEntrustUserDTO trade) throws Exception {
         try {
             synchronized (lock) {
                 LocalDate now = LocalDate.now();
@@ -109,6 +114,16 @@ public class SecondTradeRecordServiceImpl extends ServiceImpl<SecondTradeRecordM
             // 查询商品
             goods = secondGoodsMapper.selectById(trade.getGoodsId());
 
+            if (StringUtils.isNotBlank(trade.getEntrustUserPhone()) && StringUtils.isNotBlank(trade.getEntrustUserName()) && StringUtils.isNotBlank(trade.getEntrustIdCard())) {
+                // 添加商家委托信息
+                SecondEntrustUser secondEntrustUser = new SecondEntrustUser();
+                secondEntrustUser.setEntrustTradeId(trade.getId());
+                secondEntrustUser.setEntrustUserPhone(trade.getEntrustUserPhone());
+                secondEntrustUser.setEntrustUserName(trade.getEntrustUserName());
+                secondEntrustUser.setEntrustIdCard(trade.getEntrustIdCard());
+                secondEntrustUserMapper.insert(secondEntrustUser);
+            }
+
             // 发送消息
             sendMsg(goods, trade, 1, "4");
 
@@ -140,6 +155,18 @@ public class SecondTradeRecordServiceImpl extends ServiceImpl<SecondTradeRecordM
         message.put("transactionLocation", trade.getTransactionLocation());
         message.put("transactionTime", trade.getTransactionTime());
         message.put("tradeStatus", tradeStatus);
+
+        // 查询商家委托信息
+        LambdaQueryWrapper<SecondEntrustUser> entrustWrapper = new LambdaQueryWrapper<>();
+        entrustWrapper.eq(SecondEntrustUser::getEntrustTradeId, trade.getId());
+        SecondEntrustUser entrustUser = secondEntrustUserMapper.selectOne(entrustWrapper);
+        if ( entrustUser != null ) {
+            message.put("entrustId", entrustUser.getId());
+            message.put("entrustUserPhone", entrustUser.getEntrustUserPhone());
+            message.put("entrustUserName", entrustUser.getEntrustUserName());
+            message.put("entrustIdCard", entrustUser.getEntrustIdCard());
+        }
+
         if (6 == tradeStatus) {
             message.put("cancelUserId", trade.getCancelUserId());
             message.put("cancelReason", trade.getCancelReason());
@@ -601,7 +628,8 @@ public class SecondTradeRecordServiceImpl extends ServiceImpl<SecondTradeRecordM
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public boolean modifyTradeRecord(int type, Integer tradeId, String transactionTime, String transactionLatitudeLongitude, String transactionLatitudeLongitudeAddress, String transactionLocation, String messageId) throws Exception {
+    public boolean modifyTradeRecord(int type, Integer tradeId, String transactionTime, String transactionLatitudeLongitude, String transactionLatitudeLongitudeAddress, String transactionLocation, String messageId,
+                                     String userPhone, String userName, String idCard, Integer entrustId) throws Exception {
         try {
             if (type == 1) {
                 LambdaUpdateWrapper<SecondTradeRecord> wrapper = new LambdaUpdateWrapper<>();
@@ -642,6 +670,18 @@ public class SecondTradeRecordServiceImpl extends ServiceImpl<SecondTradeRecordM
             LifeUser lifeUser = lifeUserMapper.selectById(Objects.equals(userId, trade.getBuyerId()) ? trade.getSellerId() : trade.getBuyerId());
             String receiverId = "user_" + lifeUser.getUserPhone();
 
+            if (entrustId != null) {
+                // 添加商家委托信息
+                SecondEntrustUser secondEntrustUser = new SecondEntrustUser();
+                secondEntrustUser.setId(entrustId);
+                secondEntrustUser.setEntrustTradeId(tradeId);
+                secondEntrustUser.setEntrustUserPhone(userPhone);
+                secondEntrustUser.setEntrustUserName(userName);
+                secondEntrustUser.setEntrustIdCard(idCard);
+                secondEntrustUserMapper.updateById(secondEntrustUser);
+            }
+
+
             // 给买家与卖家发送交易消息
             WebSocketVo webSocketVo = new WebSocketVo();
             webSocketVo.setSenderId(phoneId);