物联网项目-温湿度Web管理后台代码之二
  CLYEAq02EKEQ 2023年11月12日 38 0

物联网项目-温湿度表结构

物联网项目-温湿度-Web后台

物联网项目-温湿度Web管理后台代码之一

物联网项目-温湿度Web管理后台代码之二

物联网项目-温湿度Web管理后台代码之三

物联网项目-温湿度Web管理后台代码之四

物联网项目-温湿度Web管理后台代码之五

物联网项目-服务端TCP Server

物联网项目-订阅者Subscribe

物联网项目-温湿度之 TCP 协议包C#版

物联网项目-通讯协议之 C语言版 STM32

物联网项目-通讯协议之 Java版

物联网项目-温湿度之 nodemcu esp8266 刷机

物联网项目-温湿度stm32 发送短信打电话

物联网项目-温湿度Web管理后台代码之二_物联网

0、背景

物联网项目温湿度管理后台,使用Spring boot 开发,下面主要介绍终端管理代码实现。

1、代码-终端管理

1.1 终端管理-控制器

IemsTerminalController.java

/**
 * 终端管理Controller
 * 
 * @author ken_ji_jian
 * @date 20xx-11-02
 */
@Controller
@RequestMapping("/iems/terminal")
public class IemsTerminalController extends BaseController
{
    private String prefix = "iems/terminal";

    @Autowired
    private IIemsTerminalService iemsTerminalService;

    @RequiresPermissions("iems:terminal:view")
    @GetMapping()
    public String terminal()
    {
        return prefix + "/terminal";
    }

    /**
     * 查询终端管理列表
     */
    @RequiresPermissions("iems:terminal:list")
    @PostMapping("/list")
    @ResponseBody
    public TableDataInfo list(IemsTerminal iemsTerminal)
    {
        startPage();
        List<IemsTerminal> list = iemsTerminalService.selectIemsTerminalList(iemsTerminal);
        return getDataTable(list);
    }

    /**
     * 导出终端管理列表
     */
    @RequiresPermissions("iems:terminal:export")
    @PostMapping("/export")
    @ResponseBody
    public AjaxResult export(IemsTerminal iemsTerminal)
    {
        List<IemsTerminal> list = iemsTerminalService.selectIemsTerminalList(iemsTerminal);
        ExcelUtil<IemsTerminal> util = new ExcelUtil<IemsTerminal>(IemsTerminal.class);
        return util.exportExcel(list, "terminal");
    }

    /**
     * 新增终端管理
     */
    @GetMapping("/add")
    public String add()
    {
        return prefix + "/add";
    }

    /**
     * 新增保存终端管理
     */
    @RequiresPermissions("iems:terminal:add")
    @Log(title = "终端管理", businessType = BusinessType.INSERT)
    @PostMapping("/add")
    @ResponseBody
    public AjaxResult addSave(IemsTerminal iemsTerminal)
    {
        SysUser user = ShiroUtils.getSysUser();
        iemsTerminal.setCreateDate(new Date());
        iemsTerminal.setCreateBy(user.getUserName());
        return toAjax(iemsTerminalService.insertIemsTerminal(iemsTerminal));
    }

    /**
     * 修改终端管理
     */
    @GetMapping("/edit/{terminalId}")
    public String edit(@PathVariable("terminalId") Long terminalId, ModelMap mmap)
    {
        IemsTerminal iemsTerminal = iemsTerminalService.selectIemsTerminalById(terminalId);

        mmap.put("iemsTerminal", iemsTerminal);
        return prefix + "/edit";
    }

    /**
     * 修改保存终端管理
     */
    @RequiresPermissions("iems:terminal:edit")
    @Log(title = "终端管理", businessType = BusinessType.UPDATE)
    @PostMapping("/edit")
    @ResponseBody
    public AjaxResult editSave(IemsTerminal iemsTerminal)
    {
        SysUser user = ShiroUtils.getSysUser();
        iemsTerminal.setUpdateBy(user.getLoginName());
        iemsTerminal.setUpdateDate(new Date());
        return toAjax(iemsTerminalService.updateIemsTerminal(iemsTerminal));
    }

    /**
     * 删除终端管理
     */
    @RequiresPermissions("iems:terminal:remove")
    @Log(title = "终端管理", businessType = BusinessType.DELETE)
    @PostMapping( "/remove")
    @ResponseBody
    public AjaxResult remove(String ids)
    {
        return toAjax(iemsTerminalService.deleteIemsTerminalByIds(ids));
    }
}

1.2 终端管理-模型

IemsTerminal.java

/**
 * 终端管理对象 iems_terminal
 * 
 * @author ken_ji_jian
 * @date 20xx-11-02
 */
public class IemsTerminal extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** ID号 */
    private Long terminalId;

    /** 17位终端SID号 */
    @Excel(name = "17位终端SID号")
    private String terminalSid;

    /** 终端位置 */
    @Excel(name = "终端位置")
    private String location;

    /** 经度 */
    @Excel(name = "经度")
    private String lat;

    /** 维度 */
    @Excel(name = "维度")
    private String lon;

    /** sim卡iccid号 */
    @Excel(name = "sim卡iccid号")
    private String iccid;

    /** 终端配置 */
    @Excel(name = "终端配置")
    private String terminalConfig;

    /** 创建时间 */
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createDate;

    /** 更新时间 */
    @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date updateDate;

    /** 终端状态 0禁用,1启用,2离线,3在线 */
    @Excel(name = "终端状态 0禁用,1启用,2离线,3在线")
    private Long status;

    public void setTerminalId(Long terminalId) 
    {
        this.terminalId = terminalId;
    }

    public Long getTerminalId() 
    {
        return terminalId;
    }
    public void setTerminalSid(String terminalSid) 
    {
        this.terminalSid = terminalSid;
    }

    public String getTerminalSid() 
    {
        return terminalSid;
    }
    public void setLocation(String location) 
    {
        this.location = location;
    }

    public String getLocation() 
    {
        return location;
    }
    public void setLat(String lat) 
    {
        this.lat = lat;
    }

    public String getLat() 
    {
        return lat;
    }
    public void setLon(String lon) 
    {
        this.lon = lon;
    }

    public String getLon() 
    {
        return lon;
    }
    public void setIccid(String iccid) 
    {
        this.iccid = iccid;
    }

    public String getIccid() 
    {
        return iccid;
    }
    public void setTerminalConfig(String terminalConfig) 
    {
        this.terminalConfig = terminalConfig;
    }

    public String getTerminalConfig() 
    {
        return terminalConfig;
    }
    public void setCreateDate(Date createDate) 
    {
        this.createDate = createDate;
    }

    public Date getCreateDate() 
    {
        return createDate;
    }
    public void setUpdateDate(Date updateDate) 
    {
        this.updateDate = updateDate;
    }

    public Date getUpdateDate() 
    {
        return updateDate;
    }
    public void setStatus(Long status) 
    {
        this.status = status;
    }

    public Long getStatus() 
    {
        return status;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("terminalId", getTerminalId())
            .append("terminalSid", getTerminalSid())
            .append("location", getLocation())
            .append("lat", getLat())
            .append("lon", getLon())
            .append("iccid", getIccid())
            .append("remark", getRemark())
            .append("terminalConfig", getTerminalConfig())
            .append("createDate", getCreateDate())
            .append("createBy", getCreateBy())
            .append("updateDate", getUpdateDate())
            .append("updateBy", getUpdateBy())
            .append("status", getStatus())
            .toString();
    }
}

1.3 终端管理-数据库映射类

IemsTerminalMapper.java

/**
 * 终端管理Mapper接口
 * 
 * @author ken_ji_jian
 * @date 20xx-11-02
 */
public interface IemsTerminalMapper 
{
    /**
     * 查询终端管理
     * 
     * @param terminalId 终端管理ID
     * @return 终端管理
     */
    public IemsTerminal selectIemsTerminalById(Long terminalId);

    /**
     * 查询终端管理列表
     * 
     * @param iemsTerminal 终端管理
     * @return 终端管理集合
     */
    public List<IemsTerminal> selectIemsTerminalList(IemsTerminal iemsTerminal);

    /**
     * 新增终端管理
     * 
     * @param iemsTerminal 终端管理
     * @return 结果
     */
    public int insertIemsTerminal(IemsTerminal iemsTerminal);

    /**
     * 修改终端管理
     * 
     * @param iemsTerminal 终端管理
     * @return 结果
     */
    public int updateIemsTerminal(IemsTerminal iemsTerminal);

    /**
     * 删除终端管理
     * 
     * @param terminalId 终端管理ID
     * @return 结果
     */
    public int deleteIemsTerminalById(Long terminalId);

    /**
     * 批量删除终端管理
     * 
     * @param terminalIds 需要删除的数据ID
     * @return 结果
     */
    public int deleteIemsTerminalByIds(String[] terminalIds);
}

1.4 终端管理-服务接口

IIemsTerminalService.java

/**
 * 终端管理Service接口
 * 
 * @author ken_ji_jian
 * @date 20xx-11-02
 */
public interface IIemsTerminalService 
{
    /**
     * 查询终端管理
     * 
     * @param terminalId 终端管理ID
     * @return 终端管理
     */
    public IemsTerminal selectIemsTerminalById(Long terminalId);

    /**
     * 查询终端管理列表
     * 
     * @param iemsTerminal 终端管理
     * @return 终端管理集合
     */
    public List<IemsTerminal> selectIemsTerminalList(IemsTerminal iemsTerminal);

    /**
     * 新增终端管理
     * 
     * @param iemsTerminal 终端管理
     * @return 结果
     */
    public int insertIemsTerminal(IemsTerminal iemsTerminal);

    /**
     * 修改终端管理
     * 
     * @param iemsTerminal 终端管理
     * @return 结果
     */
    public int updateIemsTerminal(IemsTerminal iemsTerminal);

    /**
     * 批量删除终端管理
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteIemsTerminalByIds(String ids);

    /**
     * 删除终端管理信息
     * 
     * @param terminalId 终端管理ID
     * @return 结果
     */
    public int deleteIemsTerminalById(Long terminalId);

