当前位置:网站首页>关于我仔细检查审核过关于工作人员页面,返回一个所属行业问题
关于我仔细检查审核过关于工作人员页面,返回一个所属行业问题
2022-08-05 00:11:00 【景行三千】
关于我仔细检查审核过关于工作人员页面,返回一个所属行业问题
事情是这样的,昨晚我收到了一个-所谓的小需求-工作人员页面,返回一个所属行业问题
于是记录一下。
首先数据库cd_workers表并没有行业字段,不可能通过普通的方法返回,确实存在一个人员类别id
但是,
原先的人员类别id来的奇怪,与数据库-人员类别 表-根本不照应,简单说就是全是错误的。关于这点,可以直接去看cd_workers表的gldgwid字段,再去cd_personnel_categories表对照,但是有一部分数据是对的,对的数据是在我写了人员类别表之后才对的,也就是说目前我估计80%的数据(就是所谓的原先的)是不对照的。也就是数据库前9页左右的数据是不对照的。
假设都正确了,那么通过-人员类别表-去拿到所属行业,单是拿到没问题(就是通过拿到gldgwid到cd_personnel_categories去拿所属行业),但是没法返回,原因是pageworkelist方法里返回值类型是cd_worker,为什么是cd_worker,因为必须要查这个表,这个页面是工作人员,所以所有的字段都是来自cd_worker,这也就是为什么代码查这个表,每一条数据就是cd_worker的所有字段,所以说可以返回cd_worker下的所有字段的数据,但是没有的字段没法返回,因为多返回的字段会造成类型不匹配,简单说就是不能这样(db.table(“cd_workers”).Find(&abc)),abc是一个比cd_workers多一个字段的切片。
听起来,那我们就只是再给cd_workers表新增一个Industry字段不就行了?
错,不只是,对工作人员模块,新增一个字段代价很大,需要去改相关的多个方法,例如crud,pagelist等等。以及有一个严重难点问题。起初的这个表是没有所属行业的,现在新增了一个,之前注册的账户怎么去拿到所属行业呢?你一定会说:去cd_personnel_categories表拿不就好了,错,前边说过,80%的数据都是错的,且不论这种方法能否实现,就假设实现会出现什么状况呢?对,80%的工作人员数据都将获得一个假的行业,什么意思呢,举例:同学a本来是工地下,干饭的,这个人员类别,因为之前错误的gldgwid而去拿就可能拿到一个挑粪的——人员类别。这可不就乱套了?本来是想获取所属行业的,现在却到好,行业不是自己的行业,人员类别也错了。
那么难道真的没有办法改进了吗?
当然不是,任何问题一定有解决办法,只是要付出代价,我们可以强行实现这个功能,也会有最小代价,但即便是最小代价,也很危险,来看下解决方法
如04所说,新增的工作人员以后都没什么问题,如果我们不去纠结之前的数据,本来其实也没什么人关注工作人员所属行业,大家不都是为了注册才写的这个登记信息的人员类别和所属行业,那么就改,现在说一下这种技术,在pageworkerlist方法下我们就可以去拿到所属行业了,并且返回的时候也不会报错是类型不匹配了。任务也就完成了,代价:新增一个字段,crud方法和pageworkerlist等可能更多方法需要对应改变,检查成本极大。其他潜在危险暂时没有发现。
边栏推荐
- 一、爬虫基本概念
- 再肝3天,整理了90个 NumPy 例子,不能不收藏!
- MongoDB权限验证开启与mongoose数据库配置
- 【七夕情人节特效】-- canvas实现满屏爱心
- 日志(logging模块)
- 子连接中的参数传递
- Develop a SpaceX website based on the Appian low-code platform
- KT148A voice chip ic working principle and internal architecture description of the chip
- [Cloud Native--Kubernetes] Pod Controller
- lua 如何 实现一个unity协程的工具
猜你喜欢
![[CVA Valuation Training Camp] Financial Modeling Guide - Lecture 1](/img/8b/360df9a9094037dc358cb21c60cdc8.png)
[CVA Valuation Training Camp] Financial Modeling Guide - Lecture 1

什么是次世代建模(附学习资料)

Senior game modelers tell newbies, what are the necessary software for game scene modelers?

Metasploit-域名上线隐藏IP

Develop a SpaceX website based on the Appian low-code platform

标识符、关键字、常量 和变量(C语言)

一、爬虫基本概念

Three tips for you to successfully get started with 3D modeling

典型相关分析CCA计算过程

Mysql_13 事务
随机推荐
看图识字,DELL SC4020 / SCv2000 控制器更换过程
leetcode经典例题——单词拆分
Basic web in PLSQL
仿网易云音乐小程序-uniapp
How to burn the KT148A voice chip into the chip through the serial port and the tools on the computer
安全软件 Avast 与赛门铁克诺顿 NortonLifeLock 合并案获英国批准,市值暴涨 43%
The role of the annotation @ EnableAutoConfiguration and how to use
The applicable scenarios and common product types of the KT148A electronic voice chip ic solution
Chinese and Japanese color style
简单的顺序结构程序(C语言)
NebulaGraph v3.2.0 Release Note, many optimizations such as the performance of querying the shortest path
lua 如何 实现一个unity协程的工具
Detailed explanation of common DNS resource record types
Ab3d.PowerToys and Ab3d.DXEngine Crack
2022牛客暑期多校训练营5(BCDFGHK)
数据类型-整型(C语言)
Security software Avast and Symantec NortonLifeLock merge with UK approval, market value soars 43%
Implementation principle of golang coroutine
Develop a SpaceX website based on the Appian low-code platform
资深游戏建模师告知新手,游戏场景建模师必备软件有哪些?