PreCoupenHelpOpenHandler.java 1.58 KB
package com.zhaoonline.coupen.handler;

import com.zhaoonline.coupen.bean.CommonCoupenEntity;
import com.zhaoonline.coupen.bean.OwnerUser;
import com.zhaoonline.coupen.cache.LRUCache;
import com.zhaoonline.coupen.dispatcher.UserCoupenMappingHandler;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.ObjectUtils;

import java.util.List;

/**
 * Created by ZhaoOnline<br/>
 * User: yangyoupeng<br/>
 * Date: 2016/12/17<br/>
 * Time: 11:04<br/>
 * Description:please descript you class
 */
public class PreCoupenHelpOpenHandler {

    private UserCoupenMappingHandler userCoupenMappingHandler= null;

    @Autowired
    public PreCoupenHelpOpenHandler(UserCoupenMappingHandler userCoupenMappingHandler){
        this.userCoupenMappingHandler =  userCoupenMappingHandler;
    }

    /**
     * 这是是要对根据用户和Activity来判断
     * @param coupenEntity
     * @param context
     * @return
     */
    public boolean preProcessRequest(CommonCoupenEntity coupenEntity, DrawContext context){
        List<CommonCoupenEntity> coupnesOfUserInOneActivity=this.userCoupenMappingHandler.getHelpOpenCoupenOfUser(coupenEntity,context.getDrawOwner());
        if(ObjectUtils.isEmpty(coupnesOfUserInOneActivity) || checkBeyondhelpOpenLimit(context, coupnesOfUserInOneActivity)){
            return true;
        }
        return false;
    }

    private boolean checkBeyondhelpOpenLimit(DrawContext context, List<CommonCoupenEntity> coupnesOfUserInOneActivity) {
        return coupnesOfUserInOneActivity.size() <context.getConfig().getHelpOpenCountPerUser();
    }

}