shimai
1 days ago 6f45735adfdcd973a19f638f9ced9629f79cd6de
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
/**
 * 调解协议API Service
 * 处理调解协议生成、确认、下载、修改等相关接口
 * 接口前缀: /api/v1/medi-agreement/*
 */
 
import { request } from './request';
 
class MediationAgreementAPIService {
  /**
   * 调解协议生成
   * POST /api/v1/medi-agreement/generate
   * @param {string} caseId - 案件ID
   * @returns {Promise} 生成的协议信息(包含agreeId和agreeContent)
   */
  static generateAgreement(caseId) {
    return request.post('/api/v1/medi-agreement/generate', { caseId });
  }
 
  /**
   * 调解协议确认
   * POST /api/v1/medi-agreement/confirm
   * @param {string} caseId - 案件ID
   * @param {string} userType - 用户类型:applicant(申请方) / respondent(被申请方) / mediator(调解员)
   * @returns {Promise} 确认结果(包含各方确认状态)
   */
  static confirmAgreement(caseId, userType) {
    return request.post('/api/v1/medi-agreement/confirm', { caseId, userType });
  }
 
  /**
   * 调解协议下载
   * POST /api/v1/medi-agreement/download
   * @param {string} caseId - 案件ID
   * @returns {Promise} PDF文件流
   */
  static downloadAgreement(caseId) {
    return request.post('/api/v1/medi-agreement/download', { caseId }, {
      responseType: 'blob'
    });
  }
 
  /**
   * 获取调解协议内容
   * GET /api/v1/medi-agreement/detail/{caseId}
   * @param {string} caseId - 案件ID
   * @returns {Promise} 协议详情(包含agreeId和agreeContent)
   */
  static getAgreementDetail(caseId) {
    return request.get(`/api/v1/medi-agreement/detail/${caseId}`);
  }
 
  /**
   * 调解协议内容修改
   * POST /api/v1/medi-agreement/update
   * @param {string} caseId - 案件ID
   * @param {string} agreeContent - 修改后的协议内容全文
   * @returns {Promise} 修改结果(包含caseId和agreeId)
   */
  static updateAgreement(caseId, agreeContent) {
    return request.post('/api/v1/medi-agreement/update', { caseId, agreeContent });
  }
 
  /**
   * 调解协议重新生成
   * POST /api/v1/medi-agreement/regenerate
   * @param {string} caseId - 案件ID
   * @returns {Promise} 重新生成的协议信息(包含新的agreeId和agreeContent)
   */
  static regenerateAgreement(caseId) {
    return request.post('/api/v1/medi-agreement/regenerate', { caseId }, { timeout: 30000 });
  }
}
 
export default MediationAgreementAPIService;