Przeglądaj źródła

工程云招采接口开发

shengxuefei 3 lat temu
rodzic
commit
5784912e96

+ 104 - 0
WebAPIBase.NetCore/Utils/HttpWebRequestHelper.cs

@@ -0,0 +1,104 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Net;
+using System.Text;
+using Newtonsoft.Json;
+
+namespace WebAPIBase.Utils
+{
+    /// <summary>
+    /// 使用HttpWebRequest远程访问
+    /// </summary>
+    public class HttpWebRequestHelper
+    {
+        public static string RequestPost(string url, List<Dictionary<string, string>> requestdata)
+        {
+            try
+            {
+                string requestBody = "";
+                byte[] postData = null;
+                if (requestdata != null)
+                {
+                    requestBody = JsonConvert.SerializeObject(requestdata);
+                    //using (Stream postStream = new MemoryStream())
+                    //{
+                    //    byte[] postData = Encoding.ASCII.GetBytes(requestBody);                        
+                    //    postStream.Write(postData, 0, postData.Length);
+                    //}
+                    postData = Encoding.UTF8.GetBytes(requestBody);
+                }
+                HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
+                req.ContentType = "application/json";
+                //req.MediaType = "application/json";
+                //req.Accept = "application/json";
+                req.Method = "POST";
+                req.ContentLength = postData == null ? 0 : postData.Length;
+
+                //WebHeaderCollection headers = new WebHeaderCollection();
+                //headers.Add("Authorization: Token" + authtoken);
+                //httpWebRequest.Headers = headers;
+
+                if (!string.IsNullOrEmpty(requestBody))
+                {
+                    using (Stream postStream = req.GetRequestStream())
+                    {
+                        postStream.Write(postData, 0, postData.Length);
+                    }
+                }
+                HttpWebResponse res = (HttpWebResponse)req.GetResponse(); // Fails on this line. 
+                using (StreamReader streamReader = new StreamReader(res.GetResponseStream()))
+                {
+                    string json = streamReader.ReadToEnd();
+                    //LogHelper.Info("request json:" + json);
+                    return json;
+                }
+            }
+            catch (Exception ex)
+            {
+                throw;
+            }
+        }
+
+        public static string RequestGet(string url, List<Dictionary<string, string>> requestdata)
+        {
+            var loginName = "";
+            var pwd = "";
+            foreach(var item in requestdata)
+            {
+                if(item.ContainsKey("loginName"))
+                {
+                    loginName = item["loginName"];
+                }
+                if(item.ContainsKey("pwd"))
+                {
+                    pwd = item["pwd"];
+                }
+            }
+            url = url + "?loginName=" + loginName + "&pwd=" + pwd;
+            NLog.LogManager.GetCurrentClassLogger().Info("url:" + url);
+            try
+            {
+               
+                HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
+                //req.ContentType = "application/json";
+                //req.MediaType = "application/json";
+                //req.Accept = "application/json";
+                req.Method = "GET";
+                
+                HttpWebResponse res = (HttpWebResponse)req.GetResponse(); // Fails on this line. 
+                using (StreamReader streamReader = new StreamReader(res.GetResponseStream()))
+                {
+                    string json = streamReader.ReadToEnd();
+                    //LogHelper.Info("request json:" + json);
+                    return json;
+                }
+            }
+            catch (Exception ex)
+            {
+                throw;
+            }
+        }
+
+    }
+}

+ 1 - 1
WebAPIBase.NetCore/Utils/RequestHelper.cs

@@ -17,7 +17,7 @@ namespace WebAPIBase.Utils
             get
             {
                 string address = RequestHelper.GetServerIp();
-                bool a = !address.Contains("192.168.") && !address.Contains("127.0.");
+                bool a = !address.Contains("192.168.") && !address.Contains("127.0.") && !address.Contains("2.0.");
                 return a;
             }
         }

+ 110 - 56
WebAPIBase.NetCore/WebAPIBase.NetCore/Controllers/UserController.cs

@@ -24,6 +24,9 @@ namespace WebAPIBase.API.Controllers
     [ServiceFilter(typeof(Filter.TokenAuthorize))]
     public class UserController : BaseController
     {
+        /// <summary>
+        /// webservice地址
+        /// </summary>
         private string webserviceUrl;
         /// <summary>
         /// 授权校验服务地址
@@ -36,6 +39,10 @@ namespace WebAPIBase.API.Controllers
         private readonly UserManager<AppUser> _userManager;
         private readonly IConfiguration _configuration;
         /// <summary>
+        /// 供应商登录接口地址
+        /// </summary>
+        private string supplyUrl;
+        /// <summary>
         /// 令牌获取和验证类
         /// </summary>
         private readonly ITokenHelper tokenHelper = null;
@@ -49,8 +56,8 @@ namespace WebAPIBase.API.Controllers
 
 
             webserviceUrl = Configuration["Logging:AppSettings:webserviceUrl"];
-            validServiceUrl = "http://111.198.38.3:8899/license";
-
+            validServiceUrl = Configuration["Logging:AppSettings:validServiceUrl"];
+            supplyUrl = configuration["Logging:AppSettings:supplyUrl"];
             _userManager = userManager;
             _signInManager = signInManager;
             _configuration = configuration;
@@ -137,46 +144,46 @@ namespace WebAPIBase.API.Controllers
 
                 #region 写入系统日志
                 var log = new SysBusinessLog();
-            log.LogClass = "SystemUser";
-            log.LogTime = DateTime.Now;
-            log.ApplicationId2 = loginUser.User.UserCode;
-            log.LogType = "登录";
-            log.OperatePersonId = Convert.ToInt32(loginUser.User.UserCode);
-            log.LogRemark = "";
-            log.OperatePerson = loginUser.name;
-            new SysBusinessLogManager().Insert(log);     //插入系统日志
+                log.LogClass = "SystemUser";
+                log.LogTime = DateTime.Now;
+                log.ApplicationId2 = loginUser.User.UserCode;
+                log.LogType = "登录";
+                log.OperatePersonId = Convert.ToInt32(loginUser.User.UserCode);
+                log.LogRemark = "";
+                log.OperatePerson = loginUser.name;
+                new SysBusinessLogManager().Insert(log);     //插入系统日志
                 #endregion
 
             }
             else     //登录失败,则判断是否供应商登录
             {
 
-                
-                 
-                    var res1 = new ApiResponse
-                    {
-                        Code = 200,
-                        IsSuccess = false,
-                        ErrMsg = login.msg
 
-                    };
-                    return Json(res1);
-                
+
+                var res1 = new ApiResponse
+                {
+                    Code = 200,
+                    IsSuccess = false,
+                    ErrMsg = login.msg
+
+                };
+                return Json(res1);
+
 
             }
 
             TnToken tnToken;
-           
-                //获取令牌,返回客户端 
-                Dictionary<string, string> keyValuePairs = new Dictionary<string, string>
+
+            //获取令牌,返回客户端 
+            Dictionary<string, string> keyValuePairs = new Dictionary<string, string>
                     {
                         { "UserID", user.UserID }
                     };
-                tnToken = tokenHelper.CreateToken(keyValuePairs);
+            tnToken = tokenHelper.CreateToken(keyValuePairs);
+
+            new Utils.CacheHelper(_memoryCache).SetCache(loginUser.User.UserID, loginUser.User);
+
 
-                new Utils.CacheHelper(_memoryCache).SetCache(loginUser.User.UserID, loginUser.User);
-           
-           
             var res = new ApiResponse
             {
                 Code = 200,
@@ -308,32 +315,57 @@ namespace WebAPIBase.API.Controllers
             //}
             #endregion
 
-           
+
+            #region 请求供应商系统登录
+            var list = new List<Dictionary<string, string>>();
+            var dic1 = new Dictionary<string, string>();
+            dic1.Add("loginName", request.UserName);
+            dic1.Add("pwd", request.Password);
+            list.Add(dic1);
+            var res2 = HttpWebRequestHelper.RequestGet(supplyUrl, list);
+            logger.Info("res2:" + res2);
+            var obj = JsonConvert.DeserializeObject<dynamic>(res2);
+            if (obj.body.code != 200)
+            {
+                var res1 = new ApiResponse
+                {
+                    Code = 500,
+                    IsSuccess = false,
+                    ErrMsg = obj.body.msg
+
+                };
+                return Json(res1);
+            }
+            var supplierCode = (string)obj.body.msg.supplierCode;
+            logger.Info($"suppliercode:{supplierCode}");
+
+            if (supplierCode.IsNullOrEmpty())
+            {
+                var res1 = new ApiResponse
+                {
+                    Code = 200,
+                    IsSuccess = false,
+                    ErrMsg = "供应商不存在"
+
+                };
+                return Json(res1);
+            }
+            #endregion
+
+
             var loginUser = new LoginUserDTO();
 
             //loginUser.IsSuccess = false;
-           
 
-                if (true)
+
+            if (true)
+            {
+                string suppliercode = supplierCode;
+                var service = new SupplierManager();
+                var supplier = service.GetById(suppliercode);
+                if (supplier != null)      //登录成功
                 {
-                    string suppliercode = "100004";
-                    var service = new SupplierManager();
-                    var supplier = service.GetById(suppliercode);
-                    if (supplier != null)      //登录成功
-                    {
-                        loginUser.Supplier = supplier;
-                    }
-                    else
-                    {
-                        var res1 = new ApiResponse
-                        {
-                            Code = 200,
-                            IsSuccess = false,
-                            ErrMsg = "登录失败,无此供应商"
-
-                        };
-                        return Json(res1);
-                    }
+                    loginUser.Supplier = supplier;
                 }
                 else
                 {
@@ -341,25 +373,37 @@ namespace WebAPIBase.API.Controllers
                     {
                         Code = 200,
                         IsSuccess = false,
-                        ErrMsg = "登录失败"
+                        ErrMsg = "登录失败,无此供应商"
 
                     };
                     return Json(res1);
                 }
+            }
+            else
+            {
+                var res1 = new ApiResponse
+                {
+                    Code = 200,
+                    IsSuccess = false,
+                    ErrMsg = "登录失败"
+
+                };
+                return Json(res1);
+            }
+
 
-        
 
             TnToken tnToken;
-            
-                //获取令牌,返回客户端 
-                Dictionary<string, string> keyValuePairs = new Dictionary<string, string>
+
+            //获取令牌,返回客户端 
+            Dictionary<string, string> keyValuePairs = new Dictionary<string, string>
                     {
                         { "UserID", "supplier"+loginUser.Supplier.SupplierCode }
                     };
-                tnToken = tokenHelper.CreateToken(keyValuePairs);
+            tnToken = tokenHelper.CreateToken(keyValuePairs);
+
+            new Utils.CacheHelper(_memoryCache).SetCache("supplier" + loginUser.Supplier.SupplierCode, loginUser.Supplier);
 
-                new Utils.CacheHelper(_memoryCache).SetCache("supplier" + loginUser.Supplier.SupplierCode, loginUser.Supplier);
-           
 
             var res = new ApiResponse
             {
@@ -460,4 +504,14 @@ namespace WebAPIBase.API.Controllers
 
     }
 
+    /// <summary>
+    /// 供应商应答
+    /// </summary>
+    public class SupplyResponse
+    {
+        public string code { get; set; }
+        public string message { get; set; }
+    }
+
+
 }

+ 1 - 0
WebAPIBase.NetCore/WebAPIBase.NetCore/Startup.cs

@@ -46,6 +46,7 @@ namespace WebAPIBase.API
             //        .Configure(tokenConfigurations);
             //services.AddSingleton(tokenConfigurations);
 
+            Console.WriteLine($"ip:{RequestHelper.GetServerIp()}");
             //设置pdf文件存放路径
             if (RequestHelper.IsRemote)
             {

+ 1 - 1
WebAPIBase.NetCore/WebAPIBase.NetCore/WebAPIBase.API.csproj.user

@@ -3,7 +3,7 @@
   <PropertyGroup>
     <ShowAllFiles>false</ShowAllFiles>
     <Controller_SelectedScaffolderID>MvcControllerEmptyScaffolder</Controller_SelectedScaffolderID>
-    <Controller_SelectedScaffolderCategoryPath>root/Controller</Controller_SelectedScaffolderCategoryPath>
+    <Controller_SelectedScaffolderCategoryPath>root/Common/MVC/Controller</Controller_SelectedScaffolderCategoryPath>
     <NameOfLastUsedPublishProfile>D:\路涛科技\源代码\dccloud工程云\WebAPIBase.NetCore\WebAPIBase.NetCore\Properties\PublishProfiles\FolderProfile.pubxml</NameOfLastUsedPublishProfile>
   </PropertyGroup>
 </Project>

+ 15 - 0
WebAPIBase.NetCore/WebAPIBase.NetCore/WebAPIBase.API.xml

@@ -630,11 +630,21 @@
             <param name="tokenStr"></param>
             <returns></returns>
         </member>
+        <member name="F:WebAPIBase.API.Controllers.UserController.webserviceUrl">
+            <summary>
+            webservice地址
+            </summary>
+        </member>
         <member name="F:WebAPIBase.API.Controllers.UserController.validServiceUrl">
             <summary>
             授权校验服务地址
             </summary>
         </member>
+        <member name="F:WebAPIBase.API.Controllers.UserController.supplyUrl">
+            <summary>
+            供应商登录接口地址
+            </summary>
+        </member>
         <member name="F:WebAPIBase.API.Controllers.UserController.tokenHelper">
             <summary>
             令牌获取和验证类
@@ -654,6 +664,11 @@
             <param name="request"></param>
             <returns></returns>
         </member>
+        <member name="T:WebAPIBase.API.Controllers.SupplyResponse">
+            <summary>
+            供应商应答
+            </summary>
+        </member>
         <member name="T:WebAPIBase.API.Controllers.ViseController">
             <summary>
             待审签证

+ 2 - 1
WebAPIBase.NetCore/WebAPIBase.NetCore/appsettings.json

@@ -14,7 +14,8 @@
       "ConnectionString": "server=(local);uid=sa;pwd=sa;database=HAODE;",
       "NlogConfigFile": "nlog.config",
       "webserviceUrl": "http://1.193.162.246:18402/WorkFlowWebService60NodeJS/query.asmx",
-      "validServiceUrl": "http://111.198.38.3:8899/license" //授权地址
+      "validServiceUrl": "http://111.198.38.3:8899/license", //授权地址
+      "supplyUrl": "http://1.193.162.246:20023/job/invoke/checkPwd/true"
     },
     "Console": {
       "LogLevel": {

+ 1 - 1
uni-app-front/common/axiosHelper.js

@@ -85,7 +85,7 @@ service.interceptors.response.use(
 		if (res.code == 500) {
 			uni.showModal({
 				title: '系统错误',
-				content: res.message,
+				content: res.errMsg,
 				showCancel: false
 			});
 			return res;

+ 1 - 1
uni-app-front/manifest.json

@@ -1,6 +1,6 @@
 {
     "name" : "uni-app-front",
-    "appid" : "",
+    "appid" : "H521E01FF",
     "description" : "浩德移动端",
     "versionName" : "1.0.0",
     "versionCode" : "100",

+ 18 - 1
uni-app-front/pages/template/requisitionadd/requisitionadd.vue

@@ -92,7 +92,7 @@
 
 <script>
 	import permision from "@/common/permission.js";
-	import {GetQianzhengDropDown,InsertRequisition} from "@/common/api/requisitionApi.js";
+	import {GetQianzhengDropDown,InsertRequisition,GetzzSupplierEx} from "@/common/api/requisitionApi.js";
 	import {GetUserDepartment} from "@/common/api/commonApi.js";
 	import {Decimal} from 'decimal.js';     //decimal计算
 		 
@@ -167,6 +167,7 @@
 		created: function() {
 			console.info('created');
 			this.GetDropDown();
+			this.GetzzSupplierEx();
 			//表示从子页面获取了数值,返回父页面有可能会造成页面刷新导致表单数据丢失,需要从缓存中读取表单数据
 			if(this.needFormCach){     
 				this.getTemp(this);
@@ -301,6 +302,22 @@
 					
 				});
 			},
+			//获取供应商明细
+			GetzzSupplierEx:function(){
+				let that=this;
+				let id=this.$util.getQuery("zzSupplierExid");
+				if(id!=null&&id!=""){
+					GetzzSupplierEx(id).then((res)=>{
+						if(typeof res!='string')
+						{
+							that.requisitionName=res.entity.title;
+							that.requisitionReason=res.entity.reason;
+							 
+						}
+					});
+				}
+				
+			},
 			bindPickerChange: function(e) {
 				//console.log('picker发送选择改变,携带值为:' + e.detail.value);
 				//console.info(e.detail);

+ 4 - 0
uni-app-front/pages/template/zzSupplierExDetail/zzSupplierExDetail.vue

@@ -43,6 +43,10 @@
 							</view>
 						</view>
 					</view>
+					<view class="row">
+						<view class="column-left">转签证:</view>
+						<view class="column-right"><router-link :to="'/pages/template/requisitionadd/requisitionadd?type=0&zzSupplierExid='+$util.getQuery('id')">转签证申请单</router-link></view>
+					</view>
 				</view>
 			</uni-list-item>
 		</uni-list>	

+ 9 - 0
工程云需求/支持供应商登录和上传资料/database/招采接口.docx

@@ -0,0 +1,9 @@
+http://1.193.162.246:20023/job/invoke/checkPwd/true?loginName=${loginName}&pwd=${pwd}
+
+测试账户密码:
+liangkai 密码123456
+
+成功返回:
+
+失败返回:
+