2
0

feat: add cdr info code

This commit is contained in:
caiyuchao
2024-12-09 19:43:13 +08:00
parent e6109d59cc
commit 95d4b02aad
27 changed files with 578 additions and 18 deletions

View File

@@ -44,13 +44,13 @@ CREATE TABLE `u_bill` (
-- ----------------------------
DROP TABLE IF EXISTS `u_cdr`;
CREATE TABLE `u_cdr` (
`cdr_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'CDR ID',
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'CDR ID',
`user_id` bigint(20) NULL DEFAULT NULL COMMENT 'User ID link to u_user',
`client_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT 'Client ID',
`ap_name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'ap name',
`ap_ssid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT 'Wireless SSID name ',
`rx_rate` float NULL DEFAULT NULL COMMENT 'tx rate ',
`tx_rate` float NULL DEFAULT NULL COMMENT 'tx rate',
`client_id` bigint(20) NULL DEFAULT NULL COMMENT 'Client ID',
`device_id` bigint(20) NULL DEFAULT NULL COMMENT 'Device ID',
`ssid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT 'Wireless SSID name ',
`rx_rate` int(11) NULL DEFAULT NULL COMMENT 'tx rate ',
`tx_rate` int(11) NULL DEFAULT NULL COMMENT 'tx rate',
`down_packet` bigint(20) NULL DEFAULT NULL COMMENT 'Number of downstream packets.\n',
`up_packet` bigint(20) NULL DEFAULT NULL COMMENT 'Number of upstream packets. ',
`traffic_down` bigint(20) NULL DEFAULT NULL COMMENT 'Downstream traffic (Byte)',
@@ -58,34 +58,58 @@ CREATE TABLE `u_cdr` (
`rate_limit_profile_id` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT 'Rate limit profile ID. ',
`up_time` bigint(20) NULL DEFAULT NULL COMMENT 'Up time (unit: s).',
`last_seen_time` bigint(20) NULL DEFAULT NULL COMMENT 'Last found time, timestamp (ms). ',
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT 'create name ',
`del_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '0' COMMENT 'delete flag',
`create_by` bigint(20) NULL DEFAULT NULL COMMENT 'creater',
`create_time` datetime NULL DEFAULT NULL COMMENT 'create time',
PRIMARY KEY (`cdr_id`) USING BTREE,
`update_by` bigint(20) NULL DEFAULT NULL COMMENT 'updater',
`update_time` datetime NULL DEFAULT NULL COMMENT 'update time',
PRIMARY KEY (`id`) USING BTREE,
INDEX `fk_user_id`(`user_id`) USING BTREE,
INDEX `fk_client_id`(`client_id`) USING BTREE,
CONSTRAINT `fk_user_id` FOREIGN KEY (`user_id`) REFERENCES `u_user` (`user_id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '用户平台_用户信息表' ROW_FORMAT = DYNAMIC;
INDEX `fk_client_id`(`client_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '用户平台_用户话单表' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of u_cdr
-- ----------------------------
-- ----------------------------
-- Table structure for u_cdr_detail
-- ----------------------------
DROP TABLE IF EXISTS `u_cdr_detail`;
CREATE TABLE `u_cdr_detail` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'CDR Detail ID',
`cdr_id` bigint(20) NULL DEFAULT NULL COMMENT 'CDR ID',
`traffic_down` bigint(20) NULL DEFAULT NULL COMMENT 'Downstream traffic (Byte)',
`traffic_up` bigint(20) NULL DEFAULT NULL COMMENT 'Upstream traffic (Byte)',
`start_time` datetime NULL DEFAULT NULL COMMENT 'Start time',
`end_time` datetime NULL DEFAULT NULL COMMENT 'End time',
`duration` bigint(20) NULL DEFAULT NULL COMMENT 'Duration(s)',
`del_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '0' COMMENT 'delete flag',
`create_by` bigint(20) NULL DEFAULT NULL COMMENT 'creater',
`create_time` datetime NULL DEFAULT NULL COMMENT 'create time',
`update_by` bigint(20) NULL DEFAULT NULL COMMENT 'updater',
`update_time` datetime NULL DEFAULT NULL COMMENT 'update time',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '用户平台_话单明细表' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for u_client
-- ----------------------------
DROP TABLE IF EXISTS `u_client`;
CREATE TABLE `u_client` (
`client_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'Client ID',
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'Client ID',
`user_id` bigint(20) NULL DEFAULT NULL COMMENT 'User ID link to u_user',
`client_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT 'Client Name',
`client_device_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT 'Client device type',
`client_mac` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT 'Client mac address',
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT 'create name ',
`client_mac` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT 'Client mac address',
`del_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '0' COMMENT 'delete flag',
`create_by` bigint(20) NULL DEFAULT NULL COMMENT 'creater',
`create_time` datetime NULL DEFAULT NULL COMMENT 'create time',
PRIMARY KEY (`client_id`) USING BTREE,
INDEX `fk_user_id`(`user_id`) USING BTREE,
CONSTRAINT `u_client_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `u_user` (`user_id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '用户平台_用户信息表' ROW_FORMAT = DYNAMIC;
`update_by` bigint(20) NULL DEFAULT NULL COMMENT 'updater',
`update_time` datetime NULL DEFAULT NULL COMMENT 'update time',
PRIMARY KEY (`id`) USING BTREE,
INDEX `fk_user_id`(`user_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 25 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '用户平台_用户设备表' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of u_client
@@ -145,6 +169,26 @@ CREATE TABLE `u_dept` (
INSERT INTO `u_dept` VALUES (100, 0, '0', 'ROOT', 0, 'system', '123456', '123456@wfc.com', '0', '0', 'system', '2024-11-27 21:50:54', '', NULL, NULL);
INSERT INTO `u_dept` VALUES (101, 100, '0,100', 'No.1', 1, 'system', '123456', '123456@wfc.com', '0', '0', 'system', '2024-11-27 21:50:54', '', NULL, NULL);
-- ----------------------------
-- Table structure for u_device
-- ----------------------------
DROP TABLE IF EXISTS `u_device`;
CREATE TABLE `u_device` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'Device ID',
`user_id` bigint(20) NULL DEFAULT NULL COMMENT 'User ID link to u_user',
`device_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT 'Device Name',
`device_ip` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT 'Device ip',
`device_mac` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT 'Device mac',
`device_model` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT 'Device model',
`del_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '0' COMMENT 'delete flag',
`create_by` bigint(20) NULL DEFAULT NULL COMMENT 'creater',
`create_time` datetime NULL DEFAULT NULL COMMENT 'create time',
`update_by` bigint(20) NULL DEFAULT NULL COMMENT 'updater',
`update_time` datetime NULL DEFAULT NULL COMMENT 'update time',
PRIMARY KEY (`id`) USING BTREE,
INDEX `fk_user_id`(`user_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 14 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '用户平台_AP设备表' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for u_dict_data
-- ----------------------------

View File

@@ -82,6 +82,16 @@
<artifactId>wfc-common-mybatis</artifactId>
</dependency>
<!-- 单元测试 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>

View File

@@ -0,0 +1,18 @@
package org.wfc.user.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 用户平台_用户话单表 前端控制器
* </p>
*
* @author cyc
* @since 2024-12-09
*/
@RestController
@RequestMapping("/user/uCdr")
public class UCdrController {
}

View File

@@ -0,0 +1,18 @@
package org.wfc.user.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 用户平台_话单明细表 前端控制器
* </p>
*
* @author cyc
* @since 2024-12-09
*/
@RestController
@RequestMapping("/user/uCdrDetail")
public class UCdrDetailController {
}

View File

@@ -0,0 +1,18 @@
package org.wfc.user.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 用户平台_AP设备表 前端控制器
* </p>
*
* @author cyc
* @since 2024-12-09
*/
@RestController
@RequestMapping("/user/uClient")
public class UClientController {
}

View File

@@ -0,0 +1,18 @@
package org.wfc.user.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 用户平台_用户设备表 前端控制器
* </p>
*
* @author cyc
* @since 2024-12-09
*/
@RestController
@RequestMapping("/user/uDevice")
public class UDeviceController {
}

View File

@@ -0,0 +1,63 @@
package org.wfc.user.domain;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import org.wfc.common.mybatis.domain.BaseData;
/**
* <p>
* 用户平台_用户话单表
* </p>
*
* @author cyc
* @since 2024-12-09
*/
@Getter
@Setter
@TableName("u_cdr")
@Schema(name = "UCdr", description = "用户平台_用户话单表")
public class UCdr extends BaseData {
private static final long serialVersionUID = 1L;
@Schema(description = "User ID link to u_user")
private Long userId;
@Schema(description = "Client ID")
private Long clientId;
@Schema(description = "Device ID")
private Long deviceId;
@Schema(description = "Wireless SSID name ")
private String ssid;
@Schema(description = "tx rate ")
private Integer rxRate;
@Schema(description = "tx rate")
private Integer txRate;
@Schema(description = "Number of downstream packets. ")
private Long downPacket;
@Schema(description = "Number of upstream packets. ")
private Long upPacket;
@Schema(description = "Downstream traffic (Byte)")
private Long trafficDown;
@Schema(description = "Upstream traffic (Byte)")
private Long trafficUp;
@Schema(description = "Rate limit profile ID. ")
private String rateLimitProfileId;
@Schema(description = "Up time (unit: s).")
private Long upTime;
@Schema(description = "Last found time, timestamp (ms). ")
private Long lastSeenTime;
}

View File

@@ -0,0 +1,44 @@
package org.wfc.user.domain;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
import org.wfc.common.mybatis.domain.BaseData;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
/**
* <p>
* 用户平台_话单明细表
* </p>
*
* @author cyc
* @since 2024-12-09
*/
@Getter
@Setter
@TableName("u_cdr_detail")
@Schema(name = "UCdrDetail", description = "用户平台_话单明细表")
public class UCdrDetail extends BaseData {
private static final long serialVersionUID = 1L;
@Schema(description = "CDR ID")
private Long cdrId;
@Schema(description = "Downstream traffic (Byte)")
private Long trafficDown;
@Schema(description = "Upstream traffic (Byte)")
private Long trafficUp;
@Schema(description = "Start time")
private Date startTime;
@Schema(description = "End time")
private Date endTime;
@Schema(description = "Duration(s)")
private Long duration;
}

View File

@@ -0,0 +1,36 @@
package org.wfc.user.domain;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import org.wfc.common.mybatis.domain.BaseData;
/**
* <p>
* 用户平台_用户设备表
* </p>
*
* @author cyc
* @since 2024-12-09
*/
@Getter
@Setter
@TableName("u_client")
@Schema(name = "UClient", description = "用户平台_用户设备表")
public class UClient extends BaseData {
private static final long serialVersionUID = 1L;
@Schema(description = "User ID link to u_user")
private Long userId;
@Schema(description = "Client Name")
private String clientName;
@Schema(description = "Client device type")
private String clientDeviceType;
@Schema(description = "Client mac address")
private String clientMac;
}

View File

@@ -0,0 +1,40 @@
package org.wfc.user.domain;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import org.wfc.common.mybatis.domain.BaseData;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
/**
* <p>
* 用户平台_AP设备表
* </p>
*
* @author cyc
* @since 2024-12-09
*/
@Getter
@Setter
@TableName("u_device")
@Schema(name = "UDevice", description = "用户平台_AP设备表")
public class UDevice extends BaseData {
private static final long serialVersionUID = 1L;
@Schema(description = "User ID link to u_user")
private Long userId;
@Schema(description = "Device Name")
private String deviceName;
@Schema(description = "Device ip")
private String deviceIp;
@Schema(description = "Device mac")
private String deviceMac;
@Schema(description = "Device model")
private String deviceModel;
}

View File

@@ -0,0 +1,16 @@
package org.wfc.user.mapper;
import org.wfc.user.domain.UCdrDetail;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 用户平台_话单明细表 Mapper 接口
* </p>
*
* @author cyc
* @since 2024-12-09
*/
public interface UCdrDetailMapper extends BaseMapper<UCdrDetail> {
}

View File

@@ -0,0 +1,16 @@
package org.wfc.user.mapper;
import org.wfc.user.domain.UCdr;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 用户平台_用户话单表 Mapper 接口
* </p>
*
* @author cyc
* @since 2024-12-09
*/
public interface UCdrMapper extends BaseMapper<UCdr> {
}

View File

@@ -0,0 +1,16 @@
package org.wfc.user.mapper;
import org.wfc.user.domain.UClient;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 用户平台_用户设备表 Mapper 接口
* </p>
*
* @author cyc
* @since 2024-12-09
*/
public interface UClientMapper extends BaseMapper<UClient> {
}

View File

@@ -0,0 +1,16 @@
package org.wfc.user.mapper;
import org.wfc.user.domain.UDevice;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 用户平台_AP设备表 Mapper 接口
* </p>
*
* @author cyc
* @since 2024-12-09
*/
public interface UDeviceMapper extends BaseMapper<UDevice> {
}

View File

@@ -0,0 +1,16 @@
package org.wfc.user.service;
import org.wfc.user.domain.UCdrDetail;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 用户平台_话单明细表 服务类
* </p>
*
* @author cyc
* @since 2024-12-09
*/
public interface IUCdrDetailService extends IService<UCdrDetail> {
}

View File

@@ -0,0 +1,16 @@
package org.wfc.user.service;
import org.wfc.user.domain.UCdr;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 用户平台_用户话单表 服务类
* </p>
*
* @author cyc
* @since 2024-12-09
*/
public interface IUCdrService extends IService<UCdr> {
}

View File

@@ -0,0 +1,16 @@
package org.wfc.user.service;
import org.wfc.user.domain.UClient;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 用户平台_用户设备表 服务类
* </p>
*
* @author cyc
* @since 2024-12-09
*/
public interface IUClientService extends IService<UClient> {
}

View File

@@ -0,0 +1,16 @@
package org.wfc.user.service;
import org.wfc.user.domain.UDevice;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 用户平台_AP设备表 服务类
* </p>
*
* @author cyc
* @since 2024-12-09
*/
public interface IUDeviceService extends IService<UDevice> {
}

View File

@@ -0,0 +1,20 @@
package org.wfc.user.service.impl;
import org.wfc.user.domain.UCdrDetail;
import org.wfc.user.mapper.UCdrDetailMapper;
import org.wfc.user.service.IUCdrDetailService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 用户平台_话单明细表 服务实现类
* </p>
*
* @author cyc
* @since 2024-12-09
*/
@Service
public class UCdrDetailServiceImpl extends ServiceImpl<UCdrDetailMapper, UCdrDetail> implements IUCdrDetailService {
}

View File

@@ -0,0 +1,20 @@
package org.wfc.user.service.impl;
import org.wfc.user.domain.UCdr;
import org.wfc.user.mapper.UCdrMapper;
import org.wfc.user.service.IUCdrService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 用户平台_用户话单表 服务实现类
* </p>
*
* @author cyc
* @since 2024-12-09
*/
@Service
public class UCdrServiceImpl extends ServiceImpl<UCdrMapper, UCdr> implements IUCdrService {
}

View File

@@ -0,0 +1,20 @@
package org.wfc.user.service.impl;
import org.wfc.user.domain.UClient;
import org.wfc.user.mapper.UClientMapper;
import org.wfc.user.service.IUClientService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 用户平台_用户设备表 服务实现类
* </p>
*
* @author cyc
* @since 2024-12-09
*/
@Service
public class UClientServiceImpl extends ServiceImpl<UClientMapper, UClient> implements IUClientService {
}

View File

@@ -0,0 +1,20 @@
package org.wfc.user.service.impl;
import org.wfc.user.domain.UDevice;
import org.wfc.user.mapper.UDeviceMapper;
import org.wfc.user.service.IUDeviceService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 用户平台_AP设备表 服务实现类
* </p>
*
* @author cyc
* @since 2024-12-09
*/
@Service
public class UDeviceServiceImpl extends ServiceImpl<UDeviceMapper, UDevice> implements IUDeviceService {
}

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.wfc.user.mapper.UCdrDetailMapper">
</mapper>

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.wfc.user.mapper.UCdrMapper">
</mapper>

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.wfc.user.mapper.UClientMapper">
</mapper>

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.wfc.user.mapper.UDeviceMapper">
</mapper>

View File

@@ -0,0 +1,23 @@
package org.wfc.user;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.wfc.user.service.IUClientService;
/**
* @description: 设备单元测试
* @author: cyc
* @since: 2024-12-09
*/
@SpringBootTest
public class UClientTest {
@Autowired
private IUClientService clientService;
@Test
public void test() {
}
}