lqq 7 years ago
parent
commit
3a9fc51f0a

+ 75 - 5
Winsoft.GOV.XF.WebApi.WXCore/Controllers/BundleController.cs

@@ -60,7 +60,7 @@ namespace Winsoft.GOV.XF.WebApi.WXCore.Controllers
         [WXOAuthCheck(appId: null, oauthCallbackUrl: "api/Auth")]
         public async Task<IActionResult> GetDetail(string id)
         {
-            Bundle b = await _bundlesService.GetDetail(id);
+            Bundle b = await _bundlesService.Get(id);
             string failsMessage = String.Empty;
             if (b == null)
                 return BadRequest();
@@ -73,10 +73,43 @@ namespace Winsoft.GOV.XF.WebApi.WXCore.Controllers
                 b.Reply = r.Reply;
                 b.ResultFromXF = r.ResultFromXF;
                 b.Status = r.Status;
-                b.IsEvaluate = await _xfApiService.IsEvaluate(b.LetterId, e => failsMessage = e) ? 1 : 0;
+                XFApiIsEvaluateResultData er = await _xfApiService.IsEvaluate(b.LetterId, e => failsMessage = e);
+                if (er == null)
+                    b.IsEvaluate =  0;
+                else
+                {
+                    b.IsEvaluate = er.XFBMPJZT && er.ZRDWPJZT ? 1 : 0;
+                }
+                await _bundlesService.Update(b);
             }
             return Ok(b);
         }
+
+        //[HttpGet("reply/{id}")]
+        //[Produces(typeof(Bundle))]
+        //[WeixinInternalRequest("访问被拒绝,请通过微信客户端访问!", "nofilter")]
+        //[WXOAuthCheck(appId: null, oauthCallbackUrl: "api/Auth")]
+        //public async Task<IActionResult> GetReply(string id)
+        //{
+        //    Bundle b = await _bundlesService.GetDetail(id);
+        //    string failsMessage = String.Empty;
+        //    if (b == null)
+        //        return BadRequest();
+        //    if (b.IsAssessed == 0)
+        //    {
+        //        Bundle r = await _xfApiService.GetBundleByQueryCode(b.SearchCode, e => failsMessage = e);
+        //        if (r == null)
+        //            return Ok(b);
+        //        b.LetterId = r.LetterId;
+        //        b.Reply = r.Reply;
+        //        b.ResultFromXF = r.ResultFromXF;
+        //        b.Status = r.Status;
+        //        //b.IsEvaluate = await _xfApiService.IsEvaluate(b.LetterId, e => failsMessage = e) ? 1 : 0;
+        //    }
+        //    return Ok(b);
+        //}
+
+
         [HttpGet("bySearchCode/{searchCode}")]
         [Produces(typeof(Bundle))]
         [WeixinInternalRequest("访问被拒绝,请通过微信客户端访问!", "nofilter")]
@@ -90,7 +123,7 @@ namespace Winsoft.GOV.XF.WebApi.WXCore.Controllers
             b = await _xfApiService.GetBundleByQueryCode(b.SearchCode, e => failsMessage = e);
             if (b != null)
                 return BadRequest("查无此信息");
-            b.IsAssessed = await _xfApiService.IsEvaluate(b.LetterId, e => failsMessage = e) ? 1 : 0;
+            //b.IsAssessed = await _xfApiService.IsEvaluate(b.LetterId, e => failsMessage = e) ? 1 : 0;
             JObject jo = JsonConvert.DeserializeObject<JObject>(b.ResultFromXF);
             b.Describe = jo["letter"]["content"].ToString();
             b.Name = jo["letter"]["complainant"].ToString();
@@ -112,8 +145,8 @@ namespace Winsoft.GOV.XF.WebApi.WXCore.Controllers
             Bundle b = await _bundlesService.GetDetail(e.BundleId);
             if (b == null && String.IsNullOrEmpty(b.SearchCode))
                 return BadRequest("无效评价目标");
-            if (!await _xfApiService.IsEvaluate(b.LetterId, m => failsMessage = m))
-                return BadRequest("还不能对此信件的办理结果评价");
+            //if (!await _xfApiService.IsEvaluate(b.LetterId, m => failsMessage = m))
+            //    return BadRequest("还不能对此信件的办理结果评价");
             e.cxm = b.SearchCode;
             bool r = await _xfApiService.SubmitEvaluate(e, m => failsMessage = m);
             if (r)
@@ -124,6 +157,43 @@ namespace Winsoft.GOV.XF.WebApi.WXCore.Controllers
             return Ok(r);
         }
 
+        //[HttpPost("isevaluate/{id}")]
+        //[Produces(typeof(XFApiIsEvaluateResultData))]
+        //[WeixinInternalRequest("访问被拒绝,请通过微信客户端访问!", "nofilter")]
+        //[WXOAuthCheck(appId: null, oauthCallbackUrl: "api/Auth")]
+        //public async Task<IActionResult> IsEvaluate(string id)
+        //{
+        //    string failsMessage = String.Empty;
+        //    if (String.IsNullOrEmpty(id))
+        //        return BadRequest("无效评价目标");
+        //    Bundle b = await _bundlesService.Get(id);
+        //    if (b == null && String.IsNullOrEmpty(b.LetterId))
+        //        return BadRequest("无效评价目标");
+        //    //if (!await _xfApiService.IsEvaluate(b.LetterId, m => failsMessage = m))
+        //    //    return BadRequest("还不能对此信件的办理结果评价");
+
+        //    XFApiIsEvaluateResultData r = await _xfApiService.IsEvaluate(b.LetterId, m => failsMessage = m);
+        //    return Ok(r);
+        //}
+
+        [HttpGet("queryEvaluate/{id}")]
+        [Produces(typeof(EvaluateModel))]
+        [WeixinInternalRequest("访问被拒绝,请通过微信客户端访问!", "nofilter")]
+        [WXOAuthCheck(appId: null, oauthCallbackUrl: "api/Auth")]
+        public async Task<IActionResult> IsEvaluate(string id)
+        {
+            string failsMessage = String.Empty;
+            if (String.IsNullOrEmpty(id))
+                return BadRequest("此信访信件不正确");
+            Bundle b = await _bundlesService.Get(id);
+            if (b == null && String.IsNullOrEmpty(b.SearchCode))
+                return BadRequest("此信访信件异常");
+            //if (!await _xfApiService.IsEvaluate(b.LetterId, m => failsMessage = m))
+            //    return BadRequest("还不能对此信件的办理结果评价");
+            EvaluateModel r = await _xfApiService.QueryEvaluate(b.SearchCode, m => failsMessage = m);
+            return Ok(r);
+        }
+
         [HttpGet("all")]
         [Produces(typeof(IEnumerable<Bundle>))]
         [WeixinInternalRequest("访问被拒绝,请通过微信客户端访问!", "nofilter")]

+ 2 - 3
Winsoft.GOV.XF.WebApi.WXCore/Models/XFApiIsEvaluateResult.cs

@@ -19,9 +19,8 @@ namespace Winsoft.GOV.XF.WebApi.WXCore.Models
     [JsonObject(MemberSerialization.OptOut)]
     public class XFApiIsEvaluateResultData
     {
-        public bool SFKPJ { get; set; }
-        public bool XFBMPJZT { get; set; }
         public bool ZRDWPJZT { get; set; }
-        public string Data { get; set; }
+        public bool XFBMPJZT { get; set; }
+        public int BLFSKPJ { get; set; }
     }
 }

+ 1 - 1
Winsoft.GOV.XF.WebApi.WXCore/Services/BundlesService.cs

@@ -23,7 +23,7 @@ namespace Winsoft.GOV.XF.WebApi.WXCore.Services
         }
         public async Task<IEnumerable<Bundle>> GetByUserId(int userId)
         {
-            return await _context.Bundles.AsNoTracking().Where(e => e.UserId == userId).ToListAsync<Bundle>();
+            return await _context.Bundles.Where(e => e.UserId == userId).ToListAsync<Bundle>();
         }
         public async Task<Bundle> Get(string id)
         {

+ 42 - 10
Winsoft.GOV.XF.WebApi.WXCore/Services/XFApiService.cs

@@ -117,20 +117,20 @@ namespace Winsoft.GOV.XF.WebApi.WXCore.Services
         /// <param name="letter_id"></param>
         /// <param name="onFails"></param>
         /// <returns></returns>
-       public async Task<bool> IsEvaluate(string letter_id, OnFails onFails)
+       public async Task<XFApiIsEvaluateResultData> IsEvaluate(string letter_id, OnFails onFails)
        {
-            XFApiIsEvaluateResult rObj = await HttpGetAsync<XFApiIsEvaluateResult>(_config["XFApi"] + "/query/letterDetail;", "letter_id=" + letter_id, onFails);
+            XFApiIsEvaluateResult rObj = await HttpGetAsync<XFApiIsEvaluateResult>(_config["XFApi"] + "/query/isEvaluate;", "letter_id=" + letter_id, onFails);
 
             if (rObj == null)
-                return false;
-            if (rObj.Data == null)
+                return null;
+            if (rObj.Status == "10201")
             {
                 Logger.LogError("数据提交省统一平台失败,原因:{0}", rObj.Message);
                 onFails(string.Format("数据提交省统一平台失败,原因:{0}", rObj.Message));
-                return false;
+                return null;
             }
 
-            return rObj.Data.SFKPJ;
+            return rObj.Data;
        }
         /// <summary>
         /// 评价
@@ -141,7 +141,10 @@ namespace Winsoft.GOV.XF.WebApi.WXCore.Services
         //http://<服务器IP>/query/submitEvaluate
         public async Task<bool> SubmitEvaluate(EvaluateModel e, OnFails onFails)
         {
-            XFApiResult rObj = await HttpPostAsync<XFApiResult>(_config["XFApi"] + "/query/submitEvaluate;", String.Format("cxm={0};xfbmmyd={1};zrdwmyd={2}", e.cxm, e.xfbmmyd, e.zrdwmyd), onFails);
+            XFApiResult rObj = await HttpPostAsync<XFApiResult>(_config["XFApi"] + "/query/submitEvaluate;", 
+                String.Format(
+                    "cxm={0};xfbmmyd={1};zrdwmyd={2};type=1;xfbmpjsj={3};xfbmpjnr={4};zrdwpjsj={5};zrdwpjnr={6};", 
+                    e.cxm, e.xfbmmyd, e.zrdwmyd, DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss"), e.xfbmpjnr, DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss"), e.zrdwpjnr), onFails);
 
             if (rObj == null)
                 return false;
@@ -154,6 +157,38 @@ namespace Winsoft.GOV.XF.WebApi.WXCore.Services
 
             return rObj.Data.Success;
         }
+
+        /// <summary>
+        /// 查询满意度
+        /// </summary>
+        /// <param name="e"></param>
+        /// <param name="onFails"></param>
+        /// <returns></returns>
+        //http://<服务器IP>/query/submitEvaluate
+        public async Task<EvaluateModel> QueryEvaluate(string searchCode, OnFails onFails)
+        {
+            JObject rObj = await HttpPostAsync<JObject>(_config["XFApi"] + "/query/queryEvaluate;", String.Format("cxm={0}", searchCode), onFails);
+
+            
+            if (rObj == null)
+                return null;
+            if (rObj["status"].ToString() == "10201")
+            {
+                Logger.LogError("数据提交省统一平台失败,原因:{0}", rObj["message"].ToString());
+                onFails(string.Format("数据提交省统一平台失败,原因:{0}", rObj["message"].ToString()));
+                return null;
+            }
+            EvaluateModel em = new EvaluateModel();
+            em.type = rObj["data"]["type"].ToString();
+            em.xfbmmyd = rObj["data"]["xfbmmyd"].ToString();
+            em.xfbmpjnr = rObj["data"]["xfbmpjnr"].ToString();
+            em.xfbmpjsj = rObj["data"]["xfbmpjsj"].ToString();
+            em.zrdwmyd = rObj["data"]["zrdwmyd"].ToString();
+            em.zrdwpjnr = rObj["data"]["zrdwpjnr"].ToString();
+            em.zrdwpjsj = rObj["data"]["zrdwpjsj"].ToString();
+            return em;
+        }
+
         /// <summary>
         /// POST 异步
         /// </summary>
@@ -229,9 +264,7 @@ namespace Winsoft.GOV.XF.WebApi.WXCore.Services
         /// <returns></returns>
         string HttpPost(string url, Dictionary<string, string> formData = null, Encoding encoding = null, int timeOut = 10000)
         {
-
             HttpClientHandler handler = new HttpClientHandler();
-
             HttpClient client = new HttpClient(handler);
             MemoryStream ms = new MemoryStream();
             FillFormDataStream(formData, ms);//填充formData
@@ -291,6 +324,5 @@ namespace Winsoft.GOV.XF.WebApi.WXCore.Services
             stream.Write(formDataBytes, 0, formDataBytes.Length);
             stream.Seek(0, SeekOrigin.Begin);//设置指针读取位置
         }
-
     }
 }

+ 1 - 1
Winsoft.GOV.XF.WebApi.WXCore/appsettings.json

@@ -7,7 +7,7 @@
       // "ConnectionString": "Server=(localdb)\\MSSQLLocalDB;Database=Winsoft.GOV.XF.WebApi.ManagerCore;Trusted_Connection=True;MultipleActiveResultSets=true"
     }
   },
-  "BaseURL": "http://f57a02f0.ngrok.io",
+  "BaseURL": "http://ef7eb3cc.ngrok.io",
   "XFApi": "http://118.178.118.50/test1",
   // LogLevel Severity: "Trace", "Debug", "Information", "Warning", "Error", "Critical", "None"
   "Logging": {

BIN
Winsoft.GOV.XF.WebApi.WXCore/wwwroot/images/2017/1225/20171225144802705.jpeg