TANG JIANG 2 năm trước cách đây
mục cha
commit
7eca53e19c

+ 2 - 2
src/Sharing.Api/Controllers/HotlineMessageReceiveController.cs

@@ -32,9 +32,9 @@ namespace Sharing.Api.Controllers
         {
             //todo receive mq msg, write into db, publish inprocess msg
             _logger.LogInformation("rec order");
-            await _dataOrderRepository.AddAsync(new DataOrder(), HttpContext.RequestAborted);
+           // await _dataOrderRepository.AddAsync(new DataOrder(), HttpContext.RequestAborted);
 
-            await _mediator.Publish(new OrderCreatedNotification(new DataOrder()), HttpContext.RequestAborted);
+          //  await _mediator.Publish(new OrderCreatedNotification(new DataOrder()), HttpContext.RequestAborted);
             _logger.LogInformation("publish order success!");
         }
     }

+ 5 - 4
src/Sharing.Province/Controllers/ProvinceController.cs

@@ -30,10 +30,11 @@ namespace Sharing.Province.Controllers
         [HttpGet("test")]
         public async Task<string> Test()
         {
-            var pusher = _pusherProvider.CreatePusher(_channelConfigurationManager);
-            await pusher.PushOrderCreatedAsync(new SubmitCaseInfoRequest(), HttpContext.RequestAborted);
-            var a = _channelConfigurationManager.GetConfigurationProvince().HuiJu;
-            return a;
+            //var pusher = _pusherProvider.CreatePusher(_channelConfigurationManager);
+            //await pusher.PushOrderCreatedAsync(new SubmitCaseInfoRequest(), HttpContext.RequestAborted);
+            //var a = _channelConfigurationManager.GetConfigurationProvince().HuiJu;
+            //return a;
+            return null;
         }
     }
 }

+ 52 - 0
src/Sharing.Province/Controllers/ReceiveController.cs

@@ -0,0 +1,52 @@
+using MapsterMapper;
+using Microsoft.AspNetCore.Mvc;
+using Sharing.Province.Dtos.XieTong;
+using Sharing.Province.XieTong;
+using Sharing.WebCore;
+
+namespace Sharing.Province.Controllers
+{
+    /// <summary>
+    /// 
+    /// </summary>
+    public class ReceiveController : BaseController
+    {
+        private readonly IMapper _mapper;
+        private readonly IReceiveCaseInfoRepository _receiveCaseInfoRepository;
+
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="mapper"></param>
+        /// <param name="receiveCaseInfoRepository"></param>
+        public ReceiveController(IMapper mapper, IReceiveCaseInfoRepository receiveCaseInfoRepository)
+        {
+            _mapper = mapper;
+            _receiveCaseInfoRepository = receiveCaseInfoRepository;
+        }
+
+        /// <summary>
+        /// 服务工单交办接口
+        /// </summary>
+        /// <param name="receiveCaseInfo"></param>
+        /// <returns></returns>
+        [HttpPost("receive_case_info")]
+        public async Task<string> ReceiveCaseInfo([FromBody] ReceiveCaseInfoRequest receiveCaseInfo)
+        {
+            //验证接收的数据是否正确
+            string strResult = receiveCaseInfo.paras.Validate();
+            if (false == string.IsNullOrEmpty(strResult))
+                return strResult;
+
+            //转换数据
+            var dto = _mapper.Map<ReceiveCaseInfo>(receiveCaseInfo.paras);
+            dto.SyncState = "0";
+            //添加数据
+            var id = await _receiveCaseInfoRepository.AddAsync(dto, HttpContext.RequestAborted);
+
+            //处理组装数据,推送数据
+            
+            return id;
+        }
+    }
+}

+ 317 - 0
src/Sharing.Province/Dtos/XieTong/ReceiveCaseInfoRequest.cs

@@ -0,0 +1,317 @@
+using System.ComponentModel.DataAnnotations.Schema;
+using System.ComponentModel;
+using System.Reflection;
+using System.Text.Json.Serialization;
+using XF.Domain.Entities;
+
+namespace Sharing.Province.Dtos.XieTong
+{
+    public class ReceiveCaseInfoRequest
+    {
+        /// <summary>
+        /// 
+        /// </summary>
+        public ClientInfo token { get; set; }
+
+        /// <summary>
+        /// 服务工单
+        /// </summary>
+        public ReceiveCaseInfoModel paras { get; set; }
+    }
+
+    public class ReceiveCaseInfoModel
+    {
+        /// <summary>
+        /// 服务工单编号
+        /// </summary>
+        [JsonPropertyName("CASE_SERIAL")]
+        [VRequired]
+        [VStringLength(0,50)]
+        [MDisplayName("服务工单编号")]
+        public string CaseSerial { get; set; }
+
+        /// <summary>
+        /// 服务工单标题
+        /// </summary>
+        [JsonPropertyName("CASE_TITLE")]
+        [MDisplayName("服务工单标题")]
+        [VRequired]
+        [VStringLength(0, 300)]
+        public string CaseTitle { get; set; }
+
+        /// <summary>
+        /// 服务代表姓名
+        /// </summary>
+        [JsonPropertyName("CASE_REGISTER")]
+        [MDisplayName("服务代表姓名")]
+        [VRequired]
+        [VStringLength(0, 200)]
+        public string CaseRegister { get; set; }
+
+        /// <summary>
+        /// 服务代表工号
+        /// </summary>
+        [JsonPropertyName("CASE_REGISTERNO")]
+        [MDisplayName("服务代表工号")]
+        [VRequired]
+        [VStringLength(0, 50)]
+        public string CaseRegisterNo { get; set; }
+
+        /// <summary>
+        /// 登记时间
+        /// </summary>
+        [JsonPropertyName("CASE_DATE")]
+        [VRequired]
+        [MDisplayName("登记时间")]
+        public DateTime? CaseDate { get; set; }
+
+        /// <summary>
+        /// 诉求渠道
+        /// </summary>
+        [JsonPropertyName("CASE_SOURCE")]
+        [MDisplayName("诉求渠道")]
+        [VRequired]
+        [VStringLength(0, 10)]
+        public string CaseSource { get; set; }
+
+        /// <summary>
+        /// 联系电话
+        /// </summary>
+        [JsonPropertyName("PHONE_NUMBER")]
+        [MDisplayName("联系电话")]
+        [VRequired]
+        [VStringLength(0, 50)]
+        public string PhoneNumber { get; set; }
+
+        /// <summary>
+        /// 服务对象名称
+        /// </summary>
+        [JsonPropertyName("APPLICANT_NAME")]
+        [MDisplayName("服务对象名称")]
+        [VRequired]
+        [VStringLength(0, 200)]
+        public string AppLicantName { get; set; }
+
+        /// <summary>
+        /// 服务对象性别
+        /// </summary>
+        [JsonPropertyName("APPLICANT_SEX")]
+        [MDisplayName("服务对象性别")]
+        [VRequired]
+        [VStringLength(0, 1)]
+        public string AppLicantSex { get; set; }
+
+        /// <summary>
+        /// 服务对象年龄范围
+        /// </summary>
+        [JsonPropertyName("APPLICANT_AGE")]
+        [MDisplayName("服务对象年龄范围")]
+        [VStringLength(0, 4)]
+        public string AppLicantAge { get; set; }
+
+        /// <summary>
+        /// 证件类型
+        /// </summary>
+        [JsonPropertyName("CERTIFICATE_TYPE")]
+        [MDisplayName("证件类型")]
+        [VStringLength(0, 4)]
+        public string CertifiCateType { get; set; }
+
+        /// <summary>
+        /// 证件号码
+        /// </summary>
+        [JsonPropertyName("APPLICANT_ID")]
+        [MDisplayName("证件号码")]
+        [VStringLength(0, 50)]
+        public string AppLicantId { get; set; }
+
+        /// <summary>
+        /// 诉求类型
+        /// </summary>
+        [JsonPropertyName("CASE_TYPE")]
+        [MDisplayName("诉求类型")]
+        [VRequired]
+        [VStringLength(0, 4)]
+        public string CaseType { get; set; }
+
+        /// <summary>
+        /// 诉求归口
+        /// </summary>
+        [JsonPropertyName("CASE_ACCORD")]
+        [MDisplayName("诉求归口")]
+        [VRequired]
+        [VStringLength(0, 50)]
+        public string CaseAccord { get; set; }
+
+        /// <summary>
+        /// 诉求内容
+        /// </summary>
+        [JsonPropertyName("CASE_CONTENT")]
+        [MDisplayName("诉求内容")]
+        [VRequired]
+        [VStringLength(0, 2000)]
+        public string CaseContent { get; set; }
+
+        /// <summary>
+        /// 处理方式
+        /// </summary>
+        [JsonPropertyName("CASE_PROCESS_TYPE")]
+        [MDisplayName("处理方式")]
+        [VRequired]
+        [VStringLength(0, 4)]
+        public string CaseProcessType { get; set; }
+
+        /// <summary>
+        /// 是否公开
+        /// </summary>
+        [JsonPropertyName("CASE_ISPUBLIC")]
+        [MDisplayName("是否公开")]
+        [VRequired]
+        [VStringLength(0, 4)]
+        public string CaseIsPublic { get; set; }
+
+        /// <summary>
+        /// 是否保密
+        /// </summary>
+        [JsonPropertyName("CASE_ISSECRECT")]
+        [MDisplayName("是否保密")]
+        [VRequired]
+        [VStringLength(0, 4)]
+        public string CaseIsSecrect { get; set; }
+
+        /// <summary>
+        /// 是否回访
+        /// </summary>
+        [JsonPropertyName("CASE_ISVISIT")]
+        [MDisplayName("是否回访")]
+        [VRequired]
+        [VStringLength(0, 4)]
+        public string CaseIsVisit { get; set; }
+
+        /// <summary>
+        /// 紧急程度
+        /// </summary>
+        [JsonPropertyName("CASE_ISURGENT")]
+        [MDisplayName("紧急程度")]
+        [VRequired]
+        [VStringLength(0, 4)]
+        public string CaseIsUrgent { get; set; }
+
+        /// <summary>
+        /// 应签收时限
+        /// </summary>
+        [JsonPropertyName("TSIGNTTME_BF")]
+        public DateTime? TSigntTmeBf { get; set; }
+
+        /// <summary>
+        /// 应办结时限
+        /// </summary>
+        [JsonPropertyName("TFDBACKTIME_BF")]
+        public DateTime? TfdBackTimeBf { get; set; }
+
+        /// <summary>
+        /// 应退回时限
+        /// </summary>
+        [JsonPropertyName("TBACKTIME_BF")]
+        public DateTime? TBackTimeBf { get; set; }
+
+        /// <summary>
+        /// 交办类型
+        /// </summary>
+        [JsonPropertyName("TASK_TYPE")]
+        [MDisplayName("交办类型")]
+        [VStringLength(0, 4)]
+        public string TaskType { get; set; }
+
+        /// <summary>
+        /// 行政区划代码
+        /// </summary>
+        [JsonPropertyName("AREA_CODE")]
+        [MDisplayName("行政区划代码")]
+        [VRequired]
+        [VStringLength(0, 24)]
+        public string AreaCode { get; set; }
+
+        /// <summary>
+        /// 经纬度
+        /// </summary>
+        [JsonPropertyName("CASE_LNGLAT")]
+        [MDisplayName("经纬度")]
+        [VStringLength(0, 50)]
+        public string CaseLngLat { get; set; }
+
+        /// <summary>
+        /// 诉求情感
+        /// </summary>
+        [JsonPropertyName("CASE_EMOTION")]
+        [MDisplayName("诉求情感")]
+        [VStringLength(0, 50)]
+        public string CaseEmotion { get; set; }
+
+        /// <summary>
+        /// 诉求详细地址
+        /// </summary>
+        [JsonPropertyName("CASE_ADDRESS")]
+        [MDisplayName("诉求详细地址")]
+        [VStringLength(0, 500)]
+        public string CaseAddress { get; set; }
+
+        /// <summary>
+        ///事发时间
+        /// </summary>
+        [JsonPropertyName("EVENT_DATE")]
+        [MDisplayName("事发时间")]
+        [VRequired]
+        public DateTime? EventDate { get; set; }
+
+        /// <summary>
+        /// 任务关联单guid
+        /// </summary>
+        [JsonPropertyName("TROWGUID")]
+        [MDisplayName("任务关联单guid")]
+        [VStringLength(0, 50)]
+        public string TrowGuid { get; set; }
+
+        /// <summary>
+        /// 附件标识
+        /// </summary>
+        [JsonPropertyName("CLIENG_GUID")]
+        [MDisplayName("附件标识")]
+        [VRequired]
+        [VStringLength(0, 50)]
+        public string CliengGuid { get; set; }
+
+        /// <summary>
+        /// 建议类型
+        /// </summary>
+        [JsonPropertyName("ADVISE_TYPE")]
+        [MDisplayName("建议类型")]
+        [VStringLength(0, 100)]
+        public string AdviseType { get; set; }
+
+        /// <summary>
+        /// 建议部门
+        /// </summary>
+        [JsonPropertyName("ADVISE_DEPT")]
+        [MDisplayName("建议部门")]
+        [VStringLength(0, 100)]
+        public string AdviseDept { get; set; }
+
+        /// <summary>
+        /// 投诉类型
+        /// </summary>
+        [JsonPropertyName("COMPLAIN_TYPE")]
+        [MDisplayName("投诉类型")]
+        [VStringLength(0, 100)]
+        public string ComplainType { get; set; }
+
+        /// <summary>
+        /// 投诉部门
+        /// </summary>
+        [JsonPropertyName("COMPLAIN_DEPT")]
+        [MDisplayName("投诉部门")]
+        [VStringLength(0, 100)]
+        public string ComplainDept { get; set; }
+
+    }
+}

