Appearance
POST /dm-store/processModel/add
Content-Type: application/json
触发按钮:processModelAdd
入参
无
出参
传递对象:ResultData
无
前端校验规则
权限校验
├── 新增按钮权限
│ └── v-auth: 'information:processModel:add:popup'
├── 表单校验
│ ├── lineNo
│ │ └── required: true, trigger: change
│ ├── modelCode
│ │ ├── required: true, trigger: blur
│ │ └── 长度限制:最大 100
│ ├── modelName
│ │ ├── required: true, trigger: blur
│ │ └── 长度限制:最大 100
│ └── brand
│ ├── required: true, trigger: blur
│ └── 长度限制:最大 100
├── 提交拦截校验
│ └── approvalAction
│ └── this.$refs.form.validate 返回 valid=true 时才触发 addAction;未通过时直接拦截
└── 字段编辑权限控制
└── productLineName
└── disabled: true后端逻辑
业务流程:校验机型唯一性 -> 生成机型编号 -> 保存产品机型
├── 校验机型唯一性:ProductModelServiceImpl.validData :141
│ ├── 校验机型名称唯一:ProductModelServiceImpl.checkProductModelNameExist :160
│ │ └── 查询未删除同名机型 :183-185
│ │ └── 条件:
│ │ ├── modelName
│ │ └── isDelete=0
│ └── 校验机型编码唯一:ProductModelServiceImpl.checkProductModelCodeExist :166
│ └── 查询未删除同编码机型 :199-201
│ └── 条件:
│ ├── modelCode
│ └── isDelete=0
├── 生成机型编号:RedisService.getCommonSeqNo :143
│ ├── RedisKey: COMMON_SEQ_PREFIX:CODE:PRODUCT_MODEL
│ ├── 编号规则
│ │ └── 6位流水号
│ └── 获取全局流水:GlobalSerialClient.getAndIncrment :32
│ └── 全局流水递增:GlobalSerialServiceImpl.getAndIncrment :23-38
│ ├── Redis锁:RedisLockUtil.tryLock :25
│ ├── 查询当前流水:GlobalSerialMapper.getCurrentValue :27
│ ├── 首次创建流水
│ │ └── GlobalSerialMapper.insert :30
│ └── 已有流水
│ └── GlobalSerialMapper.updateCurrentValue :35
├── 绑定机型编号
└── 保存产品机型:save :146后端校验规则
业务唯一性校验
├── 校验产品机型名称是否重复:validData :158-164
│ ├── 判定条件:存在 is_delete=0 且 model_name=入参名称 的记录
│ └── StoreExceptionCode.EX201022
└── 校验产品机型编码是否重复:validData :166-170
├── 判定条件:存在 is_delete=0 且 model_code=入参编码 的记录
└── StoreExceptionCode.EX201023涉及数据库表
| 库名.表名 | mapper.statement | 描述 |
|---|---|---|
| process_model | ProcessModelMapper.insert | 新增processModel数据 |