Sfoglia il codice sorgente

工单、红包功能优化

zhengbingbing 8 anni fa
parent
commit
225ff92a9c

+ 2 - 2
codegit/CallCenterApi/CallCenterAPI.WechatSDK/WxHelper.cs

@@ -246,7 +246,7 @@ namespace CallCenterAPI.WechatSDK
246 246
         #endregion
247 247
 
248 248
         #region 企业向用户发红包
249
-        public static bool TenPay(decimal amount,string clientip,string certPaths,string openid)
249
+        public static bool TenPay(decimal amount,string clientip,string openid)
250 250
         {
251 251
             #region 发送红包
252 252
             bool fals = false;   //记录发送红包是否成功
@@ -284,7 +284,7 @@ namespace CallCenterAPI.WechatSDK
284 284
 
285 285
 
286 286
                 data = packageReqHandler.ParseXML();
287
-                certPath = certPaths;
287
+                certPath = WechatPath;
288 288
                 xmlResult = Sendredpack(data, WechatMchid, certPath);
289 289
                 var res = XDocument.Parse(xmlResult);
290 290
                 string return_code = res.Element("xml").Element("return_code").Value;

+ 9 - 0
codegit/CallCenterApi/CallCenterApi.BLL/T_Sys_UserAccount.cs

@@ -88,6 +88,15 @@ namespace CallCenterApi.BLL
88 88
         {
89 89
             return dal.GetModel(F_UserCode);
90 90
         }
91
+        /// <summary>
92
+        /// 根据Openid 获取用户
93
+        /// </summary>
94
+        /// <param name="openid"></param>
95
+        /// <returns></returns>
96
+        public Model.T_Sys_UserAccount GetModelByOpenid(string openid)
97
+        {
98
+            return dal.GetModelByOpenid(openid);
99
+        }
91 100
 
92 101
         /// <summary>
93 102
         /// 登录得到一个对象实体

+ 2 - 2
codegit/CallCenterApi/CallCenterApi.BLL/T_Wo_WorkOrder.cs

@@ -151,9 +151,9 @@ namespace CallCenterApi.BLL
151 151
         /// 处理工单
152 152
         /// </summary>
153 153
         public int DealWorkOrder(string strorderid,int isend,string strcont,int jsbm,string jsgh,string clgh
154
-            ,int isaudit, string infotype, int infotypeid, int isreward, string rewardamount, string rewardtime, int unitid, string unit)
154
+            ,int isaudit, string infotype, int infotypeid, int unitid, string unit)
155 155
         {
156
-            return dal.DealWorkOrder(strorderid, isend, strcont, jsbm, jsgh, clgh, isaudit, infotype,infotypeid,isreward,rewardamount,rewardtime,unitid,unit);
156
+            return dal.DealWorkOrder(strorderid, isend, strcont, jsbm, jsgh, clgh, isaudit, infotype,infotypeid,unitid,unit);
157 157
         }
158 158
         public bool UpdateReward(long woid, int isreward, string amount, string time)
159 159
         {

+ 30 - 2
codegit/CallCenterApi/CallCenterApi.DAL/T_Sys_UserAccount.cs

@@ -390,8 +390,36 @@ namespace CallCenterApi.DAL
390 390
             }
391 391
         }
392 392
 
393
-       
394
-      
393
+        /// <summary>
394
+        /// 根据Openid 获取用户
395
+        /// </summary>
396
+        /// <param name="openid"></param>
397
+        /// <returns></returns>
398
+        public Model.T_Sys_UserAccount GetModelByOpenid(string openid)
399
+        {
400
+
401
+            StringBuilder strSql = new StringBuilder();
402
+            strSql.Append("select  top 1 * from T_Sys_UserAccount ");
403
+            strSql.Append(" where F_WxOpenId=@F_WxOpenId");
404
+            SqlParameter[] parameters = {
405
+                    new SqlParameter("@F_WxOpenId", SqlDbType.Int,4)
406
+            };
407
+            parameters[0].Value = openid;
408
+
409
+            Model.T_Sys_UserAccount model = new Model.T_Sys_UserAccount();
410
+            DataSet ds = DbHelperSQL.Query(strSql.ToString(), parameters);
411
+            if (ds.Tables[0].Rows.Count > 0)
412
+            {
413
+                return DataRowToModel(ds.Tables[0].Rows[0]);
414
+            }
415
+            else
416
+            {
417
+                return null;
418
+            }
419
+        }
420
+
421
+
422
+
395 423
 
396 424
         /// <summary>
397 425
         /// 得到一个对象实体

+ 3 - 9
codegit/CallCenterApi/CallCenterApi.DAL/T_Wo_WorkOrder.cs

@@ -718,7 +718,7 @@ namespace CallCenterApi.DAL
718 718
         /// 处理工单
719 719
         /// </summary>
720 720
         public int DealWorkOrder(string strorderid, int isend, string strcont, int jsbm, string jsgh, string clgh
721
-            ,int isaudit, string infotype,int infotypeid,int isreward,string rewardamount,string rewardtime,int unitid,string unit
721
+            ,int isaudit, string infotype,int infotypeid,int unitid,string unit
722 722
             )
723 723
         {
724 724
             SqlParameter[] parameters = {
@@ -731,9 +731,6 @@ namespace CallCenterApi.DAL
731 731
                     new SqlParameter("@IsAudit", SqlDbType.Int),
732 732
                     new SqlParameter("@InfoTypeID", SqlDbType.Int),
733 733
                     new SqlParameter("@InfoType", SqlDbType.VarChar,50),
734
-                    new SqlParameter("@ISReward", SqlDbType.Int),
735
-                    new SqlParameter("@RewardAmount", SqlDbType.VarChar,50),
736
-                    new SqlParameter("@RewardTime", SqlDbType.VarChar,50),
737 734
                     new SqlParameter("@UnitID", SqlDbType.Int),
738 735
                     new SqlParameter("@Unit", SqlDbType.VarChar,50)
739 736
                     };
@@ -746,11 +743,8 @@ namespace CallCenterApi.DAL
746 743
             parameters[6].Value = isaudit;
747 744
             parameters[7].Value = infotypeid;
748 745
             parameters[8].Value = infotype;
749
-            parameters[9].Value = isreward;
750
-            parameters[10].Value = rewardamount;
751
-            parameters[11].Value = rewardtime;
752
-            parameters[12].Value = unitid;
753
-            parameters[13].Value = unit;
746
+            parameters[9].Value = unitid;
747
+            parameters[10].Value = unit;
754 748
             int n = 0;
755 749
             return DbHelperSQL.RunProcedure("DealWorkOrder", parameters, out n);
756 750
         }

+ 5 - 2
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Configs/system.config

@@ -25,9 +25,12 @@
25 25
   <add key="WechatAppsecret" value="3e42313935a4d6dc8b450172b8be2765" />
26 26
   <!-- 微信支付分配的商户号 -->
27 27
   <add key="WechatMchid" value="1493808312"/>
28
-  <add key="WechatKey" value=""/>
28
+  <!-- 商户的API密钥 -->
29
+  <add key="WechatKey" value="u92kcvielwoc045kigdslwod937ckw9c"/>
29 30
   <!-- 商户证书物理位置 -->
30
-  <add key="WechatPath" value=""/>
31
+  <add key="WechatPath" value="D:\certificate\cert"/>
32
+  <!-- 证书安装的IP -->
33
+  <add key="WechatClientIp" value="127.0.0.1"/>
31 34
   <!-- ================== 4:性能监控 - 配置语音文件盘符 ================== -->
32 35
   <add key="VideoHardDisc" value="D" />
33 36
 </appSettings>

+ 21 - 4
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/weixin/WxLoginController.cs

@@ -69,6 +69,17 @@ namespace CallCenterApi.Interface.Controllers.weixin
69 69
                     return Redirect("请求", temp.RedirectUrl);
70 70
                 }
71 71
                 wld.OpenId = temp.OpenId;
72
+
73
+                //获取是否绑定用户表
74
+                var usertemp = new BLL.T_Sys_UserAccount().GetModelByOpenid(wld.OpenId);
75
+                if (usertemp != null)
76
+                {
77
+                    wld.UserCode = usertemp.F_UserCode;
78
+                }
79
+                else
80
+                {
81
+                    wld.UserCode = "";
82
+                }
72 83
             }
73 84
             var model = new BLL.T_Sys_Users().GetModel(wld.OpenId);
74 85
             if (model == null)
@@ -80,7 +91,13 @@ namespace CallCenterApi.Interface.Controllers.weixin
80 91
                 new BLL.T_Sys_Users().Add(model);
81 92
             }
82 93
 
83
-            return Success("成功", wld.OpenId);
94
+            var newobj = new
95
+            {
96
+                openid = wld.OpenId,
97
+                usercode = wld.UserCode,
98
+            };
99
+
100
+            return Success("成功", newobj);
84 101
         }
