diff --git a/dc3-api/dc3-api-auth/src/main/java/com/pnoker/api/center/auth/feign/AuthFeignClient.java b/dc3-api/dc3-api-auth/src/main/java/com/pnoker/api/center/auth/feign/AuthFeignClient.java index 380320b9b..bac53bb09 100644 --- a/dc3-api/dc3-api-auth/src/main/java/com/pnoker/api/center/auth/feign/AuthFeignClient.java +++ b/dc3-api/dc3-api-auth/src/main/java/com/pnoker/api/center/auth/feign/AuthFeignClient.java @@ -16,12 +16,11 @@ package com.pnoker.api.center.auth.feign; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.pnoker.api.center.auth.hystrix.AuthFeignApiHystrix; import com.pnoker.common.base.bean.Response; import com.pnoker.common.base.constant.Common; -import com.pnoker.common.base.dto.transfer.RtmpDto; -import com.pnoker.common.base.entity.rtmp.Rtmp; +import com.pnoker.common.base.dto.auth.TokenDto; +import com.pnoker.common.base.entity.auth.User; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; @@ -34,70 +33,34 @@ import org.springframework.web.bind.annotation.RequestBody; * @author : pnoker * @email : pnokers@icloud.com */ -@FeignClient(path = "/api/v3/center/auth", name = Common.Service.DC3_AUTH, fallbackFactory = AuthFeignApiHystrix.class) +@FeignClient(path = Common.Service.DC3_AUTH_URL_PREFIX, name = Common.Service.DC3_AUTH, fallbackFactory = AuthFeignApiHystrix.class) public interface AuthFeignClient { /** - * 新增 新增 Rtmp 任务记录 + * 检测用户名是否存在 * - * @param rtmp + * @param username * @return true/false */ - @PostMapping("/add") - Response add(@RequestBody Rtmp rtmp); + @GetMapping("/check/exist/{username}") + Response checkExist(@PathVariable(value = "username") String username); /** - * 删除 根据 ID 删除 Rtmp + * 检测用Token是否有效 * - * @param id rtmpId + * @param token * @return true/false */ - @PostMapping("/delete/{id}") - Response delete(@PathVariable(value = "id") Long id); + @GetMapping("/check/token/{token}") + Response checkToken(@PathVariable(value = "token") String token); /** - * 修改 修改 Rtmp 任务记录 + * 获取Token * - * @param rtmp + * @param user * @return true/false */ - @PostMapping("/update") - Response update(@RequestBody Rtmp rtmp); - - /** - * 查询 根据ID查询 Rtmp - * - * @param id - * @return rtmp - */ - @GetMapping("/id/{id}") - Response selectById(@PathVariable(value = "id") Long id); - - /** - * 分页查询 Rtmp - * - * @param rtmpDto - * @return rtmpList - */ - @PostMapping("/list") - Response> list(@RequestBody(required = false) RtmpDto rtmpDto); - - /** - * 启动 Rtmp 转码任务 - * - * @param id - * @return true/false - */ - @PostMapping("/start/{id}") - Response start(@PathVariable(value = "id") Long id); - - /** - * 停止 Rtmp 转码任务 - * - * @param id - * @return true/false - */ - @PostMapping("/stop/{id}") - Response stop(@PathVariable(value = "id") Long id); + @PostMapping("/token") + Response token(@RequestBody User user); } diff --git a/dc3-api/dc3-api-auth/src/main/java/com/pnoker/api/center/auth/hystrix/AuthFeignApiHystrix.java b/dc3-api/dc3-api-auth/src/main/java/com/pnoker/api/center/auth/hystrix/AuthFeignApiHystrix.java index bda91f0aa..61e84b831 100644 --- a/dc3-api/dc3-api-auth/src/main/java/com/pnoker/api/center/auth/hystrix/AuthFeignApiHystrix.java +++ b/dc3-api/dc3-api-auth/src/main/java/com/pnoker/api/center/auth/hystrix/AuthFeignApiHystrix.java @@ -16,11 +16,10 @@ package com.pnoker.api.center.auth.hystrix; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.pnoker.api.center.auth.feign.AuthFeignClient; import com.pnoker.common.base.bean.Response; -import com.pnoker.common.base.dto.transfer.RtmpDto; -import com.pnoker.common.base.entity.rtmp.Rtmp; +import com.pnoker.common.base.dto.auth.TokenDto; +import com.pnoker.common.base.entity.auth.User; import feign.hystrix.FallbackFactory; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; @@ -37,42 +36,23 @@ public class AuthFeignApiHystrix implements FallbackFactory { @Override public AuthFeignClient create(Throwable throwable) { - String message = throwable.getMessage() == null ? "No available server for client: DC3-RTMP" : throwable.getMessage(); - log.error("RtmpTransferFeignApi:{},hystrix服务降级处理", message, throwable); + String message = throwable.getMessage() == null ? "No available server for client: DC3-AUTH" : throwable.getMessage(); + log.error("AuthTransferFeignApi:{},hystrix服务降级处理", message, throwable); return new AuthFeignClient() { + @Override - public Response add(Rtmp rtmp) { + public Response checkExist(String username) { return Response.fail(message); } @Override - public Response delete(Long id) { + public Response checkToken(String token) { return Response.fail(message); } @Override - public Response update(Rtmp rtmp) { - return Response.fail(message); - } - - @Override - public Response selectById(Long id) { - return Response.fail(message); - } - - @Override - public Response> list(RtmpDto rtmpDto) { - return Response.fail(message); - } - - @Override - public Response start(Long id) { - return Response.fail(message); - } - - @Override - public Response stop(Long id) { + public Response token(User user) { return Response.fail(message); } }; diff --git a/dc3-api/dc3-api-dbs/src/main/java/com/pnoker/dbs/api/rtmp/feign/RtmpDbsFeignClient.java b/dc3-api/dc3-api-dbs/src/main/java/com/pnoker/dbs/api/rtmp/feign/RtmpDbsFeignClient.java index b1be08425..019088fba 100644 --- a/dc3-api/dc3-api-dbs/src/main/java/com/pnoker/dbs/api/rtmp/feign/RtmpDbsFeignClient.java +++ b/dc3-api/dc3-api-dbs/src/main/java/com/pnoker/dbs/api/rtmp/feign/RtmpDbsFeignClient.java @@ -34,14 +34,14 @@ import org.springframework.web.bind.annotation.RequestBody; * @author : pnoker * @email : pnokers@icloud.com */ -@FeignClient(path = "/api/v3/center/dbs/rtmp", name = Common.Service.DC3_DBS, fallbackFactory = RtmpDbsFeignHystrix.class) +@FeignClient(path = Common.Service.DC3_DBS_RTMP_URL_PREFIX, name = Common.Service.DC3_DBS, fallbackFactory = RtmpDbsFeignHystrix.class) public interface RtmpDbsFeignClient { /** * 新增 新增 Rtmp 任务记录 * * @param rtmp - * @return true/false + * @return rtmpId */ @PostMapping("/add") Response add(@RequestBody Rtmp rtmp); diff --git a/dc3-api/dc3-api-dbs/src/main/java/com/pnoker/dbs/api/user/feign/UserDbsFeignClient.java b/dc3-api/dc3-api-dbs/src/main/java/com/pnoker/dbs/api/user/feign/UserDbsFeignClient.java index c46e845e0..2400f396c 100644 --- a/dc3-api/dc3-api-dbs/src/main/java/com/pnoker/dbs/api/user/feign/UserDbsFeignClient.java +++ b/dc3-api/dc3-api-dbs/src/main/java/com/pnoker/dbs/api/user/feign/UserDbsFeignClient.java @@ -19,8 +19,8 @@ package com.pnoker.dbs.api.user.feign; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.pnoker.common.base.bean.Response; import com.pnoker.common.base.constant.Common; -import com.pnoker.common.base.dto.UserDto; -import com.pnoker.common.base.entity.User; +import com.pnoker.common.base.dto.auth.UserDto; +import com.pnoker.common.base.entity.auth.User; import com.pnoker.dbs.api.user.hystrix.UserDbsFeignHystrix; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; @@ -34,14 +34,14 @@ import org.springframework.web.bind.annotation.RequestBody; * @author : pnoker * @email : pnokers@icloud.com */ -@FeignClient(path = "/api/v3/center/dbs/user", name = Common.Service.DC3_DBS, fallbackFactory = UserDbsFeignHystrix.class) +@FeignClient(path = Common.Service.DC3_DBS_USER_URL_PREFIX, name = Common.Service.DC3_DBS, fallbackFactory = UserDbsFeignHystrix.class) public interface UserDbsFeignClient { /** * 新增 新增 User 记录 * * @param user - * @return true/false + * @return userId */ @PostMapping("/add") Response add(@RequestBody User user); diff --git a/dc3-api/dc3-api-dbs/src/main/java/com/pnoker/dbs/api/user/hystrix/UserDbsFeignHystrix.java b/dc3-api/dc3-api-dbs/src/main/java/com/pnoker/dbs/api/user/hystrix/UserDbsFeignHystrix.java index ceb03c741..f3b0fff87 100644 --- a/dc3-api/dc3-api-dbs/src/main/java/com/pnoker/dbs/api/user/hystrix/UserDbsFeignHystrix.java +++ b/dc3-api/dc3-api-dbs/src/main/java/com/pnoker/dbs/api/user/hystrix/UserDbsFeignHystrix.java @@ -18,8 +18,8 @@ package com.pnoker.dbs.api.user.hystrix; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.pnoker.common.base.bean.Response; -import com.pnoker.common.base.dto.UserDto; -import com.pnoker.common.base.entity.User; +import com.pnoker.common.base.dto.auth.UserDto; +import com.pnoker.common.base.entity.auth.User; import com.pnoker.dbs.api.user.feign.UserDbsFeignClient; import feign.hystrix.FallbackFactory; import lombok.extern.slf4j.Slf4j; diff --git a/dc3-api/dc3-api-rtmp/src/main/java/com/pnoker/api/transfer/rtmp/feign/RtmpTransferFeignClient.java b/dc3-api/dc3-api-rtmp/src/main/java/com/pnoker/api/transfer/rtmp/feign/RtmpTransferFeignClient.java index 813c12ddd..9ff146ed7 100644 --- a/dc3-api/dc3-api-rtmp/src/main/java/com/pnoker/api/transfer/rtmp/feign/RtmpTransferFeignClient.java +++ b/dc3-api/dc3-api-rtmp/src/main/java/com/pnoker/api/transfer/rtmp/feign/RtmpTransferFeignClient.java @@ -34,7 +34,7 @@ import org.springframework.web.bind.annotation.RequestBody; * @author : pnoker * @email : pnokers@icloud.com */ -@FeignClient(path = "/api/v3/transfer/rtmp", name = Common.Service.DC3_RTMP, fallbackFactory = RtmpTransferFeignApiHystrix.class) +@FeignClient(path = Common.Service.DC3_RTMP_URL_PREFIX, name = Common.Service.DC3_RTMP, fallbackFactory = RtmpTransferFeignApiHystrix.class) public interface RtmpTransferFeignClient { /** diff --git a/dc3-center/dc3-dbs/src/main/java/com/pnoker/center/dbs/api/RtmpDbsApi.java b/dc3-center/dc3-dbs/src/main/java/com/pnoker/center/dbs/api/RtmpDbsApi.java index 72c94aee4..c66fa55f7 100644 --- a/dc3-center/dc3-dbs/src/main/java/com/pnoker/center/dbs/api/RtmpDbsApi.java +++ b/dc3-center/dc3-dbs/src/main/java/com/pnoker/center/dbs/api/RtmpDbsApi.java @@ -19,7 +19,8 @@ package com.pnoker.center.dbs.api; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.pnoker.center.dbs.service.RtmpService; import com.pnoker.common.base.bean.Response; -import com.pnoker.common.base.dto.PageInfo; +import com.pnoker.common.base.constant.Common; +import com.pnoker.common.base.bean.PageInfo; import com.pnoker.common.base.dto.transfer.RtmpDto; import com.pnoker.common.base.entity.rtmp.Rtmp; import com.pnoker.dbs.api.rtmp.feign.RtmpDbsFeignClient; @@ -39,7 +40,7 @@ import java.util.Optional; */ @Slf4j @RestController -@RequestMapping("/api/v3/center/dbs/rtmp") +@RequestMapping(Common.Service.DC3_DBS_RTMP_URL_PREFIX) public class RtmpDbsApi implements RtmpDbsFeignClient { @Resource private RtmpService rtmpService; diff --git a/dc3-center/dc3-dbs/src/main/java/com/pnoker/center/dbs/api/UserDbsApi.java b/dc3-center/dc3-dbs/src/main/java/com/pnoker/center/dbs/api/UserDbsApi.java index ae4cb9698..6fa6a58c0 100644 --- a/dc3-center/dc3-dbs/src/main/java/com/pnoker/center/dbs/api/UserDbsApi.java +++ b/dc3-center/dc3-dbs/src/main/java/com/pnoker/center/dbs/api/UserDbsApi.java @@ -19,9 +19,10 @@ package com.pnoker.center.dbs.api; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.pnoker.center.dbs.service.UserService; import com.pnoker.common.base.bean.Response; -import com.pnoker.common.base.dto.PageInfo; -import com.pnoker.common.base.dto.UserDto; -import com.pnoker.common.base.entity.User; +import com.pnoker.common.base.constant.Common; +import com.pnoker.common.base.bean.PageInfo; +import com.pnoker.common.base.dto.auth.UserDto; +import com.pnoker.common.base.entity.auth.User; import com.pnoker.dbs.api.user.feign.UserDbsFeignClient; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang.StringUtils; @@ -40,7 +41,7 @@ import java.util.Optional; */ @Slf4j @RestController -@RequestMapping("/api/v3/center/dbs/user") +@RequestMapping(Common.Service.DC3_DBS_USER_URL_PREFIX) public class UserDbsApi implements UserDbsFeignClient { @Resource private UserService userService; diff --git a/dc3-center/dc3-dbs/src/main/java/com/pnoker/center/dbs/mapper/UserMapper.java b/dc3-center/dc3-dbs/src/main/java/com/pnoker/center/dbs/mapper/UserMapper.java index a033c066a..26a868488 100644 --- a/dc3-center/dc3-dbs/src/main/java/com/pnoker/center/dbs/mapper/UserMapper.java +++ b/dc3-center/dc3-dbs/src/main/java/com/pnoker/center/dbs/mapper/UserMapper.java @@ -17,7 +17,7 @@ package com.pnoker.center.dbs.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.pnoker.common.base.entity.User; +import com.pnoker.common.base.entity.auth.User; import org.apache.ibatis.annotations.Mapper; /** diff --git a/dc3-center/dc3-dbs/src/main/java/com/pnoker/center/dbs/service/UserService.java b/dc3-center/dc3-dbs/src/main/java/com/pnoker/center/dbs/service/UserService.java index 029d3aea2..d124b1985 100644 --- a/dc3-center/dc3-dbs/src/main/java/com/pnoker/center/dbs/service/UserService.java +++ b/dc3-center/dc3-dbs/src/main/java/com/pnoker/center/dbs/service/UserService.java @@ -16,7 +16,7 @@ package com.pnoker.center.dbs.service; -import com.pnoker.common.base.entity.User; +import com.pnoker.common.base.entity.auth.User; import com.pnoker.common.base.service.BaseService; /** diff --git a/dc3-center/dc3-dbs/src/main/java/com/pnoker/center/dbs/service/impl/RtmpServiceImpl.java b/dc3-center/dc3-dbs/src/main/java/com/pnoker/center/dbs/service/impl/RtmpServiceImpl.java index f4d9f20ff..a4d3b8f47 100644 --- a/dc3-center/dc3-dbs/src/main/java/com/pnoker/center/dbs/service/impl/RtmpServiceImpl.java +++ b/dc3-center/dc3-dbs/src/main/java/com/pnoker/center/dbs/service/impl/RtmpServiceImpl.java @@ -22,7 +22,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.pnoker.center.dbs.mapper.RtmpMapper; import com.pnoker.center.dbs.service.RtmpService; import com.pnoker.common.base.constant.Common; -import com.pnoker.common.base.dto.PageInfo; +import com.pnoker.common.base.bean.PageInfo; import com.pnoker.common.base.entity.rtmp.Rtmp; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang.BooleanUtils; @@ -54,8 +54,8 @@ public class RtmpServiceImpl implements RtmpService { @Override @Caching( - put = {@CachePut(value = "rtmpCache", key = "#rtmp.id", unless = "#result==null")}, - evict = {@CacheEvict(value = "rtmpListCache", allEntries = true)} + put = {@CachePut(value = "dbs_rtmp", key = "#rtmp.id", unless = "#result==null")}, + evict = {@CacheEvict(value = "dbs_rtmp_list", allEntries = true)} ) public Rtmp add(Rtmp rtmp) { return rtmpMapper.insert(rtmp) > 0 ? rtmp : null; @@ -64,8 +64,8 @@ public class RtmpServiceImpl implements RtmpService { @Override @Caching( evict = { - @CacheEvict(value = "rtmpCache", key = "#id"), - @CacheEvict(value = "rtmpListCache", allEntries = true) + @CacheEvict(value = "dbs_rtmp", key = "#id"), + @CacheEvict(value = "dbs_rtmp_list", allEntries = true) } ) public boolean delete(Long id) { @@ -74,21 +74,21 @@ public class RtmpServiceImpl implements RtmpService { @Override @Caching( - put = {@CachePut(value = "rtmpCache", key = "#rtmp.id", unless = "#result==null")}, - evict = {@CacheEvict(value = "rtmpListCache", allEntries = true)} + put = {@CachePut(value = "dbs_rtmp", key = "#rtmp.id", unless = "#result==null")}, + evict = {@CacheEvict(value = "dbs_rtmp_list", allEntries = true)} ) public Rtmp update(Rtmp rtmp) { return rtmpMapper.updateById(rtmp) > 0 ? rtmp : null; } @Override - @Cacheable(value = "rtmpCache", key = "#id", unless = "#result==null") + @Cacheable(value = "dbs_rtmp", key = "#id", unless = "#result==null") public Rtmp selectById(Long id) { return rtmpMapper.selectById(id); } @Override - @Cacheable(value = "rtmpListCache", keyGenerator = "commonKeyGenerator", unless = "#result==null") + @Cacheable(value = "dbs_rtmp_list", keyGenerator = "commonKeyGenerator", unless = "#result==null") public Page list(Rtmp rtmp, PageInfo pageInfo) { return rtmpMapper.selectPage(pagination(pageInfo), fuzzyQuery(rtmp)); } diff --git a/dc3-center/dc3-dbs/src/main/java/com/pnoker/center/dbs/service/impl/UserServiceImpl.java b/dc3-center/dc3-dbs/src/main/java/com/pnoker/center/dbs/service/impl/UserServiceImpl.java index 023444d0a..a72049555 100644 --- a/dc3-center/dc3-dbs/src/main/java/com/pnoker/center/dbs/service/impl/UserServiceImpl.java +++ b/dc3-center/dc3-dbs/src/main/java/com/pnoker/center/dbs/service/impl/UserServiceImpl.java @@ -22,8 +22,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.pnoker.center.dbs.mapper.UserMapper; import com.pnoker.center.dbs.service.UserService; import com.pnoker.common.base.constant.Common; -import com.pnoker.common.base.dto.PageInfo; -import com.pnoker.common.base.entity.User; +import com.pnoker.common.base.bean.PageInfo; +import com.pnoker.common.base.entity.auth.User; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang.StringUtils; import org.springframework.cache.annotation.CacheEvict; @@ -51,8 +51,8 @@ public class UserServiceImpl implements UserService { @Override @Caching( - put = {@CachePut(value = "userCache", key = "#user.id", unless = "#result==null")}, - evict = {@CacheEvict(value = "userListCache", allEntries = true)} + put = {@CachePut(value = "dbs_user", key = "#user.id", unless = "#result==null")}, + evict = {@CacheEvict(value = "dbs_user_list", allEntries = true)} ) public User add(User user) { return userMapper.insert(user) > 0 ? user : null; @@ -61,8 +61,8 @@ public class UserServiceImpl implements UserService { @Override @Caching( evict = { - @CacheEvict(value = "userCache", key = "#id"), - @CacheEvict(value = "userListCache", allEntries = true) + @CacheEvict(value = "dbs_user", key = "#id"), + @CacheEvict(value = "dbs_user_list", allEntries = true) } ) public boolean delete(Long id) { @@ -71,21 +71,21 @@ public class UserServiceImpl implements UserService { @Override @Caching( - put = {@CachePut(value = "userCache", key = "#user.id", unless = "#result==null")}, - evict = {@CacheEvict(value = "userListCache", allEntries = true)} + put = {@CachePut(value = "dbs_user", key = "#user.id", unless = "#result==null")}, + evict = {@CacheEvict(value = "dbs_user_list", allEntries = true)} ) public User update(User user) { return userMapper.updateById(user) > 0 ? user : null; } @Override - @Cacheable(value = "userCache", key = "#id", unless = "#result==null") + @Cacheable(value = "dbs_user", key = "#id", unless = "#result==null") public User selectById(Long id) { return userMapper.selectById(id); } @Override - @Cacheable(value = "userListCache", keyGenerator = "commonKeyGenerator", unless = "#result==null") + @Cacheable(value = "dbs_user_list", keyGenerator = "commonKeyGenerator", unless = "#result==null") public Page list(User user, PageInfo pageInfo) { return userMapper.selectPage(pagination(pageInfo), fuzzyQuery(user)); } @@ -126,7 +126,7 @@ public class UserServiceImpl implements UserService { } @Override - @Cacheable(value = "userCache", key = "#usernama", unless = "#result==null") + @Cacheable(value = "dbs_user", key = "#usernama", unless = "#result==null") public User selectByUsername(String usernama) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq(Common.Cloumn.User.USERNAME, usernama); @@ -134,7 +134,7 @@ public class UserServiceImpl implements UserService { } @Override - @Cacheable(value = "userCache", key = "#phone", unless = "#result==null") + @Cacheable(value = "dbs_user", key = "#phone", unless = "#result==null") public User selectByPhone(String phone) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq(Common.Cloumn.User.PHONE, phone); @@ -142,7 +142,7 @@ public class UserServiceImpl implements UserService { } @Override - @Cacheable(value = "userCache", key = "#email", unless = "#result==null") + @Cacheable(value = "dbs_user", key = "#email", unless = "#result==null") public User selectByEmail(String email) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq(Common.Cloumn.User.EMAIL, email); diff --git a/dc3-center/dc3-dbs/src/main/resources/application.yml b/dc3-center/dc3-dbs/src/main/resources/application.yml index 71215f161..51f596d40 100644 --- a/dc3-center/dc3-dbs/src/main/resources/application.yml +++ b/dc3-center/dc3-dbs/src/main/resources/application.yml @@ -10,10 +10,6 @@ spring: name: @project.artifactId@ main: allow-bean-definition-overriding: true - cloud: - loadbalancer: - ribbon: - enabled: false security: user: name: iotdc3 @@ -41,7 +37,7 @@ spring: host: iotdc3.redis port: 6379 password: ${spring.security.user.password} - database: 0 + database: 2 timeout: 15S jedis: pool: diff --git a/dc3-center/pom.xml b/dc3-center/pom.xml index 9a9d4ad98..b4607afb9 100644 --- a/dc3-center/pom.xml +++ b/dc3-center/pom.xml @@ -32,6 +32,7 @@ dc3-register dc3-monitor dc3-dbs + dc3-auth diff --git a/dc3-common/dc3-base/src/main/java/com/pnoker/common/base/dto/PageInfo.java b/dc3-common/dc3-base/src/main/java/com/pnoker/common/base/bean/PageInfo.java similarity index 92% rename from dc3-common/dc3-base/src/main/java/com/pnoker/common/base/dto/PageInfo.java rename to dc3-common/dc3-base/src/main/java/com/pnoker/common/base/bean/PageInfo.java index 8493c39be..a9cd5105d 100644 --- a/dc3-common/dc3-base/src/main/java/com/pnoker/common/base/dto/PageInfo.java +++ b/dc3-common/dc3-base/src/main/java/com/pnoker/common/base/bean/PageInfo.java @@ -5,7 +5,7 @@ * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * - * http://www.apache.org/licenses/LICENSE-2.0 + * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.pnoker.common.base.dto; +package com.pnoker.common.base.bean; import com.baomidou.mybatisplus.core.metadata.OrderItem; import lombok.AllArgsConstructor; diff --git a/dc3-common/dc3-base/src/main/java/com/pnoker/common/base/constant/Common.java b/dc3-common/dc3-base/src/main/java/com/pnoker/common/base/constant/Common.java index aff62e1cc..c9f6bc393 100644 --- a/dc3-common/dc3-base/src/main/java/com/pnoker/common/base/constant/Common.java +++ b/dc3-common/dc3-base/src/main/java/com/pnoker/common/base/constant/Common.java @@ -49,12 +49,18 @@ public interface Common { String TIMEZONE = "GMT+8"; /** - * 服务名称 + * 服务名称 & 服务基地址 */ interface Service { String DC3_DBS = "DC3-DBS"; + String DC3_DBS_RTMP_URL_PREFIX = "/api/v3/center/dbs/rtmp"; + String DC3_DBS_USER_URL_PREFIX = "/api/v3/center/dbs/user"; + String DC3_RTMP = "DC3-RTMP"; + String DC3_RTMP_URL_PREFIX = "/api/v3/transfer/rtmp"; + String DC3_AUTH = "DC3-AUTH"; + String DC3_AUTH_URL_PREFIX = "/api/v3/center/auth"; } /** diff --git a/dc3-common/dc3-base/src/main/java/com/pnoker/common/base/dto/auth/TokenDto.java b/dc3-common/dc3-base/src/main/java/com/pnoker/common/base/dto/auth/TokenDto.java new file mode 100644 index 000000000..63a25f368 --- /dev/null +++ b/dc3-common/dc3-base/src/main/java/com/pnoker/common/base/dto/auth/TokenDto.java @@ -0,0 +1,50 @@ +/* + * Copyright 2019 Pnoker. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.pnoker.common.base.dto.auth; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; + +/** + *

Token Dto + * + * @author : pnoker + * @email : pnokers@icloud.com + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +public class TokenDto implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * Token令牌 + *
+ * 第一版:使用 用户名(username) + 公钥(publicKey) + 过期时间(expireTime,毫秒) 的字符串通过'私钥对称加密'生成 Token + *
+ * 第二版:使用 用户名(username) + 公钥(publicKey) + 过期时间(expireTime,毫秒) 的字符串通过'私钥非对称密'生成 Token + */ + private String token; + + /** + * 公钥 + */ + private String key; +} diff --git a/dc3-common/dc3-base/src/main/java/com/pnoker/common/base/dto/UserDto.java b/dc3-common/dc3-base/src/main/java/com/pnoker/common/base/dto/auth/UserDto.java similarity index 87% rename from dc3-common/dc3-base/src/main/java/com/pnoker/common/base/dto/UserDto.java rename to dc3-common/dc3-base/src/main/java/com/pnoker/common/base/dto/auth/UserDto.java index 42bb645ef..19e2a60d3 100644 --- a/dc3-common/dc3-base/src/main/java/com/pnoker/common/base/dto/UserDto.java +++ b/dc3-common/dc3-base/src/main/java/com/pnoker/common/base/dto/auth/UserDto.java @@ -14,9 +14,10 @@ * limitations under the License. */ -package com.pnoker.common.base.dto; +package com.pnoker.common.base.dto.auth; -import com.pnoker.common.base.entity.User; +import com.pnoker.common.base.bean.PageInfo; +import com.pnoker.common.base.entity.auth.User; import lombok.AllArgsConstructor; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/dc3-common/dc3-base/src/main/java/com/pnoker/common/base/dto/device/DeviceDto.java b/dc3-common/dc3-base/src/main/java/com/pnoker/common/base/dto/device/DeviceDto.java index 828ce84cf..fb2045fbf 100644 --- a/dc3-common/dc3-base/src/main/java/com/pnoker/common/base/dto/device/DeviceDto.java +++ b/dc3-common/dc3-base/src/main/java/com/pnoker/common/base/dto/device/DeviceDto.java @@ -17,7 +17,7 @@ package com.pnoker.common.base.dto.device; import com.pnoker.common.base.entity.device.Device; -import com.pnoker.common.base.dto.PageInfo; +import com.pnoker.common.base.bean.PageInfo; import lombok.AllArgsConstructor; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/dc3-common/dc3-base/src/main/java/com/pnoker/common/base/dto/transfer/RtmpDto.java b/dc3-common/dc3-base/src/main/java/com/pnoker/common/base/dto/transfer/RtmpDto.java index 7ad35588a..60855bd10 100644 --- a/dc3-common/dc3-base/src/main/java/com/pnoker/common/base/dto/transfer/RtmpDto.java +++ b/dc3-common/dc3-base/src/main/java/com/pnoker/common/base/dto/transfer/RtmpDto.java @@ -16,7 +16,7 @@ package com.pnoker.common.base.dto.transfer; -import com.pnoker.common.base.dto.PageInfo; +import com.pnoker.common.base.bean.PageInfo; import com.pnoker.common.base.entity.rtmp.Rtmp; import lombok.AllArgsConstructor; import lombok.Data; diff --git a/dc3-common/dc3-base/src/main/java/com/pnoker/common/base/entity/Token.java b/dc3-common/dc3-base/src/main/java/com/pnoker/common/base/entity/auth/Token.java similarity index 91% rename from dc3-common/dc3-base/src/main/java/com/pnoker/common/base/entity/Token.java rename to dc3-common/dc3-base/src/main/java/com/pnoker/common/base/entity/auth/Token.java index 8951b0e80..5d3053728 100644 --- a/dc3-common/dc3-base/src/main/java/com/pnoker/common/base/entity/Token.java +++ b/dc3-common/dc3-base/src/main/java/com/pnoker/common/base/entity/auth/Token.java @@ -14,8 +14,9 @@ * limitations under the License. */ -package com.pnoker.common.base.entity; +package com.pnoker.common.base.entity.auth; +import com.pnoker.common.base.entity.Description; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; diff --git a/dc3-common/dc3-base/src/main/java/com/pnoker/common/base/entity/User.java b/dc3-common/dc3-base/src/main/java/com/pnoker/common/base/entity/auth/User.java similarity index 87% rename from dc3-common/dc3-base/src/main/java/com/pnoker/common/base/entity/User.java rename to dc3-common/dc3-base/src/main/java/com/pnoker/common/base/entity/auth/User.java index bc9c15dbb..0b6be4930 100644 --- a/dc3-common/dc3-base/src/main/java/com/pnoker/common/base/entity/User.java +++ b/dc3-common/dc3-base/src/main/java/com/pnoker/common/base/entity/auth/User.java @@ -5,7 +5,7 @@ * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * - * http://www.apache.org/licenses/LICENSE-2.0 + * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, @@ -14,8 +14,9 @@ * limitations under the License. */ -package com.pnoker.common.base.entity; +package com.pnoker.common.base.entity.auth; +import com.pnoker.common.base.entity.Description; import lombok.*; /** diff --git a/dc3-common/dc3-base/src/main/java/com/pnoker/common/base/service/BaseService.java b/dc3-common/dc3-base/src/main/java/com/pnoker/common/base/service/BaseService.java index 4f38a4e6e..fccb54467 100644 --- a/dc3-common/dc3-base/src/main/java/com/pnoker/common/base/service/BaseService.java +++ b/dc3-common/dc3-base/src/main/java/com/pnoker/common/base/service/BaseService.java @@ -18,7 +18,7 @@ package com.pnoker.common.base.service; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.pnoker.common.base.dto.PageInfo; +import com.pnoker.common.base.bean.PageInfo; /** *

基础 服务类接口 diff --git a/dc3-common/dc3-base/src/main/java/com/pnoker/common/base/tool/Dc3Tools.java b/dc3-common/dc3-base/src/main/java/com/pnoker/common/base/tool/Dc3Tools.java index 4ae3612f0..0a47597cb 100644 --- a/dc3-common/dc3-base/src/main/java/com/pnoker/common/base/tool/Dc3Tools.java +++ b/dc3-common/dc3-base/src/main/java/com/pnoker/common/base/tool/Dc3Tools.java @@ -71,6 +71,34 @@ public class Dc3Tools { return Base64.getDecoder().decode(input); } + /** + * @param username + * @return 0:无效用户名,1:用户名,2:手机号,3:邮箱 + */ + public static int usernameType(String username) { + if (isUsername(username)) { + return 1; + } + if (isPhone(username)) { + return 2; + } + if (isMail(username)) { + return 3; + } + return 0; + } + + /** + * 判断字符串是否为 用户名格式(3-16) + * + * @param username + * @return + */ + public static boolean isUsername(String username) { + String regex = "^[a-zA-Z]\\w{2,15}$"; + return ReUtil.isMatch(regex, username); + } + /** * 判断字符串是否为 手机号码格式 * @@ -78,7 +106,7 @@ public class Dc3Tools { * @return */ public static boolean isPhone(String phone) { - String regex = "^[1][3-9]+\\d{9}$"; + String regex = "^(13[0-9]|14[5|7]|15[0|1|2|3|4|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\\d{8}$"; return ReUtil.isMatch(regex, phone); } @@ -93,6 +121,58 @@ public class Dc3Tools { return ReUtil.isMatch(regex, mail); } + /** + * 判断密码级别 + * + * @param password + * @return 0:无效密码,1:弱密码,2:普通密码,3:强密码 + */ + public static int passwordType(String password) { + if (isStrongPassword(password)) { + return 3; + } + if (isPassword(password)) { + return 2; + } + if (isWeakPassword(password)) { + return 1; + } + return 0; + } + + /** + * 判断字符串是否为 弱密码格式(8-16) + * + * @param password + * @return + */ + public static boolean isWeakPassword(String password) { + String regex = "^[a-zA-Z]\\w{7,15}$"; + return ReUtil.isMatch(regex, password); + } + + /** + * 判断字符串是否为 密码格式(8-16) + * + * @param password + * @return + */ + public static boolean isPassword(String password) { + String regex = "^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])[a-zA-Z0-9]{8,16}$"; + return ReUtil.isMatch(regex, password); + } + + /** + * 判断字符串是否为 强密码格式(8-16) + * + * @param password + * @return + */ + public static boolean isStrongPassword(String password) { + String regex = "^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z]).{8,16}$"; + return ReUtil.isMatch(regex, password); + } + /** * 两层循环实现建树 * diff --git a/dc3-common/dc3-core/src/main/resources/META-INF/spring.factories b/dc3-common/dc3-core/src/main/resources/META-INF/spring.factories index 4836f332a..11b7e5fe9 100644 --- a/dc3-common/dc3-core/src/main/resources/META-INF/spring.factories +++ b/dc3-common/dc3-core/src/main/resources/META-INF/spring.factories @@ -1,3 +1,2 @@ org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ - com.pnoker.common.config.RedisTemplateConfig,\ - com.pnoker.common.tool.RedisTools + com.pnoker.common.config.RedisTemplateConfig diff --git a/dc3-transfer/dc3-rtmp/src/main/java/com/pnoker/transfer/rtmp/api/RtmpTransferApi.java b/dc3-transfer/dc3-rtmp/src/main/java/com/pnoker/transfer/rtmp/api/RtmpTransferApi.java index a9f6e79d7..0dcdeea70 100644 --- a/dc3-transfer/dc3-rtmp/src/main/java/com/pnoker/transfer/rtmp/api/RtmpTransferApi.java +++ b/dc3-transfer/dc3-rtmp/src/main/java/com/pnoker/transfer/rtmp/api/RtmpTransferApi.java @@ -19,7 +19,8 @@ package com.pnoker.transfer.rtmp.api; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.pnoker.api.transfer.rtmp.feign.RtmpTransferFeignClient; import com.pnoker.common.base.bean.Response; -import com.pnoker.common.base.dto.PageInfo; +import com.pnoker.common.base.constant.Common; +import com.pnoker.common.base.bean.PageInfo; import com.pnoker.common.base.dto.transfer.RtmpDto; import com.pnoker.common.base.entity.rtmp.Rtmp; import com.pnoker.transfer.rtmp.service.RtmpService; @@ -39,7 +40,7 @@ import java.util.Optional; */ @Slf4j @RestController -@RequestMapping("/api/v3/transfer/rtmp") +@RequestMapping(Common.Service.DC3_RTMP_URL_PREFIX) public class RtmpTransferApi implements RtmpTransferFeignClient { @Resource private RtmpService rtmpService; diff --git a/dc3-transfer/dc3-rtmp/src/main/java/com/pnoker/transfer/rtmp/service/RtmpService.java b/dc3-transfer/dc3-rtmp/src/main/java/com/pnoker/transfer/rtmp/service/RtmpService.java index e011e4ff6..960105b86 100644 --- a/dc3-transfer/dc3-rtmp/src/main/java/com/pnoker/transfer/rtmp/service/RtmpService.java +++ b/dc3-transfer/dc3-rtmp/src/main/java/com/pnoker/transfer/rtmp/service/RtmpService.java @@ -18,7 +18,7 @@ package com.pnoker.transfer.rtmp.service; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.pnoker.common.base.bean.Response; -import com.pnoker.common.base.dto.PageInfo; +import com.pnoker.common.base.bean.PageInfo; import com.pnoker.common.base.entity.rtmp.Rtmp; /** diff --git a/dc3-transfer/dc3-rtmp/src/main/java/com/pnoker/transfer/rtmp/service/impl/RtmpServiceImpl.java b/dc3-transfer/dc3-rtmp/src/main/java/com/pnoker/transfer/rtmp/service/impl/RtmpServiceImpl.java index 958ea85af..9a90cd48d 100644 --- a/dc3-transfer/dc3-rtmp/src/main/java/com/pnoker/transfer/rtmp/service/impl/RtmpServiceImpl.java +++ b/dc3-transfer/dc3-rtmp/src/main/java/com/pnoker/transfer/rtmp/service/impl/RtmpServiceImpl.java @@ -18,7 +18,7 @@ package com.pnoker.transfer.rtmp.service.impl; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.pnoker.common.base.bean.Response; -import com.pnoker.common.base.dto.PageInfo; +import com.pnoker.common.base.bean.PageInfo; import com.pnoker.common.base.dto.transfer.RtmpDto; import com.pnoker.common.base.entity.rtmp.Rtmp; import com.pnoker.dbs.api.rtmp.feign.RtmpDbsFeignClient; diff --git a/pom.xml b/pom.xml index 160c796ff..c5f73552c 100644 --- a/pom.xml +++ b/pom.xml @@ -200,6 +200,12 @@ + + com.pnoker + dc3-api-auth + ${project.version} + compile + com.pnoker dc3-api-dbs