add 巷道 球机

camera_merge
王一鸣 5 years ago
parent 5bec3d7f2a
commit 7546531224

@ -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<PageInfo<Camera>> list(@RequestBody StreetSearch streetSearch) {
return new Result<>(cameraService.cameras(streetSearch));
}
@PostMapping("")
@ApiOperation(value = "球机新增 ")
public Result<Integer> 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();
}
}

@ -1,18 +1,19 @@
package com.zhehekeji.web.controller; package com.zhehekeji.web.controller;
import com.github.pagehelper.PageInfo;
import com.zhehekeji.core.pojo.Result; import com.zhehekeji.core.pojo.Result;
import com.zhehekeji.filter.pojo.SessionHandler; import com.zhehekeji.filter.pojo.SessionHandler;
import com.zhehekeji.web.entity.Order; import com.zhehekeji.web.entity.Order;
import com.zhehekeji.web.entity.Street; import com.zhehekeji.web.entity.Street;
import com.zhehekeji.web.mapper.StreetMapper; import com.zhehekeji.web.mapper.StreetMapper;
import com.zhehekeji.web.pojo.OrderSearch; 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.OrderService;
import com.zhehekeji.web.service.StreetService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.HashMap; import java.util.HashMap;
@ -24,16 +25,28 @@ import java.util.List;
public class StreetController { public class StreetController {
@Resource @Resource
private StreetMapper streetMapper; private StreetService streetService;
@PostMapping("/list")
@PostMapping("/page")
@ApiOperation(value = "巷道列表") @ApiOperation(value = "巷道列表")
@SessionHandler //@SessionHandler
public Result<List<Street>> list() { public Result<PageInfo<StreetVO>> list(@RequestBody StreetSearch search) {
return new Result<>(streetMapper.selectByMap(new HashMap<>(0))); 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();
}

@ -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;
}

@ -1,8 +1,7 @@
package com.zhehekeji.web.entity; package com.zhehekeji.web.entity;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.annotation.TableId; import io.swagger.annotations.ApiModelProperty;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data; import lombok.Data;
import java.time.LocalDateTime; import java.time.LocalDateTime;
@ -16,9 +15,59 @@ public class Street {
private String name; 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; private LocalDateTime createTime;
} }

@ -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<Camera> {
}

@ -2,6 +2,16 @@ package com.zhehekeji.web.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zhehekeji.web.entity.Street; 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<Street> { public interface StreetMapper extends BaseMapper<Street> {
@Select("select count(0) from street where camera1_id = #{cameraId} or camera2_id = #{cameraId} limit 1")
Integer checkCamera(Integer cameraId);
List<StreetVO> list();
} }

@ -0,0 +1,11 @@
package com.zhehekeji.web.pojo.street;
import lombok.Data;
@Data
public class StreetSearch {
private Integer pageSize;
private Integer pageNum;
}

@ -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;
}

@ -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;
}

@ -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<Camera> cameras(StreetSearch streetSearch){
PageHelper.startPage(streetSearch.getPageNum(),streetSearch.getPageSize());
List<Camera> cameras = cameraMapper.selectByMap(new HashMap<>(0));
return new PageInfo<>(cameras);
}
}

@ -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<StreetVO> page(StreetSearch search){
PageHelper.startPage(search.getPageNum(),search.getPageSize());
List<StreetVO> streetVOS = streetMapper.list();
return new PageInfo<>(streetVOS);
}
}

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zhehekeji.web.mapper.StreetMapper">
<select id="list" parameterType="com.zhehekeji.web.pojo.street.StreetSearch" resultType="com.zhehekeji.web.pojo.street.StreetVO">
select t.*,c1.name as camera1Name,c2.name as camera2Name
from street t
left join camera c1 on t.camera1_id = c1.id
left join camera c2 on t.camera2_id = c2.id
order by t.id desc
</select>
</mapper>
Loading…
Cancel
Save