85 102
 
86 103
         #region 工单相关
@@ -238,7 +255,7 @@ namespace CallCenterApi.Interface.Controllers.weixin
238 255
         public ActionResult DealWorkOrder()
239 256
         {
240 257
             DataTable dt = new DataTable();
241
-            string orderid = RequestString.GetFormString("orderid");
258
+            string orderid = RequestString.GetFormString("orderid");//GetFormString
242 259
             string clcont = HttpUtility.UrlDecode(RequestString.GetFormString("clcont"));
243 260
 
244 261
             int isaudit = RequestString.GetFormInt("isaudit", 0);
@@ -252,11 +269,11 @@ namespace CallCenterApi.Interface.Controllers.weixin
252 269
 
253 270
             if (res)
254 271
             {
255
-                return Error("操作失败");
272
+                return Error("操作成功");
256 273
             }
257 274
             else
258 275
             {
259
-                return Success("操作成功");
276
+                return Success("操作失败");
260 277
             }
261 278
 
262 279
         }

+ 63 - 68
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/workorder/WorkOrderController.cs

@@ -929,7 +929,6 @@ namespace CallCenterApi.Interface.Controllers.workorder
929 929
 
930 930
                             int n = new BLL.T_Wo_WorkOrder().DealWorkOrder(orderid, isend, cont, clbm, struser, ua.F_UserCode
931 931
                                 , model.IsAudit.Value, model.InfoType, model.InfoTypeID.Value
932
-                                , model.ISReward.Value, model.RewardAmount, model.RewardTime
933 932
                                 , model.UnitID.Value, model.Unit);
934 933
                             if (n > 0)
935 934
                             {
@@ -946,27 +945,27 @@ namespace CallCenterApi.Interface.Controllers.workorder
946 945
                                     strmsg = ua.F_UserName + "完结了工单,单号:" + model.WorkOrderID;
947 946
                                 }
948 947
                                 #region 消息表
949
-                                foreach (string ur in item.ToUser.Split(','))
950
-                                {
951
-                                    Model.T_Msg_List msg = new Model.T_Msg_List();
952
-                                    msg.Type = 1;
953
-                                    msg.ToUser = ur;
954
-                                    msg.ToID = Int32.Parse(item.ID.ToString());
955
-                                    msg.Detail = strmsg;
956
-                                    msg.State = 0;
957
-                                    msg.IsDel = 0;
958
-                                    msg.CreateUser = ua.F_UserCode;
959
-                                    msg.CreateDate = DateTime.Now;
960
-
961
-                                    new BLL.T_Msg_List().Add(msg);
962
-                                }
948
+                                //foreach (string ur in item.ToUser.Split(','))
949
+                                //{
950
+                                //    Model.T_Msg_List msg = new Model.T_Msg_List();
951
+                                //    msg.Type = 1;
952
+                                //    msg.ToUser = ur;
953
+                                //    msg.ToID = Int32.Parse(item.ID.ToString());
954
+                                //    msg.Detail = strmsg;
955
+                                //    msg.State = 0;
956
+                                //    msg.IsDel = 0;
957
+                                //    msg.CreateUser = ua.F_UserCode;
958
+                                //    msg.CreateDate = DateTime.Now;
959
+
960
+                                //    new BLL.T_Msg_List().Add(msg);
961
+                                //}
963 962
                                 #endregion
964 963
                                 #endregion
965 964
                                 #region 插入操作记录
966 965
                                 Model.T_Wo_Operation oper = new Model.T_Wo_Operation();
967 966
                                 oper.F_WorkOrderId = model.WorkOrderID;
968 967
                                 oper.F_State = model.State;
969
-                                oper.F_CallRecordId = model.CallID != null ? int.Parse(model.CallID) : 0;
968
+                                oper.F_CallRecordId = model.CallID != "" ? int.Parse(model.CallID) : 0;
970 969
                                 oper.F_File = model.Files;
971 970
 
972 971
                                 string userinfo = ua.depname + "-" + ua.F_UserName + "(" + ua.F_UserCode + ")";
@@ -1002,7 +1001,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
1002 1001
         public bool DealWorkOrders(string orderid,string cont,string openid,int isaudit,int infotypeid,int unitid)
