Browse Source

1、新增订单结算详情接口
2、新增订单申请记录详情接口

jxl 3 days ago
parent
commit
75f34ca67c

+ 2 - 39
leromro-core/src/main/java/com/leromro/core/controller/OrderSettlementApplicationController.java

@@ -2,15 +2,14 @@ package com.leromro.core.controller;
 
 import com.leromro.common.annotation.Log;
 import com.leromro.common.core.controller.BaseController;
-import com.leromro.common.core.domain.AjaxResult;
 import com.leromro.common.core.domain.R;
 import com.leromro.common.core.page.TableDataInfo;
 import com.leromro.common.enums.BusinessType;
 import com.leromro.common.utils.poi.ExcelUtil;
-import com.leromro.core.domain.OrderSettlementApplication;
 import com.leromro.core.domain.dto.OrderSettlementApplicationListDTO;
 import com.leromro.core.domain.dto.SettlementOrderApplyDTO;
 import com.leromro.core.domain.dto.SettlementOrderAuditorDTO;
+import com.leromro.core.domain.vo.OrderSettlementApplicationDetailVO;
 import com.leromro.core.domain.vo.OrderSettlementApplicationListVO;
 import com.leromro.core.service.IOrderSettlementApplicationService;
 import io.swagger.annotations.Api;
@@ -69,47 +68,11 @@ public class OrderSettlementApplicationController extends BaseController
     @ApiOperation("获取订单费用结算申请详细信息")
     @PreAuthorize("@ss.hasPermi('core:orderSettlementApplication:query')")
     @GetMapping(value = "/{id}")
-    public R<OrderSettlementApplication> getInfo(@PathVariable("id") Long id)
+    public R<OrderSettlementApplicationDetailVO> getInfo(@PathVariable("id") Long id)
     {
         return R.ok(orderSettlementApplicationService.selectOrderSettlementApplicationById(id));
     }
 
-    /**
-     * 新增订单费用结算申请
-     */
-    @ApiOperation("新增订单费用结算申请")
-    @PreAuthorize("@ss.hasPermi('core:orderSettlementApplication:add')")
-    @Log(title = "订单费用结算申请", businessType = BusinessType.INSERT)
-    @PostMapping
-    public AjaxResult add(@RequestBody OrderSettlementApplication orderSettlementApplication)
-    {
-        return toAjax(orderSettlementApplicationService.insertOrderSettlementApplication(orderSettlementApplication));
-    }
-
-    /**
-     * 修改订单费用结算申请
-     */
-    @ApiOperation("修改订单费用结算申请")
-    @PreAuthorize("@ss.hasPermi('core:orderSettlementApplication:edit')")
-    @Log(title = "订单费用结算申请", businessType = BusinessType.UPDATE)
-    @PutMapping
-    public AjaxResult edit(@RequestBody OrderSettlementApplication orderSettlementApplication)
-    {
-        return toAjax(orderSettlementApplicationService.updateOrderSettlementApplication(orderSettlementApplication));
-    }
-
-    /**
-     * 删除订单费用结算申请
-     */
-    @ApiOperation("删除订单费用结算申请")
-    @PreAuthorize("@ss.hasPermi('core:orderSettlementApplication:remove')")
-    @Log(title = "订单费用结算申请", businessType = BusinessType.DELETE)
-	@DeleteMapping("/{ids}")
-    public R<Integer> remove(@PathVariable Long[] ids)
-    {
-        return R.ok(orderSettlementApplicationService.deleteOrderSettlementApplicationByIds(ids));
-    }
-
     /**
      * 区域公司/服务中心订单结算申请
      */

+ 10 - 0
leromro-core/src/main/java/com/leromro/core/controller/OrdersController.java

@@ -222,6 +222,16 @@ public class OrdersController extends BaseController {
         return getDataTable(list);
     }
 
+    /**
+     * 获取订单的结算详情
+     */
+    @ApiOperation("获取订单的结算详情")
+    @GetMapping("/web/settlementOrderDetail/{secondOrderId}")
+    public R<SettlementOrderDetailVO> getSettlementOrderDetail(@PathVariable Long secondOrderId) {
+        SettlementOrderDetailVO settlementOrderDetailVO = secondOrderService.getSettlementOrderDetail(secondOrderId);
+        return R.ok(settlementOrderDetailVO);
+    }
+
     /**
      * 导出订单费用结算列表
      */

+ 95 - 0
leromro-core/src/main/java/com/leromro/core/domain/vo/OrderSettlementApplicationDetailVO.java

@@ -0,0 +1,95 @@
+package com.leromro.core.domain.vo;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 订单费用结算申请对象 l_order_settlement_application
+ * 
+ * @author lsd
+ * @date 2025-05-13
+ */
+@Data
+public class OrderSettlementApplicationDetailVO {
+    // 结算申请记录id
+    private Long id;
+    // 申请时间
+    private Date applyTime;
+
+    // 申请人
+    private String applyUserName;
+
+    // 申请组织(区域/服务中心)
+    private String applicant;
+
+    // 订单id
+    private Long secondOrderId;
+
+    // 订单号
+    private String outTradeNo;
+
+    // 下单时间
+    private Date orderTime;
+
+    // 用户名称
+    private String userNickName;
+
+    // 志愿者名称
+    private String volunteerName;
+
+    // 服务项目内容
+    private String businessDescribe;
+
+    // 服务项目类型
+    private String businessTierName;
+
+    // 服务开始时间
+    private Date serviceStartTime;
+
+    // 服务结束时间
+    private Date serviceEndTime;
+
+    // 订单总金额
+    private BigDecimal orderTotalPrice;
+
+    // 订单状态
+    private String orderStatus;
+
+    // 区域公司
+    private String areaName;
+
+    // 服务中心
+    private String serviceCentreName;
+
+    // 区域公司抽成金额
+    private BigDecimal areaDistributionAmount;
+
+    // 区域公司结算状态
+    private String areaSettlementStatus;
+
+    // 区域公司结算时间
+    private Date areaSettlementTime;
+
+    // 服务中心抽成金额
+    private BigDecimal serviceCentreDistributionAmount;
+
+    // 服务中心结算状态
+    private String serviceCentreSettlementStatus;
+
+    // 服务中心结算时间
+    private Date serviceCentreSettlementTime;
+
+    // 审核人名称
+    private String auditorUserNickName;
+
+    // 审核时间
+    private Date auditorTime;
+
+    // 审核状态 10审核中 20审核通过 30审核未通过 40已取消
+    private String auditorStatus;
+
+    // 审核结果说明
+    private String auditorRemark;
+}

+ 176 - 0
leromro-core/src/main/java/com/leromro/core/domain/vo/SettlementOrderDetailVO.java

