合同主体列表添加两条合同主体,返回合并支付页面,支付总弹"请选择合同主体",删除后,竟然还能支付(改合并支付页面的字段状态)
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,写出详细的复现步骤,跟正常的情况对比,比较正常和异常的区别
合同主体列表添加两条合同主体,返回合并支付页面,支付总弹"请选择合同主体",删除后,竟然还能支付(改合并支付页面的字段状态)的更多相关文章
- mybatis+oracle添加一条数据并返回所添加数据的主键问题
最近做mybatis+oracle项目的时候解决添加一条数据并返回所添加数据的主键问题 controller层 @RequestMapping("/addplan") public ...
- QTableView 一列添加两个按钮
在QTableView的一列里添加两个按钮,之前添加一个按钮的思路是一样的,只是计算了一下按钮的宽,放两个按钮而已. 添加一个按钮的例子:QTableView 添加按钮 本例源代码:QtTowButt ...
- Qt 杂记——QTableWidget列表添加、删除(备份)
1.列表的添加 需求:向一个有两列的Table中添加一条数据 思路:新建一个inputDialog,通过按钮打开Qt自带的inputDialog,传递回输入的数据,再添加到列表中 界面: 代码: in ...
- 详细介绍如何计算两条折线的交点并使用Echarts展示以及图表优化
1.背景 前段时间公司有个需求,需要在一个图表中展示两条折线,并且绘制出两条线的交点.为了满足需求大哥的需求,我也是着实想了有一会.下面我就把具体的实现过程给大家展示一下. 1.1.ECharts 简 ...
- struts2上传文件添加进度条
给文件上传添加进度条,整了两天终于成功了. 想要添加一个上传的进度条,通过分析,应该是需要不断的去访问服务器,询问上传文件的大小.通过已上传文件的大小, 和上传文件的总长度来评估上传的进度. 实现监听 ...
- poj 3177 Redundant Paths【求最少添加多少条边可以使图变成双连通图】【缩点后求入度为1的点个数】
Redundant Paths Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 11047 Accepted: 4725 ...
- iOS viewController添加导航条以及返回跳转选择
给单独的viewcontroller或者在Appdelegate的主页面添加导航条,只要在viewcontroller上添加navigationcontroller,在添加此navigationcon ...
- 动态sql语句,非存储过程,如何判断某条数据是否存在,如果不存在就添加一条
已知一个表 table 里面有两个字段 A1 和 A2 如何用动态语句 判断 A1 = A , A2=B 的数据是否存在,如果不存在,就添加一条数据, A1 = A , A2 = B INSERT ...
- Office WPS如何在页眉页脚添加一条横线
点击样式,页眉,修改 然后设置格式,可以添加一条或者两条横线,也可以设置不同的线型 最后效果如下图所示
随机推荐
- Spring @AspectJ 实现AOP 入门例子(转)
AOP的作用这里就不再作说明了,下面开始讲解一个很简单的入门级例子. 引用一个猴子偷桃,守护者守护果园抓住猴子的小情节. 1.猴子偷桃类(普通类): package com.samter.common ...
- Python之路,Day3 - Python基础3
一.文件操作 对文件操作流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 现有文件如下 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ...
- 《BuildingMachineLearningSystemsWithPython》学习笔记
BuildingMachineLearningSystemsWithPython Python机器学习入门 数据分析五个步骤 读取和清洗数据 探索和理解输入数据[我的理解是业务理解] 分析如何将算法应 ...
- 8-05分支结构CASE..END
语法: CASE WHEN 条件1 THEN 结果1 WHEN 条件2 THEN 结果2 ...ELSE 其他结果 END 执行顺序: 条件1成立执行结果1 条件2成立执行结果2 如果所有WH ...
- sqlmap和burpsuite绕过csrf token进行SQL注入检测
利用sqlmap和burpsuite绕过csrf token进行SQL注入 转载请注明来源:http://www.cnblogs.com/phoenix--/archive/2013/04/12/30 ...
- gcc命令中参数c和o混合使用的详解[转载]
gcc -c a.c 编译成目标文件a.o gcc -o a a.o 生成执行文件a.exe gcc a.c 生成执行文件a.exe gcc -o a -c a.c 编译成目标文件a gc ...
- .NET 农码一生
农码一生博文索引 http://www.cnblogs.com/zhaopei/p/Indexes.html 那些年搞不懂的术语.概念:协变.逆变.不变体 http://www.cnblogs.com ...
- 2015ACM/ICPC亚洲区沈阳站
5510 Bazinga 题意:给出n个字符串,求满足条件的最大下标值或层数 条件:该字符串之前存在不是 它的子串 的字符串 求解si是不是sj的子串,可以用kmp算法之类的. strstr是黑科技, ...
- iOS searchbar textfield placeholder color
// Get the instance of the UITextField of the search bar UITextField *searchField = [searchBar value ...
- Hibernate和IBatis对比
[转自]http://blog.csdn.net/ya2dan/article/details/7396598 项目也做过几个, 使用IBatis就做一个项目, 基本上都是使用Hibernate, 也 ...