关于一些常见智柜问题的分析及解决办法

竟然还有小伙伴感觉自研项目不好的小伙伴?

06f7ca88796246dc8558fc0e2e238272.png

渐渐感觉不管是在小公司或者在大公司,能有一个值得奋斗的远方就可以了,比如薪资高,钱多事少离家近,自己真的对自己目前做的事情感兴趣,否则干啥都感觉没劲,尤其是在国内这个大环境下,感觉干啥行业同行竞争的都很多,可能只有自己足够优秀才能远离一群LJ吧(包括你的领导)。

我是这样简单回答这个哥们的:

银行外包大多数下班挺早的,不过也看项目,就拿我在银行做的智能柜台项目来说吧,在北京某银行总行开发智能柜台项目,外包驻场开发,基本天天加班,周六也去,银行上班也比较早,一般需要8:30之前到工位并完成签到,外包有个不好的地方就是,公司属于乙方,钱是甲方(银行发),公司也要赚钱发展壮大上市,所以外包的性价比比较低,项目有可能安排的比较紧,搞不完的就得加班或者周六去干。周日很少上班是真的,一般加班没有加班费,(其实银行给公司是按照总工时计算的,给员工还是固定月薪,领导站在公司角度肯定会让你多加班赚银行的钱),这种项目一般来说比较耗时,智能柜台项目是采用敏捷式开发的,一般一个月一个迭代,不像瀑布式有个总得周日,一般开发加自测两周,sit测试一周,uat测试一周就基本完事了,自己在云桌面开发使用mock模拟数据。测试得去设备上测试,设备包含很多种,有分体式,便携式,立体式等,厂商也比较多,有长城,恒银,广电等,操作系统有windows,银河麒麟等,每次上版也保证都兼容,像密码键盘,读卡器,打印机等模块要自检。自从开发这些银行卡信息查询,爱心捐款,转账撤销,转账撤销,理财购买,理财风险评估,数字货币,我的理财等功能,我也是没有好好休息过,有400多家分行,有问题就在群里疯狂艾特你,还都得解决,需要一个狗屁不通的领导(出了问题日志都不会看,起码看看响应码,入参返回值,sp等)直接就艾特你,日志还不发你,让你自己去提取日志或者问分行要,我都TM服了,心态爆炸!所以外包弊端很大,还是自研项目好一点。打好基础,才能走的更远!加油,兄弟,看好你,搬砖人!!!!

2022年也许会好一点,因为二期五个迭代基本复杂的东西搞完了(理财,外币,综合签约,转账,数字货币等),三期相对轻松一点,一个迭代开发有3周时间,1周sit,4周uat,意思就是一个迭代两个月,保证质量交付即可!

最近心情确实感觉不太好,干不完的工作,开发任务紧,迭代周期快,每天还要解决生产问题及软硬件不同环境的问题,我TM心态爆炸,可能是玉不琢不成器吧,难道这就是大佬的孤独!最让我反感的是自己公司每天上下班要钉钉打卡,走到办公场所要刷脸打卡,使用云桌面还有ilist打卡,每天跟写日报似的,然后新项目经理没啥经验就瞎安排工作,搞得我白天开发应用,还得看各种分行群里生产问题(400多家分行,上千台设备),日志分析,硬件报错等,搞得都没时间开发自己的任务,有点怀疑人生到底是不是前端开发工程师啦!

b7e49d430bf5ad59f71be304fc46c182.png

下面步入正题,简单说一下常见智柜问题的分析及解决办法。

1. Q:硬件相关的问题?

A:如果是和硬件(密码键盘、读卡器、打印机等模块)相关的,可以分析一下日志,看一下API返回的错误码,API返回值方面,执行成功同一返回0;执行失败,返回的错误码会根据模块类别进行区分,如摄像头类别的错误码为 -1000开始,依次延续为-1002……等;读卡器类别的错误码为 -200开始,依次延续为-201……等;能够明确归为类别错误码的情况返回相应的类别错误码;不能明确归类的返回通用错误码。通用错误码为各模块接口均可能报出的错误,其错误的原因是各模块的公共软件环境出现错误,具体的可以查看错误码表。(有对应的说明及简单的措施建议)

a7c580990a95397b9aaccd746c45412d.png

2. Q:C端出现的问题?

A:首先向问题提出人索要出现问题设备对应时间出现问题的日志或者自己在对应环境的V端提取(设备有网络的情况下),可以先查看flow日志,根据用户出现问题的时间点和流水号去page.all日志中查找具体的报文(入参和返回值)看是否符合客观逻辑。不好定位的问题可以通过查看C端具体的报错的.VUE文件分析具体原因找对应的开发处理。

