This commit is contained in:
六如
2024-10-19 20:27:16 +08:00
parent 17bc2d5ca8
commit 0cbadbeda8
25 changed files with 487 additions and 118 deletions

View File

@@ -9,6 +9,7 @@ import com.gitee.sop.adminbackend.common.dto.StatusUpdateDTO;
import com.gitee.sop.adminbackend.common.req.StatusUpdateParam;
import com.gitee.sop.adminbackend.common.resp.Result;
import com.gitee.sop.adminbackend.controller.isv.req.IsvInfoAddParam;
import com.gitee.sop.adminbackend.controller.isv.req.IsvInfoUpdateKeysParam;
import com.gitee.sop.adminbackend.controller.isv.req.IsvInfoUpdateParam;
import com.gitee.sop.adminbackend.controller.isv.req.IsvKeysGenParam;
import com.gitee.sop.adminbackend.dao.entity.IsvInfo;
@@ -16,6 +17,7 @@ import com.gitee.sop.adminbackend.service.isv.IsvInfoService;
import com.gitee.sop.adminbackend.service.isv.dto.IsvInfoAddDTO;
import com.gitee.sop.adminbackend.service.isv.dto.IsvInfoDTO;
import com.gitee.sop.adminbackend.service.isv.dto.IsvInfoUpdateDTO;
import com.gitee.sop.adminbackend.service.isv.dto.IsvInfoUpdateKeysDTO;
import com.gitee.sop.adminbackend.service.isv.dto.IsvKeysDTO;
import com.gitee.sop.adminbackend.util.CopyUtil;
import org.springframework.validation.annotation.Validated;
@@ -104,6 +106,18 @@ public class IsvInfoController {
return Result.ok(isvInfoService.update(isvInfoUpdateDTO));
}
/**
* 修改秘钥
*
* @param param 表单数据
* @return 返回影响行数
*/
@PostMapping("/updateKeys")
public Result<Integer> updateKeys(@Validated @RequestBody IsvInfoUpdateKeysParam param) {
IsvInfoUpdateKeysDTO isvInfoUpdateKeysDTO = CopyUtil.copyBean(param, IsvInfoUpdateKeysDTO::new);
return Result.ok(isvInfoService.updateKeys(isvInfoUpdateKeysDTO));
}
/**
* 修改状态
*

View File

@@ -0,0 +1,47 @@
package com.gitee.sop.adminbackend.controller.isv.req;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
* @author 六如
*/
@Data
public class IsvInfoUpdateKeysParam {
@NotNull
private Long isvId;
/**
* 秘钥格式1PKCS8(JAVA适用)2PKCS1(非JAVA适用)
*/
@NotNull
private Integer keyFormat;
/**
* 开发者生成的公钥, 数据库字段public_key_isv
*/
@NotBlank
private String publicKeyIsv;
/**
* 开发者生成的私钥(交给开发者), 数据库字段private_key_isv
*/
@NotBlank
private String privateKeyIsv;
/**
* 平台生成的公钥(交给开发者), 数据库字段public_key_platform
*/
@NotBlank
private String publicKeyPlatform;
/**
* 平台生成的私钥, 数据库字段private_key_platform
*/
@NotBlank
private String privateKeyPlatform;
}

View File

@@ -3,7 +3,6 @@ package com.gitee.sop.adminbackend.controller.serve;
import com.gitee.fastmybatis.core.PageInfo;
import com.gitee.fastmybatis.core.query.Query;
import com.gitee.sop.adminbackend.common.dto.StatusUpdateDTO;
import com.gitee.sop.adminbackend.common.req.IdParam;
import com.gitee.sop.adminbackend.common.req.StatusUpdateParam;
import com.gitee.sop.adminbackend.common.resp.Result;
import com.gitee.sop.adminbackend.controller.serve.req.ApiInfoParam;

View File

@@ -14,15 +14,11 @@ import com.gitee.sop.adminbackend.dao.mapper.IsvInfoMapper;
import com.gitee.sop.adminbackend.service.isv.dto.IsvInfoAddDTO;
import com.gitee.sop.adminbackend.service.isv.dto.IsvInfoDTO;
import com.gitee.sop.adminbackend.service.isv.dto.IsvInfoUpdateDTO;
import com.gitee.sop.adminbackend.service.isv.dto.IsvInfoUpdateKeysDTO;
import com.gitee.sop.adminbackend.service.isv.dto.IsvKeysDTO;
import com.gitee.sop.adminbackend.service.isv.dto.IsvKeysGenDTO;
import com.gitee.sop.adminbackend.util.CopyUtil;
import com.gitee.sop.adminbackend.util.IdGen;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
@@ -30,6 +26,11 @@ import java.util.Map;
import java.util.Optional;
import java.util.function.Function;
import java.util.stream.Collectors;
import javax.annotation.Resource;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
/**
@@ -44,6 +45,7 @@ public class IsvInfoService implements LambdaService<IsvInfo, IsvInfoMapper> {
private PermIsvRoleService permIsvRoleService;
public PageInfo<IsvInfoDTO> doPage(LambdaQuery<IsvInfo> query) {
query.orderByDesc(IsvInfo::getId);
PageInfo<IsvInfo> page = this.page(query);
List<IsvInfo> list = page.getList();
if (CollectionUtils.isEmpty(list)) {
@@ -106,6 +108,10 @@ public class IsvInfoService implements LambdaService<IsvInfo, IsvInfoMapper> {
.update();
}
public int updateKeys(IsvInfoUpdateKeysDTO isvInfoUpdateKeysDTO) {
return isvKeysService.saveKeys(isvInfoUpdateKeysDTO);
}
private void saveIsvRole(IsvInfo isvInfo, List<String> roleCodeList) {
Long isvId = isvInfo.getId();
@@ -145,6 +151,16 @@ public class IsvInfoService implements LambdaService<IsvInfo, IsvInfoMapper> {
public IsvKeysDTO getKeys(Long isvId) {
IsvKeys isvKeys = isvKeysService.get(IsvKeys::getIsvId, isvId);
if (isvKeys == null) {
IsvKeysDTO isvKeysDTO = new IsvKeysDTO();
isvKeysDTO.setIsvId(isvId);
isvKeysDTO.setKeyFormat(RSATool.KeyFormat.PKCS8.getValue());
isvKeysDTO.setPublicKeyIsv("");
isvKeysDTO.setPrivateKeyIsv("");
isvKeysDTO.setPublicKeyPlatform("");
isvKeysDTO.setPrivateKeyPlatform("");
return isvKeysDTO;
}
return CopyUtil.copyBean(isvKeys, IsvKeysDTO::new);
}

View File

@@ -3,6 +3,8 @@ package com.gitee.sop.adminbackend.service.isv;
import com.gitee.fastmybatis.core.support.LambdaService;
import com.gitee.sop.adminbackend.dao.entity.IsvKeys;
import com.gitee.sop.adminbackend.dao.mapper.IsvKeysMapper;
import com.gitee.sop.adminbackend.service.isv.dto.IsvInfoUpdateKeysDTO;
import com.gitee.sop.adminbackend.util.CopyUtil;
import org.springframework.stereotype.Service;
@@ -12,4 +14,13 @@ import org.springframework.stereotype.Service;
@Service
public class IsvKeysService implements LambdaService<IsvKeys, IsvKeysMapper> {
public int saveKeys(IsvInfoUpdateKeysDTO isvInfoUpdateKeysDTO) {
IsvKeys isvKeys = this.get(IsvKeys::getIsvId, isvInfoUpdateKeysDTO.getIsvId());
if (isvKeys == null) {
isvKeys = new IsvKeys();
}
CopyUtil.copyPropertiesIgnoreNull(isvInfoUpdateKeysDTO, isvKeys);
return this.saveOrUpdate(isvKeys);
}
}

View File

@@ -10,4 +10,5 @@ import lombok.EqualsAndHashCode;
@Data
public class IsvInfoUpdateDTO extends IsvInfoAddDTO {
private Long id;
}

View File

@@ -0,0 +1,38 @@
package com.gitee.sop.adminbackend.service.isv.dto;
import lombok.Data;
/**
* @author 六如
*/
@Data
public class IsvInfoUpdateKeysDTO {
private Long isvId;
/**
* 秘钥格式1PKCS8(JAVA适用)2PKCS1(非JAVA适用)
*/
private Integer keyFormat;
/**
* 开发者生成的公钥, 数据库字段public_key_isv
*/
private String publicKeyIsv;
/**
* 开发者生成的私钥(交给开发者), 数据库字段private_key_isv
*/
private String privateKeyIsv;
/**
* 平台生成的公钥(交给开发者), 数据库字段public_key_platform
*/
private String publicKeyPlatform;
/**
* 平台生成的私钥, 数据库字段private_key_platform
*/
private String privateKeyPlatform;
}

View File

@@ -8,6 +8,13 @@ import lombok.Data;
@Data
public class IsvKeysDTO {
private Long isvId;
/**
* 秘钥格式1PKCS8(JAVA适用)2PKCS1(非JAVA适用)
*/
private Integer keyFormat;
/**
* 开发者生成的公钥, 数据库字段public_key_isv
*/