版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、u支付通微会员开发文档2014年07月28日中国支付通集团控股有限公司研发中心文档修订历史版本号日期说明作者/审阅V1.014.07.28文档创建Hang YJ目 录1.前言62.定义及名词解释62.1.weixinhy62.2.aop62.3.ggpt63.系统框架交互73.1.统交互流程图831.1基于Jersey通信84.简单介绍实现8举一个例子简单介绍94.1.AOP系统94.1.1 开发相应的*Request对象,9参考com.allinpay.api.request.UserInfoRequest94.1.2相应的Conntroller10使用ConnectToOpenServic
2、e对象,调用AOP系统。参考erceptor.NewSpringAuthSessionInterceptor104.1.2设置Response对象11参考com.allinpay.api.response.open.UserInfoResponse114.2.Ggpt系统124.2.1开发相应的*Request12参考com.allinpay.api.request.saleact.UserInfoRequest124.2.2Component处理类13参考com.allinpay.api.server.saleact.QueryService13
3、4.2.3Response返回类,15参考com.allinpay.api.response.saleact. TBrhMenuResponse154.3.配置的修改164.3.1为该接口新增接口配置16登陆csnew,录入接口信息16将接口绑定到app上174.3.2为该接口新增接口配置19修改ggpt Hperties,新增配置的接口信息191. 前言 本文档系支付通微会员开发文档介绍。2. 定义及名词解释在本文件中对于接口及流程的描述中使用了一些业务相关术语。这里对这些术语进行简要的说明。2.1. weixinhy微信公众帐号系统2.2.
4、 aop转发weixinhyj请求的系统。2.3. ggpt后台业务系统。3. 系统框架交互微会员 系统交互图3.1. 统交互流程图31.1基于Jersey通信基于Restful的Jersey通信的基本介绍/developerworks/cn/web/wa-aj-tomcat/index.html/s/blog_616e189f0100syu8.html4. 简单介绍实现举一个例子简单介绍4.1. AOP系统4.1.1 开发相应的*Request对象,参考com.allinpay.api.request.UserIn
5、foRequestpublic class UserInfoRequest extends BaseWxAllinpayRequst public String brhId;public String userWxNum;.get、set方法.Override/重写该方法,指定请求类的处理Pathpublic String getApiMethodName() return allinpay.ggpt.saleact.query.userinfo;4.1.2相应的Conntroller使用ConnectToOpenService对象,调用AOP系统。参考com.allinpay.weixin.
6、interceptor.NewSpringAuthSessionInterceptorpublic class NewSpringAuthSessionInterceptor . public WxUserInfo getUserInfo(HttpServletRequest request, HttpServletResponse response) .if(!userInfo.isRefuse()/初始化Request请求UserInfoRequest userInfoRequest = new UserInfoRequest();/设置请求参数userInfoRequest.setBrh
7、Id(brhId);userInfoRequest.setUserWxNum(userInfo.getUserWxNum();/初始化返回参数UserInfoResponse userInfoResponse = new UserInfoResponse();try /使用connectToOpenService对象,调用AOP系统userInfoResponse = connectToOpenService.excute(userInfoRequest); catch (ApiException e)logger.error(查询微信用户信息异常:+e.getMessage();userIn
8、fo.setMobile(userInfoResponse.getMobile();userInfo.setCustId(userInfoResponse.getCustId();userInfo.setStat(userInfoResponse.getStat();return userInfo;4.1.2设置Response对象参考com.allinpay.api.response.open.UserInfoResponsepublic class UserInfoResponse extends BaseWxAllinpayResponse private static final lo
9、ng serialVersionUID = -L;/使用ApiField注解,里面的内容必须和ggpt返回的xml名称相对应,并且访问修饰符必须是public/* 手机号 */ApiField(mobile)public String mobile;/* 用户ID */ApiField(cust_id)public String custId;/* 微信关注状态 0:未关注 1:关注未注册 2:取消关注 3:已注册 */ApiField(stat)public String stat;.getset方法.4.2. Ggpt系统4.2.1开发相应的*Request参考com.allinpay.a
10、pi.request.saleact.UserInfoRequest public class UserInfoRequest extends AopObject private static final long serialVersionUID = L;/新增validator标签NotEmpty(message = 机构微信号不能为空)private String brhId;NotEmpty(message = 用户微信号不能为空)private String userWxNum;.getset方法.4.2.2Component处理类参考com.allinpay.api.server.
11、saleact.QueryServicePOST/该Path对应aop的*Request中的getApiMethodName()中的路径Path(userinfo)public Response userInfo(MultivaluedMap formParams)(获取微会员用户信息接口开始);String format = formParams.getFirst(FORMAT);/该接口信息必须通过csnew平台维护/验证签名Response validate = aopValidation(formParams);if(validate != null)return
12、 validate;UserInfoRequest req = AopUtils.getBusinessRequest(formParams, UserInfoRequest.class);/校验入参SetConstraintViolation sets = ValidatorHolder.validate(req);if(sets.size() 0)for(ConstraintViolation v : sets )String code = 51;String msg = getMessage(code);return AopUtils.getBusinessErrorResponse(f
13、ormat, code, msg,code,v.getMessage();/机构号String brhId = req.getBrhId();/用户微信IDString userWxId = req.getUserWxNum();List userInfoList = new ArrayList();HashMap map = new HashMap();map.put(brhId, brhId);map.put(userWxId, userWxId);userInfoList = basicManager.selectUserInfo(map);UserInfoResponse respon
14、se = new UserInfoResponse();. .response.setRspCode(TXN_SUCCESS);(获取微会员用户信息接口结束);return AopUtils.getFormatResponse(format, response);4.2.3Response返回类,参考com.allinpay.api.response.saleact. TBrhMenuResponseXmlAccessorType(XmlAccessType.FIELD)XmlRootElement(name = ggpt_saleact_brhmenu_query_re
15、sponse)public class TBrhMenuResponse extends AopObject private static final long serialVersionUID = -L;/ 应答码,和aop解析的response值对应XmlElement(name = rsp_code)private String rspCode;/ 错误信息XmlElement(name = ret_msg)private String retMsg;XmlElementWrapper(name = brh_menu + ARRAYS_SUFFIX)XmlElement(name = brh_menu)public List brhMenuArrays;.get/set方法.4.3. 配置的修改4.3.1为该接口新增接口配置登陆csnew,录入接口信息将接口绑定到a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年全国人大代表建言:推动碳资产变资本加快建设统一碳市场
- 2026年生物质电厂设备维护检修标准化手册
- 2026届浙江省宁波市海曙区三校联考初三第二学期综合练习(一)化学试题含解析
- 2026届福建省郊尾、枫亭五校教研小片区市级名校初三下学期第一次阶段考试(5月)化学试题含解析
- 辽宁省辽阳县重点名校2026届广东中考全真生物试题模拟试卷含解析
- 2026年广西南宁市天桃实验校联盟测试化学试题含解析
- 四川省乐山市2026年初三第二次调查研究考试化学试题含解析
- 云南省涧南彝族自治县市级名校2026届初三第三次月考化学试题含解析
- 2026年江西省抚州市宜黄县达标名校下学期初三化学试题第三次统一练习试题含解析
- 2026年液晶电视机开关电源电路故障快速诊断
- 2026年六安职业技术学院单招职业适应性考试题库附答案详解(预热题)
- 2026天津市津南区事业单位招聘37人考试参考试题及答案解析
- 2026年南京机电职业技术学院单招职业适应性测试题库(含答案详解)
- 2026年春节后复工复产“开工第一课”安全生产培训课件
- 专题学习《改革开放简史》
- 地下车库消防系统施工方案
- 灵活用工人员安全培训课件
- 用电安全进校园宣传课件
- 2026年中国速冻水饺市场运行(产业链、市场规模、价格等)现状及未来发展趋势分析
- (新教材)2026年人教版一年级下册数学 第二单元 20以内的退位减法 整 理和复习 课件
- 2026年无锡科技职业学院单招综合素质考试必刷测试卷必考题
评论
0/150
提交评论