3. Q:生产上的问题?

A:我们可以去生产间查看日志,或者去7层设备旁的电脑提取对应设备的日志,或者问对应分行的人要日志,分析日志。(生产问题处理一般流程如下:业务给你的信息通常是设备号,业务类型(实时发群的问题),提单的一般会有业务流水号,客户基本信息,实时提的根据设备,大致时间,业务类型,去v端看电子流水,然后根据电子流水中的日志确认问题类型,比如设备故障,c处理问题,p端返回数据问题。如果是后端问题,可以根据c端流水号或业务跟踪码去查p端日志。如果是c端或者设备问题才有可能要c端日志)

开发人员要记每个接口的日志,在每个页面的进入、退出、判断及缓存的值可以多记日志。这个是查找生产问题的主要依据。

4. Q:UAT灰度发布?

A:先把对应分支的代码合到UAT或者单独关联对应分支的源码,提交表更单,CI(创建任务单),CD改版本号(部署),v端发灰度(推送对应设备),添加对应设备的策略管理。

5. Q:应用进入公共流程风险提示显示空白?

A:一般是应用获取不到token没有权限阅读,需要关闭桌面python服务,开启python服务再次进入应用就可以了。

     6.Q:根据日志中后端返回响应码查询后端对应接口的报错信息或者联系对应的开发人员查看对应的代码进行具体问题具体分析。

A:查看常见后端返回的响应码表查看对应接口常见的报错信息,看看是哪个系统返回的,需不需要其他系统支持,属于业务报错还是代码报错,需不需要修改等。

比如:客户信息查询证件号码不存在,这种属于正常现象。

7. Q:应用起不来?

  A:先在V端查看对应设备的设备号配置信息,一般来说V端要和设备的环境保持一致(特殊情况除外),查看设备号对应的配置信息,数据库连接信息,V端加密方式,ip,审核柜员等关键信息。

8. Q:启动服务失败,本机暂停服务?

A: 排查新监控端是否配置了该机具的相关信息. 在该系统添加相关终端信息.

9. Q:应用日志路径在什么位置?

A:Linux应用日志:/usr/KIOSK/Log/日期/APPLOG

  Windows应用日志:D:/KIOSK/Log/日期/APPLOG

在此路径下打开  front.flow_日期.log

07060da973a6cddb3105f1445d36d70b.png

好啦,本期内容就分享到这里,我们下期见!综合人员踩坑之路

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/357107.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

流绩效–您的想法

上周,我介绍了一些有关Java 8流性能的基准测试结果。 你们和gal足够感兴趣,可以留下一些想法,还有哪些可以介绍。 这就是我所做的,这是结果。 总览 最后一篇文章的序言也适用于此。 阅读它,以找出所有数字为何撒谎&a…

java中JVM的原理

一、java虚拟机的生命周期: Java虚拟机的生命周期 一个运行中的Java虚拟机有着一个清晰的任务:执行Java程序。程序开始执行时他才运行,程序结束时他就停止。你在同一台机器上运行三个程序,就会有 三个运行中的Java虚拟机。 Java虚…

2022将至,前端程序员们应该一起放个烟花庆祝一下,走起

前言:小时候,在我印象中,每到快过年的时候就有很多卖炮仗的,一般也就是阳历的12月份到明年的正月15号卖炮仗的商家比较多,省下买辣条的钱去买炮仗,在老家也就过年和除夕两天及正月15日这几天放烟花和炮仗比…

微信红包封面开放平台序列号

微信红包封面开放平台是一款可以领取微信红包封面的平台,最近网上非常流行好玩的微信红包封面,每一种封面都极具特色,让你的微信红包与众不同,还可以定制专属的微信红包封面,不过名额有限,这边为大家带来这…

ios多线程 -- NSOperation 简介

NSOperation的作⽤:配合使用NSOperation和NSOperationQueue也能实现多线程编程 NSOperation和NSOperationQueue实现多线程的具体步骤: 1)先将需要执行的操作封装到一个NSOperation对象中 2)然后将NSOperation对象添加到NSOpera…

在没有复杂插件的情况下从Eclipse启动和调试Tomcat

像Eclipse这样的现代IDE提供了各种插件来简化Web开发。 但是,我相信将Tomcat作为“常规” Java应用程序启动仍然可以提供最佳的调试体验。 大多数时候,这是因为这些工具将Tomcat或任何其他servlet容器作为外部进程启动,然后在其上附加一个远程…

