添加注解

master
chenchenxinhai 2023-11-24 09:33:47 +08:00
parent 2cfc4be141
commit 5fe71701dc
37 changed files with 1453 additions and 254 deletions

View File

@ -43,6 +43,11 @@
<groupId>com.god</groupId> <groupId>com.god</groupId>
<artifactId>god-common-swagger</artifactId> <artifactId>god-common-swagger</artifactId>
</dependency> </dependency>
<dependency>
<groupId>com.bawei</groupId>
<artifactId>bawei-common-core</artifactId>
<version>3.6.0</version>
</dependency>
</dependencies> </dependencies>

View File

@ -1,30 +0,0 @@
package com.god.base.common;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Fence {
/** 电子围栏ID */
private Integer fenceId ;
/** 围栏名称 */
private String fenceName ;
/** 围栏经纬度 */
private String fenceLat ;
/** 激活状态 */
private Integer fenceStatus ;
/** 操作时间 */
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private Date fenceTime ;
/** 操作者 */
private Integer createBy ;
}

View File

@ -0,0 +1,45 @@
package com.god.base.common.domain;
import com.baomidou.mybatisplus.annotation.TableName;
import com.god.common.core.web.domain.BaseEntity;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import javax.validation.constraints.NotEmpty;
import java.util.Date;
/**
*
*
* @author ChenXinHai
* @version 2023/11/20 - 19:08
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
@TableName("t_car_breakdown")
public class Breakdown {
// 故障信息表Id
private Integer id;
// 车辆VIN
private String carVin;
// 故障码Id
@NotEmpty(message = "故障码Id不能为空")
private String breadownId;
// 故障状态
private Integer status;
// 故障开始时间
private Date createTime;
// 故障结束时间
private Date endTime;
// 创建者
private String createBy;
// 更新人
private String updateBy;
// 更新时间
private Date updateTime;
}

View File

@ -0,0 +1,55 @@
package com.god.base.common.domain;
import com.god.common.core.annotation.Excel;
import com.god.common.core.web.domain.BaseEntity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
/**
*
*
* @author ChenXinHai
* @version 2023/11/21 - 14:59
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@SuperBuilder
public class Fault {
/** 故障id */
private Integer faultId;
/** 故障类型 */
@Excel(name = "故障类型")
private String faultType;
/** 故障组 */
@Excel(name = "故障组")
private String faultGroup;
/** 故障位 */
@Excel(name = "故障位")
private String faultSite;
/** 故障值 */
@Excel(name = "故障值")
private String faultValue;
/** 故障标签 */
@Excel(name = "故障标签")
private String faultLabel;
/** 故障码 */
@Excel(name = "故障码")
private String faultCoed;
/** 是否警告 */
@Excel(name = "是否警告")
private Long isWarn;
}

View File

@ -0,0 +1,65 @@
package com.god.base.common.domain;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
/**
*
*
* @author ChenXinHai
* @version 2023/11/22 - 19:26
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@SuperBuilder
public class Faultcodealarm {
/**
*
*/
private Integer serialNumber;
/**
*
*/
private Integer faultId;
/**
*
*/
private String faultName;
/**
*
*/
private String vehicleAnnouncementType;
/**
*
*/
private String parts;
/**
*
*/
private String faultDescribe;
/**
*
*/
private String faultType;
/**
*
*/
private String faultRankDescribe;
/**
*
*/
private Long isWarn;
/**
*
*/
private String responseMode;
/**
*
*/
private String ifCreate;
}

View File

@ -0,0 +1,23 @@
package com.god.base.common.domain;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
*
*
* @author ChenXinHai
* @version 2023/11/23 - 19:13
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class MessageModel {
/**
*
*/
private String messageId;
}

View File

@ -0,0 +1,44 @@
package com.god.base.common.domain;
import com.alibaba.druid.util.StringUtils;
import com.baomidou.mybatisplus.core.metadata.OrderItem;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
/**
*
*
* @author ChenXinHai
* @version 2023/11/20 - 20:00
*/
@Data
@SuperBuilder
@AllArgsConstructor
@NoArgsConstructor
public class PageQuery {
/**
*
*/
private Integer page;
/**
*
*/
private Integer pageSize;
/**
*
*/
private String orderBy;
public <T> Page<T> buildPage() {
Page<T> page = new Page<>(this.getPage(), this.getPageSize());
if (StringUtils.isEmpty(this.getOrderBy())){
page.addOrder(OrderItem.asc(this.getOrderBy()));
}
return page;
}
}

View File

@ -0,0 +1,73 @@
package com.god.base.common.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
*
*
* @author ChenXinHai
* @version 2023/11/22 - 18:31
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("request_log")
public class RequestLog extends Model<RequestLog> {
private static final long serialVersionUID = 1L;
/**
*
*/
@TableId(value = "id",type = IdType.AUTO)
private Integer id;
/**
*
*/
private String userName;
/**
*
*/
private String userAgent;
/**
* URL
*/
private String requestUrl;
/**
* IP
*/
private String ip;
/**
*
*/
private String declaringSignature;
/**
*
*/
private String args;
/**
*
*/
private String exception;
/**
*
*/
private Integer elapsedTime;
/**
*
*/
private LocalDateTime createTime;
@Override
public Serializable pkVal(){
return this.id;
}
}

View File

@ -0,0 +1,30 @@
package com.god.base.common.domain.request;
import com.god.base.common.domain.PageQuery;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import javax.validation.constraints.NotEmpty;
/**
*
*
* @author ChenXinHai
* @version 2023/11/20 - 19:39
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@SuperBuilder
public class BreakdownRequest extends PageQuery {
// 故障码Id
@NotEmpty(message = "故障码Id不能为空")
private String breadownId;
}

View File

@ -0,0 +1,51 @@
package com.god.base.common.domain.request;
import com.god.common.core.annotation.Excel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
/**
* request
*
* @author ChenXinHai
* @version 2023/11/21 - 18:38
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@SuperBuilder
public class FaultRequest {
/** 故障id */
private Integer faultId;
/** 故障类型 */
@Excel(name = "故障类型")
private String faultType;
/** 故障组 */
@Excel(name = "故障组")
private String faultGroup;
/** 故障位 */
@Excel(name = "故障位")
private String faultSite;
/** 故障值 */
@Excel(name = "故障值")
private String faultValue;
/** 故障标签 */
@Excel(name = "故障标签")
private String faultLabel;
/** 故障码 */
@Excel(name = "故障码")
private String faultCoed;
/** 是否警告 */
@Excel(name = "是否警告")
private Long isWarn;
}

View File

@ -0,0 +1,40 @@
package com.god.base.common.domain.response;
import com.god.base.common.domain.PageQuery;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import java.util.Date;
/**
*
*
* @author ChenXinHai
* @version 2023/11/20 - 19:39
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@SuperBuilder
public class BreakdownResponse extends PageQuery {
// 故障信息表Id
private Integer id;
// 故障码Id
private String breadownId;
// 创建者
private String createBy;
// 创建时间
private Date createTime;
// 更新人
private String updateBy;
// 更新时间
private Date updateTime;
}

View File

@ -1,30 +0,0 @@
package com.god.base.common.response;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class FenceResponse {
/** 电子围栏ID */
private Integer fenceId ;
/** 围栏名称 */
private String fenceName ;
/** 围栏经纬度 */
private String fenceLat ;
/** 激活状态 */
private Integer fenceStatus ;
/** 操作时间 */
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private Date fenceTime ;
/** 操作者 */
private Integer createBy ;
}

View File

@ -0,0 +1,25 @@
package com.god.base.server.config;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.HashMap;
import java.util.Map;
/**
*
*
* @author ChenXinHai
* @version 2023/11/22 - 19:47
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class ErrorConfig {
private Map<String,String> map=new HashMap<>();
private Map<String,String> sentVindMap=new HashMap<>();
}

View File

@ -0,0 +1,28 @@
package com.god.base.server.config;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
/**
* @author ChenXinHai
* @version 2023/11/22 - 19:55
*/
public class SpringUtils implements ApplicationContextAware {
private static ApplicationContext applicationContext;
@Override
public void setApplicationContext(ApplicationContext applicationContext) {
SpringUtils.applicationContext=applicationContext;
}
public static ApplicationContext getApplicationContext(){
return applicationContext;
}
/**
* name bean
*/
public static Object getBean(String name){
return getApplicationContext().getBean(name);
}
}

View File

@ -0,0 +1,102 @@
package com.god.base.server.constant;
/**
*
*
* @author ChenXinHai
* @version 2023/11/22 - 21:48
*/
public enum BreakConstant {
/**
*
*/
GET001("GTX001","vehicleStatus",0),
/**
*
*/
GTX002("GTX002","chargingStatus",0),
/**
*
*/
GTX003("GTX003","operatingStatus",0),
/**
* SOC
*/
GTX004("GTX004","socStatus",0),
/**
*
*/
GTX005("GTX005","chargingEnergyStorageStatus",0),
/**
*
*/
GTX006("GTX006","driveMotorStatus",0),
/**
*
*/
GTX007("GTX007","positionStatus",0),
/**
* EPS
*/
GTO0001("GTO001","epsStatus",0),
/**
* EAS
*/
GTO0002("GTO002","easStatus",0),
/**
* PTC
*/
GTO003("GTO003","ptcStatus",0),
/**
* DCDC
*/
GTO004("GTO004","dcdcStatus",0),
/**
* EPS
*/
GTO005("GTO005","epsStatus",0),
/**
* CHG
*/
GTO006("GTO006","chgStatus",0),
/**
* ABS
*/
GTO007("GTO007","absStatus",0),
/**
* MCU
*/
GTO008("GTO008","mcuStatus",0),
/**
*
*/
GTB001("GTB001","heatingStatus",0),
/**
*
*/
GTB002("GTB002","batteryStatus",0),
/**
*
*/
GTB003("GTB003","batteryInsulationStatus",0);
private String key;
private String value;
private Integer status;
public String key(){
return key;
}
public Integer status(){
return status;
}
public String value(){
return value;
}
public void value(String value){
this.value=value;
}
BreakConstant(String key,String value,Integer status){
this.key=key;
this.value=value;
this.status=status;
}
}

View File

@ -0,0 +1,136 @@
package com.god.base.server.controller;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.nacos.api.model.v2.Result;
import com.bawei.common.core.domain.R;
import com.god.base.common.domain.Breakdown;
import com.god.base.common.domain.Fault;
import com.god.base.common.domain.request.BreakdownRequest;
import com.god.base.server.service.BreakdownService;
import com.god.common.core.utils.poi.ExcelUtil;
import com.god.common.core.web.page.TableDataInfo;
import com.god.common.log.annotation.Log;
import com.god.common.log.enums.BusinessType;
import com.god.common.security.annotation.RequiresPermissions;
import lombok.extern.log4j.Log4j2;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
* controller
*
* @author ChenXinHai
* @version 2023/11/20 - 19:31
*/
@RestController
@RequestMapping("/Breakdown")
@Log4j2
public class BreakdownController {
@Autowired
private BreakdownService breakdownService;
private HttpServletRequest request;
/**
*
* @param breakdown
* @return
*/
@RequiresPermissions("breakedown:breakedown:list")
@GetMapping("/list")
public Result<List<Breakdown>> breakdownList(Breakdown breakdown){
log.info("名称:故障日志列表,请求URI:{},请求方法:{}",request.getRequestURI(),
request.getMethod());
Result<List<Breakdown>> result=breakdownService.breakdown(breakdown);
log.info("名称:故障日志列表,请求URI:{},请求方法:{},响应方法:{}",request.getRequestURI(),
request.getMethod(), JSONObject.toJSONString(result));
return result;
}
/**
*
* @param response
* @param breakdown
*/
@RequiresPermissions("breakdown:breakdown:export")
@Log(title = "故障日志",businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, Breakdown breakdown){
Result<List<Breakdown>> list = breakdownService.breakdown(breakdown);
ExcelUtil<Breakdown> util = new ExcelUtil<>(Breakdown.class);
// 对list数据源将其里面的数据导入出来
util.exportExcel(response,list.getData(),"车辆故障码");
}
/**
*
* @param id
* @return
*/
@RequiresPermissions("breakdown:breakdown:query")
@GetMapping("query")
public Result query(Integer id){
log.info("名称:获取日志详细信息,请求URI:{},请求方法:{}",request.getRequestURI(),
request.getMethod(),JSONObject.toJSONString(id));
breakdownService.query(id);
Result result=Result.success();
log.info("名称:获取日志详细信息,请求URI:{},请求方法:{},响应方法:{}",request.getRequestURI(),
request.getMethod(),JSONObject.toJSONString(result));
return result;
}
@RequiresPermissions("breakdown:breakdown:breakdownAdd")
@Log(title = "故障日志",businessType = BusinessType.INSERT)
@PostMapping("breakdownAdd")
public Result breakdown(@RequestBody Breakdown breakdown){
log.info("名称:新增故障日志,请求URI:{},请求方法:{}",request.getRequestURI(),
request.getMethod(),breakdown);
breakdownService.breakdownAdd(breakdown);
Result result=Result.success();
log.info("名称:新增故障日志,请求URI:{},请求方法:{},响应方法:{}",request.getRequestURI(),
request.getMethod(),JSONObject.toJSONString(result));
return result;
}
/**
*
* @param breakdown
* @return
*/
@RequiresPermissions("breakdown:breakdown:breakdownUpdate")
@Log(title = "故障日志",businessType = BusinessType.UPDATE)
@PostMapping("breakdownUpdate")
public Result breakdownUpdate(@RequestBody Breakdown breakdown){
log.info("名称:修改故障日志,请求URI:{},请求方法:{}",request.getRequestURI(),
request.getMethod(),breakdown);
breakdownService.breakdownUpdate(breakdown);
Result result=Result.success();
log.info("名称:修改故障日志,请求URI:{},请求方法:{},响应结果:{}",request.getRequestURI(),
request.getMethod(),JSONObject.toJSONString(result));
return result;
}
/**
*
* @param id
* @return
*/
@RequiresPermissions("breakdown:breakdown:breakdownDelete")
@Log(title = "故障日志",businessType = BusinessType.DELETE)
@PostMapping("breakdownDelete")
public Result breakdownDelete(Integer id){
log.info("名称:删除故障日志,请求URI:{},请求方法:{}",request.getRequestURI(),
request.getMethod(),JSONObject.toJSONString(id));
breakdownService.breakdownDelete(id);
Result result= Result.success();
log.info("名称:删除故障日志,请求URI:{},请求方法:{},响应方法:{}",request.getRequestURI(),
request.getMethod(),JSONObject.toJSONString(result));
return result;
}
}

View File

