Commit 350275f3 by guos

会员标签4.0

parent 7188430b
package com.gic.spark;
import com.gic.spark.entity.enumtype.TimeRangeType;
import com.gic.spark.util.DateUtil;
import java.util.Calendar;
import java.util.Date;
/**
* @description:
* @author: wangxk
* @date: 2020/4/26
*/
public class Test {
public static void main(String[] args){
System.out.println("09017237595".matches("^[0-9a-zA-Z_-||.]{1,}$"));
}
}
......@@ -16,23 +16,23 @@ public enum CouponType {
NO_CANCEL,
/**
*
*未核销已过期卡券
*/
NO_CANCEL_EXPIRES,
/**
*
*已核销卡券
*/
CANCEL,
/**
*
*已占用卡券
*/
OCCUPY,
/**
*
*转赠中卡券
*/
DONATION_IN,
/**
*
*已转增卡券
*/
YET_DONATION
}
package com.gic.spark.entity.request;
import com.gic.spark.entity.enumtype.CouponType;
import com.gic.spark.entity.enumtype.NumberType;
import java.util.List;
......@@ -30,7 +31,7 @@ public class CouponRequest extends FilterRequest{
private List<Integer>couponList;
private String tagCode;
private CouponType couponType;
public Integer getBeginNum() {
return beginNum;
......@@ -72,11 +73,11 @@ public class CouponRequest extends FilterRequest{
this.couponList = couponList;
}
public String getTagCode() {
return tagCode;
public CouponType getCouponType() {
return couponType;
}
public void setTagCode(String tagCode) {
this.tagCode = tagCode;
public void setCouponType(CouponType couponType) {
this.couponType = couponType;
}
}
......@@ -9,6 +9,8 @@ import com.gic.spark.entity.request.FilterRequest;
import com.gic.spark.util.AppEnvUtil;
import com.gic.spark.util.ConstantUtil;
import org.apache.spark.api.java.JavaRDD;
import org.apache.spark.sql.Column;
import org.apache.spark.util.collection.unsafe.sort.RadixSort;
import java.util.ArrayList;
import java.util.HashSet;
......@@ -42,19 +44,53 @@ public class TagCouponFilter implements BaseTagFilter{
@Override
public JavaRDD<Integer> filterValidMember(Integer enterpriseId, FilterRequest request) {
CouponRequest couponRequest=(CouponRequest)request;
JavaRDD<TagCouponBean> couponBeanRDD= MysqlRddManager.getPojoFromDataset(dataSourceSharding.getDatasetByEnterpriseId(enterpriseId),TagCouponBean.class).javaRDD()
JavaRDD<TagCouponBean> couponBeanRDD= MysqlRddManager.getPojoFromDataset(dataSourceSharding.getDatasetByEnterpriseId(enterpriseId)
.filter(new Column("status").isNotNull()),TagCouponBean.class).javaRDD()
.filter(data->couponRequest.getCouponList().contains(data.getCoupon_id()));
couponBeanRDD.mapPartitions(data->{
Set<Integer>result=new HashSet();
while (data.hasNext()){
TagCouponBean couponBean=data.next();
switch (couponRequest.getTagCode()){
}
}
return result.iterator();
});
return null;
JavaRDD<Integer>ecuRDD=couponBeanRDD.mapPartitions(data->{
Set<Integer>result=new HashSet();
while (data.hasNext()){
TagCouponBean couponBean=data.next();
switch (couponRequest.getCouponType()){
case UNCLAIMED:
if(couponBean.getStatus()==3){
result.add(couponBean.getEcu_Id());
}
break;
case NO_CANCEL:
if(couponBean.getStatus()==4
&&couponBean.getEffect_End_Time().getTime()>System.currentTimeMillis()){
result.add(couponBean.getEcu_Id());
}
break;
case NO_CANCEL_EXPIRES:
if(couponBean.getStatus()==4
&&couponBean.getEffect_End_Time().getTime()<System.currentTimeMillis()){
result.add(couponBean.getEcu_Id());
}
break;
case CANCEL:
if(couponBean.getStatus()==7){
result.add(couponBean.getEcu_Id());
}
break;
case OCCUPY:
if(couponBean.getStatus()==8){
result.add(couponBean.getEcu_Id());
}
break;
case DONATION_IN:
break;
case YET_DONATION:
break;
default:break;
}
}
return result.iterator();
});
return ecuRDD;
}
}
package com.gic.spark.filter;
import com.gic.spark.datasource.entity.DataSourceEntity;
import com.gic.spark.entity.request.FilterRequest;
import org.apache.spark.api.java.JavaRDD;
import java.util.List;
/**
* @description:
* 转赠中卡券
* @author: wangxk
* @date: 2020/4/20
*/
public class TagDonationInCouponFilter implements BaseTagFilter{
private static TagDonationInCouponFilter instance;
public static TagDonationInCouponFilter getInstance() {
if(null==instance){
instance=new TagDonationInCouponFilter();
}
return instance;
}
private TagDonationInCouponFilter(){};
@Override
public List<DataSourceEntity> necessarySourceList() {
return null;
}
@Override
public JavaRDD<Integer> filterValidMember(Integer enterpriseId, FilterRequest filterOption) {
return null;
}
}
package com.gic.spark.filter;
import com.gic.spark.datasource.entity.DataSourceEntity;
import com.gic.spark.entity.request.FilterRequest;
import org.apache.spark.api.java.JavaRDD;
import java.util.List;
/**
* @description:
* @author: wangxk
* @date: 2020/4/20
*/
public class TagGetNoCancelCouponFilter implements BaseTagFilter{
private static TagGetNoCancelCouponFilter instance;
public static TagGetNoCancelCouponFilter getInstance() {
if(null==instance){
instance=new TagGetNoCancelCouponFilter();
}
return instance;
}
private TagGetNoCancelCouponFilter(){};
@Override
public List<DataSourceEntity> necessarySourceList() {
return null;
}
@Override
public JavaRDD<Integer> filterValidMember(Integer enterpriseId, FilterRequest filterOption) {
return null;
}
}
package com.gic.spark.filter;
import com.gic.spark.datasource.entity.DataSourceEntity;
import com.gic.spark.entity.request.FilterRequest;
import org.apache.spark.api.java.JavaRDD;
import java.util.List;
/**
* @description:
* 未核销已过期卡券
* @author: wangxk
* @date: 2020/4/20
*/
public class TagNoCancelExpiresCouponFilter implements BaseTagFilter{
private static TagNoCancelExpiresCouponFilter instance;
public static TagNoCancelExpiresCouponFilter getInstance() {
if(null==instance){
instance=new TagNoCancelExpiresCouponFilter();
}
return instance;
}
private TagNoCancelExpiresCouponFilter(){};
@Override
public List<DataSourceEntity> necessarySourceList() {
return null;
}
@Override
public JavaRDD<Integer> filterValidMember(Integer enterpriseId, FilterRequest filterOption) {
return null;
}
}
package com.gic.spark.filter;
import com.gic.spark.datasource.entity.DataSourceEntity;
import com.gic.spark.entity.request.FilterRequest;
import org.apache.spark.api.java.JavaRDD;
import java.util.List;
/**
* @description:
* 已占用卡券
* @author: wangxk
* @date: 2020/4/20
*/
public class TagOccupyCouponFilter implements BaseTagFilter{
private static TagOccupyCouponFilter instance;
public static TagOccupyCouponFilter getInstance() {
if(null==instance){
instance=new TagOccupyCouponFilter();
}
return instance;
}
private TagOccupyCouponFilter(){};
@Override
public List<DataSourceEntity> necessarySourceList() {
return null;
}
@Override
public JavaRDD<Integer> filterValidMember(Integer enterpriseId, FilterRequest filterOption) {
return null;
}
}
package com.gic.spark.filter;
import com.gic.spark.datasource.entity.DataSourceEntity;
import com.gic.spark.entity.request.FilterRequest;
import org.apache.spark.api.java.JavaRDD;
import java.util.List;
/**
* @description:
* 待领取卡券
* @author: wangxk
* @date: 2020/4/20
*/
public class TagUnclaimedCouponFilter implements BaseTagFilter{
private static TagUnclaimedCouponFilter instance;
public static TagUnclaimedCouponFilter getInstance() {
if(null==instance){
instance=new TagUnclaimedCouponFilter();
}
return instance;
}
private TagUnclaimedCouponFilter(){};
@Override
public List<DataSourceEntity> necessarySourceList() {
return null;
}
@Override
public JavaRDD<Integer> filterValidMember(Integer enterpriseId, FilterRequest filterOption) {
return null;
}
}
package com.gic.spark.filter;
import com.gic.spark.datasource.entity.DataSourceEntity;
import com.gic.spark.entity.request.FilterRequest;
import org.apache.spark.api.java.JavaRDD;
import java.util.List;
/**
* @description:
* 已转增卡券
* @author: wangxk
* @date: 2020/4/20
*/
public class TagYetDonationCouponFilter implements BaseTagFilter{
private static TagYetDonationCouponFilter instance;
public static TagYetDonationCouponFilter getInstance() {
if(null==instance){
instance=new TagYetDonationCouponFilter();
}
return instance;
}
private TagYetDonationCouponFilter(){};
@Override
public List<DataSourceEntity> necessarySourceList() {
return null;
}
@Override
public JavaRDD<Integer> filterValidMember(Integer enterpriseId, FilterRequest filterOption) {
return null;
}
}
......@@ -7,6 +7,7 @@ package com.gic.spark.tag;
*/
public class TagConstant {
/*
public static final String TAG_COMPUTE_TYPE_EQUAL = "=";
public static final String TAG_COMPUTE_TYPE_LESS_EQUAL = "<=";
......@@ -53,6 +54,7 @@ public class TagConstant {
public static final String TAG_TIME_TYPE_AFTER_YEAR = "afteryear";//之后几年
public static final String TAG_TIME_TYPE_LAST_YEAR_HASCURRENTYEAR = "CRlastyearHasCurrentYear"; //最近几年包含当年
public static final String TAG_TIME_TYPE_ALL_TIME = "alltime";//目前为止
*/
/*当前卡券数
......@@ -71,8 +73,8 @@ public class TagConstant {
public static final String TAG_CODE_NO_CANCEL_EXPIRES_COUPON="noCancelExpiresCoupon";//未核销已过期卡券
public static final String TAG_CODE_CANCEL_COUPON="cancelCoupon";//已核销卡券
public static final String TAG_CODE_OCCUPY_COUPON="occupyCoupon";//已占用卡券
public static final String TAG_CODE_DONATIONINCOUPON="donationInCoupon";//转赠中卡券
public static final String TAG_CODE_YETDONATIONCOUPON="yetDonationCoupon";//已转增卡券
public static final String TAG_CODE_DONATION_IN_COUPON="donationInCoupon";//转赠中卡券
public static final String TAG_CODE_YET_DONATION_COUPON="yetDonationCoupon";//已转增卡券
// 积分信息
/*累计获取积分
......
......@@ -269,22 +269,22 @@ public class TagProcess {
tagFilter= TagCurrentCouponNumFilter.getInstance();
break;
case TagConstant.TAG_CODE_UNCLAIMED_COUPON:
tagFilter= TagUnclaimedCouponFilter.getInstance();
tagFilter= TagCouponFilter.getInstance();
break;
case TagConstant.TAG_CODE_GET_NO_CANCEL_COUPON:
tagFilter= TagGetNoCancelCouponFilter.getInstance();
tagFilter= TagCouponFilter.getInstance();
break;
case TagConstant.TAG_CODE_NO_CANCEL_EXPIRES_COUPON:
tagFilter= TagNoCancelExpiresCouponFilter.getInstance();
tagFilter= TagCouponFilter.getInstance();
break;
case TagConstant.TAG_CODE_CANCEL_COUPON:
tagFilter=TagCancelCouponFilter.getInstance();
break;
case TagConstant.TAG_CODE_DONATIONINCOUPON:
tagFilter=TagDonationInCouponFilter.getInstance();
case TagConstant.TAG_CODE_DONATION_IN_COUPON:
tagFilter=TagCouponFilter.getInstance();
break;
case TagConstant.TAG_CODE_YETDONATIONCOUPON:
tagFilter=TagYetDonationCouponFilter.getInstance();
case TagConstant.TAG_CODE_YET_DONATION_COUPON:
tagFilter=TagCouponFilter.getInstance();
break;
default:
DingtalkMessageUtil.sendAlertMessage("暂未支持的非实时标签: " + tagEsFieldName);
......
......@@ -2,6 +2,7 @@ package com.gic.spark.tag;
import com.gic.spark.entity.TagConditionDTO;
import com.gic.spark.entity.TagConditionValDTO;
import com.gic.spark.entity.enumtype.CouponType;
import com.gic.spark.entity.enumtype.DomainType;
import com.gic.spark.entity.enumtype.NumberType;
import com.gic.spark.entity.enumtype.TimeRangeType;
......@@ -40,25 +41,25 @@ public class TagValueParser {
request=getCurrentCouponNumRequest(conditionDTO.getTagTemplateElInfo());
break;
case TagConstant.TAG_CODE_UNCLAIMED_COUPON:
request=getCouponRequest(conditionDTO.getTagTemplateElInfo(),conditionDTO.getTagEsFieldName());
request=getCouponRequest(conditionDTO);
break;
case TagConstant.TAG_CODE_GET_NO_CANCEL_COUPON:
request=getCouponRequest(conditionDTO.getTagTemplateElInfo(),conditionDTO.getTagEsFieldName());
request=getCouponRequest(conditionDTO);
break;
case TagConstant.TAG_CODE_NO_CANCEL_EXPIRES_COUPON:
request=getCouponRequest(conditionDTO.getTagTemplateElInfo(),conditionDTO.getTagEsFieldName());
request=getCouponRequest(conditionDTO);
break;
case TagConstant.TAG_CODE_CANCEL_COUPON:
request=getCouponRequest(conditionDTO.getTagTemplateElInfo(),conditionDTO.getTagEsFieldName());
request=getCouponRequest(conditionDTO);
break;
case TagConstant.TAG_CODE_OCCUPY_COUPON:
request=getCouponRequest(conditionDTO.getTagTemplateElInfo(),conditionDTO.getTagEsFieldName());
request=getCouponRequest(conditionDTO);
break;
case TagConstant.TAG_CODE_DONATIONINCOUPON:
request=getCouponRequest(conditionDTO.getTagTemplateElInfo(),conditionDTO.getTagEsFieldName());
case TagConstant.TAG_CODE_DONATION_IN_COUPON:
request=getCouponRequest(conditionDTO);
break;
case TagConstant.TAG_CODE_YETDONATIONCOUPON:
request=getCouponRequest(conditionDTO.getTagTemplateElInfo(),conditionDTO.getTagEsFieldName());
case TagConstant.TAG_CODE_YET_DONATION_COUPON:
request=getCouponRequest(conditionDTO);
break;
default:break;
......@@ -66,12 +67,35 @@ public class TagValueParser {
return request;
}
private static FilterRequest getCouponRequest(List<TagConditionValDTO> conditionValDTOList, String tagCode) {
private static FilterRequest getCouponRequest(TagConditionDTO conditionDTO) {
CouponRequest request=new CouponRequest();
for(TagConditionValDTO conditionValDTO:conditionValDTOList){
for(TagConditionValDTO conditionValDTO:conditionDTO.getTagTemplateElInfo()){
switch (conditionValDTO.getKey()){
case TagConstant.TAG_COMPONENT_COUPON:
request.setTagCode(tagCode);
switch (conditionDTO.getTagEsFieldName()){
case TagConstant.TAG_CODE_UNCLAIMED_COUPON:
request.setCouponType(CouponType.UNCLAIMED);
break;
case TagConstant.TAG_CODE_GET_NO_CANCEL_COUPON:
request.setCouponType(CouponType.NO_CANCEL);
break;
case TagConstant.TAG_CODE_NO_CANCEL_EXPIRES_COUPON:
request.setCouponType(CouponType.NO_CANCEL_EXPIRES);
break;
case TagConstant.TAG_CODE_CANCEL_COUPON:
request.setCouponType(CouponType.CANCEL);
break;
case TagConstant.TAG_CODE_OCCUPY_COUPON:
request.setCouponType(CouponType.OCCUPY);
break;
case TagConstant.TAG_CODE_DONATION_IN_COUPON:
request.setCouponType(CouponType.DONATION_IN);
break;
case TagConstant.TAG_CODE_YET_DONATION_COUPON:
request.setCouponType(CouponType.YET_DONATION);
break;
default:break;
}
List<Integer>couponList=new ArrayList();
if(StringUtils.isNotEmpty(conditionValDTO.getVal())){
String[] couponIds= conditionValDTO.getVal().split(",");
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment