当当当,重点来了,这是个搞好了可以让老板心甘情愿给你加薪至少10%的项目。
先看看痛点:
商城订单系统和发货系统是分离的,数据流无法打通。如果用户咨询,需要N多客服支持。
客服系统和订单系统也是分离的,如果出现异常件,通常是客户骂才知道要去处理。
售后系统也是火星来的,或者木有系统。。。通常差评的源泉。。。
解决方案:
用电子面单接口,在发货的同时,自动生成快递单号并回填,自动与订单号关联起来。(这一下就打通了任督二脉,后面全都顺了)
用云打印接口,在发货的同时,除了打快递单之外,还能打发货单。这样就不会再发错货了吧~
好了,这里信息量有点大,自己体会一下,或者和产品去嘚瑟一下。
这里该醒了,搬砖搬砖
Add Config
使用sdk的可以先配置account.properties,账号信息可以登录快递100获取https://poll.kuaidi100.com/manager/page/myinfo/enterprise
电子面单图片接口
@Test
public void testPrintImg(){
PrintImgReq printImgReq = new PrintImgReq();
PrintImgParam printImgParam = new PrintImgParam();
printImgReq.setKey(key);
printImgReq.setMethod(ApiInfoConstant.ELECTRONIC_ORDER_PIC_METHOD);
String t = System.currentTimeMillis() + "";
printImgReq.setT(t);
printImgParam.setKuaidicom(CompanyConstant.ZJS);
printImgParam.setSendManName("张三");
printImgParam.setSendManMobile("15999566666");
printImgParam.setSendManPrintAddr("广东省深圳市南山区科技南十二路");
printImgParam.setRecManName("李四");
printImgParam.setRecManMobile("15999566666");
printImgParam.setRecManPrintAddr("北京市海淀区xxx路");
printImgParam.setType("10");
printImgParam.setTempid("180c7c8f646742ca871a92c976392b05");
printImgParam.setCount("1");
String sign = SignUtils.sign(new Gson().toJson(printImgParam)+t+key+secret);
printImgReq.setSign(sign);
printImgReq.setParam(printImgParam);
PrintImg printImg = new PrintImg();
System.out.println(new Gson().toJson(printImg.printImG(printImgReq)));
}
电子面单html接口
@Test
public void testPrintHtml(){
PrintHtmlReq printHtmlReq = new PrintHtmlReq();
PrintHtmlParam printHtmlParam = new PrintHtmlParam();
ManInfo recManInfo = new ManInfo();
ManInfo sendManInfo = new ManInfo();
printHtmlReq.setKey(key);
printHtmlReq.setMethod(ApiInfoConstant.ELECTRONIC_ORDER_HTML_METHOD);
String t = System.currentTimeMillis() + "";
printHtmlReq.setT(t);
printHtmlParam.setKuaidicom(CompanyConstant.ZJS);
recManInfo.setName("张三");
recManInfo.setMobile("15999566666");
recManInfo.setPrintAddr("广东省深圳市南山区科技南十二路");
sendManInfo.setName("李四");
sendManInfo.setMobile("15999566666");
sendManInfo.setPrintAddr("北京市海淀区xxx路");
printHtmlParam.setCount("1");
//如果需要返回电子面单,需要设置
printHtmlParam.setNeedTemplate("1");
printHtmlParam.setSendMan(sendManInfo);
printHtmlParam.setRecMan(recManInfo);
String sign = SignUtils.sign(new Gson().toJson(printHtmlParam)+t+key+secret);
printHtmlReq.setSign(sign);
printHtmlReq.setParam(printHtmlParam);
PrintHtml printHtml = new PrintHtml();
System.out.println(new Gson().toJson(printHtml.print(printHtmlReq)));
}
电子面单打印
@Test
public void testPrintCloud(){
PrintCloudReq printCloudReq = new PrintCloudReq();
PrintCloudParam printCloudParam = new PrintCloudParam();
ManInfo recManInfo = new ManInfo();
ManInfo sendManInfo = new ManInfo();
printCloudReq.setKey(key);
printCloudReq.setMethod(ApiInfoConstant.ELECTRONIC_ORDER_PRINT_METHOD);
String t = System.currentTimeMillis() + "";
printCloudReq.setT(t);
printCloudParam.setKuaidicom(CompanyConstant.ZJS);
recManInfo.setName("张三");
recManInfo.setMobile("15999566666");
recManInfo.setPrintAddr("广东省深圳市南山区科技南十二路");
sendManInfo.setName("李四");
sendManInfo.setMobile("15999566666");
sendManInfo.setPrintAddr("北京市海淀区xxx路");
printCloudParam.setCount("1");
printCloudParam.setSiid(siid);
printCloudParam.setTempid("180c7c8f646742ca871a92c976392b05");
printCloudParam.setSendMan(sendManInfo);
printCloudParam.setRecMan(recManInfo);
String sign = SignUtils.sign(new Gson().toJson(printCloudParam)+t+key+secret);
printCloudReq.setSign(sign);
printCloudReq.setParam(printCloudParam);
PrintCloud printCloud = new PrintCloud();
System.out.println(new Gson().toJson(printCloud.print(printCloudReq)));
}
云打印
/**
* 云打印自定义
*/
@Test
public void testCloudCustom() throws Exception{
PrintBaseReq<CloudPrintCustomParam> printCustomParamReq = new PrintBaseReq<CloudPrintCustomParam>();
CloudPrintCustomParam cloudPrintCustomParam = new CloudPrintCustomParam();
cloudPrintCustomParam.setSiid(siid);
cloudPrintCustomParam.setCallBackUrl("http://www.baidu.com");
cloudPrintCustomParam.setTempid("180c7c8f646742ca871a92c976392b05");
String t = System.currentTimeMillis() + "";
printCustomParamReq.setKey(key);
printCustomParamReq.setMethod(ApiInfoConstant.CLOUD_PRINT_CUSTOM_METHOD);
printCustomParamReq.setT(t);
printCustomParamReq.setSign(SignUtils.sign(new Gson().toJson(cloudPrintCustomParam)+t+key+secret));
printCustomParamReq.setParam(cloudPrintCustomParam);
CloudPrintCustom cloudPrintService = new CloudPrintCustom();
System.out.println(cloudPrintService.print(printCustomParamReq));
}
/**
* 云打印附件
*/
@Test
public void testCloudAttachment() throws Exception{
CloudPrintAttachmentReq cloudPrintAttachmentReq = new CloudPrintAttachmentReq();
CloudPrintAttachmentParam cloudPrintAttachmentParam = new CloudPrintAttachmentParam();
cloudPrintAttachmentParam.setSiid(siid);
cloudPrintAttachmentParam.setCallBackUrl("http://www.baidu.com");
String t = System.currentTimeMillis() + "";
cloudPrintAttachmentReq.setKey(key);
cloudPrintAttachmentReq.setMethod(ApiInfoConstant.CLOUD_PRINT_ATTACHMENT_METHOD);
cloudPrintAttachmentReq.setT(t);
cloudPrintAttachmentReq.setSign(SignUtils.sign(new Gson().toJson(cloudPrintAttachmentParam)+t+key+secret));
cloudPrintAttachmentReq.setParam(cloudPrintAttachmentParam);
cloudPrintAttachmentReq.setFile(new File("C:\\Users\\Administrator.-20171106WFEKLN\\Desktop\\1.png"));
CloudPrintAttachment cloudPrintAttachment = new CloudPrintAttachment();
System.out.println(cloudPrintAttachment.print(cloudPrintAttachmentReq));
}
/**
* 复打
*/
@Test
public void testCloudPrintOld() throws Exception{
PrintBaseReq<CloudPrintOldParam> printCustomParamReq = new PrintBaseReq<CloudPrintOldParam>();
CloudPrintOldParam cloudPrintOldParam = new CloudPrintOldParam();
cloudPrintOldParam.setTaskId("2B70DF2F433F64C4A8C6F23DD50368DC");
String t = System.currentTimeMillis() + "";
printCustomParamReq.setKey(key);
printCustomParamReq.setMethod(ApiInfoConstant.CLOUD_PRINT_OLD_METHOD);
printCustomParamReq.setT(t);
printCustomParamReq.setSign(SignUtils.sign(new Gson().toJson(cloudPrintOldParam)+t+key+secret));
printCustomParamReq.setParam(cloudPrintOldParam);
CloudPrintOld cloudPrintService = new CloudPrintOld();
System.out.println(cloudPrintService.print(printCustomParamReq));
}
完整的代码见快递100 GutHub:https://github.com/kuaidi100-api/java-demo