/// <summary> /// 当前签到奖励 /// </summary> /// <param name="managerId"></param> /// <returns></returns> public DailyAttendancePrizeResponse AttendancePrize(Guid managerId) { try { var manager = ManagerCore.Instance.GetManager(managerId); if (manager == null) { return(ResponseHelper.InvalidParameter <DailyAttendancePrizeResponse>()); } int days; var dailyAttendManager = GetManager(managerId, manager.Name, out days); if (dailyAttendManager.IsAttend) { return(ResponseHelper.Create <DailyAttendancePrizeResponse>(MessageCode.PrizeHaveSend)); } int curTimes = ++dailyAttendManager.AttendTimes; var prizeEntity = CacheFactory.DayAttendCache.GetPrizeEntity(curTimes); if (prizeEntity == null) { return(ResponseHelper.Create <DailyAttendancePrizeResponse>(MessageCode.ActivityNoConfigPrize)); } //奖励发送 var code = SendPrize(managerId, prizeEntity); if (code != MessageCode.Success) { return(ResponseHelper.Create <DailyAttendancePrizeResponse>(code)); } dailyAttendManager.IsAttend = true; //IsAttendance = true; dailyAttendManager.UpdateTime = DateTime.Now; if (!DailyattendanceManagerMgr.Update(dailyAttendManager)) { return(ResponseHelper.Create <DailyAttendancePrizeResponse>(MessageCode.FailUpdate)); } var response = ResponseHelper.Create <DailyAttendancePrizeResponse>(MessageCode.Success); response.Data = new DailyAttendancePrize(); response.Data.Prize = prizeEntity; return(response); } catch (Exception ex) { SystemlogMgr.Error("DailyAttendancePrize", ex); return(ResponseHelper.Create <DailyAttendancePrizeResponse>(MessageCode.Exception)); } }
public DailyattendanceManagerEntity GetManager(Guid managerId, string name, out int days) { var dtNow = DateTime.Now.Date; var curMonth = dtNow.Month; days = DateTime.DaysInMonth(dtNow.Year, curMonth); var manager = DailyattendanceManagerMgr.GetManager(managerId, name, curMonth); if (manager.Month != curMonth) { //IsInstance = false; manager = DailyattendanceManagerMgr.UpdateMonth(managerId, curMonth); } if (dtNow != manager.UpdateTime.Date) { //IsInstance = false; manager = DailyattendanceManagerMgr.UpdateStatus(managerId); } return(manager); }