+ 4 - 0
src/Sharing.Province/Sharing.Province.csproj

@@ -11,4 +11,8 @@
     <ProjectReference Include="..\Sharing.WebCore\Sharing.WebCore.csproj" />
   </ItemGroup>
 
+  <ItemGroup>
+    <Folder Include="Domain\XieTong\" />
+  </ItemGroup>
+
 </Project>

+ 145 - 0
src/Sharing.Province/ValidationData.cs

@@ -0,0 +1,145 @@
+using System.Reflection;
+using System.Text;
+
+namespace Sharing.Province
+{
+    /// <summary>
+    /// 
+    /// </summary>
+    [AttributeUsage(AttributeTargets.Property)]
+    public abstract class AbstractValidateAttribute : Attribute
+    {
+        public abstract bool Validate(object objValue, out string strError);
+    }
+
+    /// <summary>
+    /// 必填验证
+    /// </summary>
+    [AttributeUsage(AttributeTargets.Property)]
+    public class VRequiredAttribute : AbstractValidateAttribute
+    {
+        public override bool Validate(object objValue, out string strError)
+        {
+            strError = "";
+            if (objValue == null || string.IsNullOrEmpty(objValue.ToString()))
+            {
+                strError = "不能为空";
+                return false;
+            }
+
+            return true;
+        }
+    }
+
+    /// <summary>
+    /// 长度验证
+    /// </summary>
+    [AttributeUsage(AttributeTargets.Property)]
+    public class VStringLengthAttribute : AbstractValidateAttribute
+    {
+        private readonly int m_nMin;
+
+        private readonly int m_nMax;
+
+        public VStringLengthAttribute(int min, int max)
+        {
+            m_nMin = min;
+            m_nMax = max;
+        }
+        public static int GetStrLength(string str)
+        {
+            if (string.IsNullOrEmpty(str))
+            {
+                return 0;
+            }
+
+            return Encoding.Default.GetBytes(str).Length;
+        }
+
+        public override bool Validate(object objValue, out string strError)
+        {
+            strError = "";
+            if (objValue == null)
+            {
+                if (m_nMin != 0)
+                {
+                    strError = "不能为空";
+                    return false;
+                }
+            }
+            else
+            {
+                int strLength = GetStrLength(objValue.ToString());
+                if (strLength < m_nMin || strLength > m_nMax)
+                {
+                    strError = $"长度不能小于{m_nMin} 也不能大于{m_nMax}";
+                    return false;
+                }
+            }
+
+            return true;
+        }
+    }
+
+    /// <summary>
+    /// 描述
+    /// </summary>
+    public class MDisplayNameAttribute : Attribute
+    {
+        private readonly string m_strRemark;
+
+        public MDisplayNameAttribute(string strRemark)
+        {
+            m_strRemark = strRemark;
+        }
+
+        public virtual string GetRemark()
+        {
+            return m_strRemark;
+        }
+    }
+
+    /// <summary>
+    /// 数据验证
+    /// </summary>
+    public static class AOPExtend
+    {
+        public static string Validate<T>(this T t) where T : class, new()
+        {
+            PropertyInfo[] properties = t.GetType().GetProperties();
+            foreach (PropertyInfo propertyInfo in properties)
+            {
+                if (!propertyInfo.IsDefined(typeof(AbstractValidateAttribute), inherit: true))
+                {
+                    continue;
+                }
+
+                object value = propertyInfo.GetValue(t);
+                string empty = string.Empty;
+                if (propertyInfo.IsDefined(typeof(MDisplayNameAttribute), inherit: true))
+                {
+                    MDisplayNameAttribute mDisplayNameAttribute = (MDisplayNameAttribute)propertyInfo.GetCustomAttribute(typeof(MDisplayNameAttribute), inherit: true);
+                    empty = "『" + mDisplayNameAttribute.GetRemark() + "』";
+                }
+                else
+                {
+                    empty = "『" + propertyInfo.Name + "未设置描述』";
+                }
+
+                string strError = string.Empty;
+                object[] customAttributes = propertyInfo.GetCustomAttributes(typeof(AbstractValidateAttribute), inherit: true);
+                for (int j = 0; j < customAttributes.Length; j++)
+                {
+                    if (!((AbstractValidateAttribute)customAttributes[j]).Validate(value, out strError))
+                    {
+                        return empty + strError;
+                    }
+                }
+            }
+
+            return "";
+        }
+
+    }
+
+}

+ 16 - 0
src/Sharing.Repository/XieTong/ReceiveCaseInfoRepository.cs

@@ -0,0 +1,16 @@
+using Sharing.Province.XieTong;
+using SqlSugar;
+using XF.Domain.Dependency;
+
+namespace Sharing.Repository.XieTong
+{
+
+    public class ReceiveCaseInfoRepository : BaseRepository<ReceiveCaseInfo>, IReceiveCaseInfoRepository, IScopeDependency
+    {
+        public ReceiveCaseInfoRepository(ISugarUnitOfWork<SharingDbContext> uow) : base(uow)
+        {
+
+        }
+    }
+}
+

+ 9 - 0
src/Sharing/Province/XieTong/IReceiveCaseInfoRepository.cs

@@ -0,0 +1,9 @@
+using XF.Domain.Repository;
+
+namespace Sharing.Province.XieTong
+{
+    public interface IReceiveCaseInfoRepository : IRepository<ReceiveCaseInfo>
+    {
+
+    }
+}

+ 227 - 0
src/Sharing/Province/XieTong/ReceiveCaseInfo.cs

@@ -0,0 +1,227 @@
+using SqlSugar;
+using System.ComponentModel.DataAnnotations;
+using XF.Domain.Repository;
+
+namespace Sharing.Province.XieTong
+{
+    public class ReceiveCaseInfo : FullStateEntity
+    {
+        /// <summary>
+        /// 服务工单编号  
+        /// </summary>
+        [SugarColumn(ColumnDescription = "服务工单编号", ColumnDataType = "varchar(50)")]
+        public string CaseSerial { get; set; }
+
+        /// <summary>
+        /// 服务工单标题
+        /// </summary>
+        [SugarColumn(ColumnDescription = "服务工单标题", ColumnDataType = "varchar(300)")]
+        public string CaseTitle { get; set; }
+
+        /// <summary>
+        /// 服务代表姓名
+        /// </summary>
+        [SugarColumn(ColumnDescription = "服务代表姓名", ColumnDataType = "varchar(200)")]
+        public string CaseRegister { get; set; }
+
+        /// <summary>
+        /// 服务代表工号
+        /// </summary>
+        [SugarColumn(ColumnDescription = "服务代表工号", ColumnDataType = "varchar(50)")]
+        public string CaseRegisterNo { get; set; }
+
+        /// <summary>
+        /// 登记时间
+        /// </summary>
+        [SugarColumn(ColumnDescription = "登记时间")]
+        public DateTime? CaseDate { get; set; }
+
+        /// <summary>
+        /// 诉求渠道
+        /// </summary>
+        [SugarColumn(ColumnDescription = "诉求渠道", ColumnDataType = "varchar(10)")]
+        public string CaseSource { get; set; }
+
+        /// <summary>
+        /// 联系电话
+        /// </summary>
+        [SugarColumn(ColumnDescription = "联系电话", ColumnDataType = "varchar(50)")]
+        public string PhoneNumber { get; set; }
+
+        /// <summary>
+        /// 服务对象名称
+        /// </summary>
+        [SugarColumn(ColumnDescription = "服务对象名称", ColumnDataType = "varchar(200)")]
+        public string AppLicantName { get; set; }
+
+        /// <summary>
+        /// 服务对象性别
+        /// </summary>
+        [SugarColumn(ColumnDescription = "服务对象性别", ColumnDataType = "varchar(1)")]
+        public string AppLicantSex { get; set; }
+
+        /// <summary>
+        /// 服务对象年龄范围
+        /// </summary>
+        [SugarColumn(ColumnDescription = "服务对象年龄范围", ColumnDataType = "varchar(4)", IsNullable = true)]
+        public string AppLicantAge { get; set; }
+
+        /// <summary>
+        /// 证件类型
+        /// </summary>
+        [SugarColumn(ColumnDescription = "证件类型", ColumnDataType = "varchar(4)", IsNullable = true)]
+        public string CertifiCateType { get; set; }
+
+        /// <summary>
+        /// 证件号码
+        /// </summary>
+        [SugarColumn(ColumnDescription = "证件号码", ColumnDataType = "varchar(50)", IsNullable = true)]
+        public string AppLicantId { get; set; }
+
+        /// <summary>
+        /// 诉求类型
+        /// </summary>
+        [SugarColumn(ColumnDescription = "诉求类型", ColumnDataType = "varchar(4)")]
+        public string CaseType { get; set; }
+
+        /// <summary>
+        /// 诉求归口
+        /// </summary>
+        [SugarColumn(ColumnDescription = "诉求归口", ColumnDataType = "varchar(50)")]
+        public string CaseAccord { get; set; }
+
+        /// <summary>
+        /// 诉求内容
+        /// </summary>
+        [SugarColumn(ColumnDescription = "诉求内容", ColumnDataType = "varchar(2000)")]
+        public string CaseContent { get; set; }
+
+        /// <summary>
+        /// 处理方式
+        /// </summary>
+        [SugarColumn(ColumnDescription = "处理方式", ColumnDataType = "varchar(4)")]
+        public string CaseProcessType { get; set; }
+
+        /// <summary>
+        /// 是否公开
+        /// </summary>
+        [SugarColumn(ColumnDescription = "是否公开", ColumnDataType = "varchar(4)")]
+        public string CaseIsPublic { get; set; }
+
+        /// <summary>
+        /// 是否保密
+        /// </summary>
+        [SugarColumn(ColumnDescription = "是否保密", ColumnDataType = "varchar(4)")]
+        public string CaseIsSecrect { get; set; }
+
+        /// <summary>
+        /// 是否回访
+        /// </summary>
+        [SugarColumn(ColumnDescription = "是否回访", ColumnDataType = "varchar(4)")]
+        public string CaseIsVisit { get; set; }
+
+        /// <summary>
+        /// 紧急程度
+        /// </summary>
+        [SugarColumn(ColumnDescription = "紧急程度", ColumnDataType = "varchar(4)")]
+        public string CaseIsUrgent { get; set; }
+
+        /// <summary>
+        /// 应签收时限
+        /// </summary>
+        [SugarColumn(ColumnDescription = "应签收时限", IsNullable = true)]
+        public DateTime? TSigntTmeBf { get; set; }
+
+        /// <summary>
+        /// 应办结时限
+        /// </summary>
+        [SugarColumn(ColumnDescription = "应办结时限", IsNullable = true)]
+        public DateTime? TfdBackTimeBf { get; set; }
+
+        /// <summary>
+        /// 应退回时限
+        /// </summary>
+        [SugarColumn(ColumnDescription = "应退回时限", IsNullable = true)]
+        public DateTime? TBackTimeBf { get; set; }
+
+        /// <summary>
+        /// 交办类型
+        /// </summary>
+        [SugarColumn(ColumnDescription = "交办类型", ColumnDataType = "varchar(4)")]
+        public string TaskType { get; set; }
+
+        /// <summary>
+        /// 行政区划代码
+        /// </summary>
+        [SugarColumn(ColumnDescription = "行政区划代码", ColumnDataType = "varchar(24)")]
+        public string AreaCode { get; set; }
+
+        /// <summary>
+        /// 经纬度
+        /// </summary>
+        [SugarColumn(ColumnDescription = "经纬度", ColumnDataType = "varchar(50)", IsNullable = true)]
+        public string CaseLngLat { get; set; }
+
+        /// <summary>
+        /// 诉求情感
+        /// </summary>
+        [SugarColumn(ColumnDescription = "诉求情感", ColumnDataType = "varchar(50)", IsNullable = true)]
+        public string CaseEmotion { get; set; }
+
+        /// <summary>
+        /// 诉求详细地址
+        /// </summary>
+        [SugarColumn(ColumnDescription = "诉求详细地址", ColumnDataType = "varchar(500)", IsNullable = true)]
+        public string CaseAddress { get; set; }
+
+        /// <summary>
+        ///事发时间
+        /// </summary>
+        [SugarColumn(ColumnDescription = "事发时间")]
+        public DateTime? EventDate { get; set; }
+
+        /// <summary>
+        /// 任务关联单guid
+        /// </summary>
+        [SugarColumn(ColumnDescription = "任务关联单guid", ColumnDataType = "varchar(50)", IsNullable = true)]
+        public string TrowGuid { get; set; }
+
+        /// <summary>
+        /// 附件标识
+        /// </summary>
+        [SugarColumn(ColumnDescription = "附件标识", ColumnDataType = "varchar(50)")]
+        public string CliengGuid { get; set; }
+
+        /// <summary>
+        /// 建议类型
+        /// </summary>
+        [SugarColumn(ColumnDescription = "建议类型", ColumnDataType = "varchar(100)", IsNullable = true)]
+        public string AdviseType { get; set; }
+
+        /// <summary>
+        /// 建议部门
+        /// </summary>
+        [SugarColumn(ColumnDescription = "建议部门", ColumnDataType = "varchar(100)", IsNullable = true)]
+        public string AdviseDept { get; set; }
+
+        /// <summary>
+        /// 投诉类型
+        /// </summary>
+        [SugarColumn(ColumnDescription = "投诉类型", ColumnDataType = "varchar(100)", IsNullable = true)]
+        public string ComplainType { get; set; }
+
+        /// <summary>
+        /// 投诉部门
+        /// </summary>
+        [SugarColumn(ColumnDescription = "投诉部门", ColumnDataType = "varchar(100)", IsNullable = true)]
+        public string ComplainDept { get; set; }
+
+        /// <summary>
+        /// 同步状态 0:待同步;	  1:同步成功;	 2:同步失败;
+        /// </summary>
+        [SugarColumn(ColumnDescription = "同步状态", ColumnDataType = "varchar(1)", IsNullable = true)]
+        public string SyncState { get; set; } = "0";
+
+
+    }
+}