ChanjetBase.java 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. package sanyangwl.pro.sanyang.Utils;
  2. import com.chanjet.openapi.sdk.java.exception.ChanjetApiException;
  3. import com.chanjet.openapi.sdk.java.request.GetTokenRequest;
  4. import com.chanjet.openapi.sdk.java.response.GetTokenResponse;
  5. import com.fasterxml.jackson.databind.JsonNode;
  6. import com.fasterxml.jackson.databind.ObjectMapper;
  7. import lombok.extern.slf4j.Slf4j;
  8. import org.springframework.beans.factory.annotation.Autowired;
  9. import org.springframework.web.bind.annotation.*;
  10. import java.util.HashMap;
  11. import java.util.Map;
  12. import static sanyangwl.pro.sanyang.Utils.CjtAppticket.APP_TICKET;
  13. import static sanyangwl.pro.sanyang.Utils.CjtAppticket.TEMP_AUTH_CODE;
  14. /**
  15. * 功能:
  16. * 作者:hanxue
  17. * 日期:2025/8/28 16:45
  18. */
  19. @RestController
  20. @RequestMapping("/chanjet")
  21. @Slf4j
  22. public class ChanjetBase {
  23. // 消息通知配置
  24. private final String ENCRYPT_KEY = "5gH8pK2qR9sT4wL7"; // 环境密钥
  25. @PostMapping("/getMessage")
  26. public Map<String, String> getMessage(@RequestBody ChanjetEncryptMsg encryptMsg) throws Exception {
  27. log.info("收到消息通知:{}", encryptMsg);
  28. String enMsg = encryptMsg.getEncryptMsg();
  29. String decryptMsg = OpenapiHelper.aesDecrypt(enMsg, ENCRYPT_KEY);
  30. ObjectMapper mapper = new ObjectMapper();
  31. JsonNode rootNode = mapper.readTree(decryptMsg);
  32. JsonNode bizContent = rootNode.path("bizContent");
  33. if( rootNode.path("msgType").equals("APP_TICKET")){
  34. String appTicket = bizContent.path("appTicket").asText();
  35. System.out.println("appTicket"+rootNode.path("appKey").asText() );
  36. APP_TICKET = appTicket;
  37. }else if( rootNode.path("msgType").equals("TEMP_AUTH_CODE")){
  38. String tmpAuthCode = bizContent.path("tempAuthCode").asText();
  39. System.out.println("tmpAuthCode"+tmpAuthCode);
  40. TEMP_AUTH_CODE = tmpAuthCode;
  41. }
  42. log.info("appTicket:{}",APP_TICKET);
  43. log.info("tmpAuthCode:{}",TEMP_AUTH_CODE);
  44. return receiveMsgOK(String.valueOf(rootNode));
  45. }
  46. private Map<String, String> receiveMsgOK( String data) {
  47. Map<String, String> result = new HashMap<>();
  48. result.put("result", "success");
  49. result.put("data", data);
  50. return result;
  51. }
  52. @GetMapping("/receiveCode")
  53. public String oAuth(@RequestParam String code, @RequestParam String state) {
  54. System.out.println("Code:" + code);
  55. return code;
  56. }
  57. }