예제 #1
0
        /// <summary>
        /// 添加违章查询城市配置
        /// </summary>
        /// <param name="model"></param>
        /// <param name="user"></param>
        /// <returns></returns>
        public bool AddPeccancyCityConfig(PeccancyQueryCityModel model, string user)
        {
            var result = false;

            try
            {
                using (var dbhelper = new Tuhu.Component.Common.SqlDbHelper(grconnectionString))
                {
                    result = DalPeccancyQueryConfig.AddPeccancyCityConfig(dbhelper, model);
                    if (result)
                    {
                        var log = new PeccancyConfigOprLogModel
                        {
                            LogType       = "PeccancyCityConfig",
                            IdentityId    = $"{model.CityId}",
                            OperationType = "Add",
                            OldValue      = null,
                            NewValue      = JsonConvert.SerializeObject(model),
                            Remarks       = $"添加 违章查询城市:{model.CityName} 的配置",
                            Operator      = user,
                        };
                        LoggerManager.InsertLog("PeccancyConfigOprLog", log);
                    }
                }
            }
            catch (Exception ex)
            {
                Logger.Error("AddPeccancyCityConfig", ex);
            }
            return(result);
        }
예제 #2
0
        /// <summary>
        /// 根据推送ID列表,获取模板列表【3】
        /// </summary>
        /// <param name="pushPlanIds"></param>
        /// <returns></returns>
        public static async Task <IEnumerable <TemplateModifyLogInfo> > GetTemplateInfoFromIds(List <int> pushPlanIds)
        {
            if (pushPlanIds == null || !pushPlanIds.Any())
            {
                return(new List <TemplateModifyLogInfo>());
            }
            var parameters = new List <SqlParameter>();

            string sql = $@"
                SELECT 
                BatchID as TemplateId,
                PlanName as TemplateTitle,
                Pkid as PushPlanId,
                Title as PushPlanTitle,
                DeviceType
                FROM Tuhu_notification..tbl_PushTemplate WITH(NOLOCK) where pkid in ({string.Join(",", pushPlanIds)})";



            var conn = ConfigurationManager.ConnectionStrings["Tuhu_log"].ConnectionString;

            if (SecurityHelp.IsBase64Formatted(conn))
            {
                conn = SecurityHelp.DecryptAES(conn);
            }
            using (var dbHelper = new Tuhu.Component.Common.SqlDbHelper(conn))
            {
                var cmd = new SqlCommand(sql);
                cmd.CommandType = CommandType.Text;
                return((await dbHelper.ExecuteDataTableAsync(cmd)).ConvertTo <TemplateModifyLogInfo>());
            }
        }
예제 #3
0
        public static int SaveTireStockWhite(string pids)
        {
            var result = -99;

            using (var dbHelper = new Tuhu.Component.Common.SqlDbHelper(ConnectionHelper.GetDecryptConn("Gungnir")))
            {
                dbHelper.BeginTransaction();
                foreach (var pid in pids.Split(';'))
                {
                    var isUpdate = DalStockoutStatus.FetchPidStatus(dbHelper, pid);
                    if (isUpdate)
                    {
                        result = DalStockoutStatus.UpdateWhite(dbHelper, pid);
                    }
                    else
                    {
                        result = DalStockoutStatus.InsertWhite(dbHelper, pid);
                    }
                    if (result <= 0)
                    {
                        dbHelper.Rollback();
                        return(result);
                    }
                }
                dbHelper.Commit();
                return(1);
            }
        }
예제 #4
0
        /// <summary>
        /// 根据搜索条件,推送计划Id列表,查询出模板变更记录列表【2】
        /// </summary>
        /// <param name="pushPlanIds"></param>
        /// <param name="query"></param>
        /// <returns></returns>
        public static async Task <List <TemplateModifyLogInfo> > GetTemplateModifyLogInfoWithIdsAndQueryInfo(List <int> pushPlanIds, TemplateLogQueryInfo query)
        {
            var stringBuilder = new StringBuilder();

            if (query == null)
            {
                query = new TemplateLogQueryInfo()
                {
                    PageIndex = 1, PageSize = 15
                };
            }

            var parameters = new List <SqlParameter>
            {
                new SqlParameter("@pagesize", query.PageSize == 0 ? 50 : query.PageSize),
                new SqlParameter("@pageindex", query.PageIndex == 0 ? 1 : query.PageIndex),
            };

            stringBuilder.Append("SELECT Pkid, [User] as ModifyUser,OriginTemplate,NewTemplate,TemplateId as PushPlanId,LastUpdateDateTime  from  Tuhu_log..PushTemplateModifyLog WITH(NOLOCK) where templateId>0 ");

            if (!pushPlanIds.Any())
            {
                pushPlanIds.Add(0);
            }

            stringBuilder.Append($" and TemplateId in({string.Join(",", pushPlanIds)})");


            if (!string.IsNullOrEmpty(query.ModifyUser))
            {
                parameters.Add(new SqlParameter("@ModifyUser", query.ModifyUser));
                stringBuilder.Append($" and  [user] like  '%' + @ModifyUser + '%'");
            }

            if (query.ModifyStartTime.HasValue)
            {
                parameters.Add(new SqlParameter("@ModifyStartTime", query.ModifyStartTime.Value));
                stringBuilder.Append($" and  lastupdateDateTime>=@ModifyStartTime ");
            }
            if (query.ModifyEndTime.HasValue)
            {
                parameters.Add(new SqlParameter("@ModifyEndTime", query.ModifyEndTime.Value));
                stringBuilder.Append($" and  lastupdateDateTime<=@ModifyEndTime ");
            }

            stringBuilder.Append($"order by Pkid desc  OFFSET  ( @pagesize * (@pageindex - 1 ) )  ROWS  FETCH NEXT @pagesize  ROWS ONLY;");



            var conn = ConfigurationManager.ConnectionStrings["Tuhu_log"].ConnectionString;

            if (SecurityHelp.IsBase64Formatted(conn))
            {
                conn = SecurityHelp.DecryptAES(conn);
            }
            using (var dbHelper = new Tuhu.Component.Common.SqlDbHelper(conn))
            {
                return((await dbHelper.ExecuteDataTableAsync(stringBuilder.ToString(), CommandType.Text, parameters.ToArray())).ConvertTo <TemplateModifyLogInfo>()?.ToList());
            }
        }
예제 #5
0
        /// <summary>
        /// 更新违章查询省份配置
        /// </summary>
        /// <param name="province"></param>
        /// <param name="user"></param>
        /// <returns></returns>
        public bool UpdatePeccancyProvinceConfig(PeccancyQueryProvinceModel province, string user)
        {
            var result = false;

            try
            {
                var oldValue = DalPeccancyQueryConfig.GetPeccancyProvinceConfigByProvinceId(province.ProvinceId);
                if (oldValue != null)
                {
                    using (var dbhelper = new Tuhu.Component.Common.SqlDbHelper(grconnectionString))
                    {
                        result = DalPeccancyQueryConfig.UpdatePeccancyProvinceConfig(dbhelper, province);
                    }
                    if (result)
                    {
                        var log = new PeccancyConfigOprLogModel
                        {
                            LogType       = "PeccancyProvinceConfig",
                            IdentityId    = $"{province.ProvinceId}",
                            OperationType = "Update",
                            OldValue      = JsonConvert.SerializeObject(oldValue),
                            NewValue      = JsonConvert.SerializeObject(province),
                            Remarks       = $"更新 违章查询省份:{province.ProvinceName} 的配置",
                            Operator      = user,
                        };
                        LoggerManager.InsertLog("PeccancyConfigOprLog", log);
                    }
                }
            }
            catch (Exception ex)
            {
                Logger.Error("UpdatePeccancyProvinceConfig", ex);
            }
            return(result);
        }
예제 #6
0
        public static async Task <int?> SelectTemplateTagByBatchIdAsync(int batchid)
        {
            string sql  = $@"SELECT  TemplateTag
        FROM    Tuhu_notification..tbl_PushTemplate WITH ( NOLOCK )
        WHERE   BatchID = {batchid};";
            var    conn = ConfigurationManager.ConnectionStrings["Tuhu_log"].ConnectionString;

            if (SecurityHelp.IsBase64Formatted(conn))
            {
                conn = SecurityHelp.DecryptAES(conn);
            }
            using (var dbHelper = new Tuhu.Component.Common.SqlDbHelper(conn))
            {
                var cmd = new SqlCommand(sql);
                cmd.CommandType = CommandType.Text;
                var result = await dbHelper.ExecuteDataTableAsync(cmd);

                if (result != null && result.Rows.Count > 0)
                {
                    var data = result.AsEnumerable().Select(x => x[0]?.ToString())?.Where(x => !string.IsNullOrEmpty(x)).FirstOrDefault();
                    int temp;
                    if (int.TryParse(data, out temp))
                    {
                        return(temp);
                    }
                }
                return(null);
            }
        }
