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 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); } /** * 修改维修资金支取信息 * * @param reqJson 请求参数 * @return 响应结果 * @serviceCode /maintenancePayment/updateMaintenancePayment * @path /app/maintenancePayment/updateMaintenancePayment */ @RequestMapping(value = "/updateMaintenancePayment", method = RequestMethod.POST) public ResponseEntity 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 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 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(Long.parseLong(id)); } return getImportFeeDetailBMOImpl.get(maintenancePaymentDto); } /** * 根据ID查询单条维修资金支取信息 * * @param reqJson 请求参数 * @return 响应结果 * @serviceCode /maintenancePayment/getMaintenancePaymentById * @path /app/maintenancePayment/getMaintenancePaymentById */ @RequestMapping(value = "/getMaintenancePaymentById", method = RequestMethod.POST) public ResponseEntity getMaintenancePaymentById(@RequestBody JSONObject reqJson) { // 主键校验 Assert.hasKeyAndValue(reqJson, "id", "请求报文中未包含主键ID"); Assert.hasKeyAndValue(reqJson, "id", "主键ID不能为空"); // 封装查询DTO MaintenancePayment maintenancePaymentDto = new MaintenancePayment(); maintenancePaymentDto.setId(reqJson.getLong("id")); return getImportFeeDetailBMOImpl.get(maintenancePaymentDto); } }