@ -0,0 +1,126 @@
package com.god.base.server.controller;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.nacos.api.model.v2.Result;
import com.bawei.common.core.domain.R;
import com.god.base.common.domain.Breakdown;
import com.god.base.common.domain.Fault;
import com.god.base.common.domain.request.BreakdownRequest;
import com.god.base.common.domain.request.FaultRequest;
import com.god.base.server.service.FaultService;
import com.god.common.core.utils.poi.ExcelUtil;
import com.god.common.core.web.controller.BaseController;
import com.god.common.core.web.page.TableDataInfo;
import com.god.common.log.annotation.Log;
import com.god.common.log.enums.BusinessType;
import com.god.common.security.annotation.RequiresPermissions;
import lombok.extern.log4j.Log4j2;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
*
*
* @author ChenXinHai
* @version 2023/11/21 - 18:33
*/
@RestController
@RequestMapping("/fault")
@Log4j2
public class FaultController extends BaseController {
@Autowired
private FaultService faultService;
private HttpServletRequest request;
/**
*
*/
// @RequiresPermissions("fault:fault:list")
@GetMapping("/list")
public Result<List<Fault>> faultList(Fault fault){
log.info("功能名称:故障码列表,请求URI:{},请求方法:{}",request.getRequestURI(),
request.getMethod());
Result<List<Fault>> result=faultService.faultList(fault);
log.info("功能名称:故障码列表,请求URI:{},请求方法:{},响应结果:{}",request.getRequestURI(),
request.getMethod(), JSONObject.toJSONString(result));
return result;
}
/**
*
*/
// @RequiresPermissions("fault:fault:export")
@Log(title="车辆故障码",businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response,Fault fault){
Result<List<Fault>> list=faultService.faultList(fault);
ExcelUtil<Fault> util = new ExcelUtil<>(Fault.class);
// 对list数据源将其里面的数据导入出来
util.exportExcel(response,list.getData(),"车辆故障码");
}
/**
*
* @param fault
* @return
*/
// @RequiresPermissions("fault:fault:add")
@Log(title = "车辆故障码",businessType = BusinessType.EXPORT)
@PostMapping("/faultAdd")
public Result faultAdd(@RequestBody Fault fault){
log.info("名称:添加故障数据,请求URI:{},请求方法:{}",request.getRequestURI(),
request.getMethod(),fault);
faultService.add(fault);
Result result= Result.success();
log.info("名称:添加故障数据,请求URI:{},请求方法:{},响应结果:{}",request.getRequestURI(),
request.getMethod(),JSONObject.toJSONString(result));
return result;
}
/**
*
* @param faultId
* @return
*/
// @RequiresPermissions("fault:fault:delete")
@Log(title = "车辆故障码",businessType = BusinessType.EXPORT)
@PostMapping("faultDelete")
public Result faultDelete(Integer faultId){
log.info("名称:删除故障编码,请求URI:{},请求方法:{}",request.getRequestURI(),
request.getMethod(),JSONObject.toJSONString(faultId));
faultService.faultDelete(faultId);
Result result=Result.success();
log.info("名称:删除故障数据,请求URI:{},请求方法:{},响应结果:{}",request.getRequestURI(),
request.getMethod(),JSONObject.toJSONString(result));
return result;
}
/**
*
* @param fault
* @return
*/
// @RequiresPermissions("fault:fault:update")
@Log(title = "车辆故障码",businessType = BusinessType.EXPORT)
@PostMapping("faultUpdate")
public Result faultUpdate(@RequestBody Fault fault){
log.info("名称:修改故障数据,请求URI:{},请求方法:{}",request.getRequestURI(),
request.getMethod(),fault);
faultService.faultUpdate(fault);
Result result=Result.success();
log.info("名称:修改故障数据,请求URI:{},请求方法:{},响应结果:{}",request.getRequestURI(),
request.getMethod(),JSONObject.toJSONString(result));
return result;
}
}

View File

@ -0,0 +1,54 @@
package com.god.base.server.controller;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.nacos.api.model.v2.Result;
import com.god.base.common.domain.Breakdown;
import com.god.base.common.domain.Fault;
import com.god.base.common.domain.Faultcodealarm;
import com.god.base.common.domain.request.BreakdownRequest;
import com.god.base.server.service.FaultcodealarmService;
import com.god.common.core.web.page.TableDataInfo;
import com.god.common.security.annotation.RequiresPermissions;
import lombok.extern.log4j.Log4j2;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
/**
*
*
* @author ChenXinHai
* @version 2023/11/22 - 19:35
*/
@RestController
@RequestMapping("/Faultcodealarm")
@Log4j2
public class FaultcodealarmController {
@Autowired
private FaultcodealarmService faultcodealarmService;
private HttpServletRequest request;
@RequiresPermissions("faultcodealarm:faultcodealarmlist")
@GetMapping("/list")
public Result<List<Faultcodealarm>> faultcodealarmList(Faultcodealarm faultcodealarm){
log.info("功能名称:故障告警列表,请求URI:{},请求方法:{}",request.getRequestURI(),
request.getMethod());
Result<List<Faultcodealarm>> result=faultcodealarmService.faultcodealarmList(faultcodealarm);
log.info("功能名称:故障告警列表,请求URI:{},请求方法:{},响应结果:{}",request.getRequestURI(),
request.getMethod(),JSONObject.toJSONString(result));
return result;
}
}

View File

@ -1,71 +0,0 @@
package com.god.base.server.controller;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.nacos.api.model.v2.Result;
import com.god.base.common.Fence;
import com.god.base.common.response.FenceResponse;
import com.god.base.server.service.FenceService;
import lombok.extern.log4j.Log4j2;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
@RestController
@RequestMapping("/fence")
@Log4j2
public class FenceController {
@Autowired
private FenceService fenceService;
private HttpServletRequest request;
// 电子围栏列表
@GetMapping("/fencingList")
public Result<List<FenceResponse>> fencingList(){
log.info("功能名称电子围栏请求URL【{}】,请求方法:【{}】",request.getRequestURI(),
request.getMethod());
Result<List<FenceResponse>> result = fenceService.fencingList();
log.info("功能名称电子围栏请求URL【{}】,请求方法:【{}】,响应结果:【{}】",request.getRequestURI(),
request.getMethod(), JSONObject.toJSONString(result));
return result;
}
// 添加电子围栏
@PostMapping("/addfencing")
public Result addfencing(@RequestBody Fence fence){
log.info("功能名称添加电子围栏请求URL【{}】,请求方法:【{}】,请求参数:【{}】",request.getRequestURI(),
request.getMethod(),fence);
fenceService.addfencing(fence);
Result result = Result.success();
log.info("功能名称添加电子围栏请求URL【{}】,请求方法:【{}】,响应结果:【{}】",request.getRequestURI(),
request.getMethod(), JSONObject.toJSONString(result));
return result;
}
// 删除围栏
@PostMapping("/deleteFencingById/{fencingId}")
public Result deleteFencingById(@PathVariable Integer fencingId){
log.info("功能名称获取编号删除围栏请求URL【{}】,请求方法:【{}】,请求参数:【{}】",request.getRequestURI(),
request.getMethod(),fencingId);
Result result = fenceService.deleteFencingById(fencingId);
log.info("功能名称获取编号删除围栏请求URL【{}】,请求方法:【{}】,响应结果:【{}】",request.getRequestURI(),
request.getMethod(), JSONObject.toJSONString(result));
return result;
}
// 修改围栏
@PostMapping("/updateFencing")
public Result updateFencing(@RequestBody Fence fence){
log.info("功能名称修改围栏请求URL【{}】,请求方法:【{}】,请求参数:【{}】",request.getRequestURI(),
request.getMethod(),fence);
Result result = fenceService.updateFencing(fence);
log.info("功能名称修改围栏请求URL【{}】,请求方法:【{}】,响应结果:【{}】",request.getRequestURI(),
request.getMethod(), JSONObject.toJSONString(result));
return result;
}
}

View File

@ -0,0 +1,26 @@
package com.god.base.server.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.god.base.common.domain.Breakdown;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* mapper
*
* @author ChenXinHai
* @version 2023/11/20 - 19:31
*/
@Mapper
public interface BreakdownMapper extends BaseMapper<Breakdown> {
List<Breakdown> breakdownList(Breakdown breakdown);
void query(Integer id);
void breakdownAdd(Breakdown breakdown);
void breakdownUpdate(Breakdown breakdown);
void breakdownDelete(Integer id);
}

View File

@ -0,0 +1,30 @@
package com.god.base.server.mapper;
import com.alibaba.nacos.api.model.v2.Result;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.god.base.common.domain.Breakdown;
import com.god.base.common.domain.Fault;
import com.god.base.common.domain.request.FaultRequest;
import com.god.common.core.web.page.TableDataInfo;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* Mapper
*
* @author ChenXinHai
* @version 2023/11/21 - 18:33
*/
@Mapper
public interface FaultMapper extends BaseMapper<Fault> {
List<Fault> faultList(Fault fault);
void add(Fault fault);
void faultUpdate(Fault fault);
void faultDelete(Integer faultId);
}

View File

@ -0,0 +1,20 @@
package com.god.base.server.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.god.base.common.domain.Faultcodealarm;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* Mapper
*
* @author ChenXinHai
* @version 2023/11/22 - 19:35
*/
@Mapper
public interface FaultcodealarmMapper extends BaseMapper<Faultcodealarm> {
List<Faultcodealarm> faultcodealarmList(Faultcodealarm faultcodealarm);
}

View File

@ -1,18 +0,0 @@
package com.god.base.server.mapper;
import com.god.base.common.Fence;
import com.god.base.common.response.FenceResponse;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper
public interface FenceMapper {
List<FenceResponse> fencingList();
void addfencing(Fence fence);
int deleteFencingById(Integer fencingId);
int updateFencing(Fence fence);
}

View File

@ -0,0 +1,14 @@
//package com.god.base.server.mapper;
//
//import com.baomidou.mybatisplus.core.mapper.BaseMapper;
//import com.god.base.common.domain.RequestLog;
//
///**
// * AOP
// *
// * @author ChenXinHai
// * @version 2023/11/22 - 18:38
// */
//public interface RequestLogMapper extends BaseMapper<RequestLog> {
//
//}

View File

@ -0,0 +1,30 @@
package com.god.base.server.service;
import com.alibaba.nacos.api.model.v2.Result;
import com.baomidou.mybatisplus.extension.service.IService;
import com.god.base.common.domain.Breakdown;
import com.god.base.common.domain.request.BreakdownRequest;
import com.god.common.core.web.page.TableDataInfo;
import java.util.List;
/**
* service
*
* @author ChenXinHai
* @version 2023/11/20 - 19:32
*/
public interface BreakdownService extends IService<Breakdown> {
Result<List<Breakdown>> breakdown(Breakdown breakdown);
void query(Integer id);
void breakdownAdd(Breakdown breakdown);
void breakdownUpdate(Breakdown breakdown);
void breakdownDelete(Integer id);
}

View File

@ -0,0 +1,32 @@
package com.god.base.server.service;
import com.alibaba.nacos.api.model.v2.Result;
import com.baomidou.mybatisplus.extension.service.IService;
import com.god.base.common.domain.Breakdown;
import com.god.base.common.domain.Fault;
import com.god.base.common.domain.request.FaultRequest;
import com.god.common.core.web.page.TableDataInfo;
import java.util.List;
/**
* service
*
* @author ChenXinHai
* @version 2023/11/21 - 18:33
*/
public interface FaultService extends IService<Fault> {
Result<List<Fault>> faultList(Fault fault);
void add(Fault fault);
void faultUpdate(Fault fault);
void faultDelete(Integer faultId);
}

