/// <summary> /// 转换为数据传输对象 /// </summary> /// <param name="entity">实体</param> public static TagMstrDto ToDto(this TagMstr entity) { if (entity == null) { return(new TagMstrDto()); } return(new TagMstrDto { Id = entity.Id, TAG_MSTR_DESC = entity.TAG_MSTR_DESC, TAG_TYPE = entity.TAG_TYPE, TAG_REF_DB_ID = entity.TAG_REF_DB_ID, TAG_REF_TABLE_ID = entity.TAG_REF_TABLE_ID, TAG_REF_FIELD_ID = entity.TAG_REF_FIELD_ID, TAG_STATUS = entity.TAG_STATUS, WORKFLOW_NO = entity.WORKFLOW_NO, DEL_FLAG = entity.DEL_FLAG, CREATE_ORG_NO = entity.CREATE_ORG_NO, CREATE_PSN = entity.CREATE_PSN, CREATE_DATE = entity.CREATE_DATE, UPDATE_PSN = entity.UPDATE_PSN, UPDATE_DATE = entity.UPDATE_DATE, TAG_NAME = entity.TAG_NAME, BG_NO = entity.BG_NO }); }
/// <summary> /// 保存标签信息 /// </summary> /// <param name="dto"></param> /// <returns></returns> public ReturnMsg SaveTagInfo(TagMstrDto dto) { var rm = new ReturnMsg(); var entity = new TagMstr(); var isOk = CheckTagInfo(dto, rm); if (!isOk.IsSuccess) { return(rm); } if (string.IsNullOrEmpty(dto.Id)) { var requestTag = CreateWxTag(dto.TAG_NAME, rm); if (!requestTag.IsSuccess) { return(rm); } dto.TAG_REF_DB_ID = "SCRM"; dto.TAG_REF_TABLE_ID = "WCT"; dto.TAG_STATUS = 1; dto.TAG_REF_FIELD_ID = requestTag.result; _initHelper.InitAdd(dto, AbpSession.USR_ID, AbpSession.ORG_NO, AbpSession.BG_NO); entity = dto.ToEntity(); _tagMstrRepository.Insert(entity); } else { _initHelper.InitUpdate(dto, AbpSession.USR_ID); entity = dto.ToEntity(); _tagMstrRepository.Update(entity); } rm.IsSuccess = true; return(rm); }
/// <summary> /// 更新用户标签记录 /// </summary> /// <param name="wct"></param> /// <param name="rm"></param> /// <returns></returns> public ReturnMsg UpdateTagHistInfo(SysUsrWctDto wct, ReturnMsg rm) { var histList = _tagHistRepository.GetAllList(c => c.TAG_REF_ROW_NO == wct.Id && c.DEL_FLAG == 1); var newList = wct.tagIds.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList(); var oldList = histList.Select(c => c.TAG_REF_FIELD_ID).ToList(); var result = newList.Except <string>(oldList).ToList(); if (result.Count == 0) { rm.IsSuccess = true; return(rm); } var paInfo = _wxHelper.GetPaInfo(1, c => c.PA_ID_NO == AbpSession.ORG_NO, AbpSession.BG_NO); if (paInfo == null) { rm.IsSuccess = false; rm.msg = "公众号信息不存在"; return(rm); } var requestToken = _wxHelper.GetAccessToken(paInfo, wct.BG_NO); if (!requestToken.IsSuccess) { return(rm); } var tagList = _tagMstrRepository.GetAllList(c => c.CREATE_ORG_NO == wct.BU_NO && c.DEL_FLAG == 1); foreach (var item in result) { var tagHist = new TagHist(); var tag = new TagMstr(); tag = tagList.Where(c => c.TAG_REF_FIELD_ID == item).FirstOrDefault(); var hist = histList.Where(c => c.TAG_REF_ROW_NO == item).FirstOrDefault(); if (hist == null) { rm = AddTag(wct.OPEN_ID, item, requestToken.result, rm); if (!rm.IsSuccess) { return(rm); } tagHist.Id = Guid.NewGuid().ToString(); tagHist.TAG_CODE = tag.Id; tagHist.TAG_VALUE = tag.TAG_NAME; tagHist.TAG_REF_ROW_NO = wct.Id; tagHist.TAG_REF_TABLE_ID = "SYS_USR_WCT"; tagHist.CREATE_TIME = DateTime.Now; tagHist.TAG_SDATE = DateTime.Now; tagHist.TAG_FROM = "手工"; tagHist.TAG_MSTR_ID = "0"; tagHist.TAG_VERSION = "0"; tagHist.TAG_VALUE_DESC = "0"; tagHist.TAG_REF_DB_ID = "0"; tagHist.TAG_REF_FIELD_ID = item; tagHist.TAG_RULE_ID = "0"; tagHist.TAG_EDATE = DateTime.MaxValue; _initHelper.InitAdd(tagHist, AbpSession.USR_ID, wct.BU_NO, wct.BG_NO); } else { rm = DelTag(wct.OPEN_ID, item, requestToken.result, rm); if (!rm.IsSuccess) { return(rm); } _tagHistRepository.DelTagHistInfo(wct.Id, item); } } return(rm); }