Appearance
POST /dm-store/storePermission/add
Content-Type: application/json
触发按钮:storePermissionAdd
入参
传递对象:StorePermissionVo
无
出参
传递对象:ResultData
无
前端校验规则
权限校验
├── 新增按钮权限
│ └── v-auth: 'inventory:storePermission:add:popup'
├── 表单校验
│ ├── user(userName/userCode)
│ │ └── required: true, trigger: change
│ └── storeNos(storeName/storeCode)
│ └── required: true, trigger: change
└── 提交拦截校验
└── approvalAction
└── this.$refs.form.validate 通过后才触发 addAction后端逻辑
业务流程:校验用户仓库权限是否重复 -> 按仓库拆分生成权限记录 -> 批量保存仓库权限
├── 校验重复权限 :81-91
│ ├── 查询已存在权限:list :87
│ ├── 条件:
│ │ ├── userAccount
│ │ ├── userName
│ │ ├── storeNo in storeNoList
│ │ └── isDelete=0
│ └── 已存在则终止新增
├── 按仓库拆分生成权限记录
│ └── 每个 storeNo 生成一条 store_permission 记录
└── 批量保存仓库权限
├── 切换仓储数据源:DynamicDataSourceContextHolder.push :99
├── 保存权限记录:saveOrUpdateBatch :100
└── 恢复数据源:DynamicDataSourceContextHolder.poll :101后端校验规则
业务唯一性校验
└── 校验同一用户账号+用户名称+仓库集合内任一仓库的未删除权限记录是否重复:save :80-91
├── 条件:isDelete=0,且 userAccount=请求用户账号,userName=请求用户名称,storeNo in storeNoList
└── ExceptionCode.EX90144涉及数据库表
| 库名.表名 | mapper.statement | 描述 |
|---|---|---|
| store.store_permission | StorePermissionMapper.insert | 新增storePermission数据 |