View File

@ -0,0 +1,16 @@
package com.god.base.server.service;
import com.alibaba.nacos.api.model.v2.Result;
import com.god.base.common.domain.Faultcodealarm;
import java.util.List;
/**
* service
*
* @author ChenXinHai
* @version 2023/11/22 - 19:37
*/
public interface FaultcodealarmService {
Result<List<Faultcodealarm>> faultcodealarmList(Faultcodealarm faultcodealarm);
}

View File

@ -1,17 +0,0 @@
package com.god.base.server.service;
import com.alibaba.nacos.api.model.v2.Result;
import com.god.base.common.Fence;
import com.god.base.common.response.FenceResponse;
import java.util.List;
public interface FenceService {
Result<List<FenceResponse>> fencingList();
void addfencing(Fence fence);
Result deleteFencingById(Integer fencingId);
Result updateFencing(Fence fence);
}

View File

@ -0,0 +1,18 @@
//package com.god.base.server.service;
//
//import com.baomidou.mybatisplus.extension.service.IService;
//import com.god.base.common.domain.RequestLog;
//
///**
// * AOP
// *
// * @author ChenXinHai
// * @version 2023/11/22 - 18:39
// */
//public interface RequestLogService extends IService<RequestLog> {
// /**
// * 异步保存
// * @param entity
// */
// void asyncSave(RequestLog entity);
//}

View File

@ -0,0 +1,64 @@
package com.god.base.server.service.impl;
import com.alibaba.nacos.api.model.v2.Result;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.god.base.common.domain.Breakdown;
import com.god.base.common.domain.request.BreakdownRequest;
import com.god.base.server.mapper.BreakdownMapper;
import com.god.base.server.service.BreakdownService;
import com.god.common.core.utils.StringUtils;
import com.god.common.core.web.page.TableDataInfo;
import lombok.extern.log4j.Log4j2;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* serviceImpl
*
* @author ChenXinHai
* @version 2023/11/20 - 19:32
*/
@Log4j2
@Service
public class BreakdownServiceImpl extends ServiceImpl<BreakdownMapper, Breakdown> implements BreakdownService {
@Autowired
private BreakdownMapper breakdownMapper;
/**
*
* @param breakdown
* @return
*/
@Override
public Result<List<Breakdown>> breakdown(Breakdown breakdown) {
List<Breakdown> list=breakdownMapper.breakdownList(breakdown);
return Result.success(list);
}
@Override
public void query(Integer id) {
breakdownMapper.query(id);
}
@Override
public void breakdownAdd(Breakdown breakdown) {
breakdownMapper.breakdownAdd(breakdown);
}
@Override
public void breakdownUpdate(Breakdown breakdown) {
breakdownMapper.breakdownUpdate(breakdown);
}
@Override
public void breakdownDelete(Integer id) {
breakdownMapper.breakdownDelete(id);
}
}

View File

@ -0,0 +1,59 @@
package com.god.base.server.service.impl;
import com.alibaba.nacos.api.model.v2.Result;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.god.base.common.domain.Breakdown;
import com.god.base.common.domain.Fault;
import com.god.base.common.domain.request.FaultRequest;
import com.god.base.server.mapper.BreakdownMapper;
import com.god.base.server.mapper.FaultMapper;
import com.god.base.server.service.BreakdownService;
import com.god.base.server.service.FaultService;
import com.god.common.core.web.page.TableDataInfo;
import lombok.extern.log4j.Log4j2;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.function.Function;
/**
* serviceImpl
*
* @author ChenXinHai
* @version 2023/11/21 - 18:34
*/
@Service
public class FaultServiceImpl extends ServiceImpl<FaultMapper, Fault> implements FaultService {
@Autowired
private FaultMapper faultMapper;
@Override
public Result<List<Fault>> faultList(Fault fault) {
List<Fault> list=faultMapper.faultList(fault);
return Result.success(list);
}
@Override
public void add(Fault fault) {
faultMapper.add(fault);
}
@Override
public void faultUpdate(Fault fault) {
faultMapper.faultUpdate(fault);
}
@Override
public void faultDelete(Integer faultId) {
faultMapper.faultDelete(faultId);
}
}

View File

@ -0,0 +1,33 @@
package com.god.base.server.service.impl;
import com.alibaba.nacos.api.model.v2.Result;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.god.base.common.domain.Breakdown;
import com.god.base.common.domain.Fault;
import com.god.base.common.domain.Faultcodealarm;
import com.god.base.server.mapper.BreakdownMapper;
import com.god.base.server.mapper.FaultcodealarmMapper;
import com.god.base.server.service.BreakdownService;
import com.god.base.server.service.FaultcodealarmService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* serviceImpl
*
* @author ChenXinHai
* @version 2023/11/22 - 19:37
*/
@Service
public class FaultcodealarmServiceImpl extends ServiceImpl<FaultcodealarmMapper, Faultcodealarm> implements FaultcodealarmService {
@Autowired
private FaultcodealarmMapper faultcodealarmMapper;
@Override
public Result<List<Faultcodealarm>> faultcodealarmList(Faultcodealarm faultcodealarm) {
List<Faultcodealarm> list=faultcodealarmMapper.faultcodealarmList(faultcodealarm);
return Result.success(list);
}
}

View File

