zhoupeng 2 роки тому
батько
коміт
cfd48ee288

+ 24 - 2
chuanyi_server/src/main/java/com/judong/chuanyiserver/controller/ItemGroupController.java

@@ -6,6 +6,7 @@ import com.judong.chuanyiserver.service.ItemGroupService;
 import com.judong.chuanyiserver.util.Blank;
 import com.judong.chuanyiserver.util.Result;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
@@ -21,10 +22,31 @@ public class ItemGroupController {
     private ItemGroupService itemGroupService;
 
     @PostMapping("/addItemGroup")
-    public Result addItemGroup(ItemGroup itemGroup){
-        if (Blank.isEmpty(itemGroup,itemGroup.getGroupName())){
+    public Result addItemGroup(ItemGroup itemGroup) {
+        if (Blank.isEmpty(itemGroup, itemGroup.getGroupName())) {
             return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "组名称不能为空");
         }
         return itemGroupService.addItemGroup(itemGroup);
     }
+
+    @GetMapping("/getAllItemGroup")
+    public Result getAllItemGroup() {
+        return itemGroupService.getAllItemGroup();
+    }
+
+    @GetMapping("/getItemGroupById")
+    public Result getItemGroupById(Integer id) {
+        if (Blank.isEmpty(id)) {
+            return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), ResultEnum.REQUEST_WRONGPARAMS.getRespMsg());
+        }
+        return itemGroupService.getItemGroupById(id);
+    }
+
+    @PostMapping("/delItemGroupById")
+    public Result delItemGroupById(Integer id) {
+        if (Blank.isEmpty(id)) {
+            return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), ResultEnum.REQUEST_WRONGPARAMS.getRespMsg());
+        }
+        return itemGroupService.delItemGroupById(id);
+    }
 }

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

@@ -1,7 +1,31 @@
 package com.judong.chuanyiserver.dao;
 
+import com.judong.chuanyiserver.entity.Item;
+import com.judong.chuanyiserver.entity.ItemGroup;
 import org.springframework.stereotype.Repository;
 
+import java.util.List;
+
 @Repository
 public interface ItemGroupDao {
+
+    ItemGroup getItemGroupByName(String userId, String groupName);
+
+    Integer addItemGroup(ItemGroup itemGroup);
+
+    ItemGroup getItemGroupById(Integer id);
+
+    List<ItemGroup> getAllItemGroup(String userId);
+
+    ItemGroup getItemGroupByNameNoId(Integer id, String userId, String groupName);
+
+    Integer updateItemGroup(ItemGroup itemGroup);
+
+    Integer addItem(Integer itemGroupId, List<Item> itemList);
+
+    Integer delItemByGroupId(Integer itemGroupId);
+
+    Integer delItemGroupById(Integer id);
+
+    List<Item> getItemByGroupId(Integer itemGroupId);
 }

+ 15 - 0
chuanyi_server/src/main/java/com/judong/chuanyiserver/entity/Item.java

@@ -6,4 +6,19 @@ import java.io.Serializable;
 
 @Data
 public class Item implements Serializable {
+
+    private static final long serialVersionUID = -96536212774977561L;
+
+    /**
+     * id
+     */
+    private Integer id;
+    /**
+     * item组id
+     */
+    private Integer itemGroupId;
+    /**
+     * 项名称
+     */
+    private String itemName;
 }

+ 4 - 0
chuanyi_server/src/main/java/com/judong/chuanyiserver/entity/ItemGroup.java

@@ -39,6 +39,10 @@ public class ItemGroup implements Serializable {
      */
     private String modeValue;
     /**
+     * 启动状态:0停用,1启用
+     */
+    private Integer runState;
+    /**
      * 创建时间
      */
     private String createTime;

+ 6 - 0
chuanyi_server/src/main/java/com/judong/chuanyiserver/service/ItemGroupService.java

@@ -5,4 +5,10 @@ import com.judong.chuanyiserver.util.Result;
 
 public interface ItemGroupService {
     Result addItemGroup(ItemGroup itemGroup);
+
+    Result getItemGroupById(Integer id);
+
+    Result getAllItemGroup();
+
+    Result delItemGroupById(Integer id);
 }

+ 1 - 1
chuanyi_server/src/main/java/com/judong/chuanyiserver/service/impl/DataSourceServiceImpl.java

@@ -97,7 +97,7 @@ public class DataSourceServiceImpl implements DataSourceService {
     }
 
     @Override
-    public Result getDataSourceById(Integer id) {
+    public synchronized Result getDataSourceById(Integer id) {
         return Result.ok(dataSourceDao.getDataSourceById(id));
     }
 

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

@@ -1,13 +1,19 @@
 package com.judong.chuanyiserver.service.impl;
 
 import com.judong.chuanyiserver.dao.ItemGroupDao;
+import com.judong.chuanyiserver.entity.Item;
 import com.judong.chuanyiserver.entity.ItemGroup;
+import com.judong.chuanyiserver.enums.ResultEnum;
 import com.judong.chuanyiserver.service.ItemGroupService;
+import com.judong.chuanyiserver.util.Blank;
+import com.judong.chuanyiserver.util.ConstantStr;
 import com.judong.chuanyiserver.util.Result;
+import com.judong.chuanyiserver.util.UserUtil;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
+import java.util.List;
 
 @Service
 @Transactional
@@ -16,8 +22,62 @@ public class ItemGroupServiceImpl implements ItemGroupService {
     @Resource
     private ItemGroupDao itemGroupDao;
 
+    @Resource
+    private UserUtil userUtil;
+
+    @Override
+    public synchronized Result addItemGroup(ItemGroup itemGroup) {
+        String userId = userUtil.getCurrentUserId();
+        itemGroup.setUserId(userId);
+        if (Blank.isEmpty(itemGroup.getId())) {
+            ItemGroup isExistItemGroup = itemGroupDao.getItemGroupByName(userId, itemGroup.getGroupName());
+            if (Blank.isNotEmpty(isExistItemGroup)) {
+                return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "已经存在此item组的名称了,请更改名称");
+            }
+            itemGroupDao.addItemGroup(itemGroup);
+            if (Blank.isNotEmpty(itemGroup.getItemList())) {
+                itemGroupDao.addItem(itemGroup.getId(), itemGroup.getItemList());
+            }
+            return Result.ok("添加item组成功");
+        } else {
+            ItemGroup itemGroup1 = itemGroupDao.getItemGroupById(itemGroup.getId());
+            if (itemGroup1.getRunState() == ConstantStr.START_UP) {
+                return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "此item组现在处于运行中,不允许修改");
+            }
+            ItemGroup isExistItemGroup = itemGroupDao.getItemGroupByNameNoId(itemGroup.getId(), userId, itemGroup.getGroupName());
+            if (Blank.isNotEmpty(isExistItemGroup)) {
+                return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "已经存在此item组的名称了,请更改名称");
+            }
+            if (itemGroupDao.updateItemGroup(itemGroup) <= 0) {
+                return Result.no(ResultEnum.SERVER_ERROR.getRespCode(), "修改item组失败");
+            }
+//            List<Item> itemList = itemGroup.getItemList();
+            return Result.ok("修改item组成功");
+        }
+    }
+
+    @Override
+    public Result getItemGroupById(Integer id) {
+        ItemGroup itemGroup = itemGroupDao.getItemGroupById(id);
+        List<Item> itemList = itemGroupDao.getItemByGroupId(id);
+        itemGroup.setItemList(itemList);
+        return Result.ok(itemGroup);
+    }
+
+    @Override
+    public Result getAllItemGroup() {
+        String userId = userUtil.getCurrentUserId();
+        return Result.ok(itemGroupDao.getAllItemGroup(userId));
+    }
+
     @Override
-    public Result addItemGroup(ItemGroup itemGroup) {
-        return null;
+    public synchronized Result delItemGroupById(Integer id) {
+        ItemGroup itemGroup = itemGroupDao.getItemGroupById(id);
+        if (itemGroup.getRunState() == ConstantStr.START_UP) {
+            return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "此item组现在处于运行中,不允许删除");
+        }
+        itemGroupDao.delItemByGroupId(id);
+        itemGroupDao.delItemGroupById(id);
+        return Result.ok("删除成功");
     }
 }

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

@@ -2,4 +2,103 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.judong.chuanyiserver.dao.ItemGroupDao">
 
+    <insert id="addItemGroup">
+        insert into t_item_group(user_id, group_name, group_describe, data_source_id, read_mode, mode_value,
+                                 create_time)
+        values (#{userId}, #{groupName}, #{groupDescribe}, #{dataSourceId}, #{readMode}, #{modeValue}, now())
+    </insert>
+
+    <insert id="addItem">
+        insert into t_item (item_group_id, item_name)
+        VALUES
+        <foreach collection="itemList" item="item" index="index" separator=",">
+            (#{itemGroupId},#{item.itemName})
+        </foreach>
+    </insert>
+
+    <update id="updateItemGroup">
+        update t_item_group
+        set group_name=#{groupName},
+            group_describe=#{groupDescribe},
+            data_source_id=#{dataSourceId},
+            read_mode=#{readMode},
+            mode_value=#{modeValue}
+    </update>
+
+    <delete id="delItemByGroupId">
+        delete
+        from t_item
+        where item_group_id = #{itemGroupId}
+    </delete>
+
+    <delete id="delItemGroupById">
+        delete
+        from t_item_group
+        where id = #{id}
+    </delete>
+
+    <select id="getItemGroupByName" resultType="com.judong.chuanyiserver.entity.ItemGroup">
+        select id,
+               user_id,
+               group_name,
+               group_describe,
+               data_source_id,
+               read_mode,
+               mode_value,
+               run_state,
+               create_time
+        from t_item_group
+        where user_id = #{userId}
+          AND group_name = #{groupName}
+    </select>
+
+    <select id="getItemGroupById" resultType="com.judong.chuanyiserver.entity.ItemGroup">
+        select id,
+               user_id,
+               group_name,
+               group_describe,
+               data_source_id,
+               read_mode,
+               mode_value,
+               run_state,
+               create_time
+        from t_item_group
+        where id = #{id}
+    </select>
+
+    <select id="getAllItemGroup" resultType="com.judong.chuanyiserver.entity.ItemGroup">
+        select id,
+               user_id,
+               group_name,
+               group_describe,
+               data_source_id,
+               read_mode,
+               mode_value,
+               run_state,
+               create_time
+        from t_item_group
+        where user_id = #{userId}
+    </select>
+
+    <select id="getItemGroupByNameNoId" resultType="com.judong.chuanyiserver.entity.ItemGroup">
+        select id,
+               user_id,
+               group_name,
+               group_describe,
+               data_source_id,
+               read_mode,
+               mode_value,
+               run_state,
+               create_time
+        from t_item_group
+        where id != #{id}
+          and user_id = #{userId}
+          AND group_name = #{groupName}
+    </select>
+
+    <select id="getItemByGroupId" resultType="com.judong.chuanyiserver.entity.Item">
+        select id, item_group_id, item_name
+        from t_item
+        where item_group_id = #{itemGroupId}
+    </select>
 </mapper>