using Dapper; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Net; using System.Net.Http; using System.Net.Http.Headers; using System.Text; 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 { public static ToMessage mes = new ToMessage(); //定义全局返回信息对象 [Route(template: "OAuth")] [HttpGet] public string OAuth(string code, string state) { Console.WriteLine($"Code:{code}"); LogHelper.WriteLogData("code:" + code); return code; } [Route(template: "Receive")] [HttpPost] public dynamic Receive([FromBody] ChanjetEncryptMsg encryptMsg) { string enMsg = encryptMsg.GetEncryptMsg(); LogHelper.WriteLogData("解密前的消息enMsg:" + enMsg); String decryptMsg = OpenapiHelper.AesDecrypt(enMsg, config.Key_encryptKey); LogHelper.WriteLogData2("解密后消息:" + decryptMsg); MessageBase message = JsonConvert.DeserializeObject(decryptMsg); object retObj = null; try { switch (message.msgType) { case "APP_TEST": LogHelper.WriteLogData("消息类型msgType:" + message.msgType); retObj = DealTestMsg(message); break; case "APP_TICKET": LogHelper.WriteLogData("消息类型msgType:" + message.msgType); retObj = DealTicketMsg(message); break; case "TEMP_AUTH_CODE": LogHelper.WriteLogData("消息类型msgType:" + message.msgType); retObj = DealOrgTempAuthMsg(message); break; case "PAY_ORDER_SUCCESS": LogHelper.WriteLogData("消息类型msgType:" + message.msgType); retObj = DealOrderPayMsg(message); break; default: break; } } catch (Exception ex) { throw ex; } return retObj; } private object DealOrderPayMsg(MessageBase message) { //throw new NotImplementedException(); Dictionary dic = new Dictionary { { "result","success"} }; return dic; } private object DealOrgTempAuthMsg(MessageBase message) { LogHelper.WriteLogData("开始OrgTempAuthContent"); OrgTempAuthContent content = JsonConvert.DeserializeObject(message.bizContent.ToString()); Console.WriteLine($"OrgTempAuthCode:{content.tempAuthCode}"); LogHelper.WriteLogData("结束OrgTempAuthContent"); return $"OrgTempAuthCode:{content.tempAuthCode}"; } private object DealTicketMsg(MessageBase message) { AppTicketContent content = JsonConvert.DeserializeObject(message.bizContent.ToString()); LogHelper.WriteLogData($"AppTicket:{content.appTicket}"); var dynamicParams = new DynamicParameters(); var sql = @"update T_AppTicket set AppTicket=@AppTicket,lm_date=@lm_date"; dynamicParams.Add("@AppTicket", content.appTicket); dynamicParams.Add("@lm_date", DateTime.Now.ToString()); int cont = DapperHelper.SQL(sql, dynamicParams); if (cont > 0) { Dictionary dic = new Dictionary { { "result","success"} }; return dic; } else { Dictionary dic = new Dictionary { { "result","success"} }; return dic; } } private object DealTestMsg(MessageBase message) { Dictionary dic = new Dictionary { { "result","success"} }; LogHelper.WriteLogData1(JsonConvert.SerializeObject(dic)); return dic; } /// /// 获取AppTicket /// /// [Route(template: "AppTicketSelect")] [HttpGet] public HttpResponseMessage AppTicketSelect() { string sql = ""; var dynamicParams = new DynamicParameters(); try { //获取车间下拉框数据 sql = @"select * from T_AppTicket "; var data = DapperHelper.selecttable(sql); if (data.Rows.Count > 0) { mes.code = "200"; mes.Message = "查询成功!"; mes.data = data; } else { mes.code = "300"; mes.Message = "查询失败!"; mes.data = null; } } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.Message = e.Message; mes.data = null; } return TJson.toJson(mes); } } }