开发者社区> 问答> 正文

第二题 查询结果Result是需要包含买家和商品信息?

/**
   * 查询订单号为orderid的指定字段
   *
   * @param orderid
   *          订单号
   * @param keys
   *          待查询的字段,如果为null,则查询所有字段,如果为空,则排除所有字段
   * @return 查询结果,如果该订单不存在,返回null
   */
  Result queryOrder(long orderId, Collection<String> keys);


/**
   * 查询某位卖家某件商品所有订单的某些字段
   *
   * @param salerid 卖家Id
   * @param goodid 商品Id
   * @param keys 待查询的字段,如果为null,则查询所有字段,如果为空,则排除所有字段
   * @return 符合条件的订单集合,按照订单id从小至大排序
   */
  Iterator<Result> queryOrdersBySaler(String salerid, String goodid,
      Collection<String> keys);

问题1: 这两个接口都可以指定字段,这个字段是会包括买家信息和商品信息里等字段么,还是只在交易信息里的字段?如果是的话,那查询所以字段要包括对应的买家和商品信息里等字段咯。
第一个接口里文档有说可能要查询不在交易记录中的字段,但第二个没说明。


  /**
   * 查询某位买家createtime字段从[startTime, endTime) 时间范围内发生的所有订单的所有信息
   *
   * @param startTime 订单创建时间的下界
   * @param endTime 订单创建时间的上界
   * @param buyerid
   *          买家Id
   * @return 符合条件的订单集合,按照createtime大到小排列
   */
  Iterator<Result> queryOrdersByBuyer(long startTime, long endTime,
      String buyerid);

问题2: 这个接口返回的结果是需要包含对应的买家信息和商品信息字段么?还是只包含订单信息?


/**
   * 对某件商品的某个字段求和,只允许对long和double类型的KV求和 如果字段中既有long又有double,则使用double
   * 如果求和的key中包含非long/double类型字段,则返回null 如果查询订单中的所有商品均不包含该字段,则返回null
   *
   * @param goodid 商品Id
   * @param key 求和字段
   * @return 求和结果
   */
  KeyValue sumOrdersByGood(String goodid, String key);
问题3:这个接口指定字段,对某件商品所有交易信息求和。这个字段涉及到买家信息和商品信息里等字段么?还是仅仅是交易信息里的字段。


问题4:测试程序可能查询不存在到orderId,goodId对么?


问题有点多。。。麻烦官方人员了。

展开
收起
只会写BUG 2016-06-29 00:07:46 3277 0
2 条回答
写回答
取消 提交回答
  • 目前就职于阿里云数据库团队,阿里云自研云原生数据仓库 AnalyticDB 优化器负责人,HBase/Cassandra contributor。
    回 1楼中间件那珂的帖子
    谢谢
    2016-06-29 11:19:11
    赞同 展开评论 打赏
  • 问题一:是的,这些字段可能会包含买家信息和商品信息里面的字段。可以理解为一个join操作
    问题二:是的,包括
    问题三:是的,可能对涉及到的买家信息或者商品信息求和
    问题四:可能查询不存在的orderid,goodid
    2016-06-29 10:59:05
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载