package com.java110.fee.api;
|
|
import com.alibaba.fastjson.JSONObject;
|
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;
|
|
/**
|
* 对方收款单位接口
|
* 适配 payee_receiveInfo 表
|
* @author dev
|
* @date 2025-12-24
|
*/
|
@RestController
|
@RequestMapping(value = "/payeeReceiveInfo")
|
public class PayeeReceiveInfoApi {
|
|
@Autowired
|
protected SqlSessionTemplate sqlSessionTemplate;
|
|
/**
|
* 保存对方收款单位信息
|
*
|
* @param reqJson 请求参数
|
* @return 响应结果
|
* @serviceCode /payeeReceiveInfo/savePayeeReceiveInfo
|
* @path /app/payeeReceiveInfo/savePayeeReceiveInfo
|
*/
|
@RequestMapping(value = "/savePayeeReceiveInfo", method = RequestMethod.POST)
|
public ResponseEntity<String> savePayeeReceiveInfo(@RequestBody JSONObject reqJson) {
|
// 核心参数校验(可根据业务补充必传校验)
|
Assert.hasKeyAndValue(reqJson, "ownerId", "请求报文中未包含业主编号ownerId");
|
|
// 转换为POJO
|
PayeeReceiveInfoPo po = BeanConvertUtil.covertBean(reqJson, PayeeReceiveInfoPo.class);
|
|
// 调用Mapper保存方法
|
int insert = sqlSessionTemplate.insert("payeeReceiveInfoServiceDaoImpl.savePayeeReceiveInfo",
|
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> savePayeeReceiveInfo(PayeeReceiveInfoPo po) {
|
// 调用Mapper保存方法
|
int insert = sqlSessionTemplate.insert("payeeReceiveInfoServiceDaoImpl.savePayeeReceiveInfo",
|
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 请求参数(包含payeeReceiveInfoList数组)
|
* @return 响应结果
|
* @serviceCode /payeeReceiveInfo/savePayeeReceiveInfos
|
* @path /app/payeeReceiveInfo/savePayeeReceiveInfos
|
*/
|
@RequestMapping(value = "/savePayeeReceiveInfos", method = RequestMethod.POST)
|
public ResponseEntity<String> savePayeeReceiveInfos(@RequestBody JSONObject reqJson) {
|
Assert.hasKeyAndValue(reqJson, "payeeReceiveInfoList", "请求报文中未包含批量数据列表");
|
|
// 转换批量数据
|
List<PayeeReceiveInfoPo> poList = BeanConvertUtil.covertBeanList(
|
reqJson.getJSONArray("payeeReceiveInfoList"), PayeeReceiveInfoPo.class);
|
|
Map<String, Object> param = BeanConvertUtil.beanCovertMap(reqJson);
|
param.put("payeeReceiveInfoList", poList);
|
|
// 批量插入
|
int insert = sqlSessionTemplate.insert("payeeReceiveInfoServiceDaoImpl.batchSavePayeeReceiveInfo", 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 /payeeReceiveInfo/updatePayeeReceiveInfo
|
* @path /app/payeeReceiveInfo/updatePayeeReceiveInfo
|
*/
|
@RequestMapping(value = "/updatePayeeReceiveInfo", method = RequestMethod.POST)
|
public ResponseEntity<String> updatePayeeReceiveInfo(@RequestBody JSONObject reqJson) {
|
// 主键校验
|
Assert.hasKeyAndValue(reqJson, "id", "请求报文中未包含主键ID");
|
|
PayeeReceiveInfoPo po = BeanConvertUtil.covertBean(reqJson, PayeeReceiveInfoPo.class);
|
|
// 调用Mapper修改方法
|
int update = sqlSessionTemplate.update("payeeReceiveInfoServiceDaoImpl.updatePayeeReceiveInfo",
|
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 /payeeReceiveInfo/deletePayeeReceiveInfo
|
* @path /app/payeeReceiveInfo/deletePayeeReceiveInfo
|
*/
|
@RequestMapping(value = "/deletePayeeReceiveInfo", method = RequestMethod.POST)
|
public ResponseEntity<String> deletePayeeReceiveInfo(@RequestBody JSONObject reqJson) {
|
// 必要参数校验
|
Assert.hasKeyAndValue(reqJson, "id", "主键ID不能为空");
|
|
PayeeReceiveInfoPo po = BeanConvertUtil.covertBean(reqJson, PayeeReceiveInfoPo.class);
|
|
// 调用Mapper删除方法
|
int delete = sqlSessionTemplate.delete("payeeReceiveInfoServiceDaoImpl.deletePayeeReceiveInfo",
|
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 业主编号(必传)
|
* @param page 页码(默认1)
|
* @param row 每页条数(默认10)
|
* @param id 主键ID(可选)
|
* @param roomId 房屋Id(可选)
|
* @return 响应结果
|
* @serviceCode /payeeReceiveInfo/queryPayeeReceiveInfo
|
* @path /app/payeeReceiveInfo/queryPayeeReceiveInfo
|
*/
|
@RequestMapping(value = "/queryPayeeReceiveInfo", method = RequestMethod.GET)
|
public ResponseEntity<String> queryPayeeReceiveInfo(
|
@RequestParam(value = "ownerId") String ownerId,
|
@RequestParam(value = "page", defaultValue = "1") int page,
|
@RequestParam(value = "row", defaultValue = "10") int row,
|
@RequestParam(value = "id", required = false) String id,
|
@RequestParam(value = "roomId", required = false) String roomId) {
|
|
// 封装查询参数
|
PayeeReceiveInfoPo queryPo = new PayeeReceiveInfoPo();
|
queryPo.setOwnerId(ownerId);
|
queryPo.setPage((page - 1) * row); // 转换为MySQL分页偏移量
|
queryPo.setRow(row);
|
|
if (id != null && !id.isEmpty()) {
|
queryPo.setId(Integer.parseInt(id));
|
}
|
if (roomId != null && !roomId.isEmpty()) {
|
queryPo.setRoomId(roomId);
|
}
|
|
// 查询列表数据
|
List<Map<String, Object>> list = sqlSessionTemplate.selectList(
|
"payeeReceiveInfoServiceDaoImpl.getPayeeReceiveInfo",
|
BeanConvertUtil.beanCovertMap(queryPo));
|
|
// 查询总数
|
Object total = ((HashMap) sqlSessionTemplate.selectOne(
|
"payeeReceiveInfoServiceDaoImpl.queryPayeeReceiveInfoCount",
|
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 /payeeReceiveInfo/getPayeeReceiveInfoById
|
* @path /app/payeeReceiveInfo/getPayeeReceiveInfoById
|
*/
|
@RequestMapping(value = "/getPayeeReceiveInfoById", method = RequestMethod.GET)
|
public ResponseEntity<String> getPayeeReceiveInfoById(@RequestParam(value = "id") Integer id) {
|
// 主键校验
|
Assert.notNull(id, "主键ID不能为空");
|
|
PayeeReceiveInfoPo queryPo = new PayeeReceiveInfoPo();
|
queryPo.setId(id);
|
|
// 查询单条数据
|
Map<String, Object> result = sqlSessionTemplate.selectOne(
|
"payeeReceiveInfoServiceDaoImpl.getPayeeReceiveInfo",
|
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());
|
}
|
|
/**
|
* 根据ownerId查询对方收款单位信息
|
*
|
* @param ownerId 业主编号
|
* @return 响应结果
|
* @serviceCode /payeeReceiveInfo/getPayeeReceiveInfoByOwnerId
|
* @path /app/payeeReceiveInfo/getPayeeReceiveInfoByOwnerId
|
*/
|
@RequestMapping(value = "/getPayeeReceiveInfoByOwnerId", method = RequestMethod.GET)
|
public ResponseEntity<String> getPayeeReceiveInfoByOwnerId(@RequestParam(value = "ownerId") String ownerId) {
|
Assert.notNull(ownerId, "业主编号ownerId不能为空");
|
|
PayeeReceiveInfoPo queryPo = new PayeeReceiveInfoPo();
|
queryPo.setOwnerId(ownerId);
|
|
List<Map<String, Object>> result = sqlSessionTemplate.selectList(
|
"payeeReceiveInfoServiceDaoImpl.getPayeeReceiveInfo",
|
BeanConvertUtil.beanCovertMap(queryPo));
|
|
JSONObject resJson = new JSONObject();
|
resJson.put("code", "0000");
|
resJson.put("msg", "查询对方收款单位信息成功");
|
resJson.put("data", result);
|
|
return ResponseEntity.ok(resJson.toJSONString());
|
}
|
|
/**
|
* 统计对方收款单位信息
|
*
|
* @param ownerId 业主编号(可选)
|
* @param roomId 房屋Id(可选)
|
* @param startCreateTime 开始创建时间(可选,格式:yyyy-MM-dd HH:mm:ss)
|
* @param endCreateTime 结束创建时间(可选)
|
* @return 响应结果
|
* @serviceCode /payeeReceiveInfo/queryPayeeReceiveInfoStatistics
|
* @path /app/payeeReceiveInfo/queryPayeeReceiveInfoStatistics
|
*/
|
@RequestMapping(value = "/queryPayeeReceiveInfoStatistics", method = RequestMethod.GET)
|
public ResponseEntity<String> queryPayeeReceiveInfoStatistics(
|
@RequestParam(value = "ownerId", required = false) String ownerId,
|
@RequestParam(value = "roomId", required = false) String roomId,
|
@RequestParam(value = "startCreateTime", required = false) String startCreateTime,
|
@RequestParam(value = "endCreateTime", required = false) String endCreateTime) {
|
|
PayeeReceiveInfoPo queryPo = new PayeeReceiveInfoPo();
|
queryPo.setOwnerId(ownerId);
|
queryPo.setRoomId(roomId);
|
queryPo.setStartCreateTime(startCreateTime);
|
queryPo.setEndCreateTime(endCreateTime);
|
|
// 统计查询
|
Map<String, Object> statistics = sqlSessionTemplate.selectOne(
|
"payeeReceiveInfoServiceDaoImpl.queryPayeeReceiveInfoStatistics",
|
BeanConvertUtil.beanCovertMap(queryPo));
|
|
JSONObject resJson = new JSONObject();
|
resJson.put("code", "0000");
|
resJson.put("msg", "统计对方收款单位信息成功");
|
resJson.put("data", statistics);
|
|
return ResponseEntity.ok(resJson.toJSONString());
|
}
|
|
/**
|
* 配套POJO类(内部类形式,也可抽离为独立类)
|
*/
|
public static class PayeeReceiveInfoPo {
|
private Integer id;
|
private String callerName;
|
private String contactInfo;
|
private String payeeInfo;
|
private String invoiceNo;
|
private String invoiceDate;
|
private String receiptNo;
|
private String receiptDate;
|
private String receiptNote;
|
private String receiptNoteDate;
|
private String imageFile;
|
private String ourCompanyReceiveDate;
|
private String attachmentFile;
|
private String createTime;
|
private String updateTime;
|
private String ownerId;
|
private String roomId;
|
// 分页参数
|
private int page;
|
private int row;
|
// 统计时间范围参数
|
private String startCreateTime;
|
private String endCreateTime;
|
|
// Getter & Setter
|
public Integer getId() {
|
return id;
|
}
|
|
public void setId(Integer id) {
|
this.id = id;
|
}
|
|
public String getCallerName() {
|
return callerName;
|
}
|
|
public void setCallerName(String callerName) {
|
this.callerName = callerName;
|
}
|
|
public String getContactInfo() {
|
return contactInfo;
|
}
|
|
public void setContactInfo(String contactInfo) {
|
this.contactInfo = contactInfo;
|
}
|
|
public String getPayeeInfo() {
|
return payeeInfo;
|
}
|
|
public void setPayeeInfo(String payeeInfo) {
|
this.payeeInfo = payeeInfo;
|
}
|
|
public String getInvoiceNo() {
|
return invoiceNo;
|
}
|
|
public void setInvoiceNo(String invoiceNo) {
|
this.invoiceNo = invoiceNo;
|
}
|
|
public String getInvoiceDate() {
|
return invoiceDate;
|
}
|
|
public void setInvoiceDate(String invoiceDate) {
|
this.invoiceDate = invoiceDate;
|
}
|
|
public String getReceiptNo() {
|
return receiptNo;
|
}
|
|
public void setReceiptNo(String receiptNo) {
|
this.receiptNo = receiptNo;
|
}
|
|
public String getReceiptDate() {
|
return receiptDate;
|
}
|
|
public void setReceiptDate(String receiptDate) {
|
this.receiptDate = receiptDate;
|
}
|
|
public String getReceiptNote() {
|
return receiptNote;
|
}
|
|
public void setReceiptNote(String receiptNote) {
|
this.receiptNote = receiptNote;
|
}
|
|
public String getReceiptNoteDate() {
|
return receiptNoteDate;
|
}
|
|
public void setReceiptNoteDate(String receiptNoteDate) {
|
this.receiptNoteDate = receiptNoteDate;
|
}
|
|
public String getImageFile() {
|
return imageFile;
|
}
|
|
public void setImageFile(String imageFile) {
|
this.imageFile = imageFile;
|
}
|
|
public String getOurCompanyReceiveDate() {
|
return ourCompanyReceiveDate;
|
}
|
|
public void setOurCompanyReceiveDate(String ourCompanyReceiveDate) {
|
this.ourCompanyReceiveDate = ourCompanyReceiveDate;
|
}
|
|
public String getAttachmentFile() {
|
return attachmentFile;
|
}
|
|
public void setAttachmentFile(String attachmentFile) {
|
this.attachmentFile = attachmentFile;
|
}
|
|
public String getCreateTime() {
|
return createTime;
|
}
|
|
public void setCreateTime(String createTime) {
|
this.createTime = createTime;
|
}
|
|
public String getUpdateTime() {
|
return updateTime;
|
}
|
|
public void setUpdateTime(String updateTime) {
|
this.updateTime = updateTime;
|
}
|
|
public String getOwnerId() {
|
return ownerId;
|
}
|
|
public void setOwnerId(String ownerId) {
|
this.ownerId = ownerId;
|
}
|
|
public String getRoomId() {
|
return roomId;
|
}
|
|
public void setRoomId(String roomId) {
|
this.roomId = roomId;
|
}
|
|
public int getPage() {
|
return page;
|
}
|
|
public void setPage(int page) {
|
this.page = page;
|
}
|
|
public int getRow() {
|
return row;
|
}
|
|
public void setRow(int row) {
|
this.row = row;
|
}
|
|
public String getStartCreateTime() {
|
return startCreateTime;
|
}
|
|
public void setStartCreateTime(String startCreateTime) {
|
this.startCreateTime = startCreateTime;
|
}
|
|
public String getEndCreateTime() {
|
return endCreateTime;
|
}
|
|
public void setEndCreateTime(String endCreateTime) {
|
this.endCreateTime = endCreateTime;
|
}
|
}
|
}
|