package com.java110.fee.api.z2;
|
|
import com.alibaba.fastjson.JSONObject;
|
import com.java110.dto.importData.CourtTrialProcedure;
|
import com.java110.utils.util.Assert;
|
import com.java110.utils.util.BeanConvertUtil;
|
import org.mybatis.spring.SqlSessionTemplate;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.http.ResponseEntity;
|
import org.springframework.web.bind.annotation.*;
|
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
/**
|
* 法院审理程序接口
|
* 适配 court_trial_procedure 表
|
* @author dev
|
* @date 2025-12-24
|
*/
|
@RestController
|
@RequestMapping(value = "/courtTrialProcedure")
|
public class CourtTrialProcedureApi {
|
|
@Autowired
|
protected SqlSessionTemplate sqlSessionTemplate;
|
|
/**
|
* 保存法院审理程序信息
|
*
|
* @param reqJson 请求参数
|
* @return 响应结果
|
* @serviceCode /courtTrialProcedure/saveCourtTrialProcedure
|
* @path /app/courtTrialProcedure/saveCourtTrialProcedure
|
*/
|
@RequestMapping(value = "/saveCourtTrialProcedure", method = RequestMethod.POST)
|
public ResponseEntity<String> saveCourtTrialProcedure(@RequestBody JSONObject reqJson) {
|
// 必传参数校验(ownerId为非空字段)
|
Assert.hasKeyAndValue(reqJson, "ownerId", "请求报文中未包含业主ID ownerId");
|
|
// 转换为POJO
|
CourtTrialProcedure po = BeanConvertUtil.covertBean(reqJson, CourtTrialProcedure.class);
|
|
// 调用Mapper保存方法
|
int insert = sqlSessionTemplate.insert("courtTrialProcedureServiceDaoImpl.saveCourtTrialProcedure",
|
BeanConvertUtil.beanCovertMap(po));
|
|
// 构造响应结果
|
JSONObject resJson = new JSONObject();
|
if (insert > 0) {
|
resJson.put("code", "0000");
|
resJson.put("msg", "保存法院审理程序信息成功");
|
} else {
|
resJson.put("code", "0001");
|
resJson.put("msg", "保存法院审理程序信息失败");
|
}
|
resJson.put("count", insert);
|
return ResponseEntity.ok(resJson.toJSONString());
|
}
|
|
public ResponseEntity<String> saveCourtTrialProcedure(CourtTrialProcedure po) {
|
// 调用Mapper保存方法
|
int insert = sqlSessionTemplate.insert("courtTrialProcedureServiceDaoImpl.saveCourtTrialProcedure",
|
BeanConvertUtil.beanCovertMap(po));
|
|
// 构造响应结果
|
JSONObject resJson = new JSONObject();
|
if (insert > 0) {
|
resJson.put("code", "0000");
|
resJson.put("msg", "保存法院审理程序信息成功");
|
} else {
|
resJson.put("code", "0001");
|
resJson.put("msg", "保存法院审理程序信息失败");
|
}
|
resJson.put("count", insert);
|
return ResponseEntity.ok(resJson.toJSONString());
|
}
|
|
/**
|
* 批量保存法院审理程序信息
|
*
|
* @param reqJson 请求参数(包含courtTrialProcedureList数组)
|
* @return 响应结果
|
* @serviceCode /courtTrialProcedure/saveCourtTrialProcedures
|
* @path /app/courtTrialProcedure/saveCourtTrialProcedures
|
*/
|
@RequestMapping(value = "/saveCourtTrialProcedures", method = RequestMethod.POST)
|
public ResponseEntity<String> saveCourtTrialProcedures(@RequestBody JSONObject reqJson) {
|
Assert.hasKeyAndValue(reqJson, "courtTrialProcedureList", "请求报文中未包含批量数据列表");
|
|
// 转换批量数据
|
List<CourtTrialProcedure> poList = BeanConvertUtil.covertBeanList(
|
reqJson.getJSONArray("courtTrialProcedureList"), CourtTrialProcedure.class);
|
|
Map<String, Object> param = BeanConvertUtil.beanCovertMap(reqJson);
|
param.put("courtTrialProcedureList", poList);
|
|
// 批量插入
|
int insert = sqlSessionTemplate.insert("courtTrialProcedureServiceDaoImpl.batchSaveCourtTrialProcedure", param);
|
|
JSONObject resJson = new JSONObject();
|
resJson.put("code", "0000");
|
resJson.put("msg", "批量保存法院审理程序信息成功");
|
resJson.put("count", insert);
|
return ResponseEntity.ok(resJson.toJSONString());
|
}
|
|
/**
|
* 修改法院审理程序信息
|
*
|
* @param reqJson 请求参数
|
* @return 响应结果
|
* @serviceCode /courtTrialProcedure/updateCourtTrialProcedure
|
* @path /app/courtTrialProcedure/updateCourtTrialProcedure
|
*/
|
@RequestMapping(value = "/updateCourtTrialProcedure", method = RequestMethod.POST)
|
public ResponseEntity<String> updateCourtTrialProcedure(@RequestBody JSONObject reqJson) {
|
// 主键校验
|
Assert.hasKeyAndValue(reqJson, "id", "请求报文中未包含主键ID");
|
// 必传业务参数校验(ownerId为非空字段)
|
Assert.hasKeyAndValue(reqJson, "ownerId", "请求报文中未包含业主ID ownerId");
|
|
CourtTrialProcedure po = BeanConvertUtil.covertBean(reqJson, CourtTrialProcedure.class);
|
|
// 调用Mapper修改方法
|
int update = sqlSessionTemplate.update("courtTrialProcedureServiceDaoImpl.updateCourtTrialProcedure",
|
BeanConvertUtil.beanCovertMap(po));
|
|
JSONObject resJson = new JSONObject();
|
if (update > 0) {
|
resJson.put("code", "0000");
|
resJson.put("msg", "修改法院审理程序信息成功");
|
} else {
|
resJson.put("code", "0001");
|
resJson.put("msg", "修改法院审理程序信息失败,未找到对应记录");
|
}
|
resJson.put("count", update);
|
return ResponseEntity.ok(resJson.toJSONString());
|
}
|
|
/**
|
* 删除法院审理程序信息
|
*
|
* @param reqJson 请求参数
|
* @return 响应结果
|
* @serviceCode /courtTrialProcedure/deleteCourtTrialProcedure
|
* @path /app/courtTrialProcedure/deleteCourtTrialProcedure
|
*/
|
@RequestMapping(value = "/deleteCourtTrialProcedure", method = RequestMethod.POST)
|
public ResponseEntity<String> deleteCourtTrialProcedure(@RequestBody JSONObject reqJson) {
|
// 必要参数校验
|
Assert.hasKeyAndValue(reqJson, "id", "主键ID不能为空");
|
|
CourtTrialProcedure po = BeanConvertUtil.covertBean(reqJson, CourtTrialProcedure.class);
|
|
// 调用Mapper删除方法
|
int delete = sqlSessionTemplate.delete("courtTrialProcedureServiceDaoImpl.deleteCourtTrialProcedure",
|
BeanConvertUtil.beanCovertMap(po));
|
|
JSONObject resJson = new JSONObject();
|
if (delete > 0) {
|
resJson.put("code", "0000");
|
resJson.put("msg", "删除法院审理程序信息成功");
|
} else {
|
resJson.put("code", "0001");
|
resJson.put("msg", "删除法院审理程序信息失败,未找到对应记录");
|
}
|
resJson.put("count", delete);
|
return ResponseEntity.ok(resJson.toJSONString());
|
}
|
|
/**
|
* 分页查询法院审理程序信息列表
|
*
|
* @param ownerId 业主ID(可选)
|
* @param acceptCourtName 受理法院名称(可选)
|
* @param page 页码(默认1)
|
* @param row 每页条数(默认10)
|
* @param id 主键ID(可选)
|
* @return 响应结果
|
* @serviceCode /courtTrialProcedure/queryCourtTrialProcedure
|
* @path /app/courtTrialProcedure/queryCourtTrialProcedure
|
*/
|
@RequestMapping(value = "/queryCourtTrialProcedure", method = RequestMethod.GET)
|
public ResponseEntity<String> queryCourtTrialProcedure(
|
@RequestParam(value = "ownerId", required = false) String ownerId,
|
@RequestParam(value = "acceptCourtName", required = false) String acceptCourtName,
|
@RequestParam(value = "page", defaultValue = "1") int page,
|
@RequestParam(value = "row", defaultValue = "10") int row,
|
@RequestParam(value = "id", required = false) String id) {
|
|
// 封装查询参数
|
CourtTrialProcedure queryPo = new CourtTrialProcedure();
|
queryPo.setOwnerId(ownerId);
|
queryPo.setAcceptCourtName(acceptCourtName);
|
queryPo.setPage((page - 1) * row); // 转换为MySQL分页偏移量
|
queryPo.setRow(row);
|
|
if (id != null && !id.isEmpty()) {
|
queryPo.setId(id);
|
}
|
|
// 查询列表数据
|
List<Map<String, Object>> list = sqlSessionTemplate.selectList(
|
"courtTrialProcedureServiceDaoImpl.getCourtTrialProcedure",
|
BeanConvertUtil.beanCovertMap(queryPo));
|
|
// 查询总数
|
Object total = ((HashMap) sqlSessionTemplate.selectOne(
|
"courtTrialProcedureServiceDaoImpl.queryCourtTrialProcedureCount",
|
BeanConvertUtil.beanCovertMap(queryPo))).get("count");
|
|
// 构造分页响应
|
JSONObject resJson = new JSONObject();
|
resJson.put("code", "0000");
|
resJson.put("msg", "查询法院审理程序信息成功");
|
resJson.put("page", page);
|
resJson.put("row", row);
|
resJson.put("total", total);
|
resJson.put("data", list);
|
|
return ResponseEntity.ok(resJson.toJSONString());
|
}
|
|
/**
|
* 根据ID查询单条法院审理程序信息
|
*
|
* @param id 主键ID
|
* @return 响应结果
|
* @serviceCode /courtTrialProcedure/getCourtTrialProcedureById
|
* @path /app/courtTrialProcedure/getCourtTrialProcedureById
|
*/
|
@RequestMapping(value = "/getCourtTrialProcedureById", method = RequestMethod.GET)
|
public ResponseEntity<String> getCourtTrialProcedureById(@RequestParam(value = "id") String id) {
|
// 主键校验
|
Assert.notNull(id, "主键ID不能为空");
|
|
CourtTrialProcedure queryPo = new CourtTrialProcedure();
|
queryPo.setId(id);
|
|
// 查询单条数据
|
Map<String, Object> result = sqlSessionTemplate.selectOne(
|
"courtTrialProcedureServiceDaoImpl.getCourtTrialProcedure",
|
BeanConvertUtil.beanCovertMap(queryPo));
|
|
JSONObject resJson = new JSONObject();
|
if (result != null) {
|
resJson.put("code", "0000");
|
resJson.put("msg", "查询法院审理程序信息成功");
|
resJson.put("data", result);
|
} else {
|
resJson.put("code", "0001");
|
resJson.put("msg", "未找到对应法院审理程序记录");
|
}
|
|
return ResponseEntity.ok(resJson.toJSONString());
|
}
|
|
/**
|
* 统计法院审理程序信息
|
*
|
* @param ownerId 业主ID(可选)
|
* @param acceptCourtName 受理法院名称(可选)
|
* @param startCreateTime 开始创建时间(可选,格式:yyyy-MM-dd HH:mm:ss)
|
* @param endCreateTime 结束创建时间(可选)
|
* @return 响应结果
|
* @serviceCode /courtTrialProcedure/queryCourtTrialProcedureStatistics
|
* @path /app/courtTrialProcedure/queryCourtTrialProcedureStatistics
|
*/
|
@RequestMapping(value = "/queryCourtTrialProcedureStatistics", method = RequestMethod.GET)
|
public ResponseEntity<String> queryCourtTrialProcedureStatistics(
|
@RequestParam(value = "ownerId", required = false) String ownerId,
|
@RequestParam(value = "acceptCourtName", required = false) String acceptCourtName,
|
@RequestParam(value = "startCreateTime", required = false) String startCreateTime,
|
@RequestParam(value = "endCreateTime", required = false) String endCreateTime) {
|
|
CourtTrialProcedure queryPo = new CourtTrialProcedure();
|
queryPo.setOwnerId(ownerId);
|
queryPo.setAcceptCourtName(acceptCourtName);
|
|
// 统计查询
|
Map<String, Object> statistics = sqlSessionTemplate.selectOne(
|
"courtTrialProcedureServiceDaoImpl.queryCourtTrialProcedureStatistics",
|
BeanConvertUtil.beanCovertMap(queryPo));
|
|
JSONObject resJson = new JSONObject();
|
resJson.put("code", "0000");
|
resJson.put("msg", "统计法院审理程序信息成功");
|
resJson.put("data", statistics);
|
|
return ResponseEntity.ok(resJson.toJSONString());
|
}
|
|
/**
|
* 补充分页查询参数(适配实体类分页字段)
|
* 注:需在CourtTrialProcedure实体类中添加page/row字段的getter/setter,否则需调整参数封装逻辑
|
*/
|
private void setPageParam(CourtTrialProcedure po, int page, int row) {
|
try {
|
// 反射设置分页偏移量和每页条数(若实体类未显式定义page/row字段时使用)
|
java.lang.reflect.Field pageField = po.getClass().getDeclaredField("page");
|
pageField.setAccessible(true);
|
pageField.set(po, (page - 1) * row);
|
|
java.lang.reflect.Field rowField = po.getClass().getDeclaredField("row");
|
rowField.setAccessible(true);
|
rowField.set(po, row);
|
} catch (Exception e) {
|
throw new RuntimeException("设置分页参数失败", e);
|
}
|
}
|
}
|