第三方万年历接口在公司中的应用实践

前置准备

搭建依赖

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.66</version>
</dependency>

<dependency>
    <groupId>org.apache.httpcomponents</groupId>
    <artifactId>httpclient</artifactId>
    <version>4.5.13</version>
</dependency>

申请第三方接口凭证

申请地址:RollToolsApi使用教程 (qq.com)

根据文章内容添加公众号注册账号后获取 app_idapp_srcret,后续接口请求要携带该两个参数,如下:

http://www.mxnzp.com/api/holiday/list/month/201802?app_id=XXXX&app_secret=XXX

API接口文档

获取指定日期的节假日及万年历信息

请求参数说明:
名称类型说明
date字符串日期 格式 yyyyMMdd
ignoreHoliday布尔值是否忽略节假日,仅仅获取万年历,默认值false
返回参数说明:
名称类型说明
date字符串当前日期
weekDay整形当前周第几天 1-周一 2-周二 ... 7-周日
yearTips字符串天干地支纪年法描述 例如:戊戌
type整形类型 0 工作日 1 假日 2 节假日 如果ignoreHoliday参数为true,这个字段不返回
typeDes字符串类型描述 比如 国庆,休息日,工作日 如果ignoreHoliday参数为true,这个字段不返回
chineseZodiac字符串属相 例如:狗
solarTerms字符串节气描述 例如:小雪
lunarCalendar字符串农历日期
suit字符串宜事项
dayOfYear整形这一年的第几天
weekOfYear整形这一年的第几周
constellation字符串星座
indexWorkDayOfMonth整形如果当前是工作日 则返回是当前月的第几个工作日,否则返回0 如果ignoreHoliday参数为true,这个字段不返回
返回示例:
{
    "code": 1,
    "msg": "数据返回成功",
    "data": {
        "date": "2018-11-21",
        "weekDay": 3,
        "yearTips": "戊戌",
        "type": 0,
        "typeDes": "工作日",
        "chineseZodiac": "狗",
        "solarTerms": "立冬后",
        "avoid": "嫁娶.安葬",
        "lunarCalendar": "十月十四",
        "suit": "破屋.坏垣.祭祀.余事勿取",
        "dayOfYear": 325,
        "weekOfYear": 47,
        "constellation": "天蝎座",
        "indexWorkDayOfMonth": 1
    }
}

获取指定多个日期的节假日及万年历信息

请求参数说明:
名称类型说明
dates字符串日期组 格式 yyyyMMdd,yyyyMMdd,yyyyMMdd (中间用英文逗号隔开)
ignoreHoliday布尔值是否忽略节假日,仅仅获取万年历,默认值false
返回参数说明:
名称类型说明
date字符串当前日期
weekDay整形当前周第几天 1-周一 2-周二 ... 7-周日
yearTips字符串天干地支纪年法描述 例如:戊戌
type整形类型 0 工作日 1 假日 2 节假日 如果ignoreHoliday参数为true,这个字段不返回
typeDes字符串类型描述 比如 国庆,休息日,工作日 如果ignoreHoliday参数为true,这个字段不返回
chineseZodiac字符串属相 例如:狗
solarTerms字符串节气描述 例如:小雪
lunarCalendar字符串农历日期
suit字符串宜事项
dayOfYear整形这一年的第几天
weekOfYear整形这一年的第几周
constellation字符串星座
indexWorkDayOfMonth整形如果当前是工作日 则返回是当前月的第几个工作日,否则返回0 如果ignoreHoliday参数为true,这个字段不返回
返回示例:
{
    "code": 1,
    "msg": "数据返回成功",
    "data": [
        {
            "date": "2018-01-01",
            "weekDay": 1,
            "yearTips": "丁酉",
            "type": 2,
            "chineseZodiac": "鸡",
            "solarTerms": "冬至后",
            "avoid": "出行.安葬.修坟.开市",
            "lunarCalendar": "11-15",
            "typeDes" : "元旦",
            "suit": "祭祀.塑绘.开光.裁衣.冠笄.嫁娶.纳采.拆卸.修造.动土.竖柱.上梁.安床.移徙.入宅.安香.结网.捕捉.畋猎.伐木.进人口.放水",
            "dayOfYear": 1,
            "weekOfYear": 1,
            "constellation": "天蝎座",
            "indexWorkDayOfMonth": 1
        },
        {
            "date": "2018-10-10",
            "weekDay": 3,
            "yearTips": "戊戌",
            "type": 0,
            "chineseZodiac": "狗",
            "solarTerms": "寒露后",
            "typeDes" : "工作日",
            "avoid": "造庙.嫁娶.掘井.栽种.造桥.作灶.动土",
            "lunarCalendar": "9-2",
            "suit": "祭祀.开光.出行.解除.伐木.作梁.出火.拆卸.入宅.移徙.安床.修造.造畜椆栖.扫舍",
            "dayOfYear": 283,
            "weekOfYear": 41,
            "constellation": "天蝎座",
            "indexWorkDayOfMonth": 1
        },
        {
            "date": "2018-10-11",
            "weekDay": 4,
            "yearTips": "戊戌",
            "type": 0,
            "typeDes" : "工作日",
            "chineseZodiac": "狗",
            "solarTerms": "寒露后",
            "avoid": "入宅.上梁.斋醮.出火.谢土",
            "lunarCalendar": "9-3",
            "suit": "纳采.订盟.开市.交易.立券.会亲友.纳畜.牧养.问名.移徙.解除.作厕.入学.起基.安床.开仓.出货财.安葬.启攒.入殓.除服.成服",
            "dayOfYear": 284,
            "weekOfYear": 41,
            "constellation": "天蝎座",
            "indexWorkDayOfMonth": 1
        }
    ]
}

