更新后端api

This commit is contained in:
2025-10-19 21:38:04 +08:00
parent 76d01af86c
commit a457b9713c
13 changed files with 5803 additions and 649 deletions

193
src/api/pigBatch.js Normal file
View File

@@ -0,0 +1,193 @@
import http from '../utils/http';
// --- 猪批次基础操作 ---
/**
* 获取所有猪批次的列表
* @param {object} params - 查询参数,例如 { is_active: true }
* @returns {Promise<*>}
*/
export const getPigBatches = (params) => {
return http.get('/api/v1/pig-batches', { params });
};
/**
* 创建一个新的猪批次
* @param {object} batchData - 猪批次信息,对应 dto.PigBatchCreateDTO
* @returns {Promise<*>}
*/
export const createPigBatch = (batchData) => {
return http.post('/api/v1/pig-batches', batchData);
};
/**
* 根据ID获取单个猪批次信息
* @param {number} id - 猪批次ID
* @returns {Promise<*>}
*/
export const getPigBatchById = (id) => {
return http.get(`/api/v1/pig-batches/${id}`);
};
/**
* 更新一个已存在的猪批次信息
* @param {number} id - 猪批次ID
* @param {object} batchData - 猪批次信息,对应 dto.PigBatchUpdateDTO
* @returns {Promise<*>}
*/
export const updatePigBatch = (id, batchData) => {
return http.put(`/api/v1/pig-batches/${id}`, batchData);
};
/**
* 根据ID删除一个猪批次
* @param {number} id - 猪批次ID
* @returns {Promise<*>}
*/
export const deletePigBatch = (id) => {
return http.delete(`/api/v1/pig-batches/${id}`);
};
// --- 猪批次业务操作 ---
/**
* 为猪批次分配空栏
* @param {number} id - 猪批次ID
* @param {object} pensData - 待分配的猪栏ID列表对应 dto.AssignEmptyPensToBatchRequest
* @returns {Promise<*>}
*/
export const assignPensToBatch = (id, pensData) => {
return http.post(`/api/v1/pig-batches/assign-pens/${id}`, pensData);
};
/**
* 从猪批次移除空栏
* @param {number} batchID - 猪批次ID
* @param {number} penID - 待移除的猪栏ID
* @returns {Promise<*>}
*/
export const removePenFromBatch = (batchID, penID) => {
return http.delete(`/api/v1/pig-batches/remove-pen/${penID}/${batchID}`);
};
/**
* 处理买猪的业务逻辑
* @param {number} id - 猪批次ID
* @param {object} buyData - 买猪请求信息,对应 dto.BuyPigsRequest
* @returns {Promise<*>}
*/
export const buyPigsForBatch = (id, buyData) => {
return http.post(`/api/v1/pig-batches/buy-pigs/${id}`, buyData);
};
/**
* 处理卖猪的业务逻辑
* @param {number} id - 猪批次ID
* @param {object} sellData - 卖猪请求信息,对应 dto.SellPigsRequest
* @returns {Promise<*>}
*/
export const sellPigsFromBatch = (id, sellData) => {
return http.post(`/api/v1/pig-batches/sell-pigs/${id}`, sellData);
};
/**
* 将猪只从“虚拟库存”移入指定猪栏
* @param {number} id - 猪批次ID
* @param {object} moveData - 移入猪只请求信息,对应 dto.MovePigsIntoPenRequest
* @returns {Promise<*>}
*/
export const movePigsIntoPen = (id, moveData) => {
return http.post(`/api/v1/pig-batches/move-pigs-into-pen/${id}`, moveData);
};
/**
* 群内调栏
* @param {number} id - 猪批次ID
* @param {object} transferData - 群内调栏请求信息,对应 dto.TransferPigsWithinBatchRequest
* @returns {Promise<*>}
*/
export const transferPigsWithinBatch = (id, transferData) => {
return http.post(`/api/v1/pig-batches/transfer-within-batch/${id}`, transferData);
};
/**
* 跨猪群调栏
* @param {number} sourceBatchID - 源猪批次ID
* @param {object} transferData - 跨群调栏请求信息,对应 dto.TransferPigsAcrossBatchesRequest
* @returns {Promise<*>}
*/
export const transferPigsAcrossBatches = (sourceBatchID, transferData) => {
return http.post(`/api/v1/pig-batches/transfer-across-batches/${sourceBatchID}`, transferData);
};
/**
* 将猪栏划拨到新批次
* @param {number} fromBatchID - 源猪批次ID
* @param {object} reclassifyData - 划拨请求信息,对应 dto.ReclassifyPenToNewBatchRequest
* @returns {Promise<*>}
*/
export const reclassifyPenToNewBatch = (fromBatchID, reclassifyData) => {
return http.post(`/api/v1/pig-batches/reclassify-pen/${fromBatchID}`, reclassifyData);
};
// --- 猪只数量变更记录 ---
/**
* 记录新增病猪事件
* @param {number} id - 猪批次ID
* @param {object} sickData - 记录病猪请求信息,对应 dto.RecordSickPigsRequest
* @returns {Promise<*>}
*/
export const recordSickPigsInBatch = (id, sickData) => {
return http.post(`/api/v1/pig-batches/record-sick-pigs/${id}`, sickData);
};
/**
* 记录病猪康复事件
* @param {number} id - 猪批次ID
* @param {object} recoveryData - 记录病猪康复请求信息,对应 dto.RecordSickPigRecoveryRequest
* @returns {Promise<*>}
*/
export const recordSickPigRecoveryInBatch = (id, recoveryData) => {
return http.post(`/api/v1/pig-batches/record-sick-pig-recovery/${id}`, recoveryData);
};
/**
* 记录病猪死亡事件
* @param {number} id - 猪批次ID
* @param {object} deathData - 记录病猪死亡请求信息,对应 dto.RecordSickPigDeathRequest
* @returns {Promise<*>}
*/
export const recordSickPigDeathInBatch = (id, deathData) => {
return http.post(`/api/v1/pig-batches/record-sick-pig-death/${id}`, deathData);
};
/**
* 记录病猪淘汰事件
* @param {number} id - 猪批次ID
* @param {object} cullData - 记录病猪淘汰请求信息,对应 dto.RecordSickPigCullRequest
* @returns {Promise<*>}
*/
export const recordSickPigCullInBatch = (id, cullData) => {
return http.post(`/api/v1/pig-batches/record-sick-pig-cull/${id}`, cullData);
};
/**
* 记录正常猪只死亡事件
* @param {number} id - 猪批次ID
* @param {object} deathData - 记录正常猪只死亡请求信息,对应 dto.RecordDeathRequest
* @returns {Promise<*>}
*/
export const recordDeathInBatch = (id, deathData) => {
return http.post(`/api/v1/pig-batches/record-death/${id}`, deathData);
};
/**
* 记录正常猪只淘汰事件
* @param {number} id - 猪批次ID
* @param {object} cullData - 记录正常猪只淘汰请求信息,对应 dto.RecordCullRequest
* @returns {Promise<*>}
*/
export const recordCullInBatch = (id, cullData) => {
return http.post(`/api/v1/pig-batches/record-cull/${id}`, cullData);
};