Explorar o código

智慧场景-智能策略建表,提供增删改查接口

ZhangManMan %!s(int64=2) %!d(string=hai) anos
pai
achega
073165a405

+ 56 - 0
src/main/java/com/sky/ioc/controller/scene/StrategyController.java

@@ -0,0 +1,56 @@
+package com.sky.ioc.controller.scene;
+
+import com.sky.ioc.entity.domain.scene.Strategy;
+import com.sky.ioc.service.scene.StrategyService;
+import com.sky.ioc.tool.ReturnMsg;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.List;
+
+@Api(tags ="智慧场景----智能策略")
+@Slf4j
+@RestController
+@RequestMapping("/strategy")
+public class StrategyController {
+
+    @Autowired
+    StrategyService strategyService;
+
+    @ApiOperation("创建策略")
+    @PostMapping(value = "/add")
+    public ReturnMsg addStrategy(@RequestBody Strategy strategy){
+      return strategyService.addStrategy(strategy);
+    }
+
+    @ApiOperation("删除策略")
+    @PostMapping(value = "/delById")
+    public ReturnMsg delById(@RequestParam(value = "id")Integer id){
+        return strategyService.delStrategyById(id);
+    }
+
+    @ApiOperation("修改策略")
+    @PostMapping(value = "/update")
+    public ReturnMsg updateStrategy(@RequestBody Strategy strategy){
+        return strategyService.editStrategy(strategy);
+    }
+
+    @ApiOperation("策略列表")
+    @PostMapping(value = "/getStrategyList")
+    public ReturnMsg getStrategyList(@RequestParam(value = "type", required=false)Integer type,
+                                     @RequestParam(value = "status", required=false)Integer status,
+                                     @RequestParam(value = "name", required=false)String name){
+
+        return strategyService.getListByNameAndType(type, status,name);
+    }
+
+    @ApiOperation("批量删除策略")
+    @PostMapping(value = "/batchDelByIds")
+    public ReturnMsg batchDelByIds(@RequestBody List<Integer> ids){
+        return strategyService.delBatchById(ids);
+    }
+}

+ 42 - 0
src/main/java/com/sky/ioc/entity/domain/scene/Strategy.java

@@ -0,0 +1,42 @@
+package com.sky.ioc.entity.domain.scene;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+import org.springframework.context.annotation.Primary;
+
+import java.lang.reflect.Type;
+
+@Data
+public class Strategy {
+
+    @TableId(type = IdType.AUTO)
+    private Integer id;
+
+    /**名称*/
+    private String name;
+    /**类别
+     * 1 会议
+     * 2 空调
+     * 3 照明
+     * 4 饮水机
+     * */
+    private Integer type;
+    /**创建时间*/
+    private String createTime;
+    /**创建人*/
+    private String creator;
+
+    /**状态 是否启用
+     * 0未启用
+     * 1 启用
+     * */
+    private Integer status = 0;
+
+    /**配置参数*/
+    private String configParams;
+    /**
+     * 是否删除
+     * */
+    private Integer isDel = 0;
+}

+ 48 - 0
src/main/java/com/sky/ioc/entity/domain/scene/StrategyRelevancyConfig.java

@@ -0,0 +1,48 @@
+package com.sky.ioc.entity.domain.scene;
+
+import lombok.Data;
+
+@Data
+public class StrategyRelevancyConfig {
+
+
+
+    /*private Integer id;
+
+    private Integer strategyId;
+    *//**顺序*//*
+    private Integer sort;
+
+    *//**设备
+     * 空调
+     * 门禁
+     * 灯光
+     * *//*
+    private Integer equipment;
+    *//**所属平台*//*
+    private String platform;
+    *//**状态*//*
+    private Integer status;
+
+    *//**是否定时*//*
+    private Integer timer;
+
+    *//**空调温度*//*
+    private Integer temperature;
+
+    *//**人体传感器*//*
+    private Integer body;
+
+    *//**是否需要签到*//*
+    private Integer sign;
+
+    *//**可通过人员*//*
+    private Integer passType;
+
+    *//**创建时间*//*
+    private String createTime;
+    *//**创建人*//*
+    private String creator;
+*/
+
+}

+ 40 - 0
src/main/java/com/sky/ioc/mapper/scene/StrategyMapper.java

@@ -0,0 +1,40 @@
+package com.sky.ioc.mapper.scene;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.sky.ioc.entity.domain.scene.Strategy;
+import com.sky.ioc.entity.params.IocParam;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+import org.apache.ibatis.annotations.Update;
+
+import java.util.List;
+
+@Mapper
+public interface StrategyMapper extends BaseMapper<Strategy> {
+
+    @Select("<script>" +
+            "select * from strategy where is_del = 0 " +
+            "<if test='type!=null '> " +
+            " and type = #{type} " +
+            "</if>" +
+            "<if test ='status!=null '>" +
+            " and status = #{status}" +
+            "</if>" +
+            "<if test ='name!=null and name!=\" \" '>" +
+            " and name like  #{name}" +
+            "</if>" +
+            "</script>")
+    List<Strategy> getListByNameAndTypeAndStatus(@Param("type") Integer type, @Param("status") Integer status,
+                                                 @Param("name")String name);
+
+   @Update("update strategy set is_del = 1 where id=#{id}")
+    Integer delById(@Param("id") Integer id);
+
+    @Update("<script>" +
+            " update strategy set is_del= 1  " +
+            " where id in (<foreach collection='ids' item='id' index='no' separator=','>#{id}</foreach>) "
+
+            + "</script>")
+    Integer batchDelByIds(@Param("ids") List<Integer> ids);
+}

+ 21 - 0
src/main/java/com/sky/ioc/service/scene/StrategyService.java

@@ -0,0 +1,21 @@
+package com.sky.ioc.service.scene;
+
+import com.sky.ioc.entity.domain.scene.Strategy;
+import com.sky.ioc.mapper.scene.StrategyMapper;
+import com.sky.ioc.tool.ReturnMsg;
+import io.swagger.models.auth.In;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import java.util.List;
+
+public interface StrategyService {
+    ReturnMsg addStrategy(Strategy strategy);
+
+    ReturnMsg delStrategyById(Integer id);
+
+    ReturnMsg delBatchById(List<Integer> ids);
+
+    ReturnMsg editStrategy(Strategy strategy);
+
+    ReturnMsg getListByNameAndType(Integer type,Integer status,String name);
+}

+ 67 - 0
src/main/java/com/sky/ioc/service/scene/impl/StrategyServiceImpl.java

@@ -0,0 +1,67 @@
+package com.sky.ioc.service.scene.impl;
+
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.sky.ioc.entity.domain.scene.Strategy;
+import com.sky.ioc.mapper.scene.StrategyMapper;
+import com.sky.ioc.service.scene.StrategyService;
+import com.sky.ioc.tool.ReturnMsg;
+import org.apache.poi.util.StringUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class StrategyServiceImpl implements StrategyService {
+
+    @Autowired
+    StrategyMapper strategyMapper;
+
+    @Override
+    public ReturnMsg addStrategy(Strategy strategy) {
+        strategyMapper.insert(strategy);
+        return ReturnMsg.ok();
+    }
+
+    @Override
+    public ReturnMsg delStrategyById(Integer id) {
+        if(id==null){
+            return ReturnMsg.fail("参数错误");
+        }else{
+            strategyMapper.delById(id);
+            return ReturnMsg.ok();
+        }
+
+    }
+
+    @Override
+    public ReturnMsg delBatchById(List<Integer> ids) {
+        if(ids.size()==0||ids==null){
+            return ReturnMsg.fail("参数错误");
+        }else{
+            strategyMapper.batchDelByIds(ids);
+            return ReturnMsg.ok();
+        }
+
+    }
+
+    @Override
+    public ReturnMsg editStrategy(Strategy strategy) {
+        if(strategy.getId()==null){
+            return ReturnMsg.fail("参数错误");
+        }else{
+            strategyMapper.updateById(strategy);
+            return ReturnMsg.ok();
+        }
+
+    }
+
+    @Override
+    public ReturnMsg getListByNameAndType(Integer type,Integer status,String name) {
+        if(name!=null&&!name.isEmpty()){
+            name = "%"+name+"%";
+        }
+        List<Strategy> lists = strategyMapper.getListByNameAndTypeAndStatus(type,status,name);
+        return ReturnMsg.ok(lists);
+    }
+}