当前位置: 首页 > news >正文

不用框架做网站怎么赚钱网上

不用框架做网站,怎么赚钱网上,网站建设培训学校北京,甘肃省崇信县门户网应用场景:存在银行卡和社保卡的支付、退货等接口,接口报文中使用transWay表示银行卡(0)和社保卡(1),transType表示支付(1)、退货(2)。那么由其组合…

应用场景:存在银行卡和社保卡的支付、退货等接口,接口报文中使用transWay表示银行卡(0)和社保卡(1),transType表示支付(1)、退货(2)。那么由其组合便能出现四个逻辑,所以要实现动态的逻辑分发。

domain

@Data
public class PosApiReq {/** 交易方式 **/private String transWay;/** 交易类型 **/private String transType;
}

service

  • 接口定义
public interface ICommonService {public Object handler(String json);
}
  • 银行卡消费
@Service
@CodeType("01")
public class BankConsumService implements ICommonService{@Overridepublic Object handler(String json) {System.out.println("银行卡消费开始:" + json);return "bank-consum";}
}
  • 银行卡退货
@Service
@CodeType("02")
public class BankRefundService implements ICommonService{@Overridepublic Object handler(String json) {System.out.println("银行卡退货开始:" + json);return "bank-refund";}
}
  • 社保卡消费
@Service
@CodeType("11")
public class SocConsumService implements ICommonService{@Overridepublic Object handler(String json) {System.out.println("社保卡消费开始:" + json);return "soc-consum";}
}
  • 社保卡退货
@Service
@CodeType("12")
public class SocRefundService implements ICommonService{@Overridepublic Object handler(String json) {System.out.println("社保卡退货开始:" + json);return "soc-refund";}
}

controller

@RestController
public class ServerController {private final Map<String, ICommonService> handlerMap = new HashMap<>();@Autowiredprivate void setHandler(List<ICommonService> commonServiceList) {for (ICommonService commonService : commonServiceList) {handlerMap.put(commonService.getClass().getAnnotation(CodeType.class).value(), commonService);}}@Anonymous@RequestMapping("/api")public Object api(@RequestBody PosApiReq posApiReq) {String transWay = posApiReq.getTransWay();String transType = posApiReq.getTransType();// 01 银行卡消费、02银行卡退货、11 社保卡消费、 12社保卡退货String value = transWay+transType;ICommonService commonService = handlerMap.get(value);Object object = commonService.handler(posApiReq.toString());return object;}
}

annotation

@Target(value={ElementType.TYPE, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface CodeType {String value();
}

此方式完美的解决了根据不通交易调用不通逻辑的问题,如果新添加一类交易,只需要扩展实现ICommonService 接口的新类就可以。

http://www.yayakq.cn/news/916579/

相关文章:

  • 网站建设 荆州举例说明网络营销的方法
  • 网站建设 数据库管理模版 网站需要多少钱
  • 邵阳 做网站公司东西湖网站建设公司
  • 淄博网站制作企业高端汽车网站建设开题报告
  • 微网站开发 课程标准合肥做网站建设
  • 关键词设定在网站上wordpress+左侧菜单
  • 辽宁省住房和城乡建设厅网站打不开网站设计的目的和功能
  • 有了网站源码怎么做app北京网站建设方案系统
  • 网站建设项目登记表番禺外贸型网站建设
  • 介绍网站ppt该怎么做公司网站建设应注意什么
  • 湖南建设监理官方网站网站整合营销推广
  • 网站建设报价单 非常好用的报价模板.docwordpress 手册 chm
  • 网站图片上传功能怎么做深圳市住房建设部网站
  • 丰台网站制作wordpress 七牛视频播放
  • 备案网站名称怎么写个人江西省赣州市地图
  • 网站字体特效代码最美情侣高清视频播放
  • 网络网站制作凡科互动游戏怎么破解
  • 秦皇岛网站设计制作怎么避免网站开发后门
  • 微信网站全称大气宽屏网站模板企业源码带后台
  • 知名的咨询行业网站制作做电子手抄报的网站
  • 建设企业网站可信度网站建设公司架构
  • 网站用自己的电脑做服务器国外网站注册软件
  • 河北省网站备案步骤二人对战的微信小程序
  • 太原正规的做定制网站制作杭州优化建筑设计
  • 江苏建设工程交易信息网站科技馆网站建设方案
  • 怎么做扒代码网站濮阳网站建设熊掌网络
  • 企业自有网站北京天奕时代创意设计有限公司
  • 建设厅证书查询网站石家庄网络关键词排名
  • 做网站jw100网站访问流程设计
  • 专业app制作平台seo关键词首页排名代发