예제 #7
0
        /// <summary>
        /// 根据搜索条件,推送计划Id列表,查询出模板变更记录列表【2】
        /// </summary>
        /// <param name="pushPlanIds"></param>
        /// <param name="query"></param>
        /// <returns></returns>
        public static async Task <int> GetTemplateModifyLogCountWithIdsAndQueryInfo(List <int> pushPlanIds, TemplateLogQueryInfo query)
        {
            var stringBuilder = new StringBuilder();
            var parameters    = new List <SqlParameter>();

            if (query == null)
            {
                query = new TemplateLogQueryInfo()
                {
                };
            }

            stringBuilder.Append("SELECT count(1)  from  Tuhu_log..PushTemplateModifyLog WITH(NOLOCK) where 1=1 ");

            if (!pushPlanIds.Any())
            {
                pushPlanIds.Add(0);
            }

            stringBuilder.Append($" and TemplateId in({string.Join(",", pushPlanIds)})");

            if (!string.IsNullOrEmpty(query.ModifyUser))
            {
                parameters.Add(new SqlParameter("@ModifyUser", query.ModifyUser));
                stringBuilder.Append($" and  [user] like  '%' + @ModifyUser + '%'");
            }

            if (query.ModifyStartTime.HasValue)
            {
                parameters.Add(new SqlParameter("@ModifyStartTime", query.ModifyStartTime.Value));
                stringBuilder.Append($" and  lastupdateDateTime>=@ModifyStartTime ");
            }
            if (query.ModifyEndTime.HasValue)
            {
                parameters.Add(new SqlParameter("@ModifyEndTime", query.ModifyEndTime.Value));
                stringBuilder.Append($" and  lastupdateDateTime<=@ModifyEndTime ");
            }

            var conn = ConfigurationManager.ConnectionStrings["Tuhu_log"].ConnectionString;

            if (SecurityHelp.IsBase64Formatted(conn))
            {
                conn = SecurityHelp.DecryptAES(conn);
            }

            using (var dbHelper = new Tuhu.Component.Common.SqlDbHelper(conn))
            {
                var result = await dbHelper.ExecuteScalarAsync(stringBuilder.ToString(), CommandType.Text, parameters.ToArray());

                int count = 1;
                int.TryParse(result?.ToString(), out count);
                return(count);
            }
        }
예제 #8
0
        public static async Task <PushTemplate> SelectPushTemplateByBatchIDAndDeviceTypeAsync(int batchid, DeviceType deviceType)
        {
            string sql  = $"SELECT TOP 10 * FROM Tuhu_notification..tbl_PushTemplate WITH ( NOLOCK) WHERE BatchID={batchid} AND DeviceType={(int)deviceType}";
            var    conn = ConfigurationManager.ConnectionStrings["Tuhu_log"].ConnectionString;

            if (SecurityHelp.IsBase64Formatted(conn))
            {
                conn = SecurityHelp.DecryptAES(conn);
            }
            using (var dbHelper = new Tuhu.Component.Common.SqlDbHelper(conn))
            {
                var cmd = new SqlCommand(sql);
                cmd.CommandType = CommandType.Text;
                return((await dbHelper.ExecuteDataTableAsync(cmd)).ConvertTo <PushTemplate>()?.FirstOrDefault());
            }
        }
