市场法规清单添加直接发布按钮

This commit is contained in:
梁琦涛
2024-09-27 14:12:52 +08:00
parent 3c7aab8b99
commit 54e9a65326
3 changed files with 47 additions and 14 deletions
+2
View File
@@ -549,3 +549,5 @@ CREATE INDEX lutl_idx_create_time ON laws_unified_todo_log(`create_time`);
INSERT INTO `sys_dict_item` (`id`, `dict_id`, `parent_id`, `item_text`, `en_name`, `item_value`, `description`, `sort_order`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `is_tag_dict`, `is_read_only`, `attribute_type`, `del_flag`, `stat_node`, `en_base`) VALUES ('1694639979913162755', '1493098515761917954', '0', '多选用户弹框', 'Multiple selection a user', '19', '', 1, 1, 'admin', '2023-08-24 17:17:11', 'admin', '2023-08-24 17:41:25', NULL, 0, NULL, '0', NULL, NULL); INSERT INTO `sys_dict_item` (`id`, `dict_id`, `parent_id`, `item_text`, `en_name`, `item_value`, `description`, `sort_order`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `is_tag_dict`, `is_read_only`, `attribute_type`, `del_flag`, `stat_node`, `en_base`) VALUES ('1694639979913162755', '1493098515761917954', '0', '多选用户弹框', 'Multiple selection a user', '19', '', 1, 1, 'admin', '2023-08-24 17:17:11', 'admin', '2023-08-24 17:41:25', NULL, 0, NULL, '0', NULL, NULL);
update laws_tag set field_show_type = '19' where db_field_txt = '责任人' update laws_tag set field_show_type = '19' where db_field_txt = '责任人'
-- 2024-09-27 市场法规清单添加直接发布按钮
INSERT INTO `laws_chery_dev`.`sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `menu_en`, `app_id`, `home_icon`) VALUES ('897f89d79231fcb9019231fcb9ca0000', '897f89d79014d7fe019014d7fe2e0000', '直接发布', NULL, NULL, NULL, NULL, 2, 'marketStandard:directRelease', '1', 8.00, 0, NULL, 1, 1, 0, 0, NULL, 'ldq', '2024-09-27 13:38:19', NULL, NULL, 0, 0, '1', 0, 'Direct release', NULL, NULL);
@@ -203,10 +203,10 @@ public class MarketStandardController {
@PostMapping(value = "/publish") @PostMapping(value = "/publish")
@RequiresPermissions("marketStandard:publish") @RequiresPermissions("marketStandard:publish")
public Result<?> publish(@RequestBody Map<String, String> map) { public Result<?> publish(@RequestBody Map<String, String> map) {
if (!map.containsKey("id") || StringUtils.isEmpty(map.get("id"))) { if (!map.containsKey("ids") || StringUtils.isEmpty(map.get("ids"))) {
return Result.error(ResultCommon.SELECT_DATA); return Result.error(ResultCommon.SELECT_DATA);
} }
return marketStandardService.checkPublish(map.get("id")); return marketStandardService.checkPublish(map.get("ids"));
} }
/** /**
@@ -32,6 +32,7 @@ import org.jeecgframework.poi.excel.entity.ExportParams;
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.i18n.LocaleContextHolder;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.ModelAndView;
@@ -489,23 +490,53 @@ public class LawsMarketStandardServiceImpl extends ServiceImpl<LawsMarketStandar
} }
@Override @Override
public synchronized Result<?> checkPublish(String id) { public synchronized Result<?> checkPublish(String ids) {
LawsMarketStandard lawsMarketStandardOld = getById(id); List<String> listIds = Arrays.asList(ids.split(","));
if(Objects.isNull(lawsMarketStandardOld)){ List<LawsMarketStandard> lawsMarketStandardOldList = listByIds(listIds);
if(listIds.size() != lawsMarketStandardOldList.size()){
return Result.error(ResultCommon.NO_CORRESPONDING_DATA_FOUND); return Result.error(ResultCommon.NO_CORRESPONDING_DATA_FOUND);
} }
// 已发布的清单所有人都可以查看,未发布的数据只能作者和管理管查看、编辑、删除 StringBuilder msg = new StringBuilder();
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
if(!Arrays.asList(sysUser.getRoleIds().split(",")).contains(lawsAdmin) for (String listId : listIds) {
&& Arrays.stream(sysUser.getRoleIds().split(",")).noneMatch(otherAdmin::contains) Optional<LawsMarketStandard> op = lawsMarketStandardOldList.stream().filter(o->Objects.equals(o.getId(),listId)).findFirst();
&& !Arrays.asList(sysUser.getRoleIds().split(",")).contains(superAdmin) if(!op.isPresent()){
&& !Objects.equals(lawsMarketStandardOld.getAuthor(),sysUser.getId())){ continue;
return Result.error(ResultCommon.NO_PERMISSION); }
LawsMarketStandard lawsMarketStandard = op.get();
// 已发布的清单所有人都可以查看,未发布的数据只能作者和管理管查看、编辑、删除
if(!Arrays.asList(sysUser.getRoleIds().split(",")).contains(lawsAdmin)
&& Arrays.stream(sysUser.getRoleIds().split(",")).noneMatch(otherAdmin::contains)
&& !Arrays.asList(sysUser.getRoleIds().split(",")).contains(superAdmin)
&& !Objects.equals(lawsMarketStandard.getAuthor(),sysUser.getId())){
msg.append(lawsMarketStandard.getManifestNo())
.append(Objects.equals(LocaleContextHolder.getLocale(),Locale.ENGLISH)
? "No data operation permission," : "没有权限,");
continue;
}
if(Objects.equals(lawsMarketStandard.getManifestStatus(),MarketStandardConstants.MANIFEST_STATUS_PUBLISH)){
msg.append(lawsMarketStandard.getManifestNo())
.append(Objects.equals(LocaleContextHolder.getLocale(),Locale.ENGLISH)
? "Data published," : "数据已发布,");
continue;
}
try {
processMarketStandardReleaseService.checkProcessStatus(listId);
}catch (Exception e){
msg.append(lawsMarketStandard.getManifestNo())
.append("当前数据已发布的流程未结束,不可操作,");
}
} }
if(Objects.equals(lawsMarketStandardOld.getManifestStatus(),MarketStandardConstants.MANIFEST_STATUS_PUBLISH)){ if(!StringUtils.isEmpty(msg.toString())){
return Result.error(ResultCommon.DATA_PUBLISHED); return Result.error(msg.toString().substring(0,msg.toString().length() - 1));
} }
processMarketStandardReleaseService.checkProcessStatus(id); LambdaUpdateWrapper<LawsMarketStandard> updateLawsMarketStandard = new LambdaUpdateWrapper<>();
updateLawsMarketStandard.in(LawsMarketStandard::getId,listIds);
updateLawsMarketStandard.set(LawsMarketStandard::getUpdateBy,sysUser.getUsername());
updateLawsMarketStandard.set(LawsMarketStandard::getUpdateBy,new Date());
updateLawsMarketStandard.set(LawsMarketStandard::getManifestStatus,MarketStandardConstants.MANIFEST_STATUS_PUBLISH);
update(updateLawsMarketStandard);
return Result.OK(ResultCommon.OK); return Result.OK(ResultCommon.OK);
} }