设备控制完善日志,以及更新用户获取工具

master
lld 2026-01-31 20:18:30 +08:00
parent c7d19dd442
commit d4be7bbd5d
8 changed files with 40 additions and 6 deletions

View File

@ -1,8 +1,10 @@
package com.agri.web.controller.tool; package com.agri.web.controller.tool;
import com.agri.common.core.controller.BaseController; import com.agri.common.core.controller.BaseController;
import com.agri.common.core.domain.AjaxResult;
import com.agri.common.core.domain.R; import com.agri.common.core.domain.R;
import com.agri.common.utils.StringUtils; import com.agri.common.utils.StringUtils;
import com.agri.framework.config.MqttConfig;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.github.xiaoymin.knife4j.annotations.ApiSupport; import com.github.xiaoymin.knife4j.annotations.ApiSupport;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
@ -11,6 +13,7 @@ import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.eclipse.paho.client.mqttv3.MqttException;
import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PathVariable;
@ -20,6 +23,7 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import javax.validation.Valid; import javax.validation.Valid;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
@ -37,6 +41,9 @@ import java.util.Map;
@RequestMapping("/test/user") @RequestMapping("/test/user")
public class TestController extends BaseController public class TestController extends BaseController
{ {
@Resource
private MqttConfig.MqttMessageSender mqttMessageSender;
private final static Map<Integer, UserEntity> users = new LinkedHashMap<Integer, UserEntity>(); private final static Map<Integer, UserEntity> users = new LinkedHashMap<Integer, UserEntity>();
{ {
users.put(1, new UserEntity(1, "admin", "admin123", "15888888888")); users.put(1, new UserEntity(1, "admin", "admin123", "15888888888"));
@ -118,6 +125,16 @@ public class TestController extends BaseController
return R.fail("用户不存在"); return R.fail("用户不存在");
} }
} }
@RequestMapping("getStatus")
public void getStatus() throws MqttException {
mqttMessageSender.publish("dtu/864865085008135/down", "{\"jbk\":0,\"read\":true}");
logger.info("{\"jbk\":0,\"read\":true}");
}
} }
@ApiModel(value = "UserEntity", description = "用户实体") @ApiModel(value = "UserEntity", description = "用户实体")

View File

@ -43,7 +43,7 @@ server:
# 日志配置 # 日志配置
logging: logging:
level: level:
com.agri: info com.agri: debug
org.springframework: warn org.springframework: warn
# 用户配置 # 用户配置

View File

@ -111,7 +111,7 @@ public class SecurityConfig
.authorizeHttpRequests((requests) -> { .authorizeHttpRequests((requests) -> {
permitAllUrl.getUrls().forEach(url -> requests.antMatchers(url).permitAll()); permitAllUrl.getUrls().forEach(url -> requests.antMatchers(url).permitAll());
// 对于登录login 注册register 验证码captchaImage 允许匿名访问 // 对于登录login 注册register 验证码captchaImage 允许匿名访问
requests.antMatchers("/login", "/register", "/captchaImage","/api/mqtt/status").permitAll() requests.antMatchers("/login", "/register", "/captchaImage","/api/mqtt/status","/test/user/getStatus").permitAll()
// 静态资源,可匿名访问 // 静态资源,可匿名访问
.antMatchers(HttpMethod.GET, "/", "/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**").permitAll() .antMatchers(HttpMethod.GET, "/", "/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**").permitAll()
.antMatchers("/swagger-ui.html", "/swagger-resources/**", "/webjars/**", "/*/api-docs", "/druid/**").permitAll() .antMatchers("/swagger-ui.html", "/swagger-resources/**", "/webjars/**", "/*/api-docs", "/druid/**").permitAll()

View File

@ -190,9 +190,9 @@ public class DeviceStatusHandler {
.set(SysDevOperLog::getAckReceived,1) .set(SysDevOperLog::getAckReceived,1)
.set(SysDevOperLog::getIsLockSuc,1) .set(SysDevOperLog::getIsLockSuc,1)
.set(SysDevOperLog::getAckSuc, 1) .set(SysDevOperLog::getAckSuc, 1)
.set(SysDevOperLog::getUpdateBy,"自动关") .set(SysDevOperLog::getUpdateBy,"设备回执")
.set(SysDevOperLog::getIsTask,autoOffSeconds > 0?1:0) .set(SysDevOperLog::getIsTask,autoOffSeconds > 0?1:0)
.set(ObjectUtils.isEmpty(autoOffSeconds), SysDevOperLog::getNoTaskReason,"当前运行时间:【"+autoOffSeconds+"】") .set(SysDevOperLog::getNoTaskReason,autoOffSeconds > 0?null:"【自动关任务】标记不符合执行运行时间未配置,当前运行时间:【"+autoOffSeconds+"】")
.set(SysDevOperLog::getAck, payload) .set(SysDevOperLog::getAck, payload)
.set(SysDevOperLog::getExecResult, 1) .set(SysDevOperLog::getExecResult, 1)
.update(); .update();

View File

@ -219,7 +219,6 @@ public class FrontendControlHandler {
.set(SysDevOperLog::getIsLockSuc,1) .set(SysDevOperLog::getIsLockSuc,1)
.set(SysDevOperLog::getAckSuc, 1) .set(SysDevOperLog::getAckSuc, 1)
.set(SysDevOperLog::getIsTask, 1) .set(SysDevOperLog::getIsTask, 1)
.set(SysDevOperLog::getUpdateBy,"自动关")
.set(autoOffSeconds <= 0, SysDevOperLog::getNoTaskReason,"当前运行时间:【"+autoOffSeconds+"】") .set(autoOffSeconds <= 0, SysDevOperLog::getNoTaskReason,"当前运行时间:【"+autoOffSeconds+"】")
.set(SysDevOperLog::getUpdateBy, "测试") .set(SysDevOperLog::getUpdateBy, "测试")
.set(SysDevOperLog::getExecResult, 1) .set(SysDevOperLog::getExecResult, 1)

View File

@ -79,6 +79,9 @@ public class SysDevOperLog extends BaseEntity
@Excel(name = "是否触发定时任务") @Excel(name = "是否触发定时任务")
private int isTask; private int isTask;
@Excel(name = "大棚运行时间限位")
private int runTime;
/** 未触发原因 */ /** 未触发原因 */
@Excel(name = "未触发原因") @Excel(name = "未触发原因")
private String noTaskReason; private String noTaskReason;
@ -264,6 +267,14 @@ public class SysDevOperLog extends BaseEntity
this.version = version; this.version = version;
} }
public int getRunTime() {
return runTime;
}
public void setRunTime(int runTime) {
this.runTime = runTime;
}
@Override @Override
public String toString() { public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
@ -281,6 +292,7 @@ public class SysDevOperLog extends BaseEntity
.append("ackSuc", getAckSuc()) .append("ackSuc", getAckSuc())
.append("isLockSuc", getIsLockSuc()) .append("isLockSuc", getIsLockSuc())
.append("isTask", getIsTask()) .append("isTask", getIsTask())
.append("runTime", getRunTime())
.append("noTaskReason", getNoTaskReason()) .append("noTaskReason", getNoTaskReason())
.append("ack", getAck()) .append("ack", getAck())
.append("execResult", getExecResult()) .append("execResult", getExecResult())

View File

@ -138,4 +138,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
#{id} #{id}
</foreach> </foreach>
</delete> </delete>
</mapper> </mapper>

View File

@ -19,6 +19,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="ackSuc" column="ack_suc" /> <result property="ackSuc" column="ack_suc" />
<result property="isLockSuc" column="is_lock_suc" /> <result property="isLockSuc" column="is_lock_suc" />
<result property="isTask" column="is_task" /> <result property="isTask" column="is_task" />
<result property="runTime" column="run_time" />
<result property="noTaskReason" column="no_task_reason" /> <result property="noTaskReason" column="no_task_reason" />
<result property="ack" column="ack" /> <result property="ack" column="ack" />
<result property="execResult" column="exec_result" /> <result property="execResult" column="exec_result" />
@ -33,7 +34,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</resultMap> </resultMap>
<sql id="selectSysDevOperLogVo"> <sql id="selectSysDevOperLogVo">
select id, agri_name, imei, func_code, op_type, op_source, payload, lock_acquired, lock_holder, task_status, ack_received, ack_suc, is_lock_suc, is_task, no_task_reason, ack, exec_result, skip_reason, latest_state, remark, version, create_by, create_time, update_by, update_time from sys_dev_oper_log select id, agri_name, imei, func_code, op_type, op_source, payload, lock_acquired, lock_holder, task_status, ack_received, ack_suc, is_lock_suc, is_task, run_time, no_task_reason, ack, exec_result, skip_reason, latest_state, remark, version, create_by, create_time, update_by, update_time from sys_dev_oper_log
</sql> </sql>
<select id="selectSysDevOperLogList" parameterType="SysDevOperLog" resultMap="SysDevOperLogResult"> <select id="selectSysDevOperLogList" parameterType="SysDevOperLog" resultMap="SysDevOperLogResult">
@ -63,6 +64,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="ackSuc != null">ack_suc,</if> <if test="ackSuc != null">ack_suc,</if>
<if test="isLockSuc != null">is_lock_suc,</if> <if test="isLockSuc != null">is_lock_suc,</if>
<if test="isTask != null">is_task,</if> <if test="isTask != null">is_task,</if>
<if test="runTime != null">run_time,</if>
<if test="noTaskReason != null">no_task_reason,</if> <if test="noTaskReason != null">no_task_reason,</if>
<if test="ack != null">ack,</if> <if test="ack != null">ack,</if>
<if test="execResult != null">exec_result,</if> <if test="execResult != null">exec_result,</if>
@ -89,6 +91,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="ackSuc != null">#{ackSuc},</if> <if test="ackSuc != null">#{ackSuc},</if>
<if test="isLockSuc != null">#{isLockSuc},</if> <if test="isLockSuc != null">#{isLockSuc},</if>
<if test="isTask != null">#{isTask},</if> <if test="isTask != null">#{isTask},</if>
<if test="runTime != null">#{runTime},</if>
<if test="noTaskReason != null">#{noTaskReason},</if> <if test="noTaskReason != null">#{noTaskReason},</if>
<if test="ack != null">#{ack},</if> <if test="ack != null">#{ack},</if>
<if test="execResult != null">#{execResult},</if> <if test="execResult != null">#{execResult},</if>
@ -119,6 +122,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="ackSuc != null">ack_suc = #{ackSuc},</if> <if test="ackSuc != null">ack_suc = #{ackSuc},</if>
<if test="isLockSuc != null">is_lock_suc = #{isLockSuc},</if> <if test="isLockSuc != null">is_lock_suc = #{isLockSuc},</if>
<if test="isTask != null">is_task = #{isTask},</if> <if test="isTask != null">is_task = #{isTask},</if>
<if test="runTime != null">run_time = #{runTime},</if>
<if test="noTaskReason != null">no_task_reason = #{noTaskReason},</if> <if test="noTaskReason != null">no_task_reason = #{noTaskReason},</if>
<if test="ack != null">ack = #{ack},</if> <if test="ack != null">ack = #{ack},</if>
<if test="execResult != null">exec_result = #{execResult},</if> <if test="execResult != null">exec_result = #{execResult},</if>