@ -1,51 +0,0 @@
package com.god.base.server.service.impl;
import com.alibaba.nacos.api.model.v2.Result;
import com.god.base.common.Fence;
import com.god.base.common.response.FenceResponse;
import com.god.base.server.mapper.FenceMapper;
import com.god.base.server.service.FenceService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
@Service
public class FenceServiceImpl implements FenceService {
@Autowired
private FenceMapper fenceMapper;
// 围栏列表
@Override
public Result<List<FenceResponse>> fencingList() {
List<FenceResponse> list=fenceMapper.fencingList();
return Result.success(list);
}
// 添加围栏
@Override
public void addfencing(Fence fence) {
Date date = new Date();
fence.setFenceTime(date);
fenceMapper.addfencing(fence);
}
// 删除围栏
@Override
public Result deleteFencingById(Integer fencingId) {
int i=fenceMapper.deleteFencingById(fencingId);
return i>0?Result.success("围栏已成功删除"):Result.failure("删除失败");
}
// 删除围栏
@Override
public Result updateFencing(Fence fence) {
Date date = new Date();
fence.setFenceTime(date);
int i=fenceMapper.updateFencing(fence);
return i>0?Result.success("围栏已成功拦截"):Result.failure("拦截失败");
}
}

View File

@ -0,0 +1,23 @@
//package com.god.base.server.service.impl;
//
//import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
//import com.god.base.common.domain.RequestLog;
//import com.god.base.server.mapper.RequestLogMapper;
//import com.god.base.server.service.RequestLogService;
//import org.springframework.scheduling.annotation.Async;
//import org.springframework.stereotype.Service;
//
///**
// * AOP
// *
// * @author ChenXinHai
// * @version 2023/11/22 - 18:43
// */
//@Service
//public class RequestLogServiceImpl extends ServiceImpl<RequestLogMapper, RequestLog> implements RequestLogService {
// @Async
// @Override
// public void asyncSave(RequestLog entity) {
// super.save(entity);
// }
//}

View File

@ -0,0 +1,84 @@
//package com.god.base.server.service.impl;
//
//import com.god.base.common.domain.RequestLog;
//import com.god.base.server.service.RequestLogService;
//import com.god.common.log.aspect.LogAspect;
//import org.aspectj.lang.JoinPoint;
//import org.aspectj.lang.annotation.*;
//import org.slf4j.Logger;
//import org.slf4j.LoggerFactory;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.stereotype.Component;
//import org.springframework.web.context.request.RequestContextHolder;
//import org.springframework.web.context.request.ServletRequestAttributes;
//
//import javax.servlet.http.HttpServletRequest;
//import java.time.LocalDateTime;
//import java.util.Arrays;
//
///**
// * AOP日志处理
// *
// * @author ChenXinHai
// * @version 2023/11/22 - 18:45
// */
//@Aspect
//@Component
//public class asyncSave {
// private static final Logger logger= LoggerFactory.getLogger(LogAspect.class);
// @Autowired
// private RequestLogService requestLogService;
//
// private long startTime;
// private RequestLog requestLog;
//
// /**
// * 切点声明
// */
// @Pointcut(value = "execution(* com.god.base.server.controller.*.*(..))")
// public void pointcut(){
// }
// @Before(value = "pointcut()")
// public void doBefore(JoinPoint joinPoint){
// ServletRequestAttributes servletRequestAttributes
// =(ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
// HttpServletRequest request=servletRequestAttributes.getRequest();
//
// // 获取请求参数
// String requestUrl = request.getRequestURL().toString();
// String ip = request.getRemoteAddr();
// String userAgent = request.getHeader("User-Agent"); // 用户代理(客户端)
// String declaringSignature=joinPoint.getSignature().getDeclaringTypeName()
// +"."+joinPoint.getSignature().getName();
// String args=(joinPoint.getArgs().length==0)?null: Arrays.toString(joinPoint.getArgs());
//
// // 设置请求参数
// this.requestLog = new RequestLog();
// this.requestLog.setUserName("admin");
// this.requestLog.setUserAgent(userAgent);
// this.requestLog.setRequestUrl(requestUrl);
// this.requestLog.setIp(ip);
// this.requestLog.setDeclaringSignature(declaringSignature);
// this.requestLog.setArgs(args);
// this.startTime=System.currentTimeMillis();
// }
// @AfterReturning(pointcut="pointcut()",returning = "returnedValue")
// public void doAfterReturning(Object returnedValue){
// Integer elapsedTime=(int) (System.currentTimeMillis()-this.startTime);
// this.requestLog.setElapsedTime(elapsedTime);
// this.requestLog.setException(null);
// this.requestLog.setCreateTime(LocalDateTime.now());
//
// logger.info(this.requestLog.toString());
// this.requestLogService.asyncSave(this.requestLog); // 异步保存到数据库
// }
//
// @AfterThrowing(pointcut = "pointcut()",throwing = "throwable")
// public void doAfterThrowing(Throwable throwable){
// this.requestLog.setException(throwable.toString());
// this.requestLog.setCreateTime(LocalDateTime.now());
//
// logger.error(this.requestLog.toString());
// this.requestLogService.asyncSave(this.requestLog);
// }
//}

View File