【javascript高级教程】JavaScript 对象

JavaScript 中的所有事物都是对象:字符串、数值、数组、函数...及自定义对象 JavaScript 提供多个内建对象,比如 String、Date、Array 等等。 对象只是带有属性和方法的特殊数据类型。 布尔型可以是一个对象。数字型可以是一个对象。字符串也可以是一个…

php 字符串函数

函数名描述实例输入输出trim()删除字符串两端的空格和其他预定义字符 $str"\r\nHello\r\n"; echo trim($str) 目标字符串 清除后的字符串 rtrim()/chop() 删除字符串右边的空格或其他预定义字符 ltrim() 删除字符串左边的空格或其他预定义字符 …

Lucene分析过程指南

本文是我们名为“ Apache Lucene基础知识 ”的学院课程的一部分。 在本课程中,您将了解Lucene。 您将了解为什么这样的库很重要,然后了解Lucene中搜索的工作方式。 此外,您将学习如何将Lucene Search集成到您自己的应用程序中,以…

【JavaScript高级教程】JavaScript prototype(原型对象)

所有的 JavaScript 对象都会从一个 prototype(原型对象)中继承属性和方法。 function Person(first, last, age, eyecolor) {this.firstName first;this.lastName last;this.age age;this.eyeColor eyecolor; }var myFather new Person("John…

【javascript高级教程】JavaScript Number 对象

JavaScript 只有一种数字类型。可以使用也可以不使用小数点来书写数字。 var pi3.14; // 使用小数点 var x34; // 不使用小数点 极大或极小的数字可通过科学(指数)计数法来写: var y123e5; // 12300000 var z123e-5; // 0.0…

【leetcode】clone-graph

写在前面的话: 看了看自己的博客,从一月底开始就没怎么更新过,我也确实将近5个月没怎么写代码了。今天突然觉得有些心慌,感觉手都已经生疏了。果然,随便找了道题就卡住了。隐约感觉要用map但又不太记得用法了&#xff…

【javascript高级教程】JavaScript 字符串(String) 对象

String 对象用于处理已有的字符块。 JavaScript 字符串 一个字符串用于存储一系列字符就像 "John Doe". 一个字符串可以使用单引号或双引号: var carname"Volvo XC60"; var carnameVolvo XC60; 你使用位置(索引)可以…

Redis教程:NoSQL键值存储

课程大纲 Redis是使用ANSI C编写的具有可选持久性的开源,网络化,内存中键值数据存储。根据DB-Engines.com的月度排名,Redis是最受欢迎的键值存储。 它的名字意思是远程字典服务器。 Redis已获得BSD许可,并且通常被称为数据结构服…

java 里面eaquls和==区别

java中的数据类型,可分为两类: 1.基本数据类型,也称原始数据类型。byte,short,char,int,long,float,double,boolean 他们之间的比较,应用双等号(),比较的是他们的值。 2.复合数据类型(类) 当他们用…

【javascript高级教程】JavaScript Array(数组) 对象

数组对象的作用是:使用单独的变量名来存储一系列的值。 创建数组, 为其赋值: var mycars new Array(); mycars[0] "Saab"; mycars[1] "Volvo"; mycars[2] "BMW"; 什么是数组? 数组对象是使用单独的变量名来存储一…

Chrome 开发工具之Network

经常会听到比如"为什么我的js代码没执行啊?","我明明发送了请求,为什么反应?","我这个网站怎么加载的这么慢?"这类的问题,那么问题既然存在,就需要去解决它,需要…

【javascript高级教程】JavaScript Date(日期) 对象

日期对象用于处理日期和时间。 创建日期 Date 对象用于处理日期和时间。 可以通过 new 关键词来定义 Date 对象。以下代码定义了名为 myDate 的 Date 对象: 有四种方式初始化日期: new Date(); new Date(value); new Date(dateString); new Date(year, monthI…

实用常识_实用垃圾收集,第1部分–简介

实用常识这是我打算写的一系列博客文章的第一部分,其目的是解释垃圾回收在现实世界中如何工作(尤其是在JVM中 )。 我将介绍一些我认为对于充分理解垃圾收集对于实际目的是必需的理论,但是将其降至最低。 其动机是在各种情况下&…

重写AgileEAS.NET SOA 中间件平台账号密码的加密算法

一、平台简介 AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速开发应用平台。用于帮助中小型软件企业建立一条适合市场快速变化的开发团队,以达到节省开发成本、缩短开发时间,快速适应市…