实战源码:Java对接Jira与京东宙斯接口


目录

1.jingdong.homefw.task.close ( 获取用户取消的任务工单 )

1.1API描述

1.2输入参数

1.3返回参数

2.Java代码实现

2.1.京东官网Java代码举例

2.2自己Java实现(含创建表和具体Java类)



1.jingdong.homefw.task.close ( 获取用户取消的任务工单 )

1.1API描述

用户取消京东订单后,对应的任务工单也会关闭。

此接口用于对接方通过宙斯接口获取用户主动取消的任务工单,取到后对接方不需要对任务工单进行服务,对接方系统直接关单,无须回传京东。

1.2输入参数

请求类:HomefwTaskCloseRequest

名称

类型

是否必填

示例值

描述

appid

String

 

宙斯平台应用appid

venderCode

String

 

识别码,可为空

beginDate

String

2018-12-31 13:23:30

开始时间

endDate

String

2018-12-31 13:38:30

结束时间与开始时间之差要求为15分钟之内

page

int

1

当前页

pageSize

int

100

每页数量

orderNo

String

xxx,xxx

单号,最大10个单号,按[,]逗号分隔

1.3返回参数

名称

类型

是否必须

示例值

描述

returnType

ResultInfo

 

返回结果集,详见下面说明

ResultInfo

名称

类型

是否必须

示例值

描述

pageSize

Number

20

当前返回的记录总条数

resultCode

Number

100

返回码: 100:返回成功;200:返回失败

errMsg

String

权限过期

失败原因描述

closeOrderList

List<ColseOrder>

 

关闭的工单列表,返回结果集,详见下面说明

CloseOrder

名称

类型

是否必须

示例值

描述

orderNo

String

 

服务单号

reason

String

用户取消

关闭原因

返回码解释

返回码

解释

产生原因

解决方式

100

执行成功

 

 

200

参数设置错误

参数过期或错误

检查参数

2.Java代码实现

2.1.京东官网Java代码举例

public JdClient client=new DefaultJdClient(SERVER_URL,accessToken,appKey,appSecret);
HomefwTaskCloseRequest request=new HomefwTaskCloseRequest();
request.setVenderCode("123456");
request.setBeginDate("2018-12-31 13:23:30");
request.setEndDate("2018-12-31 13:23:30");
request.setPage(1);
request.setPageSize(100);
request.setOrderNo("1234,5678");
HomefwTaskCloseResponse response=client.execute(request);
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.

2.2自己Java实现(含创建表和具体Java类)

数据库设计

CREATE TABLE `jd_taskclose` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `beginDate` datetime DEFAULT NULL COMMENT '开始时间',
  `endDate` datetime DEFAULT NULL COMMENT '结束时间与开始时间之差要求为15分钟之内',
  `page` int(11) DEFAULT NULL COMMENT '当前页',
  `pageSize` int(11) DEFAULT NULL COMMENT '每页数量',
  `orderNo` text COMMENT '单号,最大10个单号,按[,]逗号分隔',
  `createTime` datetime NOT NULL COMMENT '添加时间',
  `orderStatus` int(2) DEFAULT '0' COMMENT '工单状态0创建1已抓取',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COMMENT='工单取消'
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.

Java代码

public class JDAPIParent {
    public static String serverUrl = "https://api-dev.jd.com/routerjson";
    public static String accessToken = "您的accessToken ";
    public static String appKey = "您的appKey ";
    public static String appSecret = "您的appSecret";


    // 获取用户取消的任务工单	jingdong.homefw.task.close
    public static HomefwTaskCloseResponse homefwTaskClose(
            HomefwTaskCloseRequest request) throws Exception {
        JdClient client=new DefaultJdClient(serverUrl,accessToken,appKey,appSecret);
        return client.execute(request);
    }

}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
// 获取用户取消的任务工单	jingdong.homefw.task.close
    public void homefwTaskClose() {
        HomefwTaskCloseRequest request=new HomefwTaskCloseRequest();
        try {
            Date beginDate=new Date();
            int page=1;
            request.setVenderCode(VENDER_CODE);
            request.setBeginDate(DateUtil.getTime(beginDate));
            request.setEndDate(DateUtil.getEndDateByBeginDate(beginDate));
            request.setPage(page);
            request.setPageSize(100);
            HomefwTaskCloseResponse response=JDAPIParent.homefwTaskClose(request);
            com.jd.open.api.sdk.domain.jjfw.OutinterfaceCloseorderService.response.close.ResultInfo resultInfo=response.getResultInfo();
            //保存明细
            jdApilogService.insert(request.getApiMethod(),
                    ReflectionToStringBuilder.toString(request),
                    ReflectionToStringBuilder.toString(resultInfo)+"//"+ReflectionToStringBuilder.toString(resultInfo.getCloseOrderList()));
            List<ColseOrder> list=resultInfo.getCloseOrderList();
            if(list==null||list.isEmpty()){
                jdTaskcloseDao.insert(new JdTaskclose(request,""));
                return;
            }
            String orderNos="";
            for(ColseOrder colseOrder:list){
                // 更新jdorder
                JdOrder jdOrder=new JdOrder();
                jdOrder.setOrderNo(colseOrder.getOrderNo());
                jdOrder.setOrderStatus(JdOrder.STATUS_CLOSE);
                jdOrder.setCloseReason(colseOrder.getReason());
                jdOrder.setCloseDate(new Date());
                jdOrderDao.update(jdOrder);
                //记录orderNos
                if(!"".equals(orderNos)){
                    orderNos+=",";
                }
                orderNos+=jdOrder.getOrderNo();
            }
            jdTaskcloseDao.insert(new JdTaskclose(request,orderNos));
        }catch (Exception e){
            jdApierrorService.insert(new HomefwTaskCloseRequest().getApiMethod(),
                ReflectionToStringBuilder.toString(request),
                StringUtil.getExceptionAllinformation(e));
        }
    }
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.

源码参考地址 http://www.zrscsoft.com/sitepic/12105.html

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空