package com.espeed.service.impl; import java.util.List; import java.util.Map; import com.espeed.dao.YxyMailCountDao; import com.espeed.dao.YxyMailDayCountDao; import com.espeed.dao.YxyMailMonthCountDao; import com.espeed.service.MailSendVerificationService; public class MailSendVerificationServiceImpl implements MailSendVerificationService { /**用户发送量判断*/ public int VerificationSendNum(String loginid, String domain,int commitnum, Map<String,String> usergraph,String time) throws Exception { //日发量限制 int daysendBig=Integer.parseInt(usergraph.get("yxy_day_send_mail_limit").toString());//日最大量 //月发量限制 int monthsendBig=Integer.parseInt(usergraph.get("yxy_month_send_mail_limit").toString());//月最大量 //单次最大发送量限制 int onesendBig=Integer.parseInt(usergraph.get("yxy_single_send_num").toString());//单次最大量 //总最大发量(-1无限制) int tolBig=Integer.parseInt(usergraph.get("yxy_sum_send").toString()); //日已发量 String dayhql="select yxy_day_count_tol_num from YxyMailDayCount where yxy_day_count_loiginid='"+loginid+"' and yxy_day_count_domain='"+domain+"' and yxy_day_count_date='"+time+"'"; int daysendMax=yxymaildaycountdao.findByHqlCount(dayhql); //判断是否满了 if(daysendMax+commitnum>=daysendBig){ return -2;//日已发量满 } //月已发量 String monthdate=time.substring(0,time.length()-3); String monthhql="select yxy_month_count_tol_num from YxyMailMonthCount where yxy_month_count_loginid='"+loginid+"' and yxy_month_count_domain='"+domain+"' and yxy_month_count_date='"+monthdate+"'"; int monthsendMax=yxymailmonthcountdao.findByHqlCount(monthhql);//当月已发量 //判断是否满了 if(monthsendMax+commitnum>=monthsendBig){ return -3;//月已发量满 } //总量 String tolhql="select yxy_count_tol_num from YxyMailCount where yxy_count_loginid='"+loginid+"' and yxy_count_domain='"+domain+"'"; int tolNum=yxymailcountdao.findByHqlCount(tolhql); //判断是否满了 if(tolNum+commitnum>=tolBig){ return -4; //总量满 } //单次最大发送量 if(commitnum>=onesendBig){ return -5; //单次最大发送量满 } return 1; } private YxyMailDayCountDao yxymaildaycountdao;//日统计 private YxyMailMonthCountDao yxymailmonthcountdao;//月统计 private YxyMailCountDao yxymailcountdao;//总统计 public YxyMailDayCountDao getYxymaildaycountdao() { return yxymaildaycountdao; } public void setYxymaildaycountdao(YxyMailDayCountDao yxymaildaycountdao) { this.yxymaildaycountdao = yxymaildaycountdao; } public YxyMailMonthCountDao getYxymailmonthcountdao() { return yxymailmonthcountdao; } public void setYxymailmonthcountdao(YxyMailMonthCountDao yxymailmonthcountdao) { this.yxymailmonthcountdao = yxymailmonthcountdao; } public YxyMailCountDao getYxymailcountdao() { return yxymailcountdao; } public void setYxymailcountdao(YxyMailCountDao yxymailcountdao) { this.yxymailcountdao = yxymailcountdao; } }