TaskTest.java 15 KB
package com.xiniunet.system.task;

import com.alibaba.fastjson.JSON;
import com.xiniunet.announcement.domain.Announcement;
import com.xiniunet.announcement.domain.AnnouncementUser;
import com.xiniunet.announcement.request.AnnouncementCreateRequest;
import com.xiniunet.announcement.request.AnnouncementFindRequest;
import com.xiniunet.announcement.response.AnnouncementCreateResponse;
import com.xiniunet.announcement.response.AnnouncementFindResponse;
import com.xiniunet.announcement.service.AnnouncementService;
import com.xiniunet.foundation.domain.FileAttachmentBind;
import com.xiniunet.foundation.request.CommentPostFindByPageRequest;
import com.xiniunet.foundation.request.CommentPostFindRequest;
import com.xiniunet.foundation.response.CommentPostFindByPageResponse;
import com.xiniunet.foundation.response.CommentPostFindResponse;
import com.xiniunet.foundation.service.FoundationService;
import com.xiniunet.framework.base.BaseTest;
import com.xiniunet.framework.security.Identity;
import com.xiniunet.framework.security.Passport;
import com.xiniunet.framework.util.DateUtil;
import com.xiniunet.quartz.TaskCheckIsOverdueJob;
import com.xiniunet.quartz.TaskWeeklyRemindingJob;
import com.xiniunet.quartz.base.XNQuartzJob;
import com.xiniunet.quartz.base.XNQuartzJobData;
import com.xiniunet.task.biz.TaskManager;
import com.xiniunet.task.dal.TaskMapper;
import com.xiniunet.task.domain.Task;
import com.xiniunet.task.domain.TaskUser;
import com.xiniunet.task.enumeration.BusinessTypeEnum;
import com.xiniunet.task.enumeration.TaskObjectCategoryEnum;
import com.xiniunet.task.enumeration.TaskObjectTypeEnum;
import com.xiniunet.task.enumeration.UserRoleEnum;
import com.xiniunet.task.po.TaskPO;
import com.xiniunet.task.request.*;
import com.xiniunet.task.response.*;
import com.xiniunet.task.service.TaskCenterService;
import org.junit.Before;
import org.junit.Test;
import org.quartz.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.transaction.TransactionConfiguration;

import java.text.Annotation;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;

/**
 * Created by Administrator on 2016/1/13.
 */
@TransactionConfiguration(defaultRollback = false)
public class TaskTest extends BaseTest {

//


    @Autowired
    private Passport passport;
    @Autowired
    private TaskCenterService taskCenterService;
    @Autowired
    private AnnouncementService announcementService;
    @Autowired
    private FoundationService foundationService;

