Package com.appspot.plucial.controller.task

Source Code of com.appspot.plucial.controller.task.ActivitysBotController

package com.appspot.plucial.controller.task;

import java.util.List;
import java.util.Random;

import org.slim3.controller.Controller;
import org.slim3.controller.Navigation;

import com.appspot.plucial.model.UserModel;
import com.appspot.plucial.service.UserService;
import com.google.appengine.api.taskqueue.Queue;
import com.google.appengine.api.taskqueue.QueueFactory;
import com.google.appengine.api.taskqueue.TaskOptions.Builder;

public class ActivitysBotController extends Controller {

    @Override
    public Navigation run() throws Exception {

        String groupId = asString("group");

        List<UserModel> userList = UserService.getGroupUserList(Integer.valueOf(groupId));

        for(UserModel userModel: userList) {

            if(userModel.getRefreshToken() != null && !userModel.isActivityBotPerformingFlg()) {

                // 実行中フラグをtrueにする
                userModel.setActivityBotPerformingFlg(true);

                // SNS連携する場合は、10 〜 19のグループに変更、連携しない場合は 0 〜 9 までのグループに変更
                if((userModel.getTwitterAccessToken() != null && userModel.getTwitterTokenSecret() != null)
                        || (userModel.getFacebookAccessTokenString() != null && userModel.getFacebookAccountName() != null)) {
                    if(userModel.getGroup() < 10) {
                        Random rnd = new Random();
                        userModel.setGroup(rnd.nextInt(10) + 10);
                    }

                }else {
                    if(userModel.getGroup() >= 10) {
                        Random rnd = new Random();
                        userModel.setGroup(rnd.nextInt(10));
                    }

                }

                UserService.put(userModel);

                Queue queue = QueueFactory.getQueue("activitys-queue-group" + userModel.getGroup());
                queue.add(Builder.withUrl("/task/activitysBotTask").param("user", userModel.getKey().getName()));

            }
        }

        return null;
    }
}
TOP

Related Classes of com.appspot.plucial.controller.task.ActivitysBotController

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.