diff --git a/cloud-common/cloud-common-core/src/main/java/com/muyu/common/core/web/domain/BaseEntity.java b/cloud-common/cloud-common-core/src/main/java/com/muyu/common/core/web/domain/BaseEntity.java
index 28c4927..a045f1e 100644
--- a/cloud-common/cloud-common-core/src/main/java/com/muyu/common/core/web/domain/BaseEntity.java
+++ b/cloud-common/cloud-common-core/src/main/java/com/muyu/common/core/web/domain/BaseEntity.java
@@ -45,7 +45,7 @@ public class BaseEntity implements Serializable {
*/
@TableField(fill = FieldFill.INSERT)
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- private Date createTime;
+ private String createTime;
/**
* 更新者
@@ -58,7 +58,7 @@ public class BaseEntity implements Serializable {
*/
@TableField(fill = FieldFill.UPDATE)
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- private Date updateTime;
+ private String updateTime;
/**
* 备注
diff --git a/cloud-modules/cloud-modules-fault/pom.xml b/cloud-modules/cloud-modules-fault/pom.xml
index c068b4b..ee6f8a2 100644
--- a/cloud-modules/cloud-modules-fault/pom.xml
+++ b/cloud-modules/cloud-modules-fault/pom.xml
@@ -72,6 +72,18 @@
com.muyu
cloud-common-api-doc
+
+ com.carrotsearch.thirdparty
+ simple-xml-safe
+ 2.7.1
+ test
+
+
+ org.attoparser
+ attoparser
+ 2.0.7.RELEASE
+ test
+
diff --git a/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/common/FaultLog.java b/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/common/FaultLog.java
index 4ced773..9953029 100644
--- a/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/common/FaultLog.java
+++ b/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/common/FaultLog.java
@@ -4,22 +4,26 @@ import cn.hutool.core.date.DateTime;
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.muyu.common.core.web.domain.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.AllArgsConstructor;
-import lombok.Builder;
-import lombok.Data;
-import lombok.NoArgsConstructor;
+import lombok.*;
+import lombok.experimental.SuperBuilder;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
@Data
-@Builder
+@SuperBuilder
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "fault_log",autoResultMap = true)
-public class FaultLog {
+@EqualsAndHashCode(callSuper = true)
+public class FaultLog extends BaseEntity {
/**
* 日志ID
*/
- @TableId(value = "faultLogId", type= IdType.AUTO)
+ @TableId(value = "fault_log_id", type= IdType.AUTO)
@Schema(defaultValue = "日志ID",type = "Long",description = "日志ID")
private Long faultLogId;
/**
@@ -31,15 +35,17 @@ public class FaultLog {
* 车辆VIN
*/
@Schema(defaultValue = "车辆VIN",type = "String",description = "车辆VIN")
- private String faultLogVIN;
+ private String faultLogVin;
/**
* 开始报警时间
*/
- @Schema(defaultValue = "开始报警时间",type = "DateTime",description = "开始报警时间")
- private DateTime faultLogStartTime;
+ @Schema(defaultValue = "开始报警时间",type = "Date",description = "开始报警时间")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date faultLogStartTime;
/**
* 结束报警时间
*/
- @Schema(defaultValue = "结束报警时间",type = "DateTime",description = "结束报警时间")
- private DateTime faultLogEndTime;
+ @Schema(defaultValue = "结束报警时间",type = "Date",description = "结束报警时间")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date faultLogEndTime;
}
diff --git a/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/common/FaultMessage.java b/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/common/FaultMessage.java
new file mode 100644
index 0000000..b264b28
--- /dev/null
+++ b/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/common/FaultMessage.java
@@ -0,0 +1,54 @@
+package com.muyu.fault.common;
+
+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 io.swagger.v3.oas.annotations.media.Schema;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.SuperBuilder;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+
+@Data
+@SuperBuilder
+@AllArgsConstructor
+@NoArgsConstructor
+@TableName(value = "fault_message",autoResultMap = true)
+public class FaultMessage {
+ /**
+ * 站内信ID
+ */
+ @TableId(value = "fault_message_id", type= IdType.AUTO)
+ @Schema(defaultValue = "站内信ID",type = "Long",description = "站内信ID")
+ private Long faultMessageId;
+ /**
+ * 消息发送人
+ */
+ @Schema(defaultValue = "消息发送人",type = "String",description = "消息发送人")
+ private String faultMessageSendName;
+ /**
+ * 消息接收人
+ */
+ @Schema(defaultValue = "消息接收人",type = "String",description = "消息发送人")
+ private String faultMessageRemoveName;
+ /**
+ * 消息内容
+ */
+ @Schema(defaultValue = "消息内容",type = "String",description = "消息内容")
+ private String faultMessageContent;
+ /**
+ * 发送时间
+ */
+ @Schema(defaultValue = "发送时间",type = "Date",description = "发送时间")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date faultMessageSendTime;
+ /**
+ * 消息状态(1:未读,2:已读)
+ */
+ @Schema(defaultValue = "消息状态",type = "Integer",description = "消息状态(1:未读,2:已读)")
+ private Integer faultMessageState;
+}
diff --git a/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/common/FalutNotify.java b/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/common/FaultNotify.java
similarity index 74%
rename from cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/common/FalutNotify.java
rename to cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/common/FaultNotify.java
index b742eb6..5ccb6bb 100644
--- a/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/common/FalutNotify.java
+++ b/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/common/FaultNotify.java
@@ -13,22 +13,22 @@ import lombok.NoArgsConstructor;
@Builder
@AllArgsConstructor
@NoArgsConstructor
-@TableName(value = "falut_notify",autoResultMap = true)
-public class FalutNotify {
+@TableName(value = "fault_notify",autoResultMap = true)
+public class FaultNotify {
/**
* ID
*/
- @TableId(value = "falutNotifyId", type= IdType.AUTO)
+ @TableId(value = "fault_notify_id", type= IdType.AUTO)
@Schema(defaultValue = "ID",type = "Long",description = "ID")
- private Long falutNotifyId;
+ private Long faultNotifyId;
/**
* 通知方
*/
@Schema(defaultValue = "通知方",type = "String",description = "通知方")
- private String falutNotifyParty;
+ private String faultNotifyParty;
/**
* 联系方式
*/
@Schema(defaultValue = "联系方式",type = "String",description = "联系方式")
- private String falutNotifyManner;
+ private String faultNotifyManner;
}
diff --git a/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/common/FaultSeverity.java b/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/common/FaultSeverity.java
index cdb3ba6..63fa98b 100644
--- a/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/common/FaultSeverity.java
+++ b/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/common/FaultSeverity.java
@@ -20,7 +20,7 @@ public class FaultSeverity extends BaseEntity {
/**
* 等级ID
*/
- @TableId(value = "id", type= IdType.AUTO)
+ @TableId(value = "fault_severity_id", type= IdType.AUTO)
@Schema(defaultValue = "等级ID",type = "Long",description = "等级ID")
private Long faultSeverityId;
/**
diff --git a/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/common/FalutType.java b/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/common/FaultType.java
similarity index 83%
rename from cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/common/FalutType.java
rename to cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/common/FaultType.java
index 2de911a..7bae718 100644
--- a/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/common/FalutType.java
+++ b/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/common/FaultType.java
@@ -3,6 +3,7 @@ package com.muyu.fault.common;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
+import com.muyu.common.core.web.domain.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
@@ -13,12 +14,12 @@ import lombok.experimental.SuperBuilder;
@SuperBuilder
@AllArgsConstructor
@NoArgsConstructor
-@TableName(value = "falut_type",autoResultMap = true)
-public class FalutType {
+@TableName(value = "fault_type",autoResultMap = true)
+public class FaultType{
/**
* 故障类型ID
*/
- @TableId(value = "faultTypeId", type= IdType.AUTO)
+ @TableId(value = "fault_type_id", type= IdType.AUTO)
@Schema(defaultValue = "故障类型ID",type = "Long",description = "故障类型ID")
private Long faultTypeId;
/**
diff --git a/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/common/FaultrRule.java b/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/common/FaultrRule.java
index bc71d5a..6e649d5 100644
--- a/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/common/FaultrRule.java
+++ b/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/common/FaultrRule.java
@@ -5,32 +5,35 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.muyu.common.core.web.domain.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.AllArgsConstructor;
-import lombok.Builder;
-import lombok.Data;
-import lombok.NoArgsConstructor;
+import lombok.*;
import lombok.experimental.SuperBuilder;
@Data
@SuperBuilder
@AllArgsConstructor
@NoArgsConstructor
-@TableName(value = "faultr_rule",autoResultMap = true)
+@TableName(value = "fault_rule",autoResultMap = true)
+@EqualsAndHashCode(callSuper = true)
public class FaultrRule extends BaseEntity {
/**
* 故障规则ID
*/
- @TableId(value = "faultrRuleId", type= IdType.AUTO)
+ @TableId(value = "fault_rule_id", type= IdType.AUTO)
@Schema(defaultValue = "故障规则ID",type = "Long",description = "故障规则ID")
- private Long faultrRuleId;
+ private Long faultRuleId;
/**
* 故障规则名称
*/
@Schema(defaultValue = "故障规则名称",type = "String",description = "故障规则名称")
- private String faultrRuleName;
+ private String faultRuleName;
+ /**
+ * 故障规则参数
+ */
+ @Schema(defaultValue = "故障规则参数",type = "String",description = "故障规则参数")
+ private String faultRuleParameter;
/**
* 故障规则描述
*/
@Schema(defaultValue = "故障规则描述",type = "String",description = "故障规则描述")
- private String faultrRuleDescription;
+ private String faultRuleDescription;
}
diff --git a/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/common/SysCarFault.java b/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/common/SysCarFault.java
index 3217fe0..690c07e 100644
--- a/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/common/SysCarFault.java
+++ b/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/common/SysCarFault.java
@@ -5,10 +5,8 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.muyu.common.core.web.domain.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.AllArgsConstructor;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.NoArgsConstructor;
+import jakarta.validation.constraints.NotNull;
+import lombok.*;
import lombok.experimental.SuperBuilder;
@Data
@SuperBuilder
@@ -29,10 +27,10 @@ public class SysCarFault extends BaseEntity {
@Schema(defaultValue = "车辆故障编码",type = "String",description = "车辆故障编码")
private String faultCode;
/**
- * 车辆故障类型
+ * 车辆故障类型ID
*/
- @Schema(defaultValue = "车辆故障类型",type = "String",description = "车辆故障类型")
- private String faultType;
+ @Schema(defaultValue = "车辆故障类型ID",type = "Integer",description = "车辆故障类型ID")
+ private Integer faultTypeId;
/**
* 故障VIN编码
*/
@@ -71,6 +69,6 @@ public class SysCarFault extends BaseEntity {
/**
* 启用状态(1.待处理 2.处理中 3.已处理 4.忽略)
*/
- @Schema(defaultValue = "启用状态",type = "String",description = "启用状态")
+ @Schema(defaultValue = "启用状态",type = "String",description = "启用状态(1.待处理 2.处理中 3.已处理 4.忽略)")
private String state;
}
diff --git a/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/controller/FaultLogController.java b/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/controller/FaultLogController.java
index 013de02..79e79a4 100644
--- a/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/controller/FaultLogController.java
+++ b/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/controller/FaultLogController.java
@@ -1,11 +1,74 @@
package com.muyu.fault.controller;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import com.muyu.common.core.domain.Result;
+import com.muyu.fault.common.FaultLog;
+import com.muyu.fault.service.FaultLogService;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Arrays;
+import java.util.List;
@RestController
@RequestMapping("/log")
+@Tag(name = "故障日志",description = "对故障记录日志")
public class FaultLogController{
+ @Autowired
+ private FaultLogService faultLogService;
+
+ /**
+ * 查询车辆故障日志列表
+ */
+ @RequestMapping(value = "/faultLogList", method = RequestMethod.GET)
+ public Result> faultLogList(FaultLog faultLog){
+ List list = faultLogService.faultLogList(faultLog);
+ return Result.success(list);
+ }
+
+ /**
+ * 添加车辆故障日志
+ * @param faultLog
+ * @return
+ */
+ @RequestMapping(value = "/insertLog",method = RequestMethod.POST)
+ public Result insertLog(@RequestBody FaultLog faultLog){
+ return Result.success(faultLogService.save(faultLog));
+ }
+
+ /**
+ * 修改车辆故障日志
+ * @param faultLog
+ * @return
+ */
+ @RequestMapping(value = "/updateLog",method = RequestMethod.PUT)
+ public Result updateLog(@RequestBody FaultLog faultLog){
+ return Result.success(faultLogService.updateById(faultLog));
+ }
+
+ /**
+ *
+ * 批量删除车辆故障日志
+ * @param ids
+ * @return
+ */
+ @RequestMapping(value = "/remove/{ids}",method = RequestMethod.DELETE)
+ public Result remove(@PathVariable("ids") Long[] ids)
+ {
+ return Result.success(faultLogService.removeBatchByIds(Arrays.asList(ids)));
+ }
+
+ /**
+ * 获取单条日志详细信息
+ * @param faultLogId
+ * @return
+ */
+ @RequestMapping(value = "/byidId/{faultLogId}",method = RequestMethod.GET)
+ public Result byidId(@PathVariable Long faultLogId){
+ FaultLog byid = faultLogService.byidId(faultLogId);
+ return Result.success(byid);
+ }
+
}
diff --git a/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/controller/FaultMessageController.java b/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/controller/FaultMessageController.java
new file mode 100644
index 0000000..35bb9fa
--- /dev/null
+++ b/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/controller/FaultMessageController.java
@@ -0,0 +1,87 @@
+package com.muyu.fault.controller;
+
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.muyu.common.core.domain.Result;
+import com.muyu.common.security.utils.SecurityUtils;
+import com.muyu.fault.common.FaultMessage;
+import com.muyu.fault.service.FaultMessageService;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+@RestController
+@RequestMapping("/message")
+@Tag(name = "站内信的管理",description = "对站内信息的处理与查看")
+public class FaultMessageController {
+ @Autowired
+ private FaultMessageService faultMessageService;
+
+ /**
+ * 站内信列表
+ * @return
+ */
+ @RequestMapping(value = "/faultMessageList",method = RequestMethod.GET)
+ public Result> faultMessageList( FaultMessage faultMessage){
+ return Result.success(faultMessageService.faultMessageList(faultMessage));
+ }
+
+ /**
+ * 添加消息
+ * @param faultMessage
+ * @return
+ */
+ @RequestMapping(value = "/insertMessage",method = RequestMethod.POST)
+ public Result insertMessage(@RequestBody FaultMessage faultMessage){
+ String username = SecurityUtils.getUsername();
+ //消息发送人
+ faultMessage.setFaultMessageSendName(username);
+ return Result.success(faultMessageService.save(faultMessage));
+ }
+
+ /**
+ * 查询未读状态(faultMessageState==1)信息
+ * @return
+ */
+ @RequestMapping(value = "/selectOne",method = RequestMethod.POST)
+ public Result> selectOne(){
+ List one = faultMessageService.selectOne();
+ return Result.success(one);
+ }
+
+ /**
+ * 查询已读状态(faultMessageState==2)信息
+ * @return
+ */
+ @RequestMapping(value = "/selectTwo",method = RequestMethod.POST)
+ public Result> selectTwo(){
+ List one = faultMessageService.selectTwo();
+ return Result.success(one);
+ }
+
+ /**
+ * 更改已读状态
+ * @param faultMessageId
+ * @return
+ */
+ @RequestMapping(value = "/updateTwo/{faultMessageId}",method = RequestMethod.POST)
+ public Result updateTwo(@PathVariable(name = "faultMessageId") Long faultMessageId){
+ LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>();
+ updateWrapper.set(FaultMessage::getFaultMessageState,2);
+ updateWrapper.eq(FaultMessage::getFaultMessageId,faultMessageId);
+ faultMessageService.update(updateWrapper);
+ return Result.success(faultMessageId,"消息已读");
+ }
+
+ /**
+ * 删除消息
+ * @param faultMessageId
+ * @return
+ */
+ @RequestMapping(value = "/deleteMessageId/{faultMessageId}",method = RequestMethod.POST)
+ public Result deleteMessageId(@PathVariable(name = "faultMessageId") Long faultMessageId){
+ return Result.success(faultMessageService.removeById(faultMessageId),"删除成功");
+ }
+
+}
diff --git a/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/controller/FaultTypeController.java b/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/controller/FaultTypeController.java
new file mode 100644
index 0000000..342e984
--- /dev/null
+++ b/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/controller/FaultTypeController.java
@@ -0,0 +1,63 @@
+package com.muyu.fault.controller;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.muyu.common.core.domain.Result;
+import com.muyu.common.security.utils.SecurityUtils;
+import com.muyu.fault.common.FaultType;
+import com.muyu.fault.service.FaultTypeService;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+@RestController
+@RequestMapping("/type")
+@Tag(name = "故障类型",description = "对故障类型的定义")
+public class FaultTypeController {
+ @Autowired
+ private FaultTypeService faultTypeService;
+
+ /**
+ * 故障类型表
+ * @return
+ */
+ @RequestMapping(value = "faultTypeList",method = RequestMethod.GET)
+ public Result> faultTypeList(FaultType faultType){
+ return Result.success(faultTypeService.faultTypeList(faultType));
+ }
+
+
+ /**
+ * 添加故障类型
+ * @param faultType
+ * @return
+ */
+ @RequestMapping(value = "insertType",method = RequestMethod.POST)
+ public Result insertType(@RequestBody FaultType faultType){
+ return Result.success(faultTypeService.save(faultType));
+ }
+
+
+ /**
+ * 修改故障类型
+ * @param faultType
+ * @return
+ */
+ @RequestMapping(value = "updateType",method = RequestMethod.POST)
+ public Result updateype(@RequestBody FaultType faultType){
+ return Result.success(faultTypeService.updateById(faultType));
+ }
+
+
+ /**
+ * 删除故障类型
+ * @param faultTypeId
+ * @return
+ */
+ @RequestMapping(value = "deleteType/{faultTypeId}",method = RequestMethod.DELETE)
+ public Result deleteType(@PathVariable(name = "faultTypeId") Long faultTypeId){
+ return Result.success(faultTypeService.removeById(faultTypeId));
+ }
+
+}
diff --git a/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/controller/FaultrRuleController.java b/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/controller/FaultrRuleController.java
new file mode 100644
index 0000000..e316e3c
--- /dev/null
+++ b/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/controller/FaultrRuleController.java
@@ -0,0 +1,72 @@
+package com.muyu.fault.controller;
+
+
+import com.muyu.common.core.domain.Result;
+import com.muyu.fault.common.FaultrRule;
+import com.muyu.fault.service.FaultrRuleService;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Arrays;
+import java.util.List;
+
+@RestController
+@RequestMapping("/rule")
+@Tag(name = "故障的规则",description = "对故障数据规则的判断")
+public class FaultrRuleController {
+ @Autowired
+ private FaultrRuleService faultrRuleService;
+ /**
+ * 查询车辆故障列表
+ */
+ @RequestMapping(value = "/faultRuleList", method = RequestMethod.GET)
+ public Result> faultRuleList(FaultrRule faultrRule)
+ {
+ List list = faultrRuleService.faultRuleList(faultrRule);
+ return Result.success(list);
+ }
+
+ /**
+ * 添加车辆规则
+ * @param faultrRule
+ * @return
+ */
+ @RequestMapping(value = "/insertRule",method = RequestMethod.POST)
+ public Result insertRule(@RequestBody FaultrRule faultrRule){
+ return Result.success(faultrRuleService.save(faultrRule));
+ }
+
+ /**
+ * 修改车辆规则
+ * @param faultrRule
+ * @return
+ */
+ @RequestMapping(value = "/updateRule",method = RequestMethod.POST)
+ public Result updateRule(@RequestBody FaultrRule faultrRule){
+ return Result.success(faultrRuleService.updateById(faultrRule));
+ }
+
+ /**
+ * 获取单条故障规则详细信息
+ * @param faultRuleId
+ * @return
+ */
+ @RequestMapping(value = "/byidRuleId/{faultRuleId}",method = RequestMethod.GET)
+ public Result byidRuleId(@PathVariable Long faultRuleId){
+ FaultrRule byid = faultrRuleService.byidRuleId(faultRuleId);
+ return Result.success(byid);
+ }
+
+ /**
+ * 删除车辆故障
+ */
+ @RequestMapping(value = "/remove/{ids}",method = RequestMethod.DELETE)
+ public Result remove(@PathVariable("ids") Long[] ids)
+ {
+ faultrRuleService.removeBatchByIds(Arrays.asList(ids));
+ return Result.success();
+ }
+
+
+}
diff --git a/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/controller/SysCarFaultController.java b/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/controller/SysCarFaultController.java
index c744d2e..a7ee151 100644
--- a/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/controller/SysCarFaultController.java
+++ b/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/controller/SysCarFaultController.java
@@ -1,29 +1,34 @@
package com.muyu.fault.controller;
+import cn.hutool.core.date.DateTime;
+import com.muyu.common.core.domain.Result;
+import com.muyu.common.core.utils.poi.ExcelUtil;
+import com.muyu.common.core.web.controller.BaseController;
+import com.muyu.common.security.utils.SecurityUtils;
+import com.muyu.fault.common.FaultLog;
+import com.muyu.fault.common.SysCarFault;
+import com.muyu.fault.service.FaultLogService;
+import com.muyu.fault.service.SysCarFaultService;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.servlet.http.HttpServletResponse;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
import java.util.Arrays;
import java.util.List;
import java.util.Random;
-import com.muyu.fault.common.SysCarFault;
-import com.muyu.fault.service.impl.SysCarFaultService;
-import jakarta.servlet.http.HttpServletResponse;
-import javax.annotation.Resource;
-
-import org.springframework.web.bind.annotation.*;
-import com.muyu.common.security.annotation.RequiresPermissions;
-import com.muyu.common.core.web.controller.BaseController;
-import com.muyu.common.core.domain.Result;
-import com.muyu.common.core.utils.poi.ExcelUtil;
-import com.muyu.common.security.utils.SecurityUtils;
-import org.springframework.validation.annotation.Validated;
-import com.muyu.common.core.web.page.TableDataInfo;
-
@RestController
@RequestMapping("/faultInfo")
+@Tag(name = "故障管理",description = "故障的管理与查看")
public class SysCarFaultController extends BaseController
{
@Resource
private SysCarFaultService sysCarFaultService;
+ @Autowired
+ private FaultLogService faultLogService;
/**
* 查询车辆故障列表
@@ -62,10 +67,6 @@ public class SysCarFaultController extends BaseController
public Result add(
@Validated @RequestBody SysCarFault sysCarFault)
{
-
- if (sysCarFaultService.checkIdUnique(sysCarFault)) {
- return error("新增 车辆故障 '" + sysCarFault + "'失败,车辆故障已存在");
- }
String prefix = "GT"; // 随机码的前缀
int minNumber = 1; // 随机数字的最小值
int maxNumber = 999; // 随机数字的最大值
@@ -83,6 +84,15 @@ public class SysCarFaultController extends BaseController
//赋值
sysCarFault.setFaultCode(randomCode);
sysCarFault.setCreateBy(SecurityUtils.getUsername());
+ FaultLog faultLog = new FaultLog();
+ faultLog.setFaultLogCodes(sysCarFault.getFaultCode());
+ faultLog.setFaultLogVin(sysCarFault.getCarVin());
+ DateTime startTime = DateTime.now(); // 获取当前时间作为开始时间
+ faultLog.setFaultLogStartTime(startTime);
+ faultLogService.save(faultLog);
+ if (sysCarFaultService.checkIdUnique(sysCarFault)) {
+ return error("新增 车辆故障 '" + sysCarFault + "'失败,车辆故障已存在");
+ }
return toAjax(sysCarFaultService.save(sysCarFault));
}
diff --git a/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/mapper/FaultMessageMapper.java b/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/mapper/FaultMessageMapper.java
new file mode 100644
index 0000000..73a3930
--- /dev/null
+++ b/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/mapper/FaultMessageMapper.java
@@ -0,0 +1,7 @@
+package com.muyu.fault.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.muyu.fault.common.FaultMessage;
+
+public interface FaultMessageMapper extends BaseMapper {
+}
diff --git a/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/mapper/FaultTypeMapper.java b/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/mapper/FaultTypeMapper.java
new file mode 100644
index 0000000..5265201
--- /dev/null
+++ b/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/mapper/FaultTypeMapper.java
@@ -0,0 +1,9 @@
+package com.muyu.fault.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.muyu.fault.common.FaultType;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface FaultTypeMapper extends BaseMapper {
+}
diff --git a/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/mapper/FaultrRuleMapper.java b/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/mapper/FaultrRuleMapper.java
new file mode 100644
index 0000000..3fd2169
--- /dev/null
+++ b/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/mapper/FaultrRuleMapper.java
@@ -0,0 +1,10 @@
+package com.muyu.fault.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.muyu.fault.common.FaultrRule;
+import org.apache.ibatis.annotations.Mapper;
+
+
+@Mapper
+public interface FaultrRuleMapper extends BaseMapper {
+}
diff --git a/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/service/impl/FaultLogService.java b/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/service/FaultLogService.java
similarity index 52%
rename from cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/service/impl/FaultLogService.java
rename to cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/service/FaultLogService.java
index 325939e..2af9a14 100644
--- a/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/service/impl/FaultLogService.java
+++ b/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/service/FaultLogService.java
@@ -1,7 +1,14 @@
-package com.muyu.fault.service.impl;
+package com.muyu.fault.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.muyu.fault.common.FaultLog;
+import java.util.List;
+
public interface FaultLogService extends IService {
+ List faultLogList(FaultLog faultLog);
+
+
+ FaultLog byidId(Long faultLogId);
+
}
diff --git a/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/service/FaultMessageService.java b/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/service/FaultMessageService.java
new file mode 100644
index 0000000..89f6b81
--- /dev/null
+++ b/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/service/FaultMessageService.java
@@ -0,0 +1,15 @@
+package com.muyu.fault.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.muyu.fault.common.FaultMessage;
+
+import java.util.List;
+
+public interface FaultMessageService extends IService {
+
+ List selectOne();
+
+ List selectTwo();
+
+ List faultMessageList(FaultMessage faultMessage);
+}
diff --git a/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/service/FaultTypeService.java b/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/service/FaultTypeService.java
new file mode 100644
index 0000000..e4e6037
--- /dev/null
+++ b/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/service/FaultTypeService.java
@@ -0,0 +1,10 @@
+package com.muyu.fault.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.muyu.fault.common.FaultType;
+
+import java.util.List;
+
+public interface FaultTypeService extends IService {
+ List faultTypeList(FaultType faultType);
+}
diff --git a/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/service/FaultrRuleService.java b/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/service/FaultrRuleService.java
new file mode 100644
index 0000000..3899aa7
--- /dev/null
+++ b/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/service/FaultrRuleService.java
@@ -0,0 +1,12 @@
+package com.muyu.fault.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.muyu.fault.common.FaultrRule;
+
+import java.util.List;
+
+public interface FaultrRuleService extends IService {
+ List faultRuleList(FaultrRule faultrRule);
+
+ FaultrRule byidRuleId(Long faultRuleId);
+}
diff --git a/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/service/impl/SysCarFaultService.java b/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/service/SysCarFaultService.java
similarity index 95%
rename from cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/service/impl/SysCarFaultService.java
rename to cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/service/SysCarFaultService.java
index ed175a3..9afe833 100644
--- a/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/service/impl/SysCarFaultService.java
+++ b/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/service/SysCarFaultService.java
@@ -1,4 +1,4 @@
-package com.muyu.fault.service.impl;
+package com.muyu.fault.service;
import java.util.List;
import com.baomidou.mybatisplus.extension.service.IService;
diff --git a/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/service/impl/FaultLogServiceImpl.java b/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/service/impl/FaultLogServiceImpl.java
index c42007d..3387ba9 100644
--- a/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/service/impl/FaultLogServiceImpl.java
+++ b/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/service/impl/FaultLogServiceImpl.java
@@ -1,10 +1,33 @@
package com.muyu.fault.service.impl;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.muyu.common.core.utils.StringUtils;
import com.muyu.fault.common.FaultLog;
import com.muyu.fault.mapper.FaultLogMapper;
+import com.muyu.fault.service.FaultLogService;
import org.springframework.stereotype.Service;
+import org.springframework.util.Assert;
+
+import java.util.List;
@Service
-public class FaultLogServiceImpl extends ServiceImpl implements FaultLogService{
+public class FaultLogServiceImpl extends ServiceImpl implements FaultLogService {
+ @Override
+ public List faultLogList(FaultLog faultLog) {
+ LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
+ queryWrapper.like(StringUtils.isNotEmpty(faultLog.getFaultLogVin()),
+ FaultLog::getFaultLogVin, faultLog.getFaultLogVin());
+ queryWrapper.like(StringUtils.isNotEmpty(faultLog.getFaultLogCodes()),
+ FaultLog::getFaultLogCodes, faultLog.getFaultLogCodes());
+ return this.list(queryWrapper);
+ }
+
+ @Override
+ public FaultLog byidId(Long faultLogId) {
+ LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
+ Assert.notNull(faultLogId, "日志ID不可为空");
+ queryWrapper.eq(FaultLog::getFaultLogId, faultLogId);
+ return this.getOne(queryWrapper);
+ }
}
diff --git a/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/service/impl/FaultMessageServiceImpl.java b/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/service/impl/FaultMessageServiceImpl.java
new file mode 100644
index 0000000..bf697a5
--- /dev/null
+++ b/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/service/impl/FaultMessageServiceImpl.java
@@ -0,0 +1,48 @@
+package com.muyu.fault.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.muyu.common.core.utils.StringUtils;
+import com.muyu.common.security.utils.SecurityUtils;
+import com.muyu.fault.common.FaultMessage;
+import com.muyu.fault.mapper.FaultMessageMapper;
+import com.muyu.fault.service.FaultMessageService;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class FaultMessageServiceImpl extends ServiceImpl implements FaultMessageService {
+
+ @Override
+ public List selectOne() {
+ LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
+ //查询消息状态为1的未读数据
+ queryWrapper.eq(FaultMessage::getFaultMessageState, 1);
+ return this.list(queryWrapper);
+ }
+
+ @Override
+ public List selectTwo() {
+ LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
+ //查询消息状态为2的已读数据
+ queryWrapper.eq(FaultMessage::getFaultMessageState, 2);
+ return this.list(queryWrapper);
+ }
+
+ @Override
+ public List faultMessageList(FaultMessage faultMessage) {
+ String username = SecurityUtils.getUsername();
+ LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
+ if (StringUtils.isNotEmpty(faultMessage.getFaultMessageRemoveName())) {
+ queryWrapper.eq(FaultMessage::getFaultMessageSendName,username);
+ }
+ if (StringUtils.isNotEmpty(String.valueOf(faultMessage.getFaultMessageState()))) {
+ queryWrapper.eq(FaultMessage::getFaultMessageState,faultMessage.getFaultMessageState());
+ }
+ if (StringUtils.isNotEmpty(faultMessage.getFaultMessageSendName())) {
+ queryWrapper.like(FaultMessage::getFaultMessageSendName,faultMessage.getFaultMessageSendName());
+ }
+ return this.list(queryWrapper);
+ }
+}
diff --git a/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/service/impl/FaultTypeServiceImpl.java b/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/service/impl/FaultTypeServiceImpl.java
new file mode 100644
index 0000000..d316e3c
--- /dev/null
+++ b/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/service/impl/FaultTypeServiceImpl.java
@@ -0,0 +1,26 @@
+package com.muyu.fault.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.muyu.common.core.utils.StringUtils;
+import com.muyu.fault.common.FaultType;
+import com.muyu.fault.mapper.FaultTypeMapper;
+import com.muyu.fault.service.FaultTypeService;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class FaultTypeServiceImpl extends ServiceImpl implements FaultTypeService {
+ @Override
+ public List faultTypeList(FaultType faultType) {
+ LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
+ if (StringUtils.isNotEmpty(faultType.getFaultTypeName())) {
+ queryWrapper.like(FaultType::getFaultTypeName,faultType.getFaultTypeName());
+ }
+ if (StringUtils.isNotEmpty(faultType.getFaultTypeDescription())) {
+ queryWrapper.like(FaultType::getFaultTypeDescription,faultType.getFaultTypeDescription());
+ }
+ return this.list(queryWrapper);
+ }
+}
diff --git a/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/service/impl/FaultrRuleServiceImpl.java b/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/service/impl/FaultrRuleServiceImpl.java
new file mode 100644
index 0000000..5f55d1a
--- /dev/null
+++ b/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/service/impl/FaultrRuleServiceImpl.java
@@ -0,0 +1,36 @@
+package com.muyu.fault.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.muyu.common.core.utils.StringUtils;
+import com.muyu.fault.common.FaultrRule;
+import com.muyu.fault.mapper.FaultrRuleMapper;
+import com.muyu.fault.service.FaultrRuleService;
+import org.springframework.stereotype.Service;
+import org.springframework.util.Assert;
+
+import java.util.List;
+
+@Service
+public class FaultrRuleServiceImpl extends ServiceImpl implements FaultrRuleService {
+
+ @Override
+ public List faultRuleList(FaultrRule faultrRule) {
+ LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
+ if (StringUtils.isNotEmpty(faultrRule.getFaultRuleName())) {
+ queryWrapper.eq(FaultrRule::getFaultRuleName,faultrRule.getFaultRuleName());
+ }
+ if (StringUtils.isNotEmpty(faultrRule.getFaultRuleParameter())) {
+ queryWrapper.eq(FaultrRule::getFaultRuleParameter,faultrRule.getFaultRuleParameter());
+ }
+ return this.list(queryWrapper);
+ }
+
+ @Override
+ public FaultrRule byidRuleId(Long faultRuleId) {
+ LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
+ Assert.notNull(faultRuleId, "规则ID不可为空");
+ queryWrapper.eq(FaultrRule::getFaultRuleId, faultRuleId);
+ return this.getOne(queryWrapper);
+ }
+}
diff --git a/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/service/impl/SysCarFaultServiceImpl.java b/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/service/impl/SysCarFaultServiceImpl.java
index ead1679..a3ba13f 100644
--- a/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/service/impl/SysCarFaultServiceImpl.java
+++ b/cloud-modules/cloud-modules-fault/src/main/java/com/muyu/fault/service/impl/SysCarFaultServiceImpl.java
@@ -3,6 +3,7 @@ package com.muyu.fault.service.impl;
import java.util.List;
import com.muyu.fault.common.SysCarFault;
+import com.muyu.fault.service.SysCarFaultService;
import org.springframework.stereotype.Service;
import com.muyu.fault.mapper.SysCarFaultMapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -41,12 +42,10 @@ public class SysCarFaultServiceImpl
public List selectSysCarFaultList(SysCarFault sysCarFault)
{
LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
- queryWrapper.like(StringUtils.isNotEmpty(sysCarFault.getFaultType()),
- SysCarFault::getFaultType, sysCarFault.getFaultType());
+ queryWrapper.eq(StringUtils.isNotEmpty(String.valueOf(sysCarFault.getFaultTypeId())),
+ SysCarFault::getFaultTypeId, sysCarFault.getFaultTypeId());
queryWrapper.eq(StringUtils.isNotEmpty(sysCarFault.getState()),
SysCarFault::getState, sysCarFault.getState());
- queryWrapper.eq(StringUtils.isNotEmpty(sysCarFault.getFaultType()),
- SysCarFault::getFaultType, sysCarFault.getFaultType());
queryWrapper.like(StringUtils.isNotEmpty(sysCarFault.getCarVin()),
SysCarFault::getCarVin, sysCarFault.getCarVin());
queryWrapper.eq(StringUtils.isNotEmpty(sysCarFault.getFaultWarn()),
diff --git a/cloud-modules/cloud-modules-fault/src/test/java/Text01.java b/cloud-modules/cloud-modules-fault/src/test/java/Text01.java
new file mode 100644
index 0000000..921a9e8
--- /dev/null
+++ b/cloud-modules/cloud-modules-fault/src/test/java/Text01.java
@@ -0,0 +1,29 @@
+import org.simpleframework.xml.Text;
+
+import java.time.LocalDateTime;
+import java.util.Random;
+
+@Text
+public class Text01 {
+ public static void main(String[] args) {
+// String prefix = "GT"; // 随机码的前缀
+// int minNumber = 1; // 随机数字的最小值
+// int maxNumber = 999; // 随机数字的最大值
+// Random random = new Random(); // 创建一个随机对象
+// // 生成一个随机数字
+// int number = random.nextInt(maxNumber - minNumber + 1) + minNumber;
+// // 将数字格式化为三位字符串,不足三位前面补0
+// String formattedNumber = String.format("%03d", number);
+// // 生成一个随机字母
+// String alphabets = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
+// String randomLetter = alphabets.charAt(random.nextInt(alphabets.length())) + "";
+// // 拼接前缀、随机字母和随机数字
+// String randomCode = prefix + randomLetter + formattedNumber;
+// System.out.println(randomCode); // 输出随机码
+// LocalDateTime startTime = LocalDateTime.now(); // 开始时间
+// LocalDateTime endTime = startTime.plusHours(2); // 结束时间设置为开始时间后2小时
+//
+// System.out.println("Start Time: " + startTime);
+// System.out.println("End Time: " + endTime);
+ }
+}