package com.ruoyi.framework.config; 
 | 
  
 | 
import java.util.Random; 
 | 
import com.google.code.kaptcha.text.impl.DefaultTextCreator; 
 | 
  
 | 
/** 
 | 
 * 验证码文本生成器 
 | 
 *  
 | 
 * @author ruoyi 
 | 
 */ 
 | 
public class KaptchaTextCreator extends DefaultTextCreator 
 | 
{ 
 | 
    private static final String[] CNUMBERS = "0,1,2,3,4,5,6,7,8,9,10".split(","); 
 | 
  
 | 
    @Override 
 | 
    public String getText() 
 | 
    { 
 | 
        Integer result = 0; 
 | 
        Random random = new Random(); 
 | 
        int x = random.nextInt(10); 
 | 
        int y = random.nextInt(10); 
 | 
        StringBuilder suChinese = new StringBuilder(); 
 | 
        int randomoperands = (int) Math.round(Math.random() * 2); 
 | 
        if (randomoperands == 0) 
 | 
        { 
 | 
            result = x * y; 
 | 
            suChinese.append(CNUMBERS[x]); 
 | 
            suChinese.append("*"); 
 | 
            suChinese.append(CNUMBERS[y]); 
 | 
        } 
 | 
        else if (randomoperands == 1) 
 | 
        { 
 | 
            if (!(x == 0) && y % x == 0) 
 | 
            { 
 | 
                result = y / x; 
 | 
                suChinese.append(CNUMBERS[y]); 
 | 
                suChinese.append("/"); 
 | 
                suChinese.append(CNUMBERS[x]); 
 | 
            } 
 | 
            else 
 | 
            { 
 | 
                result = x + y; 
 | 
                suChinese.append(CNUMBERS[x]); 
 | 
                suChinese.append("+"); 
 | 
                suChinese.append(CNUMBERS[y]); 
 | 
            } 
 | 
        } 
 | 
        else if (randomoperands == 2) 
 | 
        { 
 | 
            if (x >= y) 
 | 
            { 
 | 
                result = x - y; 
 | 
                suChinese.append(CNUMBERS[x]); 
 | 
                suChinese.append("-"); 
 | 
                suChinese.append(CNUMBERS[y]); 
 | 
            } 
 | 
            else 
 | 
            { 
 | 
                result = y - x; 
 | 
                suChinese.append(CNUMBERS[y]); 
 | 
                suChinese.append("-"); 
 | 
                suChinese.append(CNUMBERS[x]); 
 | 
            } 
 | 
        } 
 | 
        else 
 | 
        { 
 | 
            result = x + y; 
 | 
            suChinese.append(CNUMBERS[x]); 
 | 
            suChinese.append("+"); 
 | 
            suChinese.append(CNUMBERS[y]); 
 | 
        } 
 | 
        suChinese.append("=?@" + result); 
 | 
        return suChinese.toString(); 
 | 
    } 
 | 
} 
 |