| fzzy-igdss-core/src/main/java/com/fzzy/igds/constant/RedisConst.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| fzzy-igdss-core/src/main/java/com/fzzy/igds/domain/GatewaySer.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| fzzy-igdss-core/src/main/java/com/fzzy/igds/mapper/GatewaySerMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| fzzy-igdss-core/src/main/java/com/fzzy/igds/service/GatewaySerService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| fzzy-igdss-view/src/main/java/com/fzzy/igds/GatewaySer.view.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| fzzy-igdss-view/src/main/java/com/fzzy/igds/GatewaySerPR.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| fzzy-igdss-view/src/main/java/models/core.model.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| fzzy-igdss-web/src/main/java/com/fzzy/sys/controller/security/SecurityController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
fzzy-igdss-core/src/main/java/com/fzzy/igds/constant/RedisConst.java
@@ -85,6 +85,11 @@ public static final String KEY_DEVICE_SER_LIST = "SER_LIST"; /** * ç½å ³KEY */ public static final String KEY_GATEWAY_SER_LIST = "GATEWAY_LIST"; /** * 设å¤å表 */ public static final String KEY_DEVICE_LIST = "DEVICE_LIST"; fzzy-igdss-core/src/main/java/com/fzzy/igds/domain/GatewaySer.java
ÎļþÃû´Ó fzzy-igdss-core/src/main/java/com/fzzy/igds/domain/SnapSer.java ÐÞ¸Ä @@ -12,16 +12,16 @@ import java.io.Serializable; /** * @Description æææå¡ * @Description ç½å ³é ç½® * @Author CZT * @Date 2025/11/25 19:43 * @Date 2025/12/10 15:25 */ @Data @Entity @Table(name = "d_snap_ser") @TableName("d_snap_ser") @Table(name = "d_gateway_ser") @TableName("d_gateway_ser") @EqualsAndHashCode(callSuper = false) public class SnapSer extends BizBaseEntity implements Serializable { public class GatewaySer extends BizBaseEntity implements Serializable { /** * @@ -29,7 +29,7 @@ private static final long serialVersionUID = 1L; @Id @Column(name = "id", columnDefinition = "varchar(40) COMMENT '主é®'") @Column(name = "id", columnDefinition = "varchar(40) COMMENT 'ç½å ³ID'") @TableField("id") private String id; @@ -37,30 +37,38 @@ @TableField("dept_id") private String deptId; @Column(name = "sort", columnDefinition = "varchar(2) COMMENT 'é å¥åºå·'") @TableField("sort") private String sort = "1"; @Column(name = "sn", columnDefinition = "varchar(40) COMMENT 'åºåå·'") @TableField("sn") private String sn; @Column(name = "name", columnDefinition = "varchar(40) COMMENT '设å¤åç§°'") @Column(name = "name", columnDefinition = "varchar(40) COMMENT 'ç½å ³åç§°'") @TableField("name") private String name; @Column(name = "ip", columnDefinition = "varchar(20) COMMENT '设å¤IP'") @TableField("ip") private String ip; @Column(name = "port", columnDefinition = "int(5) COMMENT '端å£'") @TableField("port") private Integer port; @Column(name = "status", columnDefinition = "varchar(2) COMMENT 'æ¯å¦å¨çº¿'") @TableField("status") private String status = Constant.YN_N; @Column(name = "ip", columnDefinition = "varchar(20) COMMENT 'ç½å ³IP'") @TableField("ip") private String ip; @Column(name = "port", columnDefinition = "int(5) COMMENT 'ç½å ³ç«¯å£'") @TableField("port") private Integer port; @Column(name = "snap_url", columnDefinition = "varchar(20) COMMENT 'ææè·¯å¾'") @TableField("snap_url") private String snapUrl; @Column(name = "ptz_url", columnDefinition = "varchar(20) COMMENT 'äºå°è·¯å¾'") @TableField("ptz_url") private String ptzUrl; @Column(name = "order_num", columnDefinition = "int(5) COMMENT '顺åºå·'") @TableField("order_num") private Integer orderNum = 1; @Column(name = "remark", columnDefinition = "varchar(100) COMMENT '夿³¨è¯´æ'") @TableField("remark") private String remark; fzzy-igdss-core/src/main/java/com/fzzy/igds/mapper/GatewaySerMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,15 @@ package com.fzzy.igds.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.fzzy.igds.domain.GatewaySer; import org.apache.ibatis.annotations.Mapper; /** * @Description * @Author CZT * @Date 2025/12/10 16:48 */ @Mapper public interface GatewaySerMapper extends BaseMapper<GatewaySer> { } fzzy-igdss-core/src/main/java/com/fzzy/igds/service/GatewaySerService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,248 @@ package com.fzzy.igds.service; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.fzzy.igds.constant.Constant; import com.fzzy.igds.constant.RedisConst; import com.fzzy.igds.domain.GatewaySer; import com.fzzy.igds.mapper.GatewaySerMapper; import com.fzzy.igds.utils.ContextUtil; import com.ruoyi.common.core.domain.entity.SysDept; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.core.redis.RedisCache; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.system.service.ISysDeptService; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.*; /** * @Description * @Author CZT * @Date 2025/12/10 16:48 */ @Slf4j @Service public class GatewaySerService { @Resource private GatewaySerMapper gatewaySerMapper; @Resource private ISysDeptService iSysDeptService; @Resource private RedisCache redisCache; /** * æ ¹æ®æ¡ä»¶æ¥è¯¢åæºä¿¡æ¯ * * @param companyId * @param deptId * @param parentId * @return */ public List<GatewaySer> listDeviceSer(String companyId, String deptId, String parentId) { QueryWrapper<GatewaySer> queryWrapper = new QueryWrapper<>(); if (StringUtils.isNotBlank(companyId)) { queryWrapper.eq("company_id", companyId); } if (StringUtils.isNotBlank(deptId)) { queryWrapper.eq("dept_id", deptId); } if (StringUtils.isNotBlank(parentId)) { queryWrapper.likeRight("dept_id", parentId); } return gatewaySerMapper.selectList(queryWrapper); } /** * æ¥è¯¢åæºå表 * * @return */ public List<GatewaySer> getAllSer() { SysUser user = ContextUtil.getLoginUser(); SysDept userDept = iSysDeptService.selectDeptById(user.getDeptId()); if (Constant.DEPT_TYPE_20.equals(userDept.getType())) { return this.listDeviceSer(null, user.getDeptId() + "", null); } else { return this.listDeviceSer(null, null, user.getDeptId() + ""); } } /** * æ ¹æ®æ¡ä»¶æ¥è¯¢åæºä¿¡æ¯ * * @param id * @return */ public GatewaySer getById(String id) { if(StringUtils.isBlank( id)){ return null; } return gatewaySerMapper.selectById(id); } /** * æ´æ°ä¿ååæº * * @param ser */ public void saveSer(GatewaySer ser) { if (null == ser.getSn()) { ser.setSn(ser.getId()); } if(null == ser.getOrderNum()){ ser.setOrderNum(1); } if (StringUtils.isEmpty(ser.getCompanyId())) { ser.setCompanyId(ContextUtil.getCompanyId()); } if (StringUtils.isEmpty(ser.getDeptId())) { ser.setDeptId(ContextUtil.subDeptId(null)); } if (StringUtils.isBlank(ser.getUpdateBy())) { ser.setCreateBy(ContextUtil.getLoginUserName()); ser.setCreateTime(new Date()); ser.setUpdateBy(ContextUtil.getLoginUserName()); ser.setUpdateTime(new Date()); gatewaySerMapper.insert(ser); } else { ser.setUpdateBy(ContextUtil.getLoginUserName()); ser.setUpdateTime(new Date()); gatewaySerMapper.updateById(ser); } refreshCache(ser.getCompanyId()); } /** * æ´æ°ä¿ååæº * * @param ser */ public void delSer(GatewaySer ser) { gatewaySerMapper.deleteById(ser); //å é¤ç¼å delCache(ser); } /** * æ ¹æ®åæºIDè·ååæºä¿¡æ¯ * * @param companyId * @param deptId * @return */ public List<GatewaySer> getCacheSerByDeptId(String companyId, String deptId) { if (StringUtils.isEmpty(deptId)) { return null; } if (StringUtils.isEmpty(companyId)) { companyId = ContextUtil.getCompanyId(); } String patten = RedisConst.buildKey(companyId, RedisConst.KEY_DEVICE_SER_LIST, deptId) + "*"; Collection<String> keys = redisCache.keys(patten); if (null == keys) { return null; } List<GatewaySer> list = new ArrayList<>(); for (String key : keys) { list.add((GatewaySer) redisCache.getCacheObject(key)); } return list; } /** * æ ¹æ®åæºIDè·ååæºä¿¡æ¯ * * @param companyId * @param id * @return */ public GatewaySer getCacheSerById(String companyId, String id) { if (StringUtils.isEmpty(id)) { return null; } if (StringUtils.isEmpty(companyId)) { companyId = ContextUtil.getCompanyId(); } String patten = RedisConst.buildKey(companyId, RedisConst.KEY_DEVICE_SER_LIST) + "*"; Collection<String> keys = redisCache.keys(patten); if (null == keys) { return null; } List<GatewaySer> list = new ArrayList<>(); GatewaySer ser = null; for (String key : keys) { ser = (GatewaySer) redisCache.getCacheObject(key); if(id.equals(ser.getId())){ break; } } if(null == ser){ ser = getById(id); this.setCacheSer(ser); } return ser; } /** * å·æ°ç¼å * * @param companyId */ public void refreshCache(String companyId) { if (StringUtils.isEmpty(companyId)) { companyId = ContextUtil.getCompanyId(); } List<GatewaySer> list = this.listDeviceSer(companyId, null, null); this.setCacheSer(list); } /** * 设置ç¼å * @param data */ public void setCacheSer(GatewaySer data) { if (null == data) { return; } String key = RedisConst.buildKey(data.getCompanyId(), RedisConst.KEY_GATEWAY_SER_LIST, data.getDeptId(), data.getId()); redisCache.setCacheObject(key, data); } /** * 设置ç¼å * @param data */ public void setCacheSer(List<GatewaySer> data) { if (null == data) { return; } for (GatewaySer ser : data) { this.setCacheSer( ser); } } /** * å é¤ç¼åä¿¡æ¯ * @param ser */ public void delCache(GatewaySer ser) { if (null == ser) { return; } String key = RedisConst.buildKey(ser.getCompanyId(), RedisConst.KEY_GATEWAY_SER_LIST, ser.getDeptId(), ser.getId()); redisCache.deleteObject(key); } } fzzy-igdss-view/src/main/java/com/fzzy/igds/GatewaySer.view.xml
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,283 @@ <?xml version="1.0" encoding="UTF-8"?> <ViewConfig> <Arguments/> <Context/> <Model/> <View layout="padding:10"> <ClientEvent name="onReady">
 addData = function(){
 view.get("#dsGatewaySer").insert();
 view.get("#dialog1").set("caption","ç½å ³ä¿¡æ¯");
 
 view.get("#dialog1").show();
 };
 
 delData = function(){
 var cur = view.get("#dsGatewaySer.data:#");
 if(!cur) return;
 cur.setState(dorado.Entity.STATE_DELETED);
 $confirm("ç¡®å®è¦å é¤è¯¥æ°æ®ä¹ï¼",function(){
 view.get("#uaSave").execute(function(){
 cur.remove();
 });
 });
 };
 
 btnCancel = function(){
 view.get("#dialog1").hide();
 };
 
 onDialogHide = function(){
 var cur = view.get("#dsGatewaySer.data:#");
 cur.cancel();
 };</ClientEvent> <Property name="packages">font-awesome,css-common</Property> <Property name="cache"> <Property name="mode">clientSide</Property> </Property> <DataSet id="dsGatewaySer"> <Property name="parameter"></Property> <Property name="dataProvider">gatewaySerPR#getAllSer</Property> <Property name="dataType">[dtGatewaySer]</Property> </DataSet> <Container> <Property name="className">c-param</Property> <ToolBar> <ToolBarButton> <ClientEvent name="onClick">addData();</ClientEvent> <Property name="caption">æ°å¢</Property> <Property name="exClassName">btn1</Property> <Property name="width">100</Property> <Property name="iconClass">fa fa-plus</Property> </ToolBarButton> <ToolBarButton> <ClientEvent name="onClick">
 var select = view.get("#dataGridMain").get("selection");
 if(select){
 view.get("#dialog1").show();
 }else{
 $notify("è¯·éæ©éè¦ä¿®æ¹çæ°æ®â¦â¦");
 }</ClientEvent> <Property name="caption">ä¿®æ¹</Property> <Property name="exClassName">btn2</Property> <Property name="width">100</Property> <Property name="iconClass">fa fa-pencil-square-o</Property> </ToolBarButton> <ToolBarButton> <ClientEvent name="onClick"> var select = view.get("#dataGridMain").get("selection");
 if(select){
 view.get("#ajaxActionDel").set("parameter",{
id: select.get("id")
 }).execute(function(){
 select.remove();
 });
 }else{
 $notify("è¯·éæ©éè¦å é¤çæ°æ®â¦â¦");
 }
</ClientEvent> <Property name="caption">å é¤</Property> <Property name="exClassName">btn3</Property> <Property name="width">100</Property> <Property name="iconClass">fa fa-times</Property> <Property name="action">ajaxActionDel</Property> </ToolBarButton> <ToolBarButton> <ClientEvent name="onClick">view.get("#dsGatewaySer").flushAsync();
 </ClientEvent> <Property name="caption">å·æ°æ°æ®</Property> <Property name="exClassName">btn2</Property> <Property name="iconClass">fa fa-refresh</Property> </ToolBarButton> <ToolBarButton> <Property name="caption">å·æ°ç¼å</Property> <Property name="exClassName">btn4</Property> <Property name="iconClass">fa fa-refresh</Property> <Property name="width">100</Property> <Property name="action">ajaxRefreshCache</Property> </ToolBarButton> </ToolBar> <DataGrid id="dataGridMain" layoutConstraint="padding:8"> <ClientEvent name="onDataRowClick">view.get("#dataGridMain").set("selection",arg.data);</ClientEvent> <Property name="dataSet">dsGatewaySer</Property> <Property name="readOnly">true</Property> <Property name="selectionMode">singleRow</Property> <RowSelectorColumn/> <RowNumColumn/> <DataColumn name="id"> <Property name="property">id</Property> <Property name="align">center</Property> </DataColumn> <DataColumn name="name"> <Property name="property">name</Property> <Property name="align">center</Property> </DataColumn> <DataColumn name="deptId"> <Property name="property">deptId</Property> <Property name="align">center</Property> </DataColumn> <DataColumn name="ip"> <Property name="property">ip</Property> <Property name="align">center</Property> </DataColumn> <DataColumn name="port"> <Property name="property">port</Property> <Property name="align">center</Property> </DataColumn> <DataColumn name="status"> <ClientEvent name="onRenderCell">arg.dom.style.background = arg.data.get("status")== 'Y' ?"":"#FF5722";
 arg.processDefault = true;</ClientEvent> <Property name="property">status</Property> <Property name="align">center</Property> <Property name="width">120</Property> </DataColumn> <DataColumn name="updateBy"> <Property name="property">updateBy</Property> <Property name="align">center</Property> </DataColumn> <DataColumn name="updateTime"> <Property name="property">updateTime</Property> <Property name="align">center</Property> <Property name="width">180</Property> </DataColumn> </DataGrid> </Container> <Dialog id="dialog1" layout="regionPadding:8"> <ClientEvent name="onHide">onDialogHide();</ClientEvent> <Property name="iconClass">fa fa-tasks</Property> <Property name="width">1200</Property> <Property name="caption">ç½å ³ä¿¡æ¯</Property> <Property name="closeable">false</Property> <Buttons> <Button> <ClientEvent name="onClick">var cur = view.get("#dsGatewaySer.data:#");
 if(cur.validate() == 'ok'){
 view.get("#updateAction").execute(function(){
 view.get("#dialog1").close();
 });
 }else{
 $alert("æ°æ®æ ¡éªå¤±è´¥ï¼");
 }</ClientEvent> <Property name="caption">ä¿å</Property> <Property name="iconClass">fa fa-check-circle</Property> <Property name="exClassName">btn1</Property> <Property name="width">120</Property> </Button> <Button> <ClientEvent name="onClick">btnCancel();</ClientEvent> <Property name="caption">åæ¶</Property> <Property name="exClassName">btn3</Property> <Property name="iconClass">fa fa-times-circle</Property> <Property name="width">120</Property> </Button> </Buttons> <Children> <FieldSet layout="padding:5"> <Property name="caption">åºæ¬ä¿¡æ¯</Property> <Buttons/> <Children> <AutoForm> <Property name="dataSet">dsGatewaySer</Property> <Property name="cols">*,*,*</Property> <Property name="labelSeparator">ï¼</Property> <Property name="labelAlign">right</Property> <Property name="labelWidth">100</Property> <AutoFormElement> <Property name="name">id</Property> <Property name="property">id</Property> <Editor/> </AutoFormElement> <AutoFormElement> <Property name="name">name</Property> <Property name="property">name</Property> <Editor/> </AutoFormElement> <AutoFormElement> <Property name="name">deptId</Property> <Property name="property">deptId</Property> <Editor/> </AutoFormElement> <AutoFormElement> <Property name="name">sn</Property> <Property name="property">sn</Property> <Editor/> </AutoFormElement> <AutoFormElement> <Property name="name">ip</Property> <Property name="property">ip</Property> <Editor/> </AutoFormElement> <AutoFormElement> <Property name="name">port</Property> <Property name="property">port</Property> <Editor/> </AutoFormElement> <AutoFormElement layoutConstraint="colSpan:2"> <Property name="name">snapUrl</Property> <Property name="property">snapUrl</Property> <Editor/> </AutoFormElement> <AutoFormElement> <Property name="name">status</Property> <Property name="property">status</Property> <Editor/> </AutoFormElement> <AutoFormElement layoutConstraint="colSpan:2"> <Property name="name">ptzUrl</Property> <Property name="property">ptzUrl</Property> <Editor/> </AutoFormElement> <AutoFormElement> <Property name="name">orderNum</Property> <Property name="property">orderNum</Property> <Editor/> </AutoFormElement> <AutoFormElement layoutConstraint="colSpan:2"> <Property name="name">remark</Property> <Property name="property">remark</Property> <Editor/> </AutoFormElement> <AutoFormElement> <Property name="name">createBy</Property> <Property name="property">createBy</Property> <Editor/> </AutoFormElement> <AutoFormElement> <Property name="name">createTime</Property> <Property name="property">createTime</Property> <Editor/> </AutoFormElement> <AutoFormElement> <Property name="name">updateBy</Property> <Property name="property">updateBy</Property> <Editor/> </AutoFormElement> <AutoFormElement> <Property name="name">updateTime</Property> <Property name="property">updateTime</Property> <Editor/> </AutoFormElement> </AutoForm> </Children> </FieldSet> </Children> <Tools/> </Dialog> <UpdateAction id="updateAction"> <Property name="dataResolver">gatewaySerPR#updateSer</Property> <UpdateItem> <Property name="dataSet">dsGatewaySer</Property> <Property name="dataPath">[#current]</Property> </UpdateItem> </UpdateAction> <AjaxAction id="ajaxActionDel"> <Property name="service">gatewaySerPR#delSerById</Property> <Property name="confirmMessage">ç¡®å®è¦å é¤ä¹ï¼</Property> <Property name="executingMessage">æ£å¨å é¤</Property> <Property name="successMessage">å 餿å</Property> </AjaxAction> <AjaxAction id="ajaxRefreshCache"> <Property name="service">gatewaySerPR#refreshCache</Property> <Property name="successMessage">å·æ°æåï¼</Property> <Property name="confirmMessage">ç¡®å®è¦å·æ°ç¼åä¹ï¼</Property> </AjaxAction> </View> </ViewConfig> fzzy-igdss-view/src/main/java/com/fzzy/igds/GatewaySerPR.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,69 @@ package com.fzzy.igds; import com.bstek.dorado.annotation.DataProvider; import com.bstek.dorado.annotation.DataResolver; import com.bstek.dorado.annotation.Expose; import com.fzzy.igds.domain.GatewaySer; import com.fzzy.igds.service.GatewaySerService; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.List; /** * @Description * @Author CZT * @Date 2025/12/10 16:48 */ @Component public class GatewaySerPR { @Resource private GatewaySerService gatewaySerService; /** * gatewaySerPR#getAllSer * * @return */ @DataProvider public List<GatewaySer> getAllSer() { return gatewaySerService.getAllSer(); } /** * deviceSerPR#updateSer * * @param data */ @DataResolver public void updateSer(GatewaySer data) { GatewaySer ser = new GatewaySer(); BeanUtils.copyProperties(data, ser); gatewaySerService.saveSer(ser); } /** * æ ¹æ®åæºidååç§°å é¤åæº */ @Expose @Transactional public void delSerById(String id) { GatewaySer ser = gatewaySerService.getById(id); gatewaySerService.delSer(ser); } /** * deviceSerPR#refreshCache * * @throws * @Title: refreshCache * @Description: å·æ°ç¼å void */ @Expose public void refreshCache() { gatewaySerService.refreshCache(null); } } fzzy-igdss-view/src/main/java/models/core.model.xml
@@ -1325,4 +1325,88 @@ <Property name="readOnly">true</Property> </PropertyDef> </DataType> <DataType name="dtGatewaySer"> <Property name="creationType">com.fzzy.igds.domain.GatewaySer</Property> <PropertyDef name="id"> <Property></Property> <Property name="label">ç½å ³ID</Property> </PropertyDef> <PropertyDef name="deptId"> <Property></Property> <Property name="label">æå±åºåº</Property> <Property name="mapping"> <Property name="mapValues">${dorado.getDataProvider("deptPR#getAllData").getResult()}</Property> <Property name="keyProperty">id</Property> <Property name="valueProperty">kqmc</Property> </Property> <Property name="required">true</Property> </PropertyDef> <PropertyDef name="companyId"> <Property></Property> <Property name="label">ç»ç»ç¼ç </Property> </PropertyDef> <PropertyDef name="sn"> <Property></Property> <Property name="label">åºåå·</Property> </PropertyDef> <PropertyDef name="name"> <Property></Property> <Property name="label">ç½å ³åç§°</Property> </PropertyDef> <PropertyDef name="ip"> <Property></Property> <Property name="label">ç½å ³IP</Property> <Property name="required">true</Property> </PropertyDef> <PropertyDef name="port"> <Property name="dataType">Integer</Property> <Property name="label">ç½å ³ç«¯å£</Property> <Property name="required">true</Property> </PropertyDef> <PropertyDef name="status"> <Property></Property> <Property name="label">æ¯å¦å¨çº¿</Property> <Property name="mapping"> <Property name="mapValues">${dorado.getDataProvider("dicPR#sysDictData").getResult("sys_yes_no")}</Property> <Property name="keyProperty">dictValue</Property> <Property name="valueProperty">dictLabel</Property> </Property> </PropertyDef> <PropertyDef name="orderNum"> <Property name="dataType">Integer</Property> <Property name="label">顺åºå·</Property> </PropertyDef> <PropertyDef name="snapUrl"> <Property></Property> <Property name="label">ææè·¯å¾</Property> </PropertyDef> <PropertyDef name="ptzUrl"> <Property></Property> <Property name="label">äºå°è·¯å¾</Property> </PropertyDef> <PropertyDef name="remark"> <Property></Property> <Property name="label">夿³¨</Property> </PropertyDef> <PropertyDef name="createTime"> <Property name="dataType">DateTime</Property> <Property name="label">å建æ¶é´</Property> <Property name="readOnly">true</Property> </PropertyDef> <PropertyDef name="createBy"> <Property></Property> <Property name="label">å建人</Property> <Property name="readOnly">true</Property> </PropertyDef> <PropertyDef name="updateTime"> <Property name="dataType">DateTime</Property> <Property name="label">æ´æ°æ¶é´</Property> <Property name="readOnly">true</Property> </PropertyDef> <PropertyDef name="updateBy"> <Property></Property> <Property name="label">æ´æ°äºº</Property> <Property name="readOnly">true</Property> </PropertyDef> </DataType> </Model> fzzy-igdss-web/src/main/java/com/fzzy/sys/controller/security/SecurityController.java
@@ -104,7 +104,7 @@ String viewUrl = prefix + "/video-webrtc"; //WEB-RTC大忿¾ //WEB-RTCææ¾ if (CameraPlayType.PLAY_TYPE_WEB_RTC.getCode().equals(playType)) { viewUrl = prefix + "/video-webrtc"; }