From f0226fac55f50b362d145ce969e66d41606a8b06 Mon Sep 17 00:00:00 2001 From: username@email.com <yzy2002yzy@163.com> Date: 星期五, 30 七月 2021 14:13:16 +0800 Subject: [PATCH] 今日开发 订单优惠 下订单的时候计算优惠 访问申请 --- zhengcaioa/zhengcaioa/Controllers/BusinessOrder/CooperOrderController.cs | 281 +++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 239 insertions(+), 42 deletions(-) diff --git a/zhengcaioa/zhengcaioa/Controllers/BusinessOrder/CooperOrderController.cs b/zhengcaioa/zhengcaioa/Controllers/BusinessOrder/CooperOrderController.cs index e9c3bbd..ba62186 100644 --- a/zhengcaioa/zhengcaioa/Controllers/BusinessOrder/CooperOrderController.cs +++ b/zhengcaioa/zhengcaioa/Controllers/BusinessOrder/CooperOrderController.cs @@ -18,10 +18,14 @@ using CommonToolsCore; using Services; using System.Transactions; +using System.IdentityModel.Tokens.Jwt; +using Microsoft.Extensions.Configuration; +using Newtonsoft.Json.Linq; +using System.Net.Http.Headers; namespace zhengcaioa.Controllers.BusinessOrder { - [CheckLogin] + public class CooperOrderController : Controller { private readonly ILogger<CooperOrderController> _logger; @@ -34,11 +38,17 @@ private readonly IFiBookService _fiBookService; private readonly IFiServiceService _fiServiceService; private readonly IFiMemberService _fiMemberService; + private readonly IConfiguration _configuration; + private readonly IHttpClientFactory _clientFactory; + private readonly IAskService _askService; public CooperOrderController(ILogger<CooperOrderController> logger, ILiaotianService liaotianService, IUserService userService, ICooperOrderService cooperOrderService , ICooperatecustomCustomerService cooperatecustomCustomerService, IProjectService projectService, IPltPageService pltPageService, IFiBookService fiBookService - , IFiServiceService fiServiceService, IFiMemberService fiMemberService) + , IFiServiceService fiServiceService, IFiMemberService fiMemberService + , IConfiguration configuration + , IHttpClientFactory clientFactory + , IAskService askService) { _logger = logger; _liaotianService = liaotianService; @@ -50,9 +60,12 @@ _fiBookService = fiBookService; _fiServiceService = fiServiceService; _fiMemberService = fiMemberService; + _configuration = configuration; + _clientFactory = clientFactory; + _askService = askService; } - + [CheckLogin] public IActionResult Index() { var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User")); @@ -102,18 +115,18 @@ } - + [CheckLogin] public IActionResult GetList(CooperOrderDTOSearch search) { var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User")); ViewData["curentuser"] = curentuser; - search.Creater = curentuser.Id; + //search.Creater = curentuser.Id; //JsonResult jsonResult = new JsonResult(_liaotianService.SearchByPaging(search), new Newtonsoft.Json.Serialization.DefaultContractResolver()); return new JsonResult(_cooperOrderService.SearchByPaging(search)); } - + [CheckLogin] public IActionResult ShouliList() { var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User")); @@ -141,7 +154,7 @@ return View(); } - + [CheckLogin] public IActionResult GetListshouli(CooperOrderDTOSearch search) { var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User")); @@ -152,7 +165,7 @@ } - + [CheckLogin] public IActionResult ChedanList() { var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User")); @@ -180,7 +193,7 @@ return View(); } - + [CheckLogin] public IActionResult GetListchedan(CooperOrderDTOSearch search) { var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User")); @@ -190,7 +203,7 @@ return new JsonResult(_cooperOrderService.SearchByPaging(search)); } - + [CheckLogin] public IActionResult WangongList() { var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User")); @@ -218,7 +231,7 @@ return View(); } - + [CheckLogin] public IActionResult GetListwangong(CooperOrderDTOSearch search) { var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User")); @@ -228,7 +241,7 @@ //JsonResult jsonResult = new JsonResult(_liaotianService.SearchByPaging(search), new Newtonsoft.Json.Serialization.DefaultContractResolver()); return new JsonResult(_cooperOrderService.SearchByPaging(search)); } - + [CheckLogin] public IActionResult SonghuoList() { var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User")); @@ -258,7 +271,7 @@ return View(); } - + [CheckLogin] public IActionResult GetListsonghuo(CooperOrderDTOSearch search) { var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User")); @@ -268,7 +281,7 @@ //JsonResult jsonResult = new JsonResult(_liaotianService.SearchByPaging(search), new Newtonsoft.Json.Serialization.DefaultContractResolver()); return new JsonResult(_cooperOrderService.SearchByPaging(search)); } - + [CheckLogin] public IActionResult HuifangList() { var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User")); @@ -296,7 +309,7 @@ return View(); } - + [CheckLogin] public IActionResult GetListHuifang(CooperOrderDTOSearch search) { var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User")); @@ -306,7 +319,7 @@ //JsonResult jsonResult = new JsonResult(_liaotianService.SearchByPaging(search), new Newtonsoft.Json.Serialization.DefaultContractResolver()); return new JsonResult(_cooperOrderService.SearchByPaging(search)); } - + [CheckLogin] public IActionResult PingjiaList() { var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User")); @@ -334,7 +347,7 @@ return View(); } - + [CheckLogin] public IActionResult GetListPingjia(CooperOrderDTOSearch search) { var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User")); @@ -374,7 +387,7 @@ return View(); } - + [CheckLogin] public IActionResult GetListYouhui(CooperOrderDTOSearch search) { var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User")); @@ -384,6 +397,7 @@ //JsonResult jsonResult = new JsonResult(_liaotianService.SearchByPaging(search), new Newtonsoft.Json.Serialization.DefaultContractResolver()); return new JsonResult(_cooperOrderService.SearchByPaging(search)); } + [CheckLogin] public IActionResult Edit(string id = null, string ShouliStatus = "1") { var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User")); @@ -394,12 +408,14 @@ { dto = _cooperOrderService.Get(id); ViewBag.ShouliStatus = ShouliStatus; + //ViewBag.YouHuiList = _askService.GetAskYouHuiList(dto.Khdw, dto.OrderType); } else { dto.XdTime = DateTime.Now; dto.OrderNum = 1; ViewBag.ShouliStatus = "1"; + //ViewBag.YouHuiList = new List<AdmAskYouHuiDTO>(); } @@ -443,12 +459,13 @@ /// <param name="data">宀椾綅瀹炰綋绫诲璞�</param> /// <returns></returns> /// + [CheckLogin] [HttpPost] - public IActionResult Save(CooperOrderDTO data) + public async Task<IActionResult> SaveAsync(CooperOrderDTO data) { ResultEntity resultEntity = new ResultEntity(); - using (TransactionScope scope = new TransactionScope()) - { + //using (TransactionScope scope = new TransactionScope()) + //{ var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User")); ViewData["curentuser"] = curentuser; data.RecStatus = "A"; @@ -457,16 +474,114 @@ data.Creater = curentuser.Id; data.Createtime = DateTime.Now; data.XdTime = data.Createtime; + if (data.OrderType == "03" || data.OrderType == "07" || (data.OrderType == "02" && (data.OrderType1 == "浠f嫙鎶曡瘔涔�" || data.OrderType1 == "浠f嫙璐ㄧ枒鍑�"))) + { + var cooperatecustomCustomerDTO = _cooperatecustomCustomerService.Get(data.Khdw); + if (cooperatecustomCustomerDTO != null && !string.IsNullOrEmpty(cooperatecustomCustomerDTO.HuiyuanId)) + { + string huiyuanurl = _configuration.GetSection("huiyuanurl").Value; + string SetCaseOrder = _configuration.GetSection("SetCaseOrder").Value; + + Uri postUrl2 = new Uri(huiyuanurl + SetCaseOrder); + + JObject questions2 = new JObject(); + questions2.Add("UserID", cooperatecustomCustomerDTO.HuiyuanId); + if (data.OrderType == "03") + { + questions2.Add("CaseType", 0); + } + else if (data.OrderType == "07") + { + questions2.Add("CaseType", 1); + } + else if (data.OrderType == "07") + { + questions2.Add("CaseType", 1); + } + else if (data.OrderType == "02" && (data.OrderType1 == "浠f嫙鎶曡瘔涔�" || data.OrderType1 == "浠f嫙璐ㄧ枒鍑�")) + { + questions2.Add("CaseType", 2); + } + + questions2.Add("count", Decimal.ToInt32(data.OrderNum.Value) ); + + string requestJson2 = questions2.ToString(); + string result2 = string.Empty; + + using (HttpContent httpContent = new StringContent(requestJson2)) + { + httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/json"); + + var httpClient2 = _clientFactory.CreateClient(); + httpClient2.Timeout = new TimeSpan(0, 0, 10); + var Result2 = await httpClient2.PostAsync(postUrl2, httpContent); + result2 = Result2.Content.ReadAsStringAsync().Result; + } + + _logger.LogInformation("result2:" + result2); + JObject jobjectresult = (JObject)JsonConvert.DeserializeObject(result2); + + if (jobjectresult["code"] != null && jobjectresult["code"].ToString() == "1") + { + resultEntity.Result = true; + } + else + { + resultEntity.Result = false; + resultEntity.Message = "鍐欏叆浼氬憳璁㈠崟澶辫触"; + return new JsonResult(resultEntity); + } + } + } + + + + + + } + + var youHuiDTOs = _askService.GetAskYouHuiList(data.Khdw, data.OrderType).FirstOrDefault(); + if (youHuiDTOs != null) + { + data.Youhuier = youHuiDTOs.Id; + if(youHuiDTOs.Youhuistandard == "01") + { + data.Youhui = youHuiDTOs.YouHui.Value; + if(data.Money.Value < data.Youhui.Value) + { + data.Money = 0; + } + else + { + data.Money = data.Money.Value - data.Youhui.Value; + } } - data.ShouliStatus = "1"; - data.Modifier = curentuser.Id; - data.Modifytime = DateTime.Now; - - resultEntity = _cooperOrderService.save(data); - scope.Complete(); + else if (youHuiDTOs.Youhuistandard == "02") + { + if (youHuiDTOs.YouHui.Value >= 100) + { + data.Youhui = data.Money.Value; + data.Money = 0; + } + else + { + data.Youhui =Math.Round(data.Money.Value * youHuiDTOs.YouHui.Value * new decimal(0.01),2); + data.Money = data.Money.Value - data.Youhui.Value; + } + } + + } - + + data.ShouliStatus = "1"; + data.Modifier = curentuser.Id; + data.Modifytime = DateTime.Now; + + resultEntity = _cooperOrderService.save(data); + // scope.Complete(); + //} + return new JsonResult(resultEntity); } @@ -478,6 +593,7 @@ /// <param name="info">瀹炰綋</param> /// <returns></returns> /// + [CheckLogin] public IActionResult Nullify(string Id = "") { var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User")); @@ -492,7 +608,7 @@ /// <param name="data">宀椾綅瀹炰綋绫诲璞�</param> /// <returns></returns> /// - + [CheckLogin] public IActionResult Shouli(string id) { var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User")); @@ -524,7 +640,7 @@ /// <param name="data">宀椾綅瀹炰綋绫诲璞�</param> /// <returns></returns> /// - + [CheckLogin] public IActionResult Wangong(string id) { var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User")); @@ -540,8 +656,8 @@ return new JsonResult(resultEntity); } - + [CheckLogin] public IActionResult Chedan(string id = null) { var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User")); @@ -552,7 +668,7 @@ return View(); } - + [CheckLogin] public IActionResult chedantuihuan(decimal Price, string Chedanid) { var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User")); @@ -580,7 +696,7 @@ return new JsonResult(resultEntity); } - + [CheckLogin] public IActionResult Huifang(string id = null) { var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User")); @@ -592,7 +708,7 @@ return View(); } - + [CheckLogin] public IActionResult Huifangtuihuan(CooperOrderDTO dto) { ResultEntity resultEntity = new ResultEntity(); @@ -619,7 +735,7 @@ /// <param name="data">宀椾綅瀹炰綋绫诲璞�</param> /// <returns></returns> /// - + [CheckLogin] public IActionResult Songhuo(string id) { var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User")); @@ -639,7 +755,7 @@ } - + [CheckLogin] public IActionResult Songhuotuihuan(CooperOrderDTO dto) { ResultEntity resultEntity = new ResultEntity(); @@ -663,7 +779,7 @@ return new JsonResult(resultEntity); } - + [CheckLogin] public IActionResult Pingjia(string id = null) { var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User")); @@ -674,7 +790,7 @@ return View(); } - + [CheckLogin] public IActionResult Pingjiatuihuan(string PingjiaStatus, string Pingjiaid) { ResultEntity resultEntity = new ResultEntity(); @@ -695,7 +811,7 @@ } - + [CheckLogin] public IActionResult Print(string id = null) { var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User")); @@ -724,7 +840,7 @@ return View(); } - + [CheckLogin] public IActionResult printList(CooperOrderDTOSearch search) { //JsonResult jsonResult = new JsonResult(_liaotianService.SearchByPaging(search), new Newtonsoft.Json.Serialization.DefaultContractResolver()); @@ -771,7 +887,7 @@ result = JsonConvert.SerializeObject(shi); } - if (OrderType == "08" || OrderType == "10") + if (OrderType == "08" || OrderType == "10" || OrderType == "11") { result = "[]"; @@ -854,6 +970,87 @@ return result; } - + + + + //鎻愰棶 + public IActionResult GetHuiYuanOrder([FromBody]CooperOrderDTOSearch search) + { + ReturnMsg<List<UserOrders>> returnMsg = new ReturnMsg<List<UserOrders>>(); + returnMsg.code = 2; + try + { + string userid = ""; + var headers = Request.Headers; + if (headers != null) + { + //string SecurityKey = _configuration.GetSection("SecurityKey").Value; + var keyId = headers["Authorization"].FirstOrDefault(); + if (string.IsNullOrEmpty("keyId")) + { + returnMsg.code = 2; + returnMsg.error = "娌℃湁鑾峰彇鍒皌oken"; + returnMsg.count = 0; + + return new JsonResult(returnMsg); + } + + + JwtSecurityToken jwt = null; + var handler = new JwtSecurityTokenHandler(); + var key1 = keyId.Replace("Bearer", "").Trim(); + jwt = handler.ReadJwtToken(key1); + System.Security.Claims.Claim sss = jwt.Claims.Where(x => x.Type == "id").FirstOrDefault(); + userid = sss.Value; + + } + //LZhuanjiahuidumDTOSearch searchEntity = new LZhuanjiahuidumDTOSearch(); + //searchEntity.Userid = userid; + ////searchEntity.HuidaStatus = "A"; + //searchEntity.page = 1; + //searchEntity.rows = 1000; + search.HuiyuanId = userid; + ResultDataEntity<CooperOrderDTO> resultDataEntity = _cooperOrderService.SearchByPaging(search); + List<CooperOrderDTO> cooperOrderDTOs = resultDataEntity.DataList; + List<UserOrders> userOrders = new List<UserOrders>(); + //灏佽璁㈠崟 + foreach (var cooperOrderDTO in cooperOrderDTOs) + { + UserOrders userOrder = new UserOrders(); + userOrder.order_goods = new List<usercart_items>(); + usercart_items usercart_Item = new usercart_items(); + + userOrder.order_type = "offline"; + userOrder.order_no = cooperOrderDTO.OrderNo; + userOrder.accept_name = cooperOrderDTO.Shr; + userOrder.mobile = cooperOrderDTO.ShrTel; + userOrder.address = cooperOrderDTO.ShrAddress; + userOrder.order_amount = cooperOrderDTO.Money.HasValue ? cooperOrderDTO.Money.Value: 0; + userOrder.statusChs = cooperOrderDTO.ShouliStatusName; + userOrder.add_time = cooperOrderDTO.Createtime; + + usercart_Item.sell_price = cooperOrderDTO.Price.HasValue ? cooperOrderDTO.Price.Value : 0; + usercart_Item.quantity = cooperOrderDTO.OrderNum.HasValue ? decimal.ToInt32(cooperOrderDTO.OrderNum.Value) : 0; + usercart_Item.name = cooperOrderDTO.OrderTypeName + "-" + cooperOrderDTO.OrderType1Name + (string.IsNullOrEmpty(cooperOrderDTO.OrderType2)?"": "-"+cooperOrderDTO.OrderType2); + + + + userOrder.order_goods.Add(usercart_Item); + userOrders.Add(userOrder); + } + returnMsg.code = 1; + returnMsg.returnObj = userOrders; + returnMsg.count = resultDataEntity.DataList.Count; + } + catch (Exception ex) + { + returnMsg.code = 2; + returnMsg.error = "娌℃湁鑾峰彇鍒皌oken"; + returnMsg.count = 0; + + } + return new JsonResult(returnMsg); + } + } } -- Gitblit v1.9.1