diff --git a/xm-core/src/main/java/com/xm/core/ctrl/XmIterationMenuController.java b/xm-core/src/main/java/com/xm/core/ctrl/XmIterationMenuController.java index 76507627..f16d30e0 100644 --- a/xm-core/src/main/java/com/xm/core/ctrl/XmIterationMenuController.java +++ b/xm-core/src/main/java/com/xm/core/ctrl/XmIterationMenuController.java @@ -7,18 +7,19 @@ import com.mdp.mybatis.PageUtils; import com.mdp.safe.client.entity.User; import com.mdp.safe.client.utils.LoginUtils; import com.xm.core.entity.XmIterationMenu; +import com.xm.core.entity.XmMenu; import com.xm.core.service.XmIterationMenuService; +import com.xm.core.service.XmMenuService; import com.xm.core.service.push.XmMenuPushMsgService; import io.swagger.annotations.*; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; +import java.util.stream.Collectors; /** * url编制采用rest风格,如对XM.xm_iteration_menu 迭代定义的操作有增删改查,对应的url分别为:
@@ -46,7 +47,8 @@ public class XmIterationMenuController { @Autowired XmMenuPushMsgService xmMenuPushMsgService; - + @Autowired + XmMenuService xmMenuService; @ApiOperation( value = "查询迭代定义信息列表",notes="listXmIterationMenu,条件之间是 and关系,模糊查询写法如 {studentName:'%才哥%'}") @ApiImplicitParams({ @@ -201,21 +203,31 @@ public class XmIterationMenuController { if(xmIterationMenus==null || xmIterationMenus.size()==0) { }else { - + List menuIds=new ArrayList<>(); for (XmIterationMenu xmIterationMenu : xmIterationMenus) { xmIterationMenu.setCtime(new Date()); xmIterationMenu.setRelStatus("1"); xmIterationMenu.setId(xmIterationMenuService.createKey("id")); + menuIds.add(xmIterationMenu.getMenuId()); } - xmIterationMenuService.batchInsert(xmIterationMenus); - - User user = LoginUtils.getCurrentUserInfo(); + List menus=xmMenuService.selectExistIterationMenus(menuIds); + if(menus!=null && menus.size()>0){ + List menuNames = menus.stream().map(XmMenu::getMenuName).collect(Collectors.toList()); + String menusNameStr=StringUtils.arrayToDelimitedString(menuNames.toArray(),","); + tips.setFailureMsg("以下故事已加入本迭代计划,不能重复加入。"+menusNameStr); + }else{ + xmIterationMenuService.batchInsert(xmIterationMenus); - for (XmIterationMenu xmIterationMenu : xmIterationMenus) { + User user = LoginUtils.getCurrentUserInfo(); + + for (XmIterationMenu xmIterationMenu : xmIterationMenus) { + + this.xmMenuPushMsgService.pushMenuRelUsersMsg(user.getBranchId(), xmIterationMenu.getMenuId(), user.getUserid(), user.getUsername(), user.getUsername()+"将故事【"+xmIterationMenu.getMenuId()+"】加入迭代"); + + } + } - this.xmMenuPushMsgService.pushMenuRelUsersMsg(user.getBranchId(), xmIterationMenu.getMenuId(), user.getUserid(), user.getUsername(), user.getUsername()+"将故事【"+xmIterationMenu.getMenuId()+"】加入迭代"); - } } }catch (BizException e) { tips=e.getTips(); diff --git a/xm-core/src/main/java/com/xm/core/service/XmMenuService.java b/xm-core/src/main/java/com/xm/core/service/XmMenuService.java index fac316b9..ff978857 100644 --- a/xm-core/src/main/java/com/xm/core/service/XmMenuService.java +++ b/xm-core/src/main/java/com/xm/core/service/XmMenuService.java @@ -1,6 +1,7 @@ package com.xm.core.service; import com.mdp.core.service.BaseService; +import com.xm.core.entity.XmMenu; import com.xm.core.vo.XmMenuVo; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -59,5 +60,8 @@ public class XmMenuService extends BaseService { return this.selectList("queryTaskUsersByMenuId", menuId); } + public List selectExistIterationMenus(List menuIds) { + return this.selectList("selectExistIterationMenus",menuIds); + } } diff --git a/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmMenuMapper.xml b/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmMenuMapper.xml index 46ac0c3f..39f868b5 100644 --- a/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmMenuMapper.xml +++ b/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmMenuMapper.xml @@ -5,7 +5,15 @@ - + +