|
|
@@ -0,0 +1,154 @@
|
|
|
+package com.zswl.dataservice.service.openApi;
|
|
|
+
|
|
|
+import com.zswl.dataservice.dao.openApi.OpenApiSignInfoDao;
|
|
|
+import com.zswl.dataservice.dataConfig.ResultMessage;
|
|
|
+import com.zswl.dataservice.domain.openApi.OpenApiSignInfo;
|
|
|
+import com.zswl.dataservice.model.openApi.sign.OpenApiSignInfoModel;
|
|
|
+import com.zswl.dataservice.model.openApi.sign.OpenApiSignInfoParam;
|
|
|
+import com.zswl.dataservice.model.openApi.sign.OpenApiSignInfoSearch;
|
|
|
+import com.zswl.dataservice.model.openApi.sign.SignStateParam;
|
|
|
+import com.zswl.dataservice.service.base.SuperService;
|
|
|
+import com.zswl.dataservice.service.user.OperationLogsService;
|
|
|
+import com.zswl.dataservice.type.AppState;
|
|
|
+import com.zswl.dataservice.utils.AppInfoUtil;
|
|
|
+import com.zswl.dataservice.utils.SecurityUtil;
|
|
|
+import com.zswl.dataservice.utils.bean.BeanUtils;
|
|
|
+import com.zswl.dataservice.utils.mqtt.type.CommonState;
|
|
|
+import com.zswl.dataservice.utils.mqtt.type.LogsLevel;
|
|
|
+import com.zswl.dataservice.utils.page.PageEntityUtil;
|
|
|
+import com.zswl.dataservice.utils.result.ResultContent;
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.apache.commons.lang3.ObjectUtils;
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.data.domain.Page;
|
|
|
+import org.springframework.data.domain.Pageable;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.List;
|
|
|
+import java.util.stream.Collectors;
|
|
|
+
|
|
|
+/**
|
|
|
+ * openAPI 认证信息维护
|
|
|
+ *
|
|
|
+ * @author TRX
|
|
|
+ * @date 2024/9/11
|
|
|
+ */
|
|
|
+@Slf4j
|
|
|
+@Service
|
|
|
+public class OpenApiSignInfoService extends SuperService {
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ OpenApiSignInfoDao openApiSignInfoDao;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ OperationLogsService operationLogsService;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 添加认证
|
|
|
+ *
|
|
|
+ * @param param
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public ResultContent<OpenApiSignInfoModel> addOpenApiSignInfo(OpenApiSignInfoParam param) {
|
|
|
+ if (StringUtils.isEmpty(param.getName())) {
|
|
|
+ return ResultContent.buildFail("name不能为空");
|
|
|
+ }
|
|
|
+ if (param.getAppState() == null) {
|
|
|
+ param.setAppState(AppState.Enable);
|
|
|
+ }
|
|
|
+ OpenApiSignInfo nameTemp = openApiSignInfoDao.findTopByName(param.getName());
|
|
|
+
|
|
|
+ OpenApiSignInfo openApiSignInfo = null;
|
|
|
+ if (StringUtils.isNotEmpty(param.getId())) {
|
|
|
+ openApiSignInfo = openApiSignInfoDao.findTopById(param.getId());
|
|
|
+ if (ObjectUtils.isEmpty(openApiSignInfo)) {
|
|
|
+ return ResultContent.buildFail(String.format(ResultMessage.DATA_NOT_EXIST, param.getId()));
|
|
|
+ }
|
|
|
+ if (ObjectUtils.isNotEmpty(nameTemp) && !nameTemp.getId().equals(param.getId())) {
|
|
|
+ return ResultContent.buildFail(String.format(ResultMessage.NAME_EXIT, param.getName()));
|
|
|
+ }
|
|
|
+ BeanUtils.copyProperties(param, openApiSignInfo);
|
|
|
+ } else {
|
|
|
+ if (ObjectUtils.isNotEmpty(nameTemp)) {
|
|
|
+ return ResultContent.buildFail(String.format(ResultMessage.NAME_EXIT, param.getName()));
|
|
|
+ }
|
|
|
+ openApiSignInfo = new OpenApiSignInfo();
|
|
|
+ initEntity(openApiSignInfo);
|
|
|
+ BeanUtils.copyProperties(param, openApiSignInfo);
|
|
|
+
|
|
|
+ String appId = AppInfoUtil.generateRandomString();
|
|
|
+ String appKey = SecurityUtil.passWord(appId);
|
|
|
+ openApiSignInfo.setAppId(appId);
|
|
|
+ openApiSignInfo.setAppKey(appKey);
|
|
|
+
|
|
|
+ operationLogsService.addLogs(String.format("添加了openAPI数据:%s", appId), LogsLevel.Low);
|
|
|
+ }
|
|
|
+ openApiSignInfoDao.save(openApiSignInfo);
|
|
|
+ return ResultContent.buildSuccess();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 认证列表
|
|
|
+ *
|
|
|
+ * @param pageable
|
|
|
+ * @param param
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public ResultContent<Page<OpenApiSignInfoModel>> page(Pageable pageable, OpenApiSignInfoSearch param) {
|
|
|
+ Page<OpenApiSignInfo> page = openApiSignInfoDao.page(pageable, param);
|
|
|
+ return ResultContent.buildSuccess(PageEntityUtil.concurrent2PageModel(page, this::toModel));
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 删除
|
|
|
+ *
|
|
|
+ * @param id
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public ResultContent deleteOpenApiSignInfo(String id) {
|
|
|
+ OpenApiSignInfo openApiSignInfo = openApiSignInfoDao.findTopById(id);
|
|
|
+ if (ObjectUtils.isEmpty(openApiSignInfo)) {
|
|
|
+ return ResultContent.buildFail(String.format("数据ID不存在: %s", id));
|
|
|
+ }
|
|
|
+ openApiSignInfoDao.delete(openApiSignInfo);
|
|
|
+ operationLogsService.addLogs(String.format("删除了openAPI数据:%s", openApiSignInfo.getAppId()), LogsLevel.Low, openApiSignInfo);
|
|
|
+ return ResultContent.buildSuccess();
|
|
|
+ }
|
|
|
+
|
|
|
+ public ResultContent<OpenApiSignInfoModel> getOpenApiSignInfo(String id) {
|
|
|
+ OpenApiSignInfo OpenApiSignInfo = openApiSignInfoDao.findTopById(id);
|
|
|
+ if (ObjectUtils.isEmpty(OpenApiSignInfo)) {
|
|
|
+ return ResultContent.buildFail(String.format("数据ID不存在: %s", id));
|
|
|
+ }
|
|
|
+ return ResultContent.buildSuccess(toModel(OpenApiSignInfo));
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 改变状态
|
|
|
+ *
|
|
|
+ * @param param
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public ResultContent changeState(SignStateParam param) {
|
|
|
+ OpenApiSignInfo signInfo = openApiSignInfoDao.findTopById(param.getId());
|
|
|
+ if (ObjectUtils.isEmpty(signInfo)) {
|
|
|
+ return ResultContent.buildFail(String.format(ResultMessage.DATA_NOT_EXIST, param.getId()));
|
|
|
+ }
|
|
|
+ signInfo.setAppState(param.getAppState());
|
|
|
+ openApiSignInfoDao.save(signInfo);
|
|
|
+ operationLogsService.addLogs(String.format("改变了openAPI数据状态:%s %s", signInfo.getAppId(), signInfo.getAppState()), LogsLevel.Low, signInfo);
|
|
|
+ return ResultContent.buildSuccess();
|
|
|
+ }
|
|
|
+
|
|
|
+ public OpenApiSignInfoModel toModel(OpenApiSignInfo entity) {
|
|
|
+ OpenApiSignInfoModel model = null;
|
|
|
+ if (ObjectUtils.isNotEmpty(entity)) {
|
|
|
+ model = new OpenApiSignInfoModel();
|
|
|
+ BeanUtils.copyProperties(entity, model);
|
|
|
+ }
|
|
|
+ return model;
|
|
|
+ }
|
|
|
+
|
|
|
+}
|