예제 #9
0
        public static async Task <IEnumerable <UserAuthInfo> > SelectWxOpenUserAuthInfoAsync(Guid userid)
        {
            string sql  = $"SELECT    userid,UnionId,OpenId,'wxopen' AS channel  FROM Tuhu_notification..WXUserAuth WITH ( NOLOCK) WHERE UserId='{userid}' and BindingStatus='Bound' and AuthorizationStatus='Authorized'";
            var    conn = ConfigurationManager.ConnectionStrings["Tuhu_log"].ConnectionString;

            if (SecurityHelp.IsBase64Formatted(conn))
            {
                conn = SecurityHelp.DecryptAES(conn);
            }
            using (var dbHelper = new Tuhu.Component.Common.SqlDbHelper(conn))
            {
                var cmd = new SqlCommand(sql);
                cmd.CommandType = CommandType.Text;
                return((await dbHelper.ExecuteDataTableAsync(cmd)).ConvertTo <UserAuthInfo>()?.Distinct().ToList());
            }
        }
예제 #10
0
        //public static QueryResult SelectPushTemplates(TemplateQuery query)
        //{
        //    using (var client = new Tuhu.Service.Push.TemplatePushClient())
        //    {
        //        var result = client.QueryTemplates(query);
        //        result.ThrowIfException(true);
        //        var datas = result.Result;
        //        return datas;
        //    }
        //}
        public static async Task <List <PushTemplate> > SelectPushTemplatesByBatchIDAsync(int Batchid)
        {
            string sql  = $"select * from Tuhu_notification..tbl_PushTemplate  WITH(NOLOCK)  where  BatchID = {Batchid}";
            var    conn = ConfigurationManager.ConnectionStrings["Tuhu_log"].ConnectionString;

            if (SecurityHelp.IsBase64Formatted(conn))
            {
                conn = SecurityHelp.DecryptAES(conn);
            }
            using (var dbHelper = new Tuhu.Component.Common.SqlDbHelper(conn))
            {
                var cmd = new SqlCommand(sql);
                cmd.CommandType = CommandType.Text;
                return((await dbHelper.ExecuteDataTableAsync(cmd)).ConvertTo <PushTemplate>()?.ToList());
            }
        }
예제 #11
0
        public static async Task <IEnumerable <WxAppPushToken> > SelectWxAppPushTokensByOpenIdAsync(string openid, int count)
        {
            string sql  = $"SELECT TOP {count} * FROM Tuhu_notification..tbl_WxAppPushToken WITH ( NOLOCK) WHERE OpenID='{openid}' order by pkid desc ";
            var    conn = ConfigurationManager.ConnectionStrings["Tuhu_log"].ConnectionString;

            if (SecurityHelp.IsBase64Formatted(conn))
            {
                conn = SecurityHelp.DecryptAES(conn);
            }
            using (var dbHelper = new Tuhu.Component.Common.SqlDbHelper(conn))
            {
                var cmd = new SqlCommand(sql);
                cmd.CommandType = CommandType.Text;
                return((await dbHelper.ExecuteDataTableAsync(cmd)).ConvertTo <WxAppPushToken>().ToList());
            }
        }
예제 #12
0
        public static async Task <IEnumerable <UserAuthInfo> > SelectUserAuthInfoAsync(Guid userid)
        {
            string sql  = $"SELECT * FROM Tuhu_profiles..Userauth WITH ( NOLOCK) where userid='{userid}' and BindingStatus='Bound' ";
            var    conn = ConfigurationManager.ConnectionStrings["Gungnir"].ConnectionString;

            if (SecurityHelp.IsBase64Formatted(conn))
            {
                conn = SecurityHelp.DecryptAES(conn);
            }
            using (var dbHelper = new Tuhu.Component.Common.SqlDbHelper(conn))
            {
                var cmd = new SqlCommand(sql);
                cmd.CommandType = CommandType.Text;
                return((await dbHelper.ExecuteDataTableAsync(cmd)).ConvertTo <UserAuthInfo>()?.Distinct()?.ToList());
            }
        }
예제 #13
0
        public static async Task <IEnumerable <PushTemplateModifyLog> > SelectTemplateModifyLogs(int templateid)
        {
            string sql = $"SELECT * FROM Tuhu_log..PushTemplateModifyLog WITH ( NOLOCK) WHERE templateid={templateid} order by pkid";

            var conn = ConfigurationManager.ConnectionStrings["Tuhu_log"].ConnectionString;

            if (SecurityHelp.IsBase64Formatted(conn))
            {
                conn = SecurityHelp.DecryptAES(conn);
            }
            using (var dbHelper = new Tuhu.Component.Common.SqlDbHelper(conn))
            {
                var cmd = new SqlCommand(sql);
                cmd.CommandType = CommandType.Text;
                return((await dbHelper.ExecuteDataTableAsync(cmd)).ConvertTo <PushTemplateModifyLog>().ToList());
            }
        }
예제 #14
0
        public static async Task <IEnumerable <CalculateMessageInfo> > SelectTemplatePushRatesAsync(IEnumerable <int> templateids)
        {
            string sql =
                $"SELECT  * FROM Tuhu_notification..tbl_MessageStatistics WITH ( NOLOCK) WHERE Templateid IN ({string.Join(",", templateids)})";
            var conn = ConfigurationManager.ConnectionStrings["Tuhu_log"].ConnectionString;

            if (SecurityHelp.IsBase64Formatted(conn))
            {
                conn = SecurityHelp.DecryptAES(conn);
            }
            using (var dbHelper = new Tuhu.Component.Common.SqlDbHelper(conn))
            {
                var cmd = new SqlCommand(sql);
                cmd.CommandType = CommandType.Text;
                return((await dbHelper.ExecuteDataTableAsync(cmd)).ConvertTo <CalculateMessageInfo>());
            }
        }
예제 #15
0
        public static async Task <IEnumerable <int> > SelectTemplateIdsByBatchId(int batchId)
        {
            string sql  = $"select PKID from Tuhu_notification..tbl_PushTemplate  WITH(NOLOCK)  where  BatchID = {batchId}";
            var    conn = ConfigurationManager.ConnectionStrings["Tuhu_log"].ConnectionString;

            if (SecurityHelp.IsBase64Formatted(conn))
            {
                conn = SecurityHelp.DecryptAES(conn);
            }
            using (var dbHelper = new Tuhu.Component.Common.SqlDbHelper(conn))
            {
                using (var cmd = new SqlCommand(sql))
                {
                    cmd.CommandType = CommandType.Text;
                    return((await dbHelper.ExecuteDataTableAsync(cmd)).ToList <int>());
                }
            }
        }
예제 #16
0
        public static async Task <int> CheckNavigationOrderAsync(int order, int pkid)
        {
            string sql  = $"SELECT COUNT(1) FROM Tuhu_notification..MessageNavigationType WHERE [Order]={order} and pkid <>{pkid}";
            var    conn = ConfigurationManager.ConnectionStrings["Tuhu_log"].ConnectionString;

            if (SecurityHelp.IsBase64Formatted(conn))
            {
                conn = SecurityHelp.DecryptAES(conn);
            }
            using (var dbHelper = new Tuhu.Component.Common.SqlDbHelper(conn))
            {
                var cmd = new SqlCommand(sql);
                cmd.CommandType = CommandType.Text;
                var result = await dbHelper.ExecuteScalarAsync(sql);

                int count = 1;
                int.TryParse(result?.ToString(), out count);
                return(count);
            }
        }
예제 #17
0
        public static async Task <bool> CheckMessageImageTextOrderAsync(int batchid, int order, int pkid)
        {
            string sql =
                $"SELECT count(1) FROM Tuhu_notification..MessageImageText WITH(NOLOCK) WHERE batchid={batchid} AND [Order]={order} AND pkid<>{pkid}";
            var conn = ConfigurationManager.ConnectionStrings["Tuhu_log"].ConnectionString;

            if (SecurityHelp.IsBase64Formatted(conn))
            {
                conn = SecurityHelp.DecryptAES(conn);
            }
            using (var dbHelper = new Tuhu.Component.Common.SqlDbHelper(conn))
            {
                var cmd = new SqlCommand(sql);
                cmd.CommandType = CommandType.Text;
                var result = await dbHelper.ExecuteScalarAsync(sql);

                int count = 1;
                int.TryParse(result?.ToString(), out count);
                return(count >= 1);
            }
        }
예제 #18
0
        public static async Task <string> UpdateTemplateTypeByBatchIdAsync(int batchid, TemplateType templatetype)
        {
            string sql  = $@"update  Tuhu_notification..tbl_PushTemplate WITH ( rowlock ) set TemplateType={(int)templatetype} WHERE   BatchID = {batchid};";
            var    conn = ConfigurationManager.ConnectionStrings["Tuhu_log"].ConnectionString;

            if (SecurityHelp.IsBase64Formatted(conn))
            {
                conn = SecurityHelp.DecryptAES(conn);
            }
            using (var dbHelper = new Tuhu.Component.Common.SqlDbHelper(conn))
            {
                var cmd = new SqlCommand(sql);
                cmd.CommandType = CommandType.Text;
                var result = await dbHelper.ExecuteDataTableAsync(cmd);

                if (result != null && result.Rows.Count > 0)
                {
                    return(result.AsEnumerable().Select(x => x[0]?.ToString())?.FirstOrDefault() ?? "");
                }
                return("");
            }
        }
예제 #19
0
        /// <summary>
        /// 删除违章查询城市配置
        /// </summary>
        /// <param name="cityId"></param>
        /// <returns></returns>
        public bool DeletePeccancyCityConfig(int cityId, string user)
        {
            var result = false;

            try
            {
                var oldValue = DalPeccancyQueryConfig.GetPeccancyCityConfigByCityId(cityId);
                if (oldValue != null)
                {
                    using (var dbhelper = new Tuhu.Component.Common.SqlDbHelper(grconnectionString))
                    {
                        result = DalPeccancyQueryConfig.DeletePeccancyCityConfigByCityId(dbhelper, cityId);
                    }
                    if (result)
                    {
                        var log = new PeccancyConfigOprLogModel
                        {
                            LogType       = "PeccancyCityConfig",
                            IdentityId    = $"{oldValue.CityId}",
                            OperationType = "Delete",
                            OldValue      = JsonConvert.SerializeObject(oldValue),
                            NewValue      = null,
                            Remarks       = $"删除 违章查询城市:{oldValue.CityName} 的配置",
                            Operator      = user,
                        };
                        LoggerManager.InsertLog("PeccancyConfigOprLog", log);
                    }
                }
                else
                {
                    result = true;
                }
            }
            catch (Exception ex)
            {
                Logger.Error("DeletePeccancyCityConfig", ex);
            }
            return(result);
        }
예제 #20
0
        public static async Task <string> UpdateTemplatePriorityByBatchIdAsync(int batchid, int?wxPriority, int?appPriority)
        {
            if (!wxPriority.HasValue && !appPriority.HasValue)
            {
                return("");
            }

            var sbSql = new StringBuilder();

            if (wxPriority.HasValue)
            {
                sbSql.Append($"[WxPushPriority] = {(wxPriority.Value>0?1:0)} {(appPriority.HasValue?",":"")}");
            }
            if (appPriority.HasValue)
            {
                sbSql.Append($"[AppPushPriority] = {(appPriority.Value>0 ?1 : 0)}");
            }
            string sql = $@"UPDATE  Tuhu_notification..tbl_PushTemplate WITH ( ROWLOCK  ) 
SET {sbSql}
WHERE [BatchID] = {batchid}";

            var conn = ConfigurationManager.ConnectionStrings["Tuhu_log"].ConnectionString;

            if (SecurityHelp.IsBase64Formatted(conn))
            {
                conn = SecurityHelp.DecryptAES(conn);
            }
            using (var dbHelper = new Tuhu.Component.Common.SqlDbHelper(conn))
            {
                using (var cmd = new SqlCommand(sql))
                {
                    cmd.CommandType = CommandType.Text;
                    var result = await dbHelper.ExecuteNonQueryAsync(cmd);

                    return(result.ToString());
                }
            }
        }
예제 #21
0
        /// <summary>
        /// 根据搜索条件查询出推送计划Id列表【1】
        /// </summary>
        /// <param name="query"></param>
        /// <returns></returns>
        public static async Task <List <int> > GetPushPlanIdsWithQueryInfo(TemplateLogQueryInfo query)
        {
            var wheresb = new StringBuilder();

            var parameters = new List <SqlParameter>()
            {
            };

            wheresb.Append("SELECT  pkid FROM Tuhu_notification..tbl_PushTemplate WITH(NOLOCK) where 1=1 ");

            if (query.TemplateId > 0)
            {
                parameters.Add(new SqlParameter("@BatchId", query.TemplateId));
                wheresb.Append($" and batchId=@BatchId ");
            }

            if (query.PushPlanId > 0)
            {
                parameters.Add(new SqlParameter("@PushPlanId", query.PushPlanId));
                wheresb.Append($" and  pkid=@PushPlanId ");
            }

            if (!string.IsNullOrEmpty(query.PushPlanTitle))
            {
                parameters.Add(new SqlParameter("@PushPlanTitle", query.PushPlanTitle));
                wheresb.Append($" and  title like  '%' + @PushPlanTitle + '%' ");
            }

            if (query.DeviceType.HasValue)
            {
                parameters.Add(new SqlParameter("@DeviceType", (int)query.DeviceType.Value));
                wheresb.Append($" and  DeviceType=@DeviceType ");
            }

            wheresb.Append("order by pkid desc  OFFSET 0 ROWS  FETCH NEXT 1000 ROWS ONLY;");

            var conn = ConfigurationManager.ConnectionStrings["Tuhu_log"].ConnectionString;

            if (SecurityHelp.IsBase64Formatted(conn))
            {
                conn = SecurityHelp.DecryptAES(conn);
            }

            try
            {
                using (var dbHelper = new Tuhu.Component.Common.SqlDbHelper(conn))
                {
                    var result = await dbHelper.ExecuteDataTableAsync(wheresb.ToString(), CommandType.Text, parameters.ToArray());

                    if (result != null && result.Rows.Count > 0)
                    {
                        var data = result.AsEnumerable().Select(x => int.Parse(x[0].ToString())).ToList();
                        return(data);
                    }
                    return(new List <int>());
                }
            }
            catch (Exception ex)
            {
                throw;
            }
        }
