From 80f9adf3f7682edf1d997f48c65a9bac2e4c1605 Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期日, 28 九月 2025 15:25:42 +0800
Subject: [PATCH] 钉钉授权 与 通知开发

---
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/VisitorWebController.java |   62 ++++++++++++++++++++++++------
 1 files changed, 49 insertions(+), 13 deletions(-)

diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/VisitorWebController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/VisitorWebController.java
index 26c00bd..c8bb46b 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/VisitorWebController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/VisitorWebController.java
@@ -3,35 +3,34 @@
 import com.doumee.api.BaseController;
 import com.doumee.config.annotation.LoginNoRequired;
 import com.doumee.core.annotation.trace.Trace;
-import com.doumee.core.constants.ResponseStatus;
-import com.doumee.core.exception.BusinessException;
-import com.doumee.core.model.ApiResponse;
-import com.doumee.core.model.LoginUserInfo;
-import com.doumee.core.model.PageData;
-import com.doumee.core.model.PageWrap;
+import com.doumee.dao.web.response.DDAuthorizeVO;
+import com.doumee.service.business.third.model.ApiResponse;
+import com.doumee.service.business.third.model.LoginUserInfo;
+import com.doumee.service.business.third.model.PageData;
+import com.doumee.service.business.third.model.PageWrap;
 import com.doumee.core.utils.Constants;
 import com.doumee.dao.business.model.VisitReason;
 import com.doumee.dao.business.model.Visits;
 import com.doumee.dao.web.reqeust.CheckVisitedDTO;
 import com.doumee.dao.web.response.MemberVO;
 import com.doumee.dao.web.response.VisitDetailVO;
-import com.doumee.dao.web.response.VisitRecordVO;
 import com.doumee.dao.web.response.WxAuthorizeVO;
 import com.doumee.service.business.MemberService;
 import com.doumee.service.business.VisitReasonService;
 import com.doumee.service.business.VisitsService;
+import com.taobao.api.ApiException;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
-import org.apache.shiro.authz.annotation.RequiresPermissions;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import javax.validation.Valid;
 import java.util.List;
+import java.util.Objects;
 
 /**
  * Created by IntelliJ IDEA.
@@ -60,13 +59,25 @@
     @ApiOperation(value = "璁垮寰俊鎺堟潈", notes = "璁垮寰俊鎺堟潈鑾峰彇openId")
     @GetMapping("/wxAuthorize")
     @ApiImplicitParams({
-            @ApiImplicitParam(paramType = "query", dataType = "String", name = "code", value = "鎺堟潈鐮�", required = true)
+            @ApiImplicitParam(paramType = "query", dataType = "String", name = "code", value = "鎺堟潈鐮�", required = true),
+            @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "source", value = "鏉ユ簮:0=鍙告満锛�1=璁垮锛�2=鍐呴儴鍛樺伐", required = true)
     })
-    public ApiResponse<WxAuthorizeVO> wxAuthorize(@RequestParam String code) {
-        WxAuthorizeVO wxAuthorizeVO =  memberService.wxAuthorize(code);
+    public ApiResponse<WxAuthorizeVO> wxAuthorize(@RequestParam String code,@RequestParam Integer source) {
+        WxAuthorizeVO wxAuthorizeVO =  memberService.wxAuthorize(code,source);
         return ApiResponse.success("鏌ヨ鎴愬姛",wxAuthorizeVO);
     }
 
+
+    @ApiOperation(value = "閽夐拤寰俊鎺堟潈", notes = "璁垮寰俊鎺堟潈鑾峰彇openId")
+    @GetMapping("/ddAuthorize")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "query", dataType = "String", name = "code", value = "鎺堟潈鐮�", required = true),
+            @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "source", value = "鏉ユ簮:0=鍙告満锛�1=璁垮锛�2=鍐呴儴鍛樺伐", required = true)
+    })
+    public ApiResponse<DDAuthorizeVO> ddAuthorize(@RequestParam String code, @RequestParam Integer source) throws ApiException {
+        DDAuthorizeVO ddAuthorizeVO =  memberService.ddAuthorize(code,source);
+        return ApiResponse.success("鏌ヨ鎴愬姛",ddAuthorizeVO);
+    }
 
     @ApiOperation(value = "鏌ヨ琚闂汉淇℃伅", notes = "鏌ヨ琚闂汉淇℃伅")
     @PostMapping("/getVisitedMember")
@@ -79,7 +90,7 @@
     @PostMapping("/createFk")
     public ApiResponse createFk(@RequestBody Visits visits) {
         visits.setSourceType(Constants.ZERO);
-        return ApiResponse.success("鏌ヨ鎴愬姛", visitsService.createFk(visits,false));
+        return ApiResponse.success("鏌ヨ鎴愬姛", visitsService.createFk(visits,false,Constants.ZERO));
     }
 
 
@@ -94,16 +105,41 @@
     @ApiOperation(value = "璁垮璁板綍璇︽儏", notes = "璁垮璁板綍璇︽儏")
     @GetMapping("/detail")
     public ApiResponse<VisitDetailVO> detail(@RequestParam Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
-        return ApiResponse.success("鏌ヨ鎴愬姛", visitsService.getVisitDetail(id,getLoginUser(token).getMemberId()));
+        LoginUserInfo loginUserInfo = getLoginUser(token);
+        return ApiResponse.success("鏌ヨ鎴愬姛", visitsService.getVisitDetail(id, Objects.isNull(loginUserInfo)?null:loginUserInfo.getMemberId()));
     }
 
 
     @ApiOperation("璁垮璁板綍 - 鍒嗛〉鍒楄〃")
     @PostMapping("/visitPage")
     public ApiResponse<PageData<Visits>> visitPage (@RequestBody PageWrap<Visits> pageWrap) {
+        if(Objects.isNull(pageWrap.getModel()) || StringUtils.isBlank(pageWrap.getModel().getOpenid())){
+            pageWrap.getModel().setMemberId(0);
+        }else{
+            if(Objects.nonNull(pageWrap.getModel()) && Objects.nonNull(pageWrap.getModel().getStatus()) ){
+                pageWrap.getModel().setBusinessStatus(pageWrap.getModel().getStatus());
+                pageWrap.getModel().setStatus(null);
+            }
+        }
         return ApiResponse.success(visitsService.findPage(pageWrap));
     }
 
 
+    /**
+     * 2025-3-25 14:14:34  鍔犲叆鍙栨秷棰勭害 寰呭鎵广�佸鎵逛腑銆佸凡瀹℃壒
+     * @param visitId
+     * @return
+     */
+    @ApiOperation("鍙栨秷棰勭害")
+    @GetMapping("/visitsSelfCancel")
+    public ApiResponse visitsSelfCancel(@RequestParam Integer visitId,Integer memberId,@RequestParam String openid){
+        if(Objects.isNull(memberId)){
+            memberId = Constants.ZERO;
+        }
+        visitsService.visitsSelfCancel(visitId,memberId,openid);
+        return ApiResponse.success(null);
+    }
+
+
 
 }

--
Gitblit v1.9.3