Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
黄嘉阳
/
iot-platform-server
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
1d0412b7
authored
Jan 24, 2024
by
罗志长
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
feat: 第三方平台信息配置
parent
f04d606b
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
233 additions
and
0 deletions
saas-module/src/main/java/com/makeit/controller/sys/SysApiSecretController.java
server-common/src/main/java/com/makeit/module/system/dto/SysApiSecretAddDTO.java
server-common/src/main/java/com/makeit/module/system/dto/SysApiSecretEditDTO.java
server-common/src/main/java/com/makeit/module/system/service/SysApiSecretService.java
server-common/src/main/java/com/makeit/module/system/service/impl/SysApiSecretServiceImpl.java
server-common/src/main/java/com/makeit/module/system/vo/SysApiSecretVO.java
saas-module/src/main/java/com/makeit/controller/sys/SysApiSecretController.java
0 → 100644
View file @
1d0412b7
package
com
.
makeit
.
controller
.
sys
;
import
com.makeit.common.dto.BaseIdDTO
;
import
com.makeit.common.page.PageReqDTO
;
import
com.makeit.common.page.PageVO
;
import
com.makeit.common.response.ApiResponseEntity
;
import
com.makeit.common.response.ApiResponseUtils
;
import
com.makeit.module.system.dto.SysApiSecretAddDTO
;
import
com.makeit.module.system.dto.SysApiSecretEditDTO
;
import
com.makeit.module.system.entity.SysApiSecret
;
import
com.makeit.module.system.service.SysApiSecretService
;
import
com.makeit.module.system.vo.SysApiSecretVO
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.List
;
@Api
(
tags
=
"第三方平台信息配置"
)
@RestController
@RequestMapping
(
"/sys/apiSecret"
)
public
class
SysApiSecretController
{
@Autowired
private
SysApiSecretService
SysApiSecretService
;
@ApiOperation
(
value
=
"分页列表"
,
notes
=
""
)
@PostMapping
(
"/page"
)
public
ApiResponseEntity
<
PageVO
<
SysApiSecretVO
>>
page
(
@RequestBody
PageReqDTO
<
SysApiSecret
>
page
)
{
return
ApiResponseUtils
.
success
(
SysApiSecretService
.
page
(
page
));
}
@ApiOperation
(
value
=
"新增"
,
notes
=
""
)
@PostMapping
(
"/add"
)
public
ApiResponseEntity
<?>
add
(
@Validated
@RequestBody
SysApiSecretAddDTO
SysApiSecret
)
{
SysApiSecretService
.
add
(
SysApiSecret
);
return
ApiResponseUtils
.
success
();
}
@ApiOperation
(
value
=
"编辑"
,
notes
=
""
)
@PostMapping
(
"/edit"
)
public
ApiResponseEntity
<?>
edit
(
@Validated
@RequestBody
SysApiSecretEditDTO
SysApiSecret
)
{
SysApiSecretService
.
edit
(
SysApiSecret
);
return
ApiResponseUtils
.
success
();
}
@ApiOperation
(
value
=
"详情"
,
notes
=
""
)
@PostMapping
(
"/view"
)
public
ApiResponseEntity
<
SysApiSecretVO
>
view
(
@RequestBody
BaseIdDTO
baseIdDTO
)
{
return
ApiResponseUtils
.
success
(
SysApiSecretService
.
view
(
baseIdDTO
.
getId
()));
}
@ApiOperation
(
value
=
"删除"
,
notes
=
""
)
@PostMapping
(
"/del"
)
public
ApiResponseEntity
<?>
del
(
@RequestBody
BaseIdDTO
baseIdDTO
)
{
SysApiSecretService
.
removeById
(
baseIdDTO
.
getId
());
return
ApiResponseUtils
.
success
();
}
}
server-common/src/main/java/com/makeit/module/system/dto/SysApiSecretAddDTO.java
0 → 100644
View file @
1d0412b7
package
com
.
makeit
.
module
.
system
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
javax.validation.constraints.NotBlank
;
@ApiModel
(
"第三方平台api信息新增"
)
@Data
public
class
SysApiSecretAddDTO
{
@NotBlank
@ApiModelProperty
(
value
=
"平台编码"
,
required
=
true
)
private
String
platform
;
@NotBlank
@ApiModelProperty
(
value
=
"机构id"
,
required
=
true
)
private
String
orgId
;
@ApiModelProperty
(
"描述"
)
private
String
description
;
}
server-common/src/main/java/com/makeit/module/system/dto/SysApiSecretEditDTO.java
0 → 100644
View file @
1d0412b7
package
com
.
makeit
.
module
.
system
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
javax.validation.constraints.NotBlank
;
@ApiModel
(
"第三方平台api信息编辑"
)
@Data
public
class
SysApiSecretEditDTO
{
@NotBlank
@ApiModelProperty
(
value
=
"id"
,
required
=
true
)
private
String
id
;
@NotBlank
@ApiModelProperty
(
value
=
"平台编码"
,
required
=
true
)
private
String
platform
;
@NotBlank
@ApiModelProperty
(
value
=
"机构id"
,
required
=
true
)
private
String
orgId
;
@ApiModelProperty
(
"描述"
)
private
String
description
;
}
server-common/src/main/java/com/makeit/module/system/service/SysApiSecretService.java
View file @
1d0412b7
package
com
.
makeit
.
module
.
system
.
service
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.makeit.common.page.PageReqDTO
;
import
com.makeit.common.page.PageVO
;
import
com.makeit.module.system.dto.SysApiSecretAddDTO
;
import
com.makeit.module.system.dto.SysApiSecretEditDTO
;
import
com.makeit.module.system.entity.SysApiSecret
;
import
com.makeit.module.system.vo.SysApiSecretVO
;
public
interface
SysApiSecretService
extends
IService
<
SysApiSecret
>
{
PageVO
<
SysApiSecretVO
>
page
(
PageReqDTO
<
SysApiSecret
>
page
);
void
add
(
SysApiSecretAddDTO
sysApiSecret
);
void
edit
(
SysApiSecretEditDTO
sysApiSecret
);
SysApiSecretVO
view
(
String
id
);
}
server-common/src/main/java/com/makeit/module/system/service/impl/SysApiSecretServiceImpl.java
View file @
1d0412b7
package
com
.
makeit
.
module
.
system
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.makeit.common.page.PageReqDTO
;
import
com.makeit.common.page.PageVO
;
import
com.makeit.enums.CodeMessageEnum
;
import
com.makeit.exception.BusinessException
;
import
com.makeit.module.system.dto.SysApiSecretAddDTO
;
import
com.makeit.module.system.dto.SysApiSecretEditDTO
;
import
com.makeit.module.system.entity.SysApiSecret
;
import
com.makeit.module.system.mapper.SysApiSecretMapper
;
import
com.makeit.module.system.service.SysApiSecretService
;
import
com.makeit.module.system.vo.SysApiSecretVO
;
import
com.makeit.utils.data.convert.BeanDtoVoUtils
;
import
com.makeit.utils.data.convert.PageUtil
;
import
lombok.SneakyThrows
;
import
org.apache.commons.codec.binary.Base64
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.security.KeyPair
;
import
java.security.KeyPairGenerator
;
import
java.security.NoSuchAlgorithmException
;
import
java.util.List
;
@Service
public
class
SysApiSecretServiceImpl
extends
ServiceImpl
<
SysApiSecretMapper
,
SysApiSecret
>
implements
SysApiSecretService
{
@Override
public
PageVO
<
SysApiSecretVO
>
page
(
PageReqDTO
<
SysApiSecret
>
page
)
{
SysApiSecret
sysApiSecret
=
page
.
getData
();
Page
<
SysApiSecret
>
p
=
PageUtil
.
toMpPage
(
page
);
Page
<
SysApiSecret
>
voPage
=
page
(
p
,
listLambdaQueryWrapper
(
sysApiSecret
));
List
<
SysApiSecret
>
voList
=
voPage
.
getRecords
();
List
<
SysApiSecretVO
>
list
=
BeanDtoVoUtils
.
listVo
(
voList
,
SysApiSecretVO
.
class
);
return
PageUtil
.
toPageVO
(
list
,
voPage
);
}
private
LambdaQueryWrapper
<
SysApiSecret
>
listLambdaQueryWrapper
(
SysApiSecret
sysApiSecret
)
{
return
new
LambdaQueryWrapper
<
SysApiSecret
>()
.
eq
(
StringUtils
.
isNotBlank
(
sysApiSecret
.
getPlatform
()),
SysApiSecret:
:
getPlatform
,
sysApiSecret
.
getPlatform
())
.
eq
(
StringUtils
.
isNotBlank
(
sysApiSecret
.
getOrgId
()),
SysApiSecret:
:
getOrgId
,
sysApiSecret
.
getOrgId
());
}
@SneakyThrows
@Transactional
@Override
public
void
add
(
SysApiSecretAddDTO
sysApiSecretAddDTO
)
{
checkCode
(
null
,
sysApiSecretAddDTO
.
getPlatform
());
SysApiSecret
sysApiSecret
=
BeanDtoVoUtils
.
convert
(
sysApiSecretAddDTO
,
SysApiSecret
.
class
);
KeyPairGenerator
keyPairGenerator
=
KeyPairGenerator
.
getInstance
(
"RSA"
);
keyPairGenerator
.
initialize
(
2048
);
KeyPair
keyPair
=
keyPairGenerator
.
generateKeyPair
();
String
publicKey
=
Base64
.
encodeBase64URLSafeString
(
keyPair
.
getPublic
().
getEncoded
());
String
privateKey
=
Base64
.
encodeBase64URLSafeString
(
keyPair
.
getPrivate
().
getEncoded
());
sysApiSecret
.
setPublicKey
(
publicKey
);
sysApiSecret
.
setPrivateKey
(
privateKey
);
save
(
sysApiSecret
);
}
private
void
checkCode
(
String
id
,
String
code
)
{
SysApiSecret
exist
=
getOne
(
new
QueryWrapper
<
SysApiSecret
>().
lambda
()
.
eq
(
SysApiSecret:
:
getPlatform
,
code
).
last
(
"limit 1"
));
if
(
exist
==
null
)
{
return
;
}
if
(!
exist
.
getId
().
equals
(
id
))
{
throw
new
BusinessException
(
CodeMessageEnum
.
SYSTEM_ERROR_CODE_DUPLICATE
);
}
}
@Transactional
@Override
public
void
edit
(
SysApiSecretEditDTO
sysApiSecretEditDTO
)
{
checkCode
(
sysApiSecretEditDTO
.
getId
(),
sysApiSecretEditDTO
.
getPlatform
());
SysApiSecret
sysApiSecret
=
BeanDtoVoUtils
.
convert
(
sysApiSecretEditDTO
,
SysApiSecret
.
class
);
updateById
(
sysApiSecret
);
}
@Override
public
SysApiSecretVO
view
(
String
id
)
{
SysApiSecret
sysApiSecret
=
getById
(
id
);
return
BeanDtoVoUtils
.
convert
(
sysApiSecret
,
SysApiSecretVO
.
class
);
}
}
server-common/src/main/java/com/makeit/module/system/vo/SysApiSecretVO.java
0 → 100644
View file @
1d0412b7
package
com
.
makeit
.
module
.
system
.
vo
;
import
com.makeit.common.dto.BaseIdDTO
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
@ApiModel
(
"第三方平台api信息VO"
)
@Data
public
class
SysApiSecretVO
extends
BaseIdDTO
{
@ApiModelProperty
(
"平台"
)
private
String
platform
;
@ApiModelProperty
(
"公钥"
)
private
String
publicKey
;
@ApiModelProperty
(
"机构id"
)
private
String
orgId
;
@ApiModelProperty
(
"描述"
)
private
String
description
;
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment