From 7546531224d80dc31cfa24a39a50ade810b5af69 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E4=B8=80=E9=B8=A3?= Date: Thu, 3 Dec 2020 16:41:48 +0800 Subject: [PATCH] =?UTF-8?q?add=20=E5=B7=B7=E9=81=93=20=E7=90=83=E6=9C=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/controller/CameraController.java | 49 ++++++++++++++ .../web/controller/StreetController.java | 31 ++++++--- .../java/com/zhehekeji/web/entity/Camera.java | 30 +++++++++ .../java/com/zhehekeji/web/entity/Street.java | 59 +++++++++++++++-- .../zhehekeji/web/mapper/CameraMapper.java | 7 ++ .../zhehekeji/web/mapper/StreetMapper.java | 10 +++ .../web/pojo/street/StreetSearch.java | 11 ++++ .../zhehekeji/web/pojo/street/StreetType.java | 16 +++++ .../zhehekeji/web/pojo/street/StreetVO.java | 12 ++++ .../zhehekeji/web/service/CameraService.java | 48 ++++++++++++++ .../zhehekeji/web/service/StreetService.java | 65 +++++++++++++++++++ .../main/resources/mapper/StreetMapper.xml | 13 ++++ 12 files changed, 337 insertions(+), 14 deletions(-) create mode 100644 web/src/main/java/com/zhehekeji/web/controller/CameraController.java create mode 100644 web/src/main/java/com/zhehekeji/web/entity/Camera.java create mode 100644 web/src/main/java/com/zhehekeji/web/mapper/CameraMapper.java create mode 100644 web/src/main/java/com/zhehekeji/web/pojo/street/StreetSearch.java create mode 100644 web/src/main/java/com/zhehekeji/web/pojo/street/StreetType.java create mode 100644 web/src/main/java/com/zhehekeji/web/pojo/street/StreetVO.java create mode 100644 web/src/main/java/com/zhehekeji/web/service/CameraService.java create mode 100644 web/src/main/java/com/zhehekeji/web/service/StreetService.java create mode 100644 web/src/main/resources/mapper/StreetMapper.xml diff --git a/web/src/main/java/com/zhehekeji/web/controller/CameraController.java b/web/src/main/java/com/zhehekeji/web/controller/CameraController.java new file mode 100644 index 0000000..41c4385 --- /dev/null +++ b/web/src/main/java/com/zhehekeji/web/controller/CameraController.java @@ -0,0 +1,49 @@ +package com.zhehekeji.web.controller; + +import com.github.pagehelper.PageInfo; +import com.zhehekeji.core.pojo.Result; +import com.zhehekeji.web.entity.Camera; +import com.zhehekeji.web.pojo.street.StreetSearch; +import com.zhehekeji.web.service.CameraService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +@Api(value = "camera",tags = "球机管理") +@RestController +@RequestMapping("/camera") +public class CameraController { + + @Resource + private CameraService cameraService; + + @PostMapping("/page") + @ApiOperation(value = "球机列表分页 ") + public Result> list(@RequestBody StreetSearch streetSearch) { + return new Result<>(cameraService.cameras(streetSearch)); + } + + @PostMapping("") + @ApiOperation(value = "球机新增 ") + public Result add(@RequestBody Camera camera) { + return new Result<>(cameraService.add(camera)); + } + + @PutMapping("") + @ApiOperation(value = "球机修改") + public Result edit(@RequestBody Camera camera) { + cameraService.edit(camera); + return new Result<>(); + } + + @DeleteMapping("/{id}") + @ApiOperation(value = "球机删除") + public Result del(@PathVariable Integer id){ + cameraService.del(id); + return Result.success(); + } + + +} diff --git a/web/src/main/java/com/zhehekeji/web/controller/StreetController.java b/web/src/main/java/com/zhehekeji/web/controller/StreetController.java index 40adb9f..cca1465 100644 --- a/web/src/main/java/com/zhehekeji/web/controller/StreetController.java +++ b/web/src/main/java/com/zhehekeji/web/controller/StreetController.java @@ -1,18 +1,19 @@ package com.zhehekeji.web.controller; +import com.github.pagehelper.PageInfo; import com.zhehekeji.core.pojo.Result; import com.zhehekeji.filter.pojo.SessionHandler; import com.zhehekeji.web.entity.Order; import com.zhehekeji.web.entity.Street; import com.zhehekeji.web.mapper.StreetMapper; import com.zhehekeji.web.pojo.OrderSearch; +import com.zhehekeji.web.pojo.street.StreetSearch; +import com.zhehekeji.web.pojo.street.StreetVO; import com.zhehekeji.web.service.OrderService; +import com.zhehekeji.web.service.StreetService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.util.HashMap; @@ -24,16 +25,28 @@ import java.util.List; public class StreetController { @Resource - private StreetMapper streetMapper; + private StreetService streetService; - @PostMapping("/list") + + @PostMapping("/page") @ApiOperation(value = "巷道列表") - @SessionHandler - public Result> list() { - return new Result<>(streetMapper.selectByMap(new HashMap<>(0))); + //@SessionHandler + public Result> list(@RequestBody StreetSearch search) { + return new Result<>(streetService.page(search)); } + @PostMapping("") + @ApiOperation(value = "巷道新增") + public Result add(@RequestBody Street street){ + return Result.success(streetService.add(street)); + } + @PutMapping("") + @ApiOperation(value = "巷道修改") + public Result edit(@RequestBody Street street){ + streetService.edit(street); + return Result.success(); + } diff --git a/web/src/main/java/com/zhehekeji/web/entity/Camera.java b/web/src/main/java/com/zhehekeji/web/entity/Camera.java new file mode 100644 index 0000000..aeaff58 --- /dev/null +++ b/web/src/main/java/com/zhehekeji/web/entity/Camera.java @@ -0,0 +1,30 @@ +package com.zhehekeji.web.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +@TableName("`camera`") +public class Camera { + + @TableId(type = IdType.AUTO) + private Integer id; + + private String name; + + private String ip; + + private String rtsp; + + private String position; + + private String focusing; + + private String aperture; + + private BigDecimal multiple; +} diff --git a/web/src/main/java/com/zhehekeji/web/entity/Street.java b/web/src/main/java/com/zhehekeji/web/entity/Street.java index 5c1cec1..a07b650 100644 --- a/web/src/main/java/com/zhehekeji/web/entity/Street.java +++ b/web/src/main/java/com/zhehekeji/web/entity/Street.java @@ -1,8 +1,7 @@ package com.zhehekeji.web.entity; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.*; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.time.LocalDateTime; @@ -16,9 +15,59 @@ public class Street { private String name; - private String url1; + @ApiModelProperty("PLC标识") + private String plcId; - private String url2; + @ApiModelProperty("左货架类型 0:单伸 1:双伸") + private Integer leftType; + + @ApiModelProperty("左货架列数量") + private Integer leftColumn; + + @ApiModelProperty("左货架行数量") + private Integer leftRow; + + @ApiModelProperty("左内侧货架号-双伸") + + @TableField(strategy = FieldStrategy.IGNORED) + private String leftInsideShelveId; + + @ApiModelProperty("左外侧货架号-双伸") + @TableField(strategy = FieldStrategy.IGNORED) + private String leftOutsideShelveId; + + @ApiModelProperty("货架号-单伸") + @TableField(strategy = FieldStrategy.IGNORED) + private String leftShelveId; + + @ApiModelProperty("右货架类型 0:单伸 1:双伸") + private Integer rightType; + + @ApiModelProperty("右货架列数量") + private Integer rightColumn; + + @ApiModelProperty("右货架行数量") + private Integer rightRow; + + @ApiModelProperty("右内侧货架号-双伸") + @TableField(strategy = FieldStrategy.IGNORED) + private String rightInsideShelveId; + + @ApiModelProperty("右外侧货架号-双伸") + @TableField(strategy = FieldStrategy.IGNORED) + private String rightOutsideShelveId; + + @ApiModelProperty("货架号-单伸") + @TableField(strategy = FieldStrategy.IGNORED) + private String rightShelveId; + + @TableField(strategy = FieldStrategy.IGNORED) + private Integer camera1Id; + + @TableField(strategy = FieldStrategy.IGNORED) + private Integer camera2Id; + + private LocalDateTime updateTime; private LocalDateTime createTime; } diff --git a/web/src/main/java/com/zhehekeji/web/mapper/CameraMapper.java b/web/src/main/java/com/zhehekeji/web/mapper/CameraMapper.java new file mode 100644 index 0000000..b2d8a2c --- /dev/null +++ b/web/src/main/java/com/zhehekeji/web/mapper/CameraMapper.java @@ -0,0 +1,7 @@ +package com.zhehekeji.web.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.zhehekeji.web.entity.Camera; + +public interface CameraMapper extends BaseMapper { +} diff --git a/web/src/main/java/com/zhehekeji/web/mapper/StreetMapper.java b/web/src/main/java/com/zhehekeji/web/mapper/StreetMapper.java index 55468d1..3e2ca72 100644 --- a/web/src/main/java/com/zhehekeji/web/mapper/StreetMapper.java +++ b/web/src/main/java/com/zhehekeji/web/mapper/StreetMapper.java @@ -2,6 +2,16 @@ package com.zhehekeji.web.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.zhehekeji.web.entity.Street; +import com.zhehekeji.web.pojo.street.StreetSearch; +import com.zhehekeji.web.pojo.street.StreetVO; +import org.apache.ibatis.annotations.Select; + +import java.util.List; public interface StreetMapper extends BaseMapper { + + @Select("select count(0) from street where camera1_id = #{cameraId} or camera2_id = #{cameraId} limit 1") + Integer checkCamera(Integer cameraId); + + List list(); } diff --git a/web/src/main/java/com/zhehekeji/web/pojo/street/StreetSearch.java b/web/src/main/java/com/zhehekeji/web/pojo/street/StreetSearch.java new file mode 100644 index 0000000..949659e --- /dev/null +++ b/web/src/main/java/com/zhehekeji/web/pojo/street/StreetSearch.java @@ -0,0 +1,11 @@ +package com.zhehekeji.web.pojo.street; + +import lombok.Data; + +@Data +public class StreetSearch { + + private Integer pageSize; + + private Integer pageNum; +} diff --git a/web/src/main/java/com/zhehekeji/web/pojo/street/StreetType.java b/web/src/main/java/com/zhehekeji/web/pojo/street/StreetType.java new file mode 100644 index 0000000..6553aeb --- /dev/null +++ b/web/src/main/java/com/zhehekeji/web/pojo/street/StreetType.java @@ -0,0 +1,16 @@ +package com.zhehekeji.web.pojo.street; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@AllArgsConstructor +@Getter +public enum StreetType { + + SINGLE(0), + DOUBLE(1), + + ; + + private Integer type; +} diff --git a/web/src/main/java/com/zhehekeji/web/pojo/street/StreetVO.java b/web/src/main/java/com/zhehekeji/web/pojo/street/StreetVO.java new file mode 100644 index 0000000..2f9e426 --- /dev/null +++ b/web/src/main/java/com/zhehekeji/web/pojo/street/StreetVO.java @@ -0,0 +1,12 @@ +package com.zhehekeji.web.pojo.street; + +import com.zhehekeji.web.entity.Street; +import lombok.Data; + +@Data +public class StreetVO extends Street { + + private String camera1Name; + + private String camera2Name; +} diff --git a/web/src/main/java/com/zhehekeji/web/service/CameraService.java b/web/src/main/java/com/zhehekeji/web/service/CameraService.java new file mode 100644 index 0000000..2baeaaa --- /dev/null +++ b/web/src/main/java/com/zhehekeji/web/service/CameraService.java @@ -0,0 +1,48 @@ +package com.zhehekeji.web.service; + +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import com.zhehekeji.core.util.Assert; +import com.zhehekeji.web.entity.Camera; +import com.zhehekeji.web.mapper.CameraMapper; +import com.zhehekeji.web.mapper.StreetMapper; +import com.zhehekeji.web.pojo.street.StreetSearch; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.HashMap; +import java.util.List; + +@Service +@Slf4j +public class CameraService { + + @Resource + private CameraMapper cameraMapper; + @Resource + private StreetMapper streetMapper; + + public Integer add(Camera camera){ + cameraMapper.insert(camera); + return camera.getId(); + } + + public void edit(Camera camera){ + cameraMapper.updateById(camera); + } + + public void del(Integer id){ + Integer count = streetMapper.checkCamera(id); + Assert.isTrue(count == null || count == 0,"球机已被绑定"); + cameraMapper.deleteById(id); + } + + public PageInfo cameras(StreetSearch streetSearch){ + PageHelper.startPage(streetSearch.getPageNum(),streetSearch.getPageSize()); + List cameras = cameraMapper.selectByMap(new HashMap<>(0)); + return new PageInfo<>(cameras); + } + + +} diff --git a/web/src/main/java/com/zhehekeji/web/service/StreetService.java b/web/src/main/java/com/zhehekeji/web/service/StreetService.java new file mode 100644 index 0000000..3f17199 --- /dev/null +++ b/web/src/main/java/com/zhehekeji/web/service/StreetService.java @@ -0,0 +1,65 @@ +package com.zhehekeji.web.service; + +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import com.zhehekeji.web.entity.Street; +import com.zhehekeji.web.mapper.StreetMapper; +import com.zhehekeji.web.pojo.street.StreetSearch; +import com.zhehekeji.web.pojo.street.StreetType; +import com.zhehekeji.web.pojo.street.StreetVO; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.time.LocalDateTime; +import java.util.List; + +@Service +@Slf4j +public class StreetService { + + @Resource + private StreetMapper streetMapper; + + public Integer add(Street street){ + check(street); + street.setCreateTime(LocalDateTime.now()); + street.setUpdateTime(LocalDateTime.now()); + streetMapper.insert(street); + return street.getId(); + } + + public void del(Integer id){ + streetMapper.deleteById(id); + } + + private void check(Street street){ + if(StreetType.SINGLE.getType().equals(street.getLeftType())){ + street.setLeftInsideShelveId(null); + street.setLeftOutsideShelveId(null); + } + if(StreetType.SINGLE.getType().equals(street.getRightType())){ + street.setRightInsideShelveId(null); + street.setRightOutsideShelveId(null); + } + if(StreetType.DOUBLE.getType().equals(street.getLeftType())){ + street.setLeftShelveId(null); + } + if(StreetType.DOUBLE.getType().equals(street.getRightType())){ + street.setRightShelveId(null); + } + } + + public void edit(Street street){ + check(street); + streetMapper.updateById(street); + } + + public PageInfo page(StreetSearch search){ + PageHelper.startPage(search.getPageNum(),search.getPageSize()); + List streetVOS = streetMapper.list(); + return new PageInfo<>(streetVOS); + } + + +} diff --git a/web/src/main/resources/mapper/StreetMapper.xml b/web/src/main/resources/mapper/StreetMapper.xml new file mode 100644 index 0000000..57f8e5a --- /dev/null +++ b/web/src/main/resources/mapper/StreetMapper.xml @@ -0,0 +1,13 @@ + + + + + + +