Files
lserp_cs_6.0/插件库/Lskj.Push/Push/Audience/AudienceTarget.cs
T
cyf ab56a9bcf7 基线 SVN r240
SVN-Revision: r240
2025-02-06 06:46:06 +00:00

50 lines
1.5 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Lskj.Push.Util;
namespace Lskj.Push.Push.Audience
{
public class AudienceTarget
{
public AudienceType audienceType{get;private set;}
public HashSet<string> valueBuilder { get; private set; }
private AudienceTarget(AudienceType audienceType, HashSet<string> values)
{
this.audienceType = audienceType;
this.valueBuilder = values;
}
public static AudienceTarget tag(HashSet<string> values)
{
return new AudienceTarget(AudienceType.tag,values).Check();
}
public static AudienceTarget tag_and(HashSet<string> values)
{
return new AudienceTarget(AudienceType.tag_and, values).Check();
}
public static AudienceTarget alias(HashSet<string> values)
{
return new AudienceTarget(AudienceType.alias, values).Check();
}
public static AudienceTarget segment(HashSet<string> values)
{
return new AudienceTarget(AudienceType.segment, values).Check();
}
public static AudienceTarget registrationId(HashSet<string> values)
{
return new AudienceTarget(AudienceType.registration_id, values).Check();
}
public AudienceTarget Check()
{
Preconditions.checkArgument(null != valueBuilder, "Target values should be set one at least.");
return this;
}
}
}