/// <summary> /// 新增 /// </summary> /// <param name="param"></param> /// <returns></returns> public static DepartmentResult Create(DepartmentEntity model) { DepartmentResult resul = new DepartmentResult(); AccessToken accessToken = TokenHelp.GetAccessToken(); string url = DingTalkUrlHelp.CreateDepartment(accessToken.Value); resul = DingTalkHttpHelp <DepartmentResult> .Post(url, model.ToJson()); return(resul); }
public static void DepartmentImputDingTalk(SqlSugarClient Ddb) { LogHelper log = LogFactory.GetLogger("ImputEsbDepartment"); Ddb.CodeFirst.InitTables(typeof(DepartmentTrees)); int treeCount = Ddb.Queryable <DepartmentTrees>().Count(); int maxlevel = Ddb.Queryable <DepartmentTrees>().Max(it => it.level); int countRow = 0; log.Info("\r\n------------------------------------------------钉钉组织框架根据ESB部门树数据调整------------------------------------------------\r\n"); for (int i = 0; i <= maxlevel; i++) { List <DepartmentTrees> list = new List <DepartmentTrees>(); list = Ddb.Queryable <DepartmentTrees>().Where(it => it.level == i).ToList(); foreach (var item in list) { countRow++; try { string DepartmentJson = DepartmentForDingTalkBll.GetDepartment(item.DD_Id); DepartmentEntity model = new DepartmentEntity(); model = Newtonsoft.Json.JsonConvert.DeserializeObject <DepartmentEntity>(DepartmentJson); model.parentid = item.DD_ParentId; model.order = list.IndexOf(item).ToString(); model.sourceIdentifier = item.DepartmentId; string param = model.ToJson(); Result result = DepartmentBll.Update(param); if (result != null) { if (result.errcode == "0") { Console.Write("第" + i + "级数据更新成功," + result.errmsg + ",已更新:" + countRow + "条,当前进度:" + (Math.Round(Convert.ToDecimal(Convert.ToDouble(countRow) / Convert.ToDouble(treeCount)), 2, MidpointRounding.AwayFromZero) * 100) + "%\n\n"); } else { Console.Write(result.errmsg); } } else { Console.Write("\r\n无返回数据\r\n"); } } catch (Exception ex) { log.Error("\r\n InitializeDingTalk-DepartmentImputDingTalk() " + ex.Message + "\r\n"); Console.Write("\r\n" + ex.Message + "\r\n"); } } } Console.Write("更新成功,共更新 " + countRow + " 条数据"); }
private static void OperationRepeatData2() { GetDepartmentList DepartmentList = DepartmentBll.GetList(); string sql = @" select * from DepartmentResult where ESB_DepartmentID in( '1000003530', '1000003531', '1000003532', '1000003534', '1000003535', '1000003536', '1000003537', '1000003538' ) "; SqlSugarClient Ddb = new SqlSugarClient(new ConnectionConfig() { ConnectionString = Config.DingTalkConnectionString, DbType = DbType.SqlServer, IsAutoCloseConnection = true, InitKeyType = InitKeyType.Attribute }); List <DepartmentResult> list = Ddb.Ado.SqlQuery <DepartmentResult>(sql); foreach (var item in list) { var dddd = DepartmentList.department.Where(e => e.id.Equals(item.id)).ToList().FirstOrDefault(); if (dddd != null) { DepartmentEntity model = new DepartmentEntity(); string DepartmentJson = GetDepartment(item.id); model = JsonHelper.JsonToModel <DepartmentEntity>(DepartmentJson); //如果部门名或者部门父ID与钉钉的不同的时候就更新,如果相同就不调用更新接口 if (!model.name.Equals(item.ESB_DepartmentName)) { model.name = item.ESB_DepartmentName; model.sourceIdentifier = item.ESB_DepartmentID; string param = model.ToJson(); Result result = DepartmentBll.Update(param); } } } Console.Write("\r\n处理完毕"); }