This commit is contained in:
GukSang.Jin
2026-03-18 13:53:44 +08:00
parent 54b3448e31
commit 0a884fa6cb
20 changed files with 1700 additions and 110 deletions

View File

@@ -1,6 +1,7 @@
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using PetWash.Api.Data;
using PetWash.Api.Models;
namespace PetWash.Api.Controllers;
@@ -18,7 +19,9 @@ public class PackagesController : ControllerBase
[HttpGet]
public async Task<IActionResult> GetPackages()
{
var packages = await _context.Packages.ToListAsync();
var packages = await _context.Packages
.OrderBy(x => x.Id)
.ToListAsync();
return Ok(packages);
}
@@ -31,4 +34,71 @@ public class PackagesController : ControllerBase
return Ok(package);
}
[HttpPut("{id}")]
public async Task<IActionResult> UpdatePackage(int id, [FromBody] UpdatePackageRequest request)
{
var package = await _context.Packages.FindAsync(id);
if (package == null)
{
return NotFound();
}
if (request.Price <= 0)
{
return BadRequest("套餐金额必须大于 0。");
}
if (request.FirstSprayWaterTime <= 0 ||
request.AfterShampoo1SprayTime <= 0 ||
request.AfterShampoo2SprayTime <= 0 ||
request.AfterShampoo3SprayTime <= 0 ||
request.SprayShampoo1Time <= 0 ||
request.SprayShampoo2Time <= 0 ||
request.SprayShampoo3Time <= 0 ||
request.HotAirTime <= 0 ||
request.ColdAirTime <= 0 ||
request.UvSterilizationTime <= 0)
{
return BadRequest("套餐流程时间必须全部大于 0。");
}
package.Price = request.Price;
package.FirstSprayWaterTime = request.FirstSprayWaterTime;
package.AfterShampoo1SprayTime = request.AfterShampoo1SprayTime;
package.AfterShampoo2SprayTime = request.AfterShampoo2SprayTime;
package.AfterShampoo3SprayTime = request.AfterShampoo3SprayTime;
package.SprayShampoo1Time = request.SprayShampoo1Time;
package.SprayShampoo2Time = request.SprayShampoo2Time;
package.SprayShampoo3Time = request.SprayShampoo3Time;
package.HotAirTime = request.HotAirTime;
package.ColdAirTime = request.ColdAirTime;
package.UvSterilizationTime = request.UvSterilizationTime;
package.DurationMinutes = request.FirstSprayWaterTime
+ request.AfterShampoo1SprayTime
+ request.AfterShampoo2SprayTime
+ request.AfterShampoo3SprayTime
+ request.SprayShampoo1Time
+ request.SprayShampoo2Time
+ request.SprayShampoo3Time
+ request.HotAirTime
+ request.ColdAirTime
+ request.UvSterilizationTime;
await _context.SaveChangesAsync();
return Ok(package);
}
}
public record UpdatePackageRequest(
decimal Price,
int FirstSprayWaterTime,
int AfterShampoo1SprayTime,
int AfterShampoo2SprayTime,
int AfterShampoo3SprayTime,
int SprayShampoo1Time,
int SprayShampoo2Time,
int SprayShampoo3Time,
int HotAirTime,
int ColdAirTime,
int UvSterilizationTime);