获取指定月份的节假日及万年历信息

请求参数说明:
名称类型说明
date字符串查询的月份 格式 yyyyMM (只有年月)
ignoreHoliday布尔值是否忽略节假日,仅仅获取万年历,默认值false
返回参数说明:
名称类型说明
date字符串当前日期
weekDay整形当前周第几天 1-周一 2-周二 ... 7-周日
yearTips字符串天干地支纪年法描述 例如:戊戌 如果ignoreHoliday参数为true,这个字段不返回
type整形类型 0 工作日 1 假日 2 节假日 如果ignoreHoliday参数为true,这个字段不返回
typeDes字符串类型描述 比如 国庆,休息日,工作日
chineseZodiac字符串属相 例如:狗
solarTerms字符串节气描述 例如:小雪
lunarCalendar字符串农历日期
suit字符串宜事项
dayOfYear整形这一年的第几天
weekOfYear整形这一年的第几周
constellation字符串星座
indexWorkDayOfMonth整形如果当前是工作日 则返回是当前月的第几个工作日,否则返回0 如果ignoreHoliday参数为true,这个字段不返回
返回示例:
{

    "code": 1,
    "msg": "数据返回成功",
    "data": [
        {
            "date": "2018-02-01",
            "weekDay": 4,
            "yearTips": "丁酉",
            "type": 0,
            "chineseZodiac": "鸡",
            "typeDes" : "工作日",
            "solarTerms": "大寒后",
            "avoid": "开仓.嫁娶.移徙.入宅",
            "lunarCalendar": "12-16",
            "suit": "祭祀.沐浴.祈福.斋醮.订盟.纳采.裁衣.拆卸.起基.竖柱.上梁.安床.入殓.除服.成服.移柩.启攒.挂匾.求嗣.出行.合帐.造畜椆栖",
            "dayOfYear": 32,
            "weekOfYear": 5,
            "constellation": "天蝎座",
            "indexWorkDayOfMonth": 1
        },
        ...中间隐藏了"2018-02-02"~"2018-02-27"的数据
        {
            "date": "2018-02-28",
            "weekDay": 3,
            "yearTips": "戊戌",
            "type": 0,
            "chineseZodiac": "狗",
            "typeDes" : "工作日",
            "solarTerms": "雨水后",
            "avoid": "掘井",
            "lunarCalendar": "1-13",
            "suit": "祭祀.斋醮.裁衣.合帐.冠笄.订盟.纳采.嫁娶.入宅.安香.谢土.入殓.移柩.破土.立碑.安香.会亲友.出行.祈福.求嗣.立碑.上梁.放水",
            "dayOfYear": 59,
            "weekOfYear": 9,
            "constellation": "天蝎座",
            "indexWorkDayOfMonth": 1
        }
    ]
}

获取指定月份的指定类型节假日及万年历信息

请求参数说明:
名称类型说明
date字符串查询的月份 格式 yyyyMM (只有年月)
type字符串需要查询的类型{可选值:类型 workday 工作日 holiday 节假日 rest 休息日 festival 节日
ignoreHoliday布尔值是否忽略节假日,仅仅获取万年历,默认值false
返回参数说明:
名称类型说明
month整形当前月份
year整形当前年份
date字符串当前日期
weekDay整形当前周第几天 1-周一 2-周二 ... 7-周日
yearTips字符串天干地支纪年法描述 例如:戊戌
type整形类型 0 工作日 1 假日 2 节假日 如果ignoreHoliday参数为true,这个字段不返回
typeDes字符串类型描述 比如 国庆,休息日,工作日 如果ignoreHoliday参数为true,这个字段不返回
chineseZodiac字符串属相 例如:狗
solarTerms字符串节气描述 例如:小雪
lunarCalendar字符串农历日期
suit字符串宜事项
dayOfYear整形这一年的第几天
weekOfYear整形这一年的第几周
constellation字符串星座
indexWorkDayOfMonth整形如果当前是工作日 则返回是当前月的第几个工作日,否则返回0 如果ignoreHoliday参数为true,这个字段不返回
返回示例:
{
    "code": 1,
    "msg": "数据返回成功",
    "data": [
        {
            "month": 10,
            "year": 2018,
            "days": [
                {
                    "date": "2018-10-13",
                    "weekDay": 6,
                    "yearTips": "戊戌",
                    "type": 1,
                    "typeDes": "休息日",
                    "chineseZodiac": "狗",
                    "solarTerms": "寒露后",
                    "avoid": "开市.交易.祭祀.入宅.安葬",
                    "lunarCalendar": "九月初五",
                    "suit": "捕捉.畋猎.余事勿取",
                    "dayOfYear": 286,
                    "weekOfYear": 41,
                    "constellation": "天蝎座",
                    "indexWorkDayOfMonth": 1
                },
                ...中间隐藏了一部分的数据...
                {
                    "date": "2018-10-28",
                    "weekDay": 7,
                    "yearTips": "戊戌",
                    "type": 1,
                    "typeDes": "休息日",
                    "chineseZodiac": "狗",
                    "solarTerms": "霜降后",
                    "avoid": "出行.祈福.安葬.作灶",
                    "lunarCalendar": "九月廿",
                    "suit": "会亲友.嫁娶.订盟.纳采.纳婿.拆卸.修造.动土.起基.竖柱.上梁.安床.会亲友.纳财",
                    "dayOfYear": 301,
                    "weekOfYear": 43,
                    "constellation": "天蝎座",
                    "indexWorkDayOfMonth": 1
                }
            ]
        }
    ]
}

获取指定年份的节假日及万年历信息

请求参数说明:
名称类型说明
date字符串查询的年份 格式 yyyy (只有年份)
ignoreHoliday布尔值是否忽略节假日,仅仅获取万年历,默认值false
返回参数说明:
名称类型说明
month整形当前月份
year整形当前年份
date字符串当前日期
weekDay整形当前周第几天 1-周一 2-周二 ... 7-周日
yearTips字符串天干地支纪年法描述 例如:戊戌
type整形类型 0 工作日 1 假日 2 节假日 如果ignoreHoliday参数为true,这个字段不返回
typeDes字符串类型描述 比如 国庆,休息日,工作日 如果ignoreHoliday参数为true,这个字段不返回
chineseZodiac字符串属相 例如:狗
solarTerms字符串节气描述 例如:小雪
lunarCalendar字符串农历日期
suit字符串宜事项
dayOfYear整形这一年的第几天
weekOfYear整形这一年的第几周
constellation字符串星座
indexWorkDayOfMonth整形如果当前是工作日 则返回是当前月的第几个工作日,否则返回0 如果ignoreHoliday参数为true,这个字段不返回
返回示例:
{
    "code": 1,
    "msg": "数据返回成功",
    "data": [
        {
            "month": 1,
            "year": 2018,
            "days": [
                {
                    "date": "2018-01-01",
                    "weekDay": 1,
                    "yearTips": "丁酉",
                    "type": 2,
                    "chineseZodiac": "鸡",
                    "solarTerms": "冬至后",
                    "typeDes" : "元旦",
                    "avoid": "出行.安葬.修坟.开市",
                    "lunarCalendar": "11-15",
                    "suit": "祭祀.塑绘.开光.裁衣.冠笄.嫁娶.纳采.拆卸.修造.动土.竖柱.上梁.安床.移徙.入宅.安香.结网.捕捉.畋猎.伐木.进人口.放水",
                    "dayOfYear": 1,
                    "weekOfYear": 1,
                    "constellation": "天蝎座",
                    "indexWorkDayOfMonth": 1
                },
                ...中间隐藏了"2018-01-02"~"2018-01-30"的数据
                {
                    "date": "2018-01-31",
                    "weekDay": 3,
                    "yearTips": "丁酉",
                    "type": 0,
                    "chineseZodiac": "鸡",
                    "typeDes" : "工作日",
                    "solarTerms": "大寒后",
                    "avoid": "嫁娶.入殓.安葬.出行",
                    "lunarCalendar": "12-15",
                    "suit": "塑绘.开光.沐浴.冠笄.会亲友.作灶.放水.造畜椆栖",
                    "dayOfYear": 31,
                    "weekOfYear": 5,
                    "constellation": "天蝎座",
                    "indexWorkDayOfMonth": 1
                }
            ]
        },
        ...中间隐藏了02月到11月的数据
        {
            "month": 12,
            "days": [
                {
                    "date": "2018-12-01",
                    "weekDay": 6,
                    "yearTips": "戊戌",
                    "type": 1,
                    "chineseZodiac": "狗",
                    "typeDes" : "休息日",
                    "solarTerms": "小雪后",
                    "avoid": "作灶.治病",
                    "lunarCalendar": "10-24",
                    "suit": "祭祀.祈福.订盟.纳采.裁衣.拆卸.修造.动土.起基.安床.移徙.入宅.安香.入殓.移柩.安葬.谢土.赴任.进人口.会亲友",
                    "dayOfYear": 335,
                    "weekOfYear": 48,
                    "constellation": "天蝎座",
                    "indexWorkDayOfMonth": 1
                },
                ...中间隐藏了"2018-12-02"~"2018-12-30"的数据
                {
                    "date": "2018-12-31",
                    "weekDay": 1,
                    "yearTips": "戊戌",
                    "type": 0,
                    "chineseZodiac": "狗",
                    "solarTerms": "冬至后",
                    "avoid": "开市.破土",
                    "lunarCalendar": "10-25",
                    "suit": "祭祀.沐浴.安床.纳财.畋猎.捕捉",
                    "dayOfYear": 365,
                    "weekOfYear": 1,
                    "constellation": "天蝎座",
                    "indexWorkDayOfMonth": 1
                }
            ]
        }
    ]
}

获取指定年份的指定类型节假日及万年历信息

请求参数说明:
名称类型说明
date字符串查询的月份 格式 yyyy (只有年份)
type字符串需要查询的类型{可选值:类型 workday 工作日 holiday 节假日 rest 休息日 festival 节日
ignoreHoliday布尔值是否忽略节假日,仅仅获取万年历,默认值false
返回参数说明:
名称类型说明
month整形当前月份
year整形当前年份
date字符串当前日期
weekDay整形当前周第几天 1-周一 2-周二 ... 7-周日
yearTips字符串天干地支纪年法描述 例如:戊戌
type整形类型 0 工作日 1 假日 2 节假日 如果ignoreHoliday参数为true,这个字段不返回
typeDes字符串类型描述 比如 国庆,休息日,工作日 如果ignoreHoliday参数为true,这个字段不返回
chineseZodiac字符串属相 例如:狗
solarTerms字符串节气描述 例如:小雪
lunarCalendar字符串农历日期
suit字符串宜事项
dayOfYear整形这一年的第几天
weekOfYear整形这一年的第几周
constellation字符串星座
indexWorkDayOfMonth整形如果当前是工作日 则返回是当前月的第几个工作日,否则返回0 如果ignoreHoliday参数为true,这个字段不返回
返回示例:
{
    "code": 1,
    "msg": "数据返回成功,域名已经成功备案,为了更优雅的调用,不久后将废弃8091端口,请尽快使用新域名直接调用,多有不便敬请谅解",
    "data": [
        {
            "month": 1,
            "year": 2018,
            "days": [
                {
                    "date": "2018-01-06",
                    "weekDay": 6,
                    "yearTips": "丁酉",
                    "type": 1,
                    "typeDes": "休息日",
                    "chineseZodiac": "鸡",
                    "solarTerms": "小寒后",
                    "avoid": "嫁娶.开市.入宅.安床.破土.安葬",
                    "lunarCalendar": "冬月廿",
                    "suit": "祭祀.斋醮.纳财.捕捉.畋猎",
                    "dayOfYear": 6,
                    "weekOfYear": 1,
                    "constellation": "天蝎座",
                    "indexWorkDayOfMonth": 1
                },
                ...中间还有一些数据没有显示...
                {
                    "date": "2018-01-28",
                    "weekDay": 7,
                    "yearTips": "丁酉",
                    "type": 1,
                    "typeDes": "休息日",
                    "chineseZodiac": "鸡",
                    "solarTerms": "大寒后",
                    "avoid": "祈福.嫁娶.造庙.安床.谢土",
                    "lunarCalendar": "腊月十二",
                    "suit": "纳采.订盟.祭祀.求嗣.出火.塑绘.裁衣.会亲友.入学.拆卸.扫舍.造仓.挂匾.掘井.开池.结网.栽种.纳畜.破土.修坟.立碑.安葬.入殓",
                    "dayOfYear": 28,
                    "weekOfYear": 4,
                    "constellation": "天蝎座",
                    "indexWorkDayOfMonth": 1
                }
            ]
        },
        ...中间有2月到11月的数据没有展示...
        {
            "month": 12,
            "year": 2018,
            "days": [
                {
                    "date": "2018-12-01",
                    "weekDay": 6,
                    "yearTips": "戊戌",
                    "type": 1,
                    "typeDes": "休息日",
                    "chineseZodiac": "狗",
                    "solarTerms": "小雪后",
                    "avoid": "作灶.治病",
                    "lunarCalendar": "十月廿四",
                    "suit": "祭祀.祈福.订盟.纳采.裁衣.拆卸.修造.动土.起基.安床.移徙.入宅.安香.入殓.移柩.安葬.谢土.赴任.进人口.会亲友",
                    "dayOfYear": 335,
                    "weekOfYear": 48,
                    "constellation": "天蝎座",
                    "indexWorkDayOfMonth": 1
                },
                ...中间还有一些数据没有显示...
                {
                    "date": "2018-12-30",
                    "weekDay": 7,
                    "yearTips": "戊戌",
                    "type": 1,
                    "typeDes": "元旦",
                    "chineseZodiac": "狗",
                    "solarTerms": "冬至后",
                    "avoid": null,
                    "lunarCalendar": "冬月廿四",
                    "suit": "塑绘.斋醮.出行.拆卸.解除.修造.移徙.造船.入殓.除服.成服.移柩.启攒.修坟.立碑.谢土",
                    "dayOfYear": 364,
                    "weekOfYear": 52,
                    "constellation": "天蝎座",
                    "indexWorkDayOfMonth": 1
                }
            ]
        }
    ]
}

获取最近前后七个节日信息

请求参数说明:
名称类型说明
返回参数说明:
名称类型说明
date字符串节日日期
lunarDate字符串节日农历日期
holidayName字符串节日名称
residueDays整形距离今日的天数,已经过的节日为负数
lunarHoliday布尔值是否是农历节日
返回示例:
{
    "code": 1,
    "msg": "数据返回成功",
    "data": [
        {
            "date": "2019年07月07日",
            "lunarDate": "2019年06月05日",
            "holidayName": "国际合作节",
            "residueDays": -34,
            "lunarHoliday": false
        },
        ...这里只显示了一条
    ]
}

  • 26
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学徒630

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值