模块功能
验证码有效期300 s,验证码错误次数校验3 times,验证码获取间隔60s,每个用户数据库只存一条code记录
数据库设计
id
account 用户账号
code 验证码
times 验证错误次数
date_entered 创建时间
date_code_modified 验证码修改时间
date_times_modified 上次错误校验时间
逻辑流程图
申请流程图
校验流程图
代码
BPO实现
@Override
@POST
@Produces(MediaType.APPLICATION_JSON)
@Path("/getCode/wechat")
@RestService
public String applyCode(@Context HttpServletRequest request,@Context HttpServletResponse response) {
logger.info("获取验证码");
String userAccount=request.getParameter("userAccount");
//userAccount 不为空校验
if(userAccount==null||userAccount.equals(""))return "508";
if (userAccount.indexOf("@") != (-1)) {
userAccount = userAccount.split("@")[0];
}
return codeBLO.applyCode(userAccount);
}
BLO实现
/**
*
*/
package approvalcenter.sc.approvalcenter.dc.bo.impl;
import java.sql.Timestamp;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import com.neusoft.unieap.core.annotation.ModelFile;
import com.neusoft.unieap.core.util.ServletContextUtil;
import approvalcenter.sc.approvalcenter.dc.bo.CodeBL