diff --git a/fys-system/src/main/java/com/fuyuanshen/modules/security/security/app/AppTokenProvider.java b/fys-system/src/main/java/com/fuyuanshen/modules/security/security/app/AppTokenProvider.java index 48f43fe..264fd09 100644 --- a/fys-system/src/main/java/com/fuyuanshen/modules/security/security/app/AppTokenProvider.java +++ b/fys-system/src/main/java/com/fuyuanshen/modules/security/security/app/AppTokenProvider.java @@ -70,6 +70,7 @@ public class AppTokenProvider implements InitializingBean { /** * 创建Token 设置永不过期, * Token 的时间有效性转到Redis 维护 + * * @param user / * @return / */ @@ -77,7 +78,7 @@ public class AppTokenProvider implements InitializingBean { // 设置参数 Map claims = new HashMap<>(6); // 设置用户ID -// claims.put(AUTHORITIES_UID_KEY, user.getAppUser().getId()); + claims.put(AUTHORITIES_UID_KEY, user.getAppUser().getId()); // if (user.getAppUser() != null){ // claims.put(AUTHORITIES_UID_KEY, user.getAppUser().getId()); // }else { @@ -94,6 +95,7 @@ public class AppTokenProvider implements InitializingBean { /** * APP创建Token 设置永不过期, * Token 的时间有效性转到Redis 维护 + * * @param user / * @return / */ @@ -102,7 +104,7 @@ public class AppTokenProvider implements InitializingBean { Map claims = new HashMap<>(6); // 设置用户ID -// claims.put(AUTHORITIES_UID_KEY, user.getAppUser().getId()); + claims.put(AUTHORITIES_UID_KEY, user.getAppUser().getId()); // if (user.getAppUser() != null){ // claims.put(AUTHORITIES_UID_KEY, user.getAppUser().getId()); // }else { @@ -110,7 +112,7 @@ public class AppTokenProvider implements InitializingBean { // } // 设置UUID,确保每次Token不一样 claims.put(AUTHORITIES_UUID_KEY, IdUtil.simpleUUID()); - claims.put("userType","1");//0 系统登录 1 APP登录 + claims.put("userType", "1");// 0 系统登录 1 APP登录 return jwtBuilder .setClaims(claims) .setSubject(user.getAppUser().getUsername()) @@ -162,6 +164,7 @@ public class AppTokenProvider implements InitializingBean { /** * 获取登录用户RedisKey + * * @param token / * @return key */ @@ -172,6 +175,7 @@ public class AppTokenProvider implements InitializingBean { /** * 获取会话编号 + * * @param token / * @return / */ diff --git a/fys-system/src/main/java/com/fuyuanshen/modules/system/domain/app/APPDeviceType.java b/fys-system/src/main/java/com/fuyuanshen/modules/system/domain/app/APPDeviceType.java index 41a0cee..522183b 100644 --- a/fys-system/src/main/java/com/fuyuanshen/modules/system/domain/app/APPDeviceType.java +++ b/fys-system/src/main/java/com/fuyuanshen/modules/system/domain/app/APPDeviceType.java @@ -3,10 +3,13 @@ package com.fuyuanshen.modules.system.domain.app; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; -import com.fuyuanshen.modules.system.domain.DeviceType; +import com.fuyuanshen.base.BaseEntity; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + /** * @Description: 设备类型 * @Author: WY @@ -14,11 +17,40 @@ import lombok.Data; **/ @Data @TableName("app_device_type") -public class APPDeviceType extends DeviceType { +public class APPDeviceType extends BaseEntity implements Serializable { @TableId(value = "id", type = IdType.AUTO) @ApiModelProperty(value = "ID", hidden = true) private Long id; + @ApiModelProperty(value = "客户号") + private Long customerId; + + @ApiModelProperty(value = "创建该类型的客户") + private Long ownerCustomerId; + + /** + * 租户ID + */ + // @TableField(value = "tenant_id") + // @ApiModelProperty(hidden = true) + // private Long tenantId; + + @NotBlank(message = "设备类型名称不能为空") + @ApiModelProperty(value = "类型名称", required = true) + private String typeName; + + @ApiModelProperty(value = "是否支持蓝牙") + private Boolean isSupportBle; + + @ApiModelProperty(value = "定位方式", example = "0:无;1:GPS;2:基站;3:wifi;4:北斗") + private String locateMode; + + @ApiModelProperty(value = "联网方式", example = "0:无;1:4G;2:WIFI") + private String networkWay; + + @ApiModelProperty(value = "通讯方式", example = "0:4G;1:蓝牙") + private String communicationMode; + } diff --git a/fys-system/src/main/java/com/fuyuanshen/modules/system/mapper/app/AppDeviceTypeMapper.java b/fys-system/src/main/java/com/fuyuanshen/modules/system/mapper/app/AppDeviceTypeMapper.java new file mode 100644 index 0000000..2d44958 --- /dev/null +++ b/fys-system/src/main/java/com/fuyuanshen/modules/system/mapper/app/AppDeviceTypeMapper.java @@ -0,0 +1,18 @@ +package com.fuyuanshen.modules.system.mapper.app; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.fuyuanshen.modules.system.domain.app.APPDeviceType; +import org.apache.ibatis.annotations.Mapper; + +/** +* @author 97433 +* @description 针对表【app_device_type(设备类型表)】的数据库操作Mapper +* @createDate 2025-06-24 11:16:18 +* @Entity system.domain.AppDeviceType +*/ +@Mapper +public interface AppDeviceTypeMapper extends BaseMapper { + + +} diff --git a/fys-system/src/main/java/com/fuyuanshen/modules/system/rest/app/APPDeviceController.java b/fys-system/src/main/java/com/fuyuanshen/modules/system/rest/app/APPDeviceController.java index 1d9f874..549c36c 100644 --- a/fys-system/src/main/java/com/fuyuanshen/modules/system/rest/app/APPDeviceController.java +++ b/fys-system/src/main/java/com/fuyuanshen/modules/system/rest/app/APPDeviceController.java @@ -69,7 +69,7 @@ public class APPDeviceController { @GetMapping(value = "/bind") @ApiOperation("APP用户设备绑定") - public ResponseVO appBindDevice(@ApiParam("设备MAC地址") String mac) { + public ResponseVO appBindDevice(@ApiParam("设备MAC地址") @RequestParam String mac) { appDeviceService.appBindDevice(mac); return ResponseVO.success("绑定成功!"); } diff --git a/fys-system/src/main/java/com/fuyuanshen/modules/system/service/app/APPDeviceServiceImpl.java b/fys-system/src/main/java/com/fuyuanshen/modules/system/service/app/APPDeviceServiceImpl.java index eefec48..6b6cbd0 100644 --- a/fys-system/src/main/java/com/fuyuanshen/modules/system/service/app/APPDeviceServiceImpl.java +++ b/fys-system/src/main/java/com/fuyuanshen/modules/system/service/app/APPDeviceServiceImpl.java @@ -18,6 +18,7 @@ import com.fuyuanshen.modules.system.enums.UserType; import com.fuyuanshen.modules.system.mapper.DeviceMapper; import com.fuyuanshen.modules.system.mapper.DeviceTypeMapper; import com.fuyuanshen.modules.system.mapper.app.APPDeviceMapper; +import com.fuyuanshen.modules.system.mapper.app.AppDeviceTypeMapper; import com.fuyuanshen.utils.PageResult; import com.fuyuanshen.utils.SecurityUtils; import lombok.RequiredArgsConstructor; @@ -26,6 +27,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.List; +import java.util.stream.Collectors; /** * @Description: @@ -40,6 +42,7 @@ public class APPDeviceServiceImpl extends ServiceImpl().eq("device_mac", deviceForm.getDeviceMac())); + appDeviceMapper.delete(new QueryWrapper().eq("device_mac", deviceForm.getDeviceMac()).eq("binding_type", UserType.APP.getValue())); + List devices = deviceMapper.selectList(new QueryWrapper().eq("device_mac", deviceForm.getDeviceMac())); + List ids = devices.stream() + .map(Device::getId) + .collect(Collectors.toList()); + appDeviceTypeMapper.deleteBatchIds(ids); Device device = new Device(); device.setId(deviceForm.getCustomerId()); device.setBindingStatus(BindingStatusEnum.UNBOUND.getCode()); diff --git a/fys-system/src/main/java/com/fuyuanshen/modules/system/service/app/AppDeviceTypeService.java b/fys-system/src/main/java/com/fuyuanshen/modules/system/service/app/AppDeviceTypeService.java new file mode 100644 index 0000000..4675344 --- /dev/null +++ b/fys-system/src/main/java/com/fuyuanshen/modules/system/service/app/AppDeviceTypeService.java @@ -0,0 +1,13 @@ +package com.fuyuanshen.modules.system.service.app; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.fuyuanshen.modules.system.domain.app.APPDeviceType; + +/** +* @author 97433 +* @description 针对表【app_device_type(设备类型表)】的数据库操作Service +* @createDate 2025-06-24 11:16:18 +*/ +public interface AppDeviceTypeService extends IService { + +} diff --git a/fys-system/src/main/java/com/fuyuanshen/modules/system/service/impl/app/AppDeviceTypeServiceImpl.java b/fys-system/src/main/java/com/fuyuanshen/modules/system/service/impl/app/AppDeviceTypeServiceImpl.java new file mode 100644 index 0000000..826842a --- /dev/null +++ b/fys-system/src/main/java/com/fuyuanshen/modules/system/service/impl/app/AppDeviceTypeServiceImpl.java @@ -0,0 +1,18 @@ +package com.fuyuanshen.modules.system.service.impl.app; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.fuyuanshen.modules.system.domain.app.APPDeviceType; +import com.fuyuanshen.modules.system.mapper.app.AppDeviceTypeMapper; +import com.fuyuanshen.modules.system.service.app.AppDeviceTypeService; +import org.springframework.stereotype.Service; + +/** +* @author 97433 +* @description 针对表【app_device_type(设备类型表)】的数据库操作Service实现 +* @createDate 2025-06-24 11:16:18 +*/ +@Service +public class AppDeviceTypeServiceImpl extends ServiceImpl +implements AppDeviceTypeService { + +} diff --git a/fys-system/src/main/resources/mapper/system/AppDeviceTypeMapper.xml b/fys-system/src/main/resources/mapper/system/AppDeviceTypeMapper.xml new file mode 100644 index 0000000..97fc77b --- /dev/null +++ b/fys-system/src/main/resources/mapper/system/AppDeviceTypeMapper.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + id,type_name,is_support_ble,locate_mode,network_way,create_by, + update_by,create_time,update_time,customer_id,communication_mode + +