├── .gitignore
├── LICENSE
├── README.en.md
├── README.md
├── build.gradle
├── gps-api
├── build.gradle
└── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── gps
│ │ │ └── api
│ │ │ ├── ApiRedisUtils.java
│ │ │ ├── GpsApiApplication.java
│ │ │ ├── cmd
│ │ │ └── CommandSender.java
│ │ │ ├── common
│ │ │ ├── PermissionCheckService.java
│ │ │ ├── StringToDateConverter.java
│ │ │ ├── annotation
│ │ │ │ ├── DataFilter.java
│ │ │ │ ├── Permission.java
│ │ │ │ └── SysLog.java
│ │ │ ├── aspect
│ │ │ │ ├── ApiRedisAspect.java
│ │ │ │ ├── DataFilterAspect.java
│ │ │ │ ├── PermissionAop.java
│ │ │ │ └── SysLogAspect.java
│ │ │ ├── dbasp
│ │ │ │ ├── DataAuthorityInterceptor.java
│ │ │ │ └── ResultInterceptor.java
│ │ │ ├── exception
│ │ │ │ └── RRExceptionHandler.java
│ │ │ ├── utils
│ │ │ │ ├── ConfigConstant.java
│ │ │ │ ├── DateUtils.java
│ │ │ │ ├── HttpContextUtils.java
│ │ │ │ ├── IPUtils.java
│ │ │ │ ├── JwtUtils.java
│ │ │ │ ├── RedisKeys.java
│ │ │ │ ├── ShiroUtils.java
│ │ │ │ └── SpringContextUtils.java
│ │ │ ├── validator
│ │ │ │ ├── Assert.java
│ │ │ │ ├── ValidatorUtils.java
│ │ │ │ └── group
│ │ │ │ │ ├── AddGroup.java
│ │ │ │ │ ├── AliyunGroup.java
│ │ │ │ │ ├── Group.java
│ │ │ │ │ ├── QcloudGroup.java
│ │ │ │ │ ├── QiniuGroup.java
│ │ │ │ │ └── UpdateGroup.java
│ │ │ └── xss
│ │ │ │ ├── HTMLFilter.java
│ │ │ │ ├── SQLFilter.java
│ │ │ │ ├── XssFilter.java
│ │ │ │ └── XssHttpServletRequestWrapper.java
│ │ │ ├── config
│ │ │ ├── ApiRedisConfig.java
│ │ │ ├── CorsConfig.java
│ │ │ ├── FilterConfig.java
│ │ │ ├── KafkaConsumerConfig.java
│ │ │ ├── KafkaProducerConfig.java
│ │ │ ├── KaptchaConfig.java
│ │ │ ├── MybatisPlusConfig.java
│ │ │ ├── ShiroConfig.java
│ │ │ ├── SwaggerConfig.java
│ │ │ ├── WebConfig.java
│ │ │ └── WebSocketConfig.java
│ │ │ ├── modules
│ │ │ ├── job
│ │ │ │ ├── config
│ │ │ │ │ └── ScheduleConfig.java
│ │ │ │ ├── controller
│ │ │ │ │ ├── ScheduleJobController.java
│ │ │ │ │ └── ScheduleJobLogController.java
│ │ │ │ ├── dao
│ │ │ │ │ ├── ScheduleJobDao.java
│ │ │ │ │ └── ScheduleJobLogDao.java
│ │ │ │ ├── entity
│ │ │ │ │ ├── ScheduleJobEntity.java
│ │ │ │ │ └── ScheduleJobLogEntity.java
│ │ │ │ ├── service
│ │ │ │ │ ├── ScheduleJobLogService.java
│ │ │ │ │ ├── ScheduleJobService.java
│ │ │ │ │ └── impl
│ │ │ │ │ │ ├── ScheduleJobLogServiceImpl.java
│ │ │ │ │ │ └── ScheduleJobServiceImpl.java
│ │ │ │ ├── task
│ │ │ │ │ ├── CheckTask.java
│ │ │ │ │ └── ITask.java
│ │ │ │ └── utils
│ │ │ │ │ ├── ScheduleJob.java
│ │ │ │ │ └── ScheduleUtils.java
│ │ │ ├── oss
│ │ │ │ ├── cloud
│ │ │ │ │ ├── AliyunCloudStorageService.java
│ │ │ │ │ ├── CloudStorageConfig.java
│ │ │ │ │ ├── CloudStorageService.java
│ │ │ │ │ ├── OSSFactory.java
│ │ │ │ │ ├── QcloudCloudStorageService.java
│ │ │ │ │ └── QiniuCloudStorageService.java
│ │ │ │ ├── controller
│ │ │ │ │ └── SysOssController.java
│ │ │ │ ├── dao
│ │ │ │ │ └── SysOssDao.java
│ │ │ │ ├── entity
│ │ │ │ │ └── SysOssEntity.java
│ │ │ │ └── service
│ │ │ │ │ ├── SysOssService.java
│ │ │ │ │ └── impl
│ │ │ │ │ └── SysOssServiceImpl.java
│ │ │ └── sys
│ │ │ │ ├── controller
│ │ │ │ ├── AbstractController.java
│ │ │ │ ├── AlarmController.java
│ │ │ │ ├── CommandController.java
│ │ │ │ ├── DevMgrController.java
│ │ │ │ ├── DeviceController.java
│ │ │ │ ├── DeviceRecController.java
│ │ │ │ ├── GeofenceController.java
│ │ │ │ ├── GpsController.java
│ │ │ │ ├── GroupController.java
│ │ │ │ ├── IndexController.java
│ │ │ │ ├── Jt809UserController.java
│ │ │ │ ├── ProductController.java
│ │ │ │ ├── SysConfigController.java
│ │ │ │ ├── SysDeptController.java
│ │ │ │ ├── SysLogController.java
│ │ │ │ ├── SysLoginController.java
│ │ │ │ ├── SysMenuController.java
│ │ │ │ ├── SysRoleController.java
│ │ │ │ └── SysUserController.java
│ │ │ │ ├── dao
│ │ │ │ ├── SysCaptchaDao.java
│ │ │ │ ├── SysConfigDao.java
│ │ │ │ ├── SysDeptDao.java
│ │ │ │ ├── SysLogDao.java
│ │ │ │ ├── SysMenuDao.java
│ │ │ │ ├── SysRoleDao.java
│ │ │ │ ├── SysRoleDeptDao.java
│ │ │ │ ├── SysRoleMenuDao.java
│ │ │ │ ├── SysUserDao.java
│ │ │ │ ├── SysUserRoleDao.java
│ │ │ │ └── SysUserTokenDao.java
│ │ │ │ ├── entity
│ │ │ │ ├── SysCaptchaEntity.java
│ │ │ │ ├── SysConfigEntity.java
│ │ │ │ ├── SysDeptEntity.java
│ │ │ │ ├── SysLogEntity.java
│ │ │ │ ├── SysMenuEntity.java
│ │ │ │ ├── SysRoleDeptEntity.java
│ │ │ │ ├── SysRoleEntity.java
│ │ │ │ ├── SysRoleMenuEntity.java
│ │ │ │ ├── SysUserEntity.java
│ │ │ │ ├── SysUserRoleEntity.java
│ │ │ │ └── SysUserTokenEntity.java
│ │ │ │ ├── form
│ │ │ │ ├── PasswordForm.java
│ │ │ │ └── SysLoginForm.java
│ │ │ │ ├── oauth2
│ │ │ │ ├── GpsPrincipal.java
│ │ │ │ ├── OAuth2Filter.java
│ │ │ │ ├── OAuth2Realm.java
│ │ │ │ ├── OAuth2Token.java
│ │ │ │ └── TokenGenerator.java
│ │ │ │ ├── redis
│ │ │ │ ├── SysConfigRedis.java
│ │ │ │ └── SysUserTokenRedis.java
│ │ │ │ └── service
│ │ │ │ ├── ShiroService.java
│ │ │ │ ├── SysCaptchaService.java
│ │ │ │ ├── SysConfigService.java
│ │ │ │ ├── SysDeptService.java
│ │ │ │ ├── SysLogService.java
│ │ │ │ ├── SysMenuService.java
│ │ │ │ ├── SysRoleDeptService.java
│ │ │ │ ├── SysRoleMenuService.java
│ │ │ │ ├── SysRoleService.java
│ │ │ │ ├── SysUserRoleService.java
│ │ │ │ ├── SysUserService.java
│ │ │ │ ├── SysUserTokenService.java
│ │ │ │ └── impl
│ │ │ │ ├── ShiroServiceImpl.java
│ │ │ │ ├── SysCaptchaServiceImpl.java
│ │ │ │ ├── SysConfigServiceImpl.java
│ │ │ │ ├── SysDeptServiceImpl.java
│ │ │ │ ├── SysLogServiceImpl.java
│ │ │ │ ├── SysMenuServiceImpl.java
│ │ │ │ ├── SysRoleDeptServiceImpl.java
│ │ │ │ ├── SysRoleMenuServiceImpl.java
│ │ │ │ ├── SysRoleServiceImpl.java
│ │ │ │ ├── SysUserRoleServiceImpl.java
│ │ │ │ ├── SysUserServiceImpl.java
│ │ │ │ └── SysUserTokenServiceImpl.java
│ │ │ ├── rbac
│ │ │ ├── AccessType.java
│ │ │ ├── CorePlatformService.java
│ │ │ ├── DataAccess.java
│ │ │ ├── DataAccessFactory.java
│ │ │ ├── DataAccessResullt.java
│ │ │ ├── da
│ │ │ │ ├── AllGroupAccess.java
│ │ │ │ ├── DefaultDataAccessFactory.java
│ │ │ │ ├── GroupDataAccess.java
│ │ │ │ ├── GroupOnlyDataAccess.java
│ │ │ │ ├── NonDataAccess.java
│ │ │ │ ├── OwnerDataAccess.java
│ │ │ │ ├── ParentCorpDataAccess.java
│ │ │ │ ├── SameCompanyAllDataAccess.java
│ │ │ │ ├── SameDeparmentAllDataAccess.java
│ │ │ │ └── SameOrgDataAccess.java
│ │ │ ├── datascope
│ │ │ │ ├── DataScope.java
│ │ │ │ ├── DataScopeInterceptor.java
│ │ │ │ ├── ExpressionVisitorImpl.java
│ │ │ │ ├── FromItemVisitorImpl.java
│ │ │ │ ├── SelectItemVisitorImpl.java
│ │ │ │ ├── SelectVisitorImpl.java
│ │ │ │ └── cond
│ │ │ │ │ ├── TableCondition.java
│ │ │ │ │ └── UserConditionUtils.java
│ │ │ └── tree
│ │ │ │ ├── OrgItem.java
│ │ │ │ └── TreeItem.java
│ │ │ └── ws
│ │ │ ├── GetHttpSessionConfigurator.java
│ │ │ ├── MyWebSocketManager.java
│ │ │ ├── WebSocketEndpoint.java
│ │ │ ├── WebSocketPush.java
│ │ │ ├── WsListener.java
│ │ │ └── evtlisten
│ │ │ └── WebSocketCloseEventListener.java
│ └── resources
│ │ ├── application-dev.yml
│ │ ├── application-prod.yml
│ │ ├── application-test.yml
│ │ ├── application.yml
│ │ ├── banner.txt
│ │ ├── logback-spring.xml
│ │ └── mapper
│ │ ├── job
│ │ ├── ScheduleJobDao.xml
│ │ └── ScheduleJobLogDao.xml
│ │ ├── oss
│ │ └── SysOssDao.xml
│ │ └── sys
│ │ ├── SysConfigDao.xml
│ │ ├── SysDeptDao.xml
│ │ ├── SysLogDao.xml
│ │ ├── SysMenuDao.xml
│ │ ├── SysRoleDao.xml
│ │ ├── SysRoleDeptDao.xml
│ │ ├── SysRoleMenuDao.xml
│ │ ├── SysUserDao.xml
│ │ ├── SysUserRoleDao.xml
│ │ └── SysUserTokenDao.xml
│ └── test
│ └── java
│ └── com
│ └── gps
│ └── api
│ ├── JwtTest.java
│ └── RedisTest.java
├── gps-common
├── build.gradle
└── src
│ └── main
│ └── java
│ └── com
│ └── gps
│ └── common
│ ├── Constants.java
│ ├── MessageType.java
│ ├── cache
│ └── CacheKeys.java
│ ├── future
│ └── SyncFuture.java
│ ├── geofence
│ ├── GeofenceCircle.java
│ ├── GeofenceGeometry.java
│ ├── GeofencePolygon.java
│ └── GeofencePolyline.java
│ ├── helper
│ ├── ApiUtils.java
│ ├── BitUtil.java
│ ├── ByteUtil.java
│ ├── BytesUtil.java
│ ├── Checksum.java
│ ├── DESUtils.java
│ ├── DateBuilder.java
│ ├── DistanceCalculator.java
│ ├── HumpUtil.java
│ ├── ImeiUtil.java
│ ├── MotionEventUtil.java
│ ├── OverspeedEventUtil.java
│ ├── Tools.java
│ └── UnitsConverter.java
│ ├── model
│ ├── Attribute.java
│ ├── BaseModel.java
│ ├── CellTower.java
│ ├── Command.java
│ ├── CommandResult.java
│ ├── CommandType.java
│ ├── Device.java
│ ├── DeviceState.java
│ ├── Driver.java
│ ├── Event.java
│ ├── ExtendedModel.java
│ ├── Geofence.java
│ ├── Message.java
│ ├── Network.java
│ ├── Position.java
│ ├── RecordData.java
│ ├── ScheduledModel.java
│ └── WifiAccessPoint.java
│ └── reports
│ ├── ReportUtils.java
│ ├── Summary.java
│ └── model
│ ├── BaseReport.java
│ ├── DeviceReport.java
│ ├── StopReport.java
│ ├── SummaryReport.java
│ ├── TripReport.java
│ └── TripsConfig.java
├── gps-db
├── build.gradle
└── src
│ └── main
│ ├── java
│ └── com
│ │ └── gps
│ │ └── db
│ │ ├── GpsRedisUtils.java
│ │ ├── aspect
│ │ └── GpsRedisAspect.java
│ │ ├── config
│ │ ├── DruidConfiguration.java
│ │ ├── GpsRedisConfig.java
│ │ └── Redis2Config.java
│ │ ├── dao
│ │ ├── AlarmDao.java
│ │ ├── AlarmTypeDao.java
│ │ ├── CommandDao.java
│ │ ├── CommandLogsDao.java
│ │ ├── CommandTypeDao.java
│ │ ├── CommandTypeMDao.java
│ │ ├── DeviceDao.java
│ │ ├── DeviceGeofenceDao.java
│ │ ├── DeviceRecDao.java
│ │ ├── DeviceStatusDao.java
│ │ ├── EventsDao.java
│ │ ├── GeofenceDao.java
│ │ ├── GroupsDao.java
│ │ ├── Jt809DevPlatDao.java
│ │ ├── Jt809UserDao.java
│ │ ├── PositionsDao.java
│ │ ├── ProductDao.java
│ │ ├── RiskPointDao.java
│ │ ├── UserDeviceDao.java
│ │ └── UserGroupDao.java
│ │ ├── datascope
│ │ ├── PermissionAop.java
│ │ └── PermissionUtils.java
│ │ ├── db
│ │ ├── BlobDataTypeHandler.java
│ │ ├── ListDateTypeHandler.java
│ │ └── MapDateTypeHandler.java
│ │ ├── dbutils
│ │ ├── CommonConstants.java
│ │ ├── Constant.java
│ │ ├── MyPage.java
│ │ ├── MyQuery.java
│ │ └── xss
│ │ │ ├── HTMLFilter.java
│ │ │ └── SQLFilter.java
│ │ ├── entity
│ │ ├── AlarmEntity.java
│ │ ├── AlarmTypeEntity.java
│ │ ├── CommandEntity.java
│ │ ├── CommandLogsEntity.java
│ │ ├── CommandTypeEntity.java
│ │ ├── CommandTypeMEntity.java
│ │ ├── DeviceEntity.java
│ │ ├── DeviceGeofenceEntity.java
│ │ ├── DeviceRecEntity.java
│ │ ├── DeviceStatusEntity.java
│ │ ├── EventsEntity.java
│ │ ├── GeofenceEntity.java
│ │ ├── GroupsEntity.java
│ │ ├── Jt809DevPlatEntity.java
│ │ ├── Jt809UserEntity.java
│ │ ├── PositionsEntity.java
│ │ ├── ProductEntity.java
│ │ ├── RiskPointEntity.java
│ │ ├── UserDeviceEntity.java
│ │ └── UserGroupEntity.java
│ │ ├── entityvo
│ │ ├── DeviceGeofenceBindParam.java
│ │ ├── DeviceVo.java
│ │ ├── GeofenceListVo.java
│ │ ├── PageVo.java
│ │ └── SearchVo.java
│ │ ├── enums
│ │ ├── AuditWorkOrderStatus.java
│ │ ├── CheckDeviceAvailableSource.java
│ │ ├── ControlType.java
│ │ ├── DeviceFlowBehavior.java
│ │ ├── DeviceStatusEnum.java
│ │ ├── DeviceType.java
│ │ └── Repository.java
│ │ ├── exception
│ │ ├── RRException.java
│ │ └── RRExceptionHandler.java
│ │ ├── service
│ │ ├── AlarmService.java
│ │ ├── AlarmTypeService.java
│ │ ├── BaseIService.java
│ │ ├── CommandLogsService.java
│ │ ├── CommandService.java
│ │ ├── CommandTypeMService.java
│ │ ├── CommandTypeService.java
│ │ ├── DeviceGeofenceService.java
│ │ ├── DeviceRecService.java
│ │ ├── DeviceService.java
│ │ ├── DeviceStatusService.java
│ │ ├── EventsService.java
│ │ ├── GeofenceService.java
│ │ ├── GroupsService.java
│ │ ├── Jt809DevPlatService.java
│ │ ├── Jt809UserService.java
│ │ ├── PositionsService.java
│ │ ├── ProductService.java
│ │ ├── RiskPointService.java
│ │ ├── UserDeviceService.java
│ │ ├── UserGroupService.java
│ │ └── impl
│ │ │ ├── AlarmServiceImpl.java
│ │ │ ├── AlarmTypeServiceImpl.java
│ │ │ ├── BaseServiceImpl.java
│ │ │ ├── CommandLogsServiceImpl.java
│ │ │ ├── CommandServiceImpl.java
│ │ │ ├── CommandTypeMServiceImpl.java
│ │ │ ├── CommandTypeServiceImpl.java
│ │ │ ├── DeviceGeofenceServiceImpl.java
│ │ │ ├── DeviceRecServiceImpl.java
│ │ │ ├── DeviceServiceImpl.java
│ │ │ ├── DeviceStatusServiceImpl.java
│ │ │ ├── EventsServiceImpl.java
│ │ │ ├── GeofenceServiceImpl.java
│ │ │ ├── GroupsServiceImpl.java
│ │ │ ├── Jt809DevPlatServiceImpl.java
│ │ │ ├── Jt809UserServiceImpl.java
│ │ │ ├── PositionsServiceImpl.java
│ │ │ ├── ProductServiceImpl.java
│ │ │ ├── RiskPointServiceImpl.java
│ │ │ ├── UserDeviceServiceImpl.java
│ │ │ └── UserGroupServiceImpl.java
│ │ └── utils
│ │ ├── AttrUtil.java
│ │ ├── GeofenceUtil.java
│ │ ├── JsonUtils.java
│ │ ├── MapUtils.java
│ │ ├── PositionUtil.java
│ │ ├── R.java
│ │ ├── SnowFlake.java
│ │ ├── SnowFlakeFactory.java
│ │ └── UIDGenerator.java
│ └── resources
│ └── mapper
│ ├── AlarmDao.xml
│ ├── AlarmTypeDao.xml
│ ├── CommandDao.xml
│ ├── CommandLogsDao.xml
│ ├── CommandTypeDao.xml
│ ├── CommandTypeMDao.xml
│ ├── DeviceDao.xml
│ ├── DeviceGeofenceDao.xml
│ ├── DeviceRecDao.xml
│ ├── DeviceStatusDao.xml
│ ├── EventsDao.xml
│ ├── GeofenceDao.xml
│ ├── GroupsDao.xml
│ ├── Jt809DevPlatDao.xml
│ ├── Jt809UserDao.xml
│ ├── PositionsDao.xml
│ ├── ProductDao.xml
│ ├── RiskPointDao.xml
│ ├── UserDeviceDao.xml
│ └── UserGroupDao.xml
├── gps-engine
├── build.gradle
└── src
│ └── main
│ ├── java
│ └── com
│ │ └── gps
│ │ └── engine
│ │ ├── EventSender.java
│ │ ├── GpsEngineApplication.java
│ │ ├── TrackerServer.java
│ │ ├── config
│ │ ├── KafkaConsumerConfig.java
│ │ └── MybatisPlusConfig.java
│ │ └── listener
│ │ └── EngineMessageListener.java
│ └── resources
│ ├── application-dev.yml
│ ├── application-prod.yml
│ ├── application-test.yml
│ └── application.yml
├── gps-gate
├── build.gradle
└── src
│ └── main
│ ├── java
│ └── com
│ │ └── gps
│ │ └── gate
│ │ ├── AppApplicationListener.java
│ │ ├── BaseHttpProtocolDecoder.java
│ │ ├── BasePipelineFactory.java
│ │ ├── BaseProtocol.java
│ │ ├── BaseProtocolDecoder.java
│ │ ├── BaseProtocolEncoder.java
│ │ ├── EventLoopGroupFactory.java
│ │ ├── ExtendedObjectDecoder.java
│ │ ├── GpsGateApplication.java
│ │ ├── NetworkMessage.java
│ │ ├── PipelineBuilder.java
│ │ ├── Protocol.java
│ │ ├── TCPServer.java
│ │ ├── TrackerServer.java
│ │ ├── WrapperContext.java
│ │ ├── WrapperInboundHandler.java
│ │ ├── WrapperOutboundHandler.java
│ │ ├── config
│ │ └── KafkaProducerConfig.java
│ │ ├── handler
│ │ └── MainDataHandler.java
│ │ └── protocol
│ │ ├── TestProtocol.java
│ │ └── TestProtocolDecoder.java
│ └── resources
│ ├── application-dev.yml
│ ├── application-prod.yml
│ ├── application-test.yml
│ └── application.yml
├── gps-gbt32960
└── build.gradle
├── gps-generator
├── build.gradle
└── src
│ └── main
│ ├── java
│ └── com
│ │ └── gps
│ │ └── generator
│ │ ├── GpsGeneratorApplication.java
│ │ ├── config
│ │ └── DbConfig.java
│ │ ├── controller
│ │ └── SysGeneratorController.java
│ │ ├── dao
│ │ ├── GeneratorDao.java
│ │ ├── MySQLGeneratorDao.java
│ │ ├── OracleGeneratorDao.java
│ │ ├── PostgreSQLGeneratorDao.java
│ │ └── SQLServerGeneratorDao.java
│ │ ├── entity
│ │ ├── ColumnEntity.java
│ │ └── TableEntity.java
│ │ ├── service
│ │ └── SysGeneratorService.java
│ │ └── utils
│ │ ├── Constant.java
│ │ ├── DateUtils.java
│ │ ├── GenUtils.java
│ │ ├── PageUtils.java
│ │ ├── Query.java
│ │ ├── R.java
│ │ ├── RRException.java
│ │ └── RRExceptionHandler.java
│ └── resources
│ ├── application.yml
│ ├── generator.properties
│ ├── mapper
│ ├── MySQLGeneratorDao.xml
│ ├── OracleGeneratorDao.xml
│ ├── PostgreSQLGeneratorDao.xml
│ └── SQLServerGeneratorDao.xml
│ └── template
│ ├── Controller.java.vm
│ ├── Dao.java.vm
│ ├── Dao.xml.vm
│ ├── Entity.java.vm
│ ├── Form.vue.vm
│ ├── List.vue.vm
│ ├── Service.java.vm
│ ├── ServiceImpl.java.vm
│ ├── index.js.vm
│ ├── menu.sql.vm
│ └── other.text.vm
├── gps-jt809
└── build.gradle
├── gps-websocket
├── build.gradle
└── src
│ └── main
│ └── java
│ └── com
│ └── gps
│ └── websocket
│ ├── BaseWebSocketEndpoint.java
│ ├── TodoAtRemoved.java
│ ├── WebSocket.java
│ ├── WebSocketCloseEvent.java
│ ├── WebSocketConnectEvent.java
│ ├── WebSocketManager.java
│ ├── config
│ ├── GetHttpSessionConfigurator.java
│ ├── WebSocketHeartBeatChecker.java
│ └── WebSocketSchedulingConfig.java
│ ├── memory
│ ├── EnableMemWebSocketManager.java
│ ├── MemWebSocketManager.java
│ └── MemoryWebSocketConfig.java
│ ├── redis
│ ├── DefaultRedisReceiver.java
│ ├── EnableRedisWebSocketManager.java
│ ├── RedisReceiver.java
│ ├── RedisWebSocketConfig.java
│ ├── RedisWebSocketManager.java
│ └── action
│ │ ├── Action.java
│ │ ├── ActionConfig.java
│ │ ├── BroadCastAction.java
│ │ ├── NoActionAction.java
│ │ ├── RemoveAction.java
│ │ └── SendMessageAction.java
│ └── utils
│ ├── SpringContextHolder.java
│ └── WebSocketUtil.java
├── gps.sql
├── hbase
├── build.gradle
└── build
│ └── tmp
│ └── jar
│ └── MANIFEST.MF
└── settings.gradle
/.gitignore:
--------------------------------------------------------------------------------
1 | .classpath
2 | .project
3 | .settings
4 | .idea
5 | *.iml
6 | .DS_Store
7 | .checkstyle
8 | .gradle
9 | /gradle
10 | gradlew
11 | gradlew.bat
12 | out
13 | build
14 |
--------------------------------------------------------------------------------
/gps-api/src/main/java/com/gps/api/GpsApiApplication.java:
--------------------------------------------------------------------------------
1 |
2 | package com.gps.api;
3 |
4 | import org.mybatis.spring.annotation.MapperScan;
5 | import org.springframework.boot.SpringApplication;
6 | import org.springframework.boot.autoconfigure.SpringBootApplication;
7 |
8 | @SpringBootApplication(scanBasePackages = {
9 | "com.gps.api",
10 | "com.gps.db",
11 | "com.gps.websocket",
12 | "com.muheda.notice"
13 | })
14 | @MapperScan({"com.gps.api.modules.*.dao", "com.gps.db.dao"})
15 | public class GpsApiApplication {
16 |
17 | public static void main(String[] args) {
18 | SpringApplication.run(GpsApiApplication.class, args);
19 | }
20 |
21 | }
--------------------------------------------------------------------------------
/gps-api/src/main/java/com/gps/api/common/annotation/DataFilter.java:
--------------------------------------------------------------------------------
1 | package com.gps.api.common.annotation;
2 |
3 | import java.lang.annotation.*;
4 |
5 | /**
6 | * 数据过滤
7 | *
8 | * @author chenshun
9 | * @email sunlightcs@gmail.com
10 | * @date 2017/9/17 14:20
11 | */
12 | @Target(ElementType.METHOD)
13 | @Retention(RetentionPolicy.RUNTIME)
14 | @Documented
15 | public @interface DataFilter {
16 | /** 表的别名 */
17 | String tableAlias() default "";
18 |
19 | /** true:没有本部门数据权限,也能查询本人数据 */
20 | boolean user() default true;
21 | }
22 |
--------------------------------------------------------------------------------
/gps-api/src/main/java/com/gps/api/common/annotation/Permission.java:
--------------------------------------------------------------------------------
1 | package com.gps.api.common.annotation;
2 |
3 | import java.lang.annotation.*;
4 |
5 | /**
6 | * 权限注解 用于检查权限 规定访问权限
7 | *
8 | * @example @Permission({role1,role2})
9 | * @example @Permission
10 | */
11 | @Inherited
12 | @Retention(RetentionPolicy.RUNTIME)
13 | @Target({ElementType.METHOD})
14 | public @interface Permission {
15 |
16 | /**
17 | *
角色英文名称
18 | * 使用注解时加上这个值表示限制只有某个角色的才可以访问对应的资源
19 | * 常用在某些资源限制只有超级管理员角色才可访问
20 | */
21 | String[] value() default {};
22 | }
23 |
--------------------------------------------------------------------------------
/gps-api/src/main/java/com/gps/api/common/annotation/SysLog.java:
--------------------------------------------------------------------------------
1 |
2 | package com.gps.api.common.annotation;
3 |
4 | import java.lang.annotation.Documented;
5 | import java.lang.annotation.ElementType;
6 | import java.lang.annotation.Retention;
7 | import java.lang.annotation.RetentionPolicy;
8 | import java.lang.annotation.Target;
9 |
10 | /**
11 | * 系统日志注解
12 | */
13 | @Target(ElementType.METHOD)
14 | @Retention(RetentionPolicy.RUNTIME)
15 | @Documented
16 | public @interface SysLog {
17 |
18 | String value() default "";
19 | }
20 |
--------------------------------------------------------------------------------
/gps-api/src/main/java/com/gps/api/common/aspect/ApiRedisAspect.java:
--------------------------------------------------------------------------------
1 |
2 | package com.gps.api.common.aspect;
3 |
4 | import com.gps.db.exception.RRException;
5 | import lombok.extern.slf4j.Slf4j;
6 | import org.aspectj.lang.ProceedingJoinPoint;
7 | import org.aspectj.lang.annotation.Around;
8 | import org.aspectj.lang.annotation.Aspect;
9 | import org.slf4j.Logger;
10 | import org.slf4j.LoggerFactory;
11 | import org.springframework.beans.factory.annotation.Value;
12 | import org.springframework.context.annotation.Configuration;
13 |
14 | /**
15 | * Redis切面处理类
16 | */
17 | @Slf4j
18 | @Aspect
19 | @Configuration
20 | public class ApiRedisAspect {
21 | //是否开启redis缓存 true开启 false关闭
22 | @Value("${spring.redis.open: false}")
23 | private boolean open;
24 |
25 | @Around("execution(* com.gps.api.ApiRedisUtils.*(..))")
26 | public Object around(ProceedingJoinPoint point) throws Throwable {
27 | Object result = null;
28 | if (open) {
29 | try {
30 | result = point.proceed();
31 | } catch (Exception e) {
32 | log.error("redis error", e);
33 | throw new RRException("ApiRedis服务异常");
34 | }
35 | }
36 | return result;
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/gps-api/src/main/java/com/gps/api/common/utils/ConfigConstant.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2018-2020 GPS180 All rights reserved.
3 | *
4 | * https://www.gps180.com
5 | *
6 | * 版权所有,侵权必究!
7 | */
8 |
9 | package com.gps.api.common.utils;
10 |
11 | /**
12 | * 系统参数相关Key
13 | */
14 | public class ConfigConstant {
15 | /**
16 | * 云存储配置KEY
17 | */
18 | public final static String CLOUD_STORAGE_CONFIG_KEY = "CLOUD_STORAGE_CONFIG_KEY";
19 | }
20 |
--------------------------------------------------------------------------------
/gps-api/src/main/java/com/gps/api/common/utils/HttpContextUtils.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2018-2020 GPS180 All rights reserved.
3 | *
4 | * https://www.gps180.com
5 | *
6 | * 版权所有,侵权必究!
7 | */
8 |
9 | package com.gps.api.common.utils;
10 |
11 | import org.springframework.web.context.request.RequestContextHolder;
12 | import org.springframework.web.context.request.ServletRequestAttributes;
13 |
14 | import javax.servlet.http.HttpServletRequest;
15 |
16 | public class HttpContextUtils {
17 |
18 | public static HttpServletRequest getHttpServletRequest() {
19 | return ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
20 | }
21 |
22 | public static String getDomain(){
23 | HttpServletRequest request = getHttpServletRequest();
24 | StringBuffer url = request.getRequestURL();
25 | return url.delete(url.length() - request.getRequestURI().length(), url.length()).toString();
26 | }
27 |
28 | public static String getOrigin(){
29 | HttpServletRequest request = getHttpServletRequest();
30 | return request.getHeader("Origin");
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/gps-api/src/main/java/com/gps/api/common/utils/RedisKeys.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2018-2020 GPS180 All rights reserved.
3 | *
4 | * https://www.gps180.com
5 | *
6 | * 版权所有,侵权必究!
7 | */
8 |
9 | package com.gps.api.common.utils;
10 |
11 | /**
12 | * Redis所有Keys
13 | */
14 | public class RedisKeys {
15 |
16 | public static String getSysConfigKey(String key){
17 | return "sys:config:" + key;
18 | }
19 |
20 | public static String getSysUserTokenKey(String key){
21 | return "sys:usertoken:" + key;
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/gps-api/src/main/java/com/gps/api/common/validator/Assert.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2018-2020 GPS180 All rights reserved.
3 | *
4 | * https://www.gps180.com
5 | *
6 | * 版权所有,侵权必究!
7 | */
8 |
9 | package com.gps.api.common.validator;
10 |
11 | import com.gps.db.exception.RRException;
12 | import org.apache.commons.lang.StringUtils;
13 |
14 | /**
15 | * 数据校验
16 | */
17 | public abstract class Assert {
18 |
19 | public static void isBlank(String str, String message) {
20 | if (StringUtils.isBlank(str)) {
21 | throw new RRException(message);
22 | }
23 | }
24 |
25 | public static void isNull(Object object, String message) {
26 | if (object == null) {
27 | throw new RRException(message);
28 | }
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/gps-api/src/main/java/com/gps/api/common/validator/group/AddGroup.java:
--------------------------------------------------------------------------------
1 |
2 | package com.gps.api.common.validator.group;
3 |
4 | /**
5 | * 新增数据 Group
6 | */
7 | public interface AddGroup {
8 | }
9 |
--------------------------------------------------------------------------------
/gps-api/src/main/java/com/gps/api/common/validator/group/AliyunGroup.java:
--------------------------------------------------------------------------------
1 |
2 | package com.gps.api.common.validator.group;
3 |
4 | /**
5 | * 阿里云
6 | */
7 | public interface AliyunGroup {
8 | }
9 |
--------------------------------------------------------------------------------
/gps-api/src/main/java/com/gps/api/common/validator/group/Group.java:
--------------------------------------------------------------------------------
1 |
2 | package com.gps.api.common.validator.group;
3 |
4 | import javax.validation.GroupSequence;
5 |
6 | /**
7 | * 定义校验顺序,如果AddGroup组失败,则UpdateGroup组不会再校验
8 | */
9 | @GroupSequence({AddGroup.class, UpdateGroup.class})
10 | public interface Group {
11 |
12 | }
13 |
--------------------------------------------------------------------------------
/gps-api/src/main/java/com/gps/api/common/validator/group/QcloudGroup.java:
--------------------------------------------------------------------------------
1 |
2 | package com.gps.api.common.validator.group;
3 |
4 | /**
5 | * 腾讯云
6 | */
7 | public interface QcloudGroup {
8 | }
9 |
--------------------------------------------------------------------------------
/gps-api/src/main/java/com/gps/api/common/validator/group/QiniuGroup.java:
--------------------------------------------------------------------------------
1 |
2 | package com.gps.api.common.validator.group;
3 |
4 | /**
5 | * 七牛
6 | */
7 | public interface QiniuGroup {
8 | }
9 |
--------------------------------------------------------------------------------
/gps-api/src/main/java/com/gps/api/common/validator/group/UpdateGroup.java:
--------------------------------------------------------------------------------
1 |
2 | package com.gps.api.common.validator.group;
3 |
4 | /**
5 | * 更新数据 Group
6 | */
7 | public interface UpdateGroup {
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/gps-api/src/main/java/com/gps/api/common/xss/SQLFilter.java:
--------------------------------------------------------------------------------
1 |
2 | package com.gps.api.common.xss;
3 |
4 | import com.gps.db.exception.RRException;
5 | import org.apache.commons.lang.StringUtils;
6 |
7 | /**
8 | * SQL过滤
9 | */
10 | public class SQLFilter {
11 |
12 | /**
13 | * SQL注入过滤
14 | * @param str 待验证的字符串
15 | */
16 | public static String sqlInject(String str){
17 | if(StringUtils.isBlank(str)){
18 | return null;
19 | }
20 | //去掉'|"|;|\字符
21 | str = StringUtils.replace(str, "'", "");
22 | str = StringUtils.replace(str, "\"", "");
23 | str = StringUtils.replace(str, ";", "");
24 | str = StringUtils.replace(str, "\\", "");
25 |
26 | //转换成小写
27 | str = str.toLowerCase();
28 |
29 | //非法字符
30 | String[] keywords = {"master", "truncate", "insert", "select", "delete", "update", "declare", "alter", "drop"};
31 |
32 | //判断是否包含非法字符
33 | for(String keyword : keywords){
34 | if(str.indexOf(keyword) != -1){
35 | throw new RRException("包含非法字符");
36 | }
37 | }
38 |
39 | return str;
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/gps-api/src/main/java/com/gps/api/common/xss/XssFilter.java:
--------------------------------------------------------------------------------
1 |
2 | package com.gps.api.common.xss;
3 |
4 | import javax.servlet.*;
5 | import javax.servlet.http.HttpServletRequest;
6 | import java.io.IOException;
7 |
8 | /**
9 | * XSS过滤
10 | */
11 | public class XssFilter implements Filter {
12 |
13 | @Override
14 | public void init(FilterConfig config) throws ServletException {
15 | }
16 |
17 | public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
18 | throws IOException, ServletException {
19 | XssHttpServletRequestWrapper xssRequest = new XssHttpServletRequestWrapper(
20 | (HttpServletRequest) request);
21 | chain.doFilter(xssRequest, response);
22 | }
23 |
24 | @Override
25 | public void destroy() {
26 | }
27 |
28 | }
--------------------------------------------------------------------------------
/gps-api/src/main/java/com/gps/api/config/CorsConfig.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2018-2020 GPS180 All rights reserved.
3 | *
4 | * https://www.gps180.com
5 | *
6 | * 版权所有,侵权必究!
7 | */
8 |
9 | package com.gps.api.config;
10 |
11 | import org.springframework.context.annotation.Configuration;
12 | import org.springframework.web.servlet.config.annotation.CorsRegistry;
13 | import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
14 |
15 | @Configuration
16 | public class CorsConfig implements WebMvcConfigurer {
17 |
18 | @Override
19 | public void addCorsMappings(CorsRegistry registry) {
20 | registry.addMapping("/**")
21 | .allowedOrigins("*")
22 | .allowCredentials(true)
23 | .allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS")
24 | .maxAge(3600);
25 | }
26 | }
--------------------------------------------------------------------------------
/gps-api/src/main/java/com/gps/api/config/KaptchaConfig.java:
--------------------------------------------------------------------------------
1 |
2 | package com.gps.api.config;
3 |
4 | import com.google.code.kaptcha.impl.DefaultKaptcha;
5 | import com.google.code.kaptcha.util.Config;
6 | import org.springframework.context.annotation.Bean;
7 | import org.springframework.context.annotation.Configuration;
8 |
9 | import java.util.Properties;
10 |
11 |
12 | /**
13 | * 生成验证码配置
14 | */
15 | @Configuration
16 | public class KaptchaConfig {
17 |
18 | @Bean
19 | public DefaultKaptcha producer() {
20 | Properties properties = new Properties();
21 | properties.put("kaptcha.border", "no");
22 | properties.put("kaptcha.textproducer.font.color", "black");
23 | properties.put("kaptcha.textproducer.char.space", "5");
24 | properties.put("kaptcha.textproducer.font.names", "Arial,Courier,cmr10,宋体,楷体,微软雅黑");
25 | Config config = new Config(properties);
26 | DefaultKaptcha defaultKaptcha = new DefaultKaptcha();
27 | defaultKaptcha.setConfig(config);
28 | return defaultKaptcha;
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/gps-api/src/main/java/com/gps/api/modules/job/dao/ScheduleJobDao.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2018-2020 GPS180 All rights reserved.
3 | *
4 | * https://www.gps180.com
5 | *
6 | * 版权所有,侵权必究!
7 | */
8 |
9 | package com.gps.api.modules.job.dao;
10 |
11 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
12 | import com.gps.api.modules.job.entity.ScheduleJobEntity;
13 | import org.apache.ibatis.annotations.Mapper;
14 |
15 | import java.util.Map;
16 |
17 | /**
18 | * 定时任务
19 | */
20 | @Mapper
21 | public interface ScheduleJobDao extends BaseMapper {
22 |
23 | /**
24 | * 批量更新状态
25 | */
26 | int updateBatch(Map map);
27 | }
28 |
--------------------------------------------------------------------------------
/gps-api/src/main/java/com/gps/api/modules/job/dao/ScheduleJobLogDao.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2018-2020 GPS180 All rights reserved.
3 | *
4 | * https://www.gps180.com
5 | *
6 | * 版权所有,侵权必究!
7 | */
8 |
9 | package com.gps.api.modules.job.dao;
10 |
11 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
12 | import com.gps.api.modules.job.entity.ScheduleJobLogEntity;
13 | import org.apache.ibatis.annotations.Mapper;
14 |
15 | /**
16 | * 定时任务日志
17 | */
18 | @Mapper
19 | public interface ScheduleJobLogDao extends BaseMapper {
20 |
21 | }
22 |
--------------------------------------------------------------------------------
/gps-api/src/main/java/com/gps/api/modules/job/service/ScheduleJobLogService.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2018-2020 GPS180 All rights reserved.
3 | *
4 | * https://www.gps180.com
5 | *
6 | * 版权所有,侵权必究!
7 | */
8 |
9 | package com.gps.api.modules.job.service;
10 |
11 | import com.baomidou.mybatisplus.extension.service.IService;
12 | import com.gps.db.dbutils.MyPage;
13 | import com.gps.api.modules.job.entity.ScheduleJobLogEntity;
14 |
15 | import java.util.Map;
16 |
17 | /**
18 | * 定时任务日志
19 | */
20 | public interface ScheduleJobLogService extends IService {
21 |
22 | MyPage queryPage(Map params);
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/gps-api/src/main/java/com/gps/api/modules/job/service/ScheduleJobService.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2018-2020 GPS180 All rights reserved.
3 | *
4 | * https://www.gps180.com
5 | *
6 | * 版权所有,侵权必究!
7 | */
8 |
9 | package com.gps.api.modules.job.service;
10 |
11 | import com.baomidou.mybatisplus.extension.service.IService;
12 | import com.gps.db.dbutils.MyPage;
13 | import com.gps.api.modules.job.entity.ScheduleJobEntity;
14 |
15 | import java.util.Map;
16 |
17 | /**
18 | * 定时任务
19 | */
20 | public interface ScheduleJobService extends IService {
21 |
22 | MyPage queryPage(Map params);
23 |
24 | /**
25 | * 保存定时任务
26 | */
27 | void saveJob(ScheduleJobEntity scheduleJob);
28 |
29 | /**
30 | * 更新定时任务
31 | */
32 | void update(ScheduleJobEntity scheduleJob);
33 |
34 | /**
35 | * 批量删除定时任务
36 | */
37 | void deleteBatch(Long[] jobIds);
38 |
39 | /**
40 | * 批量更新定时任务状态
41 | */
42 | int updateBatch(Long[] jobIds, int status);
43 |
44 | /**
45 | * 立即执行
46 | */
47 | void run(Long[] jobIds);
48 |
49 | /**
50 | * 暂停运行
51 | */
52 | void pause(Long[] jobIds);
53 |
54 | /**
55 | * 恢复运行
56 | */
57 | void resume(Long[] jobIds);
58 | }
59 |
--------------------------------------------------------------------------------
/gps-api/src/main/java/com/gps/api/modules/job/task/CheckTask.java:
--------------------------------------------------------------------------------
1 |
2 | package com.gps.api.modules.job.task;
3 |
4 | import com.gps.api.modules.sys.service.SysUserTokenService;
5 | import com.gps.db.service.DeviceStatusService;
6 | import lombok.extern.slf4j.Slf4j;
7 | import org.springframework.beans.factory.annotation.Autowired;
8 | import org.springframework.stereotype.Component;
9 |
10 | /**
11 | * 测试定时任务(演示Demo,可删除)
12 | *
13 | * testTask为spring bean的名称
14 | */
15 | @Component("checkTask")
16 | @Slf4j
17 | public class CheckTask implements ITask {
18 | @Autowired
19 | private DeviceStatusService deviceStatusService;
20 | @Autowired
21 | private SysUserTokenService sysUserTokenService;
22 |
23 | @Override
24 | public void run(String params){
25 | log.debug("TestTask定时任务正在执行,参数为:{}", params);
26 | deviceStatusService.checkOfflineDevice();
27 | sysUserTokenService.checkExpiredToken();
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/gps-api/src/main/java/com/gps/api/modules/job/task/ITask.java:
--------------------------------------------------------------------------------
1 |
2 | package com.gps.api.modules.job.task;
3 |
4 | /**
5 | * 定时任务接口,所有定时任务都要实现该接口
6 | */
7 | public interface ITask {
8 |
9 | /**
10 | * 执行定时任务接口
11 | *
12 | * @param params 参数,多参数使用JSON数据
13 | */
14 | void run(String params);
15 | }
--------------------------------------------------------------------------------
/gps-api/src/main/java/com/gps/api/modules/oss/dao/SysOssDao.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2018-2020 GPS180 All rights reserved.
3 | *
4 | * https://www.gps180.com
5 | *
6 | * 版权所有,侵权必究!
7 | */
8 |
9 | package com.gps.api.modules.oss.dao;
10 |
11 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
12 | import com.gps.api.modules.oss.entity.SysOssEntity;
13 | import org.apache.ibatis.annotations.Mapper;
14 |
15 | /**
16 | * 文件上传
17 | */
18 | @Mapper
19 | public interface SysOssDao extends BaseMapper {
20 |
21 | }
22 |
--------------------------------------------------------------------------------
/gps-api/src/main/java/com/gps/api/modules/oss/entity/SysOssEntity.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2018-2020 GPS180 All rights reserved.
3 | *
4 | * https://www.gps180.com
5 | *
6 | * 版权所有,侵权必究!
7 | */
8 |
9 | package com.gps.api.modules.oss.entity;
10 |
11 | import com.baomidou.mybatisplus.annotation.TableId;
12 | import com.baomidou.mybatisplus.annotation.TableName;
13 | import lombok.Data;
14 |
15 | import java.io.Serializable;
16 | import java.util.Date;
17 |
18 |
19 | /**
20 | * 文件上传
21 | *
22 | */
23 | @Data
24 | @TableName("sys_oss")
25 | public class SysOssEntity implements Serializable {
26 | private static final long serialVersionUID = 1L;
27 |
28 | @TableId
29 | private Long id;
30 | //URL地址
31 | private String url;
32 | //创建时间
33 | private Date createDate;
34 |
35 | }
36 |
--------------------------------------------------------------------------------
/gps-api/src/main/java/com/gps/api/modules/oss/service/SysOssService.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2018-2020 GPS180 All rights reserved.
3 | *
4 | * https://www.gps180.com
5 | *
6 | * 版权所有,侵权必究!
7 | */
8 |
9 | package com.gps.api.modules.oss.service;
10 |
11 | import com.baomidou.mybatisplus.extension.service.IService;
12 | import com.gps.db.dbutils.MyPage;
13 | import com.gps.api.modules.oss.entity.SysOssEntity;
14 |
15 | import java.util.Map;
16 |
17 | /**
18 | * 文件上传
19 | *
20 | * @author Mark sunlightcs@gmail.com
21 | */
22 | public interface SysOssService extends IService {
23 |
24 | MyPage queryPage(Map params);
25 | }
26 |
--------------------------------------------------------------------------------
/gps-api/src/main/java/com/gps/api/modules/oss/service/impl/SysOssServiceImpl.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2018-2020 GPS180 All rights reserved.
3 | *
4 | * https://www.gps180.com
5 | *
6 | * 版权所有,侵权必究!
7 | */
8 |
9 | package com.gps.api.modules.oss.service.impl;
10 |
11 | import com.baomidou.mybatisplus.core.metadata.IPage;
12 | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
13 | import com.gps.db.dbutils.MyQuery;
14 | import com.gps.db.dbutils.MyPage;
15 | import com.gps.api.modules.oss.dao.SysOssDao;
16 | import com.gps.api.modules.oss.entity.SysOssEntity;
17 | import com.gps.api.modules.oss.service.SysOssService;
18 | import org.springframework.stereotype.Service;
19 |
20 | import java.util.Map;
21 |
22 |
23 | @Service("sysOssService")
24 | public class SysOssServiceImpl extends ServiceImpl implements SysOssService {
25 |
26 | @Override
27 | public MyPage queryPage(Map params) {
28 | IPage page = this.page(
29 | MyQuery.getPage(params)
30 | );
31 |
32 | return MyPage.create(page);
33 | }
34 |
35 | }
36 |
--------------------------------------------------------------------------------
/gps-api/src/main/java/com/gps/api/modules/sys/controller/AbstractController.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2018-2020 GPS180 All rights reserved.
3 | *
4 | * https://www.gps180.com
5 | *
6 | * 版权所有,侵权必究!
7 | */
8 |
9 | package com.gps.api.modules.sys.controller;
10 |
11 | import com.gps.db.entity.DeviceEntity;
12 | import com.gps.api.common.utils.ShiroUtils;
13 | import com.gps.api.modules.sys.entity.SysUserEntity;
14 | import com.gps.api.modules.sys.oauth2.GpsPrincipal;
15 |
16 | /**
17 | * Controller公共组件
18 | */
19 | public abstract class AbstractController {
20 |
21 | protected GpsPrincipal getGpsPrincipal() {
22 | return ShiroUtils.getGpsPrincipal();
23 | }
24 |
25 | protected SysUserEntity getUser() {
26 | return ShiroUtils.getUserEntity();
27 | }
28 |
29 | protected DeviceEntity getDevice() {
30 | return ShiroUtils.getDeviceEntity();
31 | }
32 |
33 | protected Long getUserId() {
34 | return ShiroUtils.getUserId();
35 | }
36 |
37 | protected Long getDeptId() {
38 | return ShiroUtils.getDeptId();
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/gps-api/src/main/java/com/gps/api/modules/sys/controller/IndexController.java:
--------------------------------------------------------------------------------
1 | package com.gps.api.modules.sys.controller;
2 |
3 | import io.swagger.annotations.Api;
4 | import org.springframework.stereotype.Controller;
5 | import org.springframework.web.bind.annotation.GetMapping;
6 | import org.springframework.web.bind.annotation.RequestMapping;
7 |
8 | @Api(tags = "主页")
9 | @Controller
10 | @RequestMapping("/")
11 | public class IndexController {
12 |
13 | @GetMapping(value = "/")
14 | public String index() {
15 | return "redirect:/swagger-ui.html";
16 | }
17 | @GetMapping(value = "/index")
18 | public String index1() {
19 | return "redirect:/doc.html";
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/gps-api/src/main/java/com/gps/api/modules/sys/dao/SysCaptchaDao.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2018-2020 GPS180 All rights reserved.
3 | *
4 | * https://www.gps180.com
5 | *
6 | * 版权所有,侵权必究!
7 | */
8 |
9 | package com.gps.api.modules.sys.dao;
10 |
11 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
12 | import com.gps.api.modules.sys.entity.SysCaptchaEntity;
13 | import org.apache.ibatis.annotations.Mapper;
14 |
15 | /**
16 | * 验证码
17 | */
18 | @Mapper
19 | public interface SysCaptchaDao extends BaseMapper {
20 |
21 | }
22 |
--------------------------------------------------------------------------------
/gps-api/src/main/java/com/gps/api/modules/sys/dao/SysConfigDao.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2018-2020 GPS180 All rights reserved.
3 | *
4 | * https://www.gps180.com
5 | *
6 | * 版权所有,侵权必究!
7 | */
8 |
9 | package com.gps.api.modules.sys.dao;
10 |
11 |
12 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
13 | import com.gps.api.modules.sys.entity.SysConfigEntity;
14 | import org.apache.ibatis.annotations.Mapper;
15 | import org.apache.ibatis.annotations.Param;
16 |
17 | /**
18 | * 系统配置信息
19 | *
20 | * @author Mark sunlightcs@gmail.com
21 | */
22 | @Mapper
23 | public interface SysConfigDao extends BaseMapper {
24 |
25 | /**
26 | * 根据key,查询value
27 | */
28 | SysConfigEntity queryByKey(String paramKey);
29 |
30 | /**
31 | * 根据key,更新value
32 | */
33 | int updateValueByKey(@Param("paramKey") String paramKey, @Param("paramValue") String paramValue);
34 |
35 | }
36 |
--------------------------------------------------------------------------------
/gps-api/src/main/java/com/gps/api/modules/sys/dao/SysDeptDao.java:
--------------------------------------------------------------------------------
1 | package com.gps.api.modules.sys.dao;
2 |
3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4 | import com.gps.api.modules.sys.entity.SysDeptEntity;
5 | import com.gps.db.datascope.PermissionAop;
6 | import org.apache.ibatis.annotations.Mapper;
7 |
8 | import java.util.List;
9 |
10 | /**
11 | * 部门管理
12 | *
13 | * @author chenshun
14 | * @email sunlightcs@gmail.com
15 | * @date 2017-06-20 15:23:47
16 | */
17 | @Mapper
18 | public interface SysDeptDao extends BaseMapper {
19 |
20 | /**
21 | * 查询子部门ID列表
22 | * @param parentId 上级部门ID
23 | */
24 | List queryDetpIdList(Long parentId);
25 |
26 | @PermissionAop(tableAlias = "d")
27 | List listByUser();
28 | }
29 |
--------------------------------------------------------------------------------
/gps-api/src/main/java/com/gps/api/modules/sys/dao/SysLogDao.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2018-2020 GPS180 All rights reserved.
3 | *
4 | * https://www.gps180.com
5 | *
6 | * 版权所有,侵权必究!
7 | */
8 |
9 | package com.gps.api.modules.sys.dao;
10 |
11 |
12 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
13 | import com.gps.api.modules.sys.entity.SysLogEntity;
14 | import org.apache.ibatis.annotations.Mapper;
15 |
16 | /**
17 | * 系统日志
18 | */
19 | @Mapper
20 | public interface SysLogDao extends BaseMapper {
21 |
22 | }
23 |
--------------------------------------------------------------------------------
/gps-api/src/main/java/com/gps/api/modules/sys/dao/SysMenuDao.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2018-2020 GPS180 All rights reserved.
3 | *
4 | * https://www.gps180.com
5 | *
6 | * 版权所有,侵权必究!
7 | */
8 |
9 | package com.gps.api.modules.sys.dao;
10 |
11 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
12 | import com.gps.api.modules.sys.entity.SysMenuEntity;
13 | import org.apache.ibatis.annotations.Mapper;
14 |
15 | import java.util.List;
16 |
17 | /**
18 | * 菜单管理
19 | */
20 | @Mapper
21 | public interface SysMenuDao extends BaseMapper {
22 |
23 | /**
24 | * 根据父菜单,查询子菜单
25 | * @param parentId 父菜单ID
26 | */
27 | List queryListParentId(Long parentId);
28 |
29 | /**
30 | * 获取不包含按钮的菜单列表
31 | */
32 | List queryNotButtonList();
33 |
34 | }
35 |
--------------------------------------------------------------------------------
/gps-api/src/main/java/com/gps/api/modules/sys/dao/SysRoleDao.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2018-2020 GPS180 All rights reserved.
3 | *
4 | * https://www.gps180.com
5 | *
6 | * 版权所有,侵权必究!
7 | */
8 |
9 | package com.gps.api.modules.sys.dao;
10 |
11 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
12 | import com.gps.api.modules.sys.entity.SysRoleEntity;
13 | import org.apache.ibatis.annotations.Mapper;
14 |
15 | import java.util.List;
16 |
17 | /**
18 | * 角色管理
19 | */
20 | @Mapper
21 | public interface SysRoleDao extends BaseMapper {
22 |
23 | /**
24 | * 查询用户创建的角色ID列表
25 | */
26 | List queryRoleIdList(Long createUserId);
27 | }
28 |
--------------------------------------------------------------------------------
/gps-api/src/main/java/com/gps/api/modules/sys/dao/SysRoleDeptDao.java:
--------------------------------------------------------------------------------
1 | package com.gps.api.modules.sys.dao;
2 |
3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4 | import com.gps.api.modules.sys.entity.SysRoleDeptEntity;
5 | import org.apache.ibatis.annotations.Mapper;
6 |
7 | import java.util.List;
8 |
9 | /**
10 | * 角色与部门对应关系
11 | */
12 | @Mapper
13 | public interface SysRoleDeptDao extends BaseMapper {
14 |
15 | /**
16 | * 根据角色ID,获取部门ID列表
17 | */
18 | List queryDeptIdList(Long roleId);
19 | int deleteBatch(Long[] roleIds);
20 | }
21 |
--------------------------------------------------------------------------------
/gps-api/src/main/java/com/gps/api/modules/sys/dao/SysRoleMenuDao.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2018-2020 GPS180 All rights reserved.
3 | *
4 | * https://www.gps180.com
5 | *
6 | * 版权所有,侵权必究!
7 | */
8 |
9 | package com.gps.api.modules.sys.dao;
10 |
11 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
12 | import com.gps.api.modules.sys.entity.SysRoleMenuEntity;
13 | import org.apache.ibatis.annotations.Mapper;
14 |
15 | import java.util.List;
16 |
17 | /**
18 | * 角色与菜单对应关系
19 | */
20 | @Mapper
21 | public interface SysRoleMenuDao extends BaseMapper {
22 |
23 | /**
24 | * 根据角色ID,获取菜单ID列表
25 | */
26 | List queryMenuIdList(Long roleId);
27 |
28 | /**
29 | * 根据角色ID数组,批量删除
30 | */
31 | int deleteBatch(Long[] roleIds);
32 | }
33 |
--------------------------------------------------------------------------------
/gps-api/src/main/java/com/gps/api/modules/sys/dao/SysUserRoleDao.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2018-2020 GPS180 All rights reserved.
3 | *
4 | * https://www.gps180.com
5 | *
6 | * 版权所有,侵权必究!
7 | */
8 |
9 | package com.gps.api.modules.sys.dao;
10 |
11 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
12 | import com.gps.api.modules.sys.entity.SysUserRoleEntity;
13 | import org.apache.ibatis.annotations.Mapper;
14 |
15 | import java.util.List;
16 |
17 | /**
18 | * 用户与角色对应关系
19 | */
20 | @Mapper
21 | public interface SysUserRoleDao extends BaseMapper {
22 |
23 | /**
24 | * 根据用户ID,获取角色ID列表
25 | */
26 | List queryRoleIdList(Long userId);
27 |
28 |
29 | /**
30 | * 根据角色ID数组,批量删除
31 | */
32 | int deleteBatch(Long[] roleIds);
33 | }
34 |
--------------------------------------------------------------------------------
/gps-api/src/main/java/com/gps/api/modules/sys/dao/SysUserTokenDao.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2018-2020 GPS180 All rights reserved.
3 | *
4 | * https://www.gps180.com
5 | *
6 | * 版权所有,侵权必究!
7 | */
8 |
9 | package com.gps.api.modules.sys.dao;
10 |
11 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
12 | import com.gps.api.modules.sys.entity.SysUserTokenEntity;
13 | import org.apache.ibatis.annotations.Mapper;
14 |
15 | /**
16 | * 系统用户Token
17 | */
18 | @Mapper
19 | public interface SysUserTokenDao extends BaseMapper {
20 |
21 | SysUserTokenEntity queryByToken(String token);
22 |
23 | }
24 |
--------------------------------------------------------------------------------
/gps-api/src/main/java/com/gps/api/modules/sys/entity/SysCaptchaEntity.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2018-2020 GPS180 All rights reserved.
3 | *
4 | * https://www.gps180.com
5 | *
6 | * 版权所有,侵权必究!
7 | */
8 |
9 | package com.gps.api.modules.sys.entity;
10 |
11 | import com.baomidou.mybatisplus.annotation.IdType;
12 | import com.baomidou.mybatisplus.annotation.TableId;
13 | import com.baomidou.mybatisplus.annotation.TableName;
14 | import lombok.Data;
15 |
16 | import java.util.Date;
17 |
18 | /**
19 | * 系统验证码
20 | */
21 | @Data
22 | @TableName("sys_captcha")
23 | public class SysCaptchaEntity {
24 | @TableId(type = IdType.INPUT)
25 | private String uuid;
26 | /**
27 | * 验证码
28 | */
29 | private String code;
30 | /**
31 | * 过期时间
32 | */
33 | private Date expireTime;
34 |
35 | }
36 |
--------------------------------------------------------------------------------
/gps-api/src/main/java/com/gps/api/modules/sys/entity/SysConfigEntity.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2018-2020 GPS180 All rights reserved.
3 | *
4 | * https://www.gps180.com
5 | *
6 | * 版权所有,侵权必究!
7 | */
8 |
9 | package com.gps.api.modules.sys.entity;
10 |
11 | import com.baomidou.mybatisplus.annotation.TableId;
12 | import com.baomidou.mybatisplus.annotation.TableName;
13 | import lombok.Data;
14 |
15 | import javax.validation.constraints.NotBlank;
16 | import java.io.Serializable;
17 |
18 | /**
19 | * 系统配置信息
20 | */
21 | @Data
22 | @TableName("sys_config")
23 | public class SysConfigEntity implements Serializable {
24 | private static final long serialVersionUID = 1L;
25 |
26 | @TableId
27 | private Long id;
28 | @NotBlank(message="参数名不能为空")
29 | private String paramKey;
30 | @NotBlank(message="参数值不能为空")
31 | private String paramValue;
32 | private String remark;
33 |
34 | }
35 |
--------------------------------------------------------------------------------
/gps-api/src/main/java/com/gps/api/modules/sys/entity/SysLogEntity.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2018-2020 GPS180 All rights reserved.
3 | *
4 | * https://www.gps180.com
5 | *
6 | * 版权所有,侵权必究!
7 | */
8 |
9 | package com.gps.api.modules.sys.entity;
10 |
11 | import com.baomidou.mybatisplus.annotation.TableId;
12 | import com.baomidou.mybatisplus.annotation.TableName;
13 | import lombok.Data;
14 |
15 | import java.io.Serializable;
16 | import java.util.Date;
17 |
18 |
19 | /**
20 | * 系统日志
21 | */
22 | @Data
23 | @TableName("sys_log")
24 | public class SysLogEntity implements Serializable {
25 | private static final long serialVersionUID = 1L;
26 | @TableId
27 | private Long id;
28 | //用户名
29 | private String username;
30 | //用户操作
31 | private String operation;
32 | //请求方法
33 | private String method;
34 | //请求参数
35 | private String params;
36 | //执行时长(毫秒)
37 | private Long time;
38 | //IP地址
39 | private String ip;
40 | //创建时间
41 | private Date createDate;
42 |
43 | }
44 |
--------------------------------------------------------------------------------
/gps-api/src/main/java/com/gps/api/modules/sys/entity/SysRoleDeptEntity.java:
--------------------------------------------------------------------------------
1 | package com.gps.api.modules.sys.entity;
2 |
3 |
4 | import com.baomidou.mybatisplus.annotation.TableId;
5 | import com.baomidou.mybatisplus.annotation.TableName;
6 | import lombok.Data;
7 |
8 | import java.io.Serializable;
9 |
10 | /**
11 | * 角色与部门对应关系
12 | *
13 | * @author chenshun
14 | * @email sunlightcs@gmail.com
15 | * @date 2017年6月21日 23:28:13
16 | */
17 | @Data
18 | @TableName("sys_role_dept")
19 | public class SysRoleDeptEntity {
20 |
21 | @TableId
22 | private Long id;
23 | private Long roleId;
24 | private Long deptId;
25 |
26 | }
27 |
--------------------------------------------------------------------------------
/gps-api/src/main/java/com/gps/api/modules/sys/entity/SysRoleMenuEntity.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2018-2020 GPS180 All rights reserved.
3 | *
4 | * https://www.gps180.com
5 | *
6 | * 版权所有,侵权必究!
7 | */
8 |
9 | package com.gps.api.modules.sys.entity;
10 |
11 | import com.baomidou.mybatisplus.annotation.TableId;
12 | import com.baomidou.mybatisplus.annotation.TableName;
13 | import lombok.Data;
14 |
15 | import java.io.Serializable;
16 |
17 | /**
18 | * 角色与菜单对应关系
19 | */
20 | @Data
21 | @TableName("sys_role_menu")
22 | public class SysRoleMenuEntity implements Serializable {
23 | private static final long serialVersionUID = 1L;
24 |
25 | @TableId
26 | private Long id;
27 |
28 | /**
29 | * 角色ID
30 | */
31 | private Long roleId;
32 |
33 | /**
34 | * 菜单ID
35 | */
36 | private Long menuId;
37 |
38 | }
39 |
--------------------------------------------------------------------------------
/gps-api/src/main/java/com/gps/api/modules/sys/entity/SysUserRoleEntity.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2018-2020 GPS180 All rights reserved.
3 | *
4 | * https://www.gps180.com
5 | *
6 | * 版权所有,侵权必究!
7 | */
8 |
9 | package com.gps.api.modules.sys.entity;
10 |
11 | import com.baomidou.mybatisplus.annotation.TableId;
12 | import com.baomidou.mybatisplus.annotation.TableName;
13 | import lombok.Data;
14 |
15 | import java.io.Serializable;
16 |
17 | /**
18 | * 用户与角色对应关系
19 | */
20 | @Data
21 | @TableName("sys_user_role")
22 | public class SysUserRoleEntity implements Serializable {
23 | private static final long serialVersionUID = 1L;
24 | @TableId
25 | private Long id;
26 |
27 | /**
28 | * 用户ID
29 | */
30 | private Long userId;
31 |
32 | /**
33 | * 角色ID
34 | */
35 | private Long roleId;
36 |
37 |
38 | }
39 |
--------------------------------------------------------------------------------
/gps-api/src/main/java/com/gps/api/modules/sys/entity/SysUserTokenEntity.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2018-2020 GPS180 All rights reserved.
3 | *
4 | * https://www.gps180.com
5 | *
6 | * 版权所有,侵权必究!
7 | */
8 |
9 | package com.gps.api.modules.sys.entity;
10 |
11 | import com.baomidou.mybatisplus.annotation.TableId;
12 | import com.baomidou.mybatisplus.annotation.TableName;
13 | import lombok.Data;
14 |
15 | import java.util.Date;
16 |
17 |
18 | /**
19 | * 系统用户Token
20 | */
21 | @Data
22 | @TableName("sys_user_token")
23 | public class SysUserTokenEntity {
24 |
25 | //用户ID
26 | @TableId//(type = IdType.INPUT)
27 | private Long id;
28 | private Long userId;
29 | //token
30 | private String token;
31 | //过期时间
32 | private Date expireTime;
33 | //更新时间
34 | private Date updateTime;
35 |
36 | }
37 |
--------------------------------------------------------------------------------
/gps-api/src/main/java/com/gps/api/modules/sys/form/PasswordForm.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2018-2020 GPS180 All rights reserved.
3 | *
4 | * https://www.gps180.com
5 | *
6 | * 版权所有,侵权必究!
7 | */
8 |
9 | package com.gps.api.modules.sys.form;
10 |
11 | import lombok.Data;
12 |
13 | /**
14 | * 密码表单
15 | */
16 | @Data
17 | public class PasswordForm {
18 | /**
19 | * 原密码
20 | */
21 | private String password;
22 | /**
23 | * 新密码
24 | */
25 | private String newPassword;
26 |
27 | }
28 |
--------------------------------------------------------------------------------
/gps-api/src/main/java/com/gps/api/modules/sys/form/SysLoginForm.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2018-2020 GPS180 All rights reserved.
3 | *
4 | * https://www.gps180.com
5 | *
6 | * 版权所有,侵权必究!
7 | */
8 |
9 | package com.gps.api.modules.sys.form;
10 |
11 | import lombok.Data;
12 |
13 | /**
14 | * 登录表单
15 | *
16 | * @author Mark sunlightcs@gmail.com
17 | */
18 | @Data
19 | public class SysLoginForm {
20 | private String username;
21 | private String password;
22 | private String captcha;
23 | private String uuid;
24 | private String browser;
25 | private String from;
26 | private String type;
27 | }
28 |
--------------------------------------------------------------------------------
/gps-api/src/main/java/com/gps/api/modules/sys/oauth2/GpsPrincipal.java:
--------------------------------------------------------------------------------
1 | package com.gps.api.modules.sys.oauth2;
2 |
3 | import com.gps.db.entity.DeviceEntity;
4 | import com.gps.api.modules.sys.entity.SysUserEntity;
5 | import lombok.Builder;
6 | import lombok.Data;
7 |
8 | @Data
9 | @Builder
10 | public class GpsPrincipal {
11 | private SysUserEntity userEntity;
12 | private DeviceEntity deviceEntity;
13 | private boolean isPhoneLogin;
14 | private long tokenId;
15 | }
16 |
--------------------------------------------------------------------------------
/gps-api/src/main/java/com/gps/api/modules/sys/oauth2/OAuth2Token.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2018-2020 GPS180 All rights reserved.
3 | *
4 | * https://www.gps180.com
5 | *
6 | * 版权所有,侵权必究!
7 | */
8 |
9 | package com.gps.api.modules.sys.oauth2;
10 |
11 |
12 | import org.apache.shiro.authc.AuthenticationToken;
13 |
14 | /**
15 | * token
16 | */
17 | public class OAuth2Token implements AuthenticationToken {
18 | private String token;
19 |
20 | public OAuth2Token(String token){
21 | this.token = token;
22 | }
23 |
24 | @Override
25 | public String getPrincipal() {
26 | return token;
27 | }
28 |
29 | @Override
30 | public Object getCredentials() {
31 | return token;
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/gps-api/src/main/java/com/gps/api/modules/sys/service/ShiroService.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2018-2020 GPS180 All rights reserved.
3 | *
4 | * https://www.gps180.com
5 | *
6 | * 版权所有,侵权必究!
7 | */
8 |
9 | package com.gps.api.modules.sys.service;
10 |
11 | import com.gps.api.modules.sys.entity.SysUserEntity;
12 | import com.gps.api.modules.sys.entity.SysUserTokenEntity;
13 |
14 | import java.util.Set;
15 |
16 | /**
17 | * shiro相关接口
18 | */
19 | public interface ShiroService {
20 | /**
21 | * 获取用户权限列表
22 | */
23 | Set getUserPermissions(long userId);
24 |
25 | SysUserTokenEntity queryByToken(String token);
26 |
27 | /**
28 | * 根据用户ID,查询用户
29 | * @param userId
30 | */
31 | SysUserEntity queryUser(Long userId);
32 | }
33 |
--------------------------------------------------------------------------------
/gps-api/src/main/java/com/gps/api/modules/sys/service/SysCaptchaService.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2018-2020 GPS180 All rights reserved.
3 | *
4 | * https://www.gps180.com
5 | *
6 | * 版权所有,侵权必究!
7 | */
8 |
9 | package com.gps.api.modules.sys.service;
10 |
11 | import com.baomidou.mybatisplus.extension.service.IService;
12 | import com.gps.api.modules.sys.entity.SysCaptchaEntity;
13 |
14 | import java.awt.image.BufferedImage;
15 |
16 | /**
17 | * 验证码
18 | */
19 | public interface SysCaptchaService extends IService {
20 |
21 | /**
22 | * 获取图片验证码
23 | */
24 | BufferedImage getCaptcha(String uuid);
25 |
26 | /**
27 | * 验证码效验
28 | * @param uuid uuid
29 | * @param code 验证码
30 | * @return true:成功 false:失败
31 | */
32 | boolean validate(String uuid, String code);
33 | }
34 |
--------------------------------------------------------------------------------
/gps-api/src/main/java/com/gps/api/modules/sys/service/SysDeptService.java:
--------------------------------------------------------------------------------
1 | package com.gps.api.modules.sys.service;
2 |
3 | import com.baomidou.mybatisplus.extension.service.IService;
4 | import com.gps.db.dbutils.MyPage;
5 | import com.gps.api.modules.sys.entity.SysDeptEntity;
6 |
7 | import java.util.List;
8 | import java.util.Map;
9 |
10 | /**
11 | * 部门管理
12 | */
13 | public interface SysDeptService extends IService {
14 |
15 | MyPage queryPage(Map params);
16 |
17 | List listByUser();
18 | //
19 | // void saveSysDept(SysDeptEntity sysDept);
20 |
21 | void delete(Long deptId);
22 |
23 | /**
24 | * 查询子部门ID列表
25 | * @param parentId 上级部门ID
26 | */
27 | List queryDetpIdList(Long parentId);
28 |
29 | /**
30 | * 获取子部门ID(包含本部门ID),用于数据过滤
31 | */
32 | String getSubDeptIdList(Long deptId);
33 |
34 | List depsByUserId(Long userId);
35 | }
36 |
--------------------------------------------------------------------------------
/gps-api/src/main/java/com/gps/api/modules/sys/service/SysLogService.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2018-2020 GPS180 All rights reserved.
3 | *
4 | * https://www.gps180.com
5 | *
6 | * 版权所有,侵权必究!
7 | */
8 |
9 | package com.gps.api.modules.sys.service;
10 |
11 | import com.gps.api.modules.sys.entity.SysLogEntity;
12 | import com.gps.db.service.BaseIService;
13 |
14 |
15 |
16 | /**
17 | * 系统日志
18 | *
19 | * @author Mark sunlightcs@gmail.com
20 | */
21 | public interface SysLogService extends BaseIService {
22 |
23 | }
24 |
--------------------------------------------------------------------------------
/gps-api/src/main/java/com/gps/api/modules/sys/service/SysMenuService.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2018-2020 GPS180 All rights reserved.
3 | *
4 | * https://www.gps180.com
5 | *
6 | * 版权所有,侵权必究!
7 | */
8 |
9 | package com.gps.api.modules.sys.service;
10 |
11 |
12 | import com.baomidou.mybatisplus.extension.service.IService;
13 | import com.gps.api.modules.sys.entity.SysMenuEntity;
14 |
15 | import java.util.List;
16 |
17 |
18 | /**
19 | * 菜单管理
20 | *
21 | * @author Mark sunlightcs@gmail.com
22 | */
23 | public interface SysMenuService extends IService {
24 |
25 | /**
26 | * 根据父菜单,查询子菜单
27 | * @param parentId 父菜单ID
28 | * @param menuIdList 用户菜单ID
29 | */
30 | List queryListParentId(Long parentId, List menuIdList);
31 |
32 | /**
33 | * 根据父菜单,查询子菜单
34 | * @param parentId 父菜单ID
35 | */
36 | List queryListParentId(Long parentId);
37 |
38 | /**
39 | * 获取不包含按钮的菜单列表
40 | */
41 | List queryNotButtonList();
42 |
43 | /**
44 | * 获取用户菜单列表
45 | */
46 | List getUserMenuList(Long userId);
47 | List getUserMenuList2(Long userId);
48 |
49 | /**
50 | * 删除
51 | */
52 | void delete(Long menuId);
53 | }
54 |
--------------------------------------------------------------------------------
/gps-api/src/main/java/com/gps/api/modules/sys/service/SysRoleDeptService.java:
--------------------------------------------------------------------------------
1 | package com.gps.api.modules.sys.service;
2 |
3 | import com.baomidou.mybatisplus.extension.service.IService;
4 | import com.gps.api.modules.sys.entity.SysRoleDeptEntity;
5 |
6 | import java.util.List;
7 |
8 |
9 | /**
10 | * 角色与部门对应关系
11 | *
12 | * @author chenshun
13 | * @email sunlightcs@gmail.com
14 | * @date 2019-06-20 16:41:58
15 | */
16 | public interface SysRoleDeptService extends IService {
17 |
18 | void saveOrUpdate(Long roleId, List deptIdList);
19 |
20 | /**
21 | * 根据角色ID,获取部门ID列表
22 | */
23 | List queryDeptIdList(Long roleId);
24 |
25 | /**
26 | * 根据角色ID数组,批量删除
27 | */
28 | int deleteBatch(Long[] roleIds);
29 |
30 | }
31 |
--------------------------------------------------------------------------------
/gps-api/src/main/java/com/gps/api/modules/sys/service/SysRoleMenuService.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2018-2020 GPS180 All rights reserved.
3 | *
4 | * https://www.gps180.com
5 | *
6 | * 版权所有,侵权必究!
7 | */
8 |
9 | package com.gps.api.modules.sys.service;
10 |
11 | import com.baomidou.mybatisplus.extension.service.IService;
12 | import com.gps.api.modules.sys.entity.SysRoleMenuEntity;
13 |
14 | import java.util.List;
15 |
16 |
17 |
18 | /**
19 | * 角色与菜单对应关系
20 | */
21 | public interface SysRoleMenuService extends IService {
22 |
23 | void saveOrUpdate(Long roleId, List menuIdList);
24 |
25 | /**
26 | * 根据角色ID,获取菜单ID列表
27 | */
28 | List queryMenuIdList(Long roleId);
29 |
30 | /**
31 | * 根据角色ID数组,批量删除
32 | */
33 | int deleteBatch(Long[] roleIds);
34 |
35 | }
36 |
--------------------------------------------------------------------------------
/gps-api/src/main/java/com/gps/api/modules/sys/service/SysRoleService.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2018-2020 GPS180 All rights reserved.
3 | *
4 | * https://www.gps180.com
5 | *
6 | * 版权所有,侵权必究!
7 | */
8 |
9 | package com.gps.api.modules.sys.service;
10 |
11 | import com.baomidou.mybatisplus.extension.service.IService;
12 | import com.gps.db.dbutils.MyPage;
13 | import com.gps.api.modules.sys.entity.SysRoleEntity;
14 |
15 | import java.util.List;
16 | import java.util.Map;
17 |
18 |
19 | /**
20 | * 角色
21 | */
22 | public interface SysRoleService extends IService {
23 |
24 | MyPage queryPage(Map params);
25 |
26 | void saveRole(SysRoleEntity role);
27 |
28 | void update(SysRoleEntity role);
29 |
30 | void deleteBatch(Long[] roleIds);
31 |
32 |
33 | /**
34 | * 查询用户创建的角色ID列表
35 | */
36 | List queryRoleIdList(Long createUserId);
37 | }
38 |
--------------------------------------------------------------------------------
/gps-api/src/main/java/com/gps/api/modules/sys/service/SysUserRoleService.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2018-2020 GPS180 All rights reserved.
3 | *
4 | * https://www.gps180.com
5 | *
6 | * 版权所有,侵权必究!
7 | */
8 |
9 | package com.gps.api.modules.sys.service;
10 |
11 | import com.baomidou.mybatisplus.extension.service.IService;
12 | import com.gps.api.modules.sys.entity.SysUserRoleEntity;
13 |
14 | import java.util.List;
15 |
16 |
17 |
18 | /**
19 | * 用户与角色对应关系
20 | */
21 | public interface SysUserRoleService extends IService {
22 |
23 | void saveOrUpdate(Long userId, List roleIdList);
24 |
25 | /**
26 | * 根据用户ID,获取角色ID列表
27 | */
28 | List queryRoleIdList(Long userId);
29 |
30 | /**
31 | * 根据角色ID数组,批量删除
32 | */
33 | int deleteBatch(Long[] roleIds);
34 | }
35 |
--------------------------------------------------------------------------------
/gps-api/src/main/java/com/gps/api/modules/sys/service/SysUserTokenService.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2018-2020 GPS180 All rights reserved.
3 | *
4 | * https://www.gps180.com
5 | *
6 | * 版权所有,侵权必究!
7 | */
8 |
9 | package com.gps.api.modules.sys.service;
10 |
11 | import com.baomidou.mybatisplus.extension.service.IService;
12 | import com.gps.db.utils.R;
13 | import com.gps.api.modules.sys.entity.SysUserTokenEntity;
14 |
15 | /**
16 | * 用户Token
17 | */
18 | public interface SysUserTokenService extends IService {
19 |
20 | /**
21 | * 生成token
22 | * @param userId 用户ID
23 | */
24 | R createUserToken(long userId, boolean fromPhone);
25 |
26 | R createDeviceToken(String imei, boolean fromPhone);
27 |
28 | SysUserTokenEntity getById2(long id);
29 |
30 | /**
31 | * 退出,修改token值
32 | */
33 | void logout();
34 |
35 | void logoutById(Long userId);
36 |
37 | void checkExpiredToken();
38 | }
39 |
--------------------------------------------------------------------------------
/gps-api/src/main/java/com/gps/api/modules/sys/service/impl/SysLogServiceImpl.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2018-2020 GPS180 All rights reserved.
3 | *
4 | * https://www.gps180.com
5 | *
6 | * 版权所有,侵权必究!
7 | */
8 |
9 | package com.gps.api.modules.sys.service.impl;
10 |
11 | import com.gps.api.modules.sys.dao.SysLogDao;
12 | import com.gps.api.modules.sys.entity.SysLogEntity;
13 | import com.gps.api.modules.sys.service.SysLogService;
14 | import com.gps.db.service.impl.BaseServiceImpl;
15 | import org.springframework.stereotype.Service;
16 |
17 | @Service("sysLogService")
18 | public class SysLogServiceImpl extends BaseServiceImpl implements SysLogService {
19 |
20 | }
21 |
--------------------------------------------------------------------------------
/gps-api/src/main/java/com/gps/api/rbac/AccessType.java:
--------------------------------------------------------------------------------
1 | package com.gps.api.rbac;
2 |
3 | /**
4 | * 数据权限算法结果
5 | * @author xiandafu
6 | *
7 | */
8 | public enum AccessType {
9 | OnlyUser(1),
10 | OnlyOrg(2),
11 | AllOrg(3),
12 | NoneOrg(4);
13 |
14 | private int value;
15 |
16 | AccessType(int value) {
17 | this.value = value;
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/gps-api/src/main/java/com/gps/api/rbac/DataAccess.java:
--------------------------------------------------------------------------------
1 | package com.gps.api.rbac;
2 |
3 | /**
4 | * 数据权限接口类
5 | * @author Administrator
6 | *
7 | */
8 | public interface DataAccess {
9 | DataAccessResullt getOrg(Long userId, Long orgId);
10 | String getName();
11 | Integer getType();
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/gps-api/src/main/java/com/gps/api/rbac/DataAccessFactory.java:
--------------------------------------------------------------------------------
1 | package com.gps.api.rbac;
2 |
3 |
4 | import com.gps.api.rbac.tree.OrgItem;
5 |
6 | import java.util.List;
7 |
8 | public interface DataAccessFactory {
9 | /**
10 | * 得到数去访问权限
11 | *
12 | * @param type
13 | * @return
14 | */
15 | public DataAccess getDataAccess(Integer type);
16 |
17 | /**
18 | * 得到用户能看到得到组织机构树,比如,用户只能看到公司级别的组织机构树。
19 | * DefaultDataAccessFactory 默认实现了能看到所在公司(集团,母公司)的组织机构树
20 | * @return
21 | */
22 | public OrgItem getUserOrgTree(OrgItem item);
23 |
24 |
25 | public List all();
26 | }
27 |
--------------------------------------------------------------------------------
/gps-api/src/main/java/com/gps/api/rbac/DataAccessResullt.java:
--------------------------------------------------------------------------------
1 | package com.gps.api.rbac;
2 |
3 | import lombok.Data;
4 |
5 | import java.util.List;
6 |
7 | /**
8 | * 通过DataAccess 得出跟查询相关的用户或者组织机构列表
9 | *
10 | * @author lijiazhi
11 | */
12 | @Data
13 | public class DataAccessResullt {
14 | private List userIds;
15 | private List orgIds;
16 | //1 结果仅仅包含用户, 2 ,结果仅仅包含组织机构 3 结果匹配所有组织结构 4 结果不匹配任何组织机构
17 | private AccessType status;
18 | }
19 |
--------------------------------------------------------------------------------
/gps-api/src/main/java/com/gps/api/rbac/da/AllGroupAccess.java:
--------------------------------------------------------------------------------
1 | package com.gps.api.rbac.da;
2 |
3 | import com.gps.api.rbac.AccessType;
4 | import com.gps.api.rbac.DataAccess;
5 | import com.gps.api.rbac.DataAccessResullt;
6 | import org.springframework.stereotype.Component;
7 |
8 | /**
9 | * 所有机构
10 | * @author lijiazhi
11 | *
12 | */
13 | @Component
14 | public class AllGroupAccess implements DataAccess {
15 |
16 | @Override
17 | public DataAccessResullt getOrg(Long userId, Long orgId) {
18 | DataAccessResullt ret = new DataAccessResullt();
19 | ret.setStatus(AccessType.AllOrg);
20 | return ret;
21 | }
22 |
23 | @Override
24 | public String getName() {
25 | return "所有机构";
26 | }
27 |
28 | @Override
29 | public Integer getType() {
30 | return 5;
31 | }
32 |
33 | }
34 |
--------------------------------------------------------------------------------
/gps-api/src/main/java/com/gps/api/rbac/da/NonDataAccess.java:
--------------------------------------------------------------------------------
1 | package com.gps.api.rbac.da;
2 |
3 | import com.gps.api.rbac.AccessType;
4 | import com.gps.api.rbac.DataAccess;
5 | import com.gps.api.rbac.DataAccessResullt;
6 | import org.springframework.stereotype.Component;
7 |
8 | @Component
9 | public class NonDataAccess implements DataAccess {
10 |
11 | @Override
12 | public DataAccessResullt getOrg(Long userId, Long orgId) {
13 | DataAccessResullt ret = new DataAccessResullt();
14 | ret.setStatus(AccessType.NoneOrg);
15 | return ret;
16 |
17 | }
18 |
19 | @Override
20 | public String getName() {
21 | return "无权限";
22 | }
23 |
24 | @Override
25 | public Integer getType() {
26 | return 10;
27 | }
28 |
29 | }
30 |
--------------------------------------------------------------------------------
/gps-api/src/main/java/com/gps/api/rbac/da/OwnerDataAccess.java:
--------------------------------------------------------------------------------
1 | package com.gps.api.rbac.da;
2 |
3 | import com.gps.api.rbac.AccessType;
4 | import com.gps.api.rbac.DataAccess;
5 | import com.gps.api.rbac.DataAccessResullt;
6 | import org.springframework.stereotype.Component;
7 |
8 | import java.util.Arrays;
9 |
10 | /**
11 | * 只查看自己
12 | * @author lijiazhi
13 | *
14 | */
15 | @Component
16 | public class OwnerDataAccess implements DataAccess {
17 |
18 | @Override
19 | public DataAccessResullt getOrg(Long userId, Long orgId) {
20 | DataAccessResullt ret = new DataAccessResullt();
21 | ret.setStatus(AccessType.OnlyUser);
22 | ret.setUserIds(Arrays.asList(userId));
23 | return ret;
24 |
25 | }
26 |
27 | @Override
28 | public String getName() {
29 | return "只查看自己";
30 | }
31 |
32 | @Override
33 | public Integer getType() {
34 | return 1;
35 | }
36 |
37 | }
38 |
--------------------------------------------------------------------------------
/gps-api/src/main/java/com/gps/api/rbac/da/SameOrgDataAccess.java:
--------------------------------------------------------------------------------
1 | package com.gps.api.rbac.da;
2 |
3 | import com.gps.api.rbac.AccessType;
4 | import com.gps.api.rbac.DataAccess;
5 | import com.gps.api.rbac.DataAccessResullt;
6 | import org.springframework.stereotype.Component;
7 |
8 | import java.util.Arrays;
9 |
10 | /**
11 | * 同机构
12 | * @author lijiazhi
13 | *
14 | */
15 | @Component
16 | public class SameOrgDataAccess implements DataAccess {
17 |
18 | @Override
19 | public DataAccessResullt getOrg(Long userId, Long orgId) {
20 | DataAccessResullt ret = new DataAccessResullt();
21 | ret.setStatus(AccessType.OnlyOrg);
22 | ret.setOrgIds(Arrays.asList(orgId));
23 | return ret;
24 |
25 | }
26 |
27 | @Override
28 | public String getName() {
29 | return "同结构(公司) (不含子公司)";
30 | }
31 |
32 | @Override
33 | public Integer getType() {
34 | return 3;
35 | }
36 |
37 | }
38 |
--------------------------------------------------------------------------------
/gps-api/src/main/java/com/gps/api/rbac/datascope/DataScope.java:
--------------------------------------------------------------------------------
1 | package com.gps.api.rbac.datascope;
2 |
3 | import lombok.Data;
4 | import lombok.EqualsAndHashCode;
5 |
6 | import java.util.HashMap;
7 | import java.util.List;
8 |
9 | /**
10 | * @author lengleng
11 | * @date 2019/2/1
12 | * 数据权限查询参数
13 | */
14 | @Data
15 | @EqualsAndHashCode(callSuper = true)
16 | public class DataScope extends HashMap {
17 | /**
18 | * 限制范围的字段名称
19 | */
20 | private String scopeName = "deptId";
21 |
22 | /**
23 | * 具体的数据范围
24 | */
25 | private List deptIds;
26 |
27 | /**
28 | * 是否只查询本部门
29 | */
30 | private Boolean isOnly = false;
31 | }
32 |
--------------------------------------------------------------------------------
/gps-api/src/main/java/com/gps/api/rbac/datascope/SelectItemVisitorImpl.java:
--------------------------------------------------------------------------------
1 | package com.gps.api.rbac.datascope;
2 |
3 | import com.gps.db.datascope.PermissionAop;
4 | import net.sf.jsqlparser.statement.select.AllColumns;
5 | import net.sf.jsqlparser.statement.select.AllTableColumns;
6 | import net.sf.jsqlparser.statement.select.SelectExpressionItem;
7 | import net.sf.jsqlparser.statement.select.SelectItemVisitor;
8 |
9 | public class SelectItemVisitorImpl implements SelectItemVisitor {
10 |
11 | private PermissionAop permissionAop;
12 | public SelectItemVisitorImpl(PermissionAop permissionAop) {
13 | this.permissionAop = permissionAop;
14 | }
15 |
16 | @Override
17 | public void visit(AllColumns allColumns) {
18 | }
19 |
20 | @Override
21 | public void visit(AllTableColumns allTableColumns) {
22 | }
23 |
24 | @Override
25 | public void visit(SelectExpressionItem selectExpressionItem) {
26 | selectExpressionItem.getExpression().accept(new ExpressionVisitorImpl(permissionAop));
27 | }
28 |
29 | }
30 |
--------------------------------------------------------------------------------
/gps-api/src/main/java/com/gps/api/rbac/datascope/cond/TableCondition.java:
--------------------------------------------------------------------------------
1 | package com.gps.api.rbac.datascope.cond;
2 |
3 | import lombok.AllArgsConstructor;
4 | import lombok.Data;
5 | import lombok.NoArgsConstructor;
6 |
7 | @Data
8 | @NoArgsConstructor
9 | @AllArgsConstructor
10 | public class TableCondition {
11 | private String operator;
12 | private String fieldName;
13 | private Object fieldValue;
14 | }
15 |
--------------------------------------------------------------------------------
/gps-api/src/main/java/com/gps/api/rbac/tree/TreeItem.java:
--------------------------------------------------------------------------------
1 | package com.gps.api.rbac.tree;
2 |
3 | import java.util.List;
4 |
5 | /**
6 | * 菜单,功能点,组织机构等跟树有关的结构的接口
7 | * @author lijiazhi
8 | *
9 | */
10 | public interface TreeItem extends java.io.Serializable {
11 | public String getName();
12 | public Long getId();
13 | public List getChildren();
14 | }
15 |
--------------------------------------------------------------------------------
/gps-api/src/main/java/com/gps/api/ws/MyWebSocketManager.java:
--------------------------------------------------------------------------------
1 | package com.gps.api.ws;
2 |
3 | import lombok.extern.slf4j.Slf4j;
4 | import org.springframework.beans.factory.annotation.Autowired;
5 | import com.gps.websocket.WebSocket;
6 | import com.gps.websocket.memory.MemWebSocketManager;
7 |
8 | import javax.websocket.Session;
9 | import java.util.List;
10 |
11 | @Slf4j
12 | public class MyWebSocketManager extends MemWebSocketManager {
13 | @Autowired
14 | private WebSocketPush webSocketPush;
15 |
16 | @Override
17 | public void onMessage(String identifier, String message, Session session) {
18 |
19 | }
20 |
21 | @Override
22 | public void doRemoveSocket(List webSocket) {
23 | webSocketPush.doRemoveSocket(webSocket);
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/gps-api/src/main/resources/banner.txt:
--------------------------------------------------------------------------------
1 | ====================================================================================================================
2 |
3 | 欢迎使用 Gps-Api 快速开发平台 - Powered By https://www.gps180.net/
4 |
5 | ====================================================================================================================
--------------------------------------------------------------------------------
/gps-api/src/main/resources/mapper/job/ScheduleJobDao.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | update schedule_job set status = #{status} where job_id in
9 |
10 | #{jobId}
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/gps-api/src/main/resources/mapper/job/ScheduleJobLogDao.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/gps-api/src/main/resources/mapper/oss/SysOssDao.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/gps-api/src/main/resources/mapper/sys/SysConfigDao.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | update sys_config set param_value = #{paramValue} where param_key = #{paramKey}
8 |
9 |
10 |
11 |
14 |
15 |
--------------------------------------------------------------------------------
/gps-api/src/main/resources/mapper/sys/SysLogDao.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/gps-api/src/main/resources/mapper/sys/SysMenuDao.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
12 |
13 |
16 |
17 |
--------------------------------------------------------------------------------
/gps-api/src/main/resources/mapper/sys/SysRoleDao.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
10 |
--------------------------------------------------------------------------------
/gps-api/src/main/resources/mapper/sys/SysRoleDeptDao.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
24 |
25 |
26 | delete from sys_role_dept where role_id in
27 |
28 | #{roleId}
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/gps-api/src/main/resources/mapper/sys/SysRoleMenuDao.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
9 |
10 |
11 | delete from sys_role_menu where role_id in
12 |
13 | #{roleId}
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/gps-api/src/main/resources/mapper/sys/SysUserRoleDao.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | delete from sys_user_role where role_id in
8 |
9 | #{roleId}
10 |
11 |
12 |
13 |
16 |
--------------------------------------------------------------------------------
/gps-api/src/main/resources/mapper/sys/SysUserTokenDao.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
9 |
--------------------------------------------------------------------------------
/gps-api/src/test/java/com/gps/api/JwtTest.java:
--------------------------------------------------------------------------------
1 | package com.gps.api;
2 |
3 | import com.gps.api.common.utils.JwtUtils;
4 | import org.junit.Test;
5 | import org.junit.runner.RunWith;
6 | import org.springframework.beans.factory.annotation.Autowired;
7 | import org.springframework.boot.test.context.SpringBootTest;
8 | import org.springframework.test.context.junit4.SpringRunner;
9 |
10 |
11 | @RunWith(SpringRunner.class)
12 | @SpringBootTest
13 | public class JwtTest {
14 | @Autowired
15 | private JwtUtils jwtUtils;
16 |
17 | @Test
18 | public void test() {
19 | // String token = jwtUtils.generateToken(1);
20 |
21 | // System.out.println(token);
22 | }
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/gps-api/src/test/java/com/gps/api/RedisTest.java:
--------------------------------------------------------------------------------
1 | package com.gps.api;
2 |
3 | import com.gps.api.modules.sys.entity.SysUserEntity;
4 | import org.apache.commons.lang.builder.ToStringBuilder;
5 | import org.junit.Test;
6 | import org.junit.runner.RunWith;
7 | import org.springframework.beans.factory.annotation.Autowired;
8 | import org.springframework.boot.test.context.SpringBootTest;
9 | import org.springframework.test.context.junit4.SpringRunner;
10 |
11 | @RunWith(SpringRunner.class)
12 | @SpringBootTest
13 | public class RedisTest {
14 | @Autowired
15 | private ApiRedisUtils redisUtils;
16 |
17 | @Test
18 | public void contextLoads() {
19 | SysUserEntity user = new SysUserEntity();
20 | user.setEmail("qqq@qq.com");
21 | redisUtils.set("user", user);
22 |
23 | System.out.println(ToStringBuilder.reflectionToString(redisUtils.get("user", SysUserEntity.class)));
24 | }
25 |
26 | }
27 |
--------------------------------------------------------------------------------
/gps-common/build.gradle:
--------------------------------------------------------------------------------
1 | group = 'com.gps180'
2 | jar.enabled = true
3 | bootJar.enabled = false
4 | dependencies {
5 | compile "com.alibaba:fastjson:${fastjsonVersion}"
6 | compileOnly 'com.fasterxml.jackson.core:jackson-annotations:2.9.9'
7 | }
8 |
--------------------------------------------------------------------------------
/gps-common/src/main/java/com/gps/common/Constants.java:
--------------------------------------------------------------------------------
1 | package com.gps.common;
2 |
3 | /**
4 | * 常量类
5 | */
6 | public class Constants {
7 |
8 | /**
9 | * -------------------------------------命令相关------------------------------------
10 | */
11 |
12 | public static final String COMMANDS_TOPIC = "commands"; // api -> gate
13 | public static final String POSITION_TOPIC = "positions"; // gate -> data
14 | public static final String NOTIFYUI_TOPIC = "notifyui"; // data -> api
15 | public static final String IMPORTCMD_TOPIC = "importcmd"; // gate -> api
16 | public static final String TO809_TOPIC = "to809"; // data -> 809
17 | public static final String POS_KEY = "pos_key";
18 | public static final String CMD_KEY = "cmd_key";
19 |
20 | //命令唯一标识
21 | public static final String USER_ID = "userId";
22 | public static final String USER_PHONE = "phone";
23 | public static final String PLATFORM = "platform";
24 |
25 | }
26 |
--------------------------------------------------------------------------------
/gps-common/src/main/java/com/gps/common/MessageType.java:
--------------------------------------------------------------------------------
1 | package com.gps.common;
2 |
3 | public enum MessageType {
4 |
5 | TYPE_ONLINE,
6 | TYPE_OFFLINE,
7 | TYPE_HEART,
8 | TYPE_EVENTS,
9 | TYPE_POSITIONS,
10 | TYPE_RESULTS,
11 | TYPE_REGIST,
12 | TYPE_RECORD,
13 | TYPE_OTHER
14 | }
15 |
--------------------------------------------------------------------------------
/gps-common/src/main/java/com/gps/common/geofence/GeofenceGeometry.java:
--------------------------------------------------------------------------------
1 |
2 | package com.gps.common.geofence;
3 |
4 | import java.io.Serializable;
5 | import java.text.ParseException;
6 |
7 | public abstract class GeofenceGeometry implements Serializable {
8 |
9 | public abstract boolean containsPoint(double latitude, double longitude);
10 |
11 | public abstract String toWkt();
12 |
13 | public abstract void fromWkt(String wkt) throws ParseException;
14 |
15 | public static class Coordinate implements Serializable {
16 |
17 | private double lat;
18 | private double lon;
19 |
20 | public double getLat() {
21 | return lat;
22 | }
23 |
24 | public void setLat(double lat) {
25 | this.lat = lat;
26 | }
27 |
28 | public double getLon() {
29 | return lon;
30 | }
31 |
32 | public void setLon(double lon) {
33 | this.lon = lon;
34 | }
35 | }
36 |
37 | }
38 |
--------------------------------------------------------------------------------
/gps-common/src/main/java/com/gps/common/helper/ImeiUtil.java:
--------------------------------------------------------------------------------
1 | package com.gps.common.helper;
2 |
3 | import java.util.regex.Matcher;
4 | import java.util.regex.Pattern;
5 |
6 | public class ImeiUtil {
7 |
8 | /**
9 | * 计算imei最后一位数据与5 的模
10 | * @param imei
11 | * @return
12 | */
13 | public static int getImeiRemainder(String imei) {
14 | if (imei == null) {
15 | return 2;
16 | } else if (imei.length() < 9) { //imei为车牌号
17 | String regEx="[^0-9]";
18 | Pattern p = Pattern.compile(regEx);
19 | Matcher m = p.matcher(imei);
20 | String numStr = m.replaceAll("").trim();
21 | return Integer.parseInt(numStr.substring(numStr.length() - 1)) % 5;
22 | } else { //正常imei号
23 | return Integer.parseInt(imei.substring(imei.length() - 1)) % 5;
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/gps-common/src/main/java/com/gps/common/model/Attribute.java:
--------------------------------------------------------------------------------
1 |
2 | package com.gps.common.model;
3 |
4 | public class Attribute {
5 |
6 | private String description;
7 |
8 | public String getDescription() {
9 | return description;
10 | }
11 |
12 | public void setDescription(String description) {
13 | this.description = description;
14 | }
15 |
16 | private String attribute;
17 |
18 | public String getAttribute() {
19 | return attribute;
20 | }
21 |
22 | public void setAttribute(String attribute) {
23 | this.attribute = attribute;
24 | }
25 |
26 | private String expression;
27 |
28 | public String getExpression() {
29 | return expression;
30 | }
31 |
32 | public void setExpression(String expression) {
33 | this.expression = expression;
34 | }
35 |
36 | private String type;
37 |
38 | public String getType() {
39 | return type;
40 | }
41 |
42 | public void setType(String type) {
43 | this.type = type;
44 | }
45 |
46 | }
47 |
--------------------------------------------------------------------------------
/gps-common/src/main/java/com/gps/common/model/BaseModel.java:
--------------------------------------------------------------------------------
1 |
2 | package com.gps.common.model;
3 |
4 | import java.io.Serializable;
5 | import java.util.Date;
6 | import java.util.List;
7 |
8 | import lombok.Data;
9 | import lombok.NoArgsConstructor;
10 | import com.gps.common.MessageType;
11 |
12 | /**
13 | * 推送数据
14 | */
15 | @Data
16 | @NoArgsConstructor
17 | public class BaseModel implements Serializable {
18 |
19 | private String imei;
20 | private MessageType messageType;
21 | private String protocol;
22 | private Date serverTime;
23 | private Position position;
24 | private List positions;
25 | private CommandResult commandResult;
26 | private RecordData recordData;
27 | private Event event;
28 | private String orgHexString;
29 | private List gnss;
30 |
31 | public BaseModel(String imei) {
32 | this.imei = imei;
33 | this.serverTime = new Date();
34 | }
35 |
36 | }
37 |
--------------------------------------------------------------------------------
/gps-common/src/main/java/com/gps/common/model/CommandResult.java:
--------------------------------------------------------------------------------
1 | package com.gps.common.model;
2 |
3 | import lombok.Data;
4 | import lombok.EqualsAndHashCode;
5 |
6 | /**
7 | * 命令响应数据实体类
8 | */
9 | @Data
10 | @EqualsAndHashCode(callSuper=false)
11 | public class CommandResult extends Message {
12 |
13 | //gate端用作命令流水号,传递后用作命令唯一编码(MySQL对应)
14 | private int commandFlowId;
15 | private int orgCommandType;//原命令ID 0x8001
16 | private boolean result;//执行结果
17 | private String reason;//error reason
18 | private Object resultObject;//命令返回结构体
19 |
20 | private String commandLogId; //对应数据库的ID字段
21 | private String userId; //用户ID
22 | private String userPhone;//命令发起人电话
23 | private String platform;//命令发起平台
24 |
25 | }
26 |
--------------------------------------------------------------------------------
/gps-common/src/main/java/com/gps/common/model/DeviceState.java:
--------------------------------------------------------------------------------
1 | package com.gps.common.model;
2 |
3 | import lombok.Data;
4 |
5 | import java.io.Serializable;
6 |
7 | @Data
8 | public class DeviceState implements Serializable {
9 |
10 | private Boolean motionState;
11 | private Position motionPosition;
12 |
13 | private Boolean overspeedState;
14 | private Position overspeedPosition;
15 | private String overspeedGeofenceId;
16 |
17 | }
18 |
--------------------------------------------------------------------------------
/gps-common/src/main/java/com/gps/common/model/Driver.java:
--------------------------------------------------------------------------------
1 | package com.gps.common.model;
2 |
3 | public class Driver extends ExtendedModel {
4 |
5 | private String name;
6 |
7 | public String getName() {
8 | return name;
9 | }
10 |
11 | public void setName(String name) {
12 | this.name = name;
13 | }
14 |
15 | private String uniqueId;
16 |
17 | public String getUniqueId() {
18 | return uniqueId;
19 | }
20 |
21 | public void setUniqueId(String uniqueId) {
22 | this.uniqueId = uniqueId;
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/gps-common/src/main/java/com/gps/common/model/Message.java:
--------------------------------------------------------------------------------
1 | package com.gps.common.model;
2 |
3 | import lombok.Data;
4 | import lombok.EqualsAndHashCode;
5 |
6 | @Data
7 | @EqualsAndHashCode(callSuper=false)
8 | public class Message extends ExtendedModel {
9 |
10 | private String type;
11 |
12 | }
13 |
--------------------------------------------------------------------------------
/gps-common/src/main/java/com/gps/common/model/Network.java:
--------------------------------------------------------------------------------
1 | package com.gps.common.model;
2 |
3 | import lombok.Data;
4 |
5 | import java.io.Serializable;
6 | import java.util.ArrayList;
7 | import java.util.Collection;
8 |
9 | @Data
10 | public class Network implements Serializable {
11 |
12 | public Network() {
13 | }
14 |
15 | public Network(CellTower cellTower) {
16 | addCellTower(cellTower);
17 | }
18 |
19 | private Integer homeMobileCountryCode;
20 | private Integer homeMobileNetworkCode;
21 | private String radioType = "gsm";
22 | private String carrier;
23 | private Boolean considerIp = false;
24 | private Collection cellTowers;
25 | public void addCellTower(CellTower cellTower) {
26 | if (cellTowers == null) {
27 | cellTowers = new ArrayList<>();
28 | }
29 | cellTowers.add(cellTower);
30 | }
31 |
32 | private Collection wifiAccessPoints;
33 |
34 | public void addWifiAccessPoint(WifiAccessPoint wifiAccessPoint) {
35 | if (wifiAccessPoints == null) {
36 | wifiAccessPoints = new ArrayList<>();
37 | }
38 | wifiAccessPoints.add(wifiAccessPoint);
39 | }
40 |
41 | }
42 |
--------------------------------------------------------------------------------
/gps-common/src/main/java/com/gps/common/model/RecordData.java:
--------------------------------------------------------------------------------
1 | package com.gps.common.model;
2 |
3 | import lombok.AllArgsConstructor;
4 | import lombok.Data;
5 |
6 | import java.util.Date;
7 |
8 | /**
9 | * 命令响应数据实体类
10 | */
11 | @Data
12 | @AllArgsConstructor
13 | public class RecordData {
14 |
15 | private int totalPac;
16 | private int indexPac;
17 | private String data;//900
18 | private int len;
19 | private Date time;
20 |
21 | }
22 |
--------------------------------------------------------------------------------
/gps-common/src/main/java/com/gps/common/model/ScheduledModel.java:
--------------------------------------------------------------------------------
1 | package com.gps.common.model;
2 |
3 | public class ScheduledModel extends ExtendedModel {
4 |
5 | private long calendarId;
6 |
7 | public long getCalendarId() {
8 | return calendarId;
9 | }
10 |
11 | public void setCalendarId(long calendarId) {
12 | this.calendarId = calendarId;
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/gps-common/src/main/java/com/gps/common/reports/model/BaseReport.java:
--------------------------------------------------------------------------------
1 | package com.gps.common.reports.model;
2 |
3 | import lombok.Data;
4 |
5 | @Data
6 | public class BaseReport {
7 |
8 | private String deviceId;
9 | private String deviceName;
10 | private double distance;
11 | public void addDistance(double distance) {
12 | this.distance += distance;
13 | }
14 |
15 | private double averageSpeed;
16 | private double maxSpeed;
17 | public void setMaxSpeed(double maxSpeed) {
18 | if (maxSpeed > this.maxSpeed) {
19 | this.maxSpeed = maxSpeed;
20 | }
21 | }
22 | private long duration;
23 |
24 | private double spentFuel;
25 | private double startOdometer;
26 | private double endOdometer;
27 | }
28 |
--------------------------------------------------------------------------------
/gps-common/src/main/java/com/gps/common/reports/model/DeviceReport.java:
--------------------------------------------------------------------------------
1 | package com.gps.common.reports.model;
2 |
3 | import java.util.ArrayList;
4 | import java.util.Collection;
5 | import java.util.List;
6 |
7 | public class DeviceReport {
8 |
9 | private String deviceName;
10 |
11 | public String getDeviceName() {
12 | return deviceName;
13 | }
14 |
15 | public void setDeviceName(String deviceName) {
16 | this.deviceName = deviceName;
17 | }
18 |
19 | private String groupName = "";
20 |
21 | public String getGroupName() {
22 | return groupName;
23 | }
24 |
25 | public void setGroupName(String groupName) {
26 | this.groupName = groupName;
27 | }
28 |
29 | private List> objects;
30 |
31 | public Collection> getObjects() {
32 | return objects;
33 | }
34 |
35 | public void setObjects(Collection> objects) {
36 | this.objects = new ArrayList<>(objects);
37 | }
38 |
39 | }
40 |
--------------------------------------------------------------------------------
/gps-common/src/main/java/com/gps/common/reports/model/StopReport.java:
--------------------------------------------------------------------------------
1 |
2 | package com.gps.common.reports.model;
3 |
4 | import lombok.Data;
5 | import lombok.EqualsAndHashCode;
6 |
7 | import java.util.Date;
8 |
9 | @Data
10 | @EqualsAndHashCode(callSuper = false)
11 | public class StopReport extends BaseReport {
12 |
13 | // private long positionId;
14 | private double latitude;
15 | private double longitude;
16 | private Date startTime;
17 | private Date endTime;
18 | private String address;
19 | private long engineHours; // milliseconds
20 | public void addEngineHours(long engineHours) {
21 | this.engineHours += engineHours;
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/gps-common/src/main/java/com/gps/common/reports/model/SummaryReport.java:
--------------------------------------------------------------------------------
1 | package com.gps.common.reports.model;
2 |
3 | public class SummaryReport extends BaseReport {
4 |
5 | private long engineHours; // milliseconds
6 |
7 | public long getEngineHours() {
8 | return engineHours;
9 | }
10 |
11 | public void setEngineHours(long engineHours) {
12 | this.engineHours = engineHours;
13 | }
14 |
15 | public void addEngineHours(long engineHours) {
16 | this.engineHours += engineHours;
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/gps-common/src/main/java/com/gps/common/reports/model/TripReport.java:
--------------------------------------------------------------------------------
1 | package com.gps.common.reports.model;
2 |
3 | import lombok.Data;
4 | import lombok.EqualsAndHashCode;
5 |
6 | import java.util.Date;
7 |
8 | @Data
9 | @EqualsAndHashCode(callSuper=false)
10 | public class TripReport extends BaseReport {
11 |
12 | // private long startPositionId;
13 | // private long endPositionId;
14 | private double startLat;
15 | private double startLon;
16 | private Date startTime;
17 | private String startAddress;
18 | private double startDistance;
19 |
20 | private double endLat;
21 | private double endLon;
22 | private Date endTime;
23 | private String endAddress;
24 | private double endDistance;
25 |
26 | private long duration;
27 | // private String driverUniqueId;
28 | // private String driverName;
29 | }
30 |
--------------------------------------------------------------------------------
/gps-db/build.gradle:
--------------------------------------------------------------------------------
1 |
2 | jar.enabled = true
3 | bootJar.enabled = false
4 |
5 | dependencies {
6 | compile project(':gps-common')
7 |
8 | // compileOnly 'org.springframework.boot:spring-boot-starter-web'
9 | compile 'org.springframework.boot:spring-boot-starter-data-redis'
10 | compile 'org.springframework.boot:spring-boot-starter-aop'
11 | // compile "mysql:mysql-connector-java:${mysqlConnectorVersion}"
12 | // compile 'tk.mybatis:mapper-spring-boot-starter:2.1.5'
13 | compile "com.baomidou:mybatis-plus-boot-starter:${mybatisPlusVersion}"
14 | compile "com.alibaba:fastjson:${fastjsonVersion}"
15 | // compileOnly 'com.fasterxml.jackson.core:jackson-annotations:2.9.8'
16 | compile 'com.fasterxml.jackson.core:jackson-databind:2.10.2'
17 | compile 'org.apache.commons:commons-pool2:2.6.2'
18 |
19 | compile 'org.apache.commons:commons-lang3:3.9'
20 | compileOnly 'org.apache.httpcomponents:httpcore:4.4.12'//R.java
21 | compileOnly 'io.swagger:swagger-annotations:1.6.0'
22 | compileOnly 'com.alibaba:druid:1.1.20'
23 | compileOnly 'javax.servlet:javax.servlet-api:4.0.1'
24 |
25 | testCompile('org.springframework.boot:spring-boot-starter-test') {
26 | exclude(module: 'commons-logging')
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/aspect/GpsRedisAspect.java:
--------------------------------------------------------------------------------
1 |
2 | package com.gps.db.aspect;
3 |
4 | import com.gps.db.exception.RRException;
5 | import lombok.extern.slf4j.Slf4j;
6 | import org.aspectj.lang.ProceedingJoinPoint;
7 | import org.aspectj.lang.annotation.Around;
8 | import org.aspectj.lang.annotation.Aspect;
9 | import org.springframework.beans.factory.annotation.Value;
10 | import org.springframework.context.annotation.Configuration;
11 |
12 | /**
13 | * Redis切面处理类
14 | *
15 | * @author Mark sunlightcs@gmail.com
16 | */
17 | @Aspect
18 | @Slf4j
19 | @Configuration
20 | public class GpsRedisAspect {
21 |
22 | //是否开启redis缓存 true开启 false关闭
23 | @Value("${spring.redis-gps.open: false}")
24 | private boolean open;
25 |
26 | @Around("execution(* com.gps.db.GpsRedisUtils.*(..))")
27 | public Object around(ProceedingJoinPoint point) throws Throwable {
28 | Object result = null;
29 | if (open) {
30 | try {
31 | result = point.proceed();
32 | } catch (Exception e) {
33 | log.error("redis error", e);
34 | throw new RRException("Redis服务异常");
35 | }
36 | }
37 | return result;
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/dao/AlarmDao.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.dao;
2 |
3 | import com.baomidou.mybatisplus.core.metadata.IPage;
4 | import com.gps.db.datascope.PermissionAop;
5 | import com.gps.db.entity.AlarmEntity;
6 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
7 | import org.apache.ibatis.annotations.Mapper;
8 | import org.apache.ibatis.annotations.Param;
9 |
10 | /**
11 | *
12 | *
13 | * @author zb
14 | * @email zb@gmail.com
15 | * @date 2019-06-24 20:27:53
16 | */
17 | @Mapper
18 | public interface AlarmDao extends BaseMapper {
19 |
20 | @PermissionAop(tableAlias = "a")
21 | IPage listPage(@Param("page") IPage page, @Param("imei") String imei);
22 | }
23 |
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/dao/AlarmTypeDao.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.dao;
2 |
3 | import com.gps.db.entity.AlarmTypeEntity;
4 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
5 | import org.apache.ibatis.annotations.Mapper;
6 |
7 | /**
8 | *
9 | *
10 | * @author zb
11 | * @email zb@gmail.com
12 | * @date 2019-06-30 11:13:45
13 | */
14 | @Mapper
15 | public interface AlarmTypeDao extends BaseMapper {
16 |
17 | }
18 |
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/dao/CommandDao.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.dao;
2 |
3 | import com.gps.db.entity.CommandEntity;
4 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
5 | import org.apache.ibatis.annotations.Mapper;
6 |
7 | /**
8 | *
9 | *
10 | * @author zb
11 | * @email zb@gmail.com
12 | * @date 2019-06-24 20:27:53
13 | */
14 | @Mapper
15 | public interface CommandDao extends BaseMapper {
16 |
17 | }
18 |
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/dao/CommandLogsDao.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.dao;
2 |
3 | import com.baomidou.mybatisplus.core.metadata.IPage;
4 | import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
5 | import com.gps.db.datascope.PermissionAop;
6 | import com.gps.db.entity.CommandLogsEntity;
7 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
8 | import java.io.Serializable;
9 | import java.util.Collection;
10 | import java.util.Date;
11 | import java.util.List;
12 | import org.apache.ibatis.annotations.Mapper;
13 | import org.apache.ibatis.annotations.Param;
14 | import org.apache.ibatis.annotations.Select;
15 |
16 | /**
17 | *
18 | *
19 | * @author zb
20 | * @email zb@gmail.com
21 | * @date 2019-06-24 20:27:53
22 | */
23 | @Mapper
24 | public interface CommandLogsDao extends BaseMapper {
25 |
26 | @PermissionAop(tableAlias = "d")
27 | IPage commandList(@Param("page") IPage page, @Param("imei") String imei,
28 | @Param("startDate") Date startDate, @Param("endDate") Date endDate);
29 | }
30 |
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/dao/CommandTypeDao.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.dao;
2 |
3 | import com.gps.db.entity.CommandTypeEntity;
4 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
5 | import java.util.List;
6 | import org.apache.ibatis.annotations.Mapper;
7 | import org.apache.ibatis.annotations.Param;
8 |
9 | /**
10 | *
11 | *
12 | * @author zb
13 | * @email zb@gmail.com
14 | * @date 2019-06-30 11:13:45
15 | */
16 | @Mapper
17 | public interface CommandTypeDao extends BaseMapper {
18 |
19 | List cmdListByImei(@Param("imei") String imei);
20 | }
21 |
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/dao/CommandTypeMDao.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.dao;
2 |
3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4 | import com.gps.db.entity.CommandTypeMEntity;
5 | import org.apache.ibatis.annotations.Mapper;
6 |
7 | /**
8 | *
9 | *
10 | * @author zb
11 | * @email zb@gmail.com
12 | * @date 2019-06-30 11:13:45
13 | */
14 | @Mapper
15 | public interface CommandTypeMDao extends BaseMapper {
16 |
17 | }
18 |
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/dao/DeviceGeofenceDao.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.dao;
2 |
3 | import com.gps.db.entity.DeviceGeofenceEntity;
4 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
5 | import org.apache.ibatis.annotations.Mapper;
6 |
7 | /**
8 | *
9 | *
10 | * @author zb
11 | * @email zb@gmail.com
12 | * @date 2019-06-24 20:27:53
13 | */
14 | @Mapper
15 | public interface DeviceGeofenceDao extends BaseMapper {
16 |
17 | }
18 |
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/dao/DeviceRecDao.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.dao;
2 |
3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4 | import com.baomidou.mybatisplus.core.metadata.IPage;
5 | import com.gps.db.datascope.PermissionAop;
6 | import com.gps.db.entity.DeviceRecEntity;
7 | import org.apache.ibatis.annotations.Mapper;
8 | import org.apache.ibatis.annotations.Param;
9 |
10 | import java.util.Date;
11 | import java.util.List;
12 |
13 | /**
14 | *
15 | *
16 | * @author zb
17 | * @email zb@gmail.com
18 | * @date 2020-01-22 16:33:18
19 | */
20 | @Mapper
21 | public interface DeviceRecDao extends BaseMapper {
22 |
23 | @PermissionAop(tableAlias = "d")
24 | IPage listAll(@Param("page") IPage page, @Param("imei") String imei,
25 | @Param("startDate") Date startDate, @Param("endDate") Date endDate);
26 | }
27 |
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/dao/DeviceStatusDao.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.dao;
2 |
3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4 | import com.gps.db.datascope.PermissionAop;
5 | import com.gps.db.entity.DeviceStatusEntity;
6 | import org.apache.ibatis.annotations.Mapper;
7 | import org.apache.ibatis.annotations.Param;
8 |
9 | import java.util.List;
10 |
11 | /**
12 | *
13 | *
14 | * @author chenshun
15 | * @email sunlightcs@gmail.com
16 | * @date 2019-06-24 17:23:20
17 | */
18 | @Mapper
19 | public interface DeviceStatusDao extends BaseMapper {
20 |
21 | @PermissionAop(tableAlias = "g")
22 | List selectByImei(@Param("ids") List ids);
23 |
24 | // @Override
25 | // @PermissionAop
26 | // DeviceStatusEntity selectById(Serializable id);
27 |
28 | // @Override
29 | // @PermissionAop
30 | // List selectList(Wrapper queryWrapper);
31 | }
32 |
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/dao/EventsDao.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.dao;
2 |
3 | import com.gps.db.entity.EventsEntity;
4 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
5 | import org.apache.ibatis.annotations.Mapper;
6 |
7 | /**
8 | *
9 | *
10 | * @author zb
11 | * @email zb@gmail.com
12 | * @date 2019-06-24 20:27:53
13 | */
14 | @Mapper
15 | public interface EventsDao extends BaseMapper {
16 |
17 | }
18 |
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/dao/GeofenceDao.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.dao;
2 |
3 | import com.gps.db.entity.GeofenceEntity;
4 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
5 | import com.gps.db.entityvo.GeofenceListVo;
6 | import org.apache.ibatis.annotations.Mapper;
7 | import org.apache.ibatis.annotations.Param;
8 |
9 | import java.util.List;
10 |
11 | /**
12 | *
13 | *
14 | * @author zb
15 | * @email zb@gmail.com
16 | * @date 2019-06-24 20:27:53
17 | */
18 | @Mapper
19 | public interface GeofenceDao extends BaseMapper {
20 |
21 | List getGeofenceByDeviceImei(@Param("deviceImei") String deviceImei);
22 |
23 | List geofenceList(@Param("companyId") String companyId);
24 | }
25 |
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/dao/GroupsDao.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.dao;
2 |
3 | import com.gps.db.datascope.PermissionAop;
4 | import com.gps.db.entity.GroupsEntity;
5 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
6 | import org.apache.ibatis.annotations.Mapper;
7 |
8 | import java.util.List;
9 |
10 | /**
11 | *
12 | *
13 | * @author zb
14 | * @email zb@gmail.com
15 | * @date 2019-06-24 20:27:53
16 | */
17 | @Mapper
18 | public interface GroupsDao extends BaseMapper {
19 |
20 | @PermissionAop(tableAlias = "g")
21 | List listByUser();
22 | }
23 |
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/dao/Jt809DevPlatDao.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.dao;
2 |
3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4 | import com.gps.db.entity.Jt809DevPlatEntity;
5 | import org.apache.ibatis.annotations.Mapper;
6 |
7 | import java.util.List;
8 |
9 | /**
10 | *
11 | *
12 | * @author zb
13 | * @email zb@gmail.com
14 | * @date 2019-10-26 09:26:45
15 | */
16 | @Mapper
17 | public interface Jt809DevPlatDao extends BaseMapper {
18 |
19 | List getGnssByImei(String imei);
20 | }
21 |
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/dao/Jt809UserDao.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.dao;
2 |
3 | import com.gps.db.entity.Jt809UserEntity;
4 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
5 | import org.apache.ibatis.annotations.Mapper;
6 |
7 | import java.util.List;
8 |
9 | /**
10 | *
11 | *
12 | * @author zb
13 | * @email zb@gmail.com
14 | * @date 2019-06-26 09:26:45
15 | */
16 | @Mapper
17 | public interface Jt809UserDao extends BaseMapper {
18 |
19 | List findAllUpUsers();
20 | }
21 |
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/dao/PositionsDao.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.dao;
2 |
3 | import com.gps.db.entity.PositionsEntity;
4 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
5 | import org.apache.ibatis.annotations.Mapper;
6 |
7 | /**
8 | *
9 | *
10 | * @author zb
11 | * @email zb@gmail.com
12 | * @date 2019-06-24 20:27:53
13 | */
14 | @Mapper
15 | public interface PositionsDao extends BaseMapper {
16 |
17 | }
18 |
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/dao/ProductDao.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.dao;
2 |
3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4 | import com.gps.db.entity.ProductEntity;
5 | import org.apache.ibatis.annotations.Mapper;
6 |
7 | /**
8 | *
9 | *
10 | * @author chenshun
11 | * @email sunlightcs@gmail.com
12 | * @date 2019-06-24 17:23:20
13 | */
14 | @Mapper
15 | public interface ProductDao extends BaseMapper {
16 |
17 | }
18 |
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/dao/RiskPointDao.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.dao;
2 |
3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4 | import com.baomidou.mybatisplus.core.metadata.IPage;
5 | import com.gps.db.datascope.PermissionAop;
6 | import com.gps.db.entity.AlarmEntity;
7 | import com.gps.db.entity.RiskPointEntity;
8 | import org.apache.ibatis.annotations.Mapper;
9 | import org.apache.ibatis.annotations.Param;
10 |
11 | /**
12 | *
13 | *
14 | * @author qulpng
15 | * @email qul@ccwcar.com
16 | * @date 2020-02-03 14:27:53
17 | */
18 | @Mapper
19 | public interface RiskPointDao extends BaseMapper {
20 | }
21 |
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/dao/UserDeviceDao.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.dao;
2 |
3 | import com.gps.db.entity.UserDeviceEntity;
4 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
5 | import org.apache.ibatis.annotations.Mapper;
6 |
7 | /**
8 | *
9 | *
10 | * @author zb
11 | * @email zb@gmail.com
12 | * @date 2019-06-30 11:13:45
13 | */
14 | @Mapper
15 | public interface UserDeviceDao extends BaseMapper {
16 |
17 | }
18 |
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/dao/UserGroupDao.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.dao;
2 |
3 | import com.gps.db.entity.UserGroupEntity;
4 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
5 | import org.apache.ibatis.annotations.Mapper;
6 |
7 | import java.util.List;
8 |
9 | /**
10 | *
11 | *
12 | * @author zb
13 | * @email zb@gmail.com
14 | * @date 2019-06-30 11:13:45
15 | */
16 | @Mapper
17 | public interface UserGroupDao extends BaseMapper {
18 |
19 | List queryGroupIdList(long userId);
20 | }
21 |
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/datascope/PermissionAop.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.datascope;
2 |
3 | import java.lang.annotation.*;
4 |
5 |
6 | /**
7 | * 数据权限过滤
8 | * @author GaoYuan
9 | * @date 2018/4/17 下午2:40
10 | */
11 | @Target(ElementType.METHOD)
12 | @Retention(RetentionPolicy.RUNTIME)
13 | @Documented
14 | public @interface PermissionAop {
15 | String value() default "";
16 |
17 | /** 表的别名 */
18 | String tableAlias() default "";
19 | /** true:没有本部门数据权限,也能查询本人数据 */
20 | boolean user() default true;
21 | }
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/dbutils/CommonConstants.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.dbutils;
2 |
3 | public interface CommonConstants {
4 | /**
5 | * 删除
6 | */
7 | String STATUS_DEL = "1";
8 | /**
9 | * 正常
10 | */
11 | String STATUS_NORMAL = "0";
12 |
13 | /**
14 | * 锁定
15 | */
16 | String STATUS_LOCK = "9";
17 |
18 | /**
19 | * 菜单
20 | */
21 | String MENU = "0";
22 |
23 | /**
24 | * 编码
25 | */
26 | String UTF8 = "UTF-8";
27 |
28 | /**
29 | * JSON 资源
30 | */
31 | String CONTENT_TYPE = "application/json; charset=utf-8";
32 |
33 | /**
34 | * 前端工程名
35 | */
36 | String FRONT_END_PROJECT = "pig-ui";
37 |
38 | /**
39 | * 后端工程名
40 | */
41 | String BACK_END_PROJECT = "pig";
42 |
43 | /**
44 | * 成功标记
45 | */
46 | Integer SUCCESS = 0;
47 | /**
48 | * 失败标记
49 | */
50 | Integer FAIL = 1;
51 |
52 | /**
53 | * 验证码前缀
54 | */
55 | String DEFAULT_CODE_KEY = "DEFAULT_CODE_KEY_";
56 | }
57 |
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/dbutils/xss/SQLFilter.java:
--------------------------------------------------------------------------------
1 |
2 | package com.gps.db.dbutils.xss;
3 |
4 | import com.gps.db.exception.RRException;
5 | import org.apache.commons.lang3.StringUtils;
6 |
7 | /**
8 | * SQL过滤
9 | *
10 | * @author Mark sunlightcs@gmail.com
11 | */
12 | public class SQLFilter {
13 |
14 | /**
15 | * SQL注入过滤
16 | * @param str 待验证的字符串
17 | */
18 | public static String sqlInject(String str){
19 | if(StringUtils.isBlank(str)){
20 | return null;
21 | }
22 | //去掉'|"|;|\字符
23 | str = StringUtils.replace(str, "'", "");
24 | str = StringUtils.replace(str, "\"", "");
25 | str = StringUtils.replace(str, ";", "");
26 | str = StringUtils.replace(str, "\\", "");
27 |
28 | //转换成小写
29 | str = str.toLowerCase();
30 |
31 | //非法字符
32 | String[] keywords = {"master", "truncate", "insert", "select", "delete", "update", "declare", "alter", "drop"};
33 |
34 | //判断是否包含非法字符
35 | for(String keyword : keywords){
36 | if(str.indexOf(keyword) != -1){
37 | throw new RRException("包含非法字符");
38 | }
39 | }
40 |
41 | return str;
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/entity/AlarmEntity.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.entity;
2 |
3 | import com.baomidou.mybatisplus.annotation.IdType;
4 | import com.baomidou.mybatisplus.annotation.TableId;
5 | import com.baomidou.mybatisplus.annotation.TableName;
6 |
7 | import java.io.Serializable;
8 | import java.util.Date;
9 |
10 | import io.swagger.annotations.ApiModelProperty;
11 | import lombok.Data;
12 |
13 | /**
14 | *
15 | *
16 | * @author zb
17 | * @email zb@gmail.com
18 | * @date 2019-06-24 20:27:53
19 | */
20 | @Data
21 | @TableName("alarm")
22 | public class AlarmEntity {
23 |
24 | /**
25 | *
26 | */
27 | @TableId(value = "id",type = IdType.INPUT)
28 | @ApiModelProperty(value = "唯一标识")
29 | private String id;
30 | // private String id = String.valueOf(SnowFlakeUtil.getFlowIdInstance().nextId());
31 | private String imei;
32 | private String type;
33 | private String remark;
34 | private Integer level;
35 | private Date occurTime;
36 | private Date endTime;
37 | private Double longitude;
38 | private Double latitude;
39 | private Integer occurNum;
40 | private String companyId;
41 | /**
42 | * 是否处理,1已处理
43 | */
44 | private Integer processStatus;
45 | private String processUser;
46 | private String processRemark;
47 |
48 | }
49 |
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/entity/AlarmTypeEntity.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.entity;
2 |
3 | import com.baomidou.mybatisplus.annotation.IdType;
4 | import com.baomidou.mybatisplus.annotation.TableId;
5 | import com.baomidou.mybatisplus.annotation.TableName;
6 |
7 | import java.io.Serializable;
8 | import java.util.Date;
9 | import lombok.Data;
10 |
11 | /**
12 | *
13 | *
14 | * @author zb
15 | * @email zb@gmail.com
16 | * @date 2019-06-30 11:13:45
17 | */
18 | @Data
19 | @TableName("alarm_type")
20 | public class AlarmTypeEntity {
21 |
22 | /**
23 | *
24 | */
25 | @TableId(value = "alarmcode",type = IdType.INPUT)
26 | private String alarmcode;
27 | /**
28 | *
29 | */
30 | private String alarmname;
31 | /**
32 | *
33 | */
34 | private String alarmdescr;
35 |
36 | }
37 |
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/entity/CommandEntity.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.entity;
2 |
3 | import com.baomidou.mybatisplus.annotation.IdType;
4 | import com.baomidou.mybatisplus.annotation.TableId;
5 | import com.baomidou.mybatisplus.annotation.TableName;
6 |
7 | import java.io.Serializable;
8 | import java.util.Date;
9 | import lombok.Data;
10 |
11 | /**
12 | *
13 | *
14 | * @author zb
15 | * @email zb@gmail.com
16 | * @date 2019-06-24 20:27:53
17 | */
18 | @Data
19 | @TableName("command")
20 | public class CommandEntity {
21 |
22 | /**
23 | *
24 | */
25 | @TableId(value = "id",type = IdType.INPUT)
26 | private String id;
27 | /**
28 | * 命令名称
29 | */
30 | private String name;
31 | /**
32 | * 命令编码
33 | */
34 | private String code;
35 | /**
36 | * 描述
37 | */
38 | private String description;
39 | /**
40 | * 离线有效时间,单位秒
41 | */
42 | private Integer expire;
43 |
44 | }
45 |
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/entity/CommandLogsEntity.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.entity;
2 |
3 | import com.baomidou.mybatisplus.annotation.IdType;
4 | import com.baomidou.mybatisplus.annotation.TableId;
5 | import com.baomidou.mybatisplus.annotation.TableName;
6 |
7 | import java.io.Serializable;
8 | import java.util.Date;
9 | import lombok.Data;
10 |
11 | /**
12 | *
13 | *
14 | * @author zb
15 | * @email zb@gmail.com
16 | * @date 2019-06-24 20:27:53
17 | */
18 | @Data
19 | @TableName("command_logs")
20 | public class CommandLogsEntity {
21 |
22 | @TableId(type = IdType.INPUT)
23 | private String id;
24 | private String imei;
25 | private String commandType;
26 | private String commandBody;
27 | private String executor;
28 | private String executorPhone;
29 | private Date executeTime;
30 | private Boolean feedbackResult;
31 | private Date feedbackTime;
32 | private String platform;
33 | private String reason;
34 | private String attribute;
35 |
36 | }
37 |
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/entity/CommandTypeEntity.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.entity;
2 |
3 | import com.baomidou.mybatisplus.annotation.IdType;
4 | import com.baomidou.mybatisplus.annotation.TableId;
5 | import com.baomidou.mybatisplus.annotation.TableName;
6 |
7 | import java.io.Serializable;
8 | import java.util.Date;
9 | import lombok.Data;
10 |
11 | /**
12 | *
13 | *
14 | * @author zb
15 | * @email zb@gmail.com
16 | * @date 2019-06-30 11:13:45
17 | */
18 | @Data
19 | @TableName("command_type")
20 | public class CommandTypeEntity {
21 |
22 | @TableId(value = "predict_cmd_id", type = IdType.INPUT)
23 | private Long predictCmdId;
24 | private String deviceType;
25 | private String cmdCode;
26 | private String cmdName;
27 | private String cmdNameEn;
28 | private String cmdNameTw;
29 | private String cmdDescr;
30 | private String cmdDescrEn;
31 | private String cmdDescrTw;
32 | private String params;
33 | private String paramsEn;
34 | private String paramsTw;
35 | private String cmdType;
36 |
37 | private String cmdPwd;
38 | private Integer cmdLevel;
39 | private Boolean sync;
40 |
41 | }
42 |
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/entity/CommandTypeMEntity.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.entity;
2 |
3 | import com.baomidou.mybatisplus.annotation.IdType;
4 | import com.baomidou.mybatisplus.annotation.TableId;
5 | import com.baomidou.mybatisplus.annotation.TableName;
6 | import lombok.Data;
7 |
8 | /**
9 | *
10 | *
11 | * @author zb
12 | * @email zb@gmail.com
13 | * @date 2019-06-30 11:13:45
14 | */
15 | @Data
16 | @TableName("command_type_m")
17 | public class CommandTypeMEntity {
18 |
19 | @TableId(value = "cmdm_Id",type = IdType.INPUT)
20 | private Long cmdmId;
21 | private String cmdCode;
22 | private String cmdName;
23 | private String cmdNameEn;
24 | private String cmdNameTw;
25 | private String cmdDescr;
26 | private String cmdDescrEn;
27 | private String cmdDescrTw;
28 | private String params;
29 | private String paramsEn;
30 | private String paramsTw;
31 | private String cmdType;
32 | private Boolean sync;
33 |
34 | }
35 |
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/entity/DeviceGeofenceEntity.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.entity;
2 |
3 | import com.baomidou.mybatisplus.annotation.IdType;
4 | import com.baomidou.mybatisplus.annotation.TableId;
5 | import com.baomidou.mybatisplus.annotation.TableName;
6 |
7 | import java.io.Serializable;
8 | import java.util.Date;
9 | import lombok.Data;
10 |
11 | /**
12 | *
13 | *
14 | * @author zb
15 | * @email zb@gmail.com
16 | * @date 2019-06-24 20:27:53
17 | */
18 | @Data
19 | @TableName("device_geofence")
20 | public class DeviceGeofenceEntity {
21 |
22 | /**
23 | *
24 | */
25 | @TableId(value = "id",type = IdType.INPUT)
26 | private String id;
27 | /**
28 | * 设备imei
29 | */
30 | private String imei;
31 | /**
32 | * 围栏id
33 | */
34 | private String geofenceId;
35 |
36 | }
37 |
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/entity/DeviceRecEntity.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.entity;
2 |
3 | import com.baomidou.mybatisplus.annotation.IdType;
4 | import com.baomidou.mybatisplus.annotation.TableField;
5 | import com.baomidou.mybatisplus.annotation.TableId;
6 | import com.baomidou.mybatisplus.annotation.TableName;
7 |
8 | import com.gps.db.db.BlobDataTypeHandler;
9 | import com.gps.db.db.MapDateTypeHandler;
10 | import lombok.Data;
11 |
12 | import java.sql.Blob;
13 | import java.util.Date;
14 |
15 | import static org.apache.ibatis.type.JdbcType.BLOB;
16 |
17 | /**
18 | *
19 | *
20 | * @author zb
21 | * @email zb@gmail.com
22 | * @date 2020-01-22 16:33:18
23 | */
24 | @Data
25 | @TableName("device_rec")
26 | public class DeviceRecEntity {
27 |
28 | /**
29 | *
30 | */
31 | @TableId(value = "id",type = IdType.INPUT)
32 | private String id;
33 | /**
34 | *
35 | */
36 | private String imei;
37 | /**
38 | * 录音时间
39 | */
40 | private Date recTime;
41 | /**
42 | * 录音时间
43 | */
44 | private Integer fileSize;
45 | /**
46 | * 录音内容
47 | */
48 | @TableField(typeHandler = BlobDataTypeHandler.class)
49 | private byte[] recData;
50 |
51 | }
52 |
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/entity/EventsEntity.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.entity;
2 |
3 | import com.baomidou.mybatisplus.annotation.IdType;
4 | import com.baomidou.mybatisplus.annotation.TableField;
5 | import com.baomidou.mybatisplus.annotation.TableId;
6 | import com.baomidou.mybatisplus.annotation.TableName;
7 |
8 | import java.util.Date;
9 | import java.util.Map;
10 |
11 | import com.gps.db.db.MapDateTypeHandler;
12 | import lombok.Data;
13 |
14 | /**
15 | *
16 | *
17 | * @author zb
18 | * @email zb@gmail.com
19 | * @date 2019-06-24 20:27:53
20 | */
21 | @Data
22 | @TableName("events")
23 | public class EventsEntity {
24 |
25 | @TableId(type = IdType.INPUT)
26 | private String id;
27 | private String imei;
28 | private String type;
29 | private String level;
30 | private Date occurTime;
31 | private Double longitude;
32 | private Double latitude;
33 | private String geofenceId;
34 | private String companyId;
35 | @TableField(typeHandler = MapDateTypeHandler.class)
36 | private Map attributes;
37 |
38 | }
39 |
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/entity/GroupsEntity.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.entity;
2 |
3 | import com.baomidou.mybatisplus.annotation.IdType;
4 | import com.baomidou.mybatisplus.annotation.TableField;
5 | import com.baomidou.mybatisplus.annotation.TableId;
6 | import com.baomidou.mybatisplus.annotation.TableName;
7 |
8 | import java.util.Date;
9 | import java.util.List;
10 |
11 | import lombok.Data;
12 |
13 | /**
14 | *
15 | *
16 | * @author zb
17 | * @email zb@gmail.com
18 | * @date 2019-06-24 20:27:53
19 | */
20 | @Data
21 | @TableName("t_groups")
22 | public class GroupsEntity {
23 |
24 | @TableId(value = "id",type = IdType.INPUT)
25 | private String id;
26 | private String parentId;
27 | private Long deptId;
28 | private String name;
29 | private Long maxUserNum;
30 | private Long maxDeviceNum;
31 | private String remark;
32 | private Long crtUserId;
33 | private Date crtTime;
34 |
35 | @TableField(exist=false)
36 | private List devices;
37 |
38 | }
39 |
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/entity/Jt809DevPlatEntity.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.entity;
2 |
3 | import com.baomidou.mybatisplus.annotation.IdType;
4 | import com.baomidou.mybatisplus.annotation.TableId;
5 | import com.baomidou.mybatisplus.annotation.TableName;
6 | import lombok.Data;
7 |
8 | /**
9 | *
10 | *
11 | * @author zb
12 | * @email zb@gmail.com
13 | * @date 2019-10-26 09:26:45
14 | */
15 | @Data
16 | @TableName("jt809_dev_plat")
17 | public class Jt809DevPlatEntity {
18 |
19 | @TableId(value = "id",type = IdType.INPUT)
20 | private Long id;
21 | private String imei;
22 | private String gnss;
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/entity/ProductEntity.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.entity;
2 |
3 | import com.baomidou.mybatisplus.annotation.IdType;
4 | import com.baomidou.mybatisplus.annotation.TableField;
5 | import com.baomidou.mybatisplus.annotation.TableId;
6 | import com.baomidou.mybatisplus.annotation.TableName;
7 |
8 | import java.io.Serializable;
9 | import java.util.Date;
10 | import java.util.List;
11 | import java.util.Map;
12 |
13 | import com.gps.db.db.ListDateTypeHandler;
14 | import com.gps.db.db.MapDateTypeHandler;
15 | import lombok.Data;
16 |
17 | /**
18 | *
19 | *
20 | * @author zb
21 | * @email zb@gmail.com
22 | * @date 2019-06-24 17:23:20
23 | */
24 | @Data
25 | @TableName("product")
26 | public class ProductEntity {
27 |
28 | @TableId(value = "id",type = IdType.INPUT)
29 | private String id;
30 | private String manufacturer;
31 | private String deviceModel;
32 | private String protocol;
33 | private String deviceType;
34 | private String commandType;
35 | @TableField(typeHandler = ListDateTypeHandler.class)
36 | private List functions;
37 | private String deviceDesc;
38 | private String reg;
39 |
40 | }
41 |
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/entity/RiskPointEntity.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.entity;
2 |
3 | import com.baomidou.mybatisplus.annotation.IdType;
4 | import com.baomidou.mybatisplus.annotation.TableId;
5 | import com.baomidou.mybatisplus.annotation.TableName;
6 | import lombok.Data;
7 |
8 | /**
9 | * Gps高风险点
10 | * @author qulong
11 | * @date 2020/2/3 14:08
12 | * @description
13 | */
14 | @Data
15 | @TableName("alarm")
16 | public class RiskPointEntity {
17 | @TableId(value = "id",type = IdType.INPUT)
18 | private String id;
19 | private Double longitude;
20 | private Double latitude;
21 | private String addressName;
22 | private String storeName;
23 | private String cityName;
24 | private String cityId;
25 | }
26 |
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/entity/UserDeviceEntity.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.entity;
2 |
3 | import com.baomidou.mybatisplus.annotation.IdType;
4 | import com.baomidou.mybatisplus.annotation.TableId;
5 | import com.baomidou.mybatisplus.annotation.TableName;
6 |
7 | import java.io.Serializable;
8 | import java.util.Date;
9 | import lombok.Data;
10 |
11 | /**
12 | *
13 | *
14 | * @author zb
15 | * @email zb@gmail.com
16 | * @date 2019-06-30 11:13:45
17 | */
18 | @Data
19 | @TableName("user_device")
20 | public class UserDeviceEntity {
21 |
22 | /**
23 | *
24 | */
25 | @TableId(value = "id",type = IdType.INPUT)
26 | private String id;
27 | /**
28 | *
29 | */
30 | private Long userId;
31 | /**
32 | *
33 | */
34 | private String deviceId;
35 |
36 | }
37 |
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/entity/UserGroupEntity.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.entity;
2 |
3 | import com.baomidou.mybatisplus.annotation.IdType;
4 | import com.baomidou.mybatisplus.annotation.TableId;
5 | import com.baomidou.mybatisplus.annotation.TableName;
6 |
7 | import java.io.Serializable;
8 | import java.util.Date;
9 | import lombok.Data;
10 |
11 | /**
12 | *
13 | *
14 | * @author zb
15 | * @email zb@gmail.com
16 | * @date 2019-06-30 11:13:45
17 | */
18 | @Data
19 | @TableName("user_group")
20 | public class UserGroupEntity {
21 |
22 | @TableId(type = IdType.INPUT)
23 | private String id;
24 | private Long userId;
25 | private String groupId;
26 |
27 | }
28 |
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/entityvo/DeviceGeofenceBindParam.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.entityvo;
2 |
3 | import java.util.List;
4 | import lombok.Data;
5 |
6 | /**
7 | * @author qulong
8 | * @date 2020/2/4 17:57
9 | * @description
10 | */
11 | @Data
12 | public class DeviceGeofenceBindParam {
13 | private String geofenceId;
14 | private List imeis;
15 | }
16 |
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/entityvo/GeofenceListVo.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.entityvo;
2 |
3 | import com.gps.db.entity.GeofenceEntity;
4 | import lombok.Data;
5 | import lombok.EqualsAndHashCode;
6 |
7 | /**
8 | * @author qulong
9 | * @date 2020/2/4 10:59
10 | * @description
11 | */
12 | @Data
13 | @EqualsAndHashCode(callSuper=false)
14 | public class GeofenceListVo extends GeofenceEntity {
15 | private Integer deviceCount;
16 | }
17 |
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/entityvo/PageVo.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.entityvo;
2 |
3 | import io.swagger.annotations.ApiModelProperty;
4 | import lombok.Data;
5 |
6 | import java.io.Serializable;
7 |
8 | /**
9 | * @author zwb
10 | */
11 | @Data
12 | public class PageVo implements Serializable{
13 |
14 | private static final long serialVersionUID = 1L;
15 |
16 | @ApiModelProperty(value = "页号")
17 | private Long pageNum;
18 |
19 | @ApiModelProperty(value = "页面大小")
20 | private Long pageSize;
21 |
22 | @ApiModelProperty(value = "排序字段")
23 | private String sort;
24 |
25 | @ApiModelProperty(value = "排序方式 asc/desc")
26 | private String order;
27 | }
28 |
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/entityvo/SearchVo.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.entityvo;
2 |
3 | import io.swagger.annotations.ApiModelProperty;
4 | import lombok.Data;
5 |
6 | import java.io.Serializable;
7 |
8 | /**
9 | * @author zwb
10 | */
11 | @Data
12 | public class SearchVo implements Serializable {
13 |
14 | @ApiModelProperty(value = "起始日期")
15 | private String startDate;
16 |
17 | @ApiModelProperty(value = "结束日期")
18 | private String endDate;
19 | }
20 |
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/enums/AuditWorkOrderStatus.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.enums;
2 |
3 | /**
4 | * 审核工单状态枚举
5 | *
6 | * @author haibin.tang
7 | * @create 2018-10-22 1:52 PM
8 | **/
9 | public enum AuditWorkOrderStatus {
10 | /**
11 | * 通过
12 | */
13 | PASS,
14 | /**
15 | * 驳回
16 | */
17 | REJECT
18 | }
19 |
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/enums/CheckDeviceAvailableSource.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.enums;
2 |
3 | /**
4 | * 校验设备来源
5 | *
6 | * @author haibin.tang
7 | * @create 2019-05-20 4:47 PM
8 | **/
9 | public enum CheckDeviceAvailableSource {
10 | /**
11 | * 安装
12 | */
13 | install,
14 | /**
15 | * 维护
16 | */
17 | maintain
18 | }
19 |
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/enums/ControlType.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.enums;
2 |
3 | /**
4 | * 命令类型
5 | */
6 | public enum ControlType {
7 | UNLOCKING("unlockType","开锁支持类型"),
8 | LOCKED("lockType", "关锁支持类型"),
9 | FINDCAR("carSearchType", "寻车支持类型"),
10 | INTERCEPTOPEN("parkingOilType", "设防(停车断油)支持类型"),
11 | INTERCEPTCLOSE("oilSupplyType", "撤防(通油)支持类型"),
12 | REBOOT("rebootDevice", "重启");
13 |
14 |
15 | private String value;
16 |
17 | private String desc;
18 |
19 | ControlType(String value, String desc) {
20 | this.value = value;
21 | this.desc = desc;
22 | }
23 |
24 | public String getValue() {
25 | return value;
26 | }
27 |
28 | public String getDesc() {
29 | return desc;
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/enums/DeviceFlowBehavior.java:
--------------------------------------------------------------------------------
1 | package com.gps.common.enums;
2 |
3 | import lombok.Getter;
4 |
5 | /**
6 | * 设备流转行为
7 | *
8 | * @author haibin.tang
9 | * @create 2019-05-17 3:55 PM
10 | **/
11 | @Getter
12 | public enum DeviceFlowBehavior {
13 | excel("导入"),
14 | a2b("出售"),
15 | a2c_c2c("转库"),
16 | replace_up("替换上"),
17 | replace_down("替换下"),
18 | install("安装"),
19 | c2a("退库"),
20 | loss("报失"),
21 | ;
22 |
23 | private String desc;
24 |
25 | DeviceFlowBehavior(String desc) {
26 | this.desc = desc;
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/enums/DeviceStatusEnum.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.enums;
2 |
3 | /**
4 | * 设备状态
5 | *
6 | * @author haibin.tang
7 | * @create 2018-10-24 3:59 PM
8 | **/
9 | public enum DeviceStatusEnum {
10 |
11 | BIND(1),
12 | UNBIND(0);
13 |
14 | private int value;
15 |
16 | DeviceStatusEnum(int value) {
17 | this.value = value;
18 | }
19 |
20 | public int getValue() {
21 | return value;
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/enums/DeviceType.java:
--------------------------------------------------------------------------------
1 | package com.gps.common.enums;
2 |
3 | import org.apache.commons.lang3.StringUtils;
4 |
5 | public enum DeviceType {
6 |
7 | WIRED(0, "有线"),
8 | WIRELESS(1, "无线");
9 |
10 | private int index;
11 | private String desc;
12 |
13 | DeviceType(int index, String desc) {
14 | this.index = index;
15 | this.desc = desc;
16 | }
17 |
18 | public static DeviceType getIndex(String desc) {
19 | for (DeviceType type : DeviceType.values()) {
20 | if (StringUtils.equals(type.getDesc(), desc)) {
21 | return type;
22 | }
23 | }
24 | return null;
25 | }
26 |
27 | public int getIndex() {
28 | return index;
29 | }
30 |
31 | public void setIndex(int index) {
32 | this.index = index;
33 | }
34 |
35 | public String getDesc() {
36 | return desc;
37 | }
38 |
39 | public void setDesc(String desc) {
40 | this.desc = desc;
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/enums/Repository.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.enums;
2 |
3 | import lombok.Getter;
4 |
5 | /**
6 | * 总部枚举
7 | * @author haibin.tang
8 | * @create 2019-05-16 3:14 PM
9 | **/
10 | @Getter
11 | public enum Repository {
12 |
13 | HQ("1", "总部");
14 |
15 | private String code;
16 |
17 | private String desc;
18 |
19 | Repository(String code, String desc) {
20 | this.code = code;
21 | this.desc = desc;
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/exception/RRException.java:
--------------------------------------------------------------------------------
1 |
2 | package com.gps.db.exception;
3 |
4 | /**
5 | * 自定义异常
6 | *
7 | * @author Mark sunlightcs@gmail.com
8 | */
9 | public class RRException extends RuntimeException {
10 | private static final long serialVersionUID = 1L;
11 |
12 | private String msg;
13 | private int code = 500;
14 |
15 | public RRException(String msg) {
16 | super(msg);
17 | this.msg = msg;
18 | }
19 |
20 | public RRException(String msg, Throwable e) {
21 | super(msg, e);
22 | this.msg = msg;
23 | }
24 |
25 | public RRException(String msg, int code) {
26 | super(msg);
27 | this.msg = msg;
28 | this.code = code;
29 | }
30 |
31 | public RRException(String msg, int code, Throwable e) {
32 | super(msg, e);
33 | this.msg = msg;
34 | this.code = code;
35 | }
36 |
37 | public String getMsg() {
38 | return msg;
39 | }
40 |
41 | public void setMsg(String msg) {
42 | this.msg = msg;
43 | }
44 |
45 | public int getCode() {
46 | return code;
47 | }
48 |
49 | public void setCode(int code) {
50 | this.code = code;
51 | }
52 |
53 |
54 | }
55 |
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/service/AlarmService.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.service;
2 |
3 | import com.baomidou.mybatisplus.extension.service.IService;
4 | import com.gps.db.dbutils.MyPage;
5 | import com.gps.db.entity.AlarmEntity;
6 |
7 | import java.util.Map;
8 |
9 | /**
10 | *
11 | *
12 | * @author zb
13 | * @email zb@gmail.com
14 | * @date 2019-06-24 20:27:53
15 | */
16 | public interface AlarmService extends IService {
17 |
18 | MyPage queryPage(Map params);
19 |
20 | MyPage queryPage(Long pageNum, Long pageSize, String orderField, String order, String imei);
21 |
22 | AlarmEntity findLastUnprocessAlarm(String imei, String alarm);
23 |
24 | boolean dismissAlarm(String imei, String alarmId, String prosUser, String remark);
25 | }
26 |
27 |
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/service/AlarmTypeService.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.service;
2 |
3 | import com.baomidou.mybatisplus.extension.service.IService;
4 | import com.gps.db.dbutils.MyPage;
5 | import com.gps.db.entity.AlarmTypeEntity;
6 |
7 | import java.util.Map;
8 |
9 | /**
10 | *
11 | *
12 | * @author zb
13 | * @email zb@gmail.com
14 | * @date 2019-06-30 11:13:45
15 | */
16 | public interface AlarmTypeService extends IService {
17 |
18 | MyPage queryPage(Map params);
19 | }
20 |
21 |
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/service/BaseIService.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.service;
2 |
3 | import com.baomidou.mybatisplus.core.conditions.Wrapper;
4 | import com.baomidou.mybatisplus.extension.service.IService;
5 | import com.gps.db.dbutils.MyPage;
6 | import com.gps.db.entity.CommandTypeEntity;
7 |
8 |
9 | /**
10 | * @author zb
11 | * @email zb@gmail.com
12 | * @date 2019-06-30 11:13:45
13 | */
14 | public interface BaseIService extends IService {
15 |
16 | MyPage queryPage(Long pageNum, Long pageSize, String sort, String order,
17 | Wrapper queryWrapper);
18 |
19 | }
20 |
21 |
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/service/CommandLogsService.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.service;
2 |
3 | import com.baomidou.mybatisplus.extension.service.IService;
4 | import com.gps.db.entity.CommandLogsEntity;
5 | import com.gps.db.dbutils.MyPage;
6 |
7 | import java.util.Date;
8 | import java.util.Map;
9 |
10 | /**
11 | *
12 | *
13 | * @author zb
14 | * @email zb@gmail.com
15 | * @date 2019-06-24 20:27:53
16 | */
17 | public interface CommandLogsService extends IService {
18 |
19 | MyPage queryPage(Map params);
20 |
21 | MyPage queryPage(Long pageNum, Long pageSize, String orderField, String order,
22 | String imei, Date startDate, Date endDate);
23 | }
24 |
25 |
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/service/CommandService.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.service;
2 |
3 | import com.baomidou.mybatisplus.extension.service.IService;
4 | import com.gps.db.dbutils.MyPage;
5 | import com.gps.db.entity.CommandEntity;
6 |
7 | import java.util.Map;
8 |
9 | /**
10 | *
11 | *
12 | * @author zb
13 | * @email zb@gmail.com
14 | * @date 2019-06-24 20:27:53
15 | */
16 | public interface CommandService extends IService {
17 |
18 | MyPage queryPage(Map params);
19 | }
20 |
21 |
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/service/CommandTypeMService.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.service;
2 |
3 | import com.baomidou.mybatisplus.extension.service.IService;
4 | import com.gps.db.dbutils.MyPage;
5 | import com.gps.db.entity.CommandTypeMEntity;
6 |
7 | import java.util.Map;
8 |
9 | /**
10 | *
11 | *
12 | * @author zb
13 | * @email zb@gmail.com
14 | * @date 2019-06-30 11:13:45
15 | */
16 | public interface CommandTypeMService extends IService {
17 |
18 | MyPage queryPage(Map params);
19 | }
20 |
21 |
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/service/CommandTypeService.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.service;
2 |
3 | import com.baomidou.mybatisplus.extension.service.IService;
4 | import com.gps.common.model.CommandType;
5 | import com.gps.db.dbutils.MyPage;
6 | import com.gps.db.entity.CommandTypeEntity;
7 |
8 | import java.util.List;
9 | import java.util.Map;
10 |
11 | /**
12 | *
13 | *
14 | * @author zb
15 | * @email zb@gmail.com
16 | * @date 2019-06-30 11:13:45
17 | */
18 | public interface CommandTypeService extends IService {
19 |
20 | MyPage queryPage(Map params);
21 |
22 | List getByImei(String imei);
23 | }
24 |
25 |
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/service/DeviceGeofenceService.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.service;
2 |
3 | import com.baomidou.mybatisplus.extension.service.IService;
4 | import com.gps.db.dbutils.MyPage;
5 | import com.gps.db.entity.DeviceGeofenceEntity;
6 |
7 | import java.util.Map;
8 |
9 | /**
10 | *
11 | *
12 | * @author zb
13 | * @email zb@gmail.com
14 | * @date 2019-06-24 20:27:53
15 | */
16 | public interface DeviceGeofenceService extends IService {
17 |
18 | MyPage queryPage(Map params);
19 | }
20 |
21 |
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/service/DeviceRecService.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.service;
2 |
3 | import com.baomidou.mybatisplus.extension.service.IService;
4 | import com.gps.db.dbutils.MyPage;
5 | import com.gps.db.entity.DeviceRecEntity;
6 |
7 | import java.util.Date;
8 | import java.util.List;
9 | import java.util.Map;
10 |
11 | /**
12 | *
13 | *
14 | * @author zb
15 | * @email zb@gmail.com
16 | * @date 2020-01-22 16:33:18
17 | */
18 | public interface DeviceRecService extends IService {
19 |
20 | MyPage queryPage(Map params);
21 |
22 | MyPage listAll(Long pageNum, Long pageSize, String sort, String order,
23 | String imei, Date startDate, Date endDate);
24 | }
25 |
26 |
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/service/DeviceService.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.service;
2 |
3 | import com.baomidou.mybatisplus.extension.service.IService;
4 | import com.gps.db.dbutils.MyPage;
5 | import com.gps.db.entity.DeviceEntity;
6 |
7 | import java.util.List;
8 | import java.util.Map;
9 |
10 | /**
11 | *
12 | *
13 | * @author chenshun
14 | * @email sunlightcs@gmail.com
15 | * @date 2019-06-24 17:23:20
16 | */
17 | public interface DeviceService extends IService {
18 |
19 | MyPage queryPage(Map params);
20 |
21 | MyPage listPage(Long pageNum, Long pageSize, String orderField, String order, String groupId, String imei);
22 |
23 | MyPage bindGeofenceList(Long pageNum, Long pageSize, String orderField, String order, String companyId, String imei, String geoId);
24 |
25 | MyPage unbindGeofenceList(Long pageNum, Long pageSize, String orderField, String order, String companyId, String imei);
26 |
27 | List listByUser();
28 |
29 | List listByImei(String imei);
30 |
31 | boolean updatePassword(String imei, String password, String newPassword);
32 | }
33 |
34 |
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/service/DeviceStatusService.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.service;
2 |
3 | import com.baomidou.mybatisplus.extension.service.IService;
4 | import com.gps.db.dbutils.MyPage;
5 | import com.gps.db.entity.DeviceStatusEntity;
6 |
7 | import java.util.List;
8 | import java.util.Map;
9 |
10 | /**
11 | *
12 | *
13 | * @author chenshun
14 | * @email sunlightcs@gmail.com
15 | * @date 2019-06-24 17:23:20
16 | */
17 | public interface DeviceStatusService extends IService {
18 |
19 | void updateDeviceWithCache(DeviceStatusEntity deviceStatus, boolean upDb, boolean upCache);
20 |
21 | DeviceStatusEntity getDeviceWithCache(String imei);
22 |
23 | List selectByImei(List list);
24 |
25 | void checkOfflineDevice();
26 |
27 | void removeByImei(String imei);
28 | }
29 |
30 |
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/service/EventsService.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.service;
2 |
3 | import com.baomidou.mybatisplus.extension.service.IService;
4 | import com.gps.db.dbutils.MyPage;
5 | import com.gps.db.entity.EventsEntity;
6 |
7 | import java.util.Map;
8 |
9 | /**
10 | *
11 | *
12 | * @author zb
13 | * @email zb@gmail.com
14 | * @date 2019-06-24 20:27:53
15 | */
16 | public interface EventsService extends IService {
17 |
18 | MyPage queryPage(Map params);
19 | }
20 |
21 |
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/service/GeofenceService.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.service;
2 |
3 | import com.baomidou.mybatisplus.extension.service.IService;
4 | import com.gps.db.dbutils.MyPage;
5 | import com.gps.db.entity.DeviceStatusEntity;
6 | import com.gps.db.entity.GeofenceEntity;
7 | import com.gps.common.model.Position;
8 |
9 | import com.gps.db.entityvo.GeofenceListVo;
10 | import java.util.List;
11 | import java.util.Map;
12 |
13 | /**
14 | *
15 | *
16 | * @author zb
17 | * @email zb@gmail.com
18 | * @date 2019-06-24 20:27:53
19 | */
20 | public interface GeofenceService extends IService {
21 |
22 | MyPage queryPage(Map params);
23 |
24 | List getCurrentDeviceGeofences(Position position);
25 |
26 | List getGeofenceList(String companyId);
27 |
28 | int calculateDevicesGeofences(DeviceStatusEntity deviceStatus, Position position);
29 | }
30 |
31 |
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/service/GroupsService.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.service;
2 |
3 | import com.baomidou.mybatisplus.extension.service.IService;
4 | import com.gps.db.dbutils.MyPage;
5 | import com.gps.db.entity.GroupsEntity;
6 |
7 | import java.util.List;
8 | import java.util.Map;
9 |
10 | /**
11 | *
12 | *
13 | * @author zb
14 | * @email zb@gmail.com
15 | * @date 2019-06-24 20:27:53
16 | */
17 | public interface GroupsService extends IService {
18 |
19 | MyPage queryPage(Map params);
20 |
21 | List listByUser();
22 | }
23 |
24 |
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/service/Jt809DevPlatService.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.service;
2 |
3 | import com.baomidou.mybatisplus.extension.service.IService;
4 | import com.gps.db.dbutils.MyPage;
5 | import com.gps.db.entity.Jt809DevPlatEntity;
6 |
7 | import java.util.List;
8 | import java.util.Map;
9 |
10 | /**
11 | *
12 | *
13 | * @author zb
14 | * @email zb@gmail.com
15 | * @date 2019-06-26 09:26:45
16 | */
17 | public interface Jt809DevPlatService extends IService {
18 |
19 | MyPage queryPage(Map params);
20 | List getGnssByImei(String imei);
21 |
22 | }
23 |
24 |
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/service/Jt809UserService.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.service;
2 |
3 | import com.gps.db.entity.Jt809UserEntity;
4 |
5 | import java.util.List;
6 |
7 | /**
8 | * @author zb
9 | * @email zb@gmail.com
10 | * @date 2019-06-26 09:26:45
11 | */
12 | public interface Jt809UserService extends BaseIService {
13 |
14 | List getAllUpUsers();
15 | }
16 |
17 |
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/service/PositionsService.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.service;
2 |
3 | import com.baomidou.mybatisplus.extension.service.IService;
4 | import com.gps.db.dbutils.MyPage;
5 | import com.gps.db.entity.PositionsEntity;
6 |
7 | import java.util.Map;
8 |
9 | /**
10 | *
11 | *
12 | * @author zb
13 | * @email zb@gmail.com
14 | * @date 2019-06-24 20:27:53
15 | */
16 | public interface PositionsService extends IService {
17 |
18 | MyPage queryPage(Map params);
19 | }
20 |
21 |
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/service/ProductService.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.service;
2 |
3 | import com.baomidou.mybatisplus.extension.service.IService;
4 | import com.gps.db.dbutils.MyPage;
5 | import com.gps.db.entity.ProductEntity;
6 |
7 | import java.util.Map;
8 |
9 | /**
10 | *
11 | *
12 | * @author chenshun
13 | * @email sunlightcs@gmail.com
14 | * @date 2019-06-24 17:23:20
15 | */
16 | public interface ProductService extends IService {
17 |
18 | MyPage queryPage(Map params);
19 | }
20 |
21 |
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/service/RiskPointService.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.service;
2 |
3 | import com.baomidou.mybatisplus.extension.service.IService;
4 | import com.gps.db.entity.RiskPointEntity;
5 |
6 | /**
7 | * @author qulong
8 | * @date 2020/2/3 14:21
9 | * @description
10 | */
11 | public interface RiskPointService extends IService {
12 | }
13 |
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/service/UserDeviceService.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.service;
2 |
3 | import com.baomidou.mybatisplus.extension.service.IService;
4 | import com.gps.db.dbutils.MyPage;
5 | import com.gps.db.entity.UserDeviceEntity;
6 |
7 | import java.util.Map;
8 |
9 | /**
10 | *
11 | *
12 | * @author zb
13 | * @email zb@gmail.com
14 | * @date 2019-06-30 11:13:45
15 | */
16 | public interface UserDeviceService extends IService {
17 |
18 | MyPage queryPage(Map params);
19 | }
20 |
21 |
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/service/UserGroupService.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.service;
2 |
3 | import com.baomidou.mybatisplus.extension.service.IService;
4 | import com.gps.db.dbutils.MyPage;
5 | import com.gps.db.entity.UserGroupEntity;
6 |
7 | import java.util.List;
8 | import java.util.Map;
9 |
10 | /**
11 | *
12 | *
13 | * @author zb
14 | * @email zb@gmail.com
15 | * @date 2019-06-30 11:13:45
16 | */
17 | public interface UserGroupService extends IService {
18 |
19 | MyPage queryPage(Map params);
20 |
21 | void saveOrUpdate(Long userId, List gourpIdList);
22 |
23 | List queryGroupIdList(long userId);
24 | }
25 |
26 |
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/service/impl/AlarmTypeServiceImpl.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.service.impl;
2 |
3 | import com.gps.db.dbutils.MyQuery;
4 | import com.gps.db.dbutils.MyPage;
5 | import org.springframework.stereotype.Service;
6 | import java.util.Map;
7 | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
8 | import com.baomidou.mybatisplus.core.metadata.IPage;
9 | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
10 |
11 | import com.gps.db.dao.AlarmTypeDao;
12 | import com.gps.db.entity.AlarmTypeEntity;
13 | import com.gps.db.service.AlarmTypeService;
14 |
15 |
16 | @Service("alarmTypeService")
17 | public class AlarmTypeServiceImpl extends ServiceImpl implements AlarmTypeService {
18 |
19 | @Override
20 | public MyPage queryPage(Map params) {
21 | IPage page = this.page(
22 | MyQuery.getPage(params),
23 | new QueryWrapper()
24 | );
25 |
26 | return MyPage.create(page);
27 | }
28 |
29 | }
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/service/impl/BaseServiceImpl.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.service.impl;
2 |
3 | import com.baomidou.mybatisplus.core.conditions.Wrapper;
4 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
5 | import com.baomidou.mybatisplus.core.metadata.IPage;
6 | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
7 | import com.gps.db.dbutils.MyPage;
8 | import com.gps.db.dbutils.MyQuery;
9 | import com.gps.db.service.BaseIService;
10 |
11 | public class BaseServiceImpl, T> extends ServiceImpl implements BaseIService {
12 |
13 | public MyPage queryPage(Long pageNum, Long pageSize, String sort, String order,
14 | Wrapper queryWrapper) {
15 | IPage pageO = MyQuery.getPage(pageNum, pageSize, sort, order);
16 | IPage page = this.page(pageO, queryWrapper);
17 | return MyPage.create(page);
18 | }
19 |
20 | }
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/service/impl/CommandServiceImpl.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.service.impl;
2 |
3 | import com.gps.db.dbutils.MyQuery;
4 | import com.gps.db.dbutils.MyPage;
5 | import com.gps.db.service.CommandService;
6 | import org.springframework.stereotype.Service;
7 | import java.util.Map;
8 | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
9 | import com.baomidou.mybatisplus.core.metadata.IPage;
10 | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
11 |
12 | import com.gps.db.dao.CommandDao;
13 | import com.gps.db.entity.CommandEntity;
14 |
15 |
16 | @Service("commandService")
17 | public class CommandServiceImpl extends ServiceImpl implements CommandService {
18 |
19 | @Override
20 | public MyPage queryPage(Map params) {
21 | IPage page = this.page(
22 | MyQuery.getPage(params),
23 | new QueryWrapper()
24 | );
25 |
26 | return MyPage.create(page);
27 | }
28 |
29 | }
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/service/impl/CommandTypeMServiceImpl.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.service.impl;
2 |
3 | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4 | import com.baomidou.mybatisplus.core.metadata.IPage;
5 | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
6 | import com.gps.db.dao.CommandTypeMDao;
7 | import com.gps.db.dbutils.MyQuery;
8 | import com.gps.db.dbutils.MyPage;
9 | import com.gps.db.entity.CommandTypeMEntity;
10 | import com.gps.db.service.CommandTypeMService;
11 | import org.springframework.stereotype.Service;
12 |
13 | import java.util.Map;
14 |
15 |
16 | @Service("commandTypeMService")
17 | public class CommandTypeMServiceImpl extends ServiceImpl implements CommandTypeMService {
18 |
19 | @Override
20 | public MyPage queryPage(Map params) {
21 | IPage page = this.page(
22 | MyQuery.getPage(params),
23 | new QueryWrapper()
24 | );
25 |
26 | return MyPage.create(page);
27 | }
28 |
29 | }
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/service/impl/DeviceGeofenceServiceImpl.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.service.impl;
2 |
3 | import com.gps.db.dbutils.MyQuery;
4 | import com.gps.db.dbutils.MyPage;
5 | import org.springframework.stereotype.Service;
6 | import java.util.Map;
7 | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
8 | import com.baomidou.mybatisplus.core.metadata.IPage;
9 | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
10 |
11 | import com.gps.db.dao.DeviceGeofenceDao;
12 | import com.gps.db.entity.DeviceGeofenceEntity;
13 | import com.gps.db.service.DeviceGeofenceService;
14 |
15 |
16 | @Service("deviceGeofenceService")
17 | public class DeviceGeofenceServiceImpl extends ServiceImpl implements DeviceGeofenceService {
18 |
19 | @Override
20 | public MyPage queryPage(Map params) {
21 | IPage page = this.page(
22 | MyQuery.getPage(params),
23 | new QueryWrapper()
24 | );
25 |
26 | return MyPage.create(page);
27 | }
28 |
29 | }
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/service/impl/EventsServiceImpl.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.service.impl;
2 |
3 | import com.gps.db.dbutils.MyQuery;
4 | import com.gps.db.dbutils.MyPage;
5 | import org.springframework.stereotype.Service;
6 | import java.util.Map;
7 | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
8 | import com.baomidou.mybatisplus.core.metadata.IPage;
9 | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
10 |
11 | import com.gps.db.dao.EventsDao;
12 | import com.gps.db.entity.EventsEntity;
13 | import com.gps.db.service.EventsService;
14 |
15 |
16 | @Service("eventsService")
17 | public class EventsServiceImpl extends ServiceImpl implements EventsService {
18 |
19 | @Override
20 | public MyPage queryPage(Map params) {
21 | IPage page = this.page(
22 | MyQuery.getPage(params),
23 | new QueryWrapper()
24 | );
25 |
26 | return MyPage.create(page);
27 | }
28 |
29 | }
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/service/impl/GroupsServiceImpl.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.service.impl;
2 |
3 | import com.gps.db.dbutils.MyQuery;
4 | import com.gps.db.dbutils.MyPage;
5 | import com.gps.db.service.GroupsService;
6 | import org.springframework.stereotype.Service;
7 |
8 | import java.util.List;
9 | import java.util.Map;
10 | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
11 | import com.baomidou.mybatisplus.core.metadata.IPage;
12 | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
13 |
14 | import com.gps.db.dao.GroupsDao;
15 | import com.gps.db.entity.GroupsEntity;
16 |
17 |
18 | @Service("groupsService")
19 | public class GroupsServiceImpl extends ServiceImpl implements GroupsService {
20 |
21 | @Override
22 | public MyPage queryPage(Map params) {
23 | IPage page = this.page(
24 | MyQuery.getPage(params),
25 | new QueryWrapper()
26 | );
27 |
28 | return MyPage.create(page);
29 | }
30 |
31 | @Override
32 | public List listByUser() {
33 | return baseMapper.listByUser();
34 | }
35 |
36 | }
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/service/impl/Jt809DevPlatServiceImpl.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.service.impl;
2 |
3 | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4 | import com.baomidou.mybatisplus.core.metadata.IPage;
5 | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
6 | import com.gps.db.dao.Jt809DevPlatDao;
7 | import com.gps.db.dbutils.MyPage;
8 | import com.gps.db.dbutils.MyQuery;
9 | import com.gps.db.entity.Jt809DevPlatEntity;
10 | import com.gps.db.service.Jt809DevPlatService;
11 | import org.springframework.stereotype.Service;
12 |
13 | import java.util.List;
14 | import java.util.Map;
15 |
16 |
17 | @Service("jt809DevPlatService")
18 | public class Jt809DevPlatServiceImpl extends ServiceImpl implements Jt809DevPlatService {
19 |
20 | @Override
21 | public MyPage queryPage(Map params) {
22 | IPage page = this.page(
23 | MyQuery.getPage(params),
24 | new QueryWrapper<>()
25 | );
26 |
27 | return MyPage.create(page);
28 | }
29 |
30 | @Override
31 | public List getGnssByImei(String imei) {
32 | return baseMapper.getGnssByImei(imei);
33 | }
34 |
35 | }
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/service/impl/Jt809UserServiceImpl.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.service.impl;
2 |
3 | import com.gps.db.dao.Jt809UserDao;
4 | import com.gps.db.entity.Jt809UserEntity;
5 | import com.gps.db.service.Jt809UserService;
6 | import org.springframework.stereotype.Service;
7 |
8 | import java.util.List;
9 |
10 | @Service("jt809UserService")
11 | public class Jt809UserServiceImpl extends BaseServiceImpl implements Jt809UserService {
12 |
13 | public List getAllUpUsers() {
14 | return baseMapper.findAllUpUsers();
15 | }
16 |
17 | }
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/service/impl/PositionsServiceImpl.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.service.impl;
2 |
3 | import com.gps.db.dbutils.MyQuery;
4 | import com.gps.db.dbutils.MyPage;
5 | import com.gps.db.service.PositionsService;
6 | import org.springframework.stereotype.Service;
7 | import java.util.Map;
8 | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
9 | import com.baomidou.mybatisplus.core.metadata.IPage;
10 | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
11 |
12 | import com.gps.db.dao.PositionsDao;
13 | import com.gps.db.entity.PositionsEntity;
14 |
15 |
16 | @Service("positionsService")
17 | public class PositionsServiceImpl extends ServiceImpl implements PositionsService {
18 |
19 | @Override
20 | public MyPage queryPage(Map params) {
21 | IPage page = this.page(
22 | MyQuery.getPage(params),
23 | new QueryWrapper()
24 | );
25 |
26 | return MyPage.create(page);
27 | }
28 |
29 | }
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/service/impl/ProductServiceImpl.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.service.impl;
2 |
3 | import com.gps.db.dao.ProductDao;
4 | import com.gps.db.dbutils.MyQuery;
5 | import com.gps.db.dbutils.MyPage;
6 | import com.gps.db.entity.ProductEntity;
7 | import com.gps.db.service.ProductService;
8 | import org.springframework.stereotype.Service;
9 | import java.util.Map;
10 | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
11 | import com.baomidou.mybatisplus.core.metadata.IPage;
12 | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
13 |
14 |
15 | @Service("productService")
16 | public class ProductServiceImpl extends ServiceImpl implements ProductService {
17 |
18 | @Override
19 | public MyPage queryPage(Map params) {
20 | IPage page = this.page(
21 | MyQuery.getPage(params),
22 | new QueryWrapper()
23 | );
24 |
25 | return MyPage.create(page);
26 | }
27 |
28 | }
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/service/impl/RiskPointServiceImpl.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.service.impl;
2 |
3 | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
4 | import com.gps.db.dao.RiskPointDao;
5 | import com.gps.db.entity.RiskPointEntity;
6 | import com.gps.db.service.RiskPointService;
7 |
8 | /**
9 | * @author qulong
10 | * @date 2020/2/3 14:22
11 | * @description
12 | */
13 | public class RiskPointServiceImpl extends ServiceImpl implements RiskPointService {
14 | }
15 |
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/service/impl/UserDeviceServiceImpl.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.service.impl;
2 |
3 | import com.gps.db.dbutils.MyQuery;
4 | import com.gps.db.dbutils.MyPage;
5 | import com.gps.db.service.UserDeviceService;
6 | import org.springframework.stereotype.Service;
7 | import java.util.Map;
8 | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
9 | import com.baomidou.mybatisplus.core.metadata.IPage;
10 | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
11 |
12 | import com.gps.db.dao.UserDeviceDao;
13 | import com.gps.db.entity.UserDeviceEntity;
14 |
15 |
16 | @Service("userDeviceService")
17 | public class UserDeviceServiceImpl extends ServiceImpl implements UserDeviceService {
18 |
19 | @Override
20 | public MyPage queryPage(Map params) {
21 | IPage page = this.page(
22 | MyQuery.getPage(params),
23 | new QueryWrapper()
24 | );
25 |
26 | return MyPage.create(page);
27 | }
28 |
29 | }
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/utils/AttrUtil.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.utils;
2 |
3 | import java.util.Map;
4 |
5 | public class AttrUtil {
6 |
7 | public static double getDouble(Map attributes, String key) {
8 | if (attributes == null) {
9 | return 0.0;
10 | }
11 | if (attributes.containsKey(key)) {
12 | return ((Number) attributes.get(key)).doubleValue();
13 | } else {
14 | return 0.0;
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/utils/GeofenceUtil.java:
--------------------------------------------------------------------------------
1 | package com.gps.db.utils;
2 |
3 | import com.gps.db.entity.GeofenceEntity;
4 | import com.gps.common.model.Geofence;
5 |
6 | import java.text.ParseException;
7 |
8 | public class GeofenceUtil {
9 |
10 | public static Geofence fromEntityGeofence(GeofenceEntity g) {
11 | Geofence geofence = new Geofence();
12 | try {
13 | geofence.setArea(g.getArea());
14 | } catch (ParseException e) {
15 | e.printStackTrace();
16 | }
17 | geofence.setName(g.getName());
18 | geofence.setDescription(g.getDescription());
19 | // geofence.setImei(g.getId());
20 | return geofence;
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/gps-db/src/main/java/com/gps/db/utils/MapUtils.java:
--------------------------------------------------------------------------------
1 |
2 | package com.gps.db.utils;
3 |
4 | import java.util.HashMap;
5 |
6 |
7 | /**
8 | * Map工具类
9 | *
10 | * @author Mark sunlightcs@gmail.com
11 | */
12 | public class MapUtils extends HashMap