FeiShuEventController.java 2.62 KB
package com.pipihelper.project.feishu.controller;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;

import com.pipihelper.project.feishu.dto.FeiShuConfig;
import com.pipihelper.project.feishu.dto.FeiShuEventDTO;
import com.pipihelper.project.feishu.service.FeiShuEventService;
import com.pipihelper.project.feishu.utils.FeiShuEventDataDecrypter;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;

/**
 * @Description: TODO
 * @author: charles
 * @date: 2022年03月30日 17:39
 */
@RestController
@RequestMapping("/pipitest/feishu")
public class FeiShuEventController {

    @Resource
    private FeiShuConfig feiShuConfig;

    @Resource
    private FeiShuEventService feiShuEventService;


    @PostMapping("/event")
    public JSONObject event(@RequestBody String s) throws Exception {
        JSONObject reqJsonObject = JSON.parseObject(s);
        System.out.println(s);
        FeiShuEventDataDecrypter d = new FeiShuEventDataDecrypter(feiShuConfig.getAppConfigMap().get(feiShuConfig.getTestHelperApp()).getEncryptKey());
        JSONObject encryptJsonObject = JSON.parseObject(d.decrypt(reqJsonObject.getString("encrypt")));
        System.out.println(encryptJsonObject);
        if (encryptJsonObject.containsKey("challenge")) {
            return encryptJsonObject;
        }
        FeiShuEventDTO feiShuEventDTO = encryptJsonObject.toJavaObject(FeiShuEventDTO.class);
        if (!feiShuEventDTO.getHeader().getToken().equalsIgnoreCase(feiShuConfig.getAppConfigMap().get(feiShuConfig.getTestHelperApp()).getVerificationToken())) {
            return null;
        }
        if ("im.message.receive_v1".equalsIgnoreCase(feiShuEventDTO.getHeader().getEvent_type())) {
//            feiShuEventService.imMessageReceiveV1(feiShuEventDTO);
        } else if ("im.message.message_read_v1".equalsIgnoreCase(feiShuEventDTO.getHeader().getEvent_type())) {
//            feiShuEventService.imMessageMessageReadV1(feiShuEventDTO);
        }
        return null;
    }

//    @PostMapping("msg_card")
//    public JSONObject msgCardEvent(@RequestBody String s) throws Exception {
//        JSONObject reqJsonObject = JSON.parseObject(s);
//        System.out.println(s);
//        if (reqJsonObject.containsKey("challenge")) {
//            return reqJsonObject;
//        }
//        FeiShuMsgCardEventDTO feiShuMsgCardEventDTO = reqJsonObject.toJavaObject(FeiShuMsgCardEventDTO.class);
//        String actionType = feiShuMsgCardEventDTO.getAction().getValue().getKey().split("\\.")[0];
//        switch (actionType) {
//            case "TEST_DATA":
//
////            default:
////        }
//        }
//
//    }
}