diff --git a/pom.xml b/pom.xml index 6322946..cfc8618 100644 --- a/pom.xml +++ b/pom.xml @@ -100,6 +100,18 @@ tiles-api 3.0.5 + + org.apache.poi + poi + 3.15 + jar + + + net.sourceforge.jexcelapi + jxl + 2.6.12 + jar + javax javaee-web-api diff --git a/src/main/java/com/ifish/API/DownloadExcel.java b/src/main/java/com/ifish/API/DownloadExcel.java new file mode 100644 index 0000000..109ea17 --- /dev/null +++ b/src/main/java/com/ifish/API/DownloadExcel.java @@ -0,0 +1,39 @@ +package com.ifish.API; + +import com.ifish.bean.Tbl_Activa_Code; +import java.io.OutputStream; +import java.net.URLEncoder; +import java.util.List; +import java.util.Map; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import org.apache.poi.hssf.usermodel.HSSFCell; +import org.apache.poi.hssf.usermodel.HSSFSheet; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.springframework.web.servlet.view.document.AbstractExcelView; + +public class DownloadExcel extends AbstractExcelView { + + @SuppressWarnings("unchecked") + @Override + protected void buildExcelDocument(Map model, HSSFWorkbook workbook, HttpServletRequest request, HttpServletResponse response) throws Exception { + List list = (List) model.get("list"); + HSSFSheet sheet = workbook.createSheet("sheet"); + sheet.setColumnWidth(0, (int) ((35 + 0.72) * 256)); + HSSFCell cell0 = getCell(sheet, 0, 0); + cell0.setCellValue("激活码"); + for (int i = 0; i < list.size(); i++) { + HSSFCell cell = getCell(sheet, (i + 1), 0); + cell.setCellValue("iFishCamera:" + list.get(i).getActiveCode()); + } + //设置下载时客户端Excel的名称 + String filename = URLEncoder.encode("激活码.xls", "UTF-8"); + response.setContentType("application/vnd.ms-excel"); + response.setHeader("Content-disposition", "attachment;filename=" + filename); + OutputStream ouputStream = response.getOutputStream(); + workbook.write(ouputStream); + ouputStream.flush(); + ouputStream.close(); + } + +} diff --git a/src/main/java/com/ifish/API/UploadExcel.java b/src/main/java/com/ifish/API/UploadExcel.java new file mode 100644 index 0000000..6b24d3c --- /dev/null +++ b/src/main/java/com/ifish/API/UploadExcel.java @@ -0,0 +1,43 @@ +package com.ifish.API; + +import java.io.FileInputStream; +import java.io.InputStream; +import java.util.ArrayList; +import java.util.List; + +import jxl.Cell; +import jxl.Sheet; +import jxl.Workbook; + +public class UploadExcel { + + public boolean readExcel(String filePath){ + try { + InputStream is = new FileInputStream(filePath); + Workbook workbook = Workbook.getWorkbook(is); + Sheet sheet = workbook.getSheet(0); + //行 + int rows = sheet.getRows(); + List macList = new ArrayList(); + for(int i=1;i < rows;i++){ + Cell cell = sheet.getCell(0,i); + String value = cell.getContents(); + macList.add(value); + } + List hardTypeList = new ArrayList(); + for(int i=1;i < rows;i++){ + Cell cell = sheet.getCell(1,i); + String value = cell.getContents(); + hardTypeList.add(value); + } + workbook.close(); + return true; + } catch (Exception e) { + e.printStackTrace(); + } + return false; + } + public static void main(String[] args) { + new UploadExcel().readExcel("D:\\iFishDownload\\2016-06-29(1).xls"); + } +} diff --git a/src/main/java/com/ifish/bean/Tbl_Activa_Code.java b/src/main/java/com/ifish/bean/Tbl_Activa_Code.java index 20e487a..21b5e38 100644 --- a/src/main/java/com/ifish/bean/Tbl_Activa_Code.java +++ b/src/main/java/com/ifish/bean/Tbl_Activa_Code.java @@ -8,6 +8,7 @@ package com.ifish.bean; import java.util.Date; import javax.persistence.Column; import javax.persistence.Entity; +import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.Table; @@ -29,6 +30,7 @@ public class Tbl_Activa_Code implements java.io.Serializable { /** * 激活码 */ + @GeneratedValue(generator = "uuid") @Id @Column(name = "active_code", unique = true, nullable = false, length = 50) private String activeCode; diff --git a/src/main/java/com/ifish/bean/Tbl_Upgrade_Notes.java b/src/main/java/com/ifish/bean/Tbl_Upgrade_Notes.java new file mode 100644 index 0000000..ddf6737 --- /dev/null +++ b/src/main/java/com/ifish/bean/Tbl_Upgrade_Notes.java @@ -0,0 +1,276 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package com.ifish.bean; + +import java.util.Date; +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.Table; +import org.springframework.format.annotation.DateTimeFormat; + +/** + * + * @author Administrator + */ +/** + * 升级记录表(tbl_upgrade_notes) + * + * @author bianj + * @version 1.0.0 2017-08-14 + */ +@Entity +@Table(name = "tbl_upgrade_notes") +public class Tbl_Upgrade_Notes { + + /** + * 版本号 + */ + private static final long serialVersionUID = -2952039380782651043L; + + /** + * ID + */ + @Id + @Column(name = "notes_id", unique = true, nullable = false, length = 10) + private Integer notesId; + + /** + * 升级版本 + */ + @Column(name = "upgrade_version", nullable = true, length = 10) + private Integer upgradeVersion; + + /** + * 电子厂代码 + */ + @Column(name = "factory_code", nullable = true, length = 20) + private String factoryCode; + + /** + * 鱼缸厂代码 + */ + @Column(name = "brand_code", nullable = true, length = 20) + private String brandCode; + + /** + * 硬件型号 + */ + @Column(name = "hardware_type", nullable = true, length = 20) + private String hardwareType; + + /** + * sdk版本 + */ + @Column(name = "sdk_version", nullable = true, length = 10) + private Integer sdkVersion; + + /** + * 升级数量 + */ + @Column(name = "upgrade_number", nullable = true, length = 10) + private Integer upgradeNumber; + + /** + * 备注 + */ + @Column(name = "remarks", nullable = true, length = 100) + private String remarks; + + /** + * 分配日期 + */ + @DateTimeFormat(pattern = "yyyy-MM-dd") + @Column(name = "create_date", nullable = true) + private Date createDate; + + /** + * 创建时间 + */ + @DateTimeFormat(pattern = "yyyy-MM-dd") + @Column(name = "create_time", nullable = true) + private Date createTime; + + /** + * 获取ID + * + * @return ID + */ + public Integer getNotesId() { + return this.notesId; + } + + /** + * 设置ID + * + * @param notesId ID + */ + public void setNotesId(Integer notesId) { + this.notesId = notesId; + } + + /** + * 获取升级版本 + * + * @return 升级版本 + */ + public Integer getUpgradeVersion() { + return this.upgradeVersion; + } + + /** + * 设置升级版本 + * + * @param upgradeVersion 升级版本 + */ + public void setUpgradeVersion(Integer upgradeVersion) { + this.upgradeVersion = upgradeVersion; + } + + /** + * 获取电子厂代码 + * + * @return 电子厂代码 + */ + public String getFactoryCode() { + return this.factoryCode; + } + + /** + * 设置电子厂代码 + * + * @param factoryCode 电子厂代码 + */ + public void setFactoryCode(String factoryCode) { + this.factoryCode = factoryCode; + } + + /** + * 获取鱼缸厂代码 + * + * @return 鱼缸厂代码 + */ + public String getBrandCode() { + return this.brandCode; + } + + /** + * 设置鱼缸厂代码 + * + * @param brandCode 鱼缸厂代码 + */ + public void setBrandCode(String brandCode) { + this.brandCode = brandCode; + } + + /** + * 获取硬件型号 + * + * @return 硬件型号 + */ + public String getHardwareType() { + return this.hardwareType; + } + + /** + * 设置硬件型号 + * + * @param hardwareType 硬件型号 + */ + public void setHardwareType(String hardwareType) { + this.hardwareType = hardwareType; + } + + /** + * 获取sdk版本 + * + * @return sdk版本 + */ + public Integer getSdkVersion() { + return this.sdkVersion; + } + + /** + * 设置sdk版本 + * + * @param sdkVersion sdk版本 + */ + public void setSdkVersion(Integer sdkVersion) { + this.sdkVersion = sdkVersion; + } + + /** + * 获取升级数量 + * + * @return 升级数量 + */ + public Integer getUpgradeNumber() { + return this.upgradeNumber; + } + + /** + * 设置升级数量 + * + * @param upgradeNumber 升级数量 + */ + public void setUpgradeNumber(Integer upgradeNumber) { + this.upgradeNumber = upgradeNumber; + } + + /** + * 获取备注 + * + * @return 备注 + */ + public String getRemarks() { + return this.remarks; + } + + /** + * 设置备注 + * + * @param remarks 备注 + */ + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + /** + * 获取分配日期 + * + * @return 分配日期 + */ + public Date getCreateDate() { + return this.createDate; + } + + /** + * 设置分配日期 + * + * @param createDate 分配日期 + */ + public void setCreateDate(Date createDate) { + this.createDate = createDate; + } + + /** + * 获取创建时间 + * + * @return 创建时间 + */ + public Date getCreateTime() { + return this.createTime; + } + + /** + * 设置创建时间 + * + * @param createTime 创建时间 + */ + public void setCreateTime(Date createTime) { + this.createTime = createTime; + } +} diff --git a/src/main/java/com/ifish/controller/Camera.java b/src/main/java/com/ifish/controller/Camera.java index 3f3a217..8277ebc 100644 --- a/src/main/java/com/ifish/controller/Camera.java +++ b/src/main/java/com/ifish/controller/Camera.java @@ -8,6 +8,7 @@ package com.ifish.controller; import com.ifish.helper.CameraHelperI; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; +import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; @@ -95,4 +96,60 @@ public class Camera { return cameraHelperI.camerauserlistData(cameraId, userId, phoneNumber, showName, isMaster, isActiva, isLive, draw, start, length); } + /** + * 激活码列表页面 + * + * @return + */ + @RequestMapping(value = {"/activeCodeList"}, method = RequestMethod.GET) + public ModelAndView getActiveCodeList() { + return cameraHelperI.getActiveCodeList(); + } + + /** + * 激活码列表页面数据 + * + * @param draw + * @param start + * @param length + * @param code + * @param pici + * @param createTime + * @param isUsed + * @return + */ + @RequestMapping(value = {"/activeCodeListData"}, method = RequestMethod.POST) + @ResponseBody + public Object activeCodeListData(String draw, Integer start, Integer length, String activateCode, String pici, String createTime, String isUsed) { + return cameraHelperI.activeCodeListData(draw, start, length, activateCode, pici, createTime, isUsed); + } + + /** + * 批量生成摄像头激活码 + * + * @param batchCode + * @param batchNumber + * @return + */ + @RequestMapping(value = {"/createActivaCode"}, method = RequestMethod.POST, produces = " text/html;charset=utf-8") + @ResponseBody + public Object createActivaCode(String batchCode, Integer batchNumber) { + return cameraHelperI.createActivaCode(batchCode, batchNumber); + } + + /** + * 下载摄像头激活码Excel + * + * @param model + * @param code + * @param pici + * @param createTime + * @param isUsed + * @return + */ + @RequestMapping(value = "/downloadActivaCodeExcel", method = RequestMethod.POST) + public ModelAndView downloadActivaCodeExcel(ModelMap model, String code, String pici, String createTime, String isUsed) { + return cameraHelperI.downloadActivaCodeExcel(model, code, pici, createTime, isUsed); + } + } diff --git a/src/main/java/com/ifish/controller/Device.java b/src/main/java/com/ifish/controller/Device.java index e69ac7a..14eaf63 100644 --- a/src/main/java/com/ifish/controller/Device.java +++ b/src/main/java/com/ifish/controller/Device.java @@ -6,12 +6,14 @@ package com.ifish.controller; import com.ifish.bean.Tbl_Device_User; +import com.ifish.bean.Tbl_Upgrade_Notes; import com.ifish.helper.DeviceHelper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.servlet.ModelAndView; /** * @@ -73,4 +75,85 @@ public class Device { public Object deleteCameraUser(Integer userId, String cameraId) { return deviceHelper.bindDevice(userId, cameraId); } + + /** + * 设备信息列表页面 + * + * @return + */ + @RequestMapping(value = {"/devicelist"}, method = RequestMethod.GET) + public ModelAndView getDevicelist() { + return deviceHelper.getDevicelist(); + } + + /** + * 设备信息列表页面数据 + * + * @param draw + * @param start + * @param length + * @param macAddress + * @param deviceId + * @param sdkVersion + * @param upgradeVersion + * @param createDate + * @param createCode + * @param loginTime + * @param factoryCode + * @param brandCode + * @param hardwareType + * @param isCharge + * @param isBlacklist + * @param isUpgrade + * @param sortField + * @param sortModel + * @return + */ + @RequestMapping(value = {"/devicelistData"}, method = RequestMethod.POST) + @ResponseBody + public Object getDevicelistData(String draw, Integer start, Integer length, String macAddress, String deviceId, String sdkVersion, String upgradeVersion, String createDate, String createCode, String loginTime, + String factoryCode, String brandCode, String hardwareType, String isCharge, String isBlacklist, String isUpgrade, String sortField, String sortModel) { + return deviceHelper.getDevicelistData(draw, start, length, macAddress, deviceId, sdkVersion, upgradeVersion, createDate, createCode, loginTime, factoryCode, brandCode, hardwareType, isCharge, isBlacklist, isUpgrade, sortField, sortModel); + } + + /** + * 根据设备mac查询设备是否在线 + * + * @param macAddress + * @return + */ + @RequestMapping(value = {"/selectDeviceOnline"}, method = RequestMethod.POST) + @ResponseBody + public Object selectDeviceOnline(String macAddress) { + return deviceHelper.selectDeviceOnline(macAddress); + } + + /** + * 在线升级SDK + * + * @param macAddress + * @param sdkVersion + * @return + */ + @RequestMapping(value = {"/upgradeSDKOnline"}, method = RequestMethod.POST) + @ResponseBody + public Object upgradeSDKOnline(String macAddress, Integer sdkVersion) { + return deviceHelper.upgradeSDKOnline(macAddress, sdkVersion); + } + + /** + * 批量升级sdk + * + * @param factoryCode + * @param brandCode + * @param hardwareType + * @param upgradeVersion + * @param sdkVersion + * @return + */ + @RequestMapping(value = {"/upgradeSDKWhenLogin"}, method = RequestMethod.POST) + @ResponseBody + public Object upgradeSDKWhenLogin(Tbl_Upgrade_Notes tbl_Upgrade_Notes) { + return deviceHelper.upgradeSDKWhenLogin(tbl_Upgrade_Notes); + } } diff --git a/src/main/java/com/ifish/helper/CameraHelper.java b/src/main/java/com/ifish/helper/CameraHelper.java index b31dac0..d98a052 100644 --- a/src/main/java/com/ifish/helper/CameraHelper.java +++ b/src/main/java/com/ifish/helper/CameraHelper.java @@ -5,8 +5,11 @@ */ package com.ifish.helper; +import com.ifish.API.DownloadExcel; +import com.ifish.bean.Tbl_Activa_Code; import com.ifish.bean.Tbl_Device; import com.ifish.mapper.Tbl_Camera_List_Mapper; +import com.ifish.mapper.Tbl_Device_Mapper; import com.ifish.util.IfishUtil; import java.util.Date; import java.util.HashMap; @@ -15,6 +18,7 @@ import java.util.Map; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; +import org.springframework.ui.ModelMap; import org.springframework.web.servlet.ModelAndView; /** @@ -27,6 +31,9 @@ public class CameraHelper implements CameraHelperI { @Autowired private Tbl_Camera_List_Mapper tbl_Camera_List_Mapper; + @Autowired + private Tbl_Device_Mapper tbl_Device_Mapper; + @Autowired private DeviceHelperI deviceHelperI; @@ -111,6 +118,7 @@ public class CameraHelper implements CameraHelperI { if (i > 0) { int j = tbl_Camera_List_Mapper.activateCamera(activateCode, cameraId); if (j > 0) { + tbl_Device_Mapper.updateTblActivaCodeIsUse(activateCode); return "成功"; } } @@ -191,4 +199,112 @@ public class CameraHelper implements CameraHelperI { map.put("recordsFiltered", count); return map; } + + /** + * 激活码列表页面 + * + * @return + */ + @Override + public ModelAndView getActiveCodeList() { + ModelAndView mv = new ModelAndView(); + mv.setViewName("activaCode"); + mv.addObject("pagetitle", "激活码列表"); + mv.addObject("title", "激活码列表"); + mv.addObject("myjs", "\n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + "" + + "" + + " \n" + + " \n" + + " \n" + + " \n" + + " "); + return mv; + } + + /** + * 激活码列表页面数据 + * + * @param draw + * @param start + * @param length + * @param code + * @param pici + * @param createTime + * @param isUsed + * @return + */ + @Override + public Object activeCodeListData(String draw, Integer start, Integer length, String code, String pici, String createTime, String isUsed) { + List list = tbl_Camera_List_Mapper.getActiveCodeListData(start, length, code, pici, createTime, isUsed); + for (Map map : list) { + String date2 = IfishUtil.format((Date) map.get("createTime")); + map.put("createTime", date2); + } + Integer allCount = tbl_Camera_List_Mapper.getAllactivaCodeCount(); + Integer count = 0; + if (StringUtils.isBlank(code) && StringUtils.isBlank(pici) && StringUtils.isBlank(createTime) && StringUtils.isBlank(isUsed)) { + count = allCount; + } else { + count = tbl_Camera_List_Mapper.getActiveCodeListCountBySelect(code, pici, createTime, isUsed); + } + + Map map = new HashMap(); + map.put("data", list); + map.put("draw", draw); + map.put("recordsTotal", allCount); + map.put("recordsFiltered", count); + return map; + } + + /** + * 批量生成激活码 + * + * @param batchCode + * @param batchNumber + * @return + */ + @Override + public Object createActivaCode(String batchCode, Integer batchNumber) { + try { + if (batchNumber != null) { + for (int i = 0; i < batchNumber; i++) { + Tbl_Activa_Code tbl_Activa_Code = new Tbl_Activa_Code(); + tbl_Activa_Code.setBatchCode(batchCode); + tbl_Camera_List_Mapper.insertActivaCode(tbl_Activa_Code); + } + return "成功"; + } + } catch (Exception e) { + } + return batchNumber; + } + + /** + * 下载摄像头激活码Excel + * + * @param model + * @param code + * @param pici + * @param createTime + * @param isUsed + * @return + */ + public ModelAndView downloadActivaCodeExcel(ModelMap model, String code, String pici, String createTime, String isUsed) { + try { + List list = tbl_Camera_List_Mapper.getTbl_Activa_Codes(code, pici, createTime, isUsed); + model.put("list", list); + DownloadExcel excel = new DownloadExcel(); + return new ModelAndView(excel, model); + } catch (Exception e) { + } + return null; + } } diff --git a/src/main/java/com/ifish/helper/CameraHelperI.java b/src/main/java/com/ifish/helper/CameraHelperI.java index c9deb38..c1206d6 100644 --- a/src/main/java/com/ifish/helper/CameraHelperI.java +++ b/src/main/java/com/ifish/helper/CameraHelperI.java @@ -5,6 +5,7 @@ */ package com.ifish.helper; +import org.springframework.ui.ModelMap; import org.springframework.web.servlet.ModelAndView; /** @@ -67,4 +68,45 @@ public interface CameraHelperI { */ public Object camerauserlistData(String cameraId, String userId, String phoneNumber, String showName, String isMaster, String isActiva, String isLive, String draw, Integer start, Integer length); + /** + * 激活码列表页面 + * + * @return + */ + public ModelAndView getActiveCodeList(); + + /** + * 激活码列表页面数据 + * + * @param draw + * @param start + * @param length + * @param code + * @param pici + * @param createTime + * @param isUsed + * @return + */ + public Object activeCodeListData(String draw, Integer start, Integer length, String code, String pici, String createTime, String isUsed); + + /** + * 批量生成激活码 + * + * @param batchCode + * @param batchNumber + * @return + */ + public Object createActivaCode(String batchCode, Integer batchNumber); + + /** + * 下载摄像头激活码Excel + * + * @param model + * @param code + * @param pici + * @param createTime + * @param isUsed + * @return + */ + public ModelAndView downloadActivaCodeExcel(ModelMap model, String code, String pici, String createTime, String isUsed); } diff --git a/src/main/java/com/ifish/helper/DeviceHelper.java b/src/main/java/com/ifish/helper/DeviceHelper.java index 7728ac0..5c907d5 100644 --- a/src/main/java/com/ifish/helper/DeviceHelper.java +++ b/src/main/java/com/ifish/helper/DeviceHelper.java @@ -5,17 +5,23 @@ */ package com.ifish.helper; +import com.alibaba.fastjson.JSONObject; import com.ifish.API.JiGuangPush; import com.ifish.bean.Tbl_Activa_Code; import com.ifish.bean.Tbl_Device; import com.ifish.bean.Tbl_Device_Statistics; import com.ifish.bean.Tbl_Device_User; +import com.ifish.bean.Tbl_HardWare_Type; import com.ifish.bean.Tbl_Push_List; +import com.ifish.bean.Tbl_Upgrade_Notes; import com.ifish.bean.Tbl_User; import com.ifish.enums.PushTypeEnum; import com.ifish.enums.ResultEnum; import com.ifish.mapper.Tbl_Device_Mapper; +import com.ifish.mapper.Tbl_Factory_List_Mapper; import com.ifish.util.IfishUtil; +import com.ifish.webservice.MyService; +import com.ifish.webservice.MyServiceService; import java.util.Date; import java.util.HashMap; import java.util.List; @@ -23,6 +29,7 @@ import java.util.Map; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; +import org.springframework.web.servlet.ModelAndView; /** * @@ -49,6 +56,9 @@ public class DeviceHelper implements DeviceHelperI { @Autowired private PushMessageHelperI pushMessageHelperI; + @Autowired + private Tbl_Factory_List_Mapper tbl_Factory_List_Mapper; + /** * 根据用户Id获取绑定设备集合 * @@ -665,4 +675,189 @@ public class DeviceHelper implements DeviceHelperI { } return false; } + + /** + * 设备信息列表页面 + * + * @return + */ + @Override + public ModelAndView getDevicelist() { + ModelAndView mv = new ModelAndView(); + mv.setViewName("devicelist"); + mv.addObject("pagetitle", "设备信息"); + mv.addObject("title", "设备信息"); + List list = tbl_Factory_List_Mapper.getFactoryListData(0, 1000); + mv.addObject("factorylist", list); + List list1 = tbl_Factory_List_Mapper.getAllVenderList(); + mv.addObject("venderlist", list1); + List hardWare_Types = tbl_Factory_List_Mapper.getAllHardWare_TypeList(); + mv.addObject("hardWare_Types", hardWare_Types); + + mv.addObject("myjs", "\n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + "" + + "" + + " \n" + + " \n" + + " \n" + + " \n" + + " "); + return mv; + } + + /** + * 设备信息列表页面数据 + * + * @param draw + * @param start + * @param length + * @param macAddress + * @param deviceId + * @param sdkVersion + * @param upgradeVersion + * @param createDate + * @param createCode + * @param loginTime + * @param factoryCode + * @param brandCode + * @param hardwareType + * @param isCharge + * @param isBlacklist + * @param isUpgrade + * @param sortField + * @param sortModel + * @return + */ + @Override + public Object getDevicelistData(String draw, Integer start, Integer length, String macAddress, String deviceId, String sdkVersion, String upgradeVersion, String createDate, String createCode, String loginTime, + String factoryCode, String brandCode, String hardwareType, String isCharge, String isBlacklist, String isUpgrade, String sortField, String sortModel) { + List list = tbl_Device_Mapper.getDeviceListData(start, length, macAddress, deviceId, sdkVersion, upgradeVersion, createDate, createCode, loginTime, factoryCode, brandCode, hardwareType, isCharge, isBlacklist, isUpgrade, sortField, sortModel); + + for (Map map : list) { + if (map.get("sdkTime") != null) { + String date = IfishUtil.format((Date) map.get("sdkTime")); + map.put("sdkTime", date); + } + + if (map.get("upgradeTime") != null) { + String date2 = IfishUtil.format((Date) map.get("upgradeTime")); + map.put("upgradeTime", date2); + } + + if (map.get("loginTime") != null) { + String date3 = IfishUtil.format((Date) map.get("loginTime")); + map.put("loginTime", date3); + } + + if (map.get("createDate") != null) { + String date4 = IfishUtil.format((Date) map.get("createDate")); + map.put("createDate", date4); + } + + if (map.get("firstActivate") != null) { + String date5 = IfishUtil.format((Date) map.get("firstActivate")); + map.put("firstActivate", date5); + } + + if (map.get("createTime") != null) { + String date6 = IfishUtil.format((Date) map.get("createTime")); + map.put("createTime", date6); + } + + if (map.get("authorizeTime") != null) { + String date7 = IfishUtil.format((Date) map.get("authorizeTime")); + map.put("authorizeTime", date7); + } + + } + + Integer allCount = tbl_Device_Mapper.getAllDeviceListDataCount(); + Integer count = 0; + if (StringUtils.isBlank(macAddress) && StringUtils.isBlank(deviceId) && StringUtils.isBlank(sdkVersion) && StringUtils.isBlank(upgradeVersion) && StringUtils.isBlank(createDate) + && StringUtils.isBlank(createCode) && StringUtils.isBlank(loginTime) && StringUtils.isBlank(factoryCode) && StringUtils.isBlank(brandCode) && StringUtils.isBlank(hardwareType) + && StringUtils.isBlank(isCharge) && StringUtils.isBlank(isBlacklist) && StringUtils.isBlank(isUpgrade)) { + count = allCount; + } else { + count = tbl_Device_Mapper.getDeviceListDataCountBySelect(macAddress, deviceId, sdkVersion, upgradeVersion, createDate, createCode, loginTime, factoryCode, brandCode, hardwareType, isCharge, isBlacklist, isUpgrade); + } + Map map = new HashMap(); + map.put("data", list); + map.put("draw", draw); + map.put("recordsTotal", allCount); + map.put("recordsFiltered", count); + return map; + } + + /** + * 查询设备是否在线 + * + * @param macAddress + * @return + */ + @Override + public Object selectDeviceOnline(String macAddress) { + try { + MyService web = new MyServiceService().getMyServicePort(); + boolean bln = web.deviceIsOnline(macAddress); + Integer number = web.getLineDeviceNumber(); + Map map = new HashMap(); + map.put("online", bln); + map.put("number", number); + //json数据 + JSONObject json = new JSONObject(); + json.put("map", map); + return json.toString(); + } catch (Exception e) { + } + return null; + } + + /** + * 在线升级SDK + * + * @param macAddress + * @param sdkVersion + * @return + */ + @Override + public Object upgradeSDKOnline(String macAddress, Integer sdkVersion) { + try { + MyService web = new MyServiceService().getMyServicePort(); + boolean bln = web.onlineUpgrade(macAddress, sdkVersion); + if (bln) { + return "成功"; + } + } catch (Exception e) { + } + return "升级失败"; + } + + /** + * 批量升级SDK + * + * @param factoryCode + * @param brandCode + * @param hardwareType + * @param upgradeVersion + * @param sdkVersion + * @return + */ + @Override + public Object upgradeSDKWhenLogin(Tbl_Upgrade_Notes tbl_Upgrade_Notes) { + try { + int number = tbl_Device_Mapper.addUpgradeSDKVersion(tbl_Upgrade_Notes); + tbl_Upgrade_Notes.setUpgradeNumber(number); + tbl_Device_Mapper.insertTbl_Upgrade_Notes(tbl_Upgrade_Notes); + return true; + } catch (Exception e) { + } + return false; + } } diff --git a/src/main/java/com/ifish/helper/DeviceHelperI.java b/src/main/java/com/ifish/helper/DeviceHelperI.java index 4ed8c24..bd27be8 100644 --- a/src/main/java/com/ifish/helper/DeviceHelperI.java +++ b/src/main/java/com/ifish/helper/DeviceHelperI.java @@ -8,14 +8,16 @@ package com.ifish.helper; import com.ifish.bean.Tbl_Device; import com.ifish.bean.Tbl_Device_Statistics; import com.ifish.bean.Tbl_Device_User; +import com.ifish.bean.Tbl_Upgrade_Notes; import java.util.List; +import org.springframework.web.servlet.ModelAndView; /** * * @author Administrator */ public interface DeviceHelperI { - + /** * 根据用户Id获取绑定设备集合 * @@ -149,4 +151,66 @@ public interface DeviceHelperI { */ Object deleteDeviceUser(Tbl_Device_User deviceUser); + /** + * 设备信息列表页面 + * + * @return + */ + public ModelAndView getDevicelist(); + + /** + * 设备信息列表页面数据 + * + * @param draw + * @param start + * @param length + * @param macAddress + * @param deviceId + * @param sdkVersion + * @param upgradeVersion + * @param createDate + * @param createCode + * @param loginTime + * @param factoryCode + * @param brandCode + * @param hardwareType + * @param isCharge + * @param isBlacklist + * @param isUpgrade + * @param sortField + * @param sortModel + * @return + */ + public Object getDevicelistData(String draw, Integer start, Integer length, String macAddress, String deviceId, String sdkVersion, String upgradeVersion, String createDate, String createCode, String loginTime, + String factoryCode, String brandCode, String hardwareType, String isCharge, String isBlacklist, String isUpgrade, String sortField, String sortModel); + + /** + * 查询设备是否在线 + * + * @param macAddress + * @return + */ + public Object selectDeviceOnline(String macAddress); + + /** + * 在线升级SDK + * + * @param macAddress + * @param sdkVersion + * @return + */ + public Object upgradeSDKOnline(String macAddress, Integer sdkVersion); + + /** + * 批量升级SDK + * + * @param factoryCode + * @param brandCode + * @param hardwareType + * @param upgradeVersion + * @param sdkVersion + * @return + */ + public Object upgradeSDKWhenLogin(Tbl_Upgrade_Notes tbl_Upgrade_Notes); + } diff --git a/src/main/java/com/ifish/mapper/Tbl_Camera_List_Mapper.java b/src/main/java/com/ifish/mapper/Tbl_Camera_List_Mapper.java index 8f60f62..5dd5d61 100644 --- a/src/main/java/com/ifish/mapper/Tbl_Camera_List_Mapper.java +++ b/src/main/java/com/ifish/mapper/Tbl_Camera_List_Mapper.java @@ -5,10 +5,13 @@ */ package com.ifish.mapper; +import com.ifish.bean.Tbl_Activa_Code; import java.util.List; import java.util.Map; +import org.apache.ibatis.annotations.Insert; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; +import org.apache.ibatis.annotations.SelectKey; import org.apache.ibatis.annotations.SelectProvider; import org.apache.ibatis.annotations.Update; @@ -107,4 +110,62 @@ public interface Tbl_Camera_List_Mapper { */ @Select("SELECT count(1) from tbl_device d LEFT JOIN tbl_device_user du ON d.device_id = du.device_id LEFT JOIN tbl_user u ON du.user_id = u.user_id WHERE d.is_camera = '1'") Integer getAllCameraUserListDataCount(); + + /** + * 据条件分页获取激活码列表数据 + * + * @param start + * @param length + * @param code + * @param pici + * @param createTime + * @param isUsed + * @return + */ + @SelectProvider(type = Tbl_Camera_List_MapperSql.class, method = "getActiveCodeListData") + List getActiveCodeListData(Integer start, Integer length, String code, @Param("pici") String pici, @Param("createTime") String createTime, @Param("isUsed") String isUsed); + + /** + * 根据条件(不分页,Excel下载使用)获取激活码列表 + * + * @param code + * @param pici + * @param createTime + * @param isUsed + * @return + */ + @SelectProvider(type = Tbl_Camera_List_MapperSql.class, method = "getTbl_Activa_Codes") + List getTbl_Activa_Codes(String code, @Param("pici") String pici, @Param("createTime") String createTime, @Param("isUsed") String isUsed); + + /** + * 据条件获取激活码列表数据数量 + * + * @param start + * @param length + * @param code + * @param pici + * @param createTime + * @param isUsed + * @return + */ + @SelectProvider(type = Tbl_Camera_List_MapperSql.class, method = "getActiveCodeListCountBySelect") + Integer getActiveCodeListCountBySelect(String code, @Param("pici") String pici, @Param("createTime") String createTime, @Param("isUsed") String isUsed); + + /** + * 获取所有激活码数量 + * + * @return + */ + @Select("SELECT COUNT(1) FROM tbl_activa_code ") + Integer getAllactivaCodeCount(); + + /** + * 创建一个摄像头激活码 + * + * @param tbl_Activa_Code + * @return + */ + @Insert("INSERT INTO tbl_activa_code(active_code,batch_code,is_used,create_time) VALUES (#{activaCode.activeCode},#{activaCode.batchCode},'0',NOW())") + @SelectKey(statement = "select replace(uuid(),'-','')", keyProperty = "activaCode.activeCode", keyColumn = "active_code", before = true, resultType = String.class) + Integer insertActivaCode(@Param("activaCode") Tbl_Activa_Code tbl_Activa_Code); } diff --git a/src/main/java/com/ifish/mapper/Tbl_Camera_List_MapperSql.java b/src/main/java/com/ifish/mapper/Tbl_Camera_List_MapperSql.java index ef57ca7..b7dfce8 100644 --- a/src/main/java/com/ifish/mapper/Tbl_Camera_List_MapperSql.java +++ b/src/main/java/com/ifish/mapper/Tbl_Camera_List_MapperSql.java @@ -175,4 +175,96 @@ public class Tbl_Camera_List_MapperSql { } return sb.toString(); } + + /** + * 据条件获取激活码列表数据 + * + * @param start + * @param length + * @param code + * @param pici + * @param createTime + * @param isUsed + * @return + */ + public String getActiveCodeListData(Integer start, Integer length, String code, @Param("pici") String pici, @Param("createTime") String createTime, @Param("isUsed") String isUsed) { + StringBuilder sb = new StringBuilder(); + + sb.append("SELECT active_code activeCode,batch_code batchCode,is_used isUsed,create_time createTime from tbl_activa_code WHERE 1=1 "); + if (StringUtils.isNotBlank(code)) { + sb.append(" and active_code like '%").append(code).append("%'"); + } + if (StringUtils.isNotBlank(pici)) { + sb.append(" and batch_code = #{pici}"); + } + if (StringUtils.isNotBlank(createTime)) { + sb.append(" and #{createTime}=date_format(create_time,'%Y-%m-%d')"); + } + if (StringUtils.isNotBlank(isUsed)) { + sb.append(" and is_used = #{isUsed}"); + } + sb.append(" ORDER BY create_time DESC limit ").append(start).append(",").append(length); + + return sb.toString(); + } + + /** + * 根据条件(不分页,Excel下载使用)获取激活码列表 + * + * @param code + * @param pici + * @param createTime + * @param isUsed + * @return + */ + public String getTbl_Activa_Codes(String code, @Param("pici") String pici, @Param("createTime") String createTime, @Param("isUsed") String isUsed) { + StringBuilder sb = new StringBuilder(); + + sb.append("select active_code from tbl_activa_code WHERE 1=1 "); + if (StringUtils.isNotBlank(code)) { + sb.append(" and active_code like '%").append(code).append("%'"); + } + if (StringUtils.isNotBlank(pici)) { + sb.append(" and batch_code = #{pici}"); + } + if (StringUtils.isNotBlank(createTime)) { + sb.append(" and #{createTime}=date_format(create_time,'%Y-%m-%d')"); + } + if (StringUtils.isNotBlank(isUsed)) { + sb.append(" and is_used = #{isUsed}"); + } + + return sb.toString(); + } + + /** + * 据条件获取激活码列表数据数量 + * + * @param start + * @param length + * @param code + * @param pici + * @param createTime + * @param isUsed + * @return + */ + public String getActiveCodeListCountBySelect(String code, @Param("pici") String pici, @Param("createTime") String createTime, @Param("isUsed") String isUsed) { + StringBuilder sb = new StringBuilder(); + + sb.append("SELECT count(1) from tbl_activa_code WHERE 1=1 "); + if (StringUtils.isNotBlank(code)) { + sb.append(" and active_code like '%").append(code).append("%'"); + } + if (StringUtils.isNotBlank(pici)) { + sb.append(" and batch_code = #{pici}"); + } + if (StringUtils.isNotBlank(createTime)) { + sb.append(" and #{createTime}=date_format(create_time,'%Y-%m-%d')"); + } + if (StringUtils.isNotBlank(isUsed)) { + sb.append(" and is_used = #{isUsed}"); + } + + return sb.toString(); + } } diff --git a/src/main/java/com/ifish/mapper/Tbl_Device_Mapper.java b/src/main/java/com/ifish/mapper/Tbl_Device_Mapper.java index ea97cc5..b21f8a4 100644 --- a/src/main/java/com/ifish/mapper/Tbl_Device_Mapper.java +++ b/src/main/java/com/ifish/mapper/Tbl_Device_Mapper.java @@ -9,9 +9,11 @@ import com.ifish.bean.Tbl_Activa_Code; import com.ifish.bean.Tbl_Device; import com.ifish.bean.Tbl_Device_Statistics; import com.ifish.bean.Tbl_Device_User; +import com.ifish.bean.Tbl_Upgrade_Notes; import java.util.List; import java.util.Map; import org.apache.ibatis.annotations.Delete; +import org.apache.ibatis.annotations.Insert; import org.apache.ibatis.annotations.InsertProvider; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; @@ -312,4 +314,84 @@ public interface Tbl_Device_Mapper { */ @SelectProvider(type = Tbl_Device_MapperSql.class, method = "getAuthorizationCountByDate") Integer getAuthorizationCountByDate(@Param("createTimeBefore") String createTimeBefore, @Param("createTimeAfter") String createTimeAfter, @Param("factoryCode") String factoryCode); + + /** + * 设备信息列表页面数据 + * + * @param start + * @param length + * @param macAddress + * @param deviceId + * @param sdkVersion + * @param upgradeVersion + * @param createDate + * @param createCode + * @param loginTime + * @param factoryCode + * @param brandCode + * @param hardwareType + * @param isCharge + * @param isBlacklist + * @param isUpgrade + * @param sortField + * @param sortModel + * @return + */ + @SelectProvider(type = Tbl_Device_MapperSql.class, method = "getDeviceListData") + List getDeviceListData(Integer start, Integer length, String macAddress, @Param("deviceId") String deviceId, @Param("sdkVersion") String sdkVersion, @Param("upgradeVersion") String upgradeVersion, + @Param("createDate") String createDate, String createCode, @Param("loginTime") String loginTime, @Param("factoryCode") String factoryCode, @Param("brandCode") String brandCode, @Param("hardwareType") String hardwareType, + @Param("isCharge") String isCharge, @Param("isBlacklist") String isBlacklist, @Param("isUpgrade") String isUpgrade, String sortField, String sortModel); + + /** + * 设备信息列表页面数据数量 + * + * @param macAddress + * @param deviceId + * @param sdkVersion + * @param upgradeVersion + * @param createDate + * @param createCode + * @param loginTime + * @param factoryCode + * @param brandCode + * @param hardwareType + * @param isCharge + * @param isBlacklist + * @param isUpgrade + * @return + */ + @SelectProvider(type = Tbl_Device_MapperSql.class, method = "getDeviceListDataCountBySelect") + Integer getDeviceListDataCountBySelect(String macAddress, @Param("deviceId") String deviceId, @Param("sdkVersion") String sdkVersion, @Param("upgradeVersion") String upgradeVersion, + @Param("createDate") String createDate, String createCode, @Param("loginTime") String loginTime, @Param("factoryCode") String factoryCode, @Param("brandCode") String brandCode, @Param("hardwareType") String hardwareType, + @Param("isCharge") String isCharge, @Param("isBlacklist") String isBlacklist, @Param("isUpgrade") String isUpgrade); + + /** + * 设备信息列表页面数据总数量 + * + * @return + */ + @Select(" select count(1) from tbl_device d where d.is_camera = '0'") + Integer getAllDeviceListDataCount(); + + /** + * 添加自动升级任务 + * + * @param tbl_Upgrade_Notes + * @return + */ + @Select("update tbl_device SET is_upgrade=1,upgrade_version=#{upgrade.upgradeVersion} where IF(#{upgrade.factoryCode} != '', factory_code=#{upgrade.factoryCode}, true) and IF(#{upgrade.brandCode} != '', brand_code=#{upgrade.brandCode}, true) and" + + " IF(#{upgrade.hardWareType} != '', hardware_type=#{upgrade.hardWareType}, true) and IF(#{upgrade.sdkVersion} != -1, sdk_version=#{upgrade.sdkVersion}, true)") + Integer addUpgradeSDKVersion(@Param("upgrade") Tbl_Upgrade_Notes tbl_Upgrade_Notes); + + /** + * 保存自动升级任务记录日志 + * + * @param tbl_Upgrade_Notes + * @return + */ + @Insert("INSERT INTO tbl_upgrade_notes(`upgrade_version`, `factory_code`, `brand_code`, `hardware_type`, `sdk_version`, `upgrade_number`, `remarks`, `create_date`, `create_time`) " + + "VALUES " + + " (#{upgrade.upgradeVersion}, #{upgrade.factoryCode},#{upgrade.brandCode}, #{upgrade.hardwareType},#{upgrade.sdkVersion},#{upgrade.upgradeNumber},#{upgrade.remarks},#{upgrade.createDate},#{upgrade.createTime});") + @SelectKey(statement = "select @@IDENTITY as notes_id", keyProperty = "upgrade.notesId", keyColumn = "notes_id", before = false, resultType = int.class) + Integer insertTbl_Upgrade_Notes(@Param("upgrade") Tbl_Upgrade_Notes tbl_Upgrade_Notes); } diff --git a/src/main/java/com/ifish/mapper/Tbl_Device_MapperSql.java b/src/main/java/com/ifish/mapper/Tbl_Device_MapperSql.java index c323fb8..8717a28 100644 --- a/src/main/java/com/ifish/mapper/Tbl_Device_MapperSql.java +++ b/src/main/java/com/ifish/mapper/Tbl_Device_MapperSql.java @@ -500,4 +500,144 @@ public class Tbl_Device_MapperSql { sb.append(" AND d.factory_code= #{factoryCode} AND date_format(ts.authorize_time,'%Y-%m-%d') BETWEEN #{createTimeBefore} AND #{createTimeAfter} "); return sb.toString(); } + + /** + * 获取设备信息列表页面数据 + * + * @param start + * @param length + * @param macAddress + * @param deviceId + * @param sdkVersion + * @param upgradeVersion + * @param createDate + * @param createCode + * @param loginTime + * @param factoryCode + * @param brandCode + * @param hardwareType + * @param isCharge + * @param isBlacklist + * @param isUpgrade + * @param sortField + * @param sortModel + * @return + */ + public String getDeviceListData(Integer start, Integer length, String macAddress, @Param("deviceId") String deviceId, @Param("sdkVersion") String sdkVersion, @Param("upgradeVersion") String upgradeVersion, + @Param("createDate") String createDate, String createCode, @Param("loginTime") String loginTime, @Param("factoryCode") String factoryCode, @Param("brandCode") String brandCode, @Param("hardwareType") String hardwareType, + @Param("isCharge") String isCharge, @Param("isBlacklist") String isBlacklist, @Param("isUpgrade") String isUpgrade, String sortField, String sortModel) { + StringBuilder sb = new StringBuilder(); + + sb.append(" select d.device_id deviceId,d.mac_address macAddress,f.factory_name factoryName,v.brand_name brandName,h.hardware_name hardWareName,d.on_off onOff,d.water_remind waterRemind,ds.sdk_version sdkVersion,"); + sb.append("ds.sdk_time sdkTime,ds.upgrade_time upgradeTime,"); + sb.append(" ds.is_upgrade isUpgrade,ds.upgrade_version upgradeVersion,ds.login_count loginCount,ds.login_time loginTime,ds.create_date createDate,ds.create_code createCode,ds.first_activate firstActivate,"); + sb.append(" ds.create_time createTime,ds.MCU_count mcuCount,ds.module_count moduleCount,ds.router_count routerCount,ds.server_count serverCount,ds.server_try_count serverTryCount,ds.is_charge isCharge,"); + sb.append(" d.is_blacklist isBlacklist,ds.authorize_time authorizeTime"); + sb.append(" from tbl_device d"); + sb.append(" LEFT JOIN tbl_factory_list f ON d.factory_code = f.factory_code"); + sb.append(" LEFT JOIN tbl_vender_list v ON d.brand_code = v.brand_code"); + sb.append(" LEFT JOIN tbl_hardware_type h ON d.hardware_type = h.hardware_type"); + sb.append(" LEFT JOIN tbl_device_statistics ds ON d.device_id = ds.device_id where d.is_camera = '0' "); + if (StringUtils.isNotBlank(macAddress)) { + sb.append(" and d.mac_address like '%").append(macAddress).append('%'); + } + if (StringUtils.isNotBlank(deviceId)) { + sb.append(" and d.device_id = #{deviceId}"); + } + if (StringUtils.isNotBlank(sdkVersion)) { + sb.append(" and ds.sdk_version = #{sdkVersion}"); + } + if (StringUtils.isNotBlank(upgradeVersion)) { + sb.append(" and ds.upgrade_version = #{upgradeVersion}"); + } + if (StringUtils.isNotBlank(createDate)) { + sb.append(" and #{createDate} = date_format(ds.create_date,'%y-%m-%d')"); + } + if (StringUtils.isNotBlank(createCode)) { + sb.append(" and ds.create_code like '%").append(createCode).append("%;"); + } + if (StringUtils.isNotBlank(loginTime)) { + sb.append(" and #{loginTime} = date_format(ds.login_time,'%y-%m-%d')"); + } + if (StringUtils.isNotBlank(factoryCode)) { + sb.append(" and d.factory_code = #{factoryCode}"); + } + if (StringUtils.isNotBlank(brandCode)) { + sb.append(" and d.brand_code = #{brandCode}"); + } + if (StringUtils.isNotBlank(hardwareType)) { + sb.append(" and d.hardware_type = #{hardwareType}"); + } + if (StringUtils.isNotBlank(isCharge)) { + sb.append(" and ds.is_charge = #{isCharge}"); + } + if (StringUtils.isNotBlank(isBlacklist)) { + sb.append(" and d.is_blacklist = #{isBlacklist}"); + } + if (StringUtils.isNotBlank(isUpgrade)) { + sb.append(" and ds.is_upgrade = #{isUpgrade}"); + } + if (StringUtils.isNotBlank(sortField)) { + sb.append(" ORDER BY " + sortField); + } else { + sb.append(" ORDER BY d.device_id "); + } + if (StringUtils.isNotBlank(sortModel)) { + sb.append(sortModel); + } + sb.append(" limit ").append(start).append(",").append(length); + return sb.toString(); + } + + public String getDeviceListDataCountBySelect(String macAddress, @Param("deviceId") String deviceId, @Param("sdkVersion") String sdkVersion, @Param("upgradeVersion") String upgradeVersion, + @Param("createDate") String createDate, String createCode, @Param("loginTime") String loginTime, @Param("factoryCode") String factoryCode, @Param("brandCode") String brandCode, @Param("hardwareType") String hardwareType, + @Param("isCharge") String isCharge, @Param("isBlacklist") String isBlacklist, @Param("isUpgrade") String isUpgrade) { + StringBuilder sb = new StringBuilder(); + sb.append(" select count(1) from tbl_device d"); + sb.append(" LEFT JOIN tbl_factory_list f ON d.factory_code = f.factory_code"); + sb.append(" LEFT JOIN tbl_vender_list v ON d.brand_code = v.brand_code"); + sb.append(" LEFT JOIN tbl_hardware_type h ON d.hardware_type = h.hardware_type"); + sb.append(" LEFT JOIN tbl_device_statistics ds ON d.device_id = ds.device_id where d.is_camera = '0' "); + if (StringUtils.isNotBlank(macAddress)) { + sb.append(" and d.mac_address like '%").append(macAddress).append('%'); + } + if (StringUtils.isNotBlank(deviceId)) { + sb.append(" and d.device_id = #{deviceId}"); + } + if (StringUtils.isNotBlank(sdkVersion)) { + sb.append(" and ds.sdk_version = #{sdkVersion}"); + } + if (StringUtils.isNotBlank(upgradeVersion)) { + sb.append(" and ds.upgrade_version = #{upgradeVersion}"); + } + if (StringUtils.isNotBlank(createDate)) { + sb.append(" and #{createDate} = date_format(ds.create_date,'%y-%m-%d')"); + } + if (StringUtils.isNotBlank(createCode)) { + sb.append(" and ds.create_code like '%").append(createCode).append("%;"); + } + if (StringUtils.isNotBlank(loginTime)) { + sb.append(" and #{loginTime} = date_format(ds.login_time,'%y-%m-%d')"); + } + if (StringUtils.isNotBlank(factoryCode)) { + sb.append(" and d.factory_code = #{factoryCode}"); + } + if (StringUtils.isNotBlank(brandCode)) { + sb.append(" and d.brand_code = #{brandCode}"); + } + if (StringUtils.isNotBlank(hardwareType)) { + sb.append(" and d.hardware_type = #{hardwareType}"); + } + if (StringUtils.isNotBlank(isCharge)) { + sb.append(" and ds.is_charge = #{isCharge}"); + } + if (StringUtils.isNotBlank(isBlacklist)) { + sb.append(" and d.is_blacklist = #{isBlacklist}"); + } + if (StringUtils.isNotBlank(isUpgrade)) { + sb.append(" and ds.is_upgrade = #{isUpgrade}"); + } + + return sb.toString(); + } } diff --git a/src/main/java/com/ifish/webservice/DeviceIsOnline.java b/src/main/java/com/ifish/webservice/DeviceIsOnline.java new file mode 100644 index 0000000..b33b90e --- /dev/null +++ b/src/main/java/com/ifish/webservice/DeviceIsOnline.java @@ -0,0 +1,60 @@ + +package com.ifish.webservice; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; + + +/** + * Java class for deviceIsOnline complex type. + * + * The following schema fragment specifies the expected content contained within this class. + * + * + * <complexType name="deviceIsOnline"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="arg0" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "deviceIsOnline", propOrder = { + "arg0" +}) +public class DeviceIsOnline { + + protected String arg0; + + /** + * Gets the value of the arg0 property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg0() { + return arg0; + } + + /** + * Sets the value of the arg0 property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg0(String value) { + this.arg0 = value; + } + +} diff --git a/src/main/java/com/ifish/webservice/DeviceIsOnlineResponse.java b/src/main/java/com/ifish/webservice/DeviceIsOnlineResponse.java new file mode 100644 index 0000000..2d2aa3f --- /dev/null +++ b/src/main/java/com/ifish/webservice/DeviceIsOnlineResponse.java @@ -0,0 +1,54 @@ + +package com.ifish.webservice; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + * Java class for deviceIsOnlineResponse complex type. + * + * The following schema fragment specifies the expected content contained within this class. + * + * + * <complexType name="deviceIsOnlineResponse"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="return" type="{http://www.w3.org/2001/XMLSchema}boolean"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "deviceIsOnlineResponse", propOrder = { + "_return" +}) +public class DeviceIsOnlineResponse { + + @XmlElement(name = "return") + protected boolean _return; + + /** + * Gets the value of the return property. + * + */ + public boolean isReturn() { + return _return; + } + + /** + * Sets the value of the return property. + * + */ + public void setReturn(boolean value) { + this._return = value; + } + +} diff --git a/src/main/java/com/ifish/webservice/GetLineDeviceNumber.java b/src/main/java/com/ifish/webservice/GetLineDeviceNumber.java new file mode 100644 index 0000000..a61178a --- /dev/null +++ b/src/main/java/com/ifish/webservice/GetLineDeviceNumber.java @@ -0,0 +1,32 @@ + +package com.ifish.webservice; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; + + +/** + * Java class for getLineDeviceNumber complex type. + * + * The following schema fragment specifies the expected content contained within this class. + * + * + * <complexType name="getLineDeviceNumber"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "getLineDeviceNumber") +public class GetLineDeviceNumber { + + +} diff --git a/src/main/java/com/ifish/webservice/GetLineDeviceNumberResponse.java b/src/main/java/com/ifish/webservice/GetLineDeviceNumberResponse.java new file mode 100644 index 0000000..01dad25 --- /dev/null +++ b/src/main/java/com/ifish/webservice/GetLineDeviceNumberResponse.java @@ -0,0 +1,62 @@ + +package com.ifish.webservice; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + * Java class for getLineDeviceNumberResponse complex type. + * + * The following schema fragment specifies the expected content contained within this class. + * + * + * <complexType name="getLineDeviceNumberResponse"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="return" type="{http://www.w3.org/2001/XMLSchema}int" minOccurs="0"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "getLineDeviceNumberResponse", propOrder = { + "_return" +}) +public class GetLineDeviceNumberResponse { + + @XmlElement(name = "return") + protected Integer _return; + + /** + * Gets the value of the return property. + * + * @return + * possible object is + * {@link Integer } + * + */ + public Integer getReturn() { + return _return; + } + + /** + * Sets the value of the return property. + * + * @param value + * allowed object is + * {@link Integer } + * + */ + public void setReturn(Integer value) { + this._return = value; + } + +} diff --git a/src/main/java/com/ifish/webservice/MyService.java b/src/main/java/com/ifish/webservice/MyService.java new file mode 100644 index 0000000..57cf68e --- /dev/null +++ b/src/main/java/com/ifish/webservice/MyService.java @@ -0,0 +1,65 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package com.ifish.webservice; + +import javax.jws.WebMethod; +import javax.jws.WebParam; +import javax.jws.WebResult; +import javax.jws.WebService; +import javax.xml.bind.annotation.XmlSeeAlso; +import javax.xml.ws.Action; +import javax.xml.ws.RequestWrapper; +import javax.xml.ws.ResponseWrapper; + +/** + * + * @author Administrator + */ +@WebService(name = "MyService", targetNamespace = "http://webService.socket.ifish.com/") +@XmlSeeAlso({ + ObjectFactory.class +}) +public interface MyService { + + /** + * + * @param arg1 + * @param arg0 + * @return returns boolean + */ + @WebMethod + @WebResult(targetNamespace = "") + @RequestWrapper(localName = "onlineUpgrade", targetNamespace = "http://webService.socket.ifish.com/", className = "com.ifish.socket.webService.OnlineUpgrade") + @ResponseWrapper(localName = "onlineUpgradeResponse", targetNamespace = "http://webService.socket.ifish.com/", className = "com.ifish.socket.webService.OnlineUpgradeResponse") + @Action(input = "http://webService.socket.ifish.com/MyService/onlineUpgradeRequest", output = "http://webService.socket.ifish.com/MyService/onlineUpgradeResponse") + public boolean onlineUpgrade( + @WebParam(name = "arg0", targetNamespace = "") String arg0, + @WebParam(name = "arg1", targetNamespace = "") Integer arg1); + + /** + * + * @param arg0 + * @return returns boolean + */ + @WebMethod + @WebResult(targetNamespace = "") + @RequestWrapper(localName = "deviceIsOnline", targetNamespace = "http://webService.socket.ifish.com/", className = "com.ifish.socket.webService.DeviceIsOnline") + @ResponseWrapper(localName = "deviceIsOnlineResponse", targetNamespace = "http://webService.socket.ifish.com/", className = "com.ifish.socket.webService.DeviceIsOnlineResponse") + @Action(input = "http://webService.socket.ifish.com/MyService/deviceIsOnlineRequest", output = "http://webService.socket.ifish.com/MyService/deviceIsOnlineResponse") + public boolean deviceIsOnline( + @WebParam(name = "arg0", targetNamespace = "") String arg0); + + /** + * + * @return returns java.lang.Integer + */ + @WebMethod + @WebResult(targetNamespace = "") + @RequestWrapper(localName = "getLineDeviceNumber", targetNamespace = "http://webService.socket.ifish.com/", className = "com.ifish.socket.webService.GetLineDeviceNumber") + @ResponseWrapper(localName = "getLineDeviceNumberResponse", targetNamespace = "http://webService.socket.ifish.com/", className = "com.ifish.socket.webService.GetLineDeviceNumberResponse") + @Action(input = "http://webService.socket.ifish.com/MyService/getLineDeviceNumberRequest", output = "http://webService.socket.ifish.com/MyService/getLineDeviceNumberResponse") + public Integer getLineDeviceNumber(); +} diff --git a/src/main/java/com/ifish/webservice/MyServiceService.java b/src/main/java/com/ifish/webservice/MyServiceService.java new file mode 100644 index 0000000..940eaa3 --- /dev/null +++ b/src/main/java/com/ifish/webservice/MyServiceService.java @@ -0,0 +1,91 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package com.ifish.webservice; + +import java.net.MalformedURLException; +import java.net.URL; +import javax.xml.namespace.QName; +import javax.xml.ws.Service; +import javax.xml.ws.WebEndpoint; +import javax.xml.ws.WebServiceClient; +import javax.xml.ws.WebServiceException; +import javax.xml.ws.WebServiceFeature; + +/** + * + * @author Administrator + */ +@WebServiceClient(name = "MyServiceService", targetNamespace = "http://webService.socket.ifish.com/", wsdlLocation = "http://localhost:9002/Service/webService?wsdl") +public class MyServiceService extends Service { + + private final static URL MYSERVICESERVICE_WSDL_LOCATION; + private final static WebServiceException MYSERVICESERVICE_EXCEPTION; + private final static QName MYSERVICESERVICE_QNAME = new QName("http://webService.socket.ifish.com/", "MyServiceService"); + + static { + URL url = null; + WebServiceException e = null; + try { + url = new URL("http://localhost:9002/Service/webService?wsdl"); + } catch (MalformedURLException ex) { + e = new WebServiceException(ex); + } + MYSERVICESERVICE_WSDL_LOCATION = url; + MYSERVICESERVICE_EXCEPTION = e; + } + + public MyServiceService() { + super(__getWsdlLocation(), MYSERVICESERVICE_QNAME); + } + + public MyServiceService(WebServiceFeature... features) { + super(__getWsdlLocation(), MYSERVICESERVICE_QNAME, features); + } + + public MyServiceService(URL wsdlLocation) { + super(wsdlLocation, MYSERVICESERVICE_QNAME); + } + + public MyServiceService(URL wsdlLocation, WebServiceFeature... features) { + super(wsdlLocation, MYSERVICESERVICE_QNAME, features); + } + + public MyServiceService(URL wsdlLocation, QName serviceName) { + super(wsdlLocation, serviceName); + } + + public MyServiceService(URL wsdlLocation, QName serviceName, WebServiceFeature... features) { + super(wsdlLocation, serviceName, features); + } + + /** + * + * @return returns MyService + */ + @WebEndpoint(name = "MyServicePort") + public MyService getMyServicePort() { + return super.getPort(new QName("http://webService.socket.ifish.com/", "MyServicePort"), MyService.class); + } + + /** + * + * @param features A list of {@link javax.xml.ws.WebServiceFeature} to + * configure on the proxy. Supported features not in the + * features parameter will have their default values. + * @return returns MyService + */ + @WebEndpoint(name = "MyServicePort") + public MyService getMyServicePort(WebServiceFeature... features) { + return super.getPort(new QName("http://webService.socket.ifish.com/", "MyServicePort"), MyService.class, features); + } + + private static URL __getWsdlLocation() { + if (MYSERVICESERVICE_EXCEPTION != null) { + throw MYSERVICESERVICE_EXCEPTION; + } + return MYSERVICESERVICE_WSDL_LOCATION; + } +} diff --git a/src/main/java/com/ifish/webservice/ObjectFactory.java b/src/main/java/com/ifish/webservice/ObjectFactory.java new file mode 100644 index 0000000..59b48a3 --- /dev/null +++ b/src/main/java/com/ifish/webservice/ObjectFactory.java @@ -0,0 +1,143 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package com.ifish.webservice; + +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlElementDecl; +import javax.xml.bind.annotation.XmlRegistry; +import javax.xml.namespace.QName; + +/** + * + * @author Administrator + */ +@XmlRegistry +public class ObjectFactory { + + private final static QName _OnlineUpgrade_QNAME = new QName("http://webService.socket.ifish.com/", "onlineUpgrade"); + private final static QName _GetLineDeviceNumberResponse_QNAME = new QName("http://webService.socket.ifish.com/", "getLineDeviceNumberResponse"); + private final static QName _DeviceIsOnlineResponse_QNAME = new QName("http://webService.socket.ifish.com/", "deviceIsOnlineResponse"); + private final static QName _OnlineUpgradeResponse_QNAME = new QName("http://webService.socket.ifish.com/", "onlineUpgradeResponse"); + private final static QName _GetLineDeviceNumber_QNAME = new QName("http://webService.socket.ifish.com/", "getLineDeviceNumber"); + private final static QName _DeviceIsOnline_QNAME = new QName("http://webService.socket.ifish.com/", "deviceIsOnline"); + + /** + * Create a new ObjectFactory that can be used to create new instances of + * schema derived classes for package: com.ifish.webService + * + */ + public ObjectFactory() { + } + + /** + * Create an instance of {@link OnlineUpgrade } + * + */ + public OnlineUpgrade createOnlineUpgrade() { + return new OnlineUpgrade(); + } + + /** + * Create an instance of {@link DeviceIsOnline } + * + */ + public DeviceIsOnline createDeviceIsOnline() { + return new DeviceIsOnline(); + } + + /** + * Create an instance of {@link GetLineDeviceNumber } + * + */ + public GetLineDeviceNumber createGetLineDeviceNumber() { + return new GetLineDeviceNumber(); + } + + /** + * Create an instance of {@link OnlineUpgradeResponse } + * + */ + public OnlineUpgradeResponse createOnlineUpgradeResponse() { + return new OnlineUpgradeResponse(); + } + + /** + * Create an instance of {@link DeviceIsOnlineResponse } + * + */ + public DeviceIsOnlineResponse createDeviceIsOnlineResponse() { + return new DeviceIsOnlineResponse(); + } + + /** + * Create an instance of {@link GetLineDeviceNumberResponse } + * + */ + public GetLineDeviceNumberResponse createGetLineDeviceNumberResponse() { + return new GetLineDeviceNumberResponse(); + } + + /** + * Create an instance of + * {@link JAXBElement }{@code <}{@link OnlineUpgrade }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://webService.socket.ifish.com/", name = "onlineUpgrade") + public JAXBElement createOnlineUpgrade(OnlineUpgrade value) { + return new JAXBElement(_OnlineUpgrade_QNAME, OnlineUpgrade.class, null, value); + } + + /** + * Create an instance of + * {@link JAXBElement }{@code <}{@link GetLineDeviceNumberResponse }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://webService.socket.ifish.com/", name = "getLineDeviceNumberResponse") + public JAXBElement createGetLineDeviceNumberResponse(GetLineDeviceNumberResponse value) { + return new JAXBElement(_GetLineDeviceNumberResponse_QNAME, GetLineDeviceNumberResponse.class, null, value); + } + + /** + * Create an instance of + * {@link JAXBElement }{@code <}{@link DeviceIsOnlineResponse }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://webService.socket.ifish.com/", name = "deviceIsOnlineResponse") + public JAXBElement createDeviceIsOnlineResponse(DeviceIsOnlineResponse value) { + return new JAXBElement(_DeviceIsOnlineResponse_QNAME, DeviceIsOnlineResponse.class, null, value); + } + + /** + * Create an instance of + * {@link JAXBElement }{@code <}{@link OnlineUpgradeResponse }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://webService.socket.ifish.com/", name = "onlineUpgradeResponse") + public JAXBElement createOnlineUpgradeResponse(OnlineUpgradeResponse value) { + return new JAXBElement(_OnlineUpgradeResponse_QNAME, OnlineUpgradeResponse.class, null, value); + } + + /** + * Create an instance of + * {@link JAXBElement }{@code <}{@link GetLineDeviceNumber }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://webService.socket.ifish.com/", name = "getLineDeviceNumber") + public JAXBElement createGetLineDeviceNumber(GetLineDeviceNumber value) { + return new JAXBElement(_GetLineDeviceNumber_QNAME, GetLineDeviceNumber.class, null, value); + } + + /** + * Create an instance of + * {@link JAXBElement }{@code <}{@link DeviceIsOnline }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://webService.socket.ifish.com/", name = "deviceIsOnline") + public JAXBElement createDeviceIsOnline(DeviceIsOnline value) { + return new JAXBElement(_DeviceIsOnline_QNAME, DeviceIsOnline.class, null, value); + } + +} diff --git a/src/main/java/com/ifish/webservice/OnlineUpgrade.java b/src/main/java/com/ifish/webservice/OnlineUpgrade.java new file mode 100644 index 0000000..a5d8e42 --- /dev/null +++ b/src/main/java/com/ifish/webservice/OnlineUpgrade.java @@ -0,0 +1,87 @@ + +package com.ifish.webservice; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; + + +/** + * Java class for onlineUpgrade complex type. + * + * The following schema fragment specifies the expected content contained within this class. + * + * + * <complexType name="onlineUpgrade"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="arg0" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> + * <element name="arg1" type="{http://www.w3.org/2001/XMLSchema}int" minOccurs="0"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "onlineUpgrade", propOrder = { + "arg0", + "arg1" +}) +public class OnlineUpgrade { + + protected String arg0; + protected Integer arg1; + + /** + * Gets the value of the arg0 property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg0() { + return arg0; + } + + /** + * Sets the value of the arg0 property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg0(String value) { + this.arg0 = value; + } + + /** + * Gets the value of the arg1 property. + * + * @return + * possible object is + * {@link Integer } + * + */ + public Integer getArg1() { + return arg1; + } + + /** + * Sets the value of the arg1 property. + * + * @param value + * allowed object is + * {@link Integer } + * + */ + public void setArg1(Integer value) { + this.arg1 = value; + } + +} diff --git a/src/main/java/com/ifish/webservice/OnlineUpgradeResponse.java b/src/main/java/com/ifish/webservice/OnlineUpgradeResponse.java new file mode 100644 index 0000000..d5c3efb --- /dev/null +++ b/src/main/java/com/ifish/webservice/OnlineUpgradeResponse.java @@ -0,0 +1,54 @@ + +package com.ifish.webservice; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + * Java class for onlineUpgradeResponse complex type. + * + * The following schema fragment specifies the expected content contained within this class. + * + * + * <complexType name="onlineUpgradeResponse"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="return" type="{http://www.w3.org/2001/XMLSchema}boolean"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "onlineUpgradeResponse", propOrder = { + "_return" +}) +public class OnlineUpgradeResponse { + + @XmlElement(name = "return") + protected boolean _return; + + /** + * Gets the value of the return property. + * + */ + public boolean isReturn() { + return _return; + } + + /** + * Sets the value of the return property. + * + */ + public void setReturn(boolean value) { + this._return = value; + } + +} diff --git a/src/main/webapp/WEB-INF/layout/IndexPage.jsp b/src/main/webapp/WEB-INF/layout/IndexPage.jsp index aba4b6b..6addbf1 100644 --- a/src/main/webapp/WEB-INF/layout/IndexPage.jsp +++ b/src/main/webapp/WEB-INF/layout/IndexPage.jsp @@ -109,14 +109,14 @@ 摄像头绑定 - 摄像头激活 + 激活码列表 设备管理 - 设备信息 + 设备信息 设备绑定 diff --git a/src/main/webapp/WEB-INF/layout/tiles.xml b/src/main/webapp/WEB-INF/layout/tiles.xml index 3cdf4ee..76bb9b7 100644 --- a/src/main/webapp/WEB-INF/layout/tiles.xml +++ b/src/main/webapp/WEB-INF/layout/tiles.xml @@ -106,6 +106,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/webapp/WEB-INF/views/camera/activaCode.jsp b/src/main/webapp/WEB-INF/views/camera/activaCode.jsp new file mode 100644 index 0000000..b647504 --- /dev/null +++ b/src/main/webapp/WEB-INF/views/camera/activaCode.jsp @@ -0,0 +1,218 @@ +<%-- + Document : activaCode + Created on : 2017-8-17, 9:33:05 + Author : Administrator +--%> + +<%@page contentType="text/html" pageEncoding="UTF-8"%> + + + + + + 激活码: + + 批次号: + + 生成时间: + + 是否使用: + + + 请选择 + 已使用 + 未使用 + + + + + + + + 重置 + 生成激活码 + 导出Excel + + + + + 激活码 + 批次号 + 是否使用 + 生成时间 + + + + + + + + + × + 激活摄像头 + + + + + 生成数量: + + + + 批次号: + + + + + + + + + + diff --git a/src/main/webapp/WEB-INF/views/device/bindlist.jsp b/src/main/webapp/WEB-INF/views/device/bindlist.jsp new file mode 100644 index 0000000..fd3edc8 --- /dev/null +++ b/src/main/webapp/WEB-INF/views/device/bindlist.jsp @@ -0,0 +1,17 @@ +<%-- + Document : bindlist + Created on : 2017-8-17, 11:14:32 + Author : Administrator +--%> + +<%@page contentType="text/html" pageEncoding="UTF-8"%> + + + + + JSP Page + + + Hello World! + + diff --git a/src/main/webapp/WEB-INF/views/device/hardwareType.jsp b/src/main/webapp/WEB-INF/views/device/hardwareType.jsp new file mode 100644 index 0000000..cfe2f9d --- /dev/null +++ b/src/main/webapp/WEB-INF/views/device/hardwareType.jsp @@ -0,0 +1,17 @@ +<%-- + Document : hardwareType + Created on : 2017-8-17, 11:15:30 + Author : Administrator +--%> + +<%@page contentType="text/html" pageEncoding="UTF-8"%> + + + + + JSP Page + + + Hello World! + + diff --git a/src/main/webapp/WEB-INF/views/device/list.jsp b/src/main/webapp/WEB-INF/views/device/list.jsp new file mode 100644 index 0000000..b2d526a --- /dev/null +++ b/src/main/webapp/WEB-INF/views/device/list.jsp @@ -0,0 +1,524 @@ +<%-- + Document : list + Created on : 2017-8-17, 11:13:35 + Author : Administrator +--%> + +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@page contentType="text/html" pageEncoding="UTF-8"%> + + + + + MAC地址: + + 设备ID: + + 设备版本: + + 目标版本: + + 分配日期: + + + + 登陆日期: + + 分配编号: + + 电子厂: + + + 请选择 + + ${item.factoryName} + + + + 鱼缸厂: + + + 请选择 + + ${item.brandName} + + + + 硬件类型: + + + 请选择 + + ${item.hardwareName} + + + + + + 是否收费: + + + 请选择 + 是 + 否 + + + 授权状态: + + + 请选择 + 是 + 否 + + + 自动升级: + + + 请选择 + 是 + 否 + + + 排序字段: + + + 请选择 + 是 + 否 + + + 排序方式: + + + 请选择 + 是 + 否 + + + + + + + 重置 + 批量升级SDK + 在线升级SDK + 设备在线状态 + + + + + 设备/ID + 设备信息 + 设备参数 + SDK版本信息 + 登陆信息 + 分配信息 + 上报记录 + 授权信息 + 授权 + 操作 + + + + + + + + + × + 在线升级SDK + + + + + mac地址: + + + + 升级版本: + + + + + + + + + + + + + + × + 查询设备在线 + + + + + mac地址: + + + + + + + + + diff --git a/src/main/webapp/WEB-INF/views/device/loginlist.jsp b/src/main/webapp/WEB-INF/views/device/loginlist.jsp new file mode 100644 index 0000000..04f0e71 --- /dev/null +++ b/src/main/webapp/WEB-INF/views/device/loginlist.jsp @@ -0,0 +1,17 @@ +<%-- + Document : loginlist + Created on : 2017-8-17, 11:16:04 + Author : Administrator +--%> + +<%@page contentType="text/html" pageEncoding="UTF-8"%> + + + + + JSP Page + + + Hello World! + + diff --git a/src/main/webapp/WEB-INF/web.xml b/src/main/webapp/WEB-INF/web.xml new file mode 100644 index 0000000..6058a36 --- /dev/null +++ b/src/main/webapp/WEB-INF/web.xml @@ -0,0 +1,12 @@ + + + + + + 30 + + +
Java class for deviceIsOnline complex type. + * + *
The following schema fragment specifies the expected content contained within this class. + * + *
+ * <complexType name="deviceIsOnline"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="arg0" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + *
Java class for deviceIsOnlineResponse complex type. + * + *
+ * <complexType name="deviceIsOnlineResponse"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="return" type="{http://www.w3.org/2001/XMLSchema}boolean"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + *
Java class for getLineDeviceNumber complex type. + * + *
+ * <complexType name="getLineDeviceNumber"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + *
Java class for getLineDeviceNumberResponse complex type. + * + *
+ * <complexType name="getLineDeviceNumberResponse"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="return" type="{http://www.w3.org/2001/XMLSchema}int" minOccurs="0"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + *
features
Java class for onlineUpgrade complex type. + * + *
+ * <complexType name="onlineUpgrade"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="arg0" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> + * <element name="arg1" type="{http://www.w3.org/2001/XMLSchema}int" minOccurs="0"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + *
Java class for onlineUpgradeResponse complex type. + * + *
+ * <complexType name="onlineUpgradeResponse"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="return" type="{http://www.w3.org/2001/XMLSchema}boolean"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + *