Commit 9616bd89 authored by 33's avatar 33

Api版权接口

parent a30d39f8
package com.fzm.admin.controller;
import com.fzm.common.annotation.Authentication;
import com.fzm.common.enums.CopyrightApplyState;
import com.fzm.common.enums.ResultCode;
import com.fzm.common.exception.GlobalException;
......@@ -8,7 +9,9 @@ import com.fzm.common.open.entity.dataobject.CopyrightApiDO;
import com.fzm.common.open.entity.queryobject.CopyrightApiQO;
import com.fzm.common.open.entity.queryobject.CopyrightManagerQO;
import com.fzm.common.open.entity.viewobject.CopyrightApiVO;
import com.fzm.common.open.entity.viewobject.OpenKeyVO;
import com.fzm.common.open.service.CopyrightApiService;
import com.fzm.common.open.service.OpenKeyService;
import com.github.pagehelper.PageInfo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
......@@ -16,16 +19,26 @@ import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* @author tangtuo
* @date 2021/12/15 10:27
*/
@Authentication
@RestController
@RequestMapping(value = "/copyright/api/apply")
@Api(tags = "Api版权审核")
@RequiredArgsConstructor(onConstructor = @__(@Autowired))
public class CopyrightApiController {
private final CopyrightApiService copyrightApiService;
private final OpenKeyService openKeyService;
@GetMapping(value = "/openKeys")
@ApiOperation(value = "获取平台列表")
public ResponseModel<List<OpenKeyVO>> openKeyList() {
return ResponseModel.success(openKeyService.getList());
}
@PostMapping(value = "/pages")
@ApiOperation(value = "分页查询")
......@@ -56,6 +69,7 @@ public class CopyrightApiController {
public ResponseModel<Object> reject(@RequestBody CopyrightManagerQO managerQO) {
Integer id = managerQO.getId();
verify(id);
copyrightApiService.reject(id, managerQO.getRejectReason());
return ResponseModel.success();
}
......
......@@ -24,6 +24,8 @@ public enum ResultCode implements IErrorCode {
SELECT_FAILED(421, "查询失败"),
PAY_FAILED(422, "支付失败"),
REFUND_FAILED(422, "退款失败"),
signature_wrong(440, "签名错误"),
;
......
......@@ -2,13 +2,16 @@ package com.fzm.common.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.fzm.common.open.entity.dataobject.OpenKeyDO;
import com.fzm.common.open.entity.viewobject.OpenKeyVO;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* @author tangtuo
* @date 2021/7/1 14:35
*/
@Mapper
public interface OpenKeyMapper extends BaseMapper<OpenKeyDO> {
List<OpenKeyVO> getList();
}
package com.fzm.common.open.entity.viewobject;
import lombok.Data;
/**
* @author wt
* @date 2022/4/24
*/
@Data
public class OpenKeyVO {
private String appKey;
private String appName;
}
......@@ -2,6 +2,9 @@ package com.fzm.common.open.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.fzm.common.open.entity.dataobject.OpenKeyDO;
import com.fzm.common.open.entity.viewobject.OpenKeyVO;
import java.util.List;
/**
* @author wt
......@@ -9,4 +12,6 @@ import com.fzm.common.open.entity.dataobject.OpenKeyDO;
*/
public interface OpenKeyService extends IService<OpenKeyDO> {
OpenKeyDO getByAppKey(String appKey);
List<OpenKeyVO> getList();
}
......@@ -4,11 +4,14 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.fzm.common.mapper.OpenKeyMapper;
import com.fzm.common.open.entity.dataobject.OpenKeyDO;
import com.fzm.common.open.entity.viewobject.OpenKeyVO;
import com.fzm.common.open.service.OpenKeyService;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @author wt
* @date 2022/4/24
......@@ -16,10 +19,17 @@ import org.springframework.stereotype.Service;
@Service
@RequiredArgsConstructor(onConstructor = @__(@Autowired))
public class OpenKeyServiceImpl extends ServiceImpl<OpenKeyMapper, OpenKeyDO> implements OpenKeyService {
private final OpenKeyMapper openKeyMapper;
@Override
public OpenKeyDO getByAppKey(String appKey) {
QueryWrapper<OpenKeyDO> wrapper = new QueryWrapper<>();
wrapper.eq("app_key", appKey);
return getOne(wrapper);
}
@Override
public List<OpenKeyVO> getList() {
return openKeyMapper.getList();
}
}
package com.fzm.common.utils;
import cn.hutool.crypto.SecureUtil;
import com.fzm.common.enums.ResultCode;
import com.fzm.common.exception.GlobalException;
import java.util.Map;
import java.util.TreeMap;
/**
* @author wt
* @date 2022/4/24
*/
public class OpenSignUtils {
public static void verify(String appKey, String appKeySecret, String bizJson, String signature) {
Map<String, String> param = new TreeMap<>();
param.put("appKey", appKey);
param.put("appKeySecret", appKeySecret);
param.put("bizJson", bizJson);
StringBuilder sb = new StringBuilder();
for (Map.Entry<String, String> entry : param.entrySet()) {
String key = entry.getKey();
String value = entry.getValue();
sb.append(key).append("=").append(value).append("&");
}
String signStr = sb.deleteCharAt(sb.length() - 1).toString();
String md5 = SecureUtil.md5(signStr);
boolean equals = signature.equals(md5);
if (!equals) {
throw GlobalException.newException(ResultCode.signature_wrong);
}
}
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.fzm.common.mapper.OpenKeyMapper">
<select id="getList" resultType="com.fzm.common.open.entity.viewobject.OpenKeyVO">
select app_key,
app_name
from tb_open_key
</select>
</mapper>
\ No newline at end of file
package com.fzm.portal.controller.open;
import cn.hutool.json.JSONUtil;
import com.fzm.common.constant.SystemConstant;
import com.fzm.common.entity.vo.CopyrightStateVo;
import com.fzm.common.enums.CopyrightApplyState;
......@@ -14,6 +15,7 @@ import com.fzm.common.open.entity.openobject.CopyrightOO;
import com.fzm.common.open.entity.openobject.CopyrightOwnerOO;
import com.fzm.common.open.service.CopyrightApiService;
import com.fzm.common.open.service.OpenKeyService;
import com.fzm.common.utils.OpenSignUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
......@@ -46,13 +48,20 @@ public class CopyrightApiController {
throw GlobalException.newException(ResultCode.VALIDATE_FAILED);
}
String signature = baseOO.getSignature();
if (StringUtils.isBlank(signature)) {
throw GlobalException.newException(ResultCode.signature_wrong);
}
CopyrightOO copyrightOO = baseOO.getData();
OpenSignUtils.verify(appKey, openKeyDO.getAppKeySecret(), JSONUtil.toJsonStr(copyrightOO), signature);
String bizId = baseOO.getBizId();
CopyrightApiDO apiDO = copyrightApiService.getByAppKeyAndBizId(appKey, bizId);
if (apiDO != null) {
return ResponseModel.success(apiDO.getId());
}
CopyrightOO copyrightOO = baseOO.getData();
Integer publishState = copyrightOO.getPublishState();
if (publishState == null || publishState != 0 && publishState != 1) {
throw GlobalException.newException(ResultCode.VALIDATE_FAILED);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment