|
|
@ -1,6 +1,9 @@ |
|
|
|
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.entity.ProcessCreateCostApplyBo; |
|
|
|
import com.qs.serve.modules.third.entity.ProcessCreatePolicyCostBo; |
|
|
|
import com.qs.serve.modules.third.service.PortalOfCostApplication; |
|
|
@ -11,41 +14,67 @@ 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; |
|
|
|
import java.time.LocalDateTime; |
|
|
|
|
|
|
|
/** |
|
|
|
* 【第三方接口】核销系统 |
|
|
|
* headers+ => tenant-id = 001 |
|
|
|
* headers+ => v-token = MD5.encrypt('jslApi-'+yyyy-MM-dd) |
|
|
|
* @author YenHex |
|
|
|
* @since 2023/2/14 |
|
|
|
*/ |
|
|
|
@Slf4j |
|
|
|
@AllArgsConstructor |
|
|
|
@RestController |
|
|
|
@RequestMapping("portal/cost") |
|
|
|
@RequestMapping("thirty/cost") |
|
|
|
public class PortalOfCostController { |
|
|
|
|
|
|
|
private final String TOKEN_API_PARAM = "v-token"; |
|
|
|
private final String PREFIX_MD5_VALUE = "jslApi-"; |
|
|
|
|
|
|
|
private PortalOfCostApplication portalOfCostApplication; |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
* 一站式创建费用(费用申请) |
|
|
|
* 一站式创建费用(政策) |
|
|
|
* @param createBo |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
//@PostMapping("createByCostApply")
|
|
|
|
public R<?> createCostProcess(@Valid @RequestBody ProcessCreateCostApplyBo createBo){ |
|
|
|
portalOfCostApplication.createCostProcess(createBo); |
|
|
|
@PostMapping("createByPolicy") |
|
|
|
public R<?> createCostProcess2(@Valid @RequestBody ProcessCreatePolicyCostBo createBo, HttpServletRequest request){ |
|
|
|
checkToken(request); |
|
|
|
portalOfCostApplication.createCostProcessByPolicy(createBo); |
|
|
|
return R.ok(); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
* 一站式创建费用(政策) |
|
|
|
* 一站式创建费用(费用申请) |
|
|
|
* @param createBo |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
@PostMapping("createByPolicy") |
|
|
|
public R<?> createCostProcess2(@Valid @RequestBody ProcessCreatePolicyCostBo createBo){ |
|
|
|
portalOfCostApplication.createCostProcessByPolicy(createBo); |
|
|
|
//@PostMapping("createByCostApply")
|
|
|
|
public R<?> createCostProcess(@Valid @RequestBody ProcessCreateCostApplyBo createBo,HttpServletRequest request){ |
|
|
|
checkToken(request); |
|
|
|
portalOfCostApplication.createCostProcess(createBo); |
|
|
|
return R.ok(); |
|
|
|
} |
|
|
|
|
|
|
|
private void checkToken(HttpServletRequest request) { |
|
|
|
String time = LocalDate.now().toString(); |
|
|
|
String match = SecureUtil.md5(PREFIX_MD5_VALUE + time); |
|
|
|
String token = request.getHeader(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"); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|