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,写出详细的复现步骤,跟正常的情况对比,比较正常和异常的区别

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

  1. mybatis+oracle添加一条数据并返回所添加数据的主键问题

    最近做mybatis+oracle项目的时候解决添加一条数据并返回所添加数据的主键问题 controller层 @RequestMapping("/addplan") public ...

  2. QTableView 一列添加两个按钮

    在QTableView的一列里添加两个按钮,之前添加一个按钮的思路是一样的,只是计算了一下按钮的宽,放两个按钮而已. 添加一个按钮的例子:QTableView 添加按钮 本例源代码:QtTowButt ...

  3. Qt 杂记——QTableWidget列表添加、删除(备份)

    1.列表的添加 需求:向一个有两列的Table中添加一条数据 思路:新建一个inputDialog,通过按钮打开Qt自带的inputDialog,传递回输入的数据,再添加到列表中 界面: 代码: in ...

  4. 详细介绍如何计算两条折线的交点并使用Echarts展示以及图表优化

    1.背景 前段时间公司有个需求,需要在一个图表中展示两条折线,并且绘制出两条线的交点.为了满足需求大哥的需求,我也是着实想了有一会.下面我就把具体的实现过程给大家展示一下. 1.1.ECharts 简 ...

  5. struts2上传文件添加进度条

    给文件上传添加进度条,整了两天终于成功了. 想要添加一个上传的进度条,通过分析,应该是需要不断的去访问服务器,询问上传文件的大小.通过已上传文件的大小, 和上传文件的总长度来评估上传的进度. 实现监听 ...

  6. poj 3177 Redundant Paths【求最少添加多少条边可以使图变成双连通图】【缩点后求入度为1的点个数】

    Redundant Paths Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 11047   Accepted: 4725 ...

  7. iOS viewController添加导航条以及返回跳转选择

    给单独的viewcontroller或者在Appdelegate的主页面添加导航条,只要在viewcontroller上添加navigationcontroller,在添加此navigationcon ...

  8. 动态sql语句,非存储过程,如何判断某条数据是否存在,如果不存在就添加一条

    已知一个表 table 里面有两个字段  A1 和 A2 如何用动态语句 判断 A1 = A , A2=B 的数据是否存在,如果不存在,就添加一条数据, A1 = A , A2 = B INSERT  ...

  9. Office WPS如何在页眉页脚添加一条横线

    点击样式,页眉,修改   然后设置格式,可以添加一条或者两条横线,也可以设置不同的线型   最后效果如下图所示  

随机推荐

  1. php生成随机字符串

    <?php echo make_random_str(); function make_random_str() { $arr = ["A","B",&q ...

  2. PHP PHPUnit的简单使用

    1.window安装pear的教程:http://jingyan.baidu.com/article/ca41422fd8cf3d1eae99ed3e.html 2.在工作目录下,放两个文件: 1)C ...

  3. 【Network】UDP 大包怎么发? MTU怎么设置?

    这里主要用UDP来发送视频,当发送的数据大于1500时分包发送,保证每包小于1500.发送好办,分割后循环发就可以了,关键是接收时的处理.先做一下处理的方法 :发送时每包上面加上标识,比如RTP的做法 ...

  4. Web前端学习笔记:Bootstrap框架

    很久之前就有很多人给我推荐twitter的Bootstrap框架,但是直到前几天我才真正学习了下Bootstrap,的确是相当棒的框架,至少从视觉体验上超越了很多以前碰到了前端UI框架.今天我要聊聊B ...

  5. Magento 新增字段的值读写丢失原因

    某实体新增字段handreturn_status,欲操作之: $order_info = Mage::getModel('sales/order')->load($order_id); //se ...

  6. HTML CSS SPRITE 工具

    推荐一个CSS SPRITE工具 网盘分享:http://pan.baidu.com/s/1sjx7cZV

  7. webservice发布服务:AXIS2及客户端调用

    1.Axis2: 到官网下载axis2的压缩包. 解压后: 1.将lib文件下的jar包复制到项目中 2.在web-inf下创建services->META-INF->services.x ...

  8. AngularJS 表单

    AngularJS 表单是输入控件的集合. HTML控件 以下 HTML input 元素被称为 HTML 控件: input 元素 select 元素 button 元素 textarea 元素 H ...

  9. error-unable-to-access-the-iis-metabase或者无法加载VS项目中的网站

    参考:http://stackoverflow.com/questions/12859891/error-unable-to-access-the-iis-metabase 1.确定IIS是否安装完整 ...

  10. Jetty使用教程(四:28-30)—Jetty开发指南

    二十八.延续机制支持 28.1 延续简介 延续是一种机制用来实现类似于Servlet 3.0异步功能的异步Servlet,但提供了一个简单易操作的接口. 28.1.1 为什么使用异步Servlets ...