chengf
2026-01-16 d5b6bebe835f1597f227409feced749dbe811fc1
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
package com.java110.fee.api;
 
import com.alibaba.fastjson.JSONObject;
import com.java110.fee.bmo.importFeeDetail.IDeleteImportFeeDetailBMO;
import com.java110.fee.bmo.importFeeDetail.IGetImportFeeDetailBMO;
import com.java110.fee.bmo.importFeeDetail.ISaveImportFeeDetailBMO;
import com.java110.fee.bmo.importFeeDetail.IUpdateImportFeeDetailBMO;
import com.java110.po.importFee.MaintenancePayment;
import com.java110.utils.util.Assert;
import com.java110.utils.util.BeanConvertUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
 
/**
 * 维修资金支取信息接口
 * 匹配原有 ImportFeeApi 代码风格
 */
@RestController
@RequestMapping(value = "/maintenancePayment")
public class MaintenancePaymentApi {
 
    @Autowired
    private ISaveImportFeeDetailBMO saveImportFeeDetailBMOImpl;
    @Autowired
    private IUpdateImportFeeDetailBMO updateImportFeeDetailBMOImpl;
    @Autowired
    private IDeleteImportFeeDetailBMO deleteImportFeeDetailBMOImpl;
    @Autowired
    private IGetImportFeeDetailBMO getImportFeeDetailBMOImpl;
 
    /**
     * 保存维修资金支取信息
     *
     * @param reqJson 请求参数
     * @return 响应结果
     * @serviceCode  /maintenancePayment/saveMaintenancePayment
     * @path /app/maintenancePayment/saveMaintenancePayment
     */
    @RequestMapping(value = "/saveMaintenancePayment", method = RequestMethod.POST)
    public ResponseEntity<String> saveMaintenancePayment(@RequestBody JSONObject reqJson) {
        // 核心参数校验(id为主键,新增时非必传,这里校验核心业务字段)
        Assert.hasKeyAndValue(reqJson, "flowNumber", "请求报文中未包含流转编号");
        Assert.hasKeyAndValue(reqJson, "projectCode", "请求报文中未包含项目编码");
 
        // 将JSON参数转换为实体类
        MaintenancePayment maintenancePayment = BeanConvertUtil.covertBean(reqJson, MaintenancePayment.class);
        return saveImportFeeDetailBMOImpl.save(maintenancePayment);
    }
 
 
    public ResponseEntity<String> saveMaintenancePayment(MaintenancePayment maintenancePayment) {
        return saveImportFeeDetailBMOImpl.save(maintenancePayment);
    }
 
    /**
     * 修改维修资金支取信息
     *
     * @param reqJson 请求参数
     * @return 响应结果
     * @serviceCode /maintenancePayment/updateMaintenancePayment
     * @path /app/maintenancePayment/updateMaintenancePayment
     */
    @RequestMapping(value = "/updateMaintenancePayment", method = RequestMethod.POST)
    public ResponseEntity<String> updateMaintenancePayment(@RequestBody JSONObject reqJson) {
        // 主键校验(修改必须传id)
        Assert.hasKeyAndValue(reqJson, "id", "请求报文中未包含主键ID");
        Assert.hasKeyAndValue(reqJson, "id", "主键ID不能为空");
 
        // 将JSON参数转换为实体类
        MaintenancePayment maintenancePayment = BeanConvertUtil.covertBean(reqJson, MaintenancePayment.class);
        return updateImportFeeDetailBMOImpl.update(maintenancePayment);
    }
 
    /**
     * 删除维修资金支取信息
     *
     * @param reqJson 请求参数
     * @return 响应结果
     * @serviceCode /maintenancePayment/deleteMaintenancePayment
     * @path /app/maintenancePayment/deleteMaintenancePayment
     */
    @RequestMapping(value = "/deleteMaintenancePayment", method = RequestMethod.POST)
    public ResponseEntity<String> deleteMaintenancePayment(@RequestBody JSONObject reqJson) {
        // 必要参数校验
        Assert.hasKeyAndValue(reqJson, "communityId", "小区ID不能为空");
        Assert.hasKeyAndValue(reqJson, "id", "主键ID不能为空");
 
        // 将JSON参数转换为实体类
        MaintenancePayment maintenancePayment = BeanConvertUtil.covertBean(reqJson, MaintenancePayment.class);
        return deleteImportFeeDetailBMOImpl.delete(maintenancePayment);
    }
 
    /**
     * 分页查询维修资金支取信息列表
     *
     * @param communityName    小区名称
     * @param page           页码
     * @param row            每页条数
     * @param flowNumber     流转编号(可选)
     * @param projectCode    项目编码(可选)
     * @param year           年份(可选)
     * @param id             主键ID(可选)
     * @return 响应结果
     * @serviceCode /maintenancePayment/queryMaintenancePayment
     * @path /app/maintenancePayment/queryMaintenancePayment
     */
    @RequestMapping(value = "/queryMaintenancePayment", method = RequestMethod.GET)
    public ResponseEntity<String> queryMaintenancePayment(@RequestParam(value = "communityName") String communityName,
                                                          @RequestParam(value = "page") int page,
                                                          @RequestParam(value = "row") int row,
                                                          @RequestParam(value = "flowNumber", required = false) String flowNumber,
                                                          @RequestParam(value = "projectCode", required = false) String projectCode,
                                                          @RequestParam(value = "year", required = false) Integer year,
                                                          @RequestParam(value = "id", required = false) String id) {
        // 封装查询DTO(需确保MaintenancePaymentDto已定义,字段与查询参数匹配)
        MaintenancePayment maintenancePaymentDto = new MaintenancePayment();
        maintenancePaymentDto.setPage(page);
        maintenancePaymentDto.setRow(row);
        maintenancePaymentDto.setProjectName(communityName);
        maintenancePaymentDto.setFlowNumber(flowNumber);
        maintenancePaymentDto.setProjectCode(projectCode);
        maintenancePaymentDto.setYear(year);
        if (id != null && !id.isEmpty()) {
            maintenancePaymentDto.setId(id);
        }
        return getImportFeeDetailBMOImpl.get(maintenancePaymentDto);
    }
 
    /**
     * 根据ID查询单条维修资金支取信息
     *
     * @param reqJson 请求参数
     * @return 响应结果
     * @serviceCode /maintenancePayment/getMaintenancePaymentById
     * @path /app/maintenancePayment/getMaintenancePaymentById
     */
    @RequestMapping(value = "/getMaintenancePaymentById", method = RequestMethod.POST)
    public ResponseEntity<String> getMaintenancePaymentById(@RequestBody JSONObject reqJson) {
        // 主键校验
        Assert.hasKeyAndValue(reqJson, "id", "请求报文中未包含主键ID");
        Assert.hasKeyAndValue(reqJson, "id", "主键ID不能为空");
 
        // 封装查询DTO
        MaintenancePayment maintenancePaymentDto = new MaintenancePayment();
        maintenancePaymentDto.setId(reqJson.getString("id"));
        return getImportFeeDetailBMOImpl.get(maintenancePaymentDto);
    }
}