市场法规清单添加直接发布按钮
This commit is contained in:
+2
-2
@@ -203,10 +203,10 @@ public class MarketStandardController {
|
||||
@PostMapping(value = "/publish")
|
||||
@RequiresPermissions("marketStandard:publish")
|
||||
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 marketStandardService.checkPublish(map.get("id"));
|
||||
return marketStandardService.checkPublish(map.get("ids"));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+43
-12
@@ -32,6 +32,7 @@ import org.jeecgframework.poi.excel.entity.ExportParams;
|
||||
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.context.i18n.LocaleContextHolder;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
@@ -489,23 +490,53 @@ public class LawsMarketStandardServiceImpl extends ServiceImpl<LawsMarketStandar
|
||||
}
|
||||
|
||||
@Override
|
||||
public synchronized Result<?> checkPublish(String id) {
|
||||
LawsMarketStandard lawsMarketStandardOld = getById(id);
|
||||
if(Objects.isNull(lawsMarketStandardOld)){
|
||||
public synchronized Result<?> checkPublish(String ids) {
|
||||
List<String> listIds = Arrays.asList(ids.split(","));
|
||||
List<LawsMarketStandard> lawsMarketStandardOldList = listByIds(listIds);
|
||||
if(listIds.size() != lawsMarketStandardOldList.size()){
|
||||
return Result.error(ResultCommon.NO_CORRESPONDING_DATA_FOUND);
|
||||
}
|
||||
// 已发布的清单所有人都可以查看,未发布的数据只能作者和管理管查看、编辑、删除
|
||||
StringBuilder msg = new StringBuilder();
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
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(lawsMarketStandardOld.getAuthor(),sysUser.getId())){
|
||||
return Result.error(ResultCommon.NO_PERMISSION);
|
||||
for (String listId : listIds) {
|
||||
Optional<LawsMarketStandard> op = lawsMarketStandardOldList.stream().filter(o->Objects.equals(o.getId(),listId)).findFirst();
|
||||
if(!op.isPresent()){
|
||||
continue;
|
||||
}
|
||||
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)){
|
||||
return Result.error(ResultCommon.DATA_PUBLISHED);
|
||||
if(!StringUtils.isEmpty(msg.toString())){
|
||||
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);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user