From bd25d9a8a058e8c618ee4188ed5f15a898c0f7e8 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期六, 27 一月 2024 11:43:37 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
server/platform/src/main/java/com/doumee/api/common/PublicController.java | 64 +++++++++++++++++++++++++++----
1 files changed, 55 insertions(+), 9 deletions(-)
diff --git a/server/platform/src/main/java/com/doumee/api/common/PublicController.java b/server/platform/src/main/java/com/doumee/api/common/PublicController.java
index ab7e6b6..4904bc8 100644
--- a/server/platform/src/main/java/com/doumee/api/common/PublicController.java
+++ b/server/platform/src/main/java/com/doumee/api/common/PublicController.java
@@ -4,17 +4,30 @@
import com.doumee.api.BaseController;
import com.doumee.biz.system.SystemDictDataBiz;
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.utils.Constants;
import com.doumee.core.utils.DateUtil;
import com.doumee.core.utils.aliyun.ALiYunUtil;
+import com.doumee.dao.business.model.InsuranceApply;
+import com.doumee.dao.business.model.InterfaceLog;
+import com.doumee.dao.business.model.Solutions;
+import com.doumee.service.business.InsuranceApplyService;
+import com.doumee.service.business.InterfaceLogService;
+import com.doumee.service.business.third.SignService;
+import com.jzq.common.bean.sign.NotifyReq;
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.lang3.StringUtils;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
@@ -26,10 +39,7 @@
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.UUID;
+import java.util.*;
/**
* @author Eva.Caesar Liu
@@ -41,11 +51,50 @@
@RequestMapping("/public")
@Slf4j
public class PublicController extends BaseController {
-
-
@Autowired
private SystemDictDataBiz systemDictDataBiz;
+ @Autowired
+ private InsuranceApplyService insuranceApplyService;
+ @Autowired
+ public InterfaceLogService interfaceLogService = null;
+ @ApiOperation("鍚涘瓙绛剧绾﹀洖璋冮�氱煡")
+ @PostMapping("/signNotify")
+ public void updateStatus(@RequestBody NotifyReq request,HttpServletResponse response) {
+ Map<String, Object> context = new HashMap<>();
+ context.put("success",true);
+ InterfaceLog log=new InterfaceLog();
+ log.setType(1);
+ log.setCreateDate(new Date());
+ log.setIsdeleted(0);
+ log.setRequest(JSONObject.toJSONString(request));
+
+ log.setName("鍚涘瓙绛剧绾﹀洖璋冮�氱煡");
+ log.setUrl(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.SIGN_DONE_NOTIFY_URL).getCode());
+
+ try {
+ String appKey = systemDictDataBiz.queryByCode(Constants.SIGN,Constants.SIGN_APPKEY).getCode();
+ String appSecret = systemDictDataBiz.queryByCode(Constants.SIGN,Constants.SIGN_APPSECRET).getCode();
+ if(!StringUtils.equals(appKey,request.getAppkey())){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"appkey涓嶅尮閰�");
+ }
+ String sign = DigestUtils.sha1Hex("data"+JSONObject.toJSONString(request.getData())+"method"+request.getMethod()+"version"+request.getVersion()+"timestamp"+request.getTimestamp()
+ +"appKey"+appKey+"appSecret"+appSecret);
+ if(!StringUtils.equals(sign,request.getSign())){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"楠岀涓嶉�氳繃");
+ }
+ insuranceApplyService.dealSignResult(request.getData());
+ }catch (Exception e){
+ log.setRepose("澶勭悊寮傚父锛�"+e.getMessage());
+ context.put("success",false);
+ context.put("msg","澶勭悊鍙戠敓寮傚父");
+ throw e;
+ }finally {
+ interfaceLogService.create(log);
+ }
+
+ writerJson(response, context);
+ }
@ApiOperation(value = "涓婁紶", notes = "涓婁紶", httpMethod = "POST", position = 6)
@ApiImplicitParams({
@@ -61,8 +110,6 @@
systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode(),
systemDictDataBiz.queryByCode(Constants.OSS,Constants.ENDPOINT).getCode());
}
-
-
@ApiOperation(value = "涓婁紶鍥剧墖", notes = "涓婁紶鍥剧墖", httpMethod = "POST", position = 6)
@ApiImplicitParams({
@ApiImplicitParam(name = "folder", value = "鏂囦欢澶�", required = true, paramType = "query", dataType = "String", dataTypeClass = String.class),
@@ -88,7 +135,6 @@
systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode(),
systemDictDataBiz.queryByCode(Constants.OSS,Constants.ENDPOINT).getCode());
}
-
public void upload(HttpServletRequest request, HttpServletResponse response, String folder, String bucketName,
String access_id, String access_key, String resourcePath, String endpoint) throws Exception {
response.setCharacterEncoding("UTF-8");
--
Gitblit v1.9.3