|
@@ -96,30 +96,27 @@ class PatentearlyService extends CrudService {
|
|
|
for (const i of data) {
|
|
|
try {
|
|
|
const { create_date } = i;
|
|
|
- // 当前年份
|
|
|
- const now_year = moment(new Date()).format('YYYY');
|
|
|
- // 专利日期
|
|
|
- const patent_month = moment(create_date).format('MM-DD');
|
|
|
- // 专利到期日期
|
|
|
- const end = now_year + '-' + patent_month;
|
|
|
- // 专利到期前一天
|
|
|
- const endbeforeone = moment(end).subtract(1, 'd').format('YYYY-MM-DD');
|
|
|
- // 专利到期日期减去三个月
|
|
|
+ // 专利到期时间
|
|
|
+ const expire_date = moment(new Date()).format('YYYY') + '-' + moment(create_date).format('MM-DD');
|
|
|
+ // 专利到期时间延后一个月
|
|
|
+ const end = moment(expire_date).add(1, 'months').format('YYYY-MM-DD');
|
|
|
+ // 专利到期前三个月
|
|
|
const start = moment(end).subtract(limitMonth, 'months').format('YYYY-MM-DD');
|
|
|
+ // 专利到期前两个月
|
|
|
+ const start_two = moment(end).subtract(2, 'months').format('YYYY-MM-DD');
|
|
|
+ // 专利到期前一个月
|
|
|
+ const start_thr = moment(end).subtract(1, 'months').format('YYYY-MM-DD');
|
|
|
+ // 判断是否是三个月的区间
|
|
|
const r = moment().isBetween(start, end, null, '[]');
|
|
|
+ // 判断是否在一个月的区间
|
|
|
+ const one_section = moment().isBetween(start_thr, end, null, '[]');
|
|
|
if (r) {
|
|
|
- // 2021-11-08 第一天/最后一天/相差天数被10整出的天数(并不算是严格的每隔10天) 发送消息
|
|
|
+ // 三个月内的第一天||两个月内第一天||一个月内的每天 发送消息
|
|
|
// 是否发送的变量
|
|
|
let dr = false;
|
|
|
- if (moment().format('YYYY-MM-DD') === start || moment().format('YYYY-MM-DD') === endbeforeone) {
|
|
|
- // 第一天/最后一天发送
|
|
|
+ const toDay = moment().format('YYYY-MM-DD');
|
|
|
+ if (toDay === start || toDay === start_two || one_section) {
|
|
|
dr = true;
|
|
|
- } else {
|
|
|
- // 差10天就发
|
|
|
- const dur = 10;
|
|
|
- const subDay = moment(end).diff(moment(), 'days');
|
|
|
- // 判断是不是整数.整数就发送
|
|
|
- dr = _.isInteger(_.floor(_.divide(subDay, dur)));
|
|
|
}
|
|
|
// 不发就继续
|
|
|
if (!dr) continue;
|