LR-20210131IOQH\Administrator
2021-08-10 d4a6d65f5e449c3e5464aa18ae97bf8953987217
zhengcaioa/zhengcaioa/Controllers/Customer/IntentionVisitController.cs
@@ -18,6 +18,7 @@
using CommonToolsCore;
using static CommonToolsCore.SendMailHelper;
using System.Net.Mail;
using System.Transactions;
namespace zhengcaioa.Controllers.Customer
{
@@ -30,9 +31,11 @@
        private readonly IIntentionCustomerService _intentionCustomerService;
        private readonly IUserService _userService;
        private readonly IIntentionVisitService _intentionVisitService;
        private readonly ICusFangwenjiluService _cusFangwenjiluService;
        public IntentionVisitController(ILogger<IntentionVisitController> logger, IProjectService projectService, ILiaotianService liaotianService, IIntentionCustomerService intentionCustomerService, IUserService userService, IIntentionVisitService intentionVisitService)
        public IntentionVisitController(ILogger<IntentionVisitController> logger, IProjectService projectService, ILiaotianService liaotianService, IIntentionCustomerService intentionCustomerService, IUserService userService, IIntentionVisitService intentionVisitService
             , ICusFangwenjiluService cusFangwenjiluService)
        {
            _logger = logger;
            _projectService = projectService;
@@ -40,10 +43,11 @@
            _intentionCustomerService = intentionCustomerService;
            _userService = userService;
            _intentionVisitService = intentionVisitService;
            _cusFangwenjiluService = cusFangwenjiluService;
        }
        public IActionResult Index()
        public IActionResult Index(string Viscustomer = "", string IsYwjl = "")
        {
            var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
            ViewData["curentuser"] = curentuser;
@@ -71,13 +75,15 @@
            ViewBag.khlx = _liaotianService.GetSYScode("CooperatecustomCustomer", "khlx").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList();
            ViewBag.khly = _liaotianService.GetSYScode("CooperatecustomCustomer", "khly").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList();
            ViewBag.khly = _liaotianService.GetSYScode("IntentionCustomer", "khly").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList();
            ViewBag.hyfl = _liaotianService.GetSYScode("CooperatecustomCustomer", "hyfl").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList();
            ViewBag.users = _userService.GetList().Where(x => x.IsYwjl == "A").Select(x => new { code = x.Id, label = x.UserName }).ToList();
            ViewBag.creater = _userService.GetList().Select(x => new { code = x.Id, label = x.UserName }).ToList();
            ViewBag.Viscustomer = Viscustomer;
            ViewBag.IsYwjl = IsYwjl;
            ViewBag.ShengDropDown = _projectService.Getsheng().Select(x => new { code = x.CodeId, label = x.Name }).ToList();
            return View();
@@ -90,7 +96,7 @@
            return new JsonResult(_intentionVisitService.SearchByPaging(search));
        }
        public IActionResult Edit(string id = null)
        public IActionResult Edit(string id = null,string Viscustomer = null,string IsYwjl = "")
        {
            var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
            ViewData["curentuser"] = curentuser;
@@ -100,10 +106,44 @@
            {
                dto = _intentionVisitService.Get(id);
                //dto.Viscustomer = Viscustomer;
                IntentionVisitDTOSearch searchEntity = new IntentionVisitDTOSearch();
                searchEntity.page = 1;
                searchEntity.rows = 1000;
                searchEntity.Viscustomer = dto.Viscustomer;
                var resultDataEntity = _intentionVisitService.SearchByPaging(searchEntity);
                ViewData["visitlishi"] = resultDataEntity.DataList;
            }
            else
            {
                dto.Vistime = DateTime.Now;
                if (!string.IsNullOrWhiteSpace(Viscustomer))
                {
                    dto.Viscustomer = Viscustomer;
                    IntentionVisitDTOSearch searchEntity = new IntentionVisitDTOSearch();
                    searchEntity.page = 1;
                    searchEntity.rows = 1000;
                    searchEntity.Viscustomer = Viscustomer;
                   var resultDataEntity =  _intentionVisitService.SearchByPaging(searchEntity);
                    ViewData["visitlishi"] = resultDataEntity.DataList;
                }
                else
                {
                    ViewData["visitlishi"] = new List<IntentionVisitDTO>();
                }
                dto.VisType = "01";
                dto.Jtype = "02";
                //dto.Jdr = "02";
                dto.Talk = "介绍公司业务内容和产品。";
                dto.Yx = "03";
                dto.Jy = "02";
                dto.Zw = "02";
            }
@@ -117,11 +157,30 @@
            ViewData["yx"] = _liaotianService.GetSYScode("CooperVisit", "yx");
            ViewData["jy"] = _liaotianService.GetSYScode("CooperVisit", "jy");
            ViewData["Duanxin"] = _intentionVisitService.GetListDuanxin();
            ViewBag.IsYwjl = IsYwjl;
            ViewData.Model = dto;
            return View();
        }
        public IActionResult getDuanxin(string id)
        {
            ResultEntity resultEntity = new ResultEntity();
            resultEntity.Result = true;
            var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
            ViewData["curentuser"] = curentuser;
          var intentionVisitDuanxinDTO =   _intentionVisitService.GetDuanxin(id);
            if(intentionVisitDuanxinDTO!=null && !string.IsNullOrEmpty(intentionVisitDuanxinDTO.DuanxinNeirong))
            {
                resultEntity.Message = string.Format(intentionVisitDuanxinDTO.DuanxinNeirong, curentuser.UserName, curentuser.Phone);
            }
            return new JsonResult(resultEntity);
        }
@@ -144,8 +203,77 @@
            }
            data.Modifier = curentuser.Id;
            data.Modifytime = DateTime.Now;
            ResultEntity resultEntity = new ResultEntity();
            using (TransactionScope scope = new TransactionScope())
            {
                resultEntity = _intentionVisitService.save(data);
                if (!resultEntity.Result)
                {
                    return new JsonResult(resultEntity);
                }
                if (!string.IsNullOrEmpty(data.IsYwjl))
                {
                    IntentionCustomerDTO intentionCustomerDTO = _intentionCustomerService.Get(data.Viscustomer);
                    intentionCustomerDTO.Zuijinzhuizongtime = data.Vistime;
                    if (string.IsNullOrEmpty(intentionCustomerDTO.Ywjl))
                    {
                        intentionCustomerDTO.Ywjl = curentuser.Id;
                    }
                    resultEntity = _intentionCustomerService.save(intentionCustomerDTO);
                    if (!resultEntity.Result)
                    {
                        return new JsonResult(resultEntity);
                    }
                }
                else if (data.Jy == "05")
                {
                    IntentionCustomerDTO intentionCustomerDTO = _intentionCustomerService.Get(data.Viscustomer);
                    intentionCustomerDTO.Yixiang = data.Jy;
                    intentionCustomerDTO.Yixiangtime = data.Vistime;
                    intentionCustomerDTO.Dianxiaozhuanyuan = curentuser.Id;
                    resultEntity = _intentionCustomerService.save(intentionCustomerDTO);
                    if (!resultEntity.Result)
                    {
                        return new JsonResult(resultEntity);
                    }
            ResultEntity resultEntity = _intentionVisitService.save(data);
                }
                if (!string.IsNullOrEmpty(data.DuanxinNeirong))
                {
                    IntentionCustomerDTO intentionCustomerDTO = _intentionCustomerService.Get(data.Viscustomer);
                    if(intentionCustomerDTO!=null && ( !string.IsNullOrEmpty(intentionCustomerDTO.Phone) ||  !string.IsNullOrEmpty(intentionCustomerDTO.Tel)))
                    {
                        string sss = SMSHelper.PushWToUserMES(string.IsNullOrEmpty(intentionCustomerDTO.Phone)? intentionCustomerDTO.Tel: intentionCustomerDTO.Phone, data.DuanxinNeirong);
                        if (int.Parse(sss) <= 0)
                        {
                            resultEntity.Result = false;
                            resultEntity.Message = "短信发送失败";
                        }
                        if (!resultEntity.Result)
                        {
                            return new JsonResult(resultEntity);
                        }
                    }
                    else
                    {
                        resultEntity.Result = false;
                        resultEntity.Message = "客户无手机号码";
                        return new JsonResult(resultEntity);
                    }
                }
                scope.Complete();
            }
            return new JsonResult(resultEntity);
        }
