虚拟清单增加创建者权限校验
This commit is contained in:
+3
-2
@@ -119,8 +119,9 @@ public class DummyInventoryBaseEOController extends JeroController<DummyInventor
|
||||
@AutoLog(value = "虚拟清单基础表-通过id删除")
|
||||
@ApiOperation(value="虚拟清单基础表-通过id删除", notes="虚拟清单基础表-通过id删除")
|
||||
@DeleteMapping(value = "/delete")
|
||||
public Result<?> delete(@RequestParam(name="id",required=true) String id) {
|
||||
dummyInventoryBaseEOService.deleteById(id);
|
||||
public Result<?> delete(@RequestParam(name="id",required=true) String id,
|
||||
@RequestParam(name="cut",required=true) String cut) {
|
||||
dummyInventoryBaseEOService.deleteById(id,cut);
|
||||
return Result.OK("删除成功!");
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -44,7 +44,7 @@ public interface IDummyInventoryBaseEOService extends IService<DummyInventoryBas
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
void deleteById(String id);
|
||||
void deleteById(String id,String cut);
|
||||
|
||||
/**
|
||||
* 批量删除
|
||||
|
||||
+60
-3
@@ -113,6 +113,26 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl<DummyInventoryB
|
||||
*/
|
||||
@Override
|
||||
public void editById(DummyInventoryBaseEO dummyInventoryBaseEO) {
|
||||
DummyInventoryBaseEO baseEO = queryById(dummyInventoryBaseEO.getId());
|
||||
List<String> createByNameList =new ArrayList<>();
|
||||
if (StringUtils.isNotBlank(dummyInventoryBaseEO.getCreateBy())) {
|
||||
createByNameList = Arrays.asList(dummyInventoryBaseEO.getCreateBy().split(","));
|
||||
|
||||
if (CollectionUtils.isNotEmpty(createByNameList)) {
|
||||
// 增加创建者校验
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
String loginUserName = sysUser.getUsername();
|
||||
|
||||
if (!baseEO.getCreateBy().contains(loginUserName)) {
|
||||
if (CutEnum.CN.getValue().equals(dummyInventoryBaseEO.getCut())) {
|
||||
throw new JeroBootException("当前用户非创建者,无法编辑");
|
||||
} else {
|
||||
throw new JeroBootException("The current user is not the creator and cannot be edited.");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Date now = new Date();
|
||||
dummyInventoryBaseEO.setUpdateTime(now);
|
||||
saveOrUpdate(dummyInventoryBaseEO);
|
||||
@@ -127,7 +147,25 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl<DummyInventoryB
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public void deleteById(String id) {
|
||||
public void deleteById(String id,String cut) {
|
||||
// 创建者校验
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
String loginUserName = sysUser.getUsername();
|
||||
|
||||
String createById = queryById(id).getCreateBy();
|
||||
List<String> creatByIdList = Arrays.asList(createById.split(","));
|
||||
|
||||
if (CollectionUtils.isNotEmpty(creatByIdList)) {
|
||||
for(String createBy : creatByIdList){
|
||||
if (!loginUserName.equals(createBy)) {
|
||||
if (CutEnum.CN.getValue().equals(cut)) {
|
||||
throw new JeroBootException("当前用户非所有选择的数据的创建者,无法删除");
|
||||
}else{
|
||||
throw new JeroBootException("The current user is not the creator of all selected data, and cannot be deleted.");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
removeById(id);
|
||||
}
|
||||
|
||||
@@ -247,7 +285,27 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl<DummyInventoryB
|
||||
@Override
|
||||
@Transactional
|
||||
public void issue(DummyInventoryBaseEO dummyInventoryBaseEO){
|
||||
this.updateById(dummyInventoryBaseEO);
|
||||
// 增加创建者校验
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
String loginUserName = sysUser.getUsername();
|
||||
|
||||
DummyInventoryBaseEO baseEO = queryById(dummyInventoryBaseEO.getId());
|
||||
List<String> createByNameList =new ArrayList<>();
|
||||
if (StringUtils.isNotBlank(baseEO.getCreateBy())) {
|
||||
createByNameList = Arrays.asList(baseEO.getCreateBy().split(","));
|
||||
|
||||
if (CollectionUtils.isNotEmpty(createByNameList)){
|
||||
if (!createByNameList.contains(loginUserName)) {
|
||||
if (CutEnum.CN.getValue().equals(dummyInventoryBaseEO.getCut())) {
|
||||
throw new JeroBootException("当前用户非创建者,无法发布");
|
||||
} else {
|
||||
throw new JeroBootException("The current user is not the creator and cannot be issued.");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// this.updateById(dummyInventoryBaseEO);
|
||||
//不管有没有维护清单,都返回操作成功
|
||||
//发布与撤回均需要发消息(向订阅的人员发消息)
|
||||
//首次发布不发消息
|
||||
@@ -351,7 +409,6 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl<DummyInventoryB
|
||||
//向订阅该领域管理的人发消息和飞书
|
||||
sendMsg(baseDiff, dummyContentChangeEOBaseList.get(0).getConnectId(), contentLog,dummyInventoryBaseEO.getState(),dummyInventoryBaseEO.getCut());
|
||||
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
//5.数据对比完成后.更新之前保存的dummy_inventory_info中的content_json数据,重新保存最新的数据
|
||||
if(MapUtils.isNotEmpty(baseDiff)){//列表有不同字段
|
||||
String base = JSONArray.toJSONString(dummyInventoryBaseEOList);
|
||||
|
||||
+2
-2
@@ -263,9 +263,9 @@ public class OcrRecordEOController extends JeroController<OcrRecordEO, IOcrRecor
|
||||
|
||||
}else {
|
||||
if (CutEnum.CN.getValue().equals(cut)) {
|
||||
return Result.error("当前用户非创建者,无法下载");
|
||||
return Result.error("当前用户非创建者,无法删除");
|
||||
}else{
|
||||
return Result.error("The current user is not the creator and cannot be downloaded.");
|
||||
return Result.error("The current user is not the creator and cannot be deleted.");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user