@ -0,0 +1,101 @@
//package com.god.base.server.utils;
//
//import lombok.extern.log4j.Log4j2;
//import org.springframework.amqp.rabbit.core.RabbitTemplate;
//import org.springframework.data.redis.core.RedisTemplate;
//import org.springframework.stereotype.Component;
//
//import java.util.*;
//
///**
// * 故障消息
// *
// * @author ChenXinHai
// * @version 2023/11/22 - 22:01
// */
//@Component
//@Log4j2
//public class BreakdownMessage {
// private final RedisTemplate<String,String> redisTemplate;
// private final RabbitTemplate rabbitTemplate;
// private Map<String, String> StringLastMsg;
//
// public BreakdownMessage(RedisTemplate<String, String> redisTemplate, RabbitTemplate rabbitTemplate) {
// this.redisTemplate = redisTemplate;
// this.rabbitTemplate= rabbitTemplate;
// }
//
// public void falueSms(Map<String,String> messageModel,String vind){
// String key="chenchen"+vind;
// List<String> chenchenError = redisTemplate.opsForList().range(key, 0, -1);
// redisTemplate.opsForList().range("chenchen:errorlog:one",0,-1);
//
// int size = chenchenError.size();
//
// if (messageModel.containsKey(vind) && size<1){
// log.info("发送消息报告异常状态:{}",vind);
// rabbitTemplate.convertAndSend("chenchen.error",vind);
// redisTemplate.opsForList().leftPush(key,vind);
// messageModel.clear();
// }else if (!messageModel.containsKey(vind) && redisTemplate.hasKey(key)){
// log.info("发送消息报告故障修复:{}",vind);
// rabbitTemplate.convertAndSend("chenchen.success",vind);
// redisTemplate.delete(key);
// for (String extraKey : chenchenError){
// log.info("修复故障信息发送:{}",extraKey);
// rabbitTemplate.convertAndSend("chenchen.successlog",extraKey);
// redisTemplate.opsForList().remove("chenchen:errorlog:one",1,extraKey);
// redisTemplate.opsForList().remove("chenchen:errorlog:two",1,extraKey);
// redisTemplate.opsForHash().delete("chenchen:last_message",extraKey);
// }
// }else {
// log.info("不做操作:{}",vind);
// }
// messageModel.clear();
// }
//
// public void falueSms2(Map<String,String> messageModel){
// // 获取redis中存储的Map数据
// Map<Object, Object> lastMsg = redisTemplate.opsForHash().entries("chenchen:last_message");
// Map<String, String> stringLastMsg = new HashMap<>(lastMsg.size());
// for (Map.Entry<Object,Object> entry:lastMsg.entrySet()){
// if (entry.getKey()!=null && entry.getValue()!=null){
// stringLastMsg.put(entry.getKey().toString(),entry.getValue().toString());
// }
// }
// List<String> chenchenError=redisTemplate.opsForList().range("chenchen:errorlog:one",0,1);
// List<String> chenchenError2=redisTemplate.opsForList().range("chenchen:errorlog:two",0,-1);
// Set<Object> extraKeys = new HashSet<>();
// // 如果数据没有变化(包括空数据),则不需要处理,直接返回
//
// if(StringLastMsg.equals(messageModel)){
// return;
// }
// // 发送新增的key-value
// for (Map.Entry<String, String> stringStringEntry : messageModel.entrySet()) {
// if (!chenchenError2.contains(stringStringEntry.getKey())){
// log.info("故障信息发送:{}",stringStringEntry.getKey());
// rabbitTemplate.convertAndSend("chenchen:errorlog",stringStringEntry.getKey());
// redisTemplate.opsForList().leftPush("chenchen:errorlog:two",stringStringEntry.getKey());
// redisTemplate.opsForList().leftPush("chenchen:errorlog:one",stringStringEntry.getKey());
// redisTemplate.opsForHash().putAll("chenchen:last_message",stringLastMsg);
// }
// }
// for (String key : chenchenError) {
// if (!messageModel.containsKey(key)){
// extraKeys.add(key);
// }
// }
// log.info("需要修复的:{}",extraKeys.toString());
// if(extraKeys.size()>0){
// for (Object extraKey : extraKeys) {
// log.info("修复故障信息发送:{}",extraKey);
// rabbitTemplate.convertAndSend("chenchen.successlog",extraKey);
// redisTemplate.opsForList().remove("chenchen:errorlog:one",1,extraKey);
// redisTemplate.opsForList().remove("chenchen:errorlog:two",1,extraKey);
// redisTemplate.opsForHash().delete("chenchen:last_message",extraKey);
// }
// }
// extraKeys.clear();
// }
//}

View File

@ -1,36 +0,0 @@
<?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.god.base.server.mapper.FenceMapper">
<insert id="addfencing">
insert into(
fence_id,
fence_name,
fence_lat,
fence_status,
fence_time,
create_by) values(
#{fenceId},
#{fenceName},
#{fenceLat},
#{fenceStatus},
#{fenceTime},
#{createBy})
</insert>
<update id="updateFencing">
update t_fence set
fence_name=#{fenceName},
fence_lat=#{fenceLat},
fence_status=#{fenceStatus},
fence_time=#{fenceTime},
create_By=#{createBy} where fence_id=#{fenceId}
</update>
<delete id="deleteFencingById">
delete from t_fence where fence_id=#{fenceId}
</delete>
<select id="fencingList" resultType="com.god.base.common.response.FenceResponse">
select * from t_fence
</select>
</mapper>