@@ -200,7 +328,7 @@
            {
                for(int i=0;i< result.Count; i++)
                {
                    number.Append(result[i].Phone);
                    number.Append(string.IsNullOrEmpty(result[i].Phone)? result[i].Tel: result[i].Phone);
                    customename += result[i].Name + ",";
                    if (i!= result.Count - 1)
                    {
@@ -221,6 +349,16 @@
                resultEntity.Message = "短信发送失败";
            }
            CusFangwenjiluDTO dto = new CusFangwenjiluDTO();
            dto.Fasongfangshi = "01";
            dto.Fasongneirong = neirong;
            dto.Jieshouren = baifangid;
            dto.RecStatus = "A";
            dto.Creater = curentuser.Id;
            dto.Modifytime = DateTime.Now;
            dto.Modifier = curentuser.Id;
            dto.Createtime = dto.Modifytime;
            resultEntity = _cusFangwenjiluService.save(dto);
            _logger.LogInformation(curentuser.UserName + "发送短信给客户" + customename);
            return new JsonResult(resultEntity);
        }
@@ -290,7 +428,16 @@
            {
                return new JsonResult(resultEntity);
            }
            CusFangwenjiluDTO dto = new CusFangwenjiluDTO();
            dto.Fasongfangshi = "02";
            dto.Fasongneirong = neirong;
            dto.Jieshouren = baifangid;
            dto.RecStatus = "A";
            dto.Creater = curentuser.Id;
            dto.Modifytime = DateTime.Now;
            dto.Modifier = curentuser.Id;
            dto.Createtime = dto.Modifytime;
            resultEntity = _cusFangwenjiluService.save(dto);
            _logger.LogInformation(curentuser.UserName +"发送邮件给客户"+ customename);
            return new JsonResult(resultEntity);