public IHttpActionResult PostPlan([FromBody] dynamic value) { RetJsonModel result = new RetJsonModel(); try { string UserId = Convert.ToString(value.user_id); int IsShare = Convert.ToInt32(value.is_share); //数据校验 RunVerify VD = new RunVerify(); VD.Run(UserId, new VerifyUser()); PlanHeaderModel planModel = JsonConvert.DeserializeObject <PlanHeaderModel>(Convert.ToString(value.plan_info)); VD.Run(planModel.FIRST_PATH_ID, new VerifyFirstPath()); PlanDomain PD = new PlanDomain(); result = PD.PostPlan(UserId, IsShare, planModel); return(Json(result)); } catch (Exception ex) { //记录失败日志 FunctionHelper.SaveFailLog("Plan", "PostPlan", "bus/plan/post", "发布计划接口", Convert.ToString(value), ex.Message.ToString(), "POST"); result.status = 0; result.time = FunctionHelper.GetTimestamp(); result.msg = "发布失败,请重试"; return(Json(result)); } }
public IHttpActionResult UpdatePlan([FromBody] dynamic value) { RetJsonModel result = new RetJsonModel(); try { string UserId = Convert.ToString(value.user_id); int IsShare = Convert.ToInt32(value.is_share); //数据校验 RunVerify VD = new RunVerify(); VD.Run(UserId, new VerifyUser()); PlanHeaderModel planModel = JsonConvert.DeserializeObject <PlanHeaderModel>(Convert.ToString(value.plan_info)); if (planModel.PLAN_DTL == null) { throw new Exception("前台传的计划明细为空"); } VD.Run(planModel.ID, new VerifyPlanHead()); foreach (var item in planModel.PLAN_DTL.Where(x => !string.IsNullOrEmpty(x.PLAN_DTL_ID)).ToList()) { VD.Run(item.PLAN_DTL_ID, new VerifyPlanDetail()); } PlanDomain PD = new PlanDomain(); result = PD.UpdatePlan(UserId, IsShare, planModel); return(Json(result)); } catch (Exception ex) { //记录失败日志 FunctionHelper.SaveFailLog("Plan", "UpdatePlan", "bus/plan/update", "修改计划接口", Convert.ToString(value), ex.Message.ToString(), "POST"); result.status = 0; result.time = FunctionHelper.GetTimestamp(); result.msg = "修改失败,请重试"; return(Json(result)); } }
/// <summary> /// 发布计划 /// </summary> /// <param name="userId">用户ID</param> /// <param name="isShare">是否直接分享</param> /// <param name="feedModel">职业路径三级信息</param> /// <returns></returns> public RetJsonModel PostPlan(string userId, int isShare, PlanHeaderModel planModel) { var db = DBContext.GetInstance; try { DateTime now = db.GetDate(); int timestamp = FunctionHelper.GetTimestamp(); db.Ado.BeginTran(); //插入计划头表 BUS_PLAN_HEADER head = new BUS_PLAN_HEADER(); head.ID = Guid.NewGuid().ToString(); head.DATETIME_CREATED = now; head.STATE = "A"; head.TIMESTAMP_INT = timestamp; head.USER_ID = userId; head.STATUS = 0; head.FAVOUR_COUNT = 0; head.SOURCE_TYPE = 1; head.FIRST_PATH_ID = planModel.FIRST_PATH_ID; head.SHARED_COUNT = 0; head.IS_SHARED = isShare; if (isShare == 1) { head.SHARE_VERSION = 1; } db.Insertable(head).ExecuteCommand(); int seq = 1; foreach (var item in planModel.PLAN_DTL) { //插入计划明细表(个人可见) BUS_PLAN_DETAIL dtl1 = new BUS_PLAN_DETAIL(); dtl1.ID = Guid.NewGuid().ToString(); dtl1.DATETIME_CREATED = now; dtl1.STATE = "A"; dtl1.TIMESTAMP_INT = timestamp; dtl1.HEADER_ID = head.ID; dtl1.SEQ = seq; dtl1.CONTENT = item.CONTENT; dtl1.STATUS = 0; dtl1.VISIBLE_TYPE = 1; db.Insertable(dtl1).ExecuteCommand(); if (isShare == 1) { //插入计划明细表(全员可见) BUS_PLAN_DETAIL dtl2 = new BUS_PLAN_DETAIL(); dtl2.ID = Guid.NewGuid().ToString(); dtl2.DATETIME_CREATED = now; dtl2.STATE = "A"; dtl2.TIMESTAMP_INT = timestamp; dtl2.HEADER_ID = head.ID; dtl2.SEQ = seq; dtl2.CONTENT = item.CONTENT; dtl2.STATUS = 0; dtl2.VISIBLE_TYPE = 2; db.Insertable(dtl2).ExecuteCommand(); } seq++; } RetJsonModel jsonModel = new RetJsonModel(); jsonModel.time = timestamp; jsonModel.status = 1; jsonModel.msg = "提交成功"; db.Ado.CommitTran(); return(jsonModel); } catch (Exception ex) { db.Ado.RollbackTran(); throw ex; } }
/// <summary> /// 修改计划 /// </summary> /// <param name="userId">用户ID</param> /// <param name="isShare">是否分享</param> /// <param name="planId">计划头ID</param> /// <param name="planDtlId">计划明细集合</param> /// <returns></returns> public RetJsonModel UpdatePlan(string userId, int isShare, PlanHeaderModel planModel) { var db = DBContext.GetInstance; try { DateTime now = db.GetDate(); int timestamp = FunctionHelper.GetTimestamp(); int seq = 1; List <string> idList = planModel.PLAN_DTL.Where(x => !string.IsNullOrEmpty(x.PLAN_DTL_ID)).Select(x => x.PLAN_DTL_ID).ToList(); foreach (var item in planModel.PLAN_DTL) { //修改存在的计划 if (!string.IsNullOrEmpty(item.PLAN_DTL_ID)) { db.Updateable <BUS_PLAN_DETAIL>().SetColumns(x => new BUS_PLAN_DETAIL { DATETIME_MODIFIED = now, CONTENT = item.CONTENT, SEQ = seq }).Where(x => x.ID == item.PLAN_DTL_ID && x.STATE == "A" && x.VISIBLE_TYPE == 1).ExecuteCommand(); } else //新插如的计划 { BUS_PLAN_DETAIL plandtl = new BUS_PLAN_DETAIL(); plandtl.ID = Guid.NewGuid().ToString(); plandtl.DATETIME_CREATED = now; plandtl.STATE = "A"; plandtl.TIMESTAMP_INT = timestamp; plandtl.HEADER_ID = planModel.ID; plandtl.SEQ = seq; plandtl.CONTENT = item.CONTENT; plandtl.STATUS = 0; plandtl.VISIBLE_TYPE = 1; db.Insertable(plandtl).ExecuteCommand(); idList.Add(plandtl.ID); } seq++; } //删除取消的计划 db.Deleteable <BUS_PLAN_DETAIL>() .Where(x => !idList.Contains(x.ID) && x.HEADER_ID == planModel.ID && x.VISIBLE_TYPE == 1 && x.STATE == "A") .ExecuteCommand(); if (isShare == 1) { SharePlanFun(db, planModel.ID, now, timestamp); } RetJsonModel jsonModel = new RetJsonModel(); jsonModel.time = timestamp; jsonModel.status = 1; jsonModel.msg = "修改成功"; db.Ado.CommitTran(); return(jsonModel); } catch (Exception ex) { db.Ado.RollbackTran(); throw ex; } }