Parcourir la source

修改itemGroup修改接口,item删除新增等操作

zhoupeng il y a 2 ans
Parent
commit
f0238078a8

+ 6 - 0
chuanyi_server/src/main/java/com/judong/chuanyiserver/dao/ItemGroupDao.java

@@ -28,4 +28,10 @@ public interface ItemGroupDao {
     Integer delItemGroupById(Integer id);
 
     List<Item> getItemByGroupId(Integer itemGroupId);
+
+    List<Item> getItemList(Integer itemGroupId);
+
+    List<Item> getPublicItemList(Integer itemGroupId, List<Item> itemList);
+
+    Integer delItemNoPub(Integer itemGroupId, List<Item> itemList);
 }

+ 33 - 2
chuanyi_server/src/main/java/com/judong/chuanyiserver/service/impl/ItemGroupServiceImpl.java

@@ -13,6 +13,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
+import java.util.ArrayList;
 import java.util.List;
 
 @Service
@@ -40,7 +41,8 @@ public class ItemGroupServiceImpl implements ItemGroupService {
             }
             return Result.ok("添加item组成功");
         } else {
-            ItemGroup itemGroup1 = itemGroupDao.getItemGroupById(itemGroup.getId());
+            Integer id = itemGroup.getId();
+            ItemGroup itemGroup1 = itemGroupDao.getItemGroupById(id);
             if (itemGroup1.getRunState() == ConstantStr.START_UP) {
                 return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "此item组现在处于运行中,不允许修改");
             }
@@ -51,7 +53,36 @@ public class ItemGroupServiceImpl implements ItemGroupService {
             if (itemGroupDao.updateItemGroup(itemGroup) <= 0) {
                 return Result.no(ResultEnum.SERVER_ERROR.getRespCode(), "修改item组失败");
             }
-//            List<Item> itemList = itemGroup.getItemList();
+            List<Item> itemList = itemGroup.getItemList();
+            if (Blank.isEmpty(itemList)) {
+                itemGroupDao.delItemByGroupId(id);
+                return Result.ok("修改item组成功");
+            }
+            List<Item> oldItemList = itemGroupDao.getItemList(id);
+            if (Blank.isEmpty(oldItemList)) {
+                itemGroupDao.addItem(id, itemList);
+                return Result.ok("修改item组成功");
+            }
+            List<Item> publicItemList = itemGroupDao.getPublicItemList(id, itemList);
+            if (Blank.isEmpty(publicItemList)) {
+                itemGroupDao.delItemByGroupId(id);
+                itemGroupDao.addItem(id, itemList);
+                return Result.ok("修改item组成功");
+            }
+            itemGroupDao.delItemNoPub(id, publicItemList);
+            List<Item> addItemList = new ArrayList<>();
+            for (int i = 0; i < itemList.size(); i++) {
+                Boolean flage = true;
+                for (int j = 0; j < publicItemList.size(); j++) {
+                    if (itemList.get(i).getItemGroupId().equals(publicItemList.get(j).getItemName())) {
+                        flage = false;
+                    }
+                }
+                if (flage) {
+                    addItemList.add(itemList.get(i));
+                }
+            }
+            itemGroupDao.addItem(id, addItemList);
             return Result.ok("修改item组成功");
         }
     }

+ 24 - 0
chuanyi_server/src/main/resources/mapper/ItemGroupDao.xml

@@ -37,6 +37,15 @@
         where id = #{id}
     </delete>
 
+    <delete id="delItemNoPub">
+        delete
+        from t_item
+        where item_name not in
+        <foreach collection="itemList" item="item" index="index" open="(" close=")" separator=",">
+            #{item.itemName}
+        </foreach>
+    </delete>
+
     <select id="getItemGroupByName" resultType="com.judong.chuanyiserver.entity.ItemGroup">
         select id,
                user_id,
@@ -101,4 +110,19 @@
         from t_item
         where item_group_id = #{itemGroupId}
     </select>
+
+    <select id="getItemList" resultType="com.judong.chuanyiserver.entity.Item">
+        select id, item_group_id, item_name
+        from t_item
+        where item_group_id = #{itemGroupId}
+    </select>
+
+    <select id="getPublicItemList" resultType="com.judong.chuanyiserver.entity.Item">
+        select id, item_group_id, item_name
+        from t_item
+        where item_name in
+        <foreach collection="itemList" item="item" index="index" open="(" close=")" separator=",">
+            #{item.itemName}
+        </foreach>
+    </select>
 </mapper>