# 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;
}
}
```