Divar geo-coords to facility map + medical gate + RawListing FK/geo migrations
This commit is contained in:
@@ -3,7 +3,7 @@ using JobsMedical.Web.Models;
|
||||
|
||||
namespace JobsMedical.Web.Services.Scraping;
|
||||
|
||||
public record ValidationResult(bool IsValid, bool IsSpam, int Confidence, List<string> Issues);
|
||||
public record ValidationResult(bool IsValid, bool IsSpam, int Confidence, List<string> Issues, bool LooksMedical = false);
|
||||
|
||||
/// <summary>
|
||||
/// Scores a parsed listing for completeness and screens out spam. A listing must look like a
|
||||
@@ -64,7 +64,7 @@ public class ListingValidator
|
||||
if (isPromo)
|
||||
{
|
||||
issues.Add("آگهی تبلیغاتی/آموزشی است، نه استخدام/شیفت");
|
||||
return new ValidationResult(false, true, 0, issues); // IsSpam → auto-discard
|
||||
return new ValidationResult(false, true, 0, issues, looksMedical); // IsSpam → auto-discard
|
||||
}
|
||||
|
||||
// «آماده به کار»: a worker offering themselves. No facility/shift-date expected; the role
|
||||
@@ -84,7 +84,7 @@ public class ListingValidator
|
||||
if (tlen < 20) { ts -= 20; issues.Add("متن خیلی کوتاه است"); }
|
||||
ts = Math.Clamp(ts, 0, 100);
|
||||
bool tValid = !isSpam && looksMedical && ts >= 50; // role(40)+medical(10) passes w/o phone
|
||||
return new ValidationResult(tValid, isSpam, ts, issues);
|
||||
return new ValidationResult(tValid, isSpam, ts, issues, looksMedical);
|
||||
}
|
||||
|
||||
int score = 0;
|
||||
@@ -107,6 +107,6 @@ public class ListingValidator
|
||||
|
||||
// Valid enough for the queue if it's medical, not spam, and reasonably complete.
|
||||
bool isValid = !isSpam && looksMedical && score >= 50;
|
||||
return new ValidationResult(isValid, isSpam, score, issues);
|
||||
return new ValidationResult(isValid, isSpam, score, issues, looksMedical);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user