1003 1002
         {
1004 1003
             bool res = false;
1005
-            Model.T_Wo_WorkOrder model = new BLL.T_Wo_WorkOrder().GetModelList(" WorkOrderID='" + orderid + "'").FirstOrDefault();
1004
+            Model.T_Wo_WorkOrder model = new BLL.T_Wo_WorkOrder().GetModelList(" id=" + orderid + "").FirstOrDefault();
1006 1005
             if (model != null)
1007 1006
             {
1008 1007
                 if (openid != "")
@@ -1034,9 +1033,8 @@ namespace CallCenterApi.Interface.Controllers.workorder
1034 1033
                         }
1035 1034
                         #endregion
1036 1035
 
1037
-                        int n = new BLL.T_Wo_WorkOrder().DealWorkOrder(orderid, 1, cont, ua.F_DeptId, ua.F_UserCode, ua.F_UserCode
1036
+                        int n = new BLL.T_Wo_WorkOrder().DealWorkOrder(model.WorkOrderID, 1, cont, ua.F_DeptId, ua.F_UserCode, ua.F_UserCode
1038 1037
                             , model.IsAudit.Value, model.InfoType, model.InfoTypeID.Value
1039
-                            , model.ISReward.Value, model.RewardAmount, model.RewardTime
1040 1038
                             , model.UnitID.Value, model.Unit);
1041 1039
                         if (n > 0)
1042 1040
                         {
@@ -1046,20 +1044,20 @@ namespace CallCenterApi.Interface.Controllers.workorder
1046 1044
                             string strmsg = string.Empty;
1047 1045
                             strmsg = ua.F_UserName + "通过微信完结了工单,单号:" + model.WorkOrderID;
1048 1046
                             #region 消息表
1049
-                            foreach (string ur in item.ToUser.Split(','))
1050
-                            {
1051
-                                Model.T_Msg_List msg = new Model.T_Msg_List();
1052
-                                msg.Type = 1;
1053
-                                msg.ToUser = ur;
1054
-                                msg.ToID = Int32.Parse(item.ID.ToString());
1055
-                                msg.Detail = strmsg;
1056
-                                msg.State = 0;
1057
-                                msg.IsDel = 0;
1058
-                                msg.CreateUser = ua.F_UserCode;
1059
-                                msg.CreateDate = DateTime.Now;
1060
-
1061
-                                new BLL.T_Msg_List().Add(msg);
1062
-                            }
1047
+                            //foreach (string ur in item.ToUser.Split(','))
1048
+                            //{
1049
+                            //    Model.T_Msg_List msg = new Model.T_Msg_List();
1050
+                            //    msg.Type = 1;
1051
+                            //    msg.ToUser = ur;
1052
+                            //    msg.ToID = Int32.Parse(item.ID.ToString());
1053
+                            //    msg.Detail = strmsg;
1054
+                            //    msg.State = 0;
1055
+                            //    msg.IsDel = 0;
1056
+                            //    msg.CreateUser = ua.F_UserCode;
1057
+                            //    msg.CreateDate = DateTime.Now;
1058
+
1059
+                            //    new BLL.T_Msg_List().Add(msg);
1060
+                            //}
1063 1061
                             #endregion
1064 1062
                             #endregion
1065 1063
 
@@ -1067,7 +1065,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
1067 1065
                             Model.T_Wo_Operation oper = new Model.T_Wo_Operation();
1068 1066
                             oper.F_WorkOrderId = model.WorkOrderID;
1069 1067
                             oper.F_State = model.State;
1070
-                            oper.F_CallRecordId = model.CallID != null ? int.Parse(model.CallID) : 0;
1068
+                            oper.F_CallRecordId = model.CallID != "" ? int.Parse(model.CallID) : 0;
1071 1069
                             oper.F_File = model.Files;
1072 1070
 
1073 1071
                             string userinfo = ua.depname + "-" + ua.F_UserName + "(" + ua.F_UserCode + ")";
@@ -1223,20 +1221,20 @@ namespace CallCenterApi.Interface.Controllers.workorder
1223 1221
                             long itemid = new BLL.T_Wo_WorkOrderItem().Add(item);
1224 1222
                             if (itemid > 0)
1225 1223
                             {
1226
-                                foreach (string ur in item.ToUser.Split(','))
1227
-                                {
1228
-                                    Model.T_Msg_List msg = new Model.T_Msg_List();
1229
-                                    msg.Type = 1;
1230
-                                    msg.ToUser = ur;
1231
-                                    msg.ToID = Int32.Parse(itemid.ToString());
1232
-                                    msg.Detail = ua.F_UserName + "向你催办了工单,单号:" + model.WorkOrderID;
1233
-                                    msg.State = 0;
1234
-                                    msg.IsDel = 0;
1235
-                                    msg.CreateUser = ua.F_UserCode;
1236
-                                    msg.CreateDate = DateTime.Now;
1237
-
1238
-                                    new BLL.T_Msg_List().Add(msg);
1239
-                                }
1224
+                                //foreach (string ur in item.ToUser.Split(','))
1225
+                                //{
1226
+                                //    Model.T_Msg_List msg = new Model.T_Msg_List();
1227
+                                //    msg.Type = 1;
1228
+                                //    msg.ToUser = ur;
1229
+                                //    msg.ToID = Int32.Parse(itemid.ToString());
1230
+                                //    msg.Detail = ua.F_UserName + "向你催办了工单,单号:" + model.WorkOrderID;
1231
+                                //    msg.State = 0;
1232
+                                //    msg.IsDel = 0;
1233
+                                //    msg.CreateUser = ua.F_UserCode;
1234
+                                //    msg.CreateDate = DateTime.Now;
1235
+
1236
+                                //    new BLL.T_Msg_List().Add(msg);
1237
+                                //}
1240 1238
 
1241 1239
                                 res = Success("催办成功!");
1242 1240
                             }
@@ -1462,20 +1460,20 @@ namespace CallCenterApi.Interface.Controllers.workorder
1462 1460
                                     long itemid = new BLL.T_Wo_WorkOrderItem().Add(itemnew);
1463 1461
                                     if (itemid > 0)
1464 1462
                                     {
1465
-                                        foreach (string ur in itemnew.ToUser.Split(','))
1466
-                                        {
1467
-                                            Model.T_Msg_List msg = new Model.T_Msg_List();
1468
-                                            msg.Type = 1;
1469
-                                            msg.ToUser = ur;
1470
-                                            msg.ToID = Int32.Parse(itemid.ToString());
1471
-                                            msg.Detail = ua.F_UserName + "重新开启工单,单号:" + model.WorkOrderID;
1472
-                                            msg.State = 0;
1473
-                                            msg.IsDel = 0;
1474
-                                            msg.CreateUser = ua.F_UserCode;
1475
-                                            msg.CreateDate = DateTime.Now;
1476
-
1477
-                                            new BLL.T_Msg_List().Add(msg);
1478
-                                        }
1463
+                                        //foreach (string ur in itemnew.ToUser.Split(','))
1464
+                                        //{
1465
+                                        //    Model.T_Msg_List msg = new Model.T_Msg_List();
1466
+                                        //    msg.Type = 1;
1467
+                                        //    msg.ToUser = ur;
1468
+                                        //    msg.ToID = Int32.Parse(itemid.ToString());
1469
+                                        //    msg.Detail = ua.F_UserName + "重新开启工单,单号:" + model.WorkOrderID;
1470
+                                        //    msg.State = 0;
1471
+                                        //    msg.IsDel = 0;
1472
+                                        //    msg.CreateUser = ua.F_UserCode;
1473
+                                        //    msg.CreateDate = DateTime.Now;
1474
+
1475
+                                        //    new BLL.T_Msg_List().Add(msg);
1476
+                                        //}
1479 1477
                                     }
1480 1478
                                 }
1481 1479
 
@@ -2187,7 +2185,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
2187 2185
         }
2188 2186
 
2189 2187
         //获取奖励记录
2190
-        public ActionResult GetAMList(string woid)
2188
+        public ActionResult GetAMSList(string woid)
2191 2189
         {
2192 2190
             ActionResult res = NoToken("未知错误,请重新登录");
2193 2191
             if (Request.IsAuthenticated)
@@ -2272,13 +2270,10 @@ namespace CallCenterApi.Interface.Controllers.workorder
2272 2270
             womodel.ISReward = 1;
2273 2271
             womodel.RewardAmount = amount;
2274 2272
             new BLL.T_Wo_WorkOrder().UpdateReward(womodel.ID, womodel.ISReward.Value, womodel.RewardAmount, womodel.RewardTime);
2275
-
2276
-
2277
-
2273
+            
2278 2274
             if (b > 0)
2279 2275
             {
2280
-                string centpath= Server.MapPath("~/") + Configs.GetValue("WechatPath");
2281
-                bool tr=WxHelper.TenPay(decimal.Parse(amount),"", centpath, dModel.F_openid);
2276
+                bool tr=WxHelper.TenPay(decimal.Parse(amount),"",  dModel.F_openid);
2282 2277
                 int state = tr ? 1 : 0;
2283 2278
                 new BLL.T_Wo_AwardRecord().UpdateState(b, state);
2284 2279