    @Autowired
    TaskMapper taskMapper;
    @Before
    public void setUp() throws Exception {
        passport.setTenantId(551560956166410240L);
        passport.setUserId(1L);
    }
    @Test
    public  void test1()
    {
        // 具体任务
        JobDetail job = JobBuilder.newJob(TaskCheckIsOverdueJob.class).withIdentity("job1", "group2").build();
        // 在任务回调的时候,获取传递的参数,在任务回调的时候,完成想要的操作
        job.getJobDataMap().put("taskId", "I am Hello Job ...");

        // 触发时间点
        SimpleScheduleBuilder simpleScheduleBuilder = SimpleScheduleBuilder.simpleSchedule()//
                .withIntervalInSeconds(5)//
                .repeatForever();//
        Trigger trigger = TriggerBuilder.newTrigger()//
                .withIdentity("trigger1", "group2")//
                .withSchedule(simpleScheduleBuilder).build();//

       // quartzManager.addScheduleJob(job, trigger);
        try {
            Thread.sleep(10000000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
    @Test
    public  void test2()
    {
       /* String a = DateUtil.formatDate(new Date(),"ss mm HH");
        System.out.println(a);*/
        Passport passport = new Passport();
        passport.setTenantId(551560956166410240L);

        TaskGetRequest taskGetRequest = new TaskGetRequest();
        taskGetRequest.setId(1001715139248263168L);
        TaskPO taskPO = taskMapper.getById(taskGetRequest.getId(), passport);
        XNQuartzJobData xnQuartzJobData = new XNQuartzJobData();
        xnQuartzJobData.setId(taskPO.getId());
        xnQuartzJobData.setPassport(passport);
        if(taskPO.getAlarmTime() != null) {
            //调用任务每周几定时检查提醒调度器
            TaskWeeklyRemindingJob taskWeeklyRemindingJob = new TaskWeeklyRemindingJob();
            taskWeeklyRemindingJob.setTriggerData(JSON.toJSONString(xnQuartzJobData));
            taskWeeklyRemindingJob.setTriggerTag(String.valueOf(taskPO.getId()), "TaskWeeklyRemindingJob");
            StringBuffer stringBuffer = new StringBuffer("");
            stringBuffer.append(DateUtil.formatDate(taskPO.getAlarmTime(), "ss mm HH"));
            stringBuffer.append(" ? * ");
            if (taskPO.getAlarmWeek1() && taskPO.getAlarmWeek2() && taskPO.getAlarmWeek3()
                    && taskPO.getAlarmWeek4() && taskPO.getAlarmWeek5()
                    && taskPO.getAlarmWeek6() && taskPO.getAlarmWeek7()) {
                stringBuffer.append("*");
            } else {
                //每周以周日为开始的第一天
                if (taskPO.getAlarmWeek1()) {
                    stringBuffer.append("2,");
                }
                if (taskPO.getAlarmWeek2()) {
                    stringBuffer.append("3,");
                }
                if (taskPO.getAlarmWeek3()) {
                    stringBuffer.append("4,");
                }
                if (taskPO.getAlarmWeek4()) {
                    stringBuffer.append("5,");
                }
                if (taskPO.getAlarmWeek5()) {
                    stringBuffer.append("6,");
                }
                if (taskPO.getAlarmWeek6()) {
                    stringBuffer.append("7,");
                }
                if (taskPO.getAlarmWeek7()) {
                    stringBuffer.append("1");
                }
            }

            String cron = stringBuffer.toString();
            if(cron.endsWith(",")){
                cron = cron.substring(0,cron.length()-1);
            }
            taskWeeklyRemindingJob.setCronTrigger(cron);
        }
       /* TaskCheckIsOverdueJob taskCheckIsOverdueJob = new TaskCheckIsOverdueJob();
        taskCheckIsOverdueJob.setTriggerData(JSON.toJSONString(taskPO));
        taskCheckIsOverdueJob.setTriggerTag(String.valueOf(taskPO.getId()),  "TaskCheckIsOverdueJob");

        taskCheckIsOverdueJob.setCronTrigger(XNQuartzJob.getCron(taskPO.getEndTime()));*/
        try {
            Thread.sleep(10000000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
    @Test
    public void createAnno() throws ParseException {
        //查询任务进度列表信息
        AnnouncementCreateRequest announcementCreateRequest = new AnnouncementCreateRequest();
        List<AnnouncementUser> userList = new ArrayList<>();
        AnnouncementUser announcementUser = new AnnouncementUser();
        announcementUser.setUserId(566771215013122048L);
        userList.add(announcementUser);
        announcementCreateRequest.setUserList(userList);
        announcementCreateRequest.setContent("ceshi666");
        announcementCreateRequest.setTitle("666");
        AnnouncementCreateResponse commentPostFindResponse = announcementService.createAnnouncement(announcementCreateRequest,passport);
        System.out.println(commentPostFindResponse);
    }
    @Test
    public void createProcess() throws ParseException {
        TaskProcessCreateRequest taskProcessCreateRequest = new TaskProcessCreateRequest();
//        taskProcessCreateRequest.setNeedPushMessage(false);
        taskProcessCreateRequest.setId(1002076072701202432L);
        taskProcessCreateRequest.setContent("haha");
        taskProcessCreateRequest.setAnonymous(false);
        taskProcessCreateRequest.setIsUpdate(false);
        TaskProcessCreateResponse taskProcessCreateResponse = taskCenterService.createTaskProcess(taskProcessCreateRequest,passport);
        System.out.println(taskProcessCreateResponse);
    }

    @Test
    public void findAnno() throws ParseException {
        //查询任务进度列表信息
        AnnouncementFindRequest announcementFindRequest = new AnnouncementFindRequest();
        announcementFindRequest.setUserId(566771215013122048L);
        announcementFindRequest.setPageSize(0);
        AnnouncementFindResponse announcementFindResponse = announcementService.findAnnouncementByUser(announcementFindRequest,passport);
        System.out.println(announcementFindResponse);
    }
    @Test
    public void searchTaskObject() throws ParseException {
        //查询任务进度列表信息
        TaskTaskListSearchRequest taskTaskListSearchRequest = new TaskTaskListSearchRequest();
        taskTaskListSearchRequest.setUserId(566771215013122048L);
        taskTaskListSearchRequest.setKeyword("15");
        TaskTaskListSearchResponse commentPostFindResponse = taskCenterService.searchTaskObject(taskTaskListSearchRequest,passport);
        System.out.println(commentPostFindResponse);
    }
    @Test
    public void findProcess() throws ParseException {
        //查询任务进度列表信息
        CommentPostFindByPageRequest commentPostFindRequest = new CommentPostFindByPageRequest();
        commentPostFindRequest.setBusinessId(999560958714449920L);
        commentPostFindRequest.setBusinessType(BusinessTypeEnum.TASK.toString());
        commentPostFindRequest.setPageNumber(0);
        CommentPostFindByPageResponse commentPostFindResponse = foundationService.findCommentPostByPage(commentPostFindRequest,passport);
        System.out.println(commentPostFindResponse);
    }
    @Test
    public void testCreateTask() throws ParseException {

        List<TaskUser> userList = new ArrayList<>();
        TaskUser taskUser = new TaskUser();
        taskUser.setUserId(1L);
        taskUser.setUserRole(UserRoleEnum.DEAL_USER);
        userList.add(taskUser);
        List<TaskUser> ccuserList = new ArrayList<>();
        TaskUser taskUser1 = new TaskUser();
        taskUser1.setUserId(2L);
        taskUser1.setUserRole(UserRoleEnum.CC_USER);
        ccuserList.add(taskUser1);
        //20151130 dr:1122 cr:6001 USD 100 rate:6.0
        TaskCreateRequest taskCreateRequest = new TaskCreateRequest();
        taskCreateRequest.setDeadlineDate(new Date());
        taskCreateRequest.setHasDeadline(true);
        taskCreateRequest.setObjectCategory(TaskObjectCategoryEnum.TASK);
        taskCreateRequest.setObjectName("测试任务");
        taskCreateRequest.setObjectType(TaskObjectTypeEnum.PMS_TASK);
        taskCreateRequest.setOwnerUserId(0L);
        taskCreateRequest.setOwnerUserName("ceshi");
        taskCreateRequest.setUserList(userList);
        taskCreateRequest.setCcUserList(ccuserList);
        taskCreateRequest.setBeginTime(new Date());
        taskCreateRequest.setEndTime(new Date());
        List<FileAttachmentBind> attachmentList = new ArrayList<>();
        FileAttachmentBind fileAttachmentBind = new FileAttachmentBind();
        fileAttachmentBind.setName("ceshi");
        fileAttachmentBind.setStoragePath("http://img1.voc.com.cn/UpLoadFile/2018/05/17/201805171720072413.jpg");
        fileAttachmentBind.setExtension("jpg");
        attachmentList.add(fileAttachmentBind);
        taskCreateRequest.setAttachmentList(attachmentList);
        TaskCreateResponse taskCreateResponse = taskCenterService.createTask(taskCreateRequest,passport);
        System.out.println("response:==================================="+JSON.toJSONString(taskCreateResponse));
    }
    @Test
    public void testUpdateTask() throws ParseException {

        List<TaskUser> userList = new ArrayList<>();
        TaskUser taskUser = new TaskUser();
        taskUser.setUserId(1L);
        taskUser.setUserRole(UserRoleEnum.DEAL_USER);
        userList.add(taskUser);
        List<TaskUser> ccuserList = new ArrayList<>();
        TaskUser taskUser1 = new TaskUser();
        taskUser1.setUserId(2L);
        taskUser1.setUserRole(UserRoleEnum.CC_USER);
        ccuserList.add(taskUser1);
        //20151130 dr:1122 cr:6001 USD 100 rate:6.0
        TaskUpdateRequest taskUpdateRequest = new TaskUpdateRequest();
        taskUpdateRequest.setId(997399270007377920L);
        taskUpdateRequest.setDeadlineDate(new Date());
        taskUpdateRequest.setHasDeadline(true);
        taskUpdateRequest.setObjectCategory(TaskObjectCategoryEnum.TASK);
        taskUpdateRequest.setObjectName("测试任务");
        taskUpdateRequest.setObjectDescription("hahahahhahahahceshi我是测试");
        taskUpdateRequest.setObjectType(TaskObjectTypeEnum.PMS_TASK);
        taskUpdateRequest.setOwnerUserId(0L);
        taskUpdateRequest.setOwnerUserName("ceshi");
        taskUpdateRequest.setUserList(userList);
        taskUpdateRequest.setCcUserList(ccuserList);
        taskUpdateRequest.setBeginTime(new Date());
        taskUpdateRequest.setEndTime(new Date());
        List<FileAttachmentBind> attachmentList = new ArrayList<>();
        FileAttachmentBind fileAttachmentBind = new FileAttachmentBind();
        fileAttachmentBind.setName("ceshi");
        fileAttachmentBind.setStoragePath("http://img1.voc.com.cn/UpLoadFile/2018/05/17/201805171720072413.jpg");
        fileAttachmentBind.setExtension("jpg");
        attachmentList.add(fileAttachmentBind);
        TaskUpdateResponse taskCreateResponse = taskCenterService.updateTask(taskUpdateRequest,passport);
        System.out.println("response:==================================="+JSON.toJSONString(taskCreateResponse));
    }
    @Test
    public void testDoneTask() throws ParseException {
        TaskDoneRequest taskDoneRequest = new TaskDoneRequest();
        taskDoneRequest.setId(997399270007377920L);
        taskDoneRequest.setDoneMessage("哈哈我完成了");
        TaskDoneResponse taskCreateResponse = taskCenterService.doneTask(taskDoneRequest,passport);
        System.out.println("response:==================================="+JSON.toJSONString(taskCreateResponse));
    }
    @Test
    public void findObjectByUser() throws ParseException {
        TaskFindByTaskUserRequest taskDoneRequest = new TaskFindByTaskUserRequest();
        taskDoneRequest.setUserId(1L);
        IndexTaskFindByTaskUserResponse taskCreateResponse = taskCenterService.findTaskObjectByUser(taskDoneRequest,passport);
        System.out.println("response:==================================="+JSON.toJSONString(taskCreateResponse));
    }
    @Test
    public void findTaskByUnion() throws ParseException {
        TaskFindByUnionRequest request = new TaskFindByUnionRequest();
        Identity identity = new Identity();
        request.setUnionId(823043824464039936L);
        TaskFindResponse taskCreateResponse = taskCenterService.findTaskByUnion(request,identity);
        System.out.println("response:==================================="+JSON.toJSONString(taskCreateResponse));
    }

    @Test
    public void getTaskInfo() throws ParseException {
        TaskGetInfoRequest request = new TaskGetInfoRequest();
        request.setId(997399270007377920L);
        TaskGetInfoResponse taskCreateResponse = taskCenterService.getTaskInfo(request,passport);
        System.out.println("response:==================================="+JSON.toJSONString(taskCreateResponse));
    }

}