    /**
     * 获取终端列表
     * @return
     */
    public Map<Long, String> getIemsTerminals();
}

1.5 终端管理-服务实现

IemsTerminalServiceImpl.java

/**
 * 终端管理Service业务层处理
 * 
 * @author ken_ji_jian
 * @date 20xx-11-02
 */
@Service
public class IemsTerminalServiceImpl implements IIemsTerminalService 
{
    @Autowired
    private IemsTerminalMapper iemsTerminalMapper;

    /**
     * 查询终端管理
     * 
     * @param terminalId 终端管理ID
     * @return 终端管理
     */
    @Override
    public IemsTerminal selectIemsTerminalById(Long terminalId)
    {
        return iemsTerminalMapper.selectIemsTerminalById(terminalId);
    }

    /**
     * 查询终端管理列表
     * 
     * @param iemsTerminal 终端管理
     * @return 终端管理
     */
    @Override
    public List<IemsTerminal> selectIemsTerminalList(IemsTerminal iemsTerminal)
    {
        return iemsTerminalMapper.selectIemsTerminalList(iemsTerminal);
    }

    /**
     * 新增终端管理
     * 
     * @param iemsTerminal 终端管理
     * @return 结果
     */
    @Override
    public int insertIemsTerminal(IemsTerminal iemsTerminal)
    {
        return iemsTerminalMapper.insertIemsTerminal(iemsTerminal);
    }

    /**
     * 修改终端管理
     * 
     * @param iemsTerminal 终端管理
     * @return 结果
     */
    @Override
    public int updateIemsTerminal(IemsTerminal iemsTerminal)
    {
        return iemsTerminalMapper.updateIemsTerminal(iemsTerminal);
    }

    /**
     * 删除终端管理对象
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    @Override
    public int deleteIemsTerminalByIds(String ids)
    {
        return iemsTerminalMapper.deleteIemsTerminalByIds(Convert.toStrArray(ids));
    }

    /**
     * 删除终端管理信息
     * 
     * @param terminalId 终端管理ID
     * @return 结果
     */
    @Override
    public int deleteIemsTerminalById(Long terminalId)
    {
        return iemsTerminalMapper.deleteIemsTerminalById(terminalId);
    }

    @Override
    public Map<Long, String> getIemsTerminals(){
        Map<Long, String> dic = new HashMap<>();
        List<IemsTerminal> list = iemsTerminalMapper.selectIemsTerminalList(null);
        if(list != null){
            for(IemsTerminal item : list){
                dic.put(item.getTerminalId(), item.getLocation());
            }
        }
        return dic;
    }
}

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-terminal-add">
            <div class="form-group">    
                <label class="col-sm-3 control-label">17位终端SID号:</label>
                <div class="col-sm-8">
                    <input name="terminalSid" class="form-control" type="text" required>
                </div>
            </div>
            <div class="form-group">    
                <label class="col-sm-3 control-label">终端位置:</label>
                <div class="col-sm-8">
                    <input name="location" class="form-control" type="text" required>
                </div>
            </div>
            <div class="form-group">    
                <label class="col-sm-3 control-label">经度:</label>
                <div class="col-sm-8">
                    <input name="lat" class="form-control" type="text">
                </div>
            </div>
            <div class="form-group">    
                <label class="col-sm-3 control-label">维度:</label>
                <div class="col-sm-8">
                    <input name="lon" class="form-control" type="text">
                </div>
            </div>
            <div class="form-group">    
                <label class="col-sm-3 control-label">sim卡iccid号:</label>
                <div class="col-sm-8">
                    <input name="iccid" class="form-control" type="text" required>
                </div>
            </div>
            <div class="form-group">    
                <label class="col-sm-3 control-label">终端配置:</label>
                <div class="col-sm-8">
                    <input name="terminalConfig" class="form-control" type="text">
                </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="createDate" class="form-control" placeholder="yyyy-MM-dd" type="text" required>
                    </div>
                </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="updateDate" 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">
                    <div class="radio check-box">
                        <label>
                            <input type="radio" checked="" value="0" name="status"> <i></i> 禁用</label>
                    </div>
                    <div class="radio check-box">
                        <label>
                            <input type="radio" checked="checked" value="1" name="status"> <i></i> 启用</label>
                    </div>
                    <span class="help-block m-b-none"><i class="fa fa-info-circle"></i>  0禁用,1启用,2离线,3在线</span>
                </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/terminal"
        $("#form-terminal-add").validate({
            focusCleanup: true
        });

        function submitHandler() {
            if ($.validate.form()) {
                $.operate.save(prefix + "/add", $('#form-terminal-add').serialize());
            }
        }

        $("input[name='createDate']").datetimepicker({
            format: "yyyy-mm-dd",
            minView: "month",
            autoclose: true
        });

        $("input[name='updateDate']").datetimepicker({
            format: "yyyy-mm-dd",
            minView: "month",
            autoclose: true
        });
    </script>
</body>
</html>

略...

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月12日 0

暂无评论

推荐阅读
CLYEAq02EKEQ