package sanyangwl.pro.sanyang.Utils; import com.chanjet.openapi.sdk.java.exception.ChanjetApiException; import com.chanjet.openapi.sdk.java.request.GetTokenRequest; import com.chanjet.openapi.sdk.java.response.GetTokenResponse; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.HashMap; import java.util.Map; import static sanyangwl.pro.sanyang.Utils.CjtAppticket.APP_TICKET; import static sanyangwl.pro.sanyang.Utils.CjtAppticket.TEMP_AUTH_CODE; /** * 功能: * 作者:hanxue * 日期:2025/8/28 16:45 */ @RestController @RequestMapping("/chanjet") @Slf4j public class ChanjetBase { // 消息通知配置 private final String ENCRYPT_KEY = "5gH8pK2qR9sT4wL7"; // 环境密钥 @PostMapping("/getMessage") public Map getMessage(@RequestBody ChanjetEncryptMsg encryptMsg) throws Exception { log.info("收到消息通知:{}", encryptMsg); String enMsg = encryptMsg.getEncryptMsg(); String decryptMsg = OpenapiHelper.aesDecrypt(enMsg, ENCRYPT_KEY); ObjectMapper mapper = new ObjectMapper(); JsonNode rootNode = mapper.readTree(decryptMsg); JsonNode bizContent = rootNode.path("bizContent"); if( rootNode.path("msgType").equals("APP_TICKET")){ String appTicket = bizContent.path("appTicket").asText(); System.out.println("appTicket"+rootNode.path("appKey").asText() ); APP_TICKET = appTicket; }else if( rootNode.path("msgType").equals("TEMP_AUTH_CODE")){ String tmpAuthCode = bizContent.path("tempAuthCode").asText(); System.out.println("tmpAuthCode"+tmpAuthCode); TEMP_AUTH_CODE = tmpAuthCode; } log.info("appTicket:{}",APP_TICKET); log.info("tmpAuthCode:{}",TEMP_AUTH_CODE); return receiveMsgOK(String.valueOf(rootNode)); } private Map receiveMsgOK( String data) { Map result = new HashMap<>(); result.put("result", "success"); result.put("data", data); return result; } @GetMapping("/receiveCode") public String oAuth(@RequestParam String code, @RequestParam String state) { System.out.println("Code:" + code); return code; } }