设备绑定支持
This commit is contained in:
1 parent
a1d9b4d3fc
commit
2849fdbcb0
5 files changed
+212
No files matched your search
+24
@@ -0,0 +1,24 @@
|
||||
package cn.iocoder.yudao.module.product.controller.admin.device.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Schema(description = "管理后台 - 贩卖机信息精简 Response VO")
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class DeviceSimpleRespVO {
|
||||
|
||||
@Schema(description = "设备编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "设备名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "贩卖机001")
|
||||
private String name;
|
||||
|
||||
@Schema(description = "设备IMEI", requiredMode = Schema.RequiredMode.REQUIRED, example = "123456789012345")
|
||||
private String deviceId;
|
||||
|
||||
}
|
||||
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
package cn.iocoder.yudao.module.system.controller.admin.user.vo.user;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.List;
|
||||
|
||||
@Schema(description = "管理后台 - 用户绑定设备 Request VO")
|
||||
@Data
|
||||
public class UserBindDeviceReqVO {
|
||||
|
||||
@Schema(description = "用户ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
|
||||
@NotNull(message = "用户ID不能为空")
|
||||
private Long userId;
|
||||
|
||||
@Schema(description = "设备ID列表", requiredMode = Schema.RequiredMode.REQUIRED, example = "[1, 2, 3]")
|
||||
@NotEmpty(message = "设备ID列表不能为空")
|
||||
private List<Long> deviceIds;
|
||||
|
||||
}
|
||||
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
package cn.iocoder.yudao.module.system.controller.admin.user.vo.user;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Schema(description = "管理后台 - 用户设备信息 Response VO")
|
||||
@Data
|
||||
public class UserDeviceRespVO {
|
||||
|
||||
@Schema(description = "用户ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
|
||||
private Long userId;
|
||||
|
||||
@Schema(description = "绑定的设备ID列表", example = "[1, 2, 3]")
|
||||
private List<Long> deviceIds;
|
||||
|
||||
}
|
||||
|
||||
+42
@@ -0,0 +1,42 @@
|
||||
package cn.iocoder.yudao.module.system.dal.dataobject.user;
|
||||
|
||||
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
|
||||
import com.baomidou.mybatisplus.annotation.KeySequence;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
/**
|
||||
* 用户和设备关联 DO
|
||||
*
|
||||
* @author 芋道源码
|
||||
*/
|
||||
@TableName("system_user_device")
|
||||
@KeySequence("system_user_device_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class UserDeviceDO extends BaseDO {
|
||||
|
||||
/**
|
||||
* 自增主键
|
||||
*/
|
||||
@TableId
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 用户 ID
|
||||
*
|
||||
* 关联 {@link AdminUserDO#getId()}
|
||||
*/
|
||||
private Long userId;
|
||||
|
||||
/**
|
||||
* 设备 ID
|
||||
*
|
||||
* 关联 product_device 表的 id
|
||||
*/
|
||||
private Long deviceId;
|
||||
|
||||
}
|
||||
|
||||
+104
@@ -0,0 +1,104 @@
|
||||
package cn.iocoder.yudao.module.system.dal.mysql.user;
|
||||
|
||||
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.user.UserDeviceDO;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 用户和设备关联 Mapper
|
||||
*
|
||||
* @author 芋道源码
|
||||
*/
|
||||
@Mapper
|
||||
public interface UserDeviceMapper extends BaseMapperX<UserDeviceDO> {
|
||||
|
||||
/**
|
||||
* 根据用户ID查询设备关联列表
|
||||
*
|
||||
* @param userId 用户ID
|
||||
* @return 设备关联列表
|
||||
*/
|
||||
default List<UserDeviceDO> selectListByUserId(Long userId) {
|
||||
return selectList(UserDeviceDO::getUserId, userId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据设备ID查询用户关联列表
|
||||
*
|
||||
* @param deviceId 设备ID
|
||||
* @return 用户关联列表
|
||||
*/
|
||||
default List<UserDeviceDO> selectListByDeviceId(Long deviceId) {
|
||||
return selectList(UserDeviceDO::getDeviceId, deviceId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据用户ID和设备ID查询关联
|
||||
*
|
||||
* @param userId 用户ID
|
||||
* @param deviceId 设备ID
|
||||
* @return 关联记录
|
||||
*/
|
||||
default UserDeviceDO selectByUserIdAndDeviceId(Long userId, Long deviceId) {
|
||||
return selectOne(new LambdaQueryWrapperX<UserDeviceDO>()
|
||||
.eq(UserDeviceDO::getUserId, userId)
|
||||
.eq(UserDeviceDO::getDeviceId, deviceId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据用户ID删除设备关联
|
||||
*
|
||||
* @param userId 用户ID
|
||||
* @param deviceIds 设备ID集合
|
||||
*/
|
||||
default void deleteByUserIdAndDeviceIds(Long userId, Collection<Long> deviceIds) {
|
||||
delete(new LambdaQueryWrapperX<UserDeviceDO>()
|
||||
.eq(UserDeviceDO::getUserId, userId)
|
||||
.in(UserDeviceDO::getDeviceId, deviceIds));
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据用户ID删除所有设备关联
|
||||
*
|
||||
* @param userId 用户ID
|
||||
*/
|
||||
default void deleteByUserId(Long userId) {
|
||||
delete(Wrappers.lambdaUpdate(UserDeviceDO.class).eq(UserDeviceDO::getUserId, userId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据设备ID删除所有用户关联
|
||||
*
|
||||
* @param deviceId 设备ID
|
||||
*/
|
||||
default void deleteByDeviceId(Long deviceId) {
|
||||
delete(Wrappers.lambdaUpdate(UserDeviceDO.class).eq(UserDeviceDO::getDeviceId, deviceId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据用户ID集合查询设备ID列表
|
||||
*
|
||||
* @param userIds 用户ID集合
|
||||
* @return 设备关联列表
|
||||
*/
|
||||
default List<UserDeviceDO> selectListByUserIds(Collection<Long> userIds) {
|
||||
return selectList(UserDeviceDO::getUserId, userIds);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据设备ID集合查询用户ID列表
|
||||
*
|
||||
* @param deviceIds 设备ID集合
|
||||
* @return 用户关联列表
|
||||
*/
|
||||
default List<UserDeviceDO> selectListByDeviceIds(Collection<Long> deviceIds) {
|
||||
return selectList(UserDeviceDO::getDeviceId, deviceIds);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user