9 changed files with 110 additions and 30 deletions
@ -0,0 +1,48 @@ |
|||||
|
package com.qs.serve.modules.third; |
||||
|
|
||||
|
import cn.hutool.crypto.SecureUtil; |
||||
|
import com.qs.serve.common.config.DevEnvironmentConfig; |
||||
|
import com.qs.serve.common.model.dto.R; |
||||
|
import com.qs.serve.common.util.Assert; |
||||
|
import com.qs.serve.modules.third.consts.ThirtyConst; |
||||
|
import com.qs.serve.modules.third.entity.ProcessCreateCostApplyBo; |
||||
|
import com.qs.serve.modules.third.entity.ProcessCreatePolicyCostBo; |
||||
|
import com.qs.serve.modules.third.service.PortalOfCostApplication; |
||||
|
import lombok.AllArgsConstructor; |
||||
|
import lombok.extern.slf4j.Slf4j; |
||||
|
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 javax.servlet.http.HttpServletRequest; |
||||
|
import javax.validation.Valid; |
||||
|
import java.time.LocalDate; |
||||
|
|
||||
|
/** |
||||
|
* 【第三方接口】核销系统 |
||||
|
* headers+ => tenant-id = 001 |
||||
|
* headers+ => v-token = MD5.encrypt('jslApi-'+yyyy-MM-dd) |
||||
|
* @author YenHex |
||||
|
* @since 2023/2/14 |
||||
|
*/ |
||||
|
@Slf4j |
||||
|
@AllArgsConstructor |
||||
|
@RestController |
||||
|
@RequestMapping("thirty/") |
||||
|
public class PortalController { |
||||
|
|
||||
|
/** |
||||
|
* 测试连通性 |
||||
|
* @param request |
||||
|
* @return |
||||
|
*/ |
||||
|
@RequestMapping("/test") |
||||
|
public R<?> testConnect(HttpServletRequest request){ |
||||
|
ThirdTokenUtil.checkToken(request); |
||||
|
return R.ok("connect_success"); |
||||
|
} |
||||
|
|
||||
|
|
||||
|
|
||||
|
} |
@ -0,0 +1,32 @@ |
|||||
|
package com.qs.serve.modules.third; |
||||
|
|
||||
|
import cn.hutool.crypto.SecureUtil; |
||||
|
import com.qs.serve.common.config.DevEnvironmentConfig; |
||||
|
import com.qs.serve.common.util.Assert; |
||||
|
import com.qs.serve.modules.third.consts.ThirtyConst; |
||||
|
import lombok.extern.slf4j.Slf4j; |
||||
|
|
||||
|
import javax.servlet.http.HttpServletRequest; |
||||
|
import java.time.LocalDate; |
||||
|
|
||||
|
/** |
||||
|
* @author YenHex |
||||
|
* @since 2023/3/11 |
||||
|
*/ |
||||
|
@Slf4j |
||||
|
public class ThirdTokenUtil { |
||||
|
|
||||
|
public static void checkToken(HttpServletRequest request) { |
||||
|
String time = LocalDate.now().toString(); |
||||
|
String match = SecureUtil.md5(ThirtyConst.PREFIX_MD5_VALUE + time); |
||||
|
String token = request.getHeader(ThirtyConst.TOKEN_API_PARAM); |
||||
|
if(token==null||token.equalsIgnoreCase(match)){ |
||||
|
if(DevEnvironmentConfig.isDev()){ |
||||
|
log.error("v-token==>"+match); |
||||
|
Assert.throwEx("请求头 v-token 为空。或token无效"); |
||||
|
} |
||||
|
Assert.throwEx("err"); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
} |
Loading…
Reference in new issue