예제 #1
0
        public void insertTaskMember(List <TaskMemberDataEntity> ents, string bid)
        {
            LogApp logApp = new LogApp();

            foreach (var ent in ents)
            {
                rep.Insert(ent);
            }

            /*logApp.WriteDbLog(new LogEntity()
             * {
             *  F_Account = "",
             *  F_CreatorTime = System.DateTime.Now,
             *  F_Date = System.DateTime.Now,
             *  F_CreatorUserId = "",
             *  F_Description = "StartSend",
             *  F_Id = System.Guid.NewGuid().ToString(),
             *  F_ModuleId = "SendMessage",
             *  F_ModuleName = "SendMessage",
             *
             *
             * });
             */
            try
            {
                var shops = ents.GroupBy(p => p.shopCode);
                foreach (var shop in shops)
                {
                    string ShopCode = shop.Key;


                    var salesApp = new marketSalesApp();
                    var users    = salesApp.getGuidManByShop(ShopCode);
                    foreach (var user in users)
                    {
                        var            userinfo = salesApp.getUserInfoBySalesNo(user.sales_No);
                        string         taskId   = System.Guid.NewGuid().ToString();
                        TaskMastEntity ent      = new TaskMastEntity()
                        {
                            id                      = taskId,
                            alertType               = 1,
                            createdTime             = System.DateTime.Now,
                            createdUserId           = userinfo.id,
                            MESSAGE_BILL_NO         = bid,
                            MESSAGE_SUB_NO          = 0,
                            MESSAGE_REPLY_TYPE_CODE = "001",
                            MESSAGE_REPLY_TYPE_NAME = "不需回复",
                            RECEIVE_EMPLOYEE_CODE   = user.sales_No,
                            RECEIVE_EMPLOYEE_NAME   = user.sales_Name,
                            desc                    = "有会员进店,请接待",
                            freqType                = 1,
                            taskName                = "有会员进店,请接待",
                            starTime                = System.DateTime.Now,
                            endTime                 = System.DateTime.Now.AddMinutes(5),
                            importantType           = 1,
                            isAll                   = 1,
                            isRead                  = 0,
                            isReply                 = 0,

                            taskType          = "009",
                            taskTypeName      = "会员到店通知",
                            URGENCY_TYPE_CODE = "002",
                            URGENCY_TYPE_NAME = "紧急",
                            taskSource        = "系统",
                            isDelete          = 0,
                            taskUrl           = "{'shopCode':'" + ShopCode + "','bid':'" + bid + "'}"
                        };
                        taskRep.Insert(ent);

                        TaskPopApp popApp = new TaskPopApp();
                        popApp.createTaskPop(new TaskPopEntity()
                        {
                            id = System.Guid.NewGuid().ToString(), status = 2, taskId = taskId, UserId = userinfo.id, userType = 1
                        });


                        string AndroIdDevice = getDeviceTokens(userinfo.id, "Android");
                        if (AndroIdDevice.Length > 0)
                        {
                            AndroidPostJson postJson = new AndroidPostJson();
                            var             payload  = new AndroidPayload();
                            postJson.type          = CastType.listcast;
                            postJson.device_tokens = AndroIdDevice;

                            payload.display_type      = "notification";
                            payload.body              = new ContentBody();
                            payload.body.ticker       = ent.taskName;
                            payload.body.title        = ent.taskName;
                            payload.body.icon         = "appicon";
                            payload.body.play_lights  = "true";
                            payload.body.play_sound   = "true";
                            payload.body.play_vibrate = "true";
                            payload.body.text         = ent.taskName;
                            payload.body.after_open   = AfterOpenAction.go_app;
                            //payload.body.custom = "comment-notify";
                            var dic = new Dictionary <string, string>();
                            dic.Add("messageId", System.Guid.NewGuid().ToString());

                            payload.extra        = dic;
                            postJson.payload     = payload;
                            postJson.description = ent.taskName;
                            UMengMessagePush <AndroidPostJson> uMAndroidPush = new UMengMessagePush <AndroidPostJson>("59550725677baa17ce0003fe", "grpqx0ayqc1ovn45iqczlrovqrdtvujf");
                            ReturnJsonClass resu = uMAndroidPush.SendMessage(postJson);
                            foreach (var memberEnt in ents)
                            {
                                postJson               = new AndroidPostJson();
                                payload                = new AndroidPayload();
                                postJson.type          = CastType.unicast;
                                postJson.device_tokens = AndroIdDevice;

                                payload.display_type      = "notification";
                                payload.body              = new ContentBody();
                                payload.body.ticker       = ent.taskName;
                                payload.body.title        = ent.taskName;
                                payload.body.icon         = "appicon";
                                payload.body.play_lights  = "true";
                                payload.body.play_sound   = "true";
                                payload.body.play_vibrate = "true";
                                payload.body.text         = ent.taskName;
                                payload.body.after_open   = AfterOpenAction.go_app;
                                dic = new Dictionary <string, string>();
                                dic.Add("messageId", System.Guid.NewGuid().ToString());
                                dic.Add("mfMemberId", memberEnt.mfMemberId);
                                dic.Add("bid", bid);

                                payload.extra               = dic;
                                postJson.payload            = payload;
                                postJson.policy             = new AndroidPolicy();
                                postJson.policy.expire_time = DateTime.Now.AddMinutes(5).ToString("yyyy-MM-dd HH:mm:ss");
                                UMengMessagePush <AndroidPostJson> uMAndroidPush2 = new UMengMessagePush <AndroidPostJson>("5b3ae2eaf43e4808f6000112", "gljoyn3tebkcchaeyvksvp0itjagynqr");
                                ReturnJsonClass resu2 = uMAndroidPush2.SendMessage(postJson);

                                /*logApp.WriteDbLog(new LogEntity()
                                 * {
                                 *  F_Account = user.sales_No,
                                 *  F_CreatorTime = System.DateTime.Now,
                                 *  F_Date = System.DateTime.Now,
                                 *  F_CreatorUserId = user.sales_No,
                                 *  F_Description = resu2.ret,
                                 *  F_Id = System.Guid.NewGuid().ToString(),
                                 *  F_ModuleId = "SendMessage",
                                 *  F_ModuleName = "SendMessage",
                                 *
                                 * });*/
                            }

                            System.Console.WriteLine(resu.ret);
                        }
                        string IOSDevice = getDeviceTokens(userinfo.id, "IOS");
                        if (IOSDevice.Length > 0)
                        {
                            IOSPostJson postJson = new IOSPostJson();
                            postJson.type = CastType.unicast;
                            var aps = new Aps()
                            {
                                alert = "msg",
                                sound = "default"
                            };
                            var     payload = new IOSPayload(aps);
                            JObject jo      = JObject.FromObject(payload);
                            var     extra   = new Dictionary <string, string>();
                            //用户自定义内容,"d","p"为友盟保留字段,key不可以是"d","p"
                            extra.Add("open", "list");
                            extra.ToList().ForEach(x => jo.Add(x.Key, x.Value));

                            postJson.payload         = jo;
                            postJson.description     = ent.taskName;
                            postJson.device_tokens   = IOSDevice;
                            postJson.production_mode = "true";

                            UMengMessagePush <IOSPostJson> uMAndroidPush = new UMengMessagePush <IOSPostJson>("596791cbb27b0a673700001f", "siy2v7u9uzishzimgnslzdukyqkeofhp");
                            ReturnJsonClass resu = uMAndroidPush.SendMessage(postJson);
                            System.Console.WriteLine(resu.ret);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                logApp.WriteDbLog(new LogEntity()
                {
                    F_Account       = "",
                    F_CreatorTime   = System.DateTime.Now,
                    F_Date          = System.DateTime.Now,
                    F_CreatorUserId = "",
                    F_Description   = ex.Message,
                    F_Id            = System.Guid.NewGuid().ToString(),
                    F_ModuleId      = "SendMessage",
                    F_ModuleName    = "SendMessage",
                });
            }
        }
예제 #2
0
        // GET: PSI
        public ActionResult Index(string userId)
        {
            if (userId.Equals(null))
            {
                return(View("_NoFunction"));
            }
            // UserRoleAd.GetDataByCode();
            marketSalesApp salesApp = new marketSalesApp();
            var            userInfo = salesApp.getUserInfoBySalesNo(userId);

            if (userInfo == null)
            {
                return(View("_NoFunction"));
            }
            userId = userInfo.id;
            var           empEntitys = salesApp.getEmpOrgBySalesNo(userInfo.SalesNo);
            List <string> rolues     = new List <string>();

            foreach (var empEnt in empEntitys)
            {
                if (!rolues.Exists(p => p.Equals(empEnt.JOB_CODE)) && (empEnt.JOB_CODE.Equals("BUManager") || empEnt.JOB_CODE.Equals("Citymanager")))
                {
                    rolues.Add(empEnt.JOB_CODE);
                }
            }

            int type = 1;

            //判断用户角色
            if (rolues.Count <= 0)
            {
                return(View("_NoFunction"));
            }
            else
            {
                if (rolues.Exists(p => p.Equals("BUManager")) && rolues.Exists(p => p.Equals("Citymanager")))//表示是多角色需要进入多角色选择画面
                {
                    ViewData["userInfo"] = new userInfo()
                    {
                        userId = userInfo.id, salesCode = userInfo.SalesNo
                    };
                    return(View("_SelectRoue"));
                }
                else if (rolues.Exists(p => p.Equals("BUManager")))//进入战区长功能
                {
                    type = 1;
                }
                else//进入城市经理功能
                {
                    type = 2;
                }
            }



            PModel model = new PModel();

            model.Month = new List <KeyValueModel>();
            DateTime now = DateTime.Now;

            model.Month.Add(new KeyValueModel()
            {
                key = now.AddMonths(-2).ToString("yyyyMM"), keyValue = now.AddMonths(-2).ToString("yyyy年MM月"), isSelected = false
            });
            model.Month.Add(new KeyValueModel()
            {
                key = now.AddMonths(-1).ToString("yyyyMM"), keyValue = now.AddMonths(-1).ToString("yyyy年MM月"), isSelected = false
            });
            model.Month.Add(new KeyValueModel()
            {
                key = now.ToString("yyyyMM"), keyValue = now.ToString("yyyy年MM月"), isSelected = true
            });
            model.Month.Add(new KeyValueModel()
            {
                key = now.AddMonths(1).ToString("yyyyMM"), keyValue = now.AddMonths(1).ToString("yyyy年MM月"), isSelected = false
            });
            model.Month.Add(new KeyValueModel()
            {
                key = now.AddMonths(2).ToString("yyyyMM"), keyValue = now.AddMonths(2).ToString("yyyy年MM月"), isSelected = false
            });
            model.Brand = new List <KeyValueModel>();
            JS5_S12_BRAND_INFOTableAdapter ad = new JS5_S12_BRAND_INFOTableAdapter();
            var ents = ad.GetDataBy();

            foreach (var ent in ents)
            {
                model.Brand.Add(new KeyValueModel()
                {
                    key = ent.BRAND_CODE, keyValue = ent.BRAND_NAME, isSelected = false
                });
            }
            model.Brand.First().isSelected = true;
            model.Prodect = new List <KeyValueModel>();
            var ad2   = new JS5_S12_PRODUCT_TYPE_INFOTableAdapter();
            var ents2 = ad2.GetDataBy();

            foreach (var ent in ents2)
            {
                model.Prodect.Add(new KeyValueModel()
                {
                    key = ent.ID, keyValue = ent.TREE_NODE_NAME, isSelected = false
                });
            }
            model.Prodect.First().isSelected = true;
            model.UserId    = userId;
            model.type      = type;
            model.salesCode = userInfo.SalesNo;
            if (type == 1)
            {
                model.OrgList = new List <KeyValueModel>();
                var orglist = salesApp.getEmpOrgBySalesNo(userInfo.SalesNo, "BUManager");
                foreach (var org in orglist)
                {
                    var orginfo = salesApp.getOrgInfo(org.ORG_ID);
                    model.OrgList.Add(new KeyValueModel()
                    {
                        key = orginfo.id, keyValue = orginfo.MANAGE_ORG_NAME
                    });
                }
                model.OrgList.First().isSelected = true;
                ViewData["VModel"] = getdata(model.Brand.First().key, model.Prodect.First().key, now.ToString("yyyyMM"), userId, type, userInfo.SalesNo, model.OrgList.First().key);
            }
            else if (type == 2)
            {
                model.CityList = new List <KeyValueModel>();
                var orglist = salesApp.getEmpOrgBySalesNo(userInfo.SalesNo, "Citymanager");
                foreach (var org in orglist)
                {
                    var orginfo = salesApp.getOrgInfo(org.ORG_ID);
                    model.CityList.Add(new KeyValueModel()
                    {
                        key = orginfo.id, keyValue = orginfo.MANAGE_ORG_NAME
                    });
                }
                model.CityList.First().isSelected = true;
                ViewData["VModel"] = getdata(model.Brand.First().key, model.Prodect.First().key, now.ToString("yyyyMM"), userId, type, userInfo.SalesNo, model.CityList.First().key);
            }



            ViewData["PModel"] = model;
            //ViewData["ValueModel"] = model;
            return(View("PSIView"));
        }