• 合同主体列表添加两条合同主体,返回合并支付页面,支付总弹"请选择合同主体",删除后,竟然还能支付(改合并支付页面的字段状态)


    bug描述:

    操作步骤:
    1.进入“商标续展”产品详情页面,点击立即购买(数量设为2),进入合并订单界面,选择合同主体,点击全部,清空所有合同主体
    2.新建合同主体保存,设置该合同主体为默认合同主体,返回到合并订单界面
    3.点击“去支付”
    4.点击选择合同主体,选中刚刚新建的合同主体绑定到该订单
    5.删除该合同主体,再新建一个合同主体保存,并设置该合同主体为默认合同主体
    结果:
    第三步:提示“请选择合同主体”,不能支付
    第四步:能跳到支付界面,但是提示“合同信息不存在”
    期望:
    第三步:应该能支付
    第四步:支付时应不提示“合同信息不存在”

    遇到的问题:

    1.Q:选择了项目,合并支付页面下面却没有订单

     A:账号问题,擦擦擦问问同事就知道了!!!有测试环境专用的账号

    我修改了pay方法(点击支付会调用),加了一个字符串变量,记录sectionHeader里面的变化

    sectinHeader对应的变量:

    修改pay方法里面的调用逻辑,if else条件,用字符串变量,控制,解决了"第三步,不能支付"的问题

    Q:支付时候提示"合同信息不存在"

    A:通过断点,跟踪调试,

      最开始的发现点击cell可以正常支付,

      点选"默认"返回支付就会报错,

      正常的操作究竟做了些啥呢? 1.请求绑定的接口 2.发通知

      于是我让点默认的时候也做这两件事, 

      原来点默认的时候发了另外一个通知叫做"moren",我现在直接不让它发这个通知了,只发点cell的通知???原来的通知直接不发了? 原来的通知永远都不发了

      后来发现支付有时候仍然报错"合同信息不存在"

      昨天快下班才发现,我在合同主体列表点选"默认"的时候已经请求过绑定的接口了,在合并支付页面不需要再请求这个接口了

      我把合并支付页请求接口的代码注释掉就好了.

    Q:删除合同主体,返回,仍然能支付,应该是不能支付的

    A:在合并支付页面,收到通知后调用的方法里面将一个属性置为0  只有删除的是选中的合同主体才发删除的通知,删除非选中的不会发通知 这里有问题???还要别的地方改动么??

    如果开始没有默认的,添加了几条,删除几条,支付是没问题的

    如果开始没有默认的,添加了几条,删除几条,点cell设置默认,支付应该也是没问题的

      为了实现在删除合同以后,点击支付弹窗提示,我在pay方法里面做了如下拦截:

    isDeleteSelectedContrack这个变量是为了控制从购物车页面来到这个页面,不弹alert

    总结:

    1.使用变量,记录状态,变量用于在按钮点击的时候做判断,

    2.在广播回调传递的字典里面添加键值对,同一个广播可以有不同的状态

    3.使用NSObject分类发出网络请求,有啥好处? 到处都可以发请求,为啥不直接用网络单例呢?

    4.封装的网络请求只有成功的回调,错误的回调统一处理,不知道为啥这么写:

    5.可以复现的Bug,写出详细的复现步骤,跟正常的情况对比,比较正常和异常的区别

  • 相关阅读:
    2020年12月15日Java学习日记
    2020年12月12日Java学习日记
    2020年12月10日Java学习日记
    2020年12月8日Java学习日记
    2020年12月4日Java学习日记
    2020年12月1日Java学习日记
    2020年11月30日Java学习日记
    2020年11月27日Java学习日记
    2020年11月26日Java学习日记
    B. Navigation System【CF 1320】
  • 原文地址:https://www.cnblogs.com/tufei7/p/6104332.html
Copyright © 2020-2023  润新知