diff --git a/common-lib/src/main/java/com/mortals/xhx/common/pdu/device/DeviceAlarmPdu.java b/common-lib/src/main/java/com/mortals/xhx/common/pdu/device/DeviceAlarmPdu.java new file mode 100644 index 0000000000000000000000000000000000000000..f4c695726bda13fb3e2b4b664311450361b0d186 --- /dev/null +++ b/common-lib/src/main/java/com/mortals/xhx/common/pdu/device/DeviceAlarmPdu.java @@ -0,0 +1,231 @@ +package com.mortals.xhx.common.pdu.device; + +import com.mortals.framework.model.BaseEntityLong; + +import java.util.Date; + +public class DeviceAlarmPdu extends BaseEntityLong { + private static final long serialVersionUID = 1L; + + /** + * 鍛婅鏃堕棿 + */ + private Date alarmTime; + /** + * 鍛婅璁惧Id + */ + private Long alarmDevice; + /** + * 绔欑偣Id锛屾潵婧愬熀纭€鏈嶅姟骞冲彴 + */ + private Long siteId; + /** + * 鍛婅绫诲瀷,(0.绂荤嚎) + */ + private Integer alarmType; + /** + * 鍛婅绾у埆(0.鍗遍櫓锛�1.娆¤锛�2.涓€鑸�) + */ + private Integer alarmLevel; + /** + * 鎺ユ敹浜哄憳[璁惧绠$悊鐨勮矗浠讳汉] + */ + private String alarmReceivePersonnel; + /** + * 鎺ユ敹浜哄憳鐢佃瘽 + */ + private String receivePersonnelTelephone; + /** + * 鍛婅鐘舵€�,鏉ヨ嚜宸ュ崟绯荤粺(0.鏈竻闄わ紝1.娓呴櫎鏈‘璁わ紝2.娓呴櫎宸茬‘璁�) + */ + private Integer alarmStatus; + /** + * 鍛婅璇︾粏鍐呭 + */ + private String alarmContent; + + + + public DeviceAlarmPdu(){} + /** + * 鑾峰彇 鍛婅鏃堕棿 + * @return Date + */ + public Date getAlarmTime(){ + return alarmTime; + } + /** + * 璁剧疆 鍛婅鏃堕棿 + * @param alarmTime + */ + public void setAlarmTime(Date alarmTime){ + this.alarmTime = alarmTime; + } + /** + * 鑾峰彇 鍛婅璁惧Id + * @return Long + */ + public Long getAlarmDevice(){ + return alarmDevice; + } + /** + * 璁剧疆 鍛婅璁惧Id + * @param alarmDevice + */ + public void setAlarmDevice(Long alarmDevice){ + this.alarmDevice = alarmDevice; + } + /** + * 鑾峰彇 绔欑偣Id锛屾潵婧愬熀纭€鏈嶅姟骞冲彴 + * @return Long + */ + public Long getSiteId(){ + return siteId; + } + /** + * 璁剧疆 绔欑偣Id锛屾潵婧愬熀纭€鏈嶅姟骞冲彴 + * @param siteId + */ + public void setSiteId(Long siteId){ + this.siteId = siteId; + } + /** + * 鑾峰彇 鍛婅绫诲瀷,(0.绂荤嚎) + * @return Integer + */ + public Integer getAlarmType(){ + return alarmType; + } + /** + * 璁剧疆 鍛婅绫诲瀷,(0.绂荤嚎) + * @param alarmType + */ + public void setAlarmType(Integer alarmType){ + this.alarmType = alarmType; + } + /** + * 鑾峰彇 鍛婅绾у埆(0.鍗遍櫓锛�1.娆¤锛�2.涓€鑸�) + * @return Integer + */ + public Integer getAlarmLevel(){ + return alarmLevel; + } + /** + * 璁剧疆 鍛婅绾у埆(0.鍗遍櫓锛�1.娆¤锛�2.涓€鑸�) + * @param alarmLevel + */ + public void setAlarmLevel(Integer alarmLevel){ + this.alarmLevel = alarmLevel; + } + /** + * 鑾峰彇 鎺ユ敹浜哄憳[璁惧绠$悊鐨勮矗浠讳汉] + * @return String + */ + public String getAlarmReceivePersonnel(){ + return alarmReceivePersonnel; + } + /** + * 璁剧疆 鎺ユ敹浜哄憳[璁惧绠$悊鐨勮矗浠讳汉] + * @param alarmReceivePersonnel + */ + public void setAlarmReceivePersonnel(String alarmReceivePersonnel){ + this.alarmReceivePersonnel = alarmReceivePersonnel; + } + /** + * 鑾峰彇 鎺ユ敹浜哄憳鐢佃瘽 + * @return String + */ + public String getReceivePersonnelTelephone(){ + return receivePersonnelTelephone; + } + /** + * 璁剧疆 鎺ユ敹浜哄憳鐢佃瘽 + * @param receivePersonnelTelephone + */ + public void setReceivePersonnelTelephone(String receivePersonnelTelephone){ + this.receivePersonnelTelephone = receivePersonnelTelephone; + } + /** + * 鑾峰彇 鍛婅鐘舵€�,鏉ヨ嚜宸ュ崟绯荤粺(0.鏈竻闄わ紝1.娓呴櫎鏈‘璁わ紝2.娓呴櫎宸茬‘璁�) + * @return Integer + */ + public Integer getAlarmStatus(){ + return alarmStatus; + } + /** + * 璁剧疆 鍛婅鐘舵€�,鏉ヨ嚜宸ュ崟绯荤粺(0.鏈竻闄わ紝1.娓呴櫎鏈‘璁わ紝2.娓呴櫎宸茬‘璁�) + * @param alarmStatus + */ + public void setAlarmStatus(Integer alarmStatus){ + this.alarmStatus = alarmStatus; + } + /** + * 鑾峰彇 鍛婅璇︾粏鍐呭 + * @return String + */ + public String getAlarmContent(){ + return alarmContent; + } + /** + * 璁剧疆 鍛婅璇︾粏鍐呭 + * @param alarmContent + */ + public void setAlarmContent(String alarmContent){ + this.alarmContent = alarmContent; + } + + + + + @Override + public int hashCode() { + return this.getId().hashCode(); + } + @Override + public boolean equals(Object obj) { + if (obj == null) return false; + if (obj instanceof DeviceAlarmPdu) { + DeviceAlarmPdu tmp = (DeviceAlarmPdu) obj; + if (this.getId() == tmp.getId()) { + return true; + } + } + return false; + } + + public String toString(){ + StringBuilder sb = new StringBuilder(""); + sb.append(",alarmTime:").append(getAlarmTime()); + sb.append(",alarmDevice:").append(getAlarmDevice()); + sb.append(",siteId:").append(getSiteId()); + sb.append(",alarmType:").append(getAlarmType()); + sb.append(",alarmLevel:").append(getAlarmLevel()); + sb.append(",alarmReceivePersonnel:").append(getAlarmReceivePersonnel()); + sb.append(",receivePersonnelTelephone:").append(getReceivePersonnelTelephone()); + sb.append(",alarmStatus:").append(getAlarmStatus()); + sb.append(",alarmContent:").append(getAlarmContent()); + return sb.toString(); + } + + public void initAttrValue(){ + + this.alarmTime = null; + + this.alarmDevice = null; + + this.siteId = null; + + this.alarmType = null; + + this.alarmLevel = null; + + this.alarmReceivePersonnel = ""; + + this.receivePersonnelTelephone = ""; + + this.alarmStatus = 0; + + this.alarmContent = ""; + } + +} diff --git a/common-lib/src/main/java/com/mortals/xhx/common/pdu/device/DeviceModuleUsePdu.java b/common-lib/src/main/java/com/mortals/xhx/common/pdu/device/DeviceModuleUsePdu.java new file mode 100644 index 0000000000000000000000000000000000000000..7d9dc50d65e08897bb16b582937d4e63ae5581ca --- /dev/null +++ b/common-lib/src/main/java/com/mortals/xhx/common/pdu/device/DeviceModuleUsePdu.java @@ -0,0 +1,124 @@ +package com.mortals.xhx.common.pdu.device; + +import com.mortals.framework.model.BaseEntityLong; + +public class DeviceModuleUsePdu extends BaseEntityLong { + private static final long serialVersionUID = 1L; + + /** + * 妯″潡鍚嶇О + */ + private String moduleName; + /** + * 妯″潡娑堟伅缂栫爜 + */ + private String moduleMsgCode; + /** + * 鎵€灞炶澶� + */ + private Long deviceId; + /** + * 璋冪敤娆℃暟 + */ + private Long useNum; + + + + public DeviceModuleUsePdu(){} + /** + * 鑾峰彇 妯″潡鍚嶇О + * @return String + */ + public String getModuleName(){ + return moduleName; + } + /** + * 璁剧疆 妯″潡鍚嶇О + * @param moduleName + */ + public void setModuleName(String moduleName){ + this.moduleName = moduleName; + } + /** + * 鑾峰彇 妯″潡娑堟伅缂栫爜 + * @return String + */ + public String getModuleMsgCode(){ + return moduleMsgCode; + } + /** + * 璁剧疆 妯″潡娑堟伅缂栫爜 + * @param moduleMsgCode + */ + public void setModuleMsgCode(String moduleMsgCode){ + this.moduleMsgCode = moduleMsgCode; + } + /** + * 鑾峰彇 鎵€灞炶澶� + * @return Long + */ + public Long getDeviceId(){ + return deviceId; + } + /** + * 璁剧疆 鎵€灞炶澶� + * @param deviceId + */ + public void setDeviceId(Long deviceId){ + this.deviceId = deviceId; + } + /** + * 鑾峰彇 璋冪敤娆℃暟 + * @return Long + */ + public Long getUseNum(){ + return useNum; + } + /** + * 璁剧疆 璋冪敤娆℃暟 + * @param useNum + */ + public void setUseNum(Long useNum){ + this.useNum = useNum; + } + + + + + @Override + public int hashCode() { + return this.getId().hashCode(); + } + @Override + public boolean equals(Object obj) { + if (obj == null) return false; + if (obj instanceof DeviceModuleUsePdu) { + DeviceModuleUsePdu tmp = (DeviceModuleUsePdu) obj; + if (this.getId() == tmp.getId()) { + return true; + } + } + return false; + } + + public String toString(){ + StringBuilder sb = new StringBuilder(""); + sb.append(",moduleName:").append(getModuleName()); + sb.append(",moduleMsgCode:").append(getModuleMsgCode()); + sb.append(",deviceId:").append(getDeviceId()); + sb.append(",useNum:").append(getUseNum()); + return sb.toString(); + } + + public void initAttrValue(){ + + this.moduleName = ""; + + this.moduleMsgCode = ""; + + this.deviceId = null; + + this.useNum = null; + } + +} diff --git a/common-lib/src/main/java/com/mortals/xhx/feign/device/IDeviceAlarmFeign.java b/common-lib/src/main/java/com/mortals/xhx/feign/device/IDeviceAlarmFeign.java new file mode 100644 index 0000000000000000000000000000000000000000..88814e679c45d1ed6ea8246d6f61316d0cad50e9 --- /dev/null +++ b/common-lib/src/main/java/com/mortals/xhx/feign/device/IDeviceAlarmFeign.java @@ -0,0 +1,63 @@ +package com.mortals.xhx.feign.device; + +import com.mortals.framework.common.Rest; +import com.mortals.xhx.common.pdu.RespData; +import com.mortals.xhx.common.pdu.device.DeviceAlarmPdu; +import com.mortals.xhx.common.pdu.device.DevicePdu; +import com.mortals.xhx.feign.IFeign; +import feign.hystrix.FallbackFactory; +import lombok.extern.slf4j.Slf4j; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.stereotype.Component; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestParam; + +import java.util.List; + +/** + * 璁惧鍛婅淇℃伅 + */ +@FeignClient(name = "device-manager", path = "/m", fallbackFactory = DeviceAlarmFeignFallbackFactory.class) +public interface IDeviceAlarmFeign extends IFeign { + /** + * 鏌ョ湅璁惧鍛婅淇℃伅鍒楄〃 + * + * @param devicePdu + * @return + */ + @PostMapping(value = "/device/alarm/info/list") + Rest<RespData<List<DeviceAlarmPdu>>> list(@RequestBody DeviceAlarmPdu devicePdu); + + + /** + * 鏌ョ湅璁惧鍛婅淇℃伅 + * + * @param id + * @return + */ + @GetMapping(value = "/device/alarm/info") + Rest<DeviceAlarmPdu> info(@RequestParam(value = "id") Long id); +} + +@Slf4j +@Component +class DeviceAlarmFeignFallbackFactory implements FallbackFactory<IDeviceAlarmFeign> { + + @Override + public IDeviceAlarmFeign create(Throwable throwable) { + return new IDeviceAlarmFeign() { + + @Override + public Rest<RespData<List<DeviceAlarmPdu>>> list(DeviceAlarmPdu devicePdu) { + return Rest.fail("鏆傛椂鏃犳硶鑾峰彇璁惧鍛婅淇℃伅鍒楄〃锛岃绋嶅悗鍐嶈瘯!"); + } + + @Override + public Rest<DeviceAlarmPdu> info(Long id) { + return Rest.fail("鏆傛椂鏃犳硶鑾峰彇璁惧鍛婅淇℃伅锛岃绋嶅悗鍐嶈瘯!"); + } + }; + } +} diff --git a/common-lib/src/main/java/com/mortals/xhx/feign/device/IDeviceModuleUseFeign.java b/common-lib/src/main/java/com/mortals/xhx/feign/device/IDeviceModuleUseFeign.java new file mode 100644 index 0000000000000000000000000000000000000000..1c91b3d7c67a49e4f9107ed93f94fb658e3cd869 --- /dev/null +++ b/common-lib/src/main/java/com/mortals/xhx/feign/device/IDeviceModuleUseFeign.java @@ -0,0 +1,46 @@ +package com.mortals.xhx.feign.device; + +import com.mortals.framework.common.Rest; +import com.mortals.xhx.common.pdu.RespData; +import com.mortals.xhx.common.pdu.device.DeviceAlarmPdu; +import com.mortals.xhx.common.pdu.device.DeviceModuleUsePdu; +import com.mortals.xhx.feign.IFeign; +import feign.hystrix.FallbackFactory; +import lombok.extern.slf4j.Slf4j; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.stereotype.Component; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +import java.util.List; + +/** + * 璁惧妯″潡浣跨敤棰戠巼 + */ +@FeignClient(name = "device-manager", path = "/m", fallbackFactory = DeviceModuleUseFeignFallbackFactory.class) +public interface IDeviceModuleUseFeign extends IFeign { + /** + * 鏌ョ湅璁惧妯″潡浣跨敤棰戠巼 + * + * @param devicePdu + * @return + */ + @PostMapping(value = "/device/module/use/list") + Rest<RespData<List<DeviceModuleUsePdu>>> list(@RequestBody DeviceModuleUsePdu devicePdu); +} + +@Slf4j +@Component +class DeviceModuleUseFeignFallbackFactory implements FallbackFactory<IDeviceModuleUseFeign> { + + @Override + public IDeviceModuleUseFeign create(Throwable throwable) { + return new IDeviceModuleUseFeign(){ + + @Override + public Rest<RespData<List<DeviceModuleUsePdu>>> list(DeviceModuleUsePdu devicePdu) { + return Rest.fail("鏆傛椂鏃犳硶鑾峰彇璁惧妯″潡浣跨敤棰戠巼鍒楄〃锛岃绋嶅悗鍐嶈瘯!"); + } + }; + } +} diff --git a/sst-manager/src/main/java/com/mortals/xhx/module/device/web/DeviceController.java b/sst-manager/src/main/java/com/mortals/xhx/module/device/web/DeviceController.java index 2aa6887142908a98566b2cd3b48860a1ff1941fd..84d04abb56951afd2c07025ba5ae2b8ba281b133 100644 --- a/sst-manager/src/main/java/com/mortals/xhx/module/device/web/DeviceController.java +++ b/sst-manager/src/main/java/com/mortals/xhx/module/device/web/DeviceController.java @@ -8,18 +8,26 @@ import com.mortals.framework.model.PageInfo; import com.mortals.framework.model.Result; import com.mortals.framework.web.BaseCRUDJsonBodyMappingController; import com.mortals.xhx.common.code.YesNoEnum; +import com.mortals.xhx.common.pdu.RespData; +import com.mortals.xhx.common.pdu.device.DeviceAlarmPdu; +import com.mortals.xhx.common.pdu.device.DeviceModuleUsePdu; import com.mortals.xhx.common.pdu.device.DevicePdu; import com.mortals.xhx.common.utils.BeanUtil; +import com.mortals.xhx.feign.device.IDeviceAlarmFeign; import com.mortals.xhx.feign.device.IDeviceFeign; +import com.mortals.xhx.feign.device.IDeviceModuleUseFeign; import com.mortals.xhx.module.device.model.DeviceEntity; import com.mortals.xhx.module.device.service.DeviceService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.ObjectUtils; import org.springframework.web.bind.annotation.*; import java.util.HashMap; +import java.util.List; import java.util.Map; +import java.util.stream.Collectors; /** * 璁惧 @@ -35,6 +43,12 @@ public class DeviceController extends BaseCRUDJsonBodyMappingController<DeviceSe @Autowired private IDeviceFeign deviceFeign; + @Autowired + private IDeviceAlarmFeign deviceAlarmFeign; + + @Autowired + private IDeviceModuleUseFeign deviceModuleUseFeign; + @Override @PostMapping({"list"}) @UnAuth @@ -129,4 +143,96 @@ public class DeviceController extends BaseCRUDJsonBodyMappingController<DeviceSe return ret.toJSONString(); } } + + @PostMapping({"alarm/list"}) + @UnAuth + public Rest<Object> alarmList(@RequestBody DeviceAlarmPdu query) { + Rest<Object> ret = new Rest(); + Map<String, Object> model = new HashMap(); + Context context = this.getContext(); + String busiDesc = "鏌ヨ璁惧鍛婅淇℃伅鍒楄〃"; + + int code=1; + try { + PageInfo pageInfo = new PageInfo(); + if (!ObjectUtils.isEmpty(query) && !ObjectUtils.isEmpty(query.getPage())) { + pageInfo.setCurrPage(query.getPage()); + } + + if (!ObjectUtils.isEmpty(query) && !ObjectUtils.isEmpty(query.getSize())) { + pageInfo.setPrePageResult(query.getSize()); + } + Result<DeviceAlarmPdu> result = new Result(); + Rest<RespData<List<DeviceAlarmPdu>>> rest = deviceAlarmFeign.list(query); + if (rest.getCode().equals(YesNoEnum.YES.getValue())) { + List<DeviceAlarmPdu> collect = rest.getData().getData(); + result.setList(collect); + pageInfo.setTotalResult(collect.size()); + result.setPageInfo(pageInfo); + result.setDict(rest.getDict()); + } + model.put("data", result.getList()); + model.put("pageInfo", result.getPageInfo()); + model.put("dict", result.getDict()); + this.parsePageInfo(model, result.getPageInfo()); + model.put("message_info", busiDesc + "鎴愬姛"); + this.recordSysLog(this.request, busiDesc + " 銆愭垚鍔熴€�"); + } catch (Exception var9) { + code = -1; + this.doException(this.request, busiDesc, model, var9); + } + + this.init(model, context); + ret.setCode(code); + ret.setData(model); + ret.setDict(model.get("dict")); + ret.setMsg(model.get("message_info") == null ? "" : model.remove("message_info").toString()); + return ret; + } + + @PostMapping({"module/use/list"}) + @UnAuth + public Rest<Object> moduleUseList(@RequestBody DeviceModuleUsePdu query) { + Rest<Object> ret = new Rest(); + Map<String, Object> model = new HashMap(); + Context context = this.getContext(); + String busiDesc = "鏌ヨ璁惧妯″潡浣跨敤棰戠巼淇℃伅鍒楄〃"; + + int code=1; + try { + PageInfo pageInfo = new PageInfo(); + if (!ObjectUtils.isEmpty(query) && !ObjectUtils.isEmpty(query.getPage())) { + pageInfo.setCurrPage(query.getPage()); + } + + if (!ObjectUtils.isEmpty(query) && !ObjectUtils.isEmpty(query.getSize())) { + pageInfo.setPrePageResult(query.getSize()); + } + Result<DeviceModuleUsePdu> result = new Result(); + Rest<RespData<List<DeviceModuleUsePdu>>> rest = deviceModuleUseFeign.list(query); + if (rest.getCode().equals(YesNoEnum.YES.getValue())) { + List<DeviceModuleUsePdu> collect = rest.getData().getData(); + result.setList(collect); + pageInfo.setTotalResult(collect.size()); + result.setPageInfo(pageInfo); + result.setDict(rest.getDict()); + } + model.put("data", result.getList()); + model.put("pageInfo", result.getPageInfo()); + model.put("dict", result.getDict()); + this.parsePageInfo(model, result.getPageInfo()); + model.put("message_info", busiDesc + "鎴愬姛"); + this.recordSysLog(this.request, busiDesc + " 銆愭垚鍔熴€�"); + } catch (Exception var9) { + code = -1; + this.doException(this.request, busiDesc, model, var9); + } + + this.init(model, context); + ret.setCode(code); + ret.setData(model); + ret.setDict(model.get("dict")); + ret.setMsg(model.get("message_info") == null ? "" : model.remove("message_info").toString()); + return ret; + } } \ No newline at end of file