atitit.抽奖活动插件组件设计--结构设计and 抽奖流程建模
作者:: 老哇的爪子 Attilax 艾龙, EMAIL:1466519819@qq.com
转载请注明来源: http://blog.csdn.net/attilax
1. 组件结构
Shellbox | Titl+ numer iniQueryChoiceTimes | Act_overtimesTips() |
DrawerUI(bigwhell/gird/shake) DrawerLogic (@inj) | leftNums(HttpServletRequest request) startDraw() | |
Funbtn | postUserInfo Lookact lookMyawd | |
nobinTips binTips overChoiceTips nobinTips_lookawd | ||
2. startDraw 开始抽奖流程建模
if(NoSetAwd(actid))
{
return NoSetAwdError();
}
log("--check bingoedNum,"+logPix);
if (bingoedNum(uid, actid) >= 1) {
log("--bioned,"+logPix);
return binoedRet();
}
log("--check choiceNumOvertime,"+logPix);
if (choiceNumOvertime(uid, actid)) {
log("--choiceNumOvertime ed,"+logPix);
return overtime();
}
Awardx myAward = startAward(Integer.parseInt(actid), uid);
if (myAward == null) { //no bingo process
log("--nobioned,"+logPix);
AwardWeixin joinRec = miniOneAwdChoice(uid, actid);
return noBingoResult(joinRec);
}
/// bingo process
log("--bining,"+logPix);
awdC.miniAllAwdChoice(uid, actid);
setAwdTimeNid(myAward, uid, actid);
return binoedResult(myAward);
3. 抽奖算法
Awardx awd = com.attilax.award.AwdSvs.getBingoAwd(li_fnl);
if (awd == null)
return null;
//这个awdOver yao 放得个后头了..也许要sysnc挂了...
if (awdOver(awd)) {
if (uid.equals("testMustBin"))// o5c
return awd;
return null;
} else
return awd;