- Replace CSV export with ClosedXML Excel workbook generation for invite codes
- Replace CSV export with ClosedXML Excel workbook generation for commissions
- Replace CSV export with ClosedXML Excel workbook generation for withdrawals
- Add formatted headers with bold font and blue background styling
- Auto-adjust column widths to fit content
- Update file extensions from .csv to .xlsx
- Remove legacy CSV generation helper methods
- Improve data presentation and readability in exported files
- Update font style parameter from XFontStyleEx.Regular to XFontStyle.Regular
- Resolve API compatibility issue in PdfGenerationService
- Ensure correct enum type usage for PDF font styling
- Add new assessment status 7 ("需重测") for cases where all scores are equal
- Create AllScoresEqualException to handle scenarios where 8 intelligences or 40 ability dimensions have identical scores
- Implement CheckAllScoresEqual validation in ReportGenerationService to detect and prevent invalid report generation
- Add UpdateRecordStatusToRetestAsync method in ReportQueueConsumer to handle retest status updates
- Update admin UI status tag mapping to display retest status with warning indicator
- Add user-friendly message for retest status in AssessmentService
- Update status description mappings across services to include new retest status
- Prevent PDF generation when all scores are equal, prompting users to retake the assessment
- Add page counter display at bottom center of each PDF page
- Track total page count and current page index during PDF generation
- Use Arial font (10pt) with gray color (#999999) for page numbers
- Format page numbers as "current / total" (e.g., "1 / 5")
- Position page numbers 20pt from bottom of page
- Refactor loop from foreach to indexed for loop to access page index
- Improve PDF document readability with page navigation information
- Add native library dependencies (libfontconfig1, libfreetype6) required by SkiaSharp
- Install dependencies in final stage before application setup
- Clean up apt cache to reduce image size
- Ensure captcha generation functionality works in containerized environment