yl
2023-03-29 da6350d73fdd6b168756a2986b1e5cb0a2da00ed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using VueWebApi.Models;
using VueWebApi.Tools;
using VueWebApi.Util;
 
namespace VueWebApi.Controllers
{
    [RoutePrefix(prefix: "api/Message")]
    [ControllerGroup("T8授权管理", "在线接口")]
    public class MessageController : ApiController
    {
        [Route(template: "OAuth")]
        [HttpGet]
        public string OAuth(string code, string state)
        {
            Console.WriteLine($"Code:{code}");
            return code;
        }
 
        [Route(template: "Receive")]
        [HttpPost]
        public dynamic Receive([FromBody] ChanjetEncryptMsg encryptMsg)
        {
            string enMsg = encryptMsg.GetEncryptMsg();
 
            Console.WriteLine($"解密前的消息{enMsg}");
            String decryptMsg = OpenapiHelper.AesDecrypt(enMsg, config.Key_encryptKey);
            Console.WriteLine($"解密后消息{decryptMsg}");
 
            MessageBase message = JsonConvert.DeserializeObject<MessageBase>(decryptMsg);
            object retObj = null;
            try
            {
                switch (message.msgType)
                {
                    case "APP_TEST":
                        retObj = DealTestMsg(message);
                        break;
                    case "APP_TICKET":
                        retObj = DealTicketMsg(message);
                        break;
                    case "TEMP_AUTH_CODE":
                        retObj = DealOrgTempAuthMsg(message);
                        break;
                    case "PAY_ORDER_SUCCESS":
                        retObj = DealOrderPayMsg(message);
                        break;
                    default:
                        break;
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return retObj;
        }
 
        private object DealOrderPayMsg(MessageBase message)
        {
            throw new NotImplementedException();
        }
 
        private object DealOrgTempAuthMsg(MessageBase message)
        {
            LogHelper.WriteLogData("开始OrgTempAuthContent");
            OrgTempAuthContent content = JsonConvert.DeserializeObject<OrgTempAuthContent>(message.bizContent.ToString());
            Console.WriteLine($"OrgTempAuthCode:{content.tempAuthCode}");
            LogHelper.WriteLogData("结束OrgTempAuthContent");
            return $"OrgTempAuthCode:{content.tempAuthCode}";
        }
 
        private object DealTicketMsg(MessageBase message)
        {
            LogHelper.WriteLogData("开始AppTicket");
            AppTicketContent content = JsonConvert.DeserializeObject<AppTicketContent>(message.bizContent.ToString());
            Console.WriteLine($"AppTicket:{content.appTicket}");
            LogHelper.WriteLogData("结束AppTicket");
            return $"AppTicket:{content.appTicket}";
        }
 
        private object DealTestMsg(MessageBase message)
        {
            Dictionary<string, string> dic = new Dictionary<string, string>
            {
                { "result","success"}
            };
            return JsonConvert.SerializeObject(dic);
        }
    }
}