Jelajahi Sumber

1.新增服务鉴权

yica 4 tahun lalu
induk
melakukan
6359fc669e

+ 12 - 0
pom.xml

@@ -109,6 +109,18 @@
             <artifactId>dcuc-auth-api</artifactId>
             <version>${project.version}</version>
         </dependency>
+        <!--redis缓存-->
+        <dependency>
+            <groupId>com.dragonsoft</groupId>
+            <artifactId>duceap-boot-starter-cache-redis</artifactId>
+            <exclusions>
+                <exclusion>
+                    <artifactId>spring-jdbc</artifactId>
+                    <groupId>org.springframework</groupId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+
 
         <dependency>
             <groupId>com.dragoninfo</groupId>

+ 62 - 0
src/main/java/com/dragoninfo/dcuc/authweb/restcontroller/auth/ServiceAuthController.java

@@ -0,0 +1,62 @@
+package com.dragoninfo.dcuc.authweb.restcontroller.auth;
+
+import com.dragoninfo.dcuc.app.dto.ServiceAuthFlowDTO;
+import com.dragoninfo.dcuc.app.facade.IResourceFacade;
+import com.dragoninfo.dcuc.auth.power.facade.IAppFunInfoFacade;
+import com.dragoninfo.dcuc.authweb.restcontroller.auth.vo.ServiceAuthVo;
+import com.dragoninfo.duceap.core.response.Result;
+import com.dragonsoft.duceap.base.entity.search.SearchDTO;
+import com.dragonsoft.duceap.commons.util.string.StringUtils;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @Author yica
+ * @Date 2021/2/20 17:17
+ **/
+@Api(tags = {"服务授权管理接口"})
+@RestController
+@RequestMapping(value = "/authsvr/v2/service/")
+public class ServiceAuthController {
+
+    @Autowired
+    private IResourceFacade resourceFacade;
+
+    @Autowired
+    private IAppFunInfoFacade appFunFacade;
+
+    @ApiOperation(value = "服务授权列表")
+    @ApiImplicitParam(name = "searchDTO", value = "查询条件")
+    @PostMapping(value = "search")
+    public Result page(SearchDTO searchDTO){
+        Page<ServiceAuthFlowDTO> serviceAuthFlowDTOS = resourceFacade.serviceAuthFlowPage(searchDTO);
+        List<ServiceAuthVo> vos=new ArrayList<>();
+        serviceAuthFlowDTOS.getContent().forEach(item->{
+            ServiceAuthVo vo=new ServiceAuthVo();
+            vo.setApplicantName(item.getApplicantName());
+            vo.setAppName(item.getAppName());
+            vo.setApprovalOrgName(item.getApprovalOrgName());
+            vo.setOrderNo(item.getOrderNo());
+            if (StringUtils.isNotEmpty(item.getServiceCodes())){
+                String[] serviceCodes = item.getServiceCodes().split(",");
+                for (String serviceCode : serviceCodes) {
+
+                }
+               // appFunFacade.getByAppAndFuncCode()
+            }
+            vo.setServiceCodes(item.getServiceCodes());
+            vo.setApplyTime(item.getApplyTime());
+            vos.add(vo);
+        });
+        return Result.success(serviceAuthFlowDTOS.getTotalElements(),vos);
+    }
+}

+ 42 - 0
src/main/java/com/dragoninfo/dcuc/authweb/restcontroller/auth/vo/ServiceAuthVo.java

@@ -0,0 +1,42 @@
+package com.dragoninfo.dcuc.authweb.restcontroller.auth.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**服务授权vo
+ * @Author yica
+ * @Date 2021/2/20 15:27
+ **/
+@Data
+@Api(value = "服务授权vo")
+public class ServiceAuthVo {
+    @ApiModelProperty(value = "id",required = true)
+    private String id;
+
+    @ApiModelProperty(value = "申请人",required = true)
+    private String applicantName;
+
+    @ApiModelProperty(value = "申请单位",required = true)
+    private String approvalOrgName;
+
+    @ApiModelProperty(value = "工单号",required = true)
+    private String orderNo;
+
+    @ApiModelProperty(value = "应用名称",required = true)
+    private String appName;
+
+    @ApiModelProperty(value = "服务code",required = true)
+    private String serviceCodes;
+
+    @ApiModelProperty(value = "服务名称",required = true)
+    private String serviceNames;
+
+
+    @ApiModelProperty(value = "申请时间",required = true)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date applyTime;
+}

+ 17 - 0
src/main/java/com/dragoninfo/dcuc/authweb/util/ConstantsUtils.java

@@ -0,0 +1,17 @@
+package com.dragoninfo.dcuc.authweb.util;
+
+/**
+ * @Author yica
+ * @Date 2021/2/22 16:55
+ **/
+public class ConstantsUtils {
+    /**
+     * 服务鉴权自定义命名空间
+     */
+    public static final String AUTHENTICATION_SPACE ="SERVICE:AUTHENTICATION:" ;
+    /**
+     * 服务鉴权过期时间(小时)
+     */
+    public static final Integer  AUTHENTICATION_TIME_OUT_HOURS =1 ;
+
+}

+ 26 - 0
src/main/java/com/dragoninfo/dcuc/authweb/vo/ServiceAuthenticationReq.java

@@ -0,0 +1,26 @@
+package com.dragoninfo.dcuc.authweb.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.hibernate.validator.constraints.Length;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ * @Author yica
+ * @Date 2021/2/22 13:45
+ **/
+@ApiModel(value = "服务鉴权请求参数")
+@Data
+public class ServiceAuthenticationReq {
+    /*资源code*/
+    @ApiModelProperty(value = "服务code",required = true)
+    @NotNull
+    private String serviceCode;
+    /*资源名称*/
+    @ApiModelProperty(value = "应用code",required = true)
+    @NotNull
+    private String appCode;
+
+}