第一版,与万事诚联调完成版本。
This commit is contained in:
		
							parent
							
								
									18980f1187
								
							
						
					
					
						commit
						5502681f99
					
				
							
								
								
									
										
											BIN
										
									
								
								Docs/网闸需求反馈表_WSY_20190318.xlsx
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Docs/网闸需求反馈表_WSY_20190318.xlsx
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							@ -2,9 +2,54 @@
 | 
			
		||||
using System.IO;
 | 
			
		||||
using System.Security.Cryptography;
 | 
			
		||||
using System.Text;
 | 
			
		||||
using System.Web.Mvc;
 | 
			
		||||
using Cmdjy.Dal;
 | 
			
		||||
using System.Linq;
 | 
			
		||||
 | 
			
		||||
namespace Cmdjy.Bll
 | 
			
		||||
{
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// 标记Action需要对输出进行加密
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    [AttributeUsage(AttributeTargets.Method,AllowMultiple = false,Inherited = false)]
 | 
			
		||||
    [Obsolete("未完成",true)]
 | 
			
		||||
    public class DesAttribute:ActionFilterAttribute, IResultFilter
 | 
			
		||||
    {
 | 
			
		||||
        public Lazy<DjyDbContext> Db { get; set; }
 | 
			
		||||
 | 
			
		||||
        //        var acceptEncoding = filterContext.HttpContext.Request.Headers["Accept-Encoding"];
 | 
			
		||||
        //            if(string.IsNullOrEmpty(acceptEncoding)) return;
 | 
			
		||||
        //            var response = filterContext.HttpContext.Response;
 | 
			
		||||
        //            if(response.Filter == null) return;
 | 
			
		||||
 | 
			
		||||
        //            acceptEncoding = acceptEncoding.ToLower();
 | 
			
		||||
        //            if(acceptEncoding.Contains("gzip")) {
 | 
			
		||||
        //                response.AppendHeader("Content-encoding", "gzip");
 | 
			
		||||
        //                response.Filter = new GZipStream(response.Filter,CompressionMode.Compress);
 | 
			
		||||
        //    }
 | 
			
		||||
        //            else if(acceptEncoding.Contains("deflate")) {
 | 
			
		||||
        //                response.AppendHeader("Content-encoding", "deflate");
 | 
			
		||||
        //                response.Filter = new DeflateStream(response.Filter,CompressionMode.Compress);
 | 
			
		||||
        //}
 | 
			
		||||
 | 
			
		||||
        public override void OnResultExecuting(ResultExecutingContext filterContext) {
 | 
			
		||||
            //var disableDes = filterContext.HttpContext.Request.Form.HasKey ?? false;
 | 
			
		||||
            var request = filterContext.HttpContext.Request;
 | 
			
		||||
            var db = this.Db.Value;
 | 
			
		||||
            var companyCode = request["CompanyCode"];
 | 
			
		||||
            var icompanycode = 0;
 | 
			
		||||
            if(!int.TryParse(companyCode,out var iicc)) {
 | 
			
		||||
 | 
			
		||||
            }
 | 
			
		||||
            var conpanyQu = db.CompanyInfos.Where(m => m.Id == iicc);
 | 
			
		||||
            var response = filterContext.HttpContext.Response;
 | 
			
		||||
            base.OnResultExecuting(filterContext);
 | 
			
		||||
        }
 | 
			
		||||
        public override void OnResultExecuted(ResultExecutedContext filterContext) {
 | 
			
		||||
            base.OnResultExecuted(filterContext);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// 加密帮助类
 | 
			
		||||
    /// </summary>
 | 
			
		||||
 | 
			
		||||
@ -48,6 +48,9 @@
 | 
			
		||||
    <Reference Include="Autofac, Version=4.9.2.0, Culture=neutral, PublicKeyToken=17863af14b0044da, processorArchitecture=MSIL">
 | 
			
		||||
      <HintPath>..\packages\Autofac.4.9.2\lib\net45\Autofac.dll</HintPath>
 | 
			
		||||
    </Reference>
 | 
			
		||||
    <Reference Include="Autofac.Integration.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=17863af14b0044da, processorArchitecture=MSIL">
 | 
			
		||||
      <HintPath>..\packages\Autofac.Mvc5.4.0.2\lib\net45\Autofac.Integration.Mvc.dll</HintPath>
 | 
			
		||||
    </Reference>
 | 
			
		||||
    <Reference Include="CommonClass.Factory, Version=1.2.0.8, Culture=neutral, processorArchitecture=MSIL">
 | 
			
		||||
      <HintPath>..\packages\CommonClass.Factory.1.2.0.8\lib\net45\CommonClass.Factory.dll</HintPath>
 | 
			
		||||
    </Reference>
 | 
			
		||||
@ -194,6 +197,7 @@
 | 
			
		||||
    <Compile Include="Bll\DesHelper.cs" />
 | 
			
		||||
    <Compile Include="Bll\Cache.cs" />
 | 
			
		||||
    <Compile Include="Controllers\CompanyController.cs" />
 | 
			
		||||
    <Compile Include="Controllers\ControllerBase.cs" />
 | 
			
		||||
    <Compile Include="Controllers\HisInfoController.cs" />
 | 
			
		||||
    <Compile Include="Controllers\HisUpdataController.cs" />
 | 
			
		||||
    <Compile Include="Controllers\WsdInterfaceController.cs" />
 | 
			
		||||
@ -213,6 +217,7 @@
 | 
			
		||||
    <Compile Include="Global.asax.cs">
 | 
			
		||||
      <DependentUpon>Global.asax</DependentUpon>
 | 
			
		||||
    </Compile>
 | 
			
		||||
    <Compile Include="IOCFactory.cs" />
 | 
			
		||||
    <Compile Include="Models\HisInfoModels.cs" />
 | 
			
		||||
    <Compile Include="Properties\AssemblyInfo.cs" />
 | 
			
		||||
    <Compile Include="WebContext.cs" />
 | 
			
		||||
 | 
			
		||||
@ -3,26 +3,6 @@
 | 
			
		||||
    padding-bottom: 20px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Set padding to keep content from hitting the edges */
 | 
			
		||||
.body-content {
 | 
			
		||||
    padding-left: 15px;
 | 
			
		||||
    padding-right: 15px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Override the default bootstrap behavior where horizontal description lists 
 | 
			
		||||
   will truncate terms that are too long to fit in the left column 
 | 
			
		||||
*/
 | 
			
		||||
.dl-horizontal dt {
 | 
			
		||||
    white-space: normal;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Set width on the form input elements since they're 100% wide by default */
 | 
			
		||||
input,
 | 
			
		||||
select,
 | 
			
		||||
textarea {
 | 
			
		||||
    max-width: 280px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
table {
 | 
			
		||||
    border: 1px solid #000;
 | 
			
		||||
}
 | 
			
		||||
@ -43,10 +23,10 @@ table {
 | 
			
		||||
/*工具条*/
 | 
			
		||||
.toolBar {
 | 
			
		||||
    list-style: none;
 | 
			
		||||
    padding:0px;
 | 
			
		||||
    padding: 0px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
    .toolBar li {
 | 
			
		||||
        display: inline-block;
 | 
			
		||||
        padding:3px 5px;
 | 
			
		||||
        padding: 3px 5px;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										55
									
								
								WebSiteCode/Cmdjy/Cmdjy/Controllers/ControllerBase.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										55
									
								
								WebSiteCode/Cmdjy/Cmdjy/Controllers/ControllerBase.cs
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,55 @@
 | 
			
		||||
using System;
 | 
			
		||||
using System.Collections.Generic;
 | 
			
		||||
using System.Linq;
 | 
			
		||||
using System.Text;
 | 
			
		||||
using System.Web;
 | 
			
		||||
using System.Web.Mvc;
 | 
			
		||||
using System.Web.Routing;
 | 
			
		||||
using Newtonsoft.Json;
 | 
			
		||||
 | 
			
		||||
namespace Cmdjy.Controllers
 | 
			
		||||
{
 | 
			
		||||
    public class ControllerBase:Controller
 | 
			
		||||
    {
 | 
			
		||||
        protected override JsonResult Json(object data,string contentType,Encoding contentEncoding) {
 | 
			
		||||
            return Json(data,contentType,contentEncoding,JsonRequestBehavior.DenyGet);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        protected override JsonResult Json(object data,string contentType,Encoding contentEncoding,JsonRequestBehavior behavior) {
 | 
			
		||||
            return new MyJsonResult {
 | 
			
		||||
                Data = data,
 | 
			
		||||
                ContentType = contentType,
 | 
			
		||||
                ContentEncoding = contentEncoding,
 | 
			
		||||
                JsonRequestBehavior = behavior
 | 
			
		||||
            };
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public class MyJsonResult:JsonResult
 | 
			
		||||
    {
 | 
			
		||||
        public override void ExecuteResult(ControllerContext context) {
 | 
			
		||||
            if(context == null) {
 | 
			
		||||
                throw new ArgumentNullException("context");
 | 
			
		||||
            }
 | 
			
		||||
            if(JsonRequestBehavior == JsonRequestBehavior.DenyGet &&
 | 
			
		||||
                String.Equals(context.HttpContext.Request.HttpMethod,"GET",StringComparison.OrdinalIgnoreCase)) {
 | 
			
		||||
                throw new InvalidOperationException("GetNotAllowed");
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            HttpResponseBase response = context.HttpContext.Response;
 | 
			
		||||
 | 
			
		||||
            if(!String.IsNullOrEmpty(ContentType)) {
 | 
			
		||||
                response.ContentType = ContentType;
 | 
			
		||||
            }
 | 
			
		||||
            else {
 | 
			
		||||
                response.ContentType = "application/json";
 | 
			
		||||
            }
 | 
			
		||||
            if(ContentEncoding != null) {
 | 
			
		||||
                response.ContentEncoding = ContentEncoding;
 | 
			
		||||
            }
 | 
			
		||||
            if(Data != null) {
 | 
			
		||||
                response.Write(JsonConvert.SerializeObject(Data));
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@ -1,8 +1,4 @@
 | 
			
		||||
using System;
 | 
			
		||||
using System.Collections.Generic;
 | 
			
		||||
using System.Linq;
 | 
			
		||||
using System.Web;
 | 
			
		||||
using System.Web.Mvc;
 | 
			
		||||
using System.Web.Mvc;
 | 
			
		||||
 | 
			
		||||
namespace Cmdjy.Controllers
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
@ -1,30 +1,28 @@
 | 
			
		||||
using System;
 | 
			
		||||
using System.Collections.Generic;
 | 
			
		||||
using System.Linq;
 | 
			
		||||
using System.Web;
 | 
			
		||||
using System.Web.Mvc;
 | 
			
		||||
using WsdInterfaceModels;
 | 
			
		||||
using Cmdjy.Dal;
 | 
			
		||||
using Cmdjy.Dal.Tables;
 | 
			
		||||
using Cmdjy.Bll;
 | 
			
		||||
using Newtonsoft.Json;
 | 
			
		||||
using Cmdjy.Dal;
 | 
			
		||||
using CommonHelper;
 | 
			
		||||
using Newtonsoft.Json;
 | 
			
		||||
using WsdInterfaceModels;
 | 
			
		||||
 | 
			
		||||
namespace Cmdjy.Controllers
 | 
			
		||||
{
 | 
			
		||||
    public class WsdInterfaceController:Controller
 | 
			
		||||
    public class WsdInterfaceController:ControllerBase
 | 
			
		||||
    {
 | 
			
		||||
        public Lazy<DjyDbContext> Db { get; set; }
 | 
			
		||||
 | 
			
		||||
        public ActionResult Index() {
 | 
			
		||||
            var model = new WsdRequest {
 | 
			
		||||
                StartNo = "0",MaxCount = "10",
 | 
			
		||||
                 CompanyCode="1", CompanyName= "万仕达",
 | 
			
		||||
                CompanyCode = "1",CompanyName = "万仕达",
 | 
			
		||||
            };
 | 
			
		||||
            return PartialView(model);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public ActionResult GetData(WsdRequest info) {
 | 
			
		||||
        public ActionResult GetData(WsdRequest info,string noDes,string needNull) {
 | 
			
		||||
            var result = new WsdResult {
 | 
			
		||||
                Code = EnumCode.Success,
 | 
			
		||||
            };
 | 
			
		||||
@ -70,13 +68,14 @@ namespace Cmdjy.Controllers
 | 
			
		||||
                        //存缓存
 | 
			
		||||
                        if(one != null) cache.SetData(pkey,one);
 | 
			
		||||
                    }
 | 
			
		||||
                    //对应代煎药厂商
 | 
			
		||||
                    if(one == null) {
 | 
			
		||||
                    if(needNull != null && one == null) {
 | 
			
		||||
                        one = new WsdPrescriptionInfo {
 | 
			
		||||
                            Type = WsdPrescriptionType.NullOrder,Id = i,
 | 
			
		||||
                        };
 | 
			
		||||
                    }
 | 
			
		||||
                    result.Prescriptions.Add(one);
 | 
			
		||||
                    if(one != null) {
 | 
			
		||||
                        result.Prescriptions.Add(one);
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
                result.Code = EnumCode.Success;
 | 
			
		||||
                result.Count = result.Prescriptions.Where(m => m.Type != WsdPrescriptionType.NullOrder).Count();
 | 
			
		||||
@ -84,11 +83,11 @@ namespace Cmdjy.Controllers
 | 
			
		||||
                result.More = db.PrescriptionInfos.Max(m => m.Id) > (start + count);
 | 
			
		||||
            }
 | 
			
		||||
            //编码:json串 +  加密信息
 | 
			
		||||
            //return Json(result);
 | 
			
		||||
            var resStr = JsonConvert.SerializeObject(result);
 | 
			
		||||
            return Content(resStr);
 | 
			
		||||
            //var mw = DesHelper.GetHelper().Encrypty(cKey,resStr);
 | 
			
		||||
            //logWsdRequest(info,result,resStr,mw);
 | 
			
		||||
            //return mw;
 | 
			
		||||
            var mw = noDes == null ? DesHelper.GetHelper().Encrypty(cKey,resStr) : resStr;
 | 
			
		||||
            logWsdRequest(info,result,resStr,mw);
 | 
			
		||||
            return Content(mw);
 | 
			
		||||
        }
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 记录日志
 | 
			
		||||
@ -130,6 +129,7 @@ namespace Cmdjy.Controllers
 | 
			
		||||
                foreach(var item in qu) {
 | 
			
		||||
                    var od = new WsdDrugInfo();
 | 
			
		||||
                    od.CopyFrom(item);
 | 
			
		||||
                    od.PrescriptionId = item.PrescriptionId.ToString();
 | 
			
		||||
                    result.Add(od);
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
@ -1,16 +1,13 @@
 | 
			
		||||
using System;
 | 
			
		||||
using System.Collections.Generic;
 | 
			
		||||
using System.Linq;
 | 
			
		||||
using System.Web;
 | 
			
		||||
using System.Data.Entity;
 | 
			
		||||
using System.Data.Entity;
 | 
			
		||||
using Cmdjy.Dal.Tables;
 | 
			
		||||
using CommonClass.Factory;
 | 
			
		||||
 | 
			
		||||
namespace Cmdjy.Dal
 | 
			
		||||
{
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// 崇明代煎药数据库
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    public partial class DjyDbContext:DbContext
 | 
			
		||||
    public partial class DjyDbContext:DbContext, IRegisterSelf
 | 
			
		||||
    {
 | 
			
		||||
        public DjyDbContext() : base("DjyDbContext") {
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
@ -2,6 +2,7 @@
 | 
			
		||||
using System.Web.Mvc;
 | 
			
		||||
using System.Web.Optimization;
 | 
			
		||||
using System.Web.Routing;
 | 
			
		||||
using Autofac.Integration.Mvc;
 | 
			
		||||
using Cmdjy.Dal;
 | 
			
		||||
 | 
			
		||||
namespace Cmdjy
 | 
			
		||||
@ -9,6 +10,9 @@ namespace Cmdjy
 | 
			
		||||
    public class MvcApplication:System.Web.HttpApplication
 | 
			
		||||
    {
 | 
			
		||||
        protected void Application_Start() {
 | 
			
		||||
 | 
			
		||||
            DependencyResolver.SetResolver(new AutofacDependencyResolver(IOC.Factory));
 | 
			
		||||
 | 
			
		||||
            if(WebSettings.AutoMigrations) {
 | 
			
		||||
                Database.SetInitializer(new MigrateDatabaseToLatestVersion<DjyDbContext,Configuration>());
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										37
									
								
								WebSiteCode/Cmdjy/Cmdjy/IOCFactory.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								WebSiteCode/Cmdjy/Cmdjy/IOCFactory.cs
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,37 @@
 | 
			
		||||
using Autofac;
 | 
			
		||||
using Autofac.Integration.Mvc;
 | 
			
		||||
using CommonClass.Factory;
 | 
			
		||||
 | 
			
		||||
namespace Cmdjy
 | 
			
		||||
{
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// IOC框架
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    public class IOC
 | 
			
		||||
    {
 | 
			
		||||
        private static IOCFactory _iocFactory = null;
 | 
			
		||||
        private static object _objLock = new object();
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 控制反转容器工厂
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public static ILifetimeScope Factory {
 | 
			
		||||
            get {
 | 
			
		||||
                if(_iocFactory == null) {
 | 
			
		||||
                    lock(_objLock) {
 | 
			
		||||
                        if(_iocFactory == null) {
 | 
			
		||||
                            _iocFactory = new IOCFactory();
 | 
			
		||||
                            _iocFactory.BeforeBuild += _iocFactory_BeforeBuild;
 | 
			
		||||
                            _iocFactory.Init();
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
                return _iocFactory.Container.BeginLifetimeScope();
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        private static void _iocFactory_BeforeBuild(IOCFactory arg1,ContainerBuilder arg2) {
 | 
			
		||||
            arg2.RegisterControllers(typeof(IOC).Assembly).PropertiesAutowired();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@ -1,6 +1,7 @@
 | 
			
		||||
<h1>代煎药平台</h1>
 | 
			
		||||
<hr />
 | 
			
		||||
<ol class="toolBar">
 | 
			
		||||
  <li>版本1.0</li>
 | 
			
		||||
  <li>@Ajax.ActionLink("厂商列表","Index","Company",new AjaxOptions { UpdateTargetId = "main" })</li>
 | 
			
		||||
  <li>@Ajax.ActionLink("医疗机构处方列表","Index","HisInfo",new AjaxOptions { UpdateTargetId = "main" })</li>
 | 
			
		||||
  <li>@Ajax.ActionLink("万仕达下载测试","Index","WsdInterface",new AjaxOptions { UpdateTargetId = "main" })</li>
 | 
			
		||||
 | 
			
		||||
@ -1,21 +1,35 @@
 | 
			
		||||
@model WsdInterfaceModels.WsdRequest
 | 
			
		||||
 | 
			
		||||
<style type="text/css">
 | 
			
		||||
</style>
 | 
			
		||||
 | 
			
		||||
<fieldset>
 | 
			
		||||
  <legend>要查询的数据</legend>
 | 
			
		||||
  @using(Ajax.BeginForm("GetData",new AjaxOptions {
 | 
			
		||||
    OnSuccess = "wsdSucc",
 | 
			
		||||
    OnSuccess = "wsdSucc",OnBegin = "wsdBeg",
 | 
			
		||||
  })) {
 | 
			
		||||
    <label>第三方机构代码:@Html.EditorFor(m => m.CompanyCode) </label>
 | 
			
		||||
    <label>第三方机构名称:@Html.EditorFor(m => m.CompanyName)</label>
 | 
			
		||||
    <label>开始流水号:@Html.EditorFor(m => m.StartNo)</label>
 | 
			
		||||
    <br />
 | 
			
		||||
    <label>返回不加密数据:<input type="checkbox" name="noDes" checked="checked" /></label>
 | 
			
		||||
    <label>最大下载数量:@Html.EditorFor(m => m.MaxCount)</label>
 | 
			
		||||
    <label>地址:@Url.Action("GetData")</label>
 | 
			
		||||
    <input type="submit" value="查询" />
 | 
			
		||||
  }
 | 
			
		||||
</fieldset>
 | 
			
		||||
<div id="wsdMsg"></div>
 | 
			
		||||
<pre id="wsdMsg"></pre>
 | 
			
		||||
 | 
			
		||||
<script type="text/javascript">
 | 
			
		||||
  $("#wsdMsg").hide();
 | 
			
		||||
  function wsdSucc(data) {
 | 
			
		||||
    $("#wsdMsg").text(data);
 | 
			
		||||
    if (!data.match("^\{(.+:.+,*){1,}\}$")) {
 | 
			
		||||
      $("#wsdMsg").show().text(data);
 | 
			
		||||
    } else {
 | 
			
		||||
      $("#wsdMsg").show().text(JSON.stringify(JSON.parse(data), null, 2));
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  function wsdBeg() {
 | 
			
		||||
    $("#wsdMsg").text("");
 | 
			
		||||
  }
 | 
			
		||||
</script>
 | 
			
		||||
@ -20,7 +20,7 @@
 | 
			
		||||
    <add key="RedisConnectionString" value="" />
 | 
			
		||||
 | 
			
		||||
    <!--万仕达接口一次最大传送处方数-->
 | 
			
		||||
    <add key="wsd:maxCount" value="100" />
 | 
			
		||||
    <add key="wsd:maxCount" value="50" />
 | 
			
		||||
 | 
			
		||||
  </appSettings>
 | 
			
		||||
  <connectionStrings>
 | 
			
		||||
@ -66,7 +66,7 @@
 | 
			
		||||
      </dependentAssembly>
 | 
			
		||||
      <dependentAssembly>
 | 
			
		||||
        <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
 | 
			
		||||
        <bindingRedirect oldVersion="1.0.0.0-5.2.4.0" newVersion="5.2.4.0" />
 | 
			
		||||
        <bindingRedirect oldVersion="0.0.0.0-5.2.4.0" newVersion="5.2.4.0" />
 | 
			
		||||
      </dependentAssembly>
 | 
			
		||||
      <dependentAssembly>
 | 
			
		||||
        <assemblyIdentity name="Autofac" publicKeyToken="17863af14b0044da" culture="neutral" />
 | 
			
		||||
 | 
			
		||||
@ -2,6 +2,7 @@
 | 
			
		||||
<packages>
 | 
			
		||||
  <package id="Antlr" version="3.5.0.2" targetFramework="net461" />
 | 
			
		||||
  <package id="Autofac" version="4.9.2" targetFramework="net461" />
 | 
			
		||||
  <package id="Autofac.Mvc5" version="4.0.2" targetFramework="net461" />
 | 
			
		||||
  <package id="bootstrap" version="3.3.7" targetFramework="net461" />
 | 
			
		||||
  <package id="CommonClass.Factory" version="1.2.0.8" targetFramework="net461" />
 | 
			
		||||
  <package id="EntityFramework" version="6.2.0" targetFramework="net461" />
 | 
			
		||||
 | 
			
		||||
@ -10,9 +10,9 @@ namespace Cmdjy.Bll.Tests
 | 
			
		||||
    {
 | 
			
		||||
        [TestMethod()]
 | 
			
		||||
        public void EncryptyTest() {
 | 
			
		||||
            byte[] IV = { 0x01,0x02,0x03,0x14,0x05,0x06,0x17,0x08 };
 | 
			
		||||
            string key = "12365478";
 | 
			
		||||
            var des = DesHelper.GetHelper(PaddingMode.PKCS7,CipherMode.CBC,IV);
 | 
			
		||||
            //byte[] IV = { 0x01,0x02,0x03,0x14,0x05,0x06,0x17,0x08 };
 | 
			
		||||
            string key = "wscdy19;";
 | 
			
		||||
            var des = DesHelper.GetHelper();
 | 
			
		||||
            Console.WriteLine($"Key:{key}");
 | 
			
		||||
            string mingwen = getMingWen();
 | 
			
		||||
            Console.WriteLine($"明文:{mingwen}");
 | 
			
		||||
@ -20,13 +20,13 @@ namespace Cmdjy.Bll.Tests
 | 
			
		||||
            Console.WriteLine($"密文:{miwen}");
 | 
			
		||||
            var miwen2 = des.Encrypty(key,mingwen);
 | 
			
		||||
            Console.WriteLine($"密文2:{miwen2}");
 | 
			
		||||
            Assert.AreEqual(miwen,miwen2);
 | 
			
		||||
            Assert.AreEqual(miwen,miwen2,"多次加密密文应该相同");
 | 
			
		||||
            var mingwen2 = des.DesCrypty(key,miwen);
 | 
			
		||||
            Assert.AreEqual(mingwen,mingwen2);
 | 
			
		||||
            Assert.AreEqual(mingwen,mingwen2,"明文和密文相同");
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public string getMingWen() {
 | 
			
		||||
            string str = "abcdefghijklmnopqrstuvwxyz1234567890,./*-+";
 | 
			
		||||
            string str = "abcdefghijklmnopqrstuvwxyz1234567890,./*-+{}[],.;\"";
 | 
			
		||||
            var result = new StringBuilder();
 | 
			
		||||
            int len = 100;
 | 
			
		||||
            var rean = new Random();
 | 
			
		||||
@ -36,5 +36,9 @@ namespace Cmdjy.Bll.Tests
 | 
			
		||||
            }
 | 
			
		||||
            return result.ToString();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public string Realstr() {
 | 
			
		||||
            return @"";
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@ -36,6 +36,7 @@
 | 
			
		||||
    <WarningLevel>4</WarningLevel>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <ItemGroup>
 | 
			
		||||
    <Reference Include="CommonClass.Factory, Version=1.2.0.8, Culture=neutral, PublicKeyToken=null" />
 | 
			
		||||
    <Reference Include="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
 | 
			
		||||
      <HintPath>..\packages\EntityFramework.6.2.0\lib\net45\EntityFramework.dll</HintPath>
 | 
			
		||||
    </Reference>
 | 
			
		||||
 | 
			
		||||
@ -29,6 +29,10 @@
 | 
			
		||||
        <assemblyIdentity name="Autofac" publicKeyToken="17863af14b0044da" culture="neutral" />
 | 
			
		||||
        <bindingRedirect oldVersion="0.0.0.0-4.9.2.0" newVersion="4.9.2.0" />
 | 
			
		||||
      </dependentAssembly>
 | 
			
		||||
      <dependentAssembly>
 | 
			
		||||
        <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" culture="neutral" />
 | 
			
		||||
        <bindingRedirect oldVersion="0.0.0.0-5.2.4.0" newVersion="5.2.4.0" />
 | 
			
		||||
      </dependentAssembly>
 | 
			
		||||
    </assemblyBinding>
 | 
			
		||||
  </runtime>
 | 
			
		||||
  <system.serviceModel>
 | 
			
		||||
 | 
			
		||||
@ -4,22 +4,6 @@
 | 
			
		||||
 | 
			
		||||
    public static class ObjExtend
 | 
			
		||||
    {
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 从目标对象中复制属性的值,执行浅表复制
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <param name="t">复制目标</param>
 | 
			
		||||
        /// <param name="s">复制原</param>
 | 
			
		||||
        public static void CopyFrom(this object t,object s) {
 | 
			
		||||
            foreach(var p in s.GetType().GetProperties()) {
 | 
			
		||||
                if(p.CanRead) {
 | 
			
		||||
                    var tp = t.GetType().GetProperty(p.Name);
 | 
			
		||||
                    if(tp != null && tp.CanWrite && canConvert(p.PropertyType,tp.PropertyType)) {
 | 
			
		||||
                        tp.SetValue(t,p.GetValue(s));
 | 
			
		||||
                        //tp.SetValue(t,Convert.ChangeType(p.GetValue(s),tp.PropertyType));
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 从目标对象中复制属性的值,执行浅表复制
 | 
			
		||||
        /// </summary>
 | 
			
		||||
@ -28,7 +12,14 @@
 | 
			
		||||
        /// <param name="s">复制原</param>
 | 
			
		||||
        /// <returns></returns>
 | 
			
		||||
        public static T CopyFrom<T>(this T t,object s) where T : class {
 | 
			
		||||
            CopyFrom(t,s);
 | 
			
		||||
            foreach(var p in s.GetType().GetProperties()) {
 | 
			
		||||
                if(p.CanRead) {
 | 
			
		||||
                    var tp = t.GetType().GetProperty(p.Name);
 | 
			
		||||
                    if(tp != null && tp.CanWrite && canConvert(p.PropertyType,tp.PropertyType)) {
 | 
			
		||||
                        tp.SetValue(t,p.GetValue(s));
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
            return t as T;
 | 
			
		||||
        }
 | 
			
		||||
        /// <summary>
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user