feat(be): add GetByProjectFlockKandangIDForUpdate method to lock chickin rows and prevent race conditions

This commit is contained in:
aguhh18
2025-12-31 10:27:15 +07:00
parent 0fc560b91c
commit c60c40af03
3 changed files with 51 additions and 16 deletions
@@ -191,7 +191,7 @@ func (s projectFlockKandangService) getAvailableQuantities(c *fiber.Ctx, project
result := make(map[uint]float64)
for _, pw := range products {
if pw.ProjectFlockKandangId != nil && *pw.ProjectFlockKandangId == projectFlockKandang.Id {
if pw.ProjectFlockKandangId == nil || *pw.ProjectFlockKandangId == projectFlockKandang.Id {
availableQty, err := s.calculateAvailableQuantityForProductWarehouse(c, projectFlockKandang, &pw)
if err != nil {
s.Log.Warnf("Failed to calculate available quantity for product warehouse %d: %v", pw.Id, err)