0、背景
物联网项目温湿度管理后台,使用Spring boot 开发,下面主要介绍终端日志的代码实现。
1、代码-终端日志
1.1 终端日志-控制器
IemsTerminalLogController.java
/**
* 终端日志Controller
*
* @author ken_ji_jian
* @date 20xx-11-02
*/
@Controller
@RequestMapping("/iems/log")
public class IemsTerminalLogController extends BaseController
{
private String prefix = "iems/log";
@Autowired
private IIemsTerminalLogService iemsTerminalLogService;
@RequiresPermissions("iems:log:view")
@GetMapping()
public String log()
{
return prefix + "/log";
}
/**
* 查询终端日志列表
*/
@RequiresPermissions("iems:log:list")
@PostMapping("/list")
@ResponseBody
public TableDataInfo list(IemsTerminalLog iemsTerminalLog)
{
startPage();
List<IemsTerminalLog> list = iemsTerminalLogService.selectIemsTerminalLogList(iemsTerminalLog);
return getDataTable(list);
}
/**
* 导出终端日志列表
*/
@RequiresPermissions("iems:log:export")
@PostMapping("/export")
@ResponseBody
public AjaxResult export(IemsTerminalLog iemsTerminalLog)
{
List<IemsTerminalLog> list = iemsTerminalLogService.selectIemsTerminalLogList(iemsTerminalLog);
ExcelUtil<IemsTerminalLog> util = new ExcelUtil<IemsTerminalLog>(IemsTerminalLog.class);
return util.exportExcel(list, "log");
}
/**
* 新增终端日志
*/
@GetMapping("/add")
public String add()
{
return prefix + "/add";
}
/**
* 新增保存终端日志
*/
@RequiresPermissions("iems:log:add")
@Log(title = "终端日志", businessType = BusinessType.INSERT)
@PostMapping("/add")
@ResponseBody
public AjaxResult addSave(IemsTerminalLog iemsTerminalLog)
{
return toAjax(iemsTerminalLogService.insertIemsTerminalLog(iemsTerminalLog));
}
/**
* 修改终端日志
*/
@GetMapping("/edit/{messageId}")
public String edit(@PathVariable("messageId") Long messageId, ModelMap mmap)
{
IemsTerminalLog iemsTerminalLog = iemsTerminalLogService.selectIemsTerminalLogById(messageId);
mmap.put("iemsTerminalLog", iemsTerminalLog);
return prefix + "/edit";
}
/**
* 修改保存终端日志
*/
@RequiresPermissions("iems:log:edit")
@Log(title = "终端日志", businessType = BusinessType.UPDATE)
@PostMapping("/edit")
@ResponseBody
public AjaxResult editSave(IemsTerminalLog iemsTerminalLog)
{
return toAjax(iemsTerminalLogService.updateIemsTerminalLog(iemsTerminalLog));
}
/**
* 删除终端日志
*/
@RequiresPermissions("iems:log:remove")
@Log(title = "终端日志", businessType = BusinessType.DELETE)
@PostMapping( "/remove")
@ResponseBody
public AjaxResult remove(String ids)
{
return toAjax(iemsTerminalLogService.deleteIemsTerminalLogByIds(ids));
}
}
1.2 终端日志-模型
IemsTerminalLog.java
/**
* 终端日志对象 iems_terminal_log
*
* @author ken_ji_jian
* @date 20xx-11-02
*/
public class IemsTerminalLog extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 消息id */
private Long messageId;
/** 消息guid */
@Excel(name = "消息guid")
private String messageGuid;
/** 终端ID */
@Excel(name = "终端ID")
private Long terminalId;
/** 消息类型1登录,2实时信息,3补发信息,4登出,5下发命令 */
@Excel(name = "消息类型1登录,2实时信息,3补发信息,4登出,5下发命令")
private Long messageType;
/** 消息接收时间 */
@Excel(name = "消息接收时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date messageTime;
/** 消息 */
@Excel(name = "消息")
private String message;
public void setMessageId(Long messageId)
{
this.messageId = messageId;
}
public Long getMessageId()
{
return messageId;
}
public void setMessageGuid(String messageGuid)
{
this.messageGuid = messageGuid;
}
public String getMessageGuid()
{
return messageGuid;
}
public void setTerminalId(Long terminalId)
{
this.terminalId = terminalId;
}
public Long getTerminalId()
{
return terminalId;
}
public void setMessageType(Long messageType)
{
this.messageType = messageType;
}
public Long getMessageType()
{
return messageType;
}
public void setMessageTime(Date messageTime)
{
this.messageTime = messageTime;
}
public Date getMessageTime()
{
return messageTime;
}
public void setMessage(String message)
{
this.message = message;
}
public String getMessage()
{
return message;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("messageId", getMessageId())
.append("messageGuid", getMessageGuid())
.append("terminalId", getTerminalId())
.append("messageType", getMessageType())
.append("messageTime", getMessageTime())
.append("message", getMessage())
.append("createTime", getCreateTime())
.toString();
}
}
1.3 终端日志-数据库映射类
IemsTerminalLog.java
/**
* 终端日志Mapper接口
*
* @author ken_ji_jian
* @date 20xx-11-02
*/
public interface IemsTerminalLogMapper
{
/**
* 查询终端日志
*
* @param messageId 终端日志ID
* @return 终端日志
*/
public IemsTerminalLog selectIemsTerminalLogById(Long messageId);
/**
* 查询终端日志列表
*
* @param iemsTerminalLog 终端日志
* @return 终端日志集合
*/
public List<IemsTerminalLog> selectIemsTerminalLogList(IemsTerminalLog iemsTerminalLog);
/**
* 新增终端日志
*
* @param iemsTerminalLog 终端日志
* @return 结果
*/
public int insertIemsTerminalLog(IemsTerminalLog iemsTerminalLog);
/**
* 修改终端日志
*
* @param iemsTerminalLog 终端日志
* @return 结果
*/
public int updateIemsTerminalLog(IemsTerminalLog iemsTerminalLog);
/**
* 删除终端日志
*
* @param messageId 终端日志ID
* @return 结果
*/
public int deleteIemsTerminalLogById(Long messageId);
/**
* 批量删除终端日志
*
* @param messageIds 需要删除的数据ID
* @return 结果
*/
public int deleteIemsTerminalLogByIds(String[] messageIds);
}
1.4 终端日志-服务接口
IemsTerminalLog.java
/**
* 终端日志Service接口
*
* @author ken_ji_jian
* @date 20xx-11-02
*/
public interface IIemsTerminalLogService
{
/**
* 查询终端日志
*
* @param messageId 终端日志ID
* @return 终端日志
*/
public IemsTerminalLog selectIemsTerminalLogById(Long messageId);
/**
* 查询终端日志列表
*
* @param iemsTerminalLog 终端日志
* @return 终端日志集合
*/
public List<IemsTerminalLog> selectIemsTerminalLogList(IemsTerminalLog iemsTerminalLog);
/**
* 新增终端日志
*
* @param iemsTerminalLog 终端日志
* @return 结果
*/
public int insertIemsTerminalLog(IemsTerminalLog iemsTerminalLog);
/**
* 修改终端日志
*
* @param iemsTerminalLog 终端日志
* @return 结果
*/
public int updateIemsTerminalLog(IemsTerminalLog iemsTerminalLog);
/**
* 批量删除终端日志
*
* @param ids 需要删除的数据ID
* @return 结果
*/
public int deleteIemsTerminalLogByIds(String ids);
/**
* 删除终端日志信息
*
* @param messageId 终端日志ID
* @return 结果
*/
public int deleteIemsTerminalLogById(Long messageId);
}
1.5 终端日志-服务实现
IemsTerminalLogServiceImpl.java
/**
* 终端日志Service业务层处理
*
* @author ken_ji_jian
* @date 20xx-11-02
*/
@Service
public class IemsTerminalLogServiceImpl implements IIemsTerminalLogService
{
@Autowired
private IemsTerminalLogMapper iemsTerminalLogMapper;
/**
* 查询终端日志
*
* @param messageId 终端日志ID
* @return 终端日志
*/
@Override
public IemsTerminalLog selectIemsTerminalLogById(Long messageId)
{
return iemsTerminalLogMapper.selectIemsTerminalLogById(messageId);
}
/**
* 查询终端日志列表
*
* @param iemsTerminalLog 终端日志
* @return 终端日志
*/
@Override
public List<IemsTerminalLog> selectIemsTerminalLogList(IemsTerminalLog iemsTerminalLog)
{
return iemsTerminalLogMapper.selectIemsTerminalLogList(iemsTerminalLog);
}
/**
* 新增终端日志
*
* @param iemsTerminalLog 终端日志
* @return 结果
*/
@Override
public int insertIemsTerminalLog(IemsTerminalLog iemsTerminalLog)
{
iemsTerminalLog.setCreateTime(DateUtils.getNowDate());
return iemsTerminalLogMapper.insertIemsTerminalLog(iemsTerminalLog);
}
/**
* 修改终端日志
*
* @param iemsTerminalLog 终端日志
* @return 结果
*/
@Override
public int updateIemsTerminalLog(IemsTerminalLog iemsTerminalLog)
{
iemsTerminalLog.setUpdateTime(DateUtils.getNowDate());
return iemsTerminalLogMapper.updateIemsTerminalLog(iemsTerminalLog);
}
/**
* 删除终端日志对象
*
* @param ids 需要删除的数据ID
* @return 结果
*/
@Override
public int deleteIemsTerminalLogByIds(String ids)
{
return iemsTerminalLogMapper.deleteIemsTerminalLogByIds(Convert.toStrArray(ids));
}
/**
* 删除终端日志信息
*
* @param messageId 终端日志ID
* @return 结果
*/
@Override
public int deleteIemsTerminalLogById(Long messageId)
{
return iemsTerminalLogMapper.deleteIemsTerminalLogById(messageId);
}
1.6 终端日志-页面实现
add.html
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('新增终端日志')" />
<th:block th:include="include :: datetimepicker-css" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-log-add">
<div class="form-group">
<label class="col-sm-3 control-label">消息guid:</label>
<div class="col-sm-8">
<input name="messageGuid" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">终端ID:</label>
<div class="col-sm-8">
<input name="terminalId" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">消息类型1登录,2实时信息,3补发信息,4登出,5下发命令:</label>
<div class="col-sm-8">
<select name="messageType" class="form-control m-b">
<option value="">所有</option>
</select>
<span class="help-block m-b-none"><i class="fa fa-info-circle"></i> 代码生成请选择字典属性</span>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">消息接收时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
<input name="messageTime" class="form-control" placeholder="yyyy-MM-dd" type="text">
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">消息:</label>
<div class="col-sm-8">
<textarea name="message" class="form-control"></textarea>
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<th:block th:include="include :: datetimepicker-js" />
<script type="text/javascript">
var prefix = ctx + "iems/log"
$("#form-log-add").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/add", $('#form-log-add').serialize());
}
}
$("input[name='messageTime']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
</script>
</body>
</html>
至此物联网实战连载完结,后续会推出其他工业系统设计,敬请关注。