Commit 8b7c1e60 by wangonghui

修改CBA界面数据Bug

parent e1564758
......@@ -331,7 +331,7 @@ namespace VIZ.TVP.CBA.Module
CompareItemToNumber.Add("罚球", teamLiveH.FreeThrows + "/"
+ teamLiveH.FreeThrowsAttempted);
CompareItemToNumber.Add("失误.g", teamLiveH.Turnovers);
CompareItemToNumber.Add("失误", teamLiveH.Turnovers);
if (!mainViewModel.MvpHomePlayerCompareNumDictionary.ContainsKey(teamLiveH.CNAlias))
{
......
......@@ -1426,8 +1426,8 @@ namespace VIZ.TVP.CBA.Module
CompareItemToNumber.Add("得分", teamSeasonData.PointsAverage);
CompareItemToNumber.Add("篮板", teamSeasonData.ReboundsAverage);
CompareItemToNumber.Add("助攻", teamSeasonData.AssistsAverage);
CompareItemToNumber.Add("抢断", teamSeasonData.BlockedAverage);
CompareItemToNumber.Add("盖帽", teamSeasonData.StealsAverage);
CompareItemToNumber.Add("抢断", teamSeasonData.StealsAverage);//StealsAverage
CompareItemToNumber.Add("盖帽", teamSeasonData.BlockedAverage);
CompareItemToNumber.Add("失误", teamSeasonData.TurnoversAverage);
CompareItemToNumber.Add("犯规", teamSeasonData.PersonalFoulsAverage);
//HomeTeamCompareOptionDictionary.Add(TeamDataCompareOptionChinese[7], Json_OnAirData.liveTeamStatH.FlagrantFouls);
......
<?xml version="1.0" encoding="utf-8" ?>
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8" />
</startup>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Numerics.Vectors" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.4.0" newVersion="4.1.4.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Buffers" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
\ No newline at end of file
using DevExpress.XtraPrinting.Native.WebClientUIControl;
using log4net;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace VIZ.TVP.FTB.Module
{
public static class JsonModel
{
/// <summary>
/// 添加日志
/// </summary>
private static readonly ILog Log = LogManager.GetLogger(typeof(JsonModel));
//读取url
private static AppSetup_InitLiteDB appSetup_InitLiteDB = AppSetup_InitLiteDB.CreateInstance;
//新的URL
public static string strUrl = AppSetup_InitLiteDB.HttpUrlConfigEntity.Url;
/// <summary>
/// 读取艾果的数据平台的配置项
/// </summary>
public static string appID = AppSetup_InitLiteDB.HttpUrlConfigEntity.AppId;
//sd.Settings["AppID"].Value.ToString();
public static string appKey = AppSetup_InitLiteDB.HttpUrlConfigEntity.AppKey;
public static string type = AppSetup_InitLiteDB.HttpUrlConfigEntity.SelectFootballType;
/// <summary>
/// 艾果平台的明日赛程数据服务器接口
/// </summary>
/// <returns></returns>
public async static Task<Dayschedules> PostTomorrowMatch_Path(string round)
{
Dayschedules dayschedules = new Dayschedules();
try
{
await Task.Run(() =>
{
string GameRoundDataPath = strUrl + "schedule/getschedulelist";
Dictionary<string, string> dict = new Dictionary<string, string>();
//dict.Add("leagueid", "401");
dict.Add("round", round);
dict.Add("competitionId", type);
string newKey = Utils.GetKey(appID, appKey);
var str = JsonHelper.Post(GameRoundDataPath, dict, newKey);
Log.Info("轮次数据接口新:=======>:" + str);
JsonSerializerSettings settings = new JsonSerializerSettings();
settings.NullValueHandling = NullValueHandling.Ignore;
dayschedules = JsonConvert.DeserializeObject<Dayschedules>(str, settings);
dayschedules.schedulelist = dayschedules.schedulelist.OrderBy(a => a.time).ToList();
});
return dayschedules;
}
catch (Exception ex)
{
Log.Error(ex.Message);
return null;
}
}
/// <summary>
///球队积分数据服务器地址
/// </summary>
/// <returns></returns>
public static TeamRanks PostTeamScoreData_Path()
{
try
{
string TeamScoreDataPath = strUrl + "team/getteamstanding";
Dictionary<string, string> dict = new Dictionary<string, string>();
dict.Add("leagueid", "401");
string newKey = Utils.GetKey(appID, appKey);
string result = JsonHelper.Post(TeamScoreDataPath, dict, newKey);
Log.Info("球队积分排行数据==>:" + result);
JsonSerializerSettings settings = new JsonSerializerSettings();
settings.NullValueHandling = NullValueHandling.Ignore;
TeamRanks teamRanks = JsonConvert.DeserializeObject<TeamRanks>(result, settings);
var sortRanks = teamRanks.teamrank.OrderBy(a => a.score).ToList();
teamRanks.teamrank = sortRanks;
Console.WriteLine("球队积分排行数据============>:" + TeamScoreDataPath);
return teamRanks;
}
catch (Exception ex)
{
Log.Error(ex.Message);
return null;
}
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using VIZ.Package.Domain;
namespace VIZ.TVP.FTB.Module.FDayMatch
{
public class FDayMatchViewPlugin : IPluginLifeCycle
{
/// <summary>
/// 插件ID
/// </summary>
/// <remarks>
/// 插件ID不能包含点号
/// </remarks>
public const string PLUGIN_ID = "FDayMatchView";
/// <summary>
/// 插件显示名称
/// </summary>
public const string PLUGIN_NAME = "足球赛程";
public void Dispose()
{
}
public PluginInfo Register()
{
PluginInfo info = new PluginInfo();
info.Group = PluginConstant.GroupName;
info.ID = PLUGIN_ID;
info.Name = PLUGIN_NAME;
info.PluginType = PluginType.Page;
info.ViewType = typeof(FDayMatchView);
//info.SettingViewType = typeof(DayMatchUI);
return info;
}
}
}
......@@ -14,7 +14,7 @@ namespace VIZ.TVP.FTB.Module
/// </summary>
public string LastPushDataDateTime { get; set; }
public List<Dayschedule> dayschedule { get; set; }
public List<Dayschedule> schedulelist { get; set; }
}
}
......@@ -23,7 +23,6 @@
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="60"/>
<RowDefinition Height="40"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<WrapPanel Grid.Row="0" Width="750" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="-2,0,0,0" >
......@@ -44,19 +43,29 @@
<dxe:TextEdit Grid.Column="1" Width="170" FontSize="16" HorizontalContentAlignment="Left"
HorizontalAlignment="Center" VerticalAlignment="Center" Text="{Binding Title,Mode=TwoWay }"></dxe:TextEdit>
<TextBlock Grid.Column="2" TextBlock.TextAlignment="Center" Text="查询方式:" FontSize="16" VerticalAlignment="Center" Width="70" />
<!--<TextBlock Grid.Column="2" TextBlock.TextAlignment="Center" Text="查询方式:" FontSize="16" VerticalAlignment="Center" Width="70" />
<dxe:ComboBoxEdit Grid.Column="3" Width="60" FontSize="14" ItemsSource="{Binding Path=ChooseMatchItems,Mode=TwoWay}"
SelectedItem="{Binding Path=SelectChooseMatchItem,Mode=TwoWay}" />
SelectedItem="{Binding Path=SelectChooseMatchItem,Mode=TwoWay}" />-->
<TextBlock TextBlock.TextAlignment="Center" Text="日期:" Width="60" Grid.Column="4" FontSize="16" VerticalAlignment="Center"/>
<TextBlock TextBlock.TextAlignment="Center" Text="轮次:" Width="60" Grid.Column="4" FontSize="16" VerticalAlignment="Center"/>
<dxe:ComboBoxEdit Grid.Column="5" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="16"
Width="120" ItemsSource="{Binding Path=RoundMatchs,Mode=TwoWay}"
SelectedItem="{Binding Path=RoundMatchItem,Mode=TwoWay}" >
</dxe:ComboBoxEdit>
<!--<TextBlock TextBlock.TextAlignment="Center" Text="日期:" Width="60" Grid.Column="4" FontSize="16" VerticalAlignment="Center"/>
<dxe:DateEdit Grid.Column="5" HorizontalAlignment="Center" FontSize="16" EditValue="{Binding MatchDate,Mode=TwoWay}"
ShowToday="False" ShowClearButton="False"
VerticalAlignment="Center" MaskUseAsDisplayFormat="True"
Width="120" IsEnabled="{Binding MateDateEnable,Mode=TwoWay}">
</dxe:DateEdit>
</dxe:DateEdit>-->
<WrapPanel Grid.Row="0" Grid.Column="6" HorizontalAlignment="Center" VerticalAlignment="Center">
......@@ -65,9 +74,13 @@
<ColumnDefinition Width="110"/>
<ColumnDefinition Width="30"/>
</Grid.ColumnDefinitions>
<Button Content="加载赛程" Command="{Binding BtnCmd}" HorizontalContentAlignment="Center"
Grid.Column="0" Width="100" Height="30" FontSize="14" IsEnabled="{Binding BtmEnable,Mode=TwoWay}" />
<!--<Button Content="加载赛程" Command="{Binding BtnCmd}" HorizontalContentAlignment="Center"
Grid.Column="0" Width="100" Height="30" FontSize="14" IsEnabled="{Binding BtmEnable,Mode=TwoWay}" />-->
<Button Grid.Row="0" Grid.Column="0" Content="加载轮次" FontSize="16"
Command="{Binding BtnRoundCmd}" HorizontalContentAlignment="Center"
Width="100" Height="30" />
<dx:SimpleButton Grid.Row="1" Grid.Column="1" Glyph='/VIZ.TVP.FTB.Module;component/Image/FT/Prompt2525.png' FontSize="16"
Command="{Binding PromptCommand}" HorizontalContentAlignment="Center" Width="30" Height="30" />
......@@ -75,49 +88,10 @@
</WrapPanel>
</Grid>
</WrapPanel>
<WrapPanel Grid.Row="1" Width="750" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="-2,0,0,0" >
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="70"/>
<ColumnDefinition Width="175"/>
<ColumnDefinition Width="70"/>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="130"/>
<ColumnDefinition Width="140"/>
</Grid.ColumnDefinitions>
<TextBlock TextBlock.TextAlignment="Center" Text="轮次:" Width="60" Grid.Column="4" FontSize="16" VerticalAlignment="Center"/>
<dxe:ComboBoxEdit Grid.Column="5" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="16"
Width="120" ItemsSource="{Binding Path=RoundMatchs,Mode=TwoWay}"
SelectedItem="{Binding Path=RoundMatchItem,Mode=TwoWay}" IsEnabled="{Binding RoundComEnable,Mode=TwoWay}">
</dxe:ComboBoxEdit>
<WrapPanel Grid.Row="0" Grid.Column="6" HorizontalAlignment="Center" VerticalAlignment="Center">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="110"/>
<ColumnDefinition Width="30"/>
</Grid.ColumnDefinitions>
<Button Grid.Row="0" Grid.Column="0" Content="加载轮次" FontSize="16"
Command="{Binding BtnRoundCmd}" HorizontalContentAlignment="Center"
Width="100" Height="30" IsEnabled="{Binding RoundBtnEnable,Mode=TwoWay}" />
</Grid>
</WrapPanel>
</Grid>
</WrapPanel>
<DockPanel Grid.Row="2" >
<DockPanel Grid.Row="1" >
<ScrollViewer HorizontalScrollBarVisibility="Disabled"
VerticalScrollBarVisibility="Auto"
......@@ -137,16 +111,18 @@
</dxg:GridColumn>
<dxg:GridColumn FieldName="dates" Header="日期" Width="112" />
<dxg:GridColumn FieldName="time" Header="时间" Width="112" />
<dxg:GridColumn FieldName="homeTeamLogo" Header="主队国旗" Width="180" />
<dxg:GridColumn FieldName="HomeTeamFlag" Header="主队国旗" Width="180" />
<dxg:GridColumn FieldName="HomeTeamName" Header="主队" Width="180" />
<dxg:GridColumn FieldName="HomeTeamScore" Header="主队得分" Width="180" />
<dxg:GridColumn FieldName="homeTeamName" Header="主队" Width="180" />
<dxg:GridColumn FieldName="homeTeamScore" Header="主队得分" Width="180" />
<dxg:GridColumn FieldName="VisitingTeamScore" Header="客队得分" Width="180" />
<dxg:GridColumn FieldName="VisitingTeamName" Header="客队" Width="180" />
<dxg:GridColumn FieldName="visitingTeamScore" Header="客队得分" Width="180" />
<dxg:GridColumn FieldName="visitingTeamName" Header="客队" Width="180" />
<dxg:GridColumn FieldName="VisitingTeamFlag" Header="客队国旗" Width="180" />
<dxg:GridColumn FieldName="visitingTeamLogo" Header="客队国旗" Width="180" />
<dxg:GridColumn FieldName="status" Header="客队国旗" Width="180" />
<dxg:GridControl.View>
<dxg:TableView AutoWidth="True" ShowGroupPanel="False"
......
......@@ -5,6 +5,7 @@ using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Markup;
using VIZ.Framework.Core;
namespace VIZ.TVP.FTB.Module
......@@ -38,49 +39,49 @@ namespace VIZ.TVP.FTB.Module
private string selectChooseMatchItem = "日期";
//private string selectChooseMatchItem = "日期";
public string SelectChooseMatchItem
{
get { return selectChooseMatchItem; }
set
{
selectChooseMatchItem = value;
this.RaisePropertyChanged(nameof(SelectChooseMatchItem));
//public string SelectChooseMatchItem
//{
// get { return selectChooseMatchItem; }
// set
// {
// selectChooseMatchItem = value;
// this.RaisePropertyChanged(nameof(SelectChooseMatchItem));
if (selectChooseMatchItem == "日期")
{
RoundBtnEnable = false;
RoundComEnable = false;
// if (selectChooseMatchItem == "日期")
// {
// RoundBtnEnable = false;
// RoundComEnable = false;
MateDateEnable = true;
BtmEnable = true;
// MateDateEnable = true;
// BtmEnable = true;
}
else if (selectChooseMatchItem == "轮次")
{
RoundBtnEnable = true;
RoundComEnable = true;
MateDateEnable = false;
BtmEnable = false;
// }
// else if (selectChooseMatchItem == "轮次")
// {
// RoundBtnEnable = true;
// RoundComEnable = true;
// MateDateEnable = false;
// BtmEnable = false;
}
}
}
// }
// }
// }
/// <summary>
/// 赛程和轮次
/// </summary>
private ObservableCollection<string> chooseMatchItems;
//private ObservableCollection<string> chooseMatchItems;
public ObservableCollection<string> ChooseMatchItems
{
get { return chooseMatchItems; }
//public ObservableCollection<string> ChooseMatchItems
//{
// get { return chooseMatchItems; }
set { chooseMatchItems = value; this.RaisePropertyChanged(nameof(chooseMatchItems)); }
}
// set { chooseMatchItems = value; this.RaisePropertyChanged(nameof(chooseMatchItems)); }
//}
private int roundMatchItem;
......@@ -100,83 +101,82 @@ namespace VIZ.TVP.FTB.Module
set { roundMatch = value; this.RaisePropertyChanged(nameof(RoundMatchs)); }
}
/// <summary>
/// 日期的可用性
/// </summary>
private bool mateDateEnable = true;
public bool MateDateEnable
{
get { return mateDateEnable; }
set { mateDateEnable = value; this.RaisePropertyChanged(nameof(MateDateEnable)); }
}
/// <summary>
/// 加载赛程可用性
/// 今日赛程轮次
/// </summary>
private bool btmEnable = true;
public VCommand BtnRoundCmd { get; set; }
public bool BtmEnable
{
get { return btmEnable; }
set { btmEnable = value; this.RaisePropertyChanged(nameof(BtmEnable)); }
}
/// <summary>
/// 轮次选择可用性
/// 添加轮次刷新
/// </summary>
private bool roundComEnable = false;
public bool RoundComEnable
private async void BtmRoundCommand()
{
get { return roundComEnable; }
set { roundComEnable = value; this.RaisePropertyChanged(nameof(RoundComEnable)); }
}
// SetRoundMatchData();
private bool roundBtnEnable = false;
public bool RoundBtnEnable
{
get { return roundBtnEnable; }
set { roundBtnEnable = value; this.RaisePropertyChanged(nameof(RoundBtnEnable)); }
}
var RoundMatchData = await JsonModel.PostTomorrowMatch_Path(roundMatchItem.ToString());
private string matchDate;
if (RoundMatchData == null) return;
/// <summary>
///获取日期
/// </summary>
public string MatchDate
{
get { return matchDate; }
set { matchDate = value; this.RaisePropertyChanged(nameof(MatchDate)); }
}
public VCommand BtnCmd { get; set; }
public VCommand BtnMatchDayUp { get; set; }
MatchData = new ObservableCollection<Dayschedule>();
public VCommand BtnRoundCmd { get; set; }
foreach (var rudData in RoundMatchData.schedulelist)
{
/// <summary>
/// 获取今日赛程
/// </summary>
private void BtnCommand()
{
// GetSchedule();
}
Dayschedule d = new Dayschedule();
d.round = rudData.round;
d.dates = rudData.dates;
d.time = rudData.time;
d.homeTeamLogo = rudData.homeTeamName;
d.homeTeamName = rudData.homeTeamName;
d.homeTeamScore = rudData.homeTeamScore;
d.visitingTeamScore = rudData.visitingTeamScore;
d.visitingTeamName = rudData.visitingTeamName;
d.visitingTeamLogo = rudData.visitingTeamName;
d.matchId = rudData.matchId;
d.competitionId = rudData.competitionId;
if (rudData.status == "1")
{
d.status = "未开赛";
}
else if (rudData.status == "2")
{
d.status = "进行中";
}
else if (rudData.status == "3")
{
d.status = "进行中";
}
else if (rudData.status == "4")
{
d.status = "已结束";
}
else if (rudData.status == "5")
{
d.status = "延期";
}
MatchData.Add(d);
}
/// <summary>
/// 添加轮次刷新
/// </summary>
private void BtmRoundCommand()
{
// SetRoundMatchData();
}
#region 打开更新数据时间日志
......@@ -240,28 +240,19 @@ namespace VIZ.TVP.FTB.Module
private void Init()
{
BtnCmd = new VCommand(BtnCommand);
BtnRoundCmd = new VCommand(BtmRoundCommand);
PromptCommand = new VCommand(PromptCmd);
matchDate = DateTime.Today.ToShortDateString();
// GetSchedule();
RoundMatchs = new ObservableCollection<int>();
for (int i = 1; i < 43; i++)
for (int i = 1; i < 39; i++)
{
RoundMatchs.Add(i);
}
roundMatchItem = 1;
chooseMatchItems = new ObservableCollection<string>() { "日期", "轮次" };
RoundComEnable = false;
RoundBtnEnable = false;
MateDateEnable = true;
BtmEnable = true; ;
}
......@@ -280,16 +271,6 @@ namespace VIZ.TVP.FTB.Module
foreach (var tempMatchData in matchData)
{
//if (tempMatchData.SelectLight == "不高亮")
//{
// data += "0";
//}
//else
//{
// data += "1";
//}
data += "*";
if (string.IsNullOrEmpty(tempMatchData.dates))
{
data += "";
......@@ -324,7 +305,7 @@ namespace VIZ.TVP.FTB.Module
{
data += tempMatchData.homeTeamLogo.Replace(" ", "");
}
data += "*";
if (string.IsNullOrEmpty(tempMatchData.homeTeamName))
{
data += "";
......@@ -336,8 +317,16 @@ namespace VIZ.TVP.FTB.Module
data += "*";
if (string.IsNullOrEmpty(tempMatchData.homeTeamScore) || string.IsNullOrEmpty(tempMatchData.visitingTeamScore))
{
data += "0*";
}
else
{
data += "1*";
}
if (string.IsNullOrEmpty(tempMatchData.homeTeamScore))
{
data += "";
......
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using VIZ.Package.Domain;
namespace VIZ.TVP.FTB.Module
{
public class FTeamStandingViewPlugin : IPluginLifeCycle
{
/// <summary>
/// 插件ID
/// </summary>
/// <remarks>
/// 插件ID不能包含点号
/// </remarks>
public const string PLUGIN_ID = "FTeamStandingView";
/// <summary>
/// 插件显示名称
/// </summary>
public const string PLUGIN_NAME = "积分榜";
public void Dispose()
{
}
public void Initialize()
{
}
public PluginInfo Register()
{
PluginInfo info = new PluginInfo();
info.Group = PluginConstant.GroupName;
info.ID = PLUGIN_ID;
info.Name = PLUGIN_NAME;
info.PluginType = PluginType.Page;
info.ViewType = typeof(FTeamStandingView);
//info.SettingViewType = typeof(DayMatchUI);
return info;
}
}
}
......@@ -17,7 +17,7 @@ namespace VIZ.TVP.FTB.Module
private static ILog Log = LogManager.GetLogger(typeof(FTeamStandingViewModel));
public FTeamStandingViewModel()
{
Init();
}
private ObservableCollection<Teamrank> teamRanksModel;
......@@ -31,31 +31,26 @@ namespace VIZ.TVP.FTB.Module
public VCommand BtnCmd { get; set; }
TeamRanks teamStands = null;
//TeamRanks teamStands = null;
private void BtmCommand()
{
//teamStands = new TeamRanks();
//teamStands = JsonModel.PostTeamScoreData_Path();
//if (teamStands == null) return;
//TeamRanksModel = new ObservableCollection<Teamrank>();
//int i = 1;
//foreach (var teamRank in teamStands.teamrank)
//{
// teamRank.Id = i;
// teamRank.WinningPercentageStr = (teamRank.WinningPercentage * 100).ToString("F1") + "%";
// if (teamRank.StreakType == 1)
// {
// teamRank.StreakName = "连胜";
// }
// else if (teamRank.StreakType == 0)
// {
// teamRank.StreakName = "连败";
// }
// TeamRanksModel.Add(teamRank);
// i++;
//}
teamStands = new TeamRanks();
teamStands = JsonModel.PostTeamScoreData_Path();
if (teamStands == null) return;
TeamRanksModel = new ObservableCollection<Teamrank>();
int i = 1;
foreach (var teamRank in teamStands.teamrank)
{
teamRank.rank = i.ToString();
teamRank.goalAndLoseNums = String.Format("{0}/{1}", teamRank.goalsNum,teamRank.loseGoalsNum);
TeamRanksModel.Add(teamRank);
i++;
}
}
......@@ -150,11 +145,11 @@ namespace VIZ.TVP.FTB.Module
{
MessageLRDateViewModel vm = messageLastRecordDate.DataContext as MessageLRDateViewModel;
//if (teamStands != null)
//{
// string onAirLastDate = $"直播接口更新时间:{teamStands.LastPushDataDateTime}";
// vm.OnErrorLogMessage(onAirLastDate);
//}
if (teamStands != null)
{
string onAirLastDate = $"积分接口更新时间:{teamStands.LastPushDataDateTime}";
vm.OnErrorLogMessage(onAirLastDate);
}
messageLastRecordDate.Visibility = System.Windows.Visibility.Visible;
......
......@@ -19,6 +19,12 @@
</module:FTeamStandingView>
</TabItem>
<TabItem Header="设置">
<module:HttpUrlConfigView>
</module:HttpUrlConfigView>
</TabItem>
</TabControl>
</Grid>
</UserControl>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using VIZ.Package.Domain;
namespace VIZ.TVP.FTB.Module
{
public class HttpUrlPluginLifeCycle : IPluginLifeCycle
{
/// <summary>
/// 插件ID
/// </summary>
/// <remarks>
/// 插件ID不能包含点号
/// </remarks>
public const string PLUGIN_ID = "FBHttpUrlConfigView";
/// <summary>
/// 插件名称
/// </summary>
public const string PLUGIN_NAME = "足球数据访问配置";
/// <summary>
/// 注册
/// </summary>
/// <returns>插件信息</returns>
public PluginInfo Register()
{
PluginInfo info = new PluginInfo();
info.ID = PLUGIN_ID;
info.Name = PLUGIN_NAME;
info.Group = PluginConstant.GroupName;
info.PluginType = PluginType.Setting;
info.ViewType = typeof(HttpUrlConfigView);
return info;
}
/// <summary>
/// 销毁
/// </summary>
public void Dispose()
{
}
}
}
<UserControl x:Class="VIZ.TVP.FTB.Module.HttpUrlConfigView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core"
xmlns:dxmvvm="http://schemas.devexpress.com/winfx/2008/xaml/mvvm"
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
d:Background="White"
mc:Ignorable="d"
d:DesignHeight="800" d:DesignWidth="800">
<dxmvvm:Interaction.Behaviors>
<dxmvvm:EventToCommand EventName="Loaded" Command="{Binding Path=LoadedCommand}"></dxmvvm:EventToCommand>
</dxmvvm:Interaction.Behaviors>
<Grid>
<!-- 数据访问设置 -->
<GroupBox Header="主数据访问配置" Margin="10" Padding="10">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="120"></ColumnDefinition>
<ColumnDefinition Width="*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="50"></RowDefinition>
<RowDefinition Height="50"></RowDefinition>
<RowDefinition Height="50"></RowDefinition>
<RowDefinition Height="50"></RowDefinition>
<RowDefinition Height="50"></RowDefinition>
<RowDefinition Height="50"></RowDefinition>
<RowDefinition Height="50"></RowDefinition>
<RowDefinition Height="50"></RowDefinition>
<RowDefinition Height="50"></RowDefinition>
<RowDefinition Height="50"></RowDefinition>
</Grid.RowDefinitions>
<!-- 地址 -->
<TextBlock Text="主数据连接:" VerticalAlignment="Center" HorizontalAlignment="Center" />
<TextBlock Text="地址:" Grid.Column="0" Grid.Row="1" VerticalAlignment="Center" HorizontalAlignment="Right" Margin="0,0,10,0"></TextBlock>
<dxe:TextEdit Grid.Column="1" Grid.Row="1" Height="30"
EditValue="{Binding Path=Url,Mode=TwoWay}"></dxe:TextEdit>
<!-- 艾果平台 -->
<TextBlock Text="应用Id:" VerticalAlignment="Center" HorizontalAlignment="Right" Margin="0,0,10,0" Grid.Row="2"></TextBlock>
<dxe:TextEdit Grid.Column="1" Height="30" Grid.Row="2"
EditValue="{Binding Path=AppId,Mode=TwoWay}"></dxe:TextEdit>
<!-- 地址 -->
<TextBlock Text="应用Key:" VerticalAlignment="Center" HorizontalAlignment="Right" Margin="0,0,10,0" Grid.Row="3"></TextBlock>
<dxe:TextEdit Grid.Column="1" Height="30" Grid.Row="3"
EditValue="{Binding Path=AppKey,Mode=TwoWay}"></dxe:TextEdit>
<TextBlock Text="备数据连接:" Grid.Row="4" VerticalAlignment="Center" HorizontalAlignment="Center" />
<!--地址-->
<TextBlock Text="地址:" Grid.Column="0" Grid.Row="5" VerticalAlignment="Center" HorizontalAlignment="Right" Margin="0,0,10,0"></TextBlock>
<dxe:TextEdit Grid.Column="1" Grid.Row="5" Height="30"
EditValue="{Binding Path=BUrl,Mode=TwoWay}"></dxe:TextEdit>
<!-- 艾果平台 -->
<TextBlock Text="应用Id:" VerticalAlignment="Center" HorizontalAlignment="Right" Margin="0,0,10,0" Grid.Row="6"></TextBlock>
<dxe:TextEdit Grid.Column="1" Height="30" Grid.Row="6"
EditValue="{Binding Path=BAppId,Mode=TwoWay}"></dxe:TextEdit>
<!-- 地址 -->
<TextBlock Text="应用Key:" VerticalAlignment="Center" HorizontalAlignment="Right" Margin="0,0,10,0" Grid.Row="7"></TextBlock>
<dxe:TextEdit Grid.Column="1" Height="30" Grid.Row="7"
EditValue="{Binding Path=BAppKey,Mode=TwoWay}"></dxe:TextEdit>
<!-- 地址 -->
<TextBlock Text="比赛类型:" VerticalAlignment="Center" HorizontalAlignment="Center" Margin="0,0,10,0" Grid.Row="8" ></TextBlock>
<WrapPanel Grid.Column="1" Grid.Row="8" HorizontalAlignment="Left" VerticalAlignment="Center">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="100"/>
</Grid.ColumnDefinitions>
<dxe:ComboBoxEdit Grid.Column="0" Height="30" Grid.Row="8" Width="100"
ItemsSource="{Binding Path= FootballTypes,Mode=TwoWay}" SelectedItem="{Binding Path=SelectFootballType,Mode=TwoWay}"></dxe:ComboBoxEdit>
</Grid>
</WrapPanel>
</Grid>
</GroupBox>
</Grid>
</UserControl>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using VIZ.Framework.Core;
using VIZ.Package.Domain;
namespace VIZ.TVP.FTB.Module
{
/// <summary>
/// Interaction logic for HttpUrlConfigView.xaml
/// </summary>
public partial class HttpUrlConfigView : UserControl, IPluginSettingView
{
public HttpUrlConfigView()
{
InitializeComponent();
WPFHelper.BindingViewModel(this, new HttpUrlConfigViewModel());
}
/// <summary>
/// 调用保存
/// </summary>
public void Save()
{
HttpUrlConfigViewModel vm = this.DataContext as HttpUrlConfigViewModel;
vm.Save();
}
}
}
using DevExpress.Mvvm.POCO;
using log4net;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using VIZ.Framework.Core;
using VIZ.Package.Module;
namespace VIZ.TVP.FTB.Module
{
public class HttpUrlConfigViewModel : ViewModelBase
{
/// <summary>
/// 日志
/// </summary>
private readonly static ILog log = LogManager.GetLogger(typeof(MediaSettingViewModel));
private static AppSetup_InitLiteDB appSetup_InitCBALiteDB = AppSetup_InitLiteDB.CreateInstance;
/// <summary>
/// 媒资库配置设置视图模型
/// </summary>
public HttpUrlConfigViewModel()
{
// 初始化命令
this.InitCommand();
// HttpUrlConfigEntity config = AppSetup_InitCBALiteDB.HttpUrlConfigEntity;
FootballTypes = new ObservableCollection<string>()
{
"英超","法甲","意甲","德甲","西甲"
};
}
/// <summary>
/// 初始化命令
/// </summary>
private void InitCommand()
{
this.LoadedCommand = new VCommand(this.Loaded);
}
// =========================================================================
// Property
// =========================================================================
#region 主数据来源
#region Url -- 地址
private string url;
/// <summary>
/// 地址
/// </summary>
public string Url
{
get { return url; }
set { url = value; this.RaisePropertyChanged(nameof(Url)); }
}
#endregion
#region 应用Id
/// <summary>
/// 艾果平台应用Id
/// </summary>
private string appId;
public string AppId
{
get { return appId; }
set { appId = value; this.RaisePropertyChanged(nameof(AppId)); }
}
#endregion
#region 平台Key
/// <summary>
/// 艾果应用平台Key
/// </summary>
private string appKey;
public string AppKey
{
get { return appKey; }
set { appKey = value; this.RaisePropertyChanged(nameof(AppKey)); }
}
#endregion
#endregion
#region 备份数据来源
#region Url -- 地址
private string burl;
/// <summary>
/// 地址
/// </summary>
public string BUrl
{
get { return burl; }
set { burl = value; this.RaisePropertyChanged(nameof(BUrl)); }
}
#endregion
#region 应用Id
/// <summary>
/// 艾果平台应用Id
/// </summary>
private string bappId;
public string BAppId
{
get { return bappId; }
set { bappId = value; this.RaisePropertyChanged(nameof(BAppId)); }
}
#endregion
#region 平台Key
/// <summary>
/// 艾果应用平台Key
/// </summary>
private string bappKey;
public string BAppKey
{
get { return bappKey; }
set { bappKey = value; this.RaisePropertyChanged(nameof(BAppKey)); }
}
#endregion
#region
/// <summary>
/// 足球类型选择
/// </summary>
private ObservableCollection<string> footballTypes;
public ObservableCollection<string> FootballTypes
{
get { return footballTypes; }
set { footballTypes = value; this.RaisePropertyChanged(nameof(FootballTypes)); }
}
/// <summary>
/// 选择的足球比赛
/// </summary>
private string selectFootballType="德甲";
public string SelectFootballType
{
get { return selectFootballType; }
set { selectFootballType = value; this.RaisePropertyChanged(nameof(SelectFootballType)); }
}
#endregion
#endregion
// =========================================================================
// Command
// =========================================================================
#region LoadedCommand -- 加载命令
/// <summary>
/// 加载命令
/// </summary>
public VCommand LoadedCommand { get; set; }
/// <summary>
/// 加载
/// </summary>
private void Loaded()
{
this.Url = AppSetup_InitLiteDB.HttpUrlConfigEntity.Url;
this.AppId = AppSetup_InitLiteDB.HttpUrlConfigEntity.AppId;
this.AppKey = AppSetup_InitLiteDB.HttpUrlConfigEntity.AppKey;
this.BUrl = AppSetup_InitLiteDB.HttpUrlConfigEntity.BUrl;
this.BAppId = AppSetup_InitLiteDB.HttpUrlConfigEntity.BAppId;
this.BAppKey = AppSetup_InitLiteDB.HttpUrlConfigEntity.BAppKey;
this.SelectFootballType = AppSetup_InitLiteDB.HttpUrlConfigEntity.SelectFootballType;
}
#endregion
// =========================================================================
// Public Function
// =========================================================================
/// <summary>
/// 保存
/// </summary>
public void Save()
{
HttpUrlConfigEntity config = AppSetup_InitLiteDB.HttpUrlConfigEntity;
config.Url = this.Url;
config.AppId = this.AppId;
config.AppKey = this.AppKey;
config.BUrl = this.BUrl;
config.BAppId = this.BAppId;
config.BAppKey = this.BAppKey;
config.SelectFootballType = this.SelectFootballType;
AppSetup_InitLiteDB.localDbContext.HttpUrlConfig.Upsert(config);
}
}
}
using log4net;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace VIZ.TVP.FTB.Module
{
public class AppSetup_InitLiteDB
{
private static AppSetup_InitLiteDB _createInstance = null;
public static AppSetup_InitLiteDB CreateInstance
{
get
{
if (null == _createInstance)
{
_createInstance = new AppSetup_InitLiteDB();
}
return _createInstance;
}
}
/// <summary>
/// 日志
/// </summary>
private static ILog log = LogManager.GetLogger(typeof(AppSetup_InitLiteDB));
/// <summary>
/// 描述
/// </summary>
public static string Detail { get; } = "应用程序启动 -- 初始化LiteDB";
/// <summary>
/// CBA数据库Context
/// </summary>
public static LocalDbContext localDbContext { get; set; }
public static HttpUrlConfigEntity HttpUrlConfigEntity { get; set; }
/// <summary>
/// 执行启动
/// </summary>
/// <param name="context">应用程序启动上下文</param>
/// <returns>是否成功执行</returns>
public AppSetup_InitLiteDB()
{
string folder = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "db");
if (!System.IO.Directory.Exists(folder))
{
System.IO.Directory.CreateDirectory(folder);
}
string path = System.IO.Path.Combine(folder, "FootballCache.db");
log.Error(path);
localDbContext = new LocalDbContext(path);
HttpUrlConfigEntity = localDbContext.HttpUrlConfig.FindAll().FirstOrDefault() ?? new HttpUrlConfigEntity();
}
}
}
using LiteDB;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace VIZ.TVP.FTB.Module
{
public class HttpUrlConfigEntity
{
/// <summary>
/// 编号
/// </summary>
[BsonId(true)]
public int Id { get; set; }
#region 主数据连接地址
/// <summary>
/// 地址
/// </summary>
public string Url { get; set; } = "http://180.184.78.246:18080/miku/api/open_api/proxy_api/miku/api/system_base/migu/football/";
/// <summary>
/// 应用程序Id
/// </summary>
public string AppId { get; set; } = "100001";
/// <summary>
/// 应用程序Key
/// </summary>
public string AppKey { get; set; } = "ffrw7ilc8i6r3pkzvl";
#endregion
#region 备份数据连接地址
/// <summary>
/// 地址
/// </summary>
public string BUrl { get; set; } = "http://180.184.78.246:18080/miku/api/open_api/proxy_api/miku/api/system_base/migu/football/";
/// <summary>
/// 应用程序Id
/// </summary>
public string BAppId { get; set; } = "100001";
/// <summary>
/// 应用程序Key
/// </summary>
public string BAppKey { get; set; } = "ffrw7ilc8i6r3pkzvl";
public string SelectFootballType { get; set; } = "德甲";
#endregion
}
}
using LiteDB;
using log4net;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace VIZ.TVP.FTB.Module
{
public class LocalDbContext
{
/// <summary>
/// 日志
/// </summary>
private static ILog log = LogManager.GetLogger(typeof(LocalDbContext));
/// <summary>
/// 数据库
/// </summary>
private ILiteDatabase Database;
/// <summary>
/// LiteDB数据库
/// </summary>
/// <param name="path">数据库路径</param>
public LocalDbContext(string path)
{
this.Path = path;
this.Database = new LiteDatabase(path);
this.HttpUrlConfig = this.Database.GetCollection<HttpUrlConfigEntity>();
}
/// <summary>
/// 数据库文件路径
/// </summary>
public string Path { get; private set; }
/// <summary>
/// 数据访问接口配置
/// </summary>
public ILiteCollection<HttpUrlConfigEntity> HttpUrlConfig { get; private set; }
/// <summary>
/// 销毁
/// </summary>
public void Dispose()
{
this.HttpUrlConfig = null;
this.Database?.Dispose();
}
}
}
......@@ -65,9 +65,15 @@
<Reference Include="DevExpress.Xpf.Layout.v22.2.Core, Version=22.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Xpf.LayoutControl.v22.2, Version=22.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Xpf.Themes.Office2019Colorful.v22.2, Version=22.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="LiteDB, Version=5.0.15.0, Culture=neutral, PublicKeyToken=4ee40123013c9f27, processorArchitecture=MSIL">
<HintPath>..\packages\LiteDB.5.0.15\lib\net45\LiteDB.dll</HintPath>
</Reference>
<Reference Include="log4net, Version=2.0.14.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a, processorArchitecture=MSIL">
<HintPath>..\packages\log4net.2.0.14\lib\net45\log4net.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="PresentationCore" />
<Reference Include="PresentationFramework" />
<Reference Include="System" />
......@@ -85,14 +91,17 @@
</ItemGroup>
<ItemGroup>
<Compile Include="Common\JsonHelper.cs" />
<Compile Include="Common\JsonModel.cs" />
<Compile Include="Common\PluginConstant.cs" />
<Compile Include="Common\Utils.cs" />
<Compile Include="FDayMatch\FDayMatchViewPlugin.cs" />
<Compile Include="FDayMatch\Model\Dayschedule.cs" />
<Compile Include="FDayMatch\Model\Dayschedules.cs" />
<Compile Include="FDayMatch\ViewModel\FDayMatchViewModel.cs" />
<Compile Include="FDayMatch\View\FDayMatchView.xaml.cs">
<DependentUpon>FDayMatchView.xaml</DependentUpon>
</Compile>
<Compile Include="FTeamStandings\FTeamStandingViewPlugin.cs" />
<Compile Include="FTeamStandings\Model\Teamrank.cs" />
<Compile Include="FTeamStandings\Model\TeamRanks.cs" />
<Compile Include="FTeamStandings\ViewModel\FTeamStandingViewModel.cs" />
......@@ -107,6 +116,14 @@
<DependentUpon>MessageLastRecordDate.xaml</DependentUpon>
</Compile>
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Setting\httpUrl\HttpUrlPluginLifeCycle.cs" />
<Compile Include="Setting\httpUrl\ViewModel\HttpUrlConfigViewModel.cs" />
<Compile Include="Setting\httpUrl\View\HttpUrlConfigView.xaml.cs">
<DependentUpon>HttpUrlConfigView.xaml</DependentUpon>
</Compile>
<Compile Include="Storge\AppSetup_InitLiteDB.cs" />
<Compile Include="Storge\HttpUrlConfigEntity.cs" />
<Compile Include="Storge\LocalDbContext.cs" />
<Compile Include="TempEnum\EnumHelper.cs" />
<Compile Include="TempEnum\EnumModel.cs" />
<Compile Include="TempEnum\HighLightEnum.cs" />
......@@ -188,6 +205,10 @@
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="Setting\httpUrl\View\HttpUrlConfigView.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
</ItemGroup>
<ItemGroup>
<None Include="app.config" />
......
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="LiteDB" version="5.0.15" targetFramework="net48" />
<package id="log4net" version="2.0.14" targetFramework="net48" />
<package id="Newtonsoft.Json" version="13.0.1" targetFramework="net48" />
</packages>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment