diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/ThirdTokenController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/ThirdTokenController.java new file mode 100644 index 000000000..c65af7fcf --- /dev/null +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/ThirdTokenController.java @@ -0,0 +1,50 @@ +package com.cool.store.controller.webb; + +import cn.hutool.jwt.JWTUtil; +import com.cool.store.request.YztTokenGenRequest; +import com.cool.store.response.ResponseResult; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.validation.annotation.Validated; +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 java.util.HashMap; +import java.util.Map; + +/** + *

+ * 三方验签 + *

+ * + * @author wangff + * @since 2026/4/12 + */ +@Slf4j +@RestController +@RequestMapping("/pc/third/token") +@Api(tags = "三方验签") +public class ThirdTokenController { + + private static final long EXPIRE_SECONDS = 3600; + + @Value("${third.party.appKey}") + private String appKey; + @Value("${third.party.secret}") + private String secret; + + @PostMapping("/generate") + @ApiOperation("营帐通JWT") + public ResponseResult generateToken(@RequestBody @Validated YztTokenGenRequest request) { + Map payload = new HashMap<>(); + payload.put("platform", "crm"); + payload.put("storeSn", request.getStoreNum()); + payload.put("appKey", appKey); + payload.put("exp", System.currentTimeMillis() / 1000 + EXPIRE_SECONDS); + return ResponseResult.success(JWTUtil.createToken(payload, secret.getBytes())); + } +} diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/MiniThirdTokenController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/MiniThirdTokenController.java new file mode 100644 index 000000000..a7ee42541 --- /dev/null +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/MiniThirdTokenController.java @@ -0,0 +1,47 @@ +package com.cool.store.controller.webc; + +import cn.hutool.jwt.JWTUtil; +import com.cool.store.request.YztTokenGenRequest; +import com.cool.store.response.ResponseResult; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.HashMap; +import java.util.Map; + +/** + *

+ * 三方验签 + *

+ * + * @author wangff + * @since 2026/4/12 + */ +@Slf4j +@RestController +@RequestMapping("/mini/third/token") +@Api(tags = "三方验签") +public class MiniThirdTokenController { + + private static final long EXPIRE_SECONDS = 3600; + + @Value("${third.party.appKey}") + private String appKey; + @Value("${third.party.secret}") + private String secret; + + @PostMapping("/generate") + @ApiOperation("营帐通JWT") + public ResponseResult generateToken(@RequestBody @Validated YztTokenGenRequest request) { + Map payload = new HashMap<>(); + payload.put("platform", "crm"); + payload.put("storeSn", request.getStoreNum()); + payload.put("appKey", appKey); + payload.put("exp", System.currentTimeMillis() / 1000 + EXPIRE_SECONDS); + return ResponseResult.success(JWTUtil.createToken(payload, secret.getBytes())); + } +}