예제 #22
0
        /// <summary>
        /// 修改大客户美容服务码
        /// </summary>
        /// <param name="model"></param>
        /// <param name="pkids"></param>
        /// <returns></returns>
        public static bool UpdateBeautyServicePackageDetailCodes(ServiceCodeDetail model, string user, ServiceCodeDetail oldCode)
        {
            var result = false;

            try
            {
                if (model.StartTime != null && model.EndTime != null)
                {
                    using (var dbhelper = new Tuhu.Component.Common.SqlDbHelper(writeConnStr))
                    {
                        dbhelper.BeginTransaction();
                        var upResult = true;
                        if (model.PackageDetailCodeId > 0)
                        {
                            var oldValue = BeautyServicePackageDal.GetBeautyServicePackageDetailCodeByPKID(model.PackageDetailCodeId);
                            if (oldValue != null)
                            {
                                #region 只更新服务码起止时间 其余数据保持不变
                                var newValue = new BeautyServicePackageDetailCode
                                {
                                    PKID            = model.PackageDetailCodeId,
                                    UserId          = oldValue.UserId,
                                    PackageDetailId = oldValue.PackageDetailId,
                                    ServiceCode     = oldValue.ServiceCode,
                                    IsActive        = oldValue.IsActive,
                                    StartTime       = model.StartTime,
                                    EndTime         = model.EndTime,
                                    PackageCode     = oldValue.PackageCode,
                                    VipUserId       = oldValue.VipUserId
                                };
                                #endregion
                                upResult = BeautyServicePackageDal.UpdateBeautyServicePackageDetailCodes(dbhelper, newValue);
                            }
                            else
                            {
                                upResult = false;
                            }
                        }
                        if (upResult)
                        {
                            using (var client = new ServiceCodeClient())
                            {
                                var kxChangeCodeTimeModel = new ChangeCodeTimeRequest
                                {
                                    ServiceCodes = new List <string>()
                                    {
                                        model.ServiceCode
                                    },
                                    OverdueTime = model.EndTime
                                };
                                var kxChangeResult = client.ChangeOverdueTime(kxChangeCodeTimeModel);
                                kxChangeResult.ThrowIfException(true);
                                if (kxChangeResult.Success && kxChangeResult.Result != null && kxChangeResult.Result.SuccessServiceCode.Count() > 0 &&
                                    string.Equals(kxChangeResult.Result.SuccessServiceCode.FirstOrDefault(), model.ServiceCode))
                                {
                                    result = true;
                                    dbhelper.Commit();

                                    var log = new BaoYangOprLog
                                    {
                                        LogType     = "修改大客户美容服务码",
                                        IdentityID  = oldCode.ServiceCode,
                                        OldValue    = JsonConvert.SerializeObject(oldCode),
                                        NewValue    = JsonConvert.SerializeObject(model),
                                        Remarks     = $"修改服务码有效期:服务码开始时间从{oldCode.StartTime}变更为{model.StartTime},结束时间从{oldCode.EndTime}变更为{model.EndTime}",
                                        OperateUser = user,
                                    };
                                    LoggerManager.InsertLog("BeautyOprLog", log);
                                }
                                else
                                {
                                    throw new Exception($"快修服务修改服务码有效期失败,请求信息:{JsonConvert.SerializeObject(kxChangeCodeTimeModel)},返回信息:{JsonConvert.SerializeObject(kxChangeResult)}");
                                }
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Logger.Error(ex.Message, ex);
            }
            return(result);
        }
예제 #23
0
        /// <summary>
        /// 删除违章查询省份配置
        /// </summary>
        /// <param name="provinceId"></param>
        /// <returns></returns>
        public bool DeletePeccancyProvinceConfig(int provinceId, string user)
        {
            var result = false;

            try
            {
                using (var dbhelper = new Tuhu.Component.Common.SqlDbHelper(grconnectionString))
                {
                    var oldValue = DalPeccancyQueryConfig.GetPeccancyProvinceConfigByProvinceId(provinceId);
                    if (oldValue != null)
                    {
                        var cityConfigs = DalPeccancyQueryConfig.GetPeccancyCitiesByProvinceId(provinceId);
                        if (cityConfigs != null && cityConfigs.Any())
                        {
                            dbhelper.BeginTransaction();
                            var deleteProvince = DalPeccancyQueryConfig.DeletePeccancyCityConfigByProvinceId(dbhelper, provinceId);
                            var deleteCity     = DalPeccancyQueryConfig.DeletePeccancyProvinceConfig(dbhelper, provinceId);//同时删除该省份下的所有城市配置
                            if (deleteProvince && deleteCity)
                            {
                                dbhelper.Commit();
                                result = true;
                                #region  除的省份和城市记录日志
                                var logs        = new List <PeccancyConfigOprLogModel>();
                                var provinceLog = new PeccancyConfigOprLogModel
                                {
                                    LogType       = "PeccancyProvinceConfig",
                                    IdentityId    = $"{oldValue.ProvinceId}",
                                    OperationType = "Delete",
                                    OldValue      = JsonConvert.SerializeObject(oldValue),
                                    NewValue      = null,
                                    Remarks       = $"删除 违章查询省份:{oldValue.ProvinceName} 的配置",
                                    Operator      = user,
                                };
                                logs.Add(provinceLog);
                                foreach (var city in cityConfigs)
                                {
                                    var cityLog = new PeccancyConfigOprLogModel
                                    {
                                        LogType       = "PeccancyCityConfig",
                                        IdentityId    = $"{city.CityId}",
                                        OperationType = "Delete",
                                        OldValue      = JsonConvert.SerializeObject(city),
                                        NewValue      = null,
                                        Remarks       = $"删除 违章查询城市:{city.CityName} 的配置",
                                        Operator      = user,
                                    };
                                    logs.Add(cityLog);
                                }
                                if (logs.Any())
                                {
                                    logs.ForEach(s => LoggerManager.InsertLog("PeccancyConfigOprLog", s));
                                }
                                #endregion
                            }
                        }
                        else
                        {
                            result = DalPeccancyQueryConfig.DeletePeccancyProvinceConfig(dbhelper, provinceId);
                            if (result)
                            {
                                var log = new PeccancyConfigOprLogModel
                                {
                                    LogType       = "PeccancyProvinceConfig",
                                    IdentityId    = $"{oldValue.ProvinceId}",
                                    OperationType = "Delete",
                                    OldValue      = JsonConvert.SerializeObject(oldValue),
                                    NewValue      = null,
                                    Remarks       = $"删除 违章查询省份:{oldValue.ProvinceName} 的配置",
                                    Operator      = user,
                                };
                                LoggerManager.InsertLog("PeccancyConfigOprLog", log);
                            }
                        }
                    }
                    else
                    {
                        result = true;
                    }
                }
            }
            catch (Exception ex)
            {
                Logger.Error("DeletePeccancyProvinceConfig", ex);
            }
            return(result);
        }