From 0b60c3ef6866a5a27c3cbc3ce3103e675929ca92 Mon Sep 17 00:00:00 2001 From: Su ZeJing <3039179835@qq.com> Date: Fri, 29 Mar 2024 20:01:31 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E7=94=B5=E5=AD=90=E5=9B=B4=E6=A0=8FCRUD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- zhilian-modules/pom.xml | 1 + zhilian-modules/zhilian-fence/pom.xml | 115 +++++++++++++ .../java/com/zhilian/FenceApplication.java | 17 ++ .../zhilian/controller/FenceController.java | 72 +++++++++ .../controller/FenceTypeController.java | 25 +++ .../main/java/com/zhilian/domain/Fence.java | 152 ++++++++++++++++++ .../java/com/zhilian/domain/FenceType.java | 31 ++++ .../zhilian/domain/request/FenceRequest.java | 50 ++++++ .../domain/response/FenceResponse.java | 29 ++++ .../java/com/zhilian/mapper/FenceMapper.java | 9 ++ .../com/zhilian/mapper/FenceTypeMapper.java | 12 ++ .../com/zhilian/service/FenceService.java | 17 ++ .../com/zhilian/service/FenceTypeService.java | 10 ++ .../service/impl/FenceServiceImpl.java | 30 ++++ .../service/impl/FenceTypeServiceImpl.java | 32 ++++ .../src/main/resources/banner.txt | 2 + .../src/main/resources/logback.xml | 74 +++++++++ .../src/main/resources/mapper/FenceMapper.xml | 61 +++++++ .../main/resources/mapper/FenceTypeMapper.xml | 19 +++ .../com/zhilian/system/domain/SysConfig.java | 2 + 20 files changed, 760 insertions(+) create mode 100644 zhilian-modules/zhilian-fence/pom.xml create mode 100644 zhilian-modules/zhilian-fence/src/main/java/com/zhilian/FenceApplication.java create mode 100644 zhilian-modules/zhilian-fence/src/main/java/com/zhilian/controller/FenceController.java create mode 100644 zhilian-modules/zhilian-fence/src/main/java/com/zhilian/controller/FenceTypeController.java create mode 100644 zhilian-modules/zhilian-fence/src/main/java/com/zhilian/domain/Fence.java create mode 100644 zhilian-modules/zhilian-fence/src/main/java/com/zhilian/domain/FenceType.java create mode 100644 zhilian-modules/zhilian-fence/src/main/java/com/zhilian/domain/request/FenceRequest.java create mode 100644 zhilian-modules/zhilian-fence/src/main/java/com/zhilian/domain/response/FenceResponse.java create mode 100644 zhilian-modules/zhilian-fence/src/main/java/com/zhilian/mapper/FenceMapper.java create mode 100644 zhilian-modules/zhilian-fence/src/main/java/com/zhilian/mapper/FenceTypeMapper.java create mode 100644 zhilian-modules/zhilian-fence/src/main/java/com/zhilian/service/FenceService.java create mode 100644 zhilian-modules/zhilian-fence/src/main/java/com/zhilian/service/FenceTypeService.java create mode 100644 zhilian-modules/zhilian-fence/src/main/java/com/zhilian/service/impl/FenceServiceImpl.java create mode 100644 zhilian-modules/zhilian-fence/src/main/java/com/zhilian/service/impl/FenceTypeServiceImpl.java create mode 100644 zhilian-modules/zhilian-fence/src/main/resources/banner.txt create mode 100644 zhilian-modules/zhilian-fence/src/main/resources/logback.xml create mode 100644 zhilian-modules/zhilian-fence/src/main/resources/mapper/FenceMapper.xml create mode 100644 zhilian-modules/zhilian-fence/src/main/resources/mapper/FenceTypeMapper.xml diff --git a/zhilian-modules/pom.xml b/zhilian-modules/pom.xml index da36d68..cc52d57 100644 --- a/zhilian-modules/pom.xml +++ b/zhilian-modules/pom.xml @@ -17,6 +17,7 @@ zhilian-resolver zhilian-business zhilian-manager + zhilian-fence zhilian-modules diff --git a/zhilian-modules/zhilian-fence/pom.xml b/zhilian-modules/zhilian-fence/pom.xml new file mode 100644 index 0000000..9450e5e --- /dev/null +++ b/zhilian-modules/zhilian-fence/pom.xml @@ -0,0 +1,115 @@ + + + 4.0.0 + + com.zhilian + zhilian-modules + 3.6.3 + + + zhilian-fence + + + 17 + 17 + UTF-8 + + + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-discovery + + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-config + + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-sentinel + + + + + org.springframework.boot + spring-boot-starter-actuator + + + + + com.github.tobato + fastdfs-client + + + + + io.minio + minio + ${minio.version} + + + + + + com.zhilian + zhilian-common-swagger + + + + + com.zhilian + zhilian-common-system + + + + + com.mysql + mysql-connector-j + + + + com.zhilian + zhilian-common-security + + + com.zhilian + zhilian-common-log + + + + + + + + ${project.artifactId} + + + org.springframework.boot + spring-boot-maven-plugin + + + + repackage + + + + + + + org.apache.maven.plugins + maven-deploy-plugin + + true + + + + + + diff --git a/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/FenceApplication.java b/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/FenceApplication.java new file mode 100644 index 0000000..8f96151 --- /dev/null +++ b/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/FenceApplication.java @@ -0,0 +1,17 @@ +package com.zhilian; + +import com.zhilian.common.security.annotation.EnableCustomConfig; +import com.zhilian.common.security.annotation.EnableMyFeignClients; +import com.zhilian.common.swagger.annotation.EnableCustomSwagger2; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@EnableCustomConfig +@EnableCustomSwagger2 +@EnableMyFeignClients +@SpringBootApplication +public class FenceApplication { + public static void main(String[] args) { + SpringApplication.run(FenceApplication.class,args); + } +} diff --git a/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/controller/FenceController.java b/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/controller/FenceController.java new file mode 100644 index 0000000..70daa75 --- /dev/null +++ b/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/controller/FenceController.java @@ -0,0 +1,72 @@ +package com.zhilian.controller; + +import com.zhilian.common.core.domain.Result; +import com.zhilian.common.core.web.controller.BaseController; +import com.zhilian.common.core.web.page.TableDataInfo; +import com.zhilian.common.security.utils.SecurityUtils; +import com.zhilian.domain.Fence; +import com.zhilian.domain.request.FenceRequest; +import com.zhilian.service.FenceService; +import io.swagger.v3.oas.annotations.parameters.RequestBody; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.Arrays; +import java.util.List; +/** + * @ClassName FenceController + * @Description 电子围栏控制层 + * @Author ZeJinG.Su + * @Date 14:37 2024/3/29 + */ +@RestController +@RequestMapping("fence") +public class FenceController extends BaseController { + @Autowired + private FenceService fenceService; + + /** + * TODO: 围栏管理 + */ + @GetMapping("/list") + public Result> list (FenceRequest fenceRequest) { + startPage(); + List list = fenceService.pageQuery(fenceRequest); + return getDataTable(list); + } + + /** + * 新增围栏 + * @param fence + * @return + */ + @PostMapping + public Result add(@Validated @RequestBody Fence fence){ + fence.setCreateBy(SecurityUtils.getUsername()); + return toAjax(fenceService.save(fence)); + } + + /** + * 编辑围栏 + * @param fence + * @return + */ + @PutMapping + public Result edit(@Validated @RequestBody Fence fence){ + fence.setUpdateBy(SecurityUtils.getUsername()); + return toAjax(fenceService.updateById(fence)); + } + + /** + * 删除围栏 + * @param fenceIds + * @return + */ + @DeleteMapping("/{fenceIds}") + public Result remove(@PathVariable Long[] fenceIds){ + fenceService.removeBatchByIds(Arrays.asList(fenceIds)); + return success(); + } + +} diff --git a/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/controller/FenceTypeController.java b/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/controller/FenceTypeController.java new file mode 100644 index 0000000..a233b11 --- /dev/null +++ b/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/controller/FenceTypeController.java @@ -0,0 +1,25 @@ +package com.zhilian.controller; + +import com.zhilian.common.core.domain.Result; +import com.zhilian.common.core.web.controller.BaseController; +import com.zhilian.domain.FenceType; +import com.zhilian.service.FenceTypeService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +@RestController +@RequestMapping("/fenceType") +public class FenceTypeController extends BaseController { + @Autowired + private FenceTypeService fenceTypeService; + + @GetMapping("/list") + public Result> list(){ + List list = fenceTypeService.selectFenceTypeList(); + return success(list); + } +} diff --git a/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/domain/Fence.java b/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/domain/Fence.java new file mode 100644 index 0000000..5f996ea --- /dev/null +++ b/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/domain/Fence.java @@ -0,0 +1,152 @@ +package com.zhilian.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.zhilian.common.core.annotation.Excel; +import com.zhilian.common.core.web.domain.BaseEntity; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.Size; +import java.util.Date; +import java.util.Map; + +@Data +@SuperBuilder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +@TableName("vehicle_fence") +public class Fence extends BaseEntity { + private static final long serialVersionUID = 1L; + /** + * 电子围栏编号 + */ + @Excel(name = "参数主键", cellType = Excel.ColumnType.NUMERIC) + @TableId(value = "fence_id", type = IdType.AUTO) + private Long fenceId; + /** + * 电子围栏名称 + */ + @Excel(name = "电子围栏名称") + private String fenceName; + /** + * 电子围栏类型编号 + */ + @Excel(name = "电子围栏类型编号") + private Long fenceTypeId; + /** + * 电子围栏状态 + */ + @Excel(name = "电子围栏状态") + private Long fenceState; + /** + * 电子围栏经纬度信息 + */ + @Excel(name = "电子围栏经纬度信息") + private String fenceMessage; + +// /** +// * 创建者 +// */ +// @Excel(name = "创建者") +// private String createBy; +// +// /** +// * 创建时间 +// */ +// @Excel(name = "创建时间") +// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") +// private Date createTime; +// +// /** +// * 更新者 +// */ +// @Excel(name = "更新者") +// private String updateBy; +// +// /** +// * 更新时间 +// */ +// @Excel(name = "更新时间") +// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") +// private Date updateTime; +// +// /** +// * 备注 +// */ +// @Excel(name = "备注") +// private String remark; + + public Long getFenceId() { + return fenceId; + } + + public void setFenceId(Long fenceId) { + this.fenceId = fenceId; + } + @NotBlank(message = "围栏名称不能为空") + @Size(min=0,max=100,message = "围栏名称不能超过100个字符") + public String getFenceName() { + return fenceName; + } + + public void setFenceName(String fenceName) { + this.fenceName = fenceName; + } + @NotBlank(message = "围栏类型不能为空") + @Size(min = 0,max = 10,message = "围栏类型不能超过10个字符") + public Long getFenceTypeId() { + return fenceTypeId; + } + + public void setFenceTypeId(Long fenceTypeId) { + this.fenceTypeId = fenceTypeId; + } + + public Long getFenceState() { + return fenceState; + } + + public void setFenceState(Long fenceState) { + this.fenceState = fenceState; + } + @NotBlank(message = "围栏经纬度不能为空") + @Size(min = 0,max = 300,message = "围栏经纬度不能超过300个字符") + public String getFenceMessage() { + return fenceMessage; + } + + public void setFenceMessage(String fenceMessage) { + this.fenceMessage = fenceMessage; + } + + // @JsonIgnore // 忽略基类中的 params 字段 +// private Map params; +// +// @Override +// public String toString() { +// return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) +// .append("fenceId", getFenceId()) +// .append("fenceName", getFenceName()) +// .append("fenceTypeId", getFenceTypeId()) +// .append("fenceState", getFenceState()) +// .append("fenceMessage", getFenceMessage()) +// .append("createBy", getCreateBy()) +// .append("createTime", getCreateTime()) +// .append("updateBy", getUpdateBy()) +// .append("updateTime", getUpdateTime()) +// .append("remark", getRemark()) +// .append("params", getParams()) +// .toString(); +// } +} diff --git a/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/domain/FenceType.java b/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/domain/FenceType.java new file mode 100644 index 0000000..a8c0b18 --- /dev/null +++ b/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/domain/FenceType.java @@ -0,0 +1,31 @@ +package com.zhilian.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.zhilian.common.core.annotation.Excel; +import com.zhilian.common.core.web.domain.BaseEntity; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +@Data +@SuperBuilder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +@TableName("fence_type") +public class FenceType extends BaseEntity { + /** + * 围栏类型编号 + */ + @Excel(name = "参数主键", cellType = Excel.ColumnType.NUMERIC) + @TableId(value = "fence_type_id", type = IdType.AUTO) + private Long fenceTypeId; + /** + * 围栏类型名称:驶入驶出 + */ + private String fenceTypeName; +} diff --git a/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/domain/request/FenceRequest.java b/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/domain/request/FenceRequest.java new file mode 100644 index 0000000..d883fa4 --- /dev/null +++ b/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/domain/request/FenceRequest.java @@ -0,0 +1,50 @@ +package com.zhilian.domain.request; + +import com.zhilian.common.core.web.domain.BaseEntity; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +import java.util.Map; + +@Data +@SuperBuilder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class FenceRequest extends BaseEntity { + private static final long serialVersionUID = 1L; + /** + * 电子围栏名称 + */ + private String fenceName; + /** + * 电子围栏类型编号 + */ + private Long fenceTypeId; + /** + * 电子围栏状态 + */ + private Long fenceState; + + + + + @Override + public String toString () { + return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) + .append("fenceName", getFenceName()) + .append("fenceTypeId", getFenceTypeId()) + .append("fenceState", getFenceState()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .append("remark", getRemark()) + .toString(); + } +} diff --git a/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/domain/response/FenceResponse.java b/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/domain/response/FenceResponse.java new file mode 100644 index 0000000..b5eafe1 --- /dev/null +++ b/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/domain/response/FenceResponse.java @@ -0,0 +1,29 @@ +package com.zhilian.domain.response; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.zhilian.common.core.annotation.Excel; +import com.zhilian.domain.Fence; +import com.zhilian.domain.FenceType; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +import java.util.Date; + +@Data +@SuperBuilder +@NoArgsConstructor +@AllArgsConstructor +public class FenceResponse { + /** + * 电子围栏表 + */ + private Fence fence; + /** + * 电子围栏类型 + */ + private FenceType fenceType; + +} diff --git a/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/mapper/FenceMapper.java b/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/mapper/FenceMapper.java new file mode 100644 index 0000000..62b88a6 --- /dev/null +++ b/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/mapper/FenceMapper.java @@ -0,0 +1,9 @@ +package com.zhilian.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.zhilian.domain.Fence; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface FenceMapper extends BaseMapper { +} diff --git a/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/mapper/FenceTypeMapper.java b/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/mapper/FenceTypeMapper.java new file mode 100644 index 0000000..f3cf938 --- /dev/null +++ b/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/mapper/FenceTypeMapper.java @@ -0,0 +1,12 @@ +package com.zhilian.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.zhilian.domain.FenceType; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +@Mapper +public interface FenceTypeMapper extends BaseMapper { + List selectFenceTypeList(); +} diff --git a/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/service/FenceService.java b/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/service/FenceService.java new file mode 100644 index 0000000..3ac9aac --- /dev/null +++ b/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/service/FenceService.java @@ -0,0 +1,17 @@ +package com.zhilian.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.zhilian.domain.Fence; +import com.zhilian.domain.request.FenceRequest; + +import java.util.List; + +public interface FenceService extends IService { + /** + * 围栏查询-list + * @param fenceRequest + * @return + */ + List pageQuery(FenceRequest fenceRequest); + +} diff --git a/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/service/FenceTypeService.java b/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/service/FenceTypeService.java new file mode 100644 index 0000000..b6f162c --- /dev/null +++ b/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/service/FenceTypeService.java @@ -0,0 +1,10 @@ +package com.zhilian.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.zhilian.domain.FenceType; + +import java.util.List; + +public interface FenceTypeService extends IService{ + List selectFenceTypeList(); +} diff --git a/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/service/impl/FenceServiceImpl.java b/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/service/impl/FenceServiceImpl.java new file mode 100644 index 0000000..939ab28 --- /dev/null +++ b/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/service/impl/FenceServiceImpl.java @@ -0,0 +1,30 @@ +package com.zhilian.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.zhilian.common.core.utils.StringUtils; +import com.zhilian.domain.Fence; +import com.zhilian.domain.request.FenceRequest; +import com.zhilian.mapper.FenceMapper; +import com.zhilian.service.FenceService; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.Objects; + +@Service +public class FenceServiceImpl extends ServiceImpl implements FenceService { + + @Override + public List pageQuery(FenceRequest fenceRequest) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + if (StringUtils.isNotEmpty(fenceRequest.getFenceName())){ + queryWrapper.like(Fence::getFenceName, fenceRequest.getFenceName()); + } + if (fenceRequest.getFenceTypeId()!= null){ + queryWrapper.like(Fence::getFenceTypeId, fenceRequest.getFenceTypeId()); + } + return this.list(queryWrapper); + } +} diff --git a/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/service/impl/FenceTypeServiceImpl.java b/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/service/impl/FenceTypeServiceImpl.java new file mode 100644 index 0000000..60181ce --- /dev/null +++ b/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/service/impl/FenceTypeServiceImpl.java @@ -0,0 +1,32 @@ +package com.zhilian.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.zhilian.common.redis.service.RedisService; +import com.zhilian.domain.Fence; +import com.zhilian.domain.FenceType; +import com.zhilian.mapper.FenceTypeMapper; +import com.zhilian.service.FenceService; +import com.zhilian.service.FenceTypeService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +public class FenceTypeServiceImpl extends ServiceImpl implements FenceTypeService { + @Autowired + private FenceTypeMapper fenceTypeMapper; + + @Autowired + private RedisService redisService; + @Override + public List selectFenceTypeList() { + if(redisService.hasKey("fenceType")){ + List fenceTypeShow = redisService.getCacheList("fenceType"); + return fenceTypeShow; + } + List fenceTypes = fenceTypeMapper.selectFenceTypeList(); + redisService.setCacheList("fenceType",fenceTypes); + return fenceTypes; + } +} diff --git a/zhilian-modules/zhilian-fence/src/main/resources/banner.txt b/zhilian-modules/zhilian-fence/src/main/resources/banner.txt new file mode 100644 index 0000000..0dd5eee --- /dev/null +++ b/zhilian-modules/zhilian-fence/src/main/resources/banner.txt @@ -0,0 +1,2 @@ +Spring Boot Version: ${spring-boot.version} +Spring Application Name: ${spring.application.name} diff --git a/zhilian-modules/zhilian-fence/src/main/resources/logback.xml b/zhilian-modules/zhilian-fence/src/main/resources/logback.xml new file mode 100644 index 0000000..d953225 --- /dev/null +++ b/zhilian-modules/zhilian-fence/src/main/resources/logback.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + ${log.pattern} + + + + + + ${log.path}/info.log + + + + ${log.path}/info.%d{yyyy-MM-dd}.log + + 60 + + + ${log.pattern} + + + + INFO + + ACCEPT + + DENY + + + + + ${log.path}/error.log + + + + ${log.path}/error.%d{yyyy-MM-dd}.log + + 60 + + + ${log.pattern} + + + + ERROR + + ACCEPT + + DENY + + + + + + + + + + + + + + + + + + diff --git a/zhilian-modules/zhilian-fence/src/main/resources/mapper/FenceMapper.xml b/zhilian-modules/zhilian-fence/src/main/resources/mapper/FenceMapper.xml new file mode 100644 index 0000000..d9eb105 --- /dev/null +++ b/zhilian-modules/zhilian-fence/src/main/resources/mapper/FenceMapper.xml @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + + + + + select fence_id, + fence_name, + fence_type_id, + fence_state, + fence_message, + create_user_id, + create_time, + update_user_id, + update_time, + remark + from vehicle_fence + + + + + + + and fence_id = #{fenceId} + + + and fence_name = #{fenceName} + + + + + + + + diff --git a/zhilian-modules/zhilian-fence/src/main/resources/mapper/FenceTypeMapper.xml b/zhilian-modules/zhilian-fence/src/main/resources/mapper/FenceTypeMapper.xml new file mode 100644 index 0000000..46572bd --- /dev/null +++ b/zhilian-modules/zhilian-fence/src/main/resources/mapper/FenceTypeMapper.xml @@ -0,0 +1,19 @@ + + + + + + + + + + select t.fence_type_id, + t.fence_type_name + from fence_type t + + + diff --git a/zhilian-modules/zhilian-system/src/main/java/com/zhilian/system/domain/SysConfig.java b/zhilian-modules/zhilian-system/src/main/java/com/zhilian/system/domain/SysConfig.java index d7aebfa..fc90bf9 100644 --- a/zhilian-modules/zhilian-system/src/main/java/com/zhilian/system/domain/SysConfig.java +++ b/zhilian-modules/zhilian-system/src/main/java/com/zhilian/system/domain/SysConfig.java @@ -123,4 +123,6 @@ public class SysConfig extends BaseEntity { .append("remark", getRemark()) .toString(); } + + } From 8e21d94c24c058371a5d8dc821f5bbba051fa95d Mon Sep 17 00:00:00 2001 From: Su ZeJing <3039179835@qq.com> Date: Mon, 1 Apr 2024 19:59:23 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E7=94=B5=E5=AD=90=E5=9B=B4=E6=A0=8F?= =?UTF-8?q?=E5=90=8E=E5=8F=B0=E5=8A=9F=E8=83=BD=E5=BC=80=E5=8F=91=E7=BB=93?= =?UTF-8?q?=E6=9D=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../zhilian/controller/FenceController.java | 6 ++--- .../main/java/com/zhilian/domain/Fence.java | 23 ++++++++++++++----- .../java/com/zhilian/domain/FenceType.java | 3 +-- .../com/zhilian/service/FenceService.java | 2 ++ .../service/impl/FenceServiceImpl.java | 9 +++++++- 5 files changed, 31 insertions(+), 12 deletions(-) diff --git a/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/controller/FenceController.java b/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/controller/FenceController.java index 70daa75..b6ed4ed 100644 --- a/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/controller/FenceController.java +++ b/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/controller/FenceController.java @@ -52,10 +52,10 @@ public class FenceController extends BaseController { * @param fence * @return */ - @PutMapping - public Result edit(@Validated @RequestBody Fence fence){ + @PutMapping("/edit") + public Result edit(@RequestBody Fence fence){ fence.setUpdateBy(SecurityUtils.getUsername()); - return toAjax(fenceService.updateById(fence)); + return toAjax(fenceService.updateFence(Fence.updateReqBuild(fence))); } /** diff --git a/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/domain/Fence.java b/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/domain/Fence.java index 5f996ea..434f428 100644 --- a/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/domain/Fence.java +++ b/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/domain/Fence.java @@ -1,6 +1,7 @@ package com.zhilian.domain; import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; @@ -38,21 +39,25 @@ public class Fence extends BaseEntity { * 电子围栏名称 */ @Excel(name = "电子围栏名称") + @TableField("fence_name") private String fenceName; /** * 电子围栏类型编号 */ @Excel(name = "电子围栏类型编号") + @TableField("fence_type_id") private Long fenceTypeId; /** * 电子围栏状态 */ @Excel(name = "电子围栏状态") + @TableField("fence_state") private Long fenceState; /** * 电子围栏经纬度信息 */ @Excel(name = "电子围栏经纬度信息") + @TableField("fence_message") private String fenceMessage; // /** @@ -94,8 +99,7 @@ public class Fence extends BaseEntity { public void setFenceId(Long fenceId) { this.fenceId = fenceId; } - @NotBlank(message = "围栏名称不能为空") - @Size(min=0,max=100,message = "围栏名称不能超过100个字符") + public String getFenceName() { return fenceName; } @@ -103,8 +107,7 @@ public class Fence extends BaseEntity { public void setFenceName(String fenceName) { this.fenceName = fenceName; } - @NotBlank(message = "围栏类型不能为空") - @Size(min = 0,max = 10,message = "围栏类型不能超过10个字符") + public Long getFenceTypeId() { return fenceTypeId; } @@ -120,8 +123,7 @@ public class Fence extends BaseEntity { public void setFenceState(Long fenceState) { this.fenceState = fenceState; } - @NotBlank(message = "围栏经纬度不能为空") - @Size(min = 0,max = 300,message = "围栏经纬度不能超过300个字符") + public String getFenceMessage() { return fenceMessage; } @@ -149,4 +151,13 @@ public class Fence extends BaseEntity { // .append("params", getParams()) // .toString(); // } + + public static Fence updateReqBuild(Fence fence) { + return Fence.builder() + .fenceId(fence.getFenceId()) + .fenceName(fence.getFenceName()) + .fenceTypeId(fence.getFenceTypeId()) + .fenceState(fence.getFenceState()) + .build(); + } } diff --git a/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/domain/FenceType.java b/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/domain/FenceType.java index a8c0b18..938d9af 100644 --- a/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/domain/FenceType.java +++ b/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/domain/FenceType.java @@ -15,9 +15,8 @@ import lombok.experimental.SuperBuilder; @SuperBuilder @NoArgsConstructor @AllArgsConstructor -@EqualsAndHashCode(callSuper = true) @TableName("fence_type") -public class FenceType extends BaseEntity { +public class FenceType{ /** * 围栏类型编号 */ diff --git a/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/service/FenceService.java b/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/service/FenceService.java index 3ac9aac..82ebc5f 100644 --- a/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/service/FenceService.java +++ b/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/service/FenceService.java @@ -14,4 +14,6 @@ public interface FenceService extends IService { */ List pageQuery(FenceRequest fenceRequest); + int updateFence(Fence fence); + } diff --git a/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/service/impl/FenceServiceImpl.java b/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/service/impl/FenceServiceImpl.java index 939ab28..503e80f 100644 --- a/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/service/impl/FenceServiceImpl.java +++ b/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/service/impl/FenceServiceImpl.java @@ -7,6 +7,7 @@ import com.zhilian.domain.Fence; import com.zhilian.domain.request.FenceRequest; import com.zhilian.mapper.FenceMapper; import com.zhilian.service.FenceService; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Date; @@ -15,7 +16,8 @@ import java.util.Objects; @Service public class FenceServiceImpl extends ServiceImpl implements FenceService { - + @Autowired + private FenceMapper fenceMapper; @Override public List pageQuery(FenceRequest fenceRequest) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); @@ -27,4 +29,9 @@ public class FenceServiceImpl extends ServiceImpl implements } return this.list(queryWrapper); } + + @Override + public int updateFence(Fence fence) { + return fenceMapper.updateById(fence); + } } From 4353fb41a662b6ea607300a959039ccac9510052 Mon Sep 17 00:00:00 2001 From: Su ZeJing <3039179835@qq.com> Date: Tue, 2 Apr 2024 14:58:53 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E7=94=B5=E5=AD=90=E5=9B=B4=E6=A0=8F?= =?UTF-8?q?=E5=90=8E=E5=8F=B0=E5=8A=9F=E8=83=BD=E5=BC=80=E5=8F=91=E7=BB=93?= =?UTF-8?q?=E6=9D=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- zhilian-modules/pom.xml | 1 - .../zhilian/business}/FenceApplication.java | 2 +- .../business/controller/FenceController.java | 72 ++++++++ .../com/zhilian/business/domain/Fence.java | 55 ++++++ .../com/zhilian/business/domain/FenceVo.java | 43 +++++ .../business/domain/request/FenceRequest.java | 31 ++++ .../zhilian/business/mapper/FenceMapper.java | 15 ++ .../business/service/FenceService.java | 14 ++ .../service/impl/FenceServiceImpl.java | 38 ++++ .../src/main/resources/mapper/FenceMapper.xml | 59 +++++++ zhilian-modules/zhilian-fence/pom.xml | 115 ------------ .../zhilian/controller/FenceController.java | 72 -------- .../controller/FenceTypeController.java | 25 --- .../main/java/com/zhilian/domain/Fence.java | 163 ------------------ .../java/com/zhilian/domain/FenceType.java | 30 ---- .../zhilian/domain/request/FenceRequest.java | 50 ------ .../domain/response/FenceResponse.java | 29 ---- .../java/com/zhilian/mapper/FenceMapper.java | 9 - .../com/zhilian/mapper/FenceTypeMapper.java | 12 -- .../com/zhilian/service/FenceService.java | 19 -- .../com/zhilian/service/FenceTypeService.java | 10 -- .../service/impl/FenceServiceImpl.java | 37 ---- .../service/impl/FenceTypeServiceImpl.java | 32 ---- .../src/main/resources/logback.xml | 74 -------- .../src/main/resources/mapper/FenceMapper.xml | 61 ------- .../main/resources/mapper/FenceTypeMapper.xml | 19 -- 26 files changed, 328 insertions(+), 759 deletions(-) rename zhilian-modules/{zhilian-fence/src/main/java/com/zhilian => zhilian-business/src/main/java/com/zhilian/business}/FenceApplication.java (94%) create mode 100644 zhilian-modules/zhilian-business/src/main/java/com/zhilian/business/controller/FenceController.java create mode 100644 zhilian-modules/zhilian-business/src/main/java/com/zhilian/business/domain/Fence.java create mode 100644 zhilian-modules/zhilian-business/src/main/java/com/zhilian/business/domain/FenceVo.java create mode 100644 zhilian-modules/zhilian-business/src/main/java/com/zhilian/business/domain/request/FenceRequest.java create mode 100644 zhilian-modules/zhilian-business/src/main/java/com/zhilian/business/mapper/FenceMapper.java create mode 100644 zhilian-modules/zhilian-business/src/main/java/com/zhilian/business/service/FenceService.java create mode 100644 zhilian-modules/zhilian-business/src/main/java/com/zhilian/business/service/impl/FenceServiceImpl.java create mode 100644 zhilian-modules/zhilian-business/src/main/resources/mapper/FenceMapper.xml delete mode 100644 zhilian-modules/zhilian-fence/pom.xml delete mode 100644 zhilian-modules/zhilian-fence/src/main/java/com/zhilian/controller/FenceController.java delete mode 100644 zhilian-modules/zhilian-fence/src/main/java/com/zhilian/controller/FenceTypeController.java delete mode 100644 zhilian-modules/zhilian-fence/src/main/java/com/zhilian/domain/Fence.java delete mode 100644 zhilian-modules/zhilian-fence/src/main/java/com/zhilian/domain/FenceType.java delete mode 100644 zhilian-modules/zhilian-fence/src/main/java/com/zhilian/domain/request/FenceRequest.java delete mode 100644 zhilian-modules/zhilian-fence/src/main/java/com/zhilian/domain/response/FenceResponse.java delete mode 100644 zhilian-modules/zhilian-fence/src/main/java/com/zhilian/mapper/FenceMapper.java delete mode 100644 zhilian-modules/zhilian-fence/src/main/java/com/zhilian/mapper/FenceTypeMapper.java delete mode 100644 zhilian-modules/zhilian-fence/src/main/java/com/zhilian/service/FenceService.java delete mode 100644 zhilian-modules/zhilian-fence/src/main/java/com/zhilian/service/FenceTypeService.java delete mode 100644 zhilian-modules/zhilian-fence/src/main/java/com/zhilian/service/impl/FenceServiceImpl.java delete mode 100644 zhilian-modules/zhilian-fence/src/main/java/com/zhilian/service/impl/FenceTypeServiceImpl.java delete mode 100644 zhilian-modules/zhilian-fence/src/main/resources/logback.xml delete mode 100644 zhilian-modules/zhilian-fence/src/main/resources/mapper/FenceMapper.xml delete mode 100644 zhilian-modules/zhilian-fence/src/main/resources/mapper/FenceTypeMapper.xml diff --git a/zhilian-modules/pom.xml b/zhilian-modules/pom.xml index cc52d57..da36d68 100644 --- a/zhilian-modules/pom.xml +++ b/zhilian-modules/pom.xml @@ -17,7 +17,6 @@ zhilian-resolver zhilian-business zhilian-manager - zhilian-fence zhilian-modules diff --git a/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/FenceApplication.java b/zhilian-modules/zhilian-business/src/main/java/com/zhilian/business/FenceApplication.java similarity index 94% rename from zhilian-modules/zhilian-fence/src/main/java/com/zhilian/FenceApplication.java rename to zhilian-modules/zhilian-business/src/main/java/com/zhilian/business/FenceApplication.java index 8f96151..a43366b 100644 --- a/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/FenceApplication.java +++ b/zhilian-modules/zhilian-business/src/main/java/com/zhilian/business/FenceApplication.java @@ -1,4 +1,4 @@ -package com.zhilian; +package com.zhilian.business; import com.zhilian.common.security.annotation.EnableCustomConfig; import com.zhilian.common.security.annotation.EnableMyFeignClients; diff --git a/zhilian-modules/zhilian-business/src/main/java/com/zhilian/business/controller/FenceController.java b/zhilian-modules/zhilian-business/src/main/java/com/zhilian/business/controller/FenceController.java new file mode 100644 index 0000000..c7225df --- /dev/null +++ b/zhilian-modules/zhilian-business/src/main/java/com/zhilian/business/controller/FenceController.java @@ -0,0 +1,72 @@ +package com.zhilian.business.controller; + +import com.github.pagehelper.PageInfo; +import com.zhilian.common.core.domain.Result; +import com.zhilian.common.core.web.controller.BaseController; +import com.zhilian.business.domain.Fence; +import com.zhilian.business.domain.FenceVo; +import com.zhilian.business.service.FenceService; +import com.zhilian.common.security.utils.SecurityUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +/** + * @ClassName FenceController + * @Description 电子围栏控制层 + * @Author ZeJinG.Su + * @Date 14:37 2024/3/29 + */ +@RestController +@RequestMapping("fence") +public class FenceController extends BaseController { + @Autowired + private FenceService fenceService; + + /** + * TODO: 围栏管理 + */ + @PostMapping("/list") + public Result> fenceList(@RequestBody FenceVo fenceVo) { + return success(fenceService.fenceList(fenceVo)); + } + + /** + * 新增围栏 + * @param fence + * @return + */ + @PostMapping("/fenceAdd") + public Result fenceAdd(@RequestBody Fence fence) { + boolean i = fenceService.save(fence); + return toAjax(i); + } + +// @PostMapping("insertFence") +// public Result insertFence(@RequestBody Fence fence) { +// Result result = fenceService.insertFence(fence); +// return Result.success(); +// } + + /** + * 修改电子围栏 + */ + // @RequiresPermissions("system:config:fenceAdd") + @PostMapping("/fenceUpdate") + public Result fenceUpdate(@RequestBody Fence fence) { + boolean i = fenceService.updateById(fence); + return toAjax(i); + } + + /** + * 删除围栏 + * @param + * @return + */ + @PostMapping("/fenceDelete/{fenceId}") + public Result fenceDelete(@PathVariable String fenceId) { + boolean i = fenceService.removeById(fenceId); + return toAjax(i); + } + +} diff --git a/zhilian-modules/zhilian-business/src/main/java/com/zhilian/business/domain/Fence.java b/zhilian-modules/zhilian-business/src/main/java/com/zhilian/business/domain/Fence.java new file mode 100644 index 0000000..d2ca129 --- /dev/null +++ b/zhilian-modules/zhilian-business/src/main/java/com/zhilian/business/domain/Fence.java @@ -0,0 +1,55 @@ +package com.zhilian.business.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.zhilian.common.core.annotation.Excel; +import com.zhilian.common.core.web.domain.BaseEntity; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +@Data +@SuperBuilder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +@TableName("business_fence") +public class Fence extends BaseEntity { + private static final long serialVersionUID = 1L; + /** + * 电子围栏编号 + */ + @Excel(name = "参数主键", cellType = Excel.ColumnType.NUMERIC) + @TableId(value = "fence_id", type = IdType.AUTO) + private Long fenceId; + /** + * 电子围栏名称 + */ + @Excel(name = "电子围栏名称") + @TableField("fence_name") + private String fenceName; + /** + * 电子围栏类型编号 + */ + @Excel(name = "电子围栏类型编号") + @TableField("fence_type_id") + private Long fenceTypeId; + /** + * 电子围栏状态 + */ + @Excel(name = "电子围栏状态") + @TableField("fence_state") + private Long fenceState; + /** + * 电子围栏经纬度信息 + */ + @Excel(name = "电子围栏经纬度信息") + @TableField("fence_message") + private String fenceMessage; + + +} diff --git a/zhilian-modules/zhilian-business/src/main/java/com/zhilian/business/domain/FenceVo.java b/zhilian-modules/zhilian-business/src/main/java/com/zhilian/business/domain/FenceVo.java new file mode 100644 index 0000000..eeb2fe3 --- /dev/null +++ b/zhilian-modules/zhilian-business/src/main/java/com/zhilian/business/domain/FenceVo.java @@ -0,0 +1,43 @@ +package com.zhilian.business.domain; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.ToString; + +/** + * @ClassName FenceResp //类名称 + * @Author: yannan //作者 + * @CreateDate: 2024/3/26 20:03 //创建时间 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@ToString +public class FenceVo { + + + /** + * 围栏名称 + */ + private String fenceName; + + /** + * 围栏类型 + */ + private Long fenceTypeId; + + /** + * 围栏状态 + */ + private Long fenceState; + + + /** + * 分页查询 + */ + private Integer pageNum=1; + private Integer pageSize=5; + + +} diff --git a/zhilian-modules/zhilian-business/src/main/java/com/zhilian/business/domain/request/FenceRequest.java b/zhilian-modules/zhilian-business/src/main/java/com/zhilian/business/domain/request/FenceRequest.java new file mode 100644 index 0000000..2898904 --- /dev/null +++ b/zhilian-modules/zhilian-business/src/main/java/com/zhilian/business/domain/request/FenceRequest.java @@ -0,0 +1,31 @@ +package com.zhilian.business.domain.request; + +import com.zhilian.common.core.web.domain.BaseEntity; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +@Data +@SuperBuilder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class FenceRequest extends BaseEntity { + private static final long serialVersionUID = 1L; + /** + * 电子围栏名称 + */ + private String fenceName; + /** + * 电子围栏类型编号 + */ + private Long fenceTypeId; + /** + * 电子围栏状态 + */ + private Long fenceState; + + +} diff --git a/zhilian-modules/zhilian-business/src/main/java/com/zhilian/business/mapper/FenceMapper.java b/zhilian-modules/zhilian-business/src/main/java/com/zhilian/business/mapper/FenceMapper.java new file mode 100644 index 0000000..9b4c3c8 --- /dev/null +++ b/zhilian-modules/zhilian-business/src/main/java/com/zhilian/business/mapper/FenceMapper.java @@ -0,0 +1,15 @@ +package com.zhilian.business.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.zhilian.business.domain.Fence; +import com.zhilian.business.domain.FenceVo; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Component; + +import java.util.List; + +@Mapper +@Component +public interface FenceMapper extends BaseMapper { + List fenceList(FenceVo fenceVo); +} diff --git a/zhilian-modules/zhilian-business/src/main/java/com/zhilian/business/service/FenceService.java b/zhilian-modules/zhilian-business/src/main/java/com/zhilian/business/service/FenceService.java new file mode 100644 index 0000000..9a39ef7 --- /dev/null +++ b/zhilian-modules/zhilian-business/src/main/java/com/zhilian/business/service/FenceService.java @@ -0,0 +1,14 @@ +package com.zhilian.business.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.github.pagehelper.PageInfo; +import com.zhilian.business.domain.Fence; +import com.zhilian.business.domain.FenceVo; +import com.zhilian.common.core.domain.Result; + +public interface FenceService extends IService { + PageInfo fenceList(FenceVo fenceVo); + + +// Result insertFence(Fence fence); +} diff --git a/zhilian-modules/zhilian-business/src/main/java/com/zhilian/business/service/impl/FenceServiceImpl.java b/zhilian-modules/zhilian-business/src/main/java/com/zhilian/business/service/impl/FenceServiceImpl.java new file mode 100644 index 0000000..6d979b9 --- /dev/null +++ b/zhilian-modules/zhilian-business/src/main/java/com/zhilian/business/service/impl/FenceServiceImpl.java @@ -0,0 +1,38 @@ +package com.zhilian.business.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import com.zhilian.business.domain.Fence; +import com.zhilian.business.domain.FenceVo; +import com.zhilian.business.mapper.FenceMapper; +import com.zhilian.business.service.FenceService; +import com.zhilian.common.core.domain.Result; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +public class FenceServiceImpl extends ServiceImpl implements FenceService { + @Autowired + private FenceMapper fenceMapper; + @Override + public PageInfo fenceList(FenceVo fenceVo) { + + PageHelper.startPage(fenceVo.getPageNum(),fenceVo.getPageSize()); + + List list=fenceMapper.fenceList(fenceVo); + + PageInfo info = new PageInfo(list); + + return info; + } + +// @Override +// public Result insertFence(Fence fence) { +// boolean save = this.save(fence); +// return Result.success(save); +// } + +} diff --git a/zhilian-modules/zhilian-business/src/main/resources/mapper/FenceMapper.xml b/zhilian-modules/zhilian-business/src/main/resources/mapper/FenceMapper.xml new file mode 100644 index 0000000..7ae037c --- /dev/null +++ b/zhilian-modules/zhilian-business/src/main/resources/mapper/FenceMapper.xml @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/zhilian-modules/zhilian-fence/pom.xml b/zhilian-modules/zhilian-fence/pom.xml deleted file mode 100644 index 9450e5e..0000000 --- a/zhilian-modules/zhilian-fence/pom.xml +++ /dev/null @@ -1,115 +0,0 @@ - - - 4.0.0 - - com.zhilian - zhilian-modules - 3.6.3 - - - zhilian-fence - - - 17 - 17 - UTF-8 - - - - - - com.alibaba.cloud - spring-cloud-starter-alibaba-nacos-discovery - - - - - com.alibaba.cloud - spring-cloud-starter-alibaba-nacos-config - - - - - com.alibaba.cloud - spring-cloud-starter-alibaba-sentinel - - - - - org.springframework.boot - spring-boot-starter-actuator - - - - - com.github.tobato - fastdfs-client - - - - - io.minio - minio - ${minio.version} - - - - - - com.zhilian - zhilian-common-swagger - - - - - com.zhilian - zhilian-common-system - - - - - com.mysql - mysql-connector-j - - - - com.zhilian - zhilian-common-security - - - com.zhilian - zhilian-common-log - - - - - - - - ${project.artifactId} - - - org.springframework.boot - spring-boot-maven-plugin - - - - repackage - - - - - - - org.apache.maven.plugins - maven-deploy-plugin - - true - - - - - - diff --git a/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/controller/FenceController.java b/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/controller/FenceController.java deleted file mode 100644 index b6ed4ed..0000000 --- a/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/controller/FenceController.java +++ /dev/null @@ -1,72 +0,0 @@ -package com.zhilian.controller; - -import com.zhilian.common.core.domain.Result; -import com.zhilian.common.core.web.controller.BaseController; -import com.zhilian.common.core.web.page.TableDataInfo; -import com.zhilian.common.security.utils.SecurityUtils; -import com.zhilian.domain.Fence; -import com.zhilian.domain.request.FenceRequest; -import com.zhilian.service.FenceService; -import io.swagger.v3.oas.annotations.parameters.RequestBody; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.util.Arrays; -import java.util.List; -/** - * @ClassName FenceController - * @Description 电子围栏控制层 - * @Author ZeJinG.Su - * @Date 14:37 2024/3/29 - */ -@RestController -@RequestMapping("fence") -public class FenceController extends BaseController { - @Autowired - private FenceService fenceService; - - /** - * TODO: 围栏管理 - */ - @GetMapping("/list") - public Result> list (FenceRequest fenceRequest) { - startPage(); - List list = fenceService.pageQuery(fenceRequest); - return getDataTable(list); - } - - /** - * 新增围栏 - * @param fence - * @return - */ - @PostMapping - public Result add(@Validated @RequestBody Fence fence){ - fence.setCreateBy(SecurityUtils.getUsername()); - return toAjax(fenceService.save(fence)); - } - - /** - * 编辑围栏 - * @param fence - * @return - */ - @PutMapping("/edit") - public Result edit(@RequestBody Fence fence){ - fence.setUpdateBy(SecurityUtils.getUsername()); - return toAjax(fenceService.updateFence(Fence.updateReqBuild(fence))); - } - - /** - * 删除围栏 - * @param fenceIds - * @return - */ - @DeleteMapping("/{fenceIds}") - public Result remove(@PathVariable Long[] fenceIds){ - fenceService.removeBatchByIds(Arrays.asList(fenceIds)); - return success(); - } - -} diff --git a/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/controller/FenceTypeController.java b/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/controller/FenceTypeController.java deleted file mode 100644 index a233b11..0000000 --- a/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/controller/FenceTypeController.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.zhilian.controller; - -import com.zhilian.common.core.domain.Result; -import com.zhilian.common.core.web.controller.BaseController; -import com.zhilian.domain.FenceType; -import com.zhilian.service.FenceTypeService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import java.util.List; - -@RestController -@RequestMapping("/fenceType") -public class FenceTypeController extends BaseController { - @Autowired - private FenceTypeService fenceTypeService; - - @GetMapping("/list") - public Result> list(){ - List list = fenceTypeService.selectFenceTypeList(); - return success(list); - } -} diff --git a/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/domain/Fence.java b/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/domain/Fence.java deleted file mode 100644 index 434f428..0000000 --- a/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/domain/Fence.java +++ /dev/null @@ -1,163 +0,0 @@ -package com.zhilian.domain; - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.annotation.JsonIgnore; -import com.zhilian.common.core.annotation.Excel; -import com.zhilian.common.core.web.domain.BaseEntity; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; -import lombok.experimental.SuperBuilder; -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; - -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.Size; -import java.util.Date; -import java.util.Map; - -@Data -@SuperBuilder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -@TableName("vehicle_fence") -public class Fence extends BaseEntity { - private static final long serialVersionUID = 1L; - /** - * 电子围栏编号 - */ - @Excel(name = "参数主键", cellType = Excel.ColumnType.NUMERIC) - @TableId(value = "fence_id", type = IdType.AUTO) - private Long fenceId; - /** - * 电子围栏名称 - */ - @Excel(name = "电子围栏名称") - @TableField("fence_name") - private String fenceName; - /** - * 电子围栏类型编号 - */ - @Excel(name = "电子围栏类型编号") - @TableField("fence_type_id") - private Long fenceTypeId; - /** - * 电子围栏状态 - */ - @Excel(name = "电子围栏状态") - @TableField("fence_state") - private Long fenceState; - /** - * 电子围栏经纬度信息 - */ - @Excel(name = "电子围栏经纬度信息") - @TableField("fence_message") - private String fenceMessage; - -// /** -// * 创建者 -// */ -// @Excel(name = "创建者") -// private String createBy; -// -// /** -// * 创建时间 -// */ -// @Excel(name = "创建时间") -// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") -// private Date createTime; -// -// /** -// * 更新者 -// */ -// @Excel(name = "更新者") -// private String updateBy; -// -// /** -// * 更新时间 -// */ -// @Excel(name = "更新时间") -// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") -// private Date updateTime; -// -// /** -// * 备注 -// */ -// @Excel(name = "备注") -// private String remark; - - public Long getFenceId() { - return fenceId; - } - - public void setFenceId(Long fenceId) { - this.fenceId = fenceId; - } - - public String getFenceName() { - return fenceName; - } - - public void setFenceName(String fenceName) { - this.fenceName = fenceName; - } - - public Long getFenceTypeId() { - return fenceTypeId; - } - - public void setFenceTypeId(Long fenceTypeId) { - this.fenceTypeId = fenceTypeId; - } - - public Long getFenceState() { - return fenceState; - } - - public void setFenceState(Long fenceState) { - this.fenceState = fenceState; - } - - public String getFenceMessage() { - return fenceMessage; - } - - public void setFenceMessage(String fenceMessage) { - this.fenceMessage = fenceMessage; - } - - // @JsonIgnore // 忽略基类中的 params 字段 -// private Map params; -// -// @Override -// public String toString() { -// return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) -// .append("fenceId", getFenceId()) -// .append("fenceName", getFenceName()) -// .append("fenceTypeId", getFenceTypeId()) -// .append("fenceState", getFenceState()) -// .append("fenceMessage", getFenceMessage()) -// .append("createBy", getCreateBy()) -// .append("createTime", getCreateTime()) -// .append("updateBy", getUpdateBy()) -// .append("updateTime", getUpdateTime()) -// .append("remark", getRemark()) -// .append("params", getParams()) -// .toString(); -// } - - public static Fence updateReqBuild(Fence fence) { - return Fence.builder() - .fenceId(fence.getFenceId()) - .fenceName(fence.getFenceName()) - .fenceTypeId(fence.getFenceTypeId()) - .fenceState(fence.getFenceState()) - .build(); - } -} diff --git a/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/domain/FenceType.java b/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/domain/FenceType.java deleted file mode 100644 index 938d9af..0000000 --- a/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/domain/FenceType.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.zhilian.domain; - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.zhilian.common.core.annotation.Excel; -import com.zhilian.common.core.web.domain.BaseEntity; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; -import lombok.experimental.SuperBuilder; - -@Data -@SuperBuilder -@NoArgsConstructor -@AllArgsConstructor -@TableName("fence_type") -public class FenceType{ - /** - * 围栏类型编号 - */ - @Excel(name = "参数主键", cellType = Excel.ColumnType.NUMERIC) - @TableId(value = "fence_type_id", type = IdType.AUTO) - private Long fenceTypeId; - /** - * 围栏类型名称:驶入驶出 - */ - private String fenceTypeName; -} diff --git a/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/domain/request/FenceRequest.java b/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/domain/request/FenceRequest.java deleted file mode 100644 index d883fa4..0000000 --- a/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/domain/request/FenceRequest.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.zhilian.domain.request; - -import com.zhilian.common.core.web.domain.BaseEntity; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; -import lombok.experimental.SuperBuilder; -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; - -import java.util.Map; - -@Data -@SuperBuilder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -public class FenceRequest extends BaseEntity { - private static final long serialVersionUID = 1L; - /** - * 电子围栏名称 - */ - private String fenceName; - /** - * 电子围栏类型编号 - */ - private Long fenceTypeId; - /** - * 电子围栏状态 - */ - private Long fenceState; - - - - - @Override - public String toString () { - return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) - .append("fenceName", getFenceName()) - .append("fenceTypeId", getFenceTypeId()) - .append("fenceState", getFenceState()) - .append("createBy", getCreateBy()) - .append("createTime", getCreateTime()) - .append("updateBy", getUpdateBy()) - .append("updateTime", getUpdateTime()) - .append("remark", getRemark()) - .toString(); - } -} diff --git a/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/domain/response/FenceResponse.java b/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/domain/response/FenceResponse.java deleted file mode 100644 index b5eafe1..0000000 --- a/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/domain/response/FenceResponse.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.zhilian.domain.response; - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableId; -import com.zhilian.common.core.annotation.Excel; -import com.zhilian.domain.Fence; -import com.zhilian.domain.FenceType; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.experimental.SuperBuilder; - -import java.util.Date; - -@Data -@SuperBuilder -@NoArgsConstructor -@AllArgsConstructor -public class FenceResponse { - /** - * 电子围栏表 - */ - private Fence fence; - /** - * 电子围栏类型 - */ - private FenceType fenceType; - -} diff --git a/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/mapper/FenceMapper.java b/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/mapper/FenceMapper.java deleted file mode 100644 index 62b88a6..0000000 --- a/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/mapper/FenceMapper.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.zhilian.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.zhilian.domain.Fence; -import org.apache.ibatis.annotations.Mapper; - -@Mapper -public interface FenceMapper extends BaseMapper { -} diff --git a/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/mapper/FenceTypeMapper.java b/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/mapper/FenceTypeMapper.java deleted file mode 100644 index f3cf938..0000000 --- a/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/mapper/FenceTypeMapper.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.zhilian.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.zhilian.domain.FenceType; -import org.apache.ibatis.annotations.Mapper; - -import java.util.List; - -@Mapper -public interface FenceTypeMapper extends BaseMapper { - List selectFenceTypeList(); -} diff --git a/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/service/FenceService.java b/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/service/FenceService.java deleted file mode 100644 index 82ebc5f..0000000 --- a/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/service/FenceService.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.zhilian.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.zhilian.domain.Fence; -import com.zhilian.domain.request.FenceRequest; - -import java.util.List; - -public interface FenceService extends IService { - /** - * 围栏查询-list - * @param fenceRequest - * @return - */ - List pageQuery(FenceRequest fenceRequest); - - int updateFence(Fence fence); - -} diff --git a/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/service/FenceTypeService.java b/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/service/FenceTypeService.java deleted file mode 100644 index b6f162c..0000000 --- a/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/service/FenceTypeService.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.zhilian.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.zhilian.domain.FenceType; - -import java.util.List; - -public interface FenceTypeService extends IService{ - List selectFenceTypeList(); -} diff --git a/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/service/impl/FenceServiceImpl.java b/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/service/impl/FenceServiceImpl.java deleted file mode 100644 index 503e80f..0000000 --- a/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/service/impl/FenceServiceImpl.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.zhilian.service.impl; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.zhilian.common.core.utils.StringUtils; -import com.zhilian.domain.Fence; -import com.zhilian.domain.request.FenceRequest; -import com.zhilian.mapper.FenceMapper; -import com.zhilian.service.FenceService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.util.Date; -import java.util.List; -import java.util.Objects; - -@Service -public class FenceServiceImpl extends ServiceImpl implements FenceService { - @Autowired - private FenceMapper fenceMapper; - @Override - public List pageQuery(FenceRequest fenceRequest) { - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - if (StringUtils.isNotEmpty(fenceRequest.getFenceName())){ - queryWrapper.like(Fence::getFenceName, fenceRequest.getFenceName()); - } - if (fenceRequest.getFenceTypeId()!= null){ - queryWrapper.like(Fence::getFenceTypeId, fenceRequest.getFenceTypeId()); - } - return this.list(queryWrapper); - } - - @Override - public int updateFence(Fence fence) { - return fenceMapper.updateById(fence); - } -} diff --git a/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/service/impl/FenceTypeServiceImpl.java b/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/service/impl/FenceTypeServiceImpl.java deleted file mode 100644 index 60181ce..0000000 --- a/zhilian-modules/zhilian-fence/src/main/java/com/zhilian/service/impl/FenceTypeServiceImpl.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.zhilian.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.zhilian.common.redis.service.RedisService; -import com.zhilian.domain.Fence; -import com.zhilian.domain.FenceType; -import com.zhilian.mapper.FenceTypeMapper; -import com.zhilian.service.FenceService; -import com.zhilian.service.FenceTypeService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.util.List; - -@Service -public class FenceTypeServiceImpl extends ServiceImpl implements FenceTypeService { - @Autowired - private FenceTypeMapper fenceTypeMapper; - - @Autowired - private RedisService redisService; - @Override - public List selectFenceTypeList() { - if(redisService.hasKey("fenceType")){ - List fenceTypeShow = redisService.getCacheList("fenceType"); - return fenceTypeShow; - } - List fenceTypes = fenceTypeMapper.selectFenceTypeList(); - redisService.setCacheList("fenceType",fenceTypes); - return fenceTypes; - } -} diff --git a/zhilian-modules/zhilian-fence/src/main/resources/logback.xml b/zhilian-modules/zhilian-fence/src/main/resources/logback.xml deleted file mode 100644 index d953225..0000000 --- a/zhilian-modules/zhilian-fence/src/main/resources/logback.xml +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - - - - - ${log.pattern} - - - - - - ${log.path}/info.log - - - - ${log.path}/info.%d{yyyy-MM-dd}.log - - 60 - - - ${log.pattern} - - - - INFO - - ACCEPT - - DENY - - - - - ${log.path}/error.log - - - - ${log.path}/error.%d{yyyy-MM-dd}.log - - 60 - - - ${log.pattern} - - - - ERROR - - ACCEPT - - DENY - - - - - - - - - - - - - - - - - - diff --git a/zhilian-modules/zhilian-fence/src/main/resources/mapper/FenceMapper.xml b/zhilian-modules/zhilian-fence/src/main/resources/mapper/FenceMapper.xml deleted file mode 100644 index d9eb105..0000000 --- a/zhilian-modules/zhilian-fence/src/main/resources/mapper/FenceMapper.xml +++ /dev/null @@ -1,61 +0,0 @@ - - - - - - - - - - - - - - - - - - select fence_id, - fence_name, - fence_type_id, - fence_state, - fence_message, - create_user_id, - create_time, - update_user_id, - update_time, - remark - from vehicle_fence - - - - - - - and fence_id = #{fenceId} - - - and fence_name = #{fenceName} - - - - - - - - diff --git a/zhilian-modules/zhilian-fence/src/main/resources/mapper/FenceTypeMapper.xml b/zhilian-modules/zhilian-fence/src/main/resources/mapper/FenceTypeMapper.xml deleted file mode 100644 index 46572bd..0000000 --- a/zhilian-modules/zhilian-fence/src/main/resources/mapper/FenceTypeMapper.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - select t.fence_type_id, - t.fence_type_name - from fence_type t - - -