# pms **Repository Path**: andy_zhou/pms ## Basic Information - **Project Name**: pms - **Description**: 禅道管理工具,用于定时提醒 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2019-12-10 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 禅道管理工具 # ## 功能 ## - 登录 - 假期跳过 - 日志查询 - 微信提醒 ## 使用方法 ## 1. Constant类修改
Constant类中使用的是[biz.demo.zentao.net](biz.demo.zentao.net "http://biz.demo.zentao.net/")作为demo地址,需要更换为自己的禅道地址。 2. 打成jar包。 3. 调用即可。 ## 示例 ## - XXL-JOB调用示例
``` package com.xxl.job.service.handler; import java.util.Calendar; import java.util.Date; import com.cff.pm.dto.PmUser; import com.cff.pm.handler.HolidayHandler; import com.cff.pm.handler.HandlerFactory; import com.cff.pm.handler.LogHandler; import com.cff.pm.handler.LoginHandler; import com.cff.pm.util.DateUtil; import com.xxl.job.admin.core.util.MailUtil; import com.xxl.job.core.biz.model.ReturnT; import com.xxl.job.core.handler.IJobHandler; import com.xxl.job.core.log.XxlJobLogger; public class PmsHandler extends IJobHandler { @Override public ReturnT execute(String param) throws Exception { XxlJobLogger.log("******"); XxlJobLogger.log("******"); XxlJobLogger.log("******"); XxlJobLogger.log("******"); if(param == null || param.trim().length() < 1){ XxlJobLogger.log("****** {0}", "参数为空."); return ReturnT.FAIL; } PmUser pmUser = new PmUser(param); LoginHandler loginHandler = HandlerFactory.getLoginHandler(); boolean ret = loginHandler.login(pmUser); if(!ret){ XxlJobLogger.log("****** {0}", "登录失败."); return ReturnT.SUCCESS; } LogHandler logHandler = HandlerFactory.getLogHandler(loginHandler); boolean retLog = logHandler.hasTodayLog(); if(!retLog){ XxlJobLogger.log("****** {0}", "当天无日志."); HolidayHandler holidayHandler = HandlerFactory.getHolidayHandler(); if(holidayHandler.isHoliday()){ XxlJobLogger.log("****** ", "今天是假期哦!"); return ReturnT.SUCCESS; } XxlJobLogger.log("****** {0}", "准备发邮件给" + pmUser.getUserName()); MailUtil.sendMail(pmUser.getUserName() + "@xxx.com", "禅道更新提醒", "截至到" + DateUtil.format(new Date(), DateUtil.FullDatePattern) + ", 禅道仍然未更新!
禅道地址:biz.demo.zentao.net"); Calendar calendar= Calendar.getInstance(); int hour = calendar.get(Calendar.HOUR_OF_DAY); if(hour >= 20 && hour <= 22){ String businessId = "111"; String salt = "111"; String url = "http://xxxxx"; String recipients = pmUser.getUserName() + "@xxxx.com"; String content = "禅道更新提醒 : 禅道仍然未更新!禅道地址:http://biz.demo.zentao.net/user-login.html?account=" + pmUser.getUserName() + "&password="+ pmUser.getPasswd() +"&keepLogin%5B%5D=on&referer=http%3A%2F%2Fbiz.demo.zentao.net%2Fmy"; HandlerFactory.getWeixinMessageHandler(businessId, salt, url, recipients).sendMessage(content); } return ReturnT.SUCCESS; } return ReturnT.SUCCESS; } } ```