@@ -0,0 +1,176 @@
+package com.leromro.core.domain.vo;
+
+import com.leromro.common.annotation.Excel;
+import com.leromro.framework.handler.DictLaberHandler;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 后台管理订单结算页面
+ */
+@Data
+public class SettlementOrderDetailVO {
+
+    // 订单id
+    private Long orderId;
+
+    // 订单号
+    @Excel(name = "订单号")
+    private String outTradeNo;
+
+    // 下单时间
+    @Excel(name = "下单时间")
+    private Date orderTime;
+
+    // 用户名称
+    @Excel(name = "用户名称")
+    private String userNickName;
+
+    // 志愿者名称
+    @Excel(name = "志愿者名称")
+    private String volunteerName;
+
+    // 服务项目内容
+    @Excel(name = "服务项目内容")
+    private String businessDescribe;
+
+    // 服务项目类型
+    @Excel(name = "服务项目类型")
+    private String businessTierName;
+
+    // 服务开始时间
+    @Excel(name = "服务开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    private Date serviceStartTime;
+
+    // 服务结束时间
+    @Excel(name = "服务结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    private Date serviceEndTime;
+
+    // 订单总金额
+    @Excel(name = "订单总金额(元)")
+    private BigDecimal orderTotalPrice;
+
+    // 订单状态
+    @Excel(name = "订单状态",handler = DictLaberHandler.class, args = { "order_status"})
+    private String orderStatus;
+
+    // 区域公司
+    @Excel(name = "区域公司")
+    private String areaName;
+
+    // 服务中心
+    @Excel(name = "服务中心")
+    private String serviceCentreName;
+
+    // 区域公司抽成金额
+    @Excel(name = "区域公司抽成金额(元)")
+    private BigDecimal areaDistributionAmount;
+
+    // 区域公司结算状态
+    @Excel(name = "区域公司结算状态", handler = DictLaberHandler.class, args = { "area_settlement_status"})
+    private String areaSettlementStatus;
+
+    // 区域公司结算时间
+    @Excel(name = "区域公司结算时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    private Date areaSettlementTime;
+
+    /**
+     * 区域管理费用付款方式 1银行卡
+     */
+    @ApiModelProperty("区域管理费用付款方式 1银行卡")
+    private String areaPayerMethod;
+
+    /**
+     * 区域管理费用付款账户
+     */
+    @ApiModelProperty("区域管理费用付款账户")
+    private String areaPayerAccount;
+
+    /**
+     * 区域管理费用付款银行名称
+     */
+    @ApiModelProperty("区域管理费用付款银行名称")
+    private String areaPayerAccountBankName;
+
+    /**
+     * 区域收款方式 1银行卡
+     */
+    @ApiModelProperty("区域收款方式 1银行卡")
+    private String areaPayeeMethod;
+
+    /**
+     * 区域收款账号
+     */
+    @ApiModelProperty("区域收款账号")
+    private String areaPayeeAccount;
+
+    /**
+     * 区域收款银行名称
+     */
+    @ApiModelProperty("区域收款银行名称")
+    private String areaPayeeBankName;
+
+    /**
+     * 区域收款人姓名
+     */
+    @ApiModelProperty("区域收款人姓名")
+    private String areaPayeeName;
+
+
+    // 服务中心抽成金额
+    @Excel(name = "服务中心抽成金额(元)")
+    private BigDecimal serviceCentreDistributionAmount;
+
+    // 服务中心结算状态
+    @Excel(name = "服务中心结算状态", handler = DictLaberHandler.class, args = { "service_centre_settlement_stauts"})
+    private String serviceCentreSettlementStatus;
+
+    // 服务中心结算时间
+    @Excel(name = "服务中心结算时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    private Date serviceCentreSettlementTime;
+
+    /**
+     * 服务中心费用付款方式 1银行卡
+     */
+    @ApiModelProperty("服务中心费用付款方式 1银行卡")
+    private String serviceCentrePayerMethod;
+
+    /**
+     * 服务中心费用付款账户
+     */
+    @ApiModelProperty("服务中心费用付款账户")
+    private String serviceCentrePayerAccount;
+
+    /**
+     * 服务中心费用付款银行名称
+     */
+    @ApiModelProperty("服务中心费用付款银行名称")
+    private String serviceCentrePayerBankName;
+
+    /**
+     * 服务中心收款方式 1银行卡
+     */
+    @ApiModelProperty("服务中心收款方式 1银行卡")
+    private String serviceCentrePayeeMethod;
+
+    /**
+     * 服务中心收款账号
+     */
+    @ApiModelProperty("服务中心收款账号")
+    private String serviceCentrePayeeAccount;
+
+    /**
+     * 服务中心收款银行名称
+     */
+    @ApiModelProperty("服务中心收款银行名称")
+    private String serviceCentrePayeeBankName;
+
+    /**
+     * 服务中心收款人姓名
+     */
+    @ApiModelProperty("服务中心收款人姓名")
+    private String serviceCentrePayeeName;
+}

+ 3 - 2
leromro-core/src/main/java/com/leromro/core/mapper/OrderSettlementApplicationMapper.java

@@ -3,6 +3,7 @@ package com.leromro.core.mapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.leromro.core.domain.OrderSettlementApplication;
 import com.leromro.core.domain.dto.AuthOrderSettlementApplicationListDTO;
+import com.leromro.core.domain.vo.OrderSettlementApplicationDetailVO;
 import com.leromro.core.domain.vo.OrderSettlementApplicationListVO;
 
 import java.util.List;
@@ -21,12 +22,12 @@ public interface OrderSettlementApplicationMapper extends BaseMapper<OrderSettle
      * @param id 订单费用结算申请主键
      * @return 订单费用结算申请
      */
-    public OrderSettlementApplication selectOrderSettlementApplicationById(Long id);
+    public OrderSettlementApplicationDetailVO selectOrderSettlementApplicationById(Long id);
 
     /**
      * 查询订单费用结算申请列表
      * 
-     * @param orderSettlementApplicationListDTO 订单费用结算申请
+     * @param authOrderSettlementApplicationListDTO 订单费用结算申请
      * @return 订单费用结算申请集合
      */
     public List<OrderSettlementApplicationListVO> selectOrderSettlementApplicationList(AuthOrderSettlementApplicationListDTO authOrderSettlementApplicationListDTO);

+ 3 - 0
leromro-core/src/main/java/com/leromro/core/mapper/SecondOrdersMapper.java

@@ -5,6 +5,7 @@ import com.leromro.common.core.domain.ListPermission;
 import com.leromro.core.domain.SecondOrder;
 import com.leromro.core.domain.dto.HomePageDTO;
 import com.leromro.core.domain.dto.AuthSettlementOrderListDTO;
+import com.leromro.core.domain.vo.SettlementOrderDetailVO;
 import com.leromro.core.domain.vo.SettlementOrderListVO;
 import com.leromro.core.domain.vo.VolunteerOrdersVO;
 import org.apache.ibatis.annotations.Param;
@@ -23,4 +24,6 @@ public interface SecondOrdersMapper extends BaseMapper<SecondOrder> {
     List<SettlementOrderListVO> selectSettlementOrderList(AuthSettlementOrderListDTO settlementOrderListDTO);
 
     void updatedeptAmountList(List<SecondOrder> secondOrderList);
+
+    SettlementOrderDetailVO getSettlementOrderDetail(Long secondOrderId);
 }

+ 2 - 1
leromro-core/src/main/java/com/leromro/core/service/IOrderSettlementApplicationService.java

@@ -5,6 +5,7 @@ import com.leromro.core.domain.OrderSettlementApplication;
 import com.leromro.core.domain.dto.OrderSettlementApplicationListDTO;
 import com.leromro.core.domain.dto.SettlementOrderApplyDTO;
 import com.leromro.core.domain.dto.SettlementOrderAuditorDTO;
+import com.leromro.core.domain.vo.OrderSettlementApplicationDetailVO;
 import com.leromro.core.domain.vo.OrderSettlementApplicationListVO;
 
 import java.util.List;
@@ -23,7 +24,7 @@ public interface IOrderSettlementApplicationService extends IService<OrderSettle
      * @param id 订单费用结算申请主键
      * @return 订单费用结算申请
      */
-    public OrderSettlementApplication selectOrderSettlementApplicationById(Long id);
+    public OrderSettlementApplicationDetailVO selectOrderSettlementApplicationById(Long id);
 
     /**
      * 查询订单费用结算申请列表

+ 8 - 0
leromro-core/src/main/java/com/leromro/core/service/ISecondOrderService.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import com.leromro.common.core.domain.AjaxResult;
 import com.leromro.core.domain.SecondOrder;
 import com.leromro.core.domain.dto.*;
+import com.leromro.core.domain.vo.SettlementOrderDetailVO;
 import com.leromro.core.domain.vo.SettlementOrderListVO;
 import com.leromro.core.domain.vo.VolunteerOrdersVO;
 
@@ -64,4 +65,11 @@ public interface ISecondOrderService extends IService<SecondOrder> {
      * @param status
      */
     void updateServiceCentreSettlementStatus(List<Long> secondOrderIds, String status);
+
+    /**
+     * 获取订单服务中心结算列表
+     * @param secondOrderId
+     * @return
+     */
+    SettlementOrderDetailVO getSettlementOrderDetail(Long secondOrderId);
 }

+ 2 - 1
leromro-core/src/main/java/com/leromro/core/service/impl/OrderSettlementApplicationServiceImpl.java

@@ -18,6 +18,7 @@ import com.leromro.common.utils.SecurityUtils;
 import com.leromro.core.domain.OrderSettlementApplication;
 import com.leromro.core.domain.SecondOrder;
 import com.leromro.core.domain.dto.*;
+import com.leromro.core.domain.vo.OrderSettlementApplicationDetailVO;
 import com.leromro.core.domain.vo.OrderSettlementApplicationListVO;
 import com.leromro.core.mapper.OrderSettlementApplicationMapper;
 import com.leromro.core.service.IMainOrderService;
@@ -62,7 +63,7 @@ public class OrderSettlementApplicationServiceImpl extends ServiceImpl<OrderSett
      * @return 订单费用结算申请
      */
     @Override
-    public OrderSettlementApplication selectOrderSettlementApplicationById(Long id)
+    public OrderSettlementApplicationDetailVO selectOrderSettlementApplicationById(Long id)
     {
         return orderSettlementApplicationMapper.selectOrderSettlementApplicationById(id);
     }

+ 6 - 0
leromro-core/src/main/java/com/leromro/core/service/impl/SecondOrdersServiceImpl.java

@@ -17,6 +17,7 @@ import com.leromro.common.utils.PageUtils;
 import com.leromro.common.utils.SecurityUtils;
 import com.leromro.core.domain.*;
 import com.leromro.core.domain.dto.*;
+import com.leromro.core.domain.vo.SettlementOrderDetailVO;
 import com.leromro.core.domain.vo.SettlementOrderListVO;
 import com.leromro.core.domain.vo.VolunteerOrdersVO;
 import com.leromro.core.mapper.*;
@@ -269,4 +270,9 @@ public class SecondOrdersServiceImpl extends ServiceImpl<SecondOrdersMapper, Sec
                 .set(SecondOrder::getServiceCentreSettlementStatus, status)
                 .eq(SecondOrder::getSecondOrderId, secondOrderIds));
     }
+
+    @Override
+    public SettlementOrderDetailVO getSettlementOrderDetail(Long secondOrderId) {
+        return secondOrdersMapper.getSettlementOrderDetail(secondOrderId);
+    }
 }

+ 41 - 3
leromro-core/src/main/resources/mapper/core/OrderSettlementApplicationMapper.xml

@@ -31,9 +31,47 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         select id, order_id, applicant_type, applicant_id, amount, application_user_id, application_time, payee_method, payee_account, payee_bank_name, payee_name, payee_remark, auditor_user_id, auditor_time, auditor_status, auditor_remark, create_time, update_time, create_by, update_by from l_order_settlement_application
     </sql>
     
-    <select id="selectOrderSettlementApplicationById" parameterType="Long" resultMap="OrderSettlementApplicationResult">
-        <include refid="selectOrderSettlementApplicationVo"/>
-        where id = #{id}
+    <select id="selectOrderSettlementApplicationById" resultType="com.leromro.core.domain.vo.OrderSettlementApplicationDetailVO">
+        SELECT
+            a.id as id,
+            a.application_time as applyTime,
+            application_user.nick_name AS applyUserName,
+            sys_dept.dept_name AS applyUserName,
+            l_second_order.second_order_id AS secondOrderId,
+            l_second_order.out_trade_no AS outTradeNo,
+            l_second_order.create_time AS orderTime,
+            su_user.nick_name AS userNickName,
+            su_volunteer.nick_name AS volunteerName,
+            lvi.business_describe AS businessDescribe,
+            lvi.business_tier_name AS businessTierName,
+            l_second_order.service_start_time AS serviceStartTime,
+            l_second_order.service_end_time AS serviceEndTime,
+            l_second_order.service_total_price AS orderTotalPrice,
+            l_second_order.order_status AS orderStatus,
+            area.dept_name AS areaName,
+            service_centre.dept_name AS serviceCentreName,
+            l_second_order.area_distribution_amount AS areaDistributionAmount,
+            l_second_order.area_settlement_status AS areaSettlementStatus,
+            l_second_order.area_settlement_time AS areaSettlementTime,
+            l_second_order.service_centre_distribution_amount AS serviceCentreDistributionAmount,
+            l_second_order.service_centre_settlement_status AS serviceCentreSettlementStatus,
+            l_second_order.service_centre_settlement_time AS serviceCentreSettlementTime,
+            auditor_user.nick_name as auditorUserNickName,
+            a.auditor_time as auditorTime,
+            a.auditor_status as auditorStatus,
+            a.auditor_remark as auditorRemark
+            FROM l_order_settlement_application a
+            left join l_second_order on a.order_id = l_second_order.second_order_id
+            LEFT JOIN l_main_orders mo ON l_second_order.main_order_id = mo.main_order_id
+            LEFT JOIN sys_user auditor_user ON a.auditor_user_id = auditor_user.user_id
+            LEFT JOIN sys_user application_user ON a.application_user_id = application_user.user_id
+            left join sys_dept on a.applicant_id = sys_dept.dept_id
+            LEFT JOIN sys_user su_user ON mo.user_id = su_user.user_id
+            LEFT JOIN sys_user su_volunteer ON l_second_order.volunteer_id = su_volunteer.user_id
+            left join l_volunteer_info lvi on l_second_order.volunteer_info_id = lvi.volunteer_info_id
+            left join sys_dept area on l_second_order.area_distribution_id = area.dept_id
+            left join sys_dept service_centre on l_second_order.service_center_id = service_centre.dept_id
+            where id = #{id}
     </select>
 
     <select id="selectOrderSettlementApplicationList" resultType="com.leromro.core.domain.vo.OrderSettlementApplicationListVO">

+ 49 - 0
leromro-core/src/main/resources/mapper/core/SecondOrdersMapper.xml

@@ -421,4 +421,53 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         </where>
     </select>
 
+    <select id="getSettlementOrderDetail" resultType="com.leromro.core.domain.vo.SettlementOrderDetailVO">
+        SELECT
+        a.second_order_id AS orderId,
+        a.out_trade_no AS outTradeNo,
+        a.create_time AS orderTime,
+        su_user.nick_name AS userNickName,
+        su_volunteer.nick_name AS volunteerName,
+        lvi.business_describe AS businessDescribe,
+        lvi.business_tier_name AS businessTierName,
+        a.service_start_time AS serviceStartTime,
+        a.service_end_time AS serviceEndTime,
+        a.service_total_price AS orderTotalPrice,
+        a.order_status AS orderStatus,
+        area.dept_name AS areaName,
+        service_centre.dept_name AS serviceCentreName,
+        a.area_distribution_amount AS areaDistributionAmount,
+        a.area_settlement_status AS areaSettlementStatus,
+        a.area_settlement_time AS areaSettlementTime,
+        a.area_payer_method AS areaPayerMethod,
+        a.area_payer_account AS areaPayerAccount,
+        a.area_payer_account_bank_name AS areaPayerAccountBankName,
+        a.area_payee_method AS areaPayeeMethod,
+        a.area_payee_account AS areaPayeeAccount,
+        a.area_payee_bank_name AS areaPayeeBankName,
+        a.area_payee_name AS areaPayeeName,
+        a.service_centre_distribution_amount AS serviceCentreDistributionAmount,
+        a.service_centre_settlement_status AS serviceCentreSettlementStatus,
+        a.service_centre_settlement_time AS serviceCentreSettlementTime,
+        a.service_centre_payer_method AS serviceCentrePayerMethod,
+        a.service_centre_payer_account AS serviceCentrePayerAccount,
+        a.service_centre_payer_bank_name AS serviceCentrePayerBankName,
+        a.service_centre_payee_method AS serviceCentrePayeeMethod,
+        a.service_centre_payee_account AS serviceCentrePayeeAccount,
+        a.service_centre_payee_bank_name AS serviceCentrePayeeBankName,
+        a.service_centre_payee_name AS serviceCentrePayeeName
+        FROM l_second_order a
+        left join sys_dept area on a.area_distribution_id = area.dept_id
+        left join sys_dept service_centre on a.service_center_id = service_centre.dept_id
+        LEFT JOIN l_main_orders mo ON a.main_order_id = mo.main_order_id
+        LEFT JOIN sys_user su_user ON mo.user_id = su_user.user_id
+        LEFT JOIN sys_user su_volunteer ON a.volunteer_id = su_volunteer.user_id
+        left join sys_user as_user on a.area_settlement_user_id = as_user.user_id
+        left join sys_user scs_user on a.service_centre_settlement_user_id = scs_user.user_id
+        left join l_volunteer_info lvi on a.volunteer_info_id = lvi.volunteer_info_id
+        <where>
+            a.second_order_id = #{orderId}
+        </where>
+    </select>
+
 </mapper>