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. windows系统和ubuntu虚拟机之间文件共享——samba

    参考:http://www.cnblogs.com/phinecos/archive/2009/06/06/1497717.html 一. samba的安装: sudo apt-get insall  ...

  2. canvas的简单圆形进度条

    window.onload = function(){ function arc(canvas,number){ var canvas = document.getElementById(canvas ...

  3. IEnumerable和IEnumerable<T>接口

    IEnumerable和IEnumerable<T>接口 IEnumerable和IEnumerable<T>接口在.NET中是非常重要的接口,它允许开发人员定义foreach ...

  4. Servlet 之 HttpServlet

    package cn.jiemoxiaodi.http; import java.io.IOException; import javax.servlet.GenericServlet; import ...

  5. Java、JVM模型

    程序计数器:记录当前线程的执行位置(便于CPU切换线程的时候执行) 虚拟机栈:Java方法,方法从调用到执行完成对应一个栈帧从虚拟机栈入栈到出栈的过程. 本地方法区:Native方法(C++) 方法区 ...

  6. hibernate中HQL多对多的查询

    现有三张表 TLXPURCHASE.采购事项审批表,TLXPURCHASEACTIVITY.采购招标活动对应表,TLXACTIVITY.招标活动表,采购事项审批表和采购活动表是多对多关系.java中定 ...

  7. volatile关键字详解

    本文系转载,原文链接:http://www.cnblogs.com/Chase/archive/2010/07/05/1771700.html,如有侵权,请联系我:534624117@qq.com 引 ...

  8. hive2.1.0安装

    下载hive(http://mirrors.cnnic.cn/apache/hive/) 或者 http://archive.apache.org/dist/hive/(hive历史版本) 在本地进行 ...

  9. 本机tomcat的server.xml被还原的问题及解决办法

    将tomcat的server.xml进行修改,但当eclipse发布站点后,发布tomcat中的server.xml会被还原. 原因是eclipse会将自己的tomcat配置文件对tomcat覆盖,解 ...

  10. BestCoder Round #85(ZOJ1569尚未验证)

    A题 子序列和啊,就要想到前缀和的差.这个转换一定要!记着!那么i到j的一段子序列和Sij%m ==  0就等价于(Sj-Si-1)%m == 0 了,那么什么意思呢?就是如果有两段前缀和%m的模是一 ...