Commit 1634afe0 authored by liudong1993's avatar liudong1993

1投稿+发布 公众号

parent 65731b52
......@@ -68,5 +68,10 @@ namespace Edu.Cache
/// </summary>
public static readonly string DATA_WeChatAccountToken = "DATA_WeChatAccountToken_";
/// <summary>
/// 微信公众号token(赞羊生活)
/// </summary>
public static string GZH_ZYSH_Key = "GZH_ZYSHToken_Key_";
}
}
......@@ -474,6 +474,18 @@ namespace Edu.Common
}
}
/// <summary>
/// 投稿审批流程编号
/// </summary>
public static int ContributeFlowId
{
get
{
int.TryParse(ReadConfigKey("ContributeFlowId"), out int ContributeFlowId);
return ContributeFlowId;
}
}
/// <summary>
/// okr关注事项配置
......
......@@ -57,6 +57,11 @@ namespace Edu.Common.Enum.Finance
/// 考试申请
/// </summary>
[EnumField("考试申请")]
ExamApply = 9
ExamApply = 9,
/// <summary>
/// 投稿审批
/// </summary>
[EnumField("投稿审批")]
Contribute = 10
}
}
using Edu.Common.Plugin;
using System;
using System.Collections.Generic;
using System.Text;
namespace Edu.Common.Enum.WeChat
{
/// <summary>
/// 投稿平台类型枚举
/// </summary>
public enum ContributeConfigTypeEnum
{
/// <summary>
/// 公众订阅号
/// </summary>
[EnumField("公众订阅号")]
Subscription = 1
}
}
using Edu.Common.Plugin;
using System;
using System.Collections.Generic;
using System.Text;
namespace Edu.Common.Enum.WeChat
{
/// <summary>
/// 企业号投稿状态枚举
/// </summary>
public enum ContributeInfoStateEnum
{
/// <summary>
/// 暂存
/// </summary>
[EnumField("暂存")]
Temporary = 0,
/// <summary>
/// 审核中
/// </summary>
[EnumField("审核中")]
Auditing = 1,
/// <summary>
/// 审核通过
/// </summary>
[EnumField("审核通过")]
Audited = 2,
/// <summary>
/// 审核驳回
/// </summary>
[EnumField("审核驳回")]
Reject = 3
}
}
using Edu.Common.Plugin;
using System;
using System.Collections.Generic;
using System.Text;
namespace Edu.Common.Enum.WeChat
{
/// <summary>
/// 企业号图文素材类型枚举
/// </summary>
public enum ContributeInfoTypeEnum
{
/// <summary>
/// 写新图文
/// </summary>
[EnumField("写新图文")]
ImgText = 1,
/// <summary>
/// 文本消息
/// </summary>
[EnumField("文本消息")]
Text = 2,
/// <summary>
/// 视频消息
/// </summary>
[EnumField("视频消息")]
Video = 3,
/// <summary>
/// 音频消息
/// </summary>
[EnumField("音频消息")]
Audio = 4,
/// <summary>
/// 图片消息
/// </summary>
[EnumField("图片消息")]
Image = 5,
}
}
using Edu.Common.Plugin;
using System;
using System.Collections.Generic;
using System.Text;
namespace Edu.Common.Enum.WeChat
{
/// <summary>
/// 投稿素材上传类型枚举
/// </summary>
public enum ContributeMediumTypeEnum
{
/// <summary>
/// 图片
/// </summary>
[EnumField("图片")]
Image = 1,
/// <summary>
/// 音频
/// </summary>
[EnumField("音频")]
Audio = 2,
/// <summary>
/// 视频
/// </summary>
[EnumField("视频")]
Video = 3
}
}
using Edu.Common.Enum;
using Edu.Common.Enum.Course;
using Edu.Common.Enum.WeChat;
using System;
using VT.FW.DB;
namespace Edu.Model.Entity.WeChat
{
/// <summary>
/// 投稿小程序信息实体类
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_Contribute_Applet
{
/// <summary>
/// Id
/// </summary>
public int Id { get; set; }
/// <summary>
/// 小程序名称
/// </summary>
public string Name { get; set; }
/// <summary>
/// 小程序appid
/// </summary>
public string AppID { get; set; }
/// <summary>
/// 小程序图片地址
/// </summary>
public string Image { get; set; }
/// <summary>
/// 小程序路径
/// </summary>
public string Page { get; set; }
/// <summary>
/// 删除状态
/// </summary>
public int Status { get; set; }
/// <summary>
/// 集团编号
/// </summary>
public int Group_Id { get; set; }
/// <summary>
/// 创建人
/// </summary>
public int CreateBy { get; set; }
/// <summary>
/// 创建日期
/// </summary>
public DateTime CreateTime { get; set; }
/// <summary>
/// 修改人
/// </summary>
public int UpdateBy { get; set; }
/// <summary>
/// 更新时间
/// </summary>
public DateTime UpdateTime { get; set; }
}
}
using Edu.Common.Enum;
using Edu.Common.Enum.Course;
using Edu.Common.Enum.WeChat;
using System;
using VT.FW.DB;
namespace Edu.Model.Entity.WeChat
{
/// <summary>
/// 投稿配置实体类
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_Contribute_Config
{
/// <summary>
/// Id
/// </summary>
public int Id { get; set; }
/// <summary>
/// 类型 枚举 1企业订阅号
/// </summary>
public ContributeConfigTypeEnum Type { get; set; }
/// <summary>
/// 名称
/// </summary>
public string Name { get; set; }
/// <summary>
/// 开发者ID
/// </summary>
public string AppId { get; set; }
/// <summary>
/// 开发者秘钥
/// </summary>
public string AppSecret { get; set; }
/// <summary>
/// 是否启用 1是 其他否
/// </summary>
public int Enable { get; set; }
/// <summary>
/// 集团编号
/// </summary>
public int Group_Id { get; set; }
/// <summary>
/// 创建人
/// </summary>
public int CreateBy { get; set; }
/// <summary>
/// 创建日期
/// </summary>
public DateTime CreateTime { get; set; }
/// <summary>
/// 修改人
/// </summary>
public int UpdateBy { get; set; }
/// <summary>
/// 更新时间
/// </summary>
public DateTime UpdateTime { get; set; }
}
}
using Edu.Common.Enum;
using Edu.Common.Enum.Course;
using Edu.Common.Enum.WeChat;
using System;
using VT.FW.DB;
namespace Edu.Model.Entity.WeChat
{
/// <summary>
/// 投稿图文内容实体类
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_Contribute_Info
{
/// <summary>
/// Id
/// </summary>
public int Id { get; set; }
/// <summary>
/// 类型 枚举 1图文 2文字 3视频 4音频 5图片
/// </summary>
public ContributeInfoTypeEnum Type { get; set; }
/// <summary>
/// 状态 1已发布 2未发布
/// </summary>
public int MediaState { get; set; }
/// <summary>
/// 封面图素材id
/// </summary>
public int CoverImageId { get; set; }
/// <summary>
/// 标题
/// </summary>
public string Title { get; set; }
/// <summary>
/// 图文作者
/// </summary>
public string Author { get; set; }
/// <summary>
/// 描述
/// </summary>
public string Description { get; set; }
/// <summary>
/// 图文内容
/// </summary>
public string Content { get; set; }
/// <summary>
/// 发送使用的图文内容(保存两份)
/// </summary>
public string SendContent { get; set; }
/// <summary>
/// 关联视频/音频素材ID
/// </summary>
public int VideoMediumId { get; set; }
/// <summary>
/// 图片模式 图片素材ids 英文逗号分隔
/// </summary>
public string ImageMediumIds { get; set; }
/// <summary>
/// 审核状态 0暂存 1审核中 2审核通过 3审核驳回
/// </summary>
public ContributeInfoStateEnum? AuditState { get; set; }
/// <summary>
/// 删除状态
/// </summary>
public int Status { get; set; }
/// <summary>
/// 集团编号
/// </summary>
public int Group_Id { get; set; }
/// <summary>
/// 校区ID
/// </summary>
public int School_Id { get; set; }
/// <summary>
/// 创建人
/// </summary>
public int CreateBy { get; set; }
/// <summary>
/// 创建日期
/// </summary>
public DateTime CreateTime { get; set; }
/// <summary>
/// 修改人
/// </summary>
public int UpdateBy { get; set; }
/// <summary>
/// 更新时间
/// </summary>
public DateTime UpdateTime { get; set; }
/// <summary>
/// 最近发布日期
/// </summary>
public DateTime? PublishDate { get; set; }
/// <summary>
/// 是否显示封面 1显示 0不显示(图文)
/// </summary>
public int IsShowCover { get; set; }
/// <summary>
/// 是否打开评论,0不打开,1打开(图文 + 图片)
/// </summary>
public int IsOpenComment { get; set; }
/// <summary>
/// 是否粉丝才可评论,0所有人可评论,1粉丝才可评论(图文 + 图片)
/// </summary>
public int IsFansCanComment { get; set; }
/// <summary>
/// 原文地址(图文)
/// </summary>
public string SourceUrl { get; set; }
}
}
using Edu.Common.Enum;
using Edu.Common.Enum.Course;
using Edu.Common.Enum.WeChat;
using System;
using VT.FW.DB;
namespace Edu.Model.Entity.WeChat
{
/// <summary>
/// 投稿日志实体类
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_Contribute_InfoLog
{
/// <summary>
/// Id
/// </summary>
public int Id { get; set; }
/// <summary>
/// 投稿ID
/// </summary>
public int ContributeId { get; set; }
/// <summary>
/// 描述
/// </summary>
public string Description { get; set; }
/// <summary>
/// 投稿记录
/// </summary>
public string Record { get; set; }
/// <summary>
/// 删除状态
/// </summary>
public int Status { get; set; }
/// <summary>
/// 集团编号
/// </summary>
public int Group_Id { get; set; }
/// <summary>
/// 创建人
/// </summary>
public int CreateBy { get; set; }
/// <summary>
/// 创建日期
/// </summary>
public DateTime CreateTime { get; set; }
}
}
using Edu.Common.Enum;
using Edu.Common.Enum.Course;
using Edu.Common.Enum.WeChat;
using System;
using VT.FW.DB;
namespace Edu.Model.Entity.WeChat
{
/// <summary>
/// 投稿素材实体类
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_Contribute_Medium
{
/// <summary>
/// Id
/// </summary>
public int Id { get; set; }
/// <summary>
/// 素材分组ID
/// </summary>
public int MediaGroupId { get; set; }
/// <summary>
/// 素材媒体标识
/// </summary>
public string Media_Id { get; set; }
/// <summary>
/// 图片微信地址url
/// </summary>
public string ImageUrl { get; set; }
/// <summary>
/// 标题
/// </summary>
public string MediaName { get; set; }
/// <summary>
/// 视频描述
/// </summary>
public string Description { get; set; }
/// <summary>
/// 公众号素材上传的时间
/// </summary>
public DateTime? UploadTime { get; set; }
/// <summary>
/// 类型 1图片、2音频、3视频
/// </summary>
public ContributeMediumTypeEnum Type { get; set; }
/// <summary>
/// 删除状态
/// </summary>
public int Status { get; set; }
/// <summary>
/// 集团编号
/// </summary>
public int Group_Id { get; set; }
/// <summary>
/// 创建人
/// </summary>
public int CreateBy { get; set; }
/// <summary>
/// 创建日期
/// </summary>
public DateTime CreateTime { get; set; }
/// <summary>
/// 修改人
/// </summary>
public int UpdateBy { get; set; }
/// <summary>
/// 更新时间
/// </summary>
public DateTime UpdateTime { get; set; }
/// <summary>
/// 视频原封面图
/// </summary>
public string VideoImage { get; set; }
/// <summary>
/// 视频封面图(微信地址)
/// </summary>
public string VideoWXImage { get; set; }
/// <summary>
/// 素材原路径
/// </summary>
public string Path { get; set; }
/// <summary>
/// 视频微信路径
/// </summary>
public string VideoWXPath { get; set; }
/// <summary>
/// 平台类型
/// </summary>
public ContributeConfigTypeEnum PlatformType { get; set; }
/// <summary>
/// 视频/音频时长
/// </summary>
public string Minutes { get; set; }
}
}
using Edu.Common.Enum;
using Edu.Common.Enum.Course;
using System;
using VT.FW.DB;
namespace Edu.Model.Entity.WeChat
{
/// <summary>
/// 投稿素材分组实体类
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_Contribute_MediumGroup
{
/// <summary>
/// Id
/// </summary>
public int Id { get; set; }
/// <summary>
/// 分组名称
/// </summary>
public string Name { get; set; }
/// <summary>
/// 排序
/// </summary>
public int Sort { get; set; }
/// <summary>
/// Status
/// </summary>
public int Status { get; set; }
/// <summary>
/// 集团编号
/// </summary>
public int Group_Id { get; set; }
/// <summary>
/// 创建人
/// </summary>
public int CreateBy { get; set; }
/// <summary>
/// 创建日期
/// </summary>
public DateTime CreateTime { get; set; }
/// <summary>
/// 修改人
/// </summary>
public int UpdateBy { get; set; }
/// <summary>
/// 更新时间
/// </summary>
public DateTime UpdateTime { get; set; }
}
}
using Edu.Common.Enum;
using Edu.Common.Enum.Course;
using Edu.Common.Enum.WeChat;
using System;
using VT.FW.DB;
namespace Edu.Model.Entity.WeChat
{
/// <summary>
/// 投稿发布记录实体类
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_Contribute_PublishLog
{
/// <summary>
/// Id
/// </summary>
public int Id { get; set; }
/// <summary>
/// 投稿ID
/// </summary>
public int ContributeId { get; set; }
/// <summary>
/// 平台ID 枚举
/// </summary>
public ContributeConfigTypeEnum PlatfromId { get; set; }
/// <summary>
/// 标识ID(各平台的唯一标识)
/// </summary>
public string Media_Id { get; set; }
/// <summary>
/// 备注
/// </summary>
public string Content { get; set; }
/// <summary>
/// 删除状态
/// </summary>
public int Status { get; set; }
/// <summary>
/// 集团编号
/// </summary>
public int Group_Id { get; set; }
/// <summary>
/// 创建人
/// </summary>
public int CreateBy { get; set; }
/// <summary>
/// 创建日期
/// </summary>
public DateTime CreateTime { get; set; }
/// <summary>
/// 修改人
/// </summary>
public int UpdateBy { get; set; }
/// <summary>
/// 更新时间
/// </summary>
public DateTime UpdateTime { get; set; }
/// <summary>
/// 公众号消息发送任务的ID
/// </summary>
public string Msg_Id { get; set; }
/// <summary>
/// 公众号消息的数据ID,该字段只有在群发图文消息时,才会出现
/// </summary>
public string Msg_Data_Id { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Text;
using Edu.Model.Entity.WeChat;
namespace Edu.Model.ViewModel.WeChat
{
/// <summary>
/// 投稿小程序信息扩展类
/// </summary>
public class RB_Contribute_Applet_ViewModel : RB_Contribute_Applet
{
}
}
using System;
using System.Collections.Generic;
using System.Text;
using Edu.Model.Entity.WeChat;
namespace Edu.Model.ViewModel.WeChat
{
/// <summary>
/// 投稿配置扩展类
/// </summary>
public class RB_Contribute_Config_ViewModel : RB_Contribute_Config
{
}
}
using System;
using System.Collections.Generic;
using System.Text;
using Edu.Model.Entity.WeChat;
namespace Edu.Model.ViewModel.WeChat
{
/// <summary>
/// 投稿图文内容扩展类
/// </summary>
public class RB_Contribute_Info_ViewModel : RB_Contribute_Info
{
/// <summary>
/// 封面图路径
/// </summary>
public string CoverImagePath { get; set; }
/// <summary>
/// 视频音频路径
/// </summary>
public string VideoMediumPath { get; set; }
/// <summary>
/// 视频封面图
/// </summary>
public string VideoCoverImage { get; set; }
/// <summary>
/// 图片列表
/// </summary>
public List<RB_Contribute_Medium_ViewModel> ImageList { get; set; }
/// <summary>
/// 投稿Ids
/// </summary>
public string Q_ContributeIds { get; set; }
/// <summary>
/// 发布状态 1 预览 2群发
/// </summary>
public int IsPreview { get; set; }
/// <summary>
/// 标签ID
/// </summary>
public string TagId { get; set; }
/// <summary>
/// 预览/发布的平台
/// </summary>
public int PlatformId { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Text;
using Edu.Model.Entity.WeChat;
namespace Edu.Model.ViewModel.WeChat
{
/// <summary>
/// 投稿素材分组扩展类
/// </summary>
public class RB_Contribute_MediumGroup_ViewModel : RB_Contribute_MediumGroup
{
/// <summary>
/// ids
/// </summary>
public string MediumGroupIds { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Text;
using Edu.Model.Entity.WeChat;
namespace Edu.Model.ViewModel.WeChat
{
/// <summary>
/// 投稿素材扩展类
/// </summary>
public class RB_Contribute_Medium_ViewModel : RB_Contribute_Medium
{
/// <summary>
/// ids
/// </summary>
public string MediumIds { get; set; }
/// <summary>
/// 分组名称
/// </summary>
public string MediaGroupName { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Text;
using Edu.Model.Entity.WeChat;
namespace Edu.Model.ViewModel.WeChat
{
/// <summary>
/// 投稿发布记录扩展类
/// </summary>
public class RB_Contribute_PublishLog_ViewModel : RB_Contribute_PublishLog
{
}
}
......@@ -13,6 +13,7 @@ using Edu.Model.ViewModel.Exam;
using Edu.Model.ViewModel.Grade;
using Edu.Model.ViewModel.Sell;
using Edu.Model.ViewModel.User;
using Edu.Model.ViewModel.WeChat;
using Edu.Repository.BackClass;
using Edu.Repository.Contract;
using Edu.Repository.Course;
......@@ -21,6 +22,7 @@ using Edu.Repository.Exam;
using Edu.Repository.Grade;
using Edu.Repository.Sell;
using Edu.Repository.User;
using Edu.Repository.WeChat;
using System;
using System.Collections.Generic;
using System.Linq;
......@@ -130,6 +132,16 @@ namespace Edu.Module.EduTask
/// </summary>
private readonly RB_BackClass_ProtocolRepository backClass_ProtocolRepository = new RB_BackClass_ProtocolRepository();
/// <summary>
/// 投稿信息
/// </summary>
private readonly RB_Contribute_InfoRepository contribute_InfoRepository = new RB_Contribute_InfoRepository();
/// <summary>
/// 素材
/// </summary>
private readonly RB_Contribute_MediumRepository contribute_MediumRepository = new RB_Contribute_MediumRepository();
/// <summary>
/// 获取教务单据分页列表
/// </summary>
......@@ -192,6 +204,8 @@ namespace Edu.Module.EduTask
QConditionIds = Ids,
AuditStatus = EduTaskRrocessStatus.AuditIng
});
//投稿详情
List<RB_Contribute_Info_ViewModel> contributeList = new List<RB_Contribute_Info_ViewModel>();
foreach (var subItem in groupList)
{
#region 退课申请
......@@ -468,6 +482,63 @@ namespace Edu.Module.EduTask
});
}
#endregion
#region 投稿审核
if (subItem.ReceiptType == Common.Enum.Finance.ReceiptTypeEnum.Contribute)
{
string transClassIds = string.Join(",", list.Where(qitem => qitem.ReceiptType == subItem.ReceiptType).Select(qitem => qitem.RelationId));
contributeList = contribute_InfoRepository.GetList(new RB_Contribute_Info_ViewModel()
{
Q_ContributeIds = transClassIds
});
if (contributeList.Any())
{
List<int> MeadiumIds = new List<int>();
if (contributeList.Where(x => x.CoverImageId > 0).Any())
{
MeadiumIds.AddRange(contributeList.Where(x => x.CoverImageId > 0).Select(x => x.CoverImageId).Distinct());
}
if (contributeList.Where(x => x.VideoMediumId > 0).Any())
{
MeadiumIds.AddRange(contributeList.Where(x => x.VideoMediumId > 0).Select(x => x.VideoMediumId).Distinct());
}
if (contributeList.Where(x => !string.IsNullOrEmpty(x.ImageMediumIds)).Any())
{
foreach (var item in contributeList.Where(x => !string.IsNullOrEmpty(x.ImageMediumIds)))
{
MeadiumIds.AddRange(JsonHelper.DeserializeObject<List<int>>("[" + item.ImageMediumIds + "]"));
}
}
List<RB_Contribute_Medium_ViewModel> mediumList = new List<RB_Contribute_Medium_ViewModel>();
if (MeadiumIds.Any())
{
mediumList = contribute_MediumRepository.GetList(new RB_Contribute_Medium_ViewModel() { Group_Id = query.Group_Id, MediumIds = string.Join(",", MeadiumIds.Distinct()) });
}
foreach (var item in contributeList)
{
if (item.CoverImageId > 0)
{
item.CoverImagePath = mediumList.Where(x => x.Id == item.CoverImageId).FirstOrDefault()?.ImageUrl ?? "";
}
if (item.VideoMediumId > 0)
{
var mediumModel = mediumList.Where(x => x.Id == item.VideoMediumId).FirstOrDefault();
item.VideoMediumPath = mediumModel?.Path ?? "";
if (item.Type == Common.Enum.WeChat.ContributeInfoTypeEnum.Video)
{
item.VideoCoverImage = mediumModel?.VideoWXImage ?? "";
}
}
item.ImageList = new List<RB_Contribute_Medium_ViewModel>();
if (!string.IsNullOrEmpty(item.ImageMediumIds))
{
item.ImageList = mediumList.Where(x => ("," + item.ImageMediumIds + ",").Contains("," + x.Id + ",")).ToList();
}
}
}
}
#endregion
}
foreach (var item in list)
......@@ -593,6 +664,11 @@ namespace Edu.Module.EduTask
{
DataObj = ExaminationPublishList?.Where(qitem => qitem.Id == item.RelationId)?.FirstOrDefault();
}
//投稿审批
if (item.ReceiptType == Common.Enum.Finance.ReceiptTypeEnum.Contribute)
{
DataObj = contributeList?.Where(x => x.Id == item.RelationId)?.FirstOrDefault();
}
object AuditObj = new object();
if (item.VerifyStatus == EduTaskRrocessStatus.NotAudit || item.VerifyStatus == EduTaskRrocessStatus.AuditIng)
{
......@@ -707,6 +783,13 @@ namespace Edu.Module.EduTask
};
flag = examination_PublishRepository.Update(filedsZuJuan, new WhereHelper(nameof(RB_Examination_Publish_ViewModel.Id), model.RelationId));
}
if (model != null && model.ReceiptType == Common.Enum.Finance.ReceiptTypeEnum.Contribute) {
Dictionary<string, object> fileds1 = new Dictionary<string, object>()
{
{nameof(RB_Contribute_Info_ViewModel.AuditState),(int)Common.Enum.WeChat.ContributeInfoStateEnum.Reject}
};
flag = contribute_InfoRepository.Update(fileds1, new WhereHelper(nameof(RB_Contribute_Info_ViewModel.Id), model.RelationId));
}
}
return flag;
}
......@@ -1452,7 +1535,25 @@ namespace Edu.Module.EduTask
}
}
if (receiptModel.ReceiptType == Common.Enum.Finance.ReceiptTypeEnum.Contribute)
{
if (auditModel.AuditStatus == 2)
{
Dictionary<string, object> fileds = new Dictionary<string, object>()
{
{nameof(RB_Contribute_Info_ViewModel.AuditState),(int)Common.Enum.WeChat.ContributeInfoStateEnum.Audited}
};
flag = contribute_InfoRepository.Update(fileds, new WhereHelper(nameof(RB_Contribute_Info_ViewModel.Id), receiptModel.RelationId));
}
if (auditModel.AuditStatus == 3)
{
Dictionary<string, object> fileds = new Dictionary<string, object>()
{
{nameof(RB_Contribute_Info_ViewModel.AuditState),(int)Common.Enum.WeChat.ContributeInfoStateEnum.Reject}
};
flag = contribute_InfoRepository.Update(fileds, new WhereHelper(nameof(RB_Contribute_Info_ViewModel.Id), receiptModel.RelationId));
}
}
return flag;
}
......
This diff is collapsed.
......@@ -106,6 +106,10 @@ WHERE 1=1
{
builder.AppendFormat(@" AND A.{0}={1} ", nameof(RB_Education_Receipt_ViewModel.ReceiptType), query.ReceiptType);
}
if (query.RelationId > 0)
{
builder.AppendFormat(@" AND A.{0}={1} ", nameof(RB_Education_Receipt_ViewModel.RelationId), query.RelationId);
}
if (query.Conditon != null && query.Conditon > 0)
{
switch (query.Conditon)
......@@ -386,6 +390,15 @@ WHERE 1=1
return false;
}
}
else if (model.ReceiptType == Common.Enum.Finance.ReceiptTypeEnum.Contribute)
{
flowModel = flowRepository.GetFlowRepository(Common.Config.ContributeFlowId);
if (flowModel == null)
{
message = "未配置投稿审批流程!";
return false;
}
}
if (flowModel?.FlowNodeList?.Count == 0)
{
message = "未配置审核流程!";
......
using Edu.Common.Enum;
using Edu.Model.Entity.WeChat;
using Edu.Model.ViewModel.WeChat;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using VT.FW.DB.Dapper;
namespace Edu.Repository.WeChat
{
/// <summary>
/// 投稿小程序信息仓储层
/// </summary>
public class RB_Contribute_AppletRepository : BaseRepository<RB_Contribute_Applet>
{
/// <summary>
/// 获取分页列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="count"></param>
/// <param name="demodel"></param>
/// <returns></returns>
public List<RB_Contribute_Applet_ViewModel> GetPageList(int pageIndex,int pageSize,out long count, RB_Contribute_Applet_ViewModel demodel)
{
DynamicParameters parameters = new DynamicParameters();
string where = $@" 1=1 and r.{nameof(RB_Contribute_Applet_ViewModel.Status)} =0";
if (demodel.Group_Id > 0)
{
where += $@" and r.{nameof(RB_Contribute_Applet_ViewModel.Group_Id)} ={demodel.Group_Id}";
}
if (!string.IsNullOrEmpty(demodel.Name))
{
where += $@" and r.{nameof(RB_Contribute_Applet_ViewModel.Name)} like @Name";
parameters.Add("Name", "%" + demodel.Name + "%");
}
if (!string.IsNullOrEmpty(demodel.AppID))
{
where += $@" and r.{nameof(RB_Contribute_Applet_ViewModel.AppID)} like @AppID";
parameters.Add("AppID", "%" + demodel.AppID + "%");
}
string sql = $@"
SELECT * From RB_Contribute_Applet r
WHERE {where}
ORDER BY r.Id DESC ";
return GetPage<RB_Contribute_Applet_ViewModel>(pageIndex, pageSize, out count, sql, parameters).ToList();
}
/// <summary>
/// 获取列表
/// </summary>
/// <param name="demodel"></param>
/// <returns></returns>
public List<RB_Contribute_Applet_ViewModel> GetList(RB_Contribute_Applet_ViewModel demodel)
{
DynamicParameters parameters = new DynamicParameters();
string where = $@" 1=1 and r.{nameof(RB_Contribute_Applet_ViewModel.Status)} =0";
if (demodel.Group_Id > 0)
{
where += $@" and r.{nameof(RB_Contribute_Applet_ViewModel.Group_Id)} ={demodel.Group_Id}";
}
if (!string.IsNullOrEmpty(demodel.Name))
{
where += $@" and r.{nameof(RB_Contribute_Applet_ViewModel.Name)} like @Name";
parameters.Add("Name", "%" + demodel.Name + "%");
}
if (!string.IsNullOrEmpty(demodel.AppID))
{
where += $@" and r.{nameof(RB_Contribute_Applet_ViewModel.AppID)} like @AppID";
parameters.Add("AppID", "%" + demodel.AppID + "%");
}
string sql = $@"
SELECT * From RB_Contribute_Applet r
WHERE {where}
ORDER BY r.Id DESC ";
return Get<RB_Contribute_Applet_ViewModel>(sql, parameters).ToList();
}
}
}
using Edu.Common.Enum;
using Edu.Model.Entity.WeChat;
using Edu.Model.ViewModel.WeChat;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using VT.FW.DB.Dapper;
namespace Edu.Repository.WeChat
{
/// <summary>
/// 投稿配置仓储层
/// </summary>
public class RB_Contribute_ConfigRepository : BaseRepository<RB_Contribute_Config>
{
/// <summary>
/// 获取列表
/// </summary>
/// <param name="demodel"></param>
/// <returns></returns>
public List<RB_Contribute_Config_ViewModel> GetList(RB_Contribute_Config_ViewModel demodel)
{
string where = $@" 1=1 ";
if (demodel.Group_Id > 0)
{
where += $@" and r.{nameof(RB_Contribute_Config_ViewModel.Group_Id)} ={demodel.Group_Id}";
}
if (demodel.Type > 0)
{
where += $@" and r.{nameof(RB_Contribute_Config_ViewModel.Type)} ={(int)demodel.Type}";
}
if (demodel.Enable > 0)
{
where += $@" and r.{nameof(RB_Contribute_Config_ViewModel.Enable)} ={(int)demodel.Enable}";
}
string sql = $@"
SELECT * From RB_Contribute_Config r
WHERE {where}
ORDER BY r.Id DESC ";
return Get<RB_Contribute_Config_ViewModel>(sql).ToList();
}
}
}
using Edu.Common.Enum;
using Edu.Model.Entity.WeChat;
using Edu.Model.ViewModel.WeChat;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using VT.FW.DB.Dapper;
namespace Edu.Repository.WeChat
{
/// <summary>
/// 投稿日志仓储层
/// </summary>
public class RB_Contribute_InfoLogRepository : BaseRepository<RB_Contribute_InfoLog>
{
}
}
using Edu.Common.Enum;
using Edu.Model.Entity.WeChat;
using Edu.Model.ViewModel.WeChat;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using VT.FW.DB.Dapper;
namespace Edu.Repository.WeChat
{
/// <summary>
/// 投稿图文内容仓储层
/// </summary>
public class RB_Contribute_InfoRepository : BaseRepository<RB_Contribute_Info>
{
/// <summary>
/// 获取分页列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="count"></param>
/// <param name="demodel"></param>
/// <returns></returns>
public List<RB_Contribute_Info_ViewModel> GetPageList(int pageIndex,int pageSize,out long count, RB_Contribute_Info_ViewModel demodel)
{
DynamicParameters parameters = new DynamicParameters();
string where = $@" 1=1 and r.{nameof(RB_Contribute_Info_ViewModel.Status)} =0";
if (demodel.Group_Id > 0)
{
where += $@" and r.{nameof(RB_Contribute_Info_ViewModel.Group_Id)} ={demodel.Group_Id}";
}
if (demodel.MediaState > 0)
{
where += $@" and r.{nameof(RB_Contribute_Info_ViewModel.MediaState)} ={demodel.MediaState}";
}
if (demodel.AuditState >= 0)
{
where += $@" and r.{nameof(RB_Contribute_Info_ViewModel.AuditState)} ={(int)demodel.AuditState}";
}
if (demodel.Type > 0)
{
where += $@" and r.{nameof(RB_Contribute_Info_ViewModel.Type)} ={(int)demodel.Type}";
}
if (!string.IsNullOrEmpty(demodel.Title))
{
where += $@" and r.{nameof(RB_Contribute_Info_ViewModel.Title)} like @Content";
parameters.Add("Content", "%" + demodel.Title + "%");
}
string sql = $@"
SELECT * From RB_Contribute_Info r
WHERE {where}
ORDER BY r.Id DESC ";
return GetPage<RB_Contribute_Info_ViewModel>(pageIndex, pageSize, out count, sql, parameters).ToList();
}
/// <summary>
/// 获取列表
/// </summary>
/// <param name="demodel"></param>
/// <returns></returns>
public List<RB_Contribute_Info_ViewModel> GetList(RB_Contribute_Info_ViewModel demodel)
{
DynamicParameters parameters = new DynamicParameters();
string where = $@" 1=1 and r.{nameof(RB_Contribute_Info_ViewModel.Status)} =0";
if (demodel.Group_Id > 0)
{
where += $@" and r.{nameof(RB_Contribute_Info_ViewModel.Group_Id)} ={demodel.Group_Id}";
}
if (demodel.MediaState > 0)
{
where += $@" and r.{nameof(RB_Contribute_Info_ViewModel.MediaState)} ={demodel.MediaState}";
}
if (demodel.AuditState >= 0)
{
where += $@" and r.{nameof(RB_Contribute_Info_ViewModel.AuditState)} ={(int)demodel.AuditState}";
}
if (demodel.Type > 0)
{
where += $@" and r.{nameof(RB_Contribute_Info_ViewModel.Type)} ={(int)demodel.Type}";
}
if (!string.IsNullOrEmpty(demodel.Q_ContributeIds))
{
where += $@" and r.{nameof(RB_Contribute_Info_ViewModel.Id)} in({demodel.Q_ContributeIds})";
}
if (!string.IsNullOrEmpty(demodel.Title))
{
where += $@" and r.{nameof(RB_Contribute_Info_ViewModel.Title)} like @Content";
parameters.Add("Content", "%" + demodel.Title + "%");
}
string sql = $@"
SELECT * From RB_Contribute_Info r
WHERE {where}
ORDER BY r.Id DESC ";
return Get<RB_Contribute_Info_ViewModel>(sql, parameters).ToList();
}
}
}
using Edu.Common.Enum;
using Edu.Model.Entity.WeChat;
using Edu.Model.ViewModel.WeChat;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using VT.FW.DB.Dapper;
namespace Edu.Repository.WeChat
{
/// <summary>
/// 投稿素材分组仓储层
/// </summary>
public class RB_Contribute_MediumGroupRepository : BaseRepository<RB_Contribute_MediumGroup>
{
/// <summary>
/// 获取分页列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="count"></param>
/// <param name="demodel"></param>
/// <returns></returns>
public List<RB_Contribute_MediumGroup_ViewModel> GetPageList(int pageIndex,int pageSize,out long count, RB_Contribute_MediumGroup_ViewModel demodel)
{
DynamicParameters parameters = new DynamicParameters();
string where = $@" 1=1 and r.{nameof(RB_Contribute_MediumGroup_ViewModel.Status)} =0";
if (demodel.Group_Id > 0)
{
where += $@" and r.{nameof(RB_Contribute_MediumGroup_ViewModel.Group_Id)} ={demodel.Group_Id}";
}
if (!string.IsNullOrEmpty(demodel.Name))
{
where += $@" and r.{nameof(RB_Contribute_MediumGroup_ViewModel.Name)} like @Name";
parameters.Add("Name", "%" + demodel.Name + "%");
}
string sql = $@"
SELECT * From RB_Contribute_MediumGroup r
WHERE {where}
ORDER BY r.Id DESC ";
return GetPage<RB_Contribute_MediumGroup_ViewModel>(pageIndex, pageSize, out count, sql, parameters).ToList();
}
/// <summary>
/// 获取列表
/// </summary>
/// <param name="demodel"></param>
/// <returns></returns>
public List<RB_Contribute_MediumGroup_ViewModel> GetList(RB_Contribute_MediumGroup_ViewModel demodel)
{
DynamicParameters parameters = new DynamicParameters();
string where = $@" 1=1 and r.{nameof(RB_Contribute_MediumGroup_ViewModel.Status)} =0";
if (demodel.Group_Id > 0)
{
where += $@" and r.{nameof(RB_Contribute_MediumGroup_ViewModel.Group_Id)} ={demodel.Group_Id}";
}
if (!string.IsNullOrEmpty(demodel.MediumGroupIds))
{
where += $@" and r.{nameof(RB_Contribute_MediumGroup_ViewModel.Id)} in({demodel.MediumGroupIds})";
}
if (!string.IsNullOrEmpty(demodel.Name))
{
where += $@" and r.{nameof(RB_Contribute_MediumGroup_ViewModel.Name)} like @Name";
parameters.Add("Name", "%" + demodel.Name + "%");
}
string sql = $@"
SELECT * From RB_Contribute_MediumGroup r
WHERE {where}
ORDER BY r.Id DESC ";
return Get<RB_Contribute_MediumGroup_ViewModel>(sql, parameters).ToList();
}
}
}
using Edu.Common.Enum;
using Edu.Model.Entity.WeChat;
using Edu.Model.ViewModel.WeChat;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using VT.FW.DB.Dapper;
namespace Edu.Repository.WeChat
{
/// <summary>
/// 投稿素材仓储层
/// </summary>
public class RB_Contribute_MediumRepository : BaseRepository<RB_Contribute_Medium>
{
/// <summary>
/// 获取分页列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="count"></param>
/// <param name="demodel"></param>
/// <returns></returns>
public List<RB_Contribute_Medium_ViewModel> GetPageList(int pageIndex,int pageSize,out long count, RB_Contribute_Medium_ViewModel demodel)
{
DynamicParameters parameters = new DynamicParameters();
string where = $@" 1=1 and r.{nameof(RB_Contribute_Medium_ViewModel.Status)} =0";
if (demodel.Group_Id > 0)
{
where += $@" and r.{nameof(RB_Contribute_Medium_ViewModel.Group_Id)} ={demodel.Group_Id}";
}
if (demodel.MediaGroupId > 0)
{
where += $@" and r.{nameof(RB_Contribute_Medium_ViewModel.MediaGroupId)} ={demodel.MediaGroupId}";
}
if (demodel.Type > 0)
{
where += $@" and r.{nameof(RB_Contribute_Medium_ViewModel.Type)} ={(int)demodel.Type}";
}
if (!string.IsNullOrEmpty(demodel.MediaName))
{
where += $@" and r.{nameof(RB_Contribute_Medium_ViewModel.MediaName)} like @Content";
parameters.Add("Content", "%" + demodel.MediaName + "%");
}
string sql = $@"
SELECT * From RB_Contribute_Medium r
WHERE {where}
ORDER BY r.Id DESC ";
return GetPage<RB_Contribute_Medium_ViewModel>(pageIndex, pageSize, out count, sql, parameters).ToList();
}
/// <summary>
/// 获取列表
/// </summary>
/// <param name="demodel"></param>
/// <returns></returns>
public List<RB_Contribute_Medium_ViewModel> GetList(RB_Contribute_Medium_ViewModel demodel)
{
DynamicParameters parameters = new DynamicParameters();
string where = $@" 1=1 and r.{nameof(RB_Contribute_Medium_ViewModel.Status)} =0";
if (demodel.Group_Id > 0)
{
where += $@" and r.{nameof(RB_Contribute_Medium_ViewModel.Group_Id)} ={demodel.Group_Id}";
}
if (demodel.MediaGroupId > 0)
{
where += $@" and r.{nameof(RB_Contribute_Medium_ViewModel.MediaGroupId)} ={demodel.MediaGroupId}";
}
if (!string.IsNullOrEmpty(demodel.MediumIds))
{
where += $@" and r.{nameof(RB_Contribute_Medium_ViewModel.Id)} in({demodel.MediumIds})";
}
if (!string.IsNullOrEmpty(demodel.MediaName))
{
where += $@" and r.{nameof(RB_Contribute_Medium_ViewModel.MediaName)} like @Content";
parameters.Add("Content", "%" + demodel.MediaName + "%");
}
string sql = $@"
SELECT * From RB_Contribute_Medium r
WHERE {where}
ORDER BY r.Id DESC ";
return Get<RB_Contribute_Medium_ViewModel>(sql, parameters).ToList();
}
}
}
using Edu.Common.Enum;
using Edu.Model.Entity.WeChat;
using Edu.Model.ViewModel.WeChat;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using VT.FW.DB.Dapper;
namespace Edu.Repository.WeChat
{
/// <summary>
/// 投稿发布记录仓储层
/// </summary>
public class RB_Contribute_PublishLogRepository : BaseRepository<RB_Contribute_PublishLog>
{
/// <summary>
/// 获取分页列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="count"></param>
/// <param name="demodel"></param>
/// <returns></returns>
public List<RB_Contribute_PublishLog_ViewModel> GetPageList(int pageIndex,int pageSize,out long count, RB_Contribute_PublishLog_ViewModel demodel)
{
DynamicParameters parameters = new DynamicParameters();
string where = $@" 1=1 and r.{nameof(RB_Contribute_PublishLog_ViewModel.Status)} =0";
if (demodel.Group_Id > 0)
{
where += $@" and r.{nameof(RB_Contribute_PublishLog_ViewModel.Group_Id)} ={demodel.Group_Id}";
}
if (demodel.ContributeId > 0)
{
where += $@" and r.{nameof(RB_Contribute_PublishLog_ViewModel.ContributeId)} ={demodel.ContributeId}";
}
if (demodel.PlatfromId > 0)
{
where += $@" and r.{nameof(RB_Contribute_PublishLog_ViewModel.PlatfromId)} ={(int)demodel.PlatfromId}";
}
string sql = $@"
SELECT * From RB_Contribute_PublishLog r
WHERE {where}
ORDER BY r.Id DESC ";
return GetPage<RB_Contribute_PublishLog_ViewModel>(pageIndex, pageSize, out count, sql, parameters).ToList();
}
/// <summary>
/// 获取列表
/// </summary>
/// <param name="demodel"></param>
/// <returns></returns>
public List<RB_Contribute_PublishLog_ViewModel> GetList(RB_Contribute_PublishLog_ViewModel demodel)
{
DynamicParameters parameters = new DynamicParameters();
string where = $@" 1=1 and r.{nameof(RB_Contribute_PublishLog_ViewModel.Status)} =0";
if (demodel.Group_Id > 0)
{
where += $@" and r.{nameof(RB_Contribute_PublishLog_ViewModel.Group_Id)} ={demodel.Group_Id}";
}
if (demodel.ContributeId > 0)
{
where += $@" and r.{nameof(RB_Contribute_PublishLog_ViewModel.ContributeId)} ={demodel.ContributeId}";
}
if (demodel.PlatfromId > 0)
{
where += $@" and r.{nameof(RB_Contribute_PublishLog_ViewModel.PlatfromId)} ={(int)demodel.PlatfromId}";
}
string sql = $@"
SELECT * From RB_Contribute_PublishLog r
WHERE {where}
ORDER BY r.Id DESC ";
return Get<RB_Contribute_PublishLog_ViewModel>(sql, parameters).ToList();
}
}
}
......@@ -15,6 +15,7 @@
<PackageReference Include="Aliyun.Net.SDK.Core" Version="1.0.3" />
<PackageReference Include="Aliyun.OSS.SDK.NetCore" Version="2.10.0" />
<PackageReference Include="Newtonsoft.Json" Version="12.0.3" />
<PackageReference Include="Senparc.Weixin.MP" Version="16.12.501.1" />
<PackageReference Include="Senparc.Weixin.Work" Version="3.9.600" />
</ItemGroup>
......
This diff is collapsed.
......@@ -45,6 +45,7 @@ namespace Edu.WebApi.Controllers.EduTask
Conditon = (EduReceiptConditionEnum)base.ParmJObj.GetInt("Conditon"),
ReceiptType = base.ParmJObj.GetInt("ReceiptType"),
Title = base.ParmJObj.GetStringValue("Title"),
RelationId = base.ParmJObj.GetInt("RelationId")
};
if (!string.IsNullOrEmpty(base.ParmJObj.GetStringValue("VerifyStatus")))
{
......
This diff is collapsed.
......@@ -5,6 +5,7 @@ using System.Linq;
using System.Threading.Tasks;
using Edu.Common.API;
using Edu.Common.Plugin;
using Edu.Module.QYWeChat;
using Edu.WebApi.Controllers.Course;
using Edu.WebApi.Filter;
using Microsoft.AspNetCore.Authorization;
......@@ -21,6 +22,10 @@ namespace Edu.WebApi.Controllers.Upload
[EnableCors("AllowCors")]
public class UploadController : ControllerBase
{
/// <summary>
/// 投稿
/// </summary>
readonly QYContributeModule contributeModule = new QYContributeModule();
/// <summary>
/// 上传Excel文件
......@@ -176,5 +181,148 @@ namespace Edu.WebApi.Controllers.Upload
return result;
}
/// <summary>
/// 上传临时文件夹
/// </summary>
/// <returns></returns>
[HttpPost]
[AllowAnonymous]
public ApiResult UploadTemporaryFile()
{
try
{
var files = Request.Form.Files;
if (files.Count == 0)
{
return new ApiResult { Code = (int)ResultCode.Fail, Message = "未选择文件", Data = "" };
}
string filename = files[0].FileName;
string fileExtention = System.IO.Path.GetExtension(files[0].FileName);
//验证文件格式
List<string> ExtList = new List<string>() {
".bmp",
".png",
".jpeg",
".jpg",
".gif"
};
if (!ExtList.Contains(fileExtention))
{
return new ApiResult { Code = (int)ResultCode.Fail, Message = "文件格式有误", Data = "" };
}
if (files[0].Length <= 0)
{
return new ApiResult { Code = (int)ResultCode.Fail, Message = "文件大小有误", Data = "" };
}
decimal fileMNum = files[0].Length / (1024 * 1024);
if (fileMNum > 10) { return ApiResult.Failed("文件不能超过10M"); }
string path = Guid.NewGuid().ToString() + fileExtention;
string basepath = AppContext.BaseDirectory;
string dateStr = DateTime.Now.ToString("yyyyMMdd");
string tempPath = basepath + "upfile\\temporary\\" + dateStr + "\\";
string path_server = tempPath + path;
string httpPath = "/upfile/temporary/" + dateStr + "/" + path;
if (!Directory.Exists(tempPath))
{
Directory.CreateDirectory(tempPath);
}
using (FileStream fstream = new FileStream(path_server, FileMode.OpenOrCreate, FileAccess.ReadWrite))
{
files[0].CopyTo(fstream);
}
return ApiResult.Success("", new { Name = filename, Path = path_server, HttpPath = httpPath });
}
catch (Exception ex)
{
LogHelper.Write(ex, "UploadTemporaryFile");
return ApiResult.Failed();
}
}
/// <summary>
/// 上传图文图片至公众号
/// </summary>
/// <returns></returns>
[HttpPost]
[AllowAnonymous]
public ApiResult UploadImageTextFileToGZH()
{
try
{
#region 如果参数是json实体对象,获取序列化后的数据
//Request.EnableBuffering();
//string responseData = "";
//using (var reader = new StreamReader(Request.Body, encoding: System.Text.Encoding.UTF8))
//{
// var body = reader.ReadToEndAsync();
// responseData = body.Result;
// Request.Body.Position = 0;
//}
//if (!string.IsNullOrWhiteSpace(responseData.Trim()))
//{
// var parm = JObject.Parse(responseData);
//}
#endregion
var files = Request.Form.Files;
if (files.Count == 0)
{
return new ApiResult { Code = (int)ResultCode.Fail, Message = "未选择文件", Data = "" };
}
string filename = files[0].FileName;
string fileExtention = System.IO.Path.GetExtension(files[0].FileName);
//验证文件格式
List<string> ExtList = new List<string>() {
".png",
".jpg"
};
if (!ExtList.Contains(fileExtention))
{
return new ApiResult { Code = (int)ResultCode.Fail, Message = "文件格式有误", Data = "" };
}
if (files[0].Length <= 0)
{
return new ApiResult { Code = (int)ResultCode.Fail, Message = "文件大小有误", Data = "" };
}
decimal fileMNum = files[0].Length / (1024 * 1024);
if (fileMNum > 1) { return ApiResult.Failed("文件不能超过1M"); }
string path = Guid.NewGuid().ToString() + fileExtention;
string basepath = AppContext.BaseDirectory;
string dateStr = DateTime.Now.ToString("yyyyMMdd");
string tempPath = basepath + "upfile\\temporary\\" + dateStr + "\\";
string path_server = tempPath + path;
if (!Directory.Exists(tempPath))
{
Directory.CreateDirectory(tempPath);
}
using (FileStream fstream = new FileStream(path_server, FileMode.OpenOrCreate, FileAccess.ReadWrite))
{
files[0].CopyTo(fstream);
}
#region 图片上传至公众号
string RMsg = contributeModule.UploadImageTextGetUrl(path_server, 100000,out bool flag);
#endregion
if (flag)
{
return ApiResult.Success("", RMsg);
}
else {
return ApiResult.Failed(RMsg);
}
}
catch (Exception ex)
{
LogHelper.Write(ex, "UploadTemporaryFile");
return ApiResult.Failed();
}
}
}
}
{
"ConnectionStrings": {
"DefaultConnection": "server=192.168.20.214;user id=reborn;password=Reborn@2018;database=reborn_edu;CharSet=utf8mb4; Convert Zero Datetime=true; ",
"DefaultConnectionPName": "MySql.Data.MySqlClient",
"FinanceConnection": "server=192.168.20.214;user id=reborn;password=Reborn@2018;database=reborn_finance;CharSet=utf8mb4; Convert Zero Datetime=true; ",
"FinanceConnectionPName": "MySql.Data.MySqlClient",
"DataStatisticsConnection": "server=192.168.20.214;user id=reborn;password=Reborn@2018;database=reborn_datastatistics;CharSet=utf8mb4; Convert Zero Datetime=true; ",
"DataStatisticsConnectionPName": "MySql.Data.MySqlClient",
"LogConnection": "server=192.168.20.214;user id=reborn;password=Reborn@2018;database=reborn_sys;CharSet=utf8mb4; Convert Zero Datetime=true; ",
"LogConnectionPName": "MySql.Data.MySqlClient",
"MallConnection": "server=192.168.20.214;user id=reborn;password=Reborn@2018;database=test_reborn_mall;CharSet=utf8mb4; Convert Zero Datetime=true; ",
"MallConnectionPName": "MySql.Data.MySqlClient"
},
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
},
"SettlementRate": "0.60",
"SellCommissionFFBL": "0.15",
"JwtSecretKey": "@VIITTOREBORN*2018",
"MallJwtSecretKey": "@VIITTOREBORN*2018123",
"JwtExpirTime": 86400,
"IsSendMsg": 2,
"AllowedHosts": "*",
"OpenValidation": "False",
"UploadSiteUrl": "http://192.168.1.36:8120",
"ViewFileSiteUrl": "https://viitto-1301420277.cos.ap-chengdu.myqcloud.com",
"ErpViewFileSiteUrl": "http://imgfile.oytour.com",
"ErpUrl": "http://localhost:8181/#",
"Mongo": "mongodb://47.96.25.130:27017",
"MongoDBName": "Edu",
"WkHtmlToPdfPath": "D:/wkhtmltopdf/bin/",
"FinanceKey": "FinanceMallInsertToERPViitto2020",
"PaymentFinanceApi": "http://192.168.20.6:8083/api/Mall/InsertFinanceBatchForMallOut",
"IncomeFinanceApi": "http://192.168.20.6:8083/api/Mall/InsertFinanceBatchForMallIn",
"sTenpayNotifyUrl": "http://eduapi.oytour.com/api/WeChatPay/WxPayCallback", //下单回调地址
"sTenpayNotifyRefundUrl": "http://eduapi.oytour.com/api/WeChatPay/Refunds", //退款回调地址
"FinanceDateBase": "reborn_finance",
"EduDateBase": "uat_reborn_edu",
"JHTenantId": "15",
"JHMallBaseId": "5",
"JHMallUserOpenId": "oshxs5I-6uR1J91Rs3QVyi2rJIm4",
"WeChatAccountAppId": "wx7c2cedaebbfca211",
"WeChatAccountAppSecret": "6fd676c7f599bc2783fab6ae6c7a12d4",
"Notice_BaseKey": "Notice_BaseKey",
"EducationContractSchool": "EducationContractSchool",
"EducationContractAdmin": "EducationContractAdmin",
"QYWeiChatToken": "b3e0ebf63301f80cb8e741cf72fdaf3c",
"QYWeiChatEncodingAESKey": "ODRjOGEwYWQxNWJkNDRkMTg2NGJiOWY1ZTE4LCE0NmY",
"RabbitMqConfig": {
"HostName": "47.96.25.130",
"VirtualHost": "/",
"Port": 5672,
"UserName": "guest",
"Password": "viitto2019",
"QueenName": "vt_sys_message_test"
},
"RedisSetting": {
"RedisServer": "47.96.23.199",
"RedisPort": "6379",
"RedisPwd": "Viitto2018"
},
"VirtualDirectory": "WebFile",
//未填写 未打分 下降比例
"OKRMatterValue": "30,100,100",
//是否是线上环境
"IsOnline": false,
//退课流程编号
"BackClassFlowId": 1,
//分区校长岗位编号
"SchoolPostId": 3,
//教务长
"JiaoWuZhang": 8,
//留学就业部门主管审核编号[王涛]
"StudyAbroadDirectorId": 64,
//留学就业部门负责人审核编号[姚顺先]
"StudyAbroadManagerId": 52,
//合同默认抬头
"ContractDefaultTitle": "JH-DZ-CD-",
//消息推送AppId
"PushAppId": "JiaHeJiaoYu",
//是否推送消息
"IsPushMessage": "1",
//超过下班时间60分钟不能打卡
"MoreThanMinutes": 60,
//连续缺课课时
"AbsentHours": 12,
//值班时间验证日期
"DutyDate": "2021-06-30",
//调课流程编号
"ChangeClassFlowId": 2,
//停课流程编号
"StopClassFlowId": 3,
//临时上课邀请流程编号
"TempInvitationClassFlowId": 4,
//订单转班流程编号
"OrderTransClassFlowId": 5,
//订单分拆流程编号
"OrderSplitClassFlowId": 6,
//是否开启调课数据验证
"IsOpenChangeClassVerify": 1,
//是否是本地服务
"IsLocal": "1",
//临时Token
"TempToken": "47_oXN2xrKRE9InhFMtcCuFx_8Psl2i9TgCYhdHIsvuii5TweFkXvM1J0miUS1sLiRO5GggPOSQqCL1mfVK_ZR9HzV0JAn12TUKctzrBf2p6cFN0gzSUP88Q-iEA3yNgVkL9-DtNpzPL2stAfD7GTRaAIAANL",
//学生请假流程编号
"StudentLeaveFlowId": 7,
//组卷审批流程编号
"ZuJuanFlowId": 8,
//考试申请流程编号
"ExamApplyFlowId": 9
"ConnectionStrings": {
"DefaultConnection": "server=192.168.20.214;user id=reborn;password=Reborn@2018;database=reborn_edu;CharSet=utf8mb4; Convert Zero Datetime=true; ",
"DefaultConnectionPName": "MySql.Data.MySqlClient",
"FinanceConnection": "server=192.168.20.214;user id=reborn;password=Reborn@2018;database=reborn_finance;CharSet=utf8mb4; Convert Zero Datetime=true; ",
"FinanceConnectionPName": "MySql.Data.MySqlClient",
"DataStatisticsConnection": "server=192.168.20.214;user id=reborn;password=Reborn@2018;database=reborn_datastatistics;CharSet=utf8mb4; Convert Zero Datetime=true; ",
"DataStatisticsConnectionPName": "MySql.Data.MySqlClient",
"LogConnection": "server=192.168.20.214;user id=reborn;password=Reborn@2018;database=reborn_sys;CharSet=utf8mb4; Convert Zero Datetime=true; ",
"LogConnectionPName": "MySql.Data.MySqlClient",
"MallConnection": "server=192.168.20.214;user id=reborn;password=Reborn@2018;database=test_reborn_mall;CharSet=utf8mb4; Convert Zero Datetime=true; ",
"MallConnectionPName": "MySql.Data.MySqlClient"
},
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
},
"SettlementRate": "0.60",
"SellCommissionFFBL": "0.15",
"JwtSecretKey": "@VIITTOREBORN*2018",
"MallJwtSecretKey": "@VIITTOREBORN*2018123",
"JwtExpirTime": 86400,
"IsSendMsg": 2,
"AllowedHosts": "*",
"OpenValidation": "False",
"UploadSiteUrl": "http://192.168.1.36:8120",
"ViewFileSiteUrl": "https://viitto-1301420277.cos.ap-chengdu.myqcloud.com",
"ErpViewFileSiteUrl": "http://imgfile.oytour.com",
"ErpUrl": "http://localhost:8181/#",
"Mongo": "mongodb://47.96.25.130:27017",
"MongoDBName": "Edu",
"WkHtmlToPdfPath": "D:/wkhtmltopdf/bin/",
"FinanceKey": "FinanceMallInsertToERPViitto2020",
"PaymentFinanceApi": "http://192.168.20.6:8083/api/Mall/InsertFinanceBatchForMallOut",
"IncomeFinanceApi": "http://192.168.20.6:8083/api/Mall/InsertFinanceBatchForMallIn",
"sTenpayNotifyUrl": "http://eduapi.oytour.com/api/WeChatPay/WxPayCallback", //下单回调地址
"sTenpayNotifyRefundUrl": "http://eduapi.oytour.com/api/WeChatPay/Refunds", //退款回调地址
"FinanceDateBase": "reborn_finance",
"EduDateBase": "uat_reborn_edu",
"JHTenantId": "15",
"JHMallBaseId": "5",
"JHMallUserOpenId": "oshxs5I-6uR1J91Rs3QVyi2rJIm4",
"WeChatAccountAppId": "wx7c2cedaebbfca211",
"WeChatAccountAppSecret": "6fd676c7f599bc2783fab6ae6c7a12d4",
"Notice_BaseKey": "Notice_BaseKey",
"EducationContractSchool": "EducationContractSchool",
"EducationContractAdmin": "EducationContractAdmin",
"QYWeiChatToken": "b3e0ebf63301f80cb8e741cf72fdaf3c",
"QYWeiChatEncodingAESKey": "ODRjOGEwYWQxNWJkNDRkMTg2NGJiOWY1ZTE4LCE0NmY",
"RabbitMqConfig": {
"HostName": "47.96.25.130",
"VirtualHost": "/",
"Port": 5672,
"UserName": "guest",
"Password": "viitto2019",
"QueenName": "vt_sys_message_test"
},
"RedisSetting": {
"RedisServer": "47.96.23.199",
"RedisPort": "6379",
"RedisPwd": "Viitto2018"
},
"VirtualDirectory": "WebFile",
//未填写 未打分 下降比例
"OKRMatterValue": "30,100,100",
//是否是线上环境
"IsOnline": false,
//退课流程编号
"BackClassFlowId": 1,
//分区校长岗位编号
"SchoolPostId": 3,
//教务长
"JiaoWuZhang": 8,
//留学就业部门主管审核编号[王涛]
"StudyAbroadDirectorId": 64,
//留学就业部门负责人审核编号[姚顺先]
"StudyAbroadManagerId": 52,
//合同默认抬头
"ContractDefaultTitle": "JH-DZ-CD-",
//消息推送AppId
"PushAppId": "JiaHeJiaoYu",
//是否推送消息
"IsPushMessage": "1",
//超过下班时间60分钟不能打卡
"MoreThanMinutes": 60,
//连续缺课课时
"AbsentHours": 12,
//值班时间验证日期
"DutyDate": "2021-06-30",
//调课流程编号
"ChangeClassFlowId": 2,
//停课流程编号
"StopClassFlowId": 3,
//临时上课邀请流程编号
"TempInvitationClassFlowId": 4,
//订单转班流程编号
"OrderTransClassFlowId": 5,
//订单分拆流程编号
"OrderSplitClassFlowId": 6,
//是否开启调课数据验证
"IsOpenChangeClassVerify": 1,
//是否是本地服务
"IsLocal": "1",
//临时Token
"TempToken": "47_oXN2xrKRE9InhFMtcCuFx_8Psl2i9TgCYhdHIsvuii5TweFkXvM1J0miUS1sLiRO5GggPOSQqCL1mfVK_ZR9HzV0JAn12TUKctzrBf2p6cFN0gzSUP88Q-iEA3yNgVkL9-DtNpzPL2stAfD7GTRaAIAANL",
//学生请假流程编号
"StudentLeaveFlowId": 7,
//组卷审批流程编号
"ZuJuanFlowId": 8,
//考试申请流程编号
"ExamApplyFlowId": 9,
//投稿审批流程编号
"ContributeFlowId": 10
}
\ 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