示例#1
0
        public async Task <JsonResult> Import(IFormFile flie)
        {
            string msg = string.Empty;

            LocalizationSourceName = UnionMallConsts.LocalizationSourceName;
            DataTable dt = _comServices.ExcelToDataTable(flie, out msg);

            if (dt == null || dt.Rows.Count == 0)
            {
                return(new JsonResult(new { succ = false, msg = msg }));
            }
            bool CoulmnCheck = true; string coulmnMsg = string.Empty;

            if (!dt.Columns.Contains("会员卡号"))
            {
                CoulmnCheck = false; coulmnMsg += L("NotExist{0}", "【会员卡号】");
            }
            if (!dt.Columns.Contains("微信名"))
            {
                CoulmnCheck = false; coulmnMsg += L("NotExist{0}", "【微信名】");
            }
            if (!dt.Columns.Contains("姓名"))
            {
                CoulmnCheck = false; coulmnMsg += L("NotExist{0}", "【姓名】");
            }
            if (!dt.Columns.Contains("会员等级"))
            {
                CoulmnCheck = false; coulmnMsg += L("NotExist{0}", "【会员等级】");
            }
            if (!dt.Columns.Contains("归属门店"))
            {
                CoulmnCheck = false; coulmnMsg += L("NotExist{0}", "【归属门店】");
            }
            if (!dt.Columns.Contains("性别"))
            {
                CoulmnCheck = false; coulmnMsg += L("NotExist{0}", "【性别】");
            }
            if (!dt.Columns.Contains("可用积分"))
            {
                CoulmnCheck = false; coulmnMsg += L("NotExist{0}", "【可用积分】");
            }
            if (!dt.Columns.Contains("可用余额"))
            {
                CoulmnCheck = false; coulmnMsg += L("NotExist{0}", "【可用余额】");
            }
            if (!dt.Columns.Contains("推荐人卡号"))
            {
                CoulmnCheck = false; coulmnMsg += L("NotExist{0}", "【推荐人卡号】");
            }
            if (!dt.Columns.Contains("详细地址"))
            {
                CoulmnCheck = false; coulmnMsg += L("NotExist{0}", "【详细地址】");
            }
            if (!dt.Columns.Contains("电子邮件"))
            {
                CoulmnCheck = false; coulmnMsg += L("NotExist{0}", "【电子邮件】");
            }
            if (CoulmnCheck == false)
            {
                return(new JsonResult(new { succ = false, msg = coulmnMsg }));
            }
            try
            {
                foreach (DataRow row in dt.Rows)
                {
                    Entity.Member member = new Entity.Member();
                    member.TenantId   = _AbpSession.TenantId;
                    member.CardID     = row["会员卡号"].ToString();
                    member.FullName   = row["姓名"].ToString();
                    member.WeChatName = row["微信名"].ToString();
                    if (member.WeChatName == "")
                    {
                        member.WeChatName = member.FullName;
                    }
                    DataTable levelTable = _sqlExecuter.ExecuteDataSet($"select id from TMemberLevel l where l.TenantId={_AbpSession.TenantId}" +
                                                                       $" and l.Title='{row["会员等级"]}'").Tables[0];
                    if (levelTable.Rows.Count == 0)
                    {
                        msg += L("NotExist{0}", row["会员等级"].ToString());
                        continue;
                    }

                    member.LevelId = (long)levelTable.Rows[0][0];

                    DataTable storeTable = _sqlExecuter.ExecuteDataSet($"select id,BusinessId from TChainStore c where c.TenantId={_AbpSession.TenantId}" +
                                                                       $" and c.Name='{row["归属门店"]}'").Tables[0];
                    if (levelTable.Rows.Count == 0)
                    {
                        msg += L("NotExist{0}", row["归属门店"].ToString());
                        continue;
                    }
                    member.ChainStoreId = (long)storeTable.Rows[0]["id"];
                    member.BusinessId   = (long)storeTable.Rows[0]["BusinessId"];
                    if (row["性别"].ToString() == "男")
                    {
                        member.Sex = 0;
                    }
                    else
                    {
                        member.Sex = 1;
                    }

                    member.Integral = Convert.ToDecimal(row["可用积分"]);
                    member.Balance  = Convert.ToDecimal(row["可用余额"]);
                    member.Mobile   = row["手机号"].ToString();
                    member.PassWord = "******";
                    if (row["推荐人卡号"] != null && row["推荐人卡号"].ToString().Trim() != "")
                    {
                        var m = _Repository.FirstOrDefault(c => c.CardID == row["推荐人卡号"].ToString() && c.TenantId == _AbpSession.TenantId);
                        member.ReferrerID = m.Id;
                    }
                    member.RegTime = DateTime.Now;
                    member.Address = row["详细地址"].ToString();
                    member.Email   = row["电子邮件"].ToString();
                    await _Repository.InsertAsync(member);
                }
                return(new JsonResult(new { succ = true, msg = msg }));
            }
            catch (Exception ex)
            {
                Logger.Warn("---------------------------" + ex.StackTrace);
                return(new JsonResult(new { succ = false, msg = ex.Message }));
            }
        }