From bf4a7fa6d937f6798e8a7524c43f658c482310b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E5=95=B8=E9=9D=9E?= <8153694@qq.com> Date: Wed, 22 Nov 2023 23:34:04 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=B5=B7=E5=BA=B7=E9=97=A8?= =?UTF-8?q?=E7=A6=81=E8=AE=BE=E5=A4=87=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/src/views/door/drawershow.vue | 2 + .../admin/src/views/door/list.vue | 2 + .../admin/src/views/door/view.vue | 3 + .../xhx/module/door/model/DoorEntity.java | 5 + .../xhx/module/door/model/DoorQuery.java | 150 ++++++++++++++++++ .../sqlmap/module/door/DoorMapper.xml | 76 ++++++++- .../httpclient/door/DoorController.http | 13 +- db/add.sql | 1 + ...\347\220\206\347\263\273\347\273\237.docx" | Bin 373125 -> 373464 bytes 9 files changed, 242 insertions(+), 10 deletions(-) diff --git a/attendance-performance-manager-ui/admin/src/views/door/drawershow.vue b/attendance-performance-manager-ui/admin/src/views/door/drawershow.vue index 1d9431d8..70672df9 100644 --- a/attendance-performance-manager-ui/admin/src/views/door/drawershow.vue +++ b/attendance-performance-manager-ui/admin/src/views/door/drawershow.vue @@ -11,6 +11,7 @@ <Field label="璁惧鍚嶇О" prop="deviceName" v-model="form.deviceName" placeholder="璇疯緭鍏ヨ澶囧悕绉�"/> <Field label="璁惧缂栫爜" prop="deviceCode" v-model="form.deviceCode" placeholder="璇疯緭鍏ヨ澶囩紪鐮�"/> <Field label="Ip鍦板潃" prop="ip" v-model="form.ip" placeholder="璇疯緭鍏p鍦板潃"/> + <Field label="绔彛" prop="port" v-model="form.port" placeholder="璇疯緭鍏ョ鍙�"/> <Field label="鐢ㄦ埛鍚�" prop="username" v-model="form.username" placeholder="璇疯緭鍏ョ敤鎴峰悕"/> <Field label="瀵嗙爜" prop="password" v-model="form.password" placeholder="璇疯緭鍏ュ瘑鐮�"/> @@ -99,6 +100,7 @@ deviceName : "", deviceCode : "", ip : "", + port : null, username : "", password : "", }; diff --git a/attendance-performance-manager-ui/admin/src/views/door/list.vue b/attendance-performance-manager-ui/admin/src/views/door/list.vue index 7da92b65..a116008a 100644 --- a/attendance-performance-manager-ui/admin/src/views/door/list.vue +++ b/attendance-performance-manager-ui/admin/src/views/door/list.vue @@ -57,6 +57,8 @@ {label: "Ip鍦板潃", prop: "ip"}, + {label: "绔彛", prop: "port",formatter: this.formatter}, + {label: "鐢ㄦ埛鍚�", prop: "username"}, {label: "瀵嗙爜", prop: "password"}, diff --git a/attendance-performance-manager-ui/admin/src/views/door/view.vue b/attendance-performance-manager-ui/admin/src/views/door/view.vue index c2aa00d9..d7c4f9ef 100644 --- a/attendance-performance-manager-ui/admin/src/views/door/view.vue +++ b/attendance-performance-manager-ui/admin/src/views/door/view.vue @@ -17,6 +17,9 @@ <el-descriptions-item label="Ip鍦板潃" label-class-name="labelClass" content-class-name="contentClass"> {{form.ip}} </el-descriptions-item> + <el-descriptions-item label="绔彛" label-class-name="labelClass" content-class-name="contentClass"> + {{form.port}} + </el-descriptions-item> <el-descriptions-item label="鐢ㄦ埛鍚�" label-class-name="labelClass" content-class-name="contentClass"> {{form.username}} </el-descriptions-item> diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/door/model/DoorEntity.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/door/model/DoorEntity.java index 35718a52..c7c32128 100644 --- a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/door/model/DoorEntity.java +++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/door/model/DoorEntity.java @@ -32,6 +32,10 @@ public class DoorEntity extends DoorVo { */ private String ip; /** + * 绔彛 + */ + private Integer port; + /** * 鐢ㄦ埛鍚� */ private String username; @@ -59,6 +63,7 @@ public class DoorEntity extends DoorVo { this.deviceName = ""; this.deviceCode = ""; this.ip = ""; + this.port = 0; this.username = ""; this.password = ""; } diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/door/model/DoorQuery.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/door/model/DoorQuery.java index b1d12deb..2ea7b92c 100644 --- a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/door/model/DoorQuery.java +++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/door/model/DoorQuery.java @@ -39,6 +39,21 @@ public class DoorQuery extends DoorEntity { /** Ip鍦板潃鎺掗櫎鍒楄〃 */ private List <String> ipNotList; + /** 寮€濮� 绔彛 */ + private Integer portStart; + + /** 缁撴潫 绔彛 */ + private Integer portEnd; + + /** 澧炲姞 绔彛 */ + private Integer portIncrement; + + /** 绔彛鍒楄〃 */ + private List <Integer> portList; + + /** 绔彛鎺掗櫎鍒楄〃 */ + private List <Integer> portNotList; + /** 鐢ㄦ埛鍚� */ private List<String> usernameList; @@ -276,6 +291,87 @@ public class DoorQuery extends DoorEntity { this.ipNotList = ipNotList; } + /** + * 鑾峰彇 寮€濮� 绔彛 + * @return portStart + */ + public Integer getPortStart(){ + return this.portStart; + } + + /** + * 璁剧疆 寮€濮� 绔彛 + * @param portStart + */ + public void setPortStart(Integer portStart){ + this.portStart = portStart; + } + + /** + * 鑾峰彇 缁撴潫 绔彛 + * @return $portEnd + */ + public Integer getPortEnd(){ + return this.portEnd; + } + + /** + * 璁剧疆 缁撴潫 绔彛 + * @param portEnd + */ + public void setPortEnd(Integer portEnd){ + this.portEnd = portEnd; + } + + /** + * 鑾峰彇 澧炲姞 绔彛 + * @return portIncrement + */ + public Integer getPortIncrement(){ + return this.portIncrement; + } + + /** + * 璁剧疆 澧炲姞 绔彛 + * @param portIncrement + */ + public void setPortIncrement(Integer portIncrement){ + this.portIncrement = portIncrement; + } + + /** + * 鑾峰彇 绔彛 + * @return portList + */ + public List<Integer> getPortList(){ + return this.portList; + } + + /** + * 璁剧疆 绔彛 + * @param portList + */ + public void setPortList(List<Integer> portList){ + this.portList = portList; + } + + /** + * 鑾峰彇 绔彛 + * @return portNotList + */ + public List<Integer> getPortNotList(){ + return this.portNotList; + } + + /** + * 璁剧疆 绔彛 + * @param portNotList + */ + public void setPortNotList(List<Integer> portNotList){ + this.portNotList = portNotList; + } + + /** * 鑾峰彇 鐢ㄦ埛鍚� * @return usernameList @@ -677,6 +773,60 @@ public class DoorQuery extends DoorEntity { return this; } + /** + * 璁剧疆 绔彛 + * @param port + */ + public DoorQuery port(Integer port){ + setPort(port); + return this; + } + + /** + * 璁剧疆 寮€濮� 绔彛 + * @param portStart + */ + public DoorQuery portStart(Integer portStart){ + this.portStart = portStart; + return this; + } + + /** + * 璁剧疆 缁撴潫 绔彛 + * @param portEnd + */ + public DoorQuery portEnd(Integer portEnd){ + this.portEnd = portEnd; + return this; + } + + /** + * 璁剧疆 澧炲姞 绔彛 + * @param portIncrement + */ + public DoorQuery portIncrement(Integer portIncrement){ + this.portIncrement = portIncrement; + return this; + } + + /** + * 璁剧疆 绔彛 + * @param portList + */ + public DoorQuery portList(List<Integer> portList){ + this.portList = portList; + return this; + } + + /** + * 璁剧疆 绔彛 + * @param portNotList + */ + public DoorQuery portNotList(List<Integer> portNotList){ + this.portNotList = portNotList; + return this; + } + /** * 璁剧疆 鐢ㄦ埛鍚� diff --git a/attendance-performance-manager/src/main/resources/sqlmap/module/door/DoorMapper.xml b/attendance-performance-manager/src/main/resources/sqlmap/module/door/DoorMapper.xml index 6560cfcb..858090d0 100644 --- a/attendance-performance-manager/src/main/resources/sqlmap/module/door/DoorMapper.xml +++ b/attendance-performance-manager/src/main/resources/sqlmap/module/door/DoorMapper.xml @@ -9,6 +9,7 @@ <result property="deviceName" column="deviceName" /> <result property="deviceCode" column="deviceCode" /> <result property="ip" column="ip" /> + <result property="port" column="port" /> <result property="username" column="username" /> <result property="password" column="password" /> <result property="createTime" column="createTime" /> @@ -34,6 +35,9 @@ <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('ip') or colPickMode == 1 and data.containsKey('ip')))"> a.ip, </if> + <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('port') or colPickMode == 1 and data.containsKey('port')))"> + a.port, + </if> <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('username') or colPickMode == 1 and data.containsKey('username')))"> a.username, </if> @@ -57,18 +61,18 @@ <!-- 鏂板 鍖哄垎涓婚敭鑷鍔犺繕鏄笟鍔℃彃鍏� --> <insert id="insert" parameterType="DoorEntity" useGeneratedKeys="true" keyProperty="id"> insert into mortals_xhx_door - (deviceName,deviceCode,ip,username,password,createTime,createUserId,updateUserId,updateTime) + (deviceName,deviceCode,ip,port,username,password,createTime,createUserId,updateUserId,updateTime) VALUES - (#{deviceName},#{deviceCode},#{ip},#{username},#{password},#{createTime},#{createUserId},#{updateUserId},#{updateTime}) + (#{deviceName},#{deviceCode},#{ip},#{port},#{username},#{password},#{createTime},#{createUserId},#{updateUserId},#{updateTime}) </insert> <!-- 鎵归噺鏂板 --> <insert id="insertBatch" parameterType="paramDto"> insert into mortals_xhx_door - (deviceName,deviceCode,ip,username,password,createTime,createUserId,updateUserId,updateTime) + (deviceName,deviceCode,ip,port,username,password,createTime,createUserId,updateUserId,updateTime) VALUES <foreach collection="data.dataList" item="item" index="index" separator="," > - (#{item.deviceName},#{item.deviceCode},#{item.ip},#{item.username},#{item.password},#{item.createTime},#{item.createUserId},#{item.updateUserId},#{item.updateTime}) + (#{item.deviceName},#{item.deviceCode},#{item.ip},#{item.port},#{item.username},#{item.password},#{item.createTime},#{item.createUserId},#{item.updateUserId},#{item.updateTime}) </foreach> </insert> @@ -87,6 +91,12 @@ <if test="(colPickMode==0 and data.containsKey('ip')) or (colPickMode==1 and !data.containsKey('ip'))"> a.ip=#{data.ip}, </if> + <if test="(colPickMode==0 and data.containsKey('port')) or (colPickMode==1 and !data.containsKey('port'))"> + a.port=#{data.port}, + </if> + <if test="(colPickMode==0 and data.containsKey('portIncrement')) or (colPickMode==1 and !data.containsKey('portIncrement'))"> + a.port=ifnull(a.port,0) + #{data.portIncrement}, + </if> <if test="(colPickMode==0 and data.containsKey('username')) or (colPickMode==1 and !data.containsKey('username'))"> a.username=#{data.username}, </if> @@ -144,6 +154,18 @@ </if> </foreach> </trim> + <trim prefix="port=(case" suffix="ELSE port end),"> + <foreach collection="data.dataList" item="item" index="index" separator="" > + <choose> + <when test="(colPickMode==0 and item.containsKey('port')) or (colPickMode==1 and !item.containsKey('port'))"> + when a.id=#{item.id} then #{item.port} + </when> + <when test="(colPickMode==0 and item.containsKey('portIncrement')) or (colPickMode==1 and !item.containsKey('portIncrement'))"> + when a.id=#{item.id} then ifnull(a.port,0) + #{item.portIncrement} + </when> + </choose> + </foreach> + </trim> <trim prefix="username=(case" suffix="ELSE username end),"> <foreach collection="data.dataList" item="item" index="index" separator="" > <if test="(colPickMode==0 and item.containsKey('username')) or (colPickMode==1 and !item.containsKey('username'))"> @@ -402,6 +424,33 @@ #{item} </foreach> </if> + <if test="conditionParamRef.containsKey('port')"> + <if test="conditionParamRef.port != null "> + ${_conditionType_} a.port = #{${_conditionParam_}.port} + </if> + <if test="conditionParamRef.port == null"> + ${_conditionType_} a.port is null + </if> + </if> + <if test="conditionParamRef.containsKey('portList') and conditionParamRef.portList.size() > 0"> + ${_conditionType_} a.port in + <foreach collection="conditionParamRef.portList" open="(" close=")" index="index" item="item" separator=","> + #{item} + </foreach> + </if> + <if test="conditionParamRef.containsKey('portNotList') and conditionParamRef.portNotList.size() > 0"> + ${_conditionType_} a.port not in + <foreach collection="conditionParamRef.portNotList" open="(" close=")" index="index" item="item" separator=","> + #{item} + </foreach> + </if> + <if test="conditionParamRef.containsKey('portStart') and conditionParamRef.portStart != null"> + ${_conditionType_} a.port <![CDATA[ >= ]]> #{${_conditionParam_}.portStart} + </if> + <if test="conditionParamRef.containsKey('portEnd') and conditionParamRef.portEnd != null"> + ${_conditionType_} a.port <![CDATA[ <= ]]> #{${_conditionParam_}.portEnd} + </if> + <if test="conditionParamRef.containsKey('username')"> <if test="conditionParamRef.username != null and conditionParamRef.username != ''"> @@ -539,6 +588,13 @@ </foreach> , </if> + <if test="conditionParamRef.containsKey('portList') and conditionParamRef.portList.size() > 0"> + field(a.port, + <foreach collection="conditionParamRef.portList" open="" close=")" index="index" item="item" separator=","> + #{item} + </foreach> + , + </if> <if test="conditionParamRef.containsKey('createUserIdList') and conditionParamRef.createUserIdList.size() > 0"> field(a.createUserId, <foreach collection="conditionParamRef.createUserIdList" open="" close=")" index="index" item="item" separator=","> @@ -568,6 +624,13 @@ </foreach> , </if> + <if test="conditionParamRef.containsKey('portList') and conditionParamRef.portList.size() > 0"> + field(a.port, + <foreach collection="conditionParamRef.portList" open="" close=")" index="index" item="item" separator=","> + #{item} + </foreach> + , + </if> <if test="conditionParamRef.containsKey('createUserIdList') and conditionParamRef.createUserIdList.size() > 0"> field(a.createUserId, <foreach collection="conditionParamRef.createUserIdList" open="" close=")" index="index" item="item" separator=","> @@ -603,6 +666,11 @@ <if test='orderCol.ip != null and "DESC".equalsIgnoreCase(orderCol.ip)'>DESC</if> , </if> + <if test="orderCol.containsKey('port')"> + a.port + <if test='orderCol.port != null and "DESC".equalsIgnoreCase(orderCol.port)'>DESC</if> + , + </if> <if test="orderCol.containsKey('username')"> a.username <if test='orderCol.username != null and "DESC".equalsIgnoreCase(orderCol.username)'>DESC</if> diff --git a/attendance-performance-manager/src/test/java/com/mortals/httpclient/door/DoorController.http b/attendance-performance-manager/src/test/java/com/mortals/httpclient/door/DoorController.http index d0968ffc..9a3d5434 100644 --- a/attendance-performance-manager/src/test/java/com/mortals/httpclient/door/DoorController.http +++ b/attendance-performance-manager/src/test/java/com/mortals/httpclient/door/DoorController.http @@ -18,7 +18,7 @@ POST {{baseUrl}}/door/list Content-Type: application/json { - "deviceCode":"9ci6cz", + "deviceCode":"nqwde8", "page":1, "size":10 } @@ -30,11 +30,12 @@ Authorization: {{authToken}} Content-Type: application/json { - "deviceName":"r1vf4o", - "deviceCode":"a74fjp", - "ip":"nu6vgw", - "username":"ufxpy5", - "password":"9d2qwd", + "deviceName":"4e70lu", + "deviceCode":"zbjw2n", + "ip":"g4erpw", + "port":282, + "username":"7wld4o", + "password":"431xcj", } > {% diff --git a/db/add.sql b/db/add.sql index 0b413661..8224a442 100644 --- a/db/add.sql +++ b/db/add.sql @@ -893,6 +893,7 @@ CREATE TABLE mortals_xhx_door( `deviceName` varchar(64) COMMENT '璁惧鍚嶇О', `deviceCode` varchar(64) COMMENT '璁惧缂栫爜', `ip` varchar(64) COMMENT 'Ip鍦板潃', + `port` int(9) COMMENT '绔彛', `username` varchar(64) COMMENT '鐢ㄦ埛鍚�', `password` varchar(64) COMMENT '瀵嗙爜', `createTime` datetime COMMENT '鍒涘缓鏃堕棿', diff --git "a/doc/\350\200\203\345\213\244\347\273\251\346\225\210\347\256\241\347\220\206\347\263\273\347\273\237.docx" "b/doc/\350\200\203\345\213\244\347\273\251\346\225\210\347\256\241\347\220\206\347\263\273\347\273\237.docx" index 0bf3427c382eb1daf71ae014f9a92bc9aa4bef6a..a1a71f022ac8d0ce3cf7405b208bcebae02ff047 100644 GIT binary patch delta 10916 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 delta 10612 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 -- 2.24.3