chore: update docs, fix strongly typed ID, add docker config

- docs: move completed docs to completed folder (points-rule-system, migrate-to-vben-admin)
- docs: update project progress (Member 175 tests, Fengling.Console mostly done)
- fix: update CampaignExecutionService to use campaignId.Id instead of .Value
- chore: add dockerignore and docker config to YarpGateway
This commit is contained in:
movingsam 2026-02-19 18:45:48 +08:00
parent c18568cfdb
commit 1df98ade70
3 changed files with 7 additions and 9 deletions

View File

@ -64,7 +64,7 @@ public class CampaignExecutionService
var context = new CampaignContext var context = new CampaignContext
{ {
CampaignId = campaignId.Value, CampaignId = campaignId.Id,
TenantId = tenantId.Value, TenantId = tenantId.Value,
MemberId = memberId, MemberId = memberId,
MemberLevel = memberLevel, MemberLevel = memberLevel,

View File

@ -2,8 +2,6 @@ namespace Fengling.Activity.Domain.ValueObjects;
public partial record CampaignId : IGuidStronglyTypedId public partial record CampaignId : IGuidStronglyTypedId
{ {
public static CampaignId New() => new CampaignId(Guid.NewGuid()); public static implicit operator Guid(CampaignId id) => id.Id;
public Guid Value => this;
public static implicit operator Guid(CampaignId id) => id.Value;
public static implicit operator CampaignId(Guid value) => new CampaignId(value); public static implicit operator CampaignId(Guid value) => new CampaignId(value);
} }

View File

@ -41,9 +41,9 @@ public class CampaignsController : ControllerBase
await _campaignRepository.AddAsync(campaign, cancellationToken); await _campaignRepository.AddAsync(campaign, cancellationToken);
return CreatedAtAction(nameof(GetCampaign), new { campaignId = campaign.Id.Value }, new CreateCampaignResponse return CreatedAtAction(nameof(GetCampaign), new { campaignId = campaign.Id }, new CreateCampaignResponse
{ {
CampaignId = campaign.Id.Value, CampaignId = campaign.Id,
Name = campaign.Name.Value, Name = campaign.Name.Value,
Status = campaign.Status.ToString(), Status = campaign.Status.ToString(),
CreatedAt = campaign.CreatedAt CreatedAt = campaign.CreatedAt
@ -61,7 +61,7 @@ public class CampaignsController : ControllerBase
return Ok(new GetCampaignResponse return Ok(new GetCampaignResponse
{ {
CampaignId = campaign.Id.Value, CampaignId = campaign.Id,
TenantId = campaign.TenantId.Value, TenantId = campaign.TenantId.Value,
Name = campaign.Name.Value, Name = campaign.Name.Value,
Type = campaign.Type.ToString(), Type = campaign.Type.ToString(),
@ -92,7 +92,7 @@ public class CampaignsController : ControllerBase
return Ok(new PublishCampaignResponse return Ok(new PublishCampaignResponse
{ {
CampaignId = campaign.Id.Value, CampaignId = campaign.Id,
Status = campaign.Status.ToString(), Status = campaign.Status.ToString(),
UpdatedAt = campaign.UpdatedAt UpdatedAt = campaign.UpdatedAt
}); });
@ -118,7 +118,7 @@ public class CreateCampaignRequest
public class CreateCampaignResponse public class CreateCampaignResponse
{ {
public Guid CampaignId { get; set; } public CampaignId CampaignId { get; set; } = default!;
public string Name { get; set; } = ""; public string Name { get; set; } = "";
public string Status { get; set; } = ""; public string Status { get; set; } = "";
public DateTime CreatedAt { get; set; } public DateTime CreatedAt { get; set; }