Esempio n. 1
0
        public async Task <MessageModel <sysUserInfo> > Get(string id)
        {
            var data = new MessageModel <sysUserInfo>();

            if (string.IsNullOrEmpty(id))
            {
                data.success = false;
                data.msg     = "用户Id不能为空";
                data.status  = 404;
                return(data);
            }

            var user = await _sysUserInfoServices.QueryById(id);

            if (user == null || user.tdIsDelete)
            {
                data.success = false;
                data.msg     = $"不存在Id={id}的用户!";
                data.status  = 404;
                return(data);
            }

            data.success  = true;
            data.msg      = "获取成功!";
            data.status   = 200;
            data.response = user;

            return(data);
        }
Esempio n. 2
0
        public async Task <ApiResponseModel <JwtTokenDto> > RefreshToken(string token)
        {
            if (token.IsNullOrEmpty())
            {
                return(ApiResponse.Error <JwtTokenDto>("token无效,请重新登录"));
            }
            var tokenModel = JwtHelper.SerializeJwt(token);

            if (tokenModel != null && tokenModel.Uid > 0)
            {
                var user = await _sysUserInfoServices.QueryById(tokenModel.Uid);

                if (user != null)
                {
                    var userRoles = await _sysUserInfoServices.GetUserRoleByUserId(user.uID);

                    var claims = new List <Claim> {
                        new Claim(ClaimTypes.Name, user.uLoginName),
                        new Claim(JwtRegisteredClaimNames.Jti, tokenModel.Uid.ObjToString()),
                        new Claim(ClaimTypes.Expiration, DateTime.Now.AddSeconds(_requirement.Expiration.TotalSeconds).ToString())
                    };
                    claims.AddRange(userRoles.Select(s => new Claim(ClaimTypes.Role, s.Name)));
                    var identity = new ClaimsIdentity(JwtBearerDefaults.AuthenticationScheme);
                    identity.AddClaims(claims);

                    var refreshToken = JwtHelper.BuildJwtToken(claims, _requirement);
                    return(ApiResponse.Success <JwtTokenDto>(refreshToken));
                }
            }
            return(ApiResponse.Error <JwtTokenDto>("token无效,请重新登录"));
        }
Esempio n. 3
0
        public async Task <MessageModel <sysUserInfo> > GetInfoByToken(string token)
        {
            var data = new MessageModel <sysUserInfo>();

            if (!string.IsNullOrEmpty(token))
            {
                var tokenModel = JwtHelper.SerializeJwt(token);
                if (tokenModel != null && tokenModel.Uid > 0)
                {
                    var userinfo = await _sysUserInfoServices.QueryById(tokenModel.Uid);

                    if (userinfo != null)
                    {
                        data.response = userinfo;
                        data.success  = true;
                        data.msg      = "获取成功";
                    }
                }
            }
            return(data);
        }
Esempio n. 4
0
        public async Task <MessageModel <TokenInfoViewModel> > RefreshToken(string token = "")
        {
            string jwtStr = string.Empty;

            if (string.IsNullOrEmpty(token))
            {
                return(new MessageModel <TokenInfoViewModel>()
                {
                    success = false,
                    msg = "token无效,请重新登录!",
                });
            }
            var tokenModel = JwtHelper.SerializeJwt(token);

            if (tokenModel != null && tokenModel.Uid > 0)
            {
                var user = await _sysUserInfoServices.QueryById(tokenModel.Uid);

                if (user != null)
                {
                    var userRoles = await _sysUserInfoServices.GetUserRoleNameStr(user.uLoginName, user.uLoginPWD);

                    //如果是基于用户的授权策略,这里要添加用户;如果是基于角色的授权策略,这里要添加角色
                    var claims = new List <Claim> {
                        new Claim(ClaimTypes.Name, user.uLoginName),
                        new Claim(JwtRegisteredClaimNames.Jti, tokenModel.Uid.ObjToString()),
                        new Claim(ClaimTypes.Expiration, DateTime.Now.AddSeconds(_requirement.Expiration.TotalSeconds).ToString())
                    };
                    claims.AddRange(userRoles.Split(',').Select(s => new Claim(ClaimTypes.Role, s)));

                    //用户标识
                    var identity = new ClaimsIdentity(JwtBearerDefaults.AuthenticationScheme);
                    identity.AddClaims(claims);

                    var refreshToken = JwtToken.BuildJwtToken(claims.ToArray(), _requirement);
                    return(new MessageModel <TokenInfoViewModel>()
                    {
                        success = true,
                        msg = "获取成功",
                        response = refreshToken
                    });
                }
            }

            return(new MessageModel <TokenInfoViewModel>()
            {
                success = false,
                msg = "认证失败!",
            });
        }
Esempio n. 5
0
        public async Task <MessageModel <PageModel <blogarticle_comments> > > Get(int bid, int page = 1, int intPageSize = 20, bool isRootComment = true)
        {
            Expression <Func <blogarticle_comments, bool> > whereExpression = a => a.Id > 0 && a.bBlogID == bid && a.isRootComment == isRootComment;
            var res = await _blogarticle_commentsServices.QueryPage(whereExpression, page, intPageSize, " CreateTime desc ");

            res.data.ForEach(item =>
            {
                item.Author = _sysUserInfoServices.QueryById(item.CreatorID).Result;
                Expression <Func <blogarticle_comments, bool> > whereExpression1 = a => a.Id > 0 && a.ParentID == item.Id;
                item.Children = _blogarticle_commentsServices.Query(whereExpression1, intPageSize, " CreateTime desc ").Result;
                item.Children.ForEach(obj =>
                {
                    obj.Author       = _sysUserInfoServices.QueryById(obj.CreatorID).Result;
                    obj.CallbackUser = _sysUserInfoServices.QueryById(obj.CallBackTo).Result;
                });
            });

            return(new MessageModel <PageModel <blogarticle_comments> >()
            {
                msg = "获取成功",
                success = true,
                response = res
            });
        }
Esempio n. 6
0
        public async Task <ApiResponseModel <SysUserInfo> > GetInfoByToken(string token)
        {
            if (token.IsNullOrEmpty())
            {
                return(ApiResponse.Error <SysUserInfo>("token 不能为空"));
            }
            var tokenModel = JwtHelper.SerializeJwt(token);

            if (tokenModel == null || tokenModel.Uid == 0)
            {
                return(ApiResponse.Error <SysUserInfo>("token 无效"));
            }
            var userinfo = await _sysUserInfoServices.QueryById(tokenModel.Uid);

            if (userinfo == null)
            {
                return(ApiResponse.Error <SysUserInfo>("找不到用户"));
            }
            return(ApiResponse.Success(userinfo));
        }
Esempio n. 7
0
        public JObject GetPmInsPectByCode(int iUserId, string iCodeNum)
        {
            try
            {
                #region 参数检测
                iCodeNum.NotAllowNullOrEmpty("抽查批次号");
                int StringLength = iCodeNum.Length;
                (iCodeNum.Length <= 4).ThrowException("抽查批次号格式不正确");
                string mCode = iCodeNum.Substring(0, StringLength - 4).ToUpper();
                string mNum  = iCodeNum.Substring(StringLength - 4);
                #endregion

                #region 获取主表信息
                var mPmPlanSubInfo = _dal.GetPmPlanSubByCode(mCode, mNum);
                mPmPlanSubInfo.NotAllowNull("未查询到抽查任务单信息");
                #endregion

                #region 获得任务信息 ****查询NQI_LIMS********
                ADD_SUPERVISEPLAN mAddSupervisePlan = null;
                mAddSupervisePlan = _AddSuperviserPlanDal.GetSupervisePlanByCode(mCode);
                #endregion

                #region 获取用户部门信息****查询NQI_LIMS********

                var mUserInfo = _SysUserInfoServices.QueryById(iUserId).Result;//用户信息
                mUserInfo.addr.NotAllowNullOrEmpty("部门编号");

                /*
                 * 20200801 没有组织架构,后期要增加,
                 * 临时在adress字段 里面配置用户的部门信息
                 * 格式: DEPT部门编号RY01
                 */

                DIVISIONS   mDivisions   = null;
                DEPARTMENTS mDepartments = null;

                mDepartments = _DepartmentsDal.GetDepartmentsByCode(mUserInfo.addr);
                mDivisions   = _DivisionsDal.GetDivisionsByCode(mDepartments.PARENTDIV);
                #endregion

                #region 任务表
                PM_PLAN mPmPlanInfo = null;
                if (!string.IsNullOrEmpty(mPmPlanSubInfo.PLAN_CODE))
                {
                    mPmPlanInfo = _dal.GetPmPlanByCode(mPmPlanSubInfo.PLAN_CODE);
                }
                else
                {
                    throw new MyException("为查询到对应编号的数据。", data: iCodeNum);
                }
                #endregion

                #region 受检单位信息
                PM_CARY mPmCaryInfo = null;
                if (mPmPlanSubInfo.CARY_ID > 0)
                {
                    mPmCaryInfo = _dal.GetPmCaryById(mPmPlanSubInfo.CARY_ID);
                }

                #endregion

                #region 生产企业信息
                PM_PRODUCE_UNIT mPmProduceUnit = null;
                if (mPmPlanSubInfo.PRO_ID > 0)
                {
                    mPmProduceUnit = _dal.GetPmProduceUnitById(mPmPlanSubInfo.PRO_ID);
                }
                #endregion

                #region 抽样单位信息
                PM_EXEC_UINT mPmExecUintInfo = null;
                if (mPmPlanSubInfo.EXEC_ID > 0)
                {
                    mPmExecUintInfo = _dal.GetPmExecUintById(mPmPlanSubInfo.EXEC_ID);
                }
                #endregion

                #region 网店信息
                PM_EC_PLATFORM mPmEcPlatFormInfo = null;
                if (mPmPlanSubInfo.EC_ID > 0)
                {
                    mPmEcPlatFormInfo = _dal.GetPmEcPlatFormById(mPmPlanSubInfo.EC_ID);
                }
                #endregion

                #region 组装数据
                return(new JObject()
                {
                    { "ID", mPmPlanSubInfo.ID },
                    { "PLAN_CODE", mPmPlanSubInfo.PLAN_CODE },
                    { "LOT_NUM", mPmPlanSubInfo.LOT_NUM },

                    //任务信息
                    { "SupervisePlanInfo", JObject.Parse(JsonConvert.SerializeObject(mAddSupervisePlan)) },
                    //部门信息
                    { "Department", JObject.Parse(JsonConvert.SerializeObject(mDepartments)) },
                    //中心信息
                    { "Division", JObject.Parse(JsonConvert.SerializeObject(mDivisions)) },

                    //抽检数据库的相关表格:
                    { "PmPlanSubInfo", JObject.Parse(JsonConvert.SerializeObject(mPmPlanSubInfo)) },
                    { "PmPlanInfo", mPmPlanInfo != null?JObject.Parse(JsonConvert.SerializeObject(mPmPlanInfo)) : new JObject() },
                    { "PmCaryInfo", mPmCaryInfo != null?JObject.Parse(JsonConvert.SerializeObject(mPmCaryInfo)) : new JObject() },
                    { "PmProduceUnit", mPmProduceUnit != null?JObject.Parse(JsonConvert.SerializeObject(mPmProduceUnit)) : new JObject() },
                    { "PmExecUintInfo", mPmExecUintInfo != null?JObject.Parse(JsonConvert.SerializeObject(mPmExecUintInfo)) : new JObject() },
                    { "PmEcPlatFormInfo", mPmEcPlatFormInfo != null?JObject.Parse(JsonConvert.SerializeObject(mPmEcPlatFormInfo)) : new JObject() },
                });

                #endregion
            }
            catch (Exception ex)
            {
                SerilogServer.WriteErrorLog("GetPmInsPectByCode", ex.Message, ex);
                throw ex;
            }
        }
Esempio n. 8
0
        public bool SaveInspectAcceptance(int iUserId, InputInsepectAcceptanceModel model)
        {
            try
            {
                model.PmPlanSubInfo.NotAllowNull("抽检信息");

                #region 获取用户信息
                var mUserInfo = _SysUserInfoServices.QueryById(iUserId).Result;//用户信息
                #endregion


                _UnitOfWork.BeginTran();

                #region 查询或保存企业
                // CHECK_TYPE : 1:现场抽样(生产) 2:市场买样 3:电商买样 4:其他来源
                //生产单位
                RASCLIENTS mScdwInfor = null;
                if (model.PmPlanSubInfo.CHECK_TYPE == "1")
                {
                    mScdwInfor = this.SaveRaseClient(model.PmProduceUnit.PRO_NAME, model.PmProduceUnit.PRO_ADDR, model.PmProduceUnit.PRO_TEL, mUserInfo.uRealName, model.Department.DEPTNAME, model.PmProduceUnit.PRO_BUS_LICENCE, model.Department.DEPT);
                }
                //受检单位
                RASCLIENTS mSjdwInfor = null;
                if (model.PmPlanSubInfo.CHECK_TYPE == "2")
                {
                    mSjdwInfor = this.SaveRaseClient(model.PmCaryInfo.CARY_NAME, model.PmCaryInfo.CARY_ADDR, model.PmCaryInfo.CARY_TEL, mUserInfo.uRealName, model.Department.DEPTNAME, model.PmCaryInfo.UNIFIED_SOCIAL_CREDIT_CODE, model.Department.DEPT);
                }
                else if (model.PmPlanSubInfo.CHECK_TYPE == "3")
                {
                    //网店信息
                    mSjdwInfor = this.SaveRaseClient(model.PmEcPlatFormInfo.ONLINE_STORE_NAME, model.PmEcPlatFormInfo.ONLINE_STORE_ADDR, model.PmEcPlatFormInfo.ONLINE_STORE_CONTACT, mUserInfo.uRealName, model.Department.DEPTNAME, "", model.Department.DEPT);
                }
                #endregion

                #region 1. 受理单
                FOLDERS folders = new FOLDERS();
                folders.FOLDERNO              = this.CreateFolderNo();//生成规则
                folders.DEPT                  = model.Department.DEPT;
                folders.REMARKS               = model.PmPlanSubInfo.REMARKS;
                folders.ORIGSTS               = "N";
                folders.FLDSTS                = "Draft";
                folders.DISPSTS               = "新建";
                folders.SAMPLECLASSFORCCC     = "3C样品种类名称";
                folders.CODEOFINSPECTIONORG   = "承检机构代码";
                folders.DETECTIONFORSPOTCHECK = model.SupervisePlanInfo.TASKCLASS;
                folders.TESTORGREGFORM        = model.Department.DEPTNAME;
                folders.TESTPLACE             = model.Department.LOCATION;
                folders.TESTTYPE              = "01";
                folders.PLANNO                = model.SupervisePlanInfo.PLANNO;
                folders.TASKSOURCE            = model.SupervisePlanInfo.TASKSOURCE;
                folders.TESTTASKNOFORCCC      = "委托单位协议编号";
                //生产单位
                folders.COMPANYNOOFPRODUCTIONORG    = mScdwInfor == null ? null : mScdwInfor.RASCLIENTID;
                folders.ADDRESSOFPRODUCTIONORG      = mScdwInfor == null ? null : mScdwInfor.ADDRESS;
                folders.PHONEOFPRODUCTIONORG        = mScdwInfor == null ? null : mScdwInfor.PHONE;
                folders.NAMEOFPRODUCTIONORG         = mScdwInfor == null ? null : mScdwInfor.COMPNAME;
                folders.PRODUCTIONOFBUSINESSLICENSE = mScdwInfor == null ? null : mScdwInfor.STAXCODE;
                //受检单位
                folders.ADDRESSOFORGBETESTED = mSjdwInfor == null? null: mSjdwInfor.ADRESS;
                folders.PHONEOFORGBETESTED   = mSjdwInfor == null ? null : mSjdwInfor.PHONE;
                folders.NAMEOFORGBETESTED    = mSjdwInfor == null ? null : mSjdwInfor.COMPNAME;
                folders.ACCEPTER             = mUserInfo.uRealName;
                folders.ACCEPTDATE           = DateTime.Now;
                //委托单位
                folders.NAMEOFENTRUSTORG    = model.SupervisePlanInfo.TASKSOURCE;
                folders.SAMPLESOURCEREGFORM = "抽样";
                folders.DIVISIONCODE        = model.Division.DIVISIONCODE;
                folders.PAYSTS        = "N";
                folders.LOGDATE       = DateTime.Now;
                folders.ISSUBCONTRACT = "不同意";
                folders.ISSUPPLIER    = "N";
                folders.CREATER       = mUserInfo.uLoginName;
                folders.EVALUATIONREQ = "评价";

                var IsFolderExist = _FoldersDal.GeyFolderByNo(folders.FOLDERNO) != null ? true : false;
                if (!IsFolderExist)
                {
                    _FoldersDal.SaveFolders(folders);
                }
                else
                {
                    return(false);
                }
                #endregion

                #region 2. 样品单
                PREORDERS preoders = new PREORDERS();
                preoders.PREORDNO               = this.CreatPreOrderNo("");//获取部门编号信息
                preoders.FOLDERNO               = folders.FOLDERNO;
                preoders.STATUS                 = "Draft";
                preoders.DISPSTS                = "新建";
                preoders.REMARKS                = model.PmPlanSubInfo.REMARKS;
                preoders.TESTCOSTSFORSAMPLE     = 0;
                preoders.TAKEREPORTMETHOD       = "自取";
                preoders.RECEIVEDATE            = DateTime.Today;
                preoders.STORAGEMETHOD          = "常温";
                preoders.TREATMENTFORSAMPLE     = "销毁";
                preoders.ARRIVDATEFORSAMPLE     = DateTime.Today;
                preoders.SPECMODEL              = model.PmPlanSubInfo.GOODS_SCALE;
                preoders.SAMPLENAME             = model.PmPlanSubInfo.GOODS_NAME;
                preoders.TOTALQUANTITY          = model.PmPlanSubInfo.GOODS_CHECK_NUM;
                preoders.SAMPLESTATE            = "封样完好、符合检验要求";
                preoders.REQUIREDCOMPLETIONDATE = DateTime.Today.AddDays(7);
                preoders.DEPT                          = model.Department.DEPT;
                preoders.DIVISIONCODE                  = model.Division.DIVISIONCODE;
                preoders.ISRETURNSAMPLE                = "N";
                preoders.ISEMERGENCY                   = "0";
                preoders.PAYSTS                        = "未缴费";
                preoders.LOGDATE                       = DateTime.Now;
                preoders.ISMAKESAMPLE                  = "N";
                preoders.ISADD_G                       = "N";
                preoders.INVOICEISSUEMETHOD            = "自取";
                preoders.TAKESAMPLINGPERSON            = mUserInfo.uRealName;
                preoders.STORAGECONDITION              = 0;
                preoders.OTHERSAMPLETYPE               = 0;
                preoders.OTHERRESTAURANTTACHE          = 0;
                preoders.OTHERCIRCULATIONTACHE         = 0;
                preoders.STRIPNUMBERANDSUM             = 0;
                preoders.SAMPLINGPRODUCTIMPLEMENTATION = "按文件要求";
                preoders.SAMPLEDELIVERYMODE            = "抽样";
                preoders.REPORTRECYCLE                 = "Y";
                preoders.SELFNUMBER                    = model.PmPlanSubInfo.PLAN_CODE + model.PmPlanSubInfo.LOT_NUM;
                preoders.PRINTNUM                      = 0;
                preoders.ZHENGSHUNO                    = model.PmPlanSubInfo.GOODS_CERT_CODE;
                preoders.ISADD_FG                      = "N";
                preoders.ALLOTTYPE                     = "CP";
                preoders.PRINTBYNUMS                   = 0;
                preoders.PRINTJYNUMS                   = 1;
                preoders.ISNEEDCOVERING                = "N";
                preoders.TESTPERIOD                    = 7;
                preoders.REALPAY2                      = 0;

                var IsPreExist = _PreOrdersDal.GetPreOrdersByNo(preoders.PREORDNO) != null ? true : false;
                if (!IsPreExist)
                {
                    _PreOrdersDal.SavePreOrders(preoders);
                }
                #endregion

                #region 3. 子样单
                ORDERS orders = new ORDERS();
                orders.ORDNO        = string.Format("{0}-001", preoders.PREORDNO);
                orders.ORIGSTS      = "N";
                orders.STATUS       = "Draft";
                orders.DISPSTS      = "新建";
                orders.CREATETIME   = DateTime.Now;
                orders.SAMPLENAME   = model.PmPlanSubInfo.GOODS_NAME;
                orders.DEPT         = model.Department.DEPT;
                orders.DIVISIONCODE = model.Division.DIVISIONCODE;
                orders.ISMAKESAMPLE = "N";
                orders.ISPREPARE    = "N";
                orders.ISCHOICE     = "N";
                orders.FOLDERNO     = folders.FOLDERNO;
                orders.MAJORUSRNAM  = mUserInfo.uLoginName;
                orders.PREORDNO     = preoders.PREORDNO;
                var IsOrderExist = _OrderDal.GetOrdersByNo(orders.ORDNO) != null ? true : false;
                if (!IsOrderExist)
                {
                    _OrderDal.SaveOrders(orders);
                }
                #endregion

                _UnitOfWork.CommitTran();
                return(true);
            }
            catch (Exception ex)
            {
                _UnitOfWork.RollbackTran();
                SerilogServer.WriteErrorLog("SaveInspectAcceptance", ex.Message, ex);
                throw ex;
            }
        }