• 公司的机票返利项目总结


    背景是结算员通过BI、report下载商旅机票现付订单的结算数据,然后人工计算返利。通过该项目可以1)从大系统导入现付机票订单 2)对导入的订单根据规则自动计算返利。

    项目技术使用有VS2010,SqlServer2008,JobWS,基于SOA的WebService和对原有的SSIS包进行改造。

    项目的前期有我们3个人开发,主要技术难点

    1. SOA接口,接口是大系统组的人提供,本身有不稳定的因素

    2. JobWS技术应用,接口1查询前两天的订单列表。接口2查询每个订单的详细记录。把符合条件记录放入到List的内存中,对List进行循环,1)通过订单号查询其他的一些字段信息2)调用SP保存订单记录

    3. 返利计算规则复杂,政策有固定比率和阶梯比率;阶梯有计量的概念;订单又有自己返利的规则

    4. 需要对现有的月结订单表记录进行操作,月结订单表数据量在800W左右,查询操作会慢,而且不能通过非聚集索引来解决

    5. 之前有酒店返利的项目,机票返利项目是参照酒店返利项目做的,有很多表都是公用的,如实际返利表,预付返利表,返利日志审核表。容易混淆。

    项目开发中遇到的主要问题

    1.接口不稳定,上生产环境的第一天因为接口查询速度慢,导致了查询异常;接口被其他人修改,产生了一个属性调用的问题,导致了接口报错。

    2.JobWS在运行中有的时候出现一些莫名的报错。

    3.计算返利的SP超时

    4.由于测试的原因,保存的机票字段有些不正确,上线后才发现。主要是调用接口的字段,SP字段类型的定义,取数逻辑本身有问题。

    5.上线后没有计算账户返利金额。后来查询的原因是机票返利和酒店返利用的同一张表, 酒店返利SSIS包是后面跑的,把返利周期的机票返利金额给冲掉了。

    6.计算的返利金额值有问题,有的情况已经有计算触发点的没有计算

    7.转移订单和计算其他费用,需要计算返利,对月结订单表FltOrders操作,导致了操作超时

    得到的一些教训和总结

    1. 事先对于JobWS增加一些操作日志,方便问题查找

    1) 正常的操作日志,如晚上是不是正常跑,正常结束

    2) Webservice调用日志,因为WebService返回的错误信息无法通过try,catch获取,所以需要对内部返回的XML信息进行判断和记录

    3) 时间监控日志,觉得有效率问题的操作步骤,在前后加一个时间戳,记录它的操作时间

    2. 对于大系统提供的接口,自身也要通过页面测试。每一个字段都要在大系统找到对应的页面信息,减少接口产生的bug

    3. 表结构定义的时候,遵循扩展的原则,不对原有的表结构进行修改

    4. 对现有的系统进行评估,看看是否存在问题

    5. 对于执行长的SP,增加日志,查看相关的执行时间

  • 相关阅读:
    Java类的访问权限
    安卓文件的保存路径问题
    Android 关于android.os.Build介绍
    java,安卓之信息的输出
    20141211
    20141208
    20141206
    20141203
    最近需要学习的东东
    Android:用代码修改一行文字中某几个字的颜色
  • 原文地址:https://www.cnblogs.com/chinaagan/p/2908691.html
Copyright © 2020-2023  润新知