From 3b759ef71bb48f9bb6f8445770d20e8ea7921788 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期二, 06 一月 2026 13:58:14 +0800
Subject: [PATCH] Merge branch 'wuhuyancao' of http://139.186.142.91:10010/r/productDev/dmvisit into wuhuyancao
---
server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/JiandaoyunCloudController.java | 175 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 175 insertions(+), 0 deletions(-)
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/JiandaoyunCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/JiandaoyunCloudController.java
new file mode 100644
index 0000000..b4c0182
--- /dev/null
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/JiandaoyunCloudController.java
@@ -0,0 +1,175 @@
+package com.doumee.api.business;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson.TypeReference;
+import com.doumee.api.BaseController;
+import com.doumee.biz.system.SystemDictDataBiz;
+import com.doumee.config.annotation.LoginNoRequired;
+import com.doumee.core.annotation.pr.PreventRepeat;
+import com.doumee.core.annotation.trace.Trace;
+import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.exception.BusinessException;
+import com.doumee.core.haikang.model.HKConstants;
+import com.doumee.core.haikang.model.param.BaseResponse;
+import com.doumee.core.haikang.model.param.request.FacePictureCheckRequest;
+import com.doumee.core.haikang.model.param.respose.FacePictureCheckResponse;
+import com.doumee.core.haikang.service.HKService;
+import com.doumee.core.jiandaoyun.model.request.BasePushRequest;
+import com.doumee.core.jiandaoyun.model.request.MemberPushData;
+import com.doumee.core.utils.Constants;
+import com.doumee.core.utils.DateUtil;
+import com.doumee.core.utils.FtpUtil;
+import com.doumee.core.utils.HttpsUtil;
+import com.doumee.core.utils.aliyun.ALiYunUtil;
+import com.doumee.core.wms.model.response.WmsBaseDataResponse;
+import com.doumee.core.wms.model.response.WmsBaseResponse;
+import com.doumee.dao.business.model.CarUseBook;
+import com.doumee.dao.business.model.Cars;
+import com.doumee.dao.business.model.JkCabinetLog;
+import com.doumee.dao.web.reqeust.VisitRecordDTO;
+import com.doumee.dao.web.response.VisitRecordVO;
+import com.doumee.service.business.CarUseBookService;
+import com.doumee.service.business.CarsService;
+import com.doumee.service.business.MemberService;
+import com.doumee.service.business.third.model.ApiResponse;
+import com.doumee.service.business.third.model.PageData;
+import com.doumee.service.business.third.model.PageWrap;
+import com.sun.net.httpserver.HttpExchange;
+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.codec.digest.DigestUtils;
+import org.apache.commons.io.IOUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartHttpServletRequest;
+import org.springframework.web.multipart.commons.CommonsMultipartResolver;
+
+import javax.imageio.ImageIO;
+import javax.imageio.stream.ImageOutputStream;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.awt.*;
+import java.awt.image.BufferedImage;
+import java.io.*;
+import java.net.URI;
+import java.util.*;
+
+/**
+ * @author Eva.Caesar Liu
+ * @date 2023/02/14 11:14
+ */
+
+@Api(tags = "銆愮畝閬撲簯銆戜笟鍔℃帴鍙�")
+@RestController
+@RequestMapping(Constants.CLOUD_SERVICE_URL_INDEX+"/web/jiandaoyun")
+@Slf4j
+public class JiandaoyunCloudController extends BaseController {
+ @Autowired
+ private SystemDictDataBiz systemDictDataBiz;
+
+ @Autowired
+ private MemberService memberService;
+
+ public static final String SECRET ="yKSKuO0LoFf06jWGrwwuGudK";
+
+ @LoginNoRequired
+ @ApiOperation("绠�閬撲簯鎺ㄩ�佺敤鎴蜂俊鎭�")
+ @PostMapping("/pushMemberData")
+ @PreventRepeat
+ public ApiResponse pushMemberData (HttpServletRequest request, HttpServletResponse response) {
+ BasePushRequest<MemberPushData> o = checkParamterValid(request,response,new TypeReference<BasePushRequest<MemberPushData>>(){});
+ if(o == null || o.getData() ==null){
+ return ApiResponse.failed(401,"error");
+ }
+ int status =0;
+ String info ="鍚屾鎴愬姛";
+ try {
+ memberService.dealJdyMemberInfo(o.getData());//澶勭悊绠�閬撲簯淇℃伅
+ }catch (BusinessException e){
+ status =1;
+ info =e.getMessage();
+ return ApiResponse.failed(e.getCode(),e.getMessage());
+ }catch (Exception e){
+ e.printStackTrace();
+ status =1;
+ info="鍚屾鍙戦�佸紓甯�";
+ return ApiResponse.failed(ResponseStatus.SERVER_ERROR.getCode(),e.getMessage());
+ }finally {
+ memberService.sendMemberInfoResult(o.getData().getUsername(),info,status);
+ }
+
+ return ApiResponse.success("success");
+ }
+
+ private <T> BasePushRequest<T> checkParamterValid(HttpServletRequest request, HttpServletResponse response,TypeReference<BasePushRequest<T>> typeReference) {
+
+ log.error("銆愮畝閬撲簯銆� 鐢ㄨ溅鐢宠 =========getRequestURI锛歿}",request.getRequestURI());
+ try {
+ String jdy = request.getHeader("x-jdy-signature");
+ StringBuilder json = new StringBuilder();
+ String line;
+ BufferedReader reader = new BufferedReader(new InputStreamReader(request.getInputStream()));
+ while ((line = reader.readLine()) != null) {
+ json.append(line);
+ }
+ String payload = json.toString();
+ Map<String, String> parameterMap = parseParameter(request.getQueryString());
+ String nonce = parameterMap.get("nonce");
+ String timestamp = parameterMap.get("timestamp");
+ String signature = getSignature(nonce, payload,
+ systemDictDataBiz.queryByCode(Constants.JDY_CONFIG,Constants.JDY_SECRET).getCode(), timestamp);
+ log.error("銆愮畝閬撲簯銆戞暟鎹帹閫� =========getRequestURI锛歿}\n锛宷ueryParam锛歿}\n,payload:{}\n,绛惧悕锛歿}\n,姝g‘绛惧悕:{}\n",request.getRequestURI(),request.getQueryString(),payload,jdy,signature);
+ if (!signature.equals(jdy)) {
+ return null;
+ }
+ BasePushRequest<T> t = JSONObject.parseObject(payload, typeReference.getType());
+ return t;
+ }catch (Exception e){
+ e.printStackTrace();
+ log.error("銆愮畝閬撲簯銆� 鐢ㄨ溅鐢宠 =========寮傚父锛歿}",e.getMessage());
+ }
+ return null;
+ }
+
+
+ @ApiOperation("绠�閬撲簯鎻愪氦閽ュ寵鍊熻繕淇℃伅")
+ @PostMapping("/submitKeyRecord")
+ public ApiResponse<JkCabinetLog> submitKeyRecord (HttpServletRequest request, HttpServletResponse response) {
+ JkCabinetLog log = new JkCabinetLog();
+ log.setKeyId(1);
+ log.setCreateDate(new Date());
+ log.setMemberName("寮犱笁");
+ return ApiResponse.success(log);
+ }
+
+ private static String getSignature(String nonce, String payload, String secret, String timestamp) {
+ return DigestUtils.sha1Hex(nonce + ":" + payload + ":" + secret + ":" + timestamp);
+ }
+
+ private static Map<String, String> parseParameter(String query) {
+ Map<String, String> paramMap = new HashMap<String, String>();
+ String[] params = query.split("&");
+ for (String param : params) {
+ String[] keyValue = param.split("=");
+ paramMap.put(keyValue[0], keyValue[1]);
+ }
+ return paramMap;
+ }
+ public static void main(String[] args) {
+/*
+*/
+ String url = "https://lcdp.ahyc.com.cn:30443/api/v1/automation/tenant/61b6fb6080e9de2aa1df94d7/hooks/6954aca3cdf86954d2657433fb470ca1aabd108246925eca";
+ JSONObject object = new JSONObject();
+ object.put("status",0);
+ object.put("username","20251104160000" );
+ object.put("info", "杩欐槸澶囨敞");
+ String result = HttpsUtil.postJson(url,JSONObject.toJSONString(object));
+ System.out.println(result);
+ }
+}
--
Gitblit v1.9.3