Browse Source

feat(app): 新增企业和个人授权相关接口

- 新增企业认证授权状态查询接口
- 新增企业获取授权链接接口
- 新增个人认证授权状态查询接口- 新增个人获取授权链接接口
SheepHy 6 days ago
parent
commit
c4421312e1

+ 77 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/controller/ESignApi.java

@@ -0,0 +1,77 @@
+package org.jeecg.modules.app.controller;
+
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.media.Schema;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.modules.app.esign.exception.EsignDemoException;
+import org.jeecg.modules.app.service.IESignService;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+
+@Slf4j
+@Tag(name = "E签宝相关接口")
+@RestController
+@RequestMapping("/api/esign")
+public class ESignApi {
+    @Resource
+    private IESignService iESignService;
+    /**
+     * @Author SheepHy
+     * @Description 查询用户授权状态
+     * @Date 9:42 2025/7/18
+     * @Param phoneNumber
+     * @return boolean
+     **/
+    @GetMapping("/getUserIdentityInfo")
+    @Operation(summary = "查询用户授权状态")
+    public Result<Boolean> getUserIdentityInfo(@RequestParam("phoneNumber") @Schema(description="联系人手机号")String phoneNumber) throws EsignDemoException{
+        return Result.OK(iESignService.getUserIdentityInfo(phoneNumber));
+    }
+
+    /**
+     * @Author SheepHy
+     * @Description 获取授权链接
+     * @Date 9:42 2025/7/18
+     * @Param
+     * @return
+     **/
+    @GetMapping("/getAuthUrl")
+    @Operation(summary = "用户获取授权链接")
+    public Result<String> getAuthUrl(@RequestParam("phoneNumber") @Schema(description="联系人手机号")String phoneNumber) throws EsignDemoException{
+        return Result.OK(iESignService.getAuthUrl(phoneNumber));
+    }
+
+
+    /**
+     * @Author SheepHy
+     * @Description 查询企业授权状态
+     * @Date 13:33 2025/7/18
+     * @Param
+     * @return
+     **/
+    @GetMapping("/getOrgIdentityInfos")
+    @Operation(summary = "查询企业授权状态")
+    public Result<Boolean> getOrgIdentityInfos(@RequestParam("orgName") @Schema(description="企业名称")String orgName) throws EsignDemoException{
+        return Result.OK(iESignService.getOrgIdentityInfos(orgName));
+    }
+
+    /**
+     * @Author SheepHy
+     * @Description 企业获取授权链接
+     * @Date 13:33 2025/7/18
+     * @Param
+     * @return
+     **/
+    @GetMapping("/getOrgAuthUrls")
+    @Operation(summary = "企业获取授权链接")
+    public Result<String> getOrgAuthUrls(@RequestParam("orgName") @Schema(description="企业名称")String orgName,
+                                         @RequestParam("phoneNumber") @Schema(description="联系人手机号")String phoneNumber) throws EsignDemoException{
+        return Result.OK(iESignService.getOrgAuthUrls(orgName,phoneNumber));
+    }
+}

+ 4 - 5
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/esign/auth/AuthDemo.java

@@ -111,14 +111,14 @@ public class AuthDemo extends Exception {
 	 *
 	 *
 	 */
-	public static EsignHttpResponse getOrgAuthUrl() throws EsignDemoException {
+	public static EsignHttpResponse getOrgAuthUrl(String orgName,String phoneNumber) throws EsignDemoException {
 		String apiaddr="/v3/org-auth-url";
 		//请求参数body体,json格式。get或者delete请求时jsonString传空json:"{}"或者null
 		String jsonParm="{\n" +
 				"    \"orgAuthConfig\": {\n" +
-				"        \"orgName\": \"语冰test\",\n" +
+				"        \"orgName\": \""+orgName+"\",\n" +
 				"        \"transactorInfo\": {\n" +
-				"            \"psnAccount\": \"184xxxx2104\"\n" +
+				"            \"psnAccount\": \""+phoneNumber+"\"\n" +
 				"        }\n" +
 				"    },\n" +
 				"    \"clientType\": \"all\",\n" +
@@ -142,8 +142,7 @@ public class AuthDemo extends Exception {
 	/**
 	 * 查询企业认证授权状态
 	 */
-	public static EsignHttpResponse getOrgIdentityInfo() throws EsignDemoException {
-		String orgName="语冰test";
+	public static EsignHttpResponse getOrgIdentityInfo(String orgName) throws EsignDemoException {
 		String apiaddr="/v3/organizations/identity-info?orgName="+orgName;
 
 		//请求参数body体,json格式。get或者delete请求时jsonString传空json:"{}"或者null

+ 19 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/service/IESignService.java

@@ -20,4 +20,23 @@ public interface IESignService {
      * @return
      **/
     String getAuthUrl(String phoneNumber) throws EsignDemoException;
+
+
+    /**
+     * @Author SheepHy
+     * @Description 查询企业授权状态
+     * @Date 13:33 2025/7/18
+     * @Param
+     * @return
+     **/
+    boolean getOrgIdentityInfos(String orgName) throws EsignDemoException;
+
+    /**
+     * @Author SheepHy
+     * @Description 企业获取授权链接
+     * @Date 13:33 2025/7/18
+     * @Param
+     * @return
+     **/
+    String getOrgAuthUrls(String orgName,String phoneNumber) throws EsignDemoException;
 }

+ 15 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/service/impl/ESignServiceImpl.java

@@ -29,5 +29,20 @@ public class ESignServiceImpl implements IESignService {
         return data.get("authUrl").getAsString();
     }
 
+    @Override
+    public boolean getOrgIdentityInfos(String orgName) throws EsignDemoException {
+        EsignHttpResponse getOrgIdentityInfo = getOrgIdentityInfo(orgName);
+        JsonObject getOrgIdentityInfoObject = gson.fromJson(getOrgIdentityInfo.getBody(), JsonObject.class);
+        String orgRealnameStatus =	getOrgIdentityInfoObject.getAsJsonObject("data").get("realnameStatus").getAsString();//授权状态authorizeUserInfo
+        return orgRealnameStatus.equals("1");
+    }
+
+    @Override
+    public String getOrgAuthUrls(String orgName,String phoneNumber) throws EsignDemoException {
+        EsignHttpResponse getOrgAuthUrl = getOrgAuthUrl(orgName,phoneNumber);
+        JsonObject getOrgAuthUrlObject = gson.fromJson(getOrgAuthUrl.getBody(), JsonObject.class);
+        return getOrgAuthUrlObject.getAsJsonObject("data").get("authUrl").getAsString();
+    }
+
 }
 

+ 1 - 1
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/service/impl/OrderServiceImpl.java

@@ -121,7 +121,7 @@ public class OrderServiceImpl implements IOrderService {
                 .setHasDiscount(checkCourseDiscount);
         if(checkCourseDiscount){
             previousOrderCourse.setDiscountPrice(appCourses.getSellingPrice());
-            previousOrderCourse.setTotalDiscount(appCourses.getSellingPrice().subtract(appCourses.getSellingPrice()));
+            previousOrderCourse.setTotalDiscount(appCourses.getSellingPrice());
             previousOrderCourse.setSubtotal(appCourses.getSellingPrice().subtract(appCourses.getSellingPrice()));
             previousOrderCourse.setTotalPrice(appCourses.getSellingPrice().subtract(appCourses.getSellingPrice()));
         }else {