public void SaveEntity(int? keyValue, dm_intergraldetailEntity entity)
		{
			try
			{
				dM_IntergralDetailService.SaveEntity(keyValue, entity);
			}
			catch (Exception ex)
			{
				if (ex is ExceptionEx)
				{
					throw;
				}
				throw ExceptionEx.ThrowBusinessException(ex);
			}
		}
        public void ApplyChangeGood(dm_intergralchangerecordEntity dm_IntergralchangerecordEntity, dm_userEntity dm_UserEntity)
        {
            IRepository db = BaseRepository("dm_data").BeginTrans();

            try
            {
                DM_IntergralChangeGoodService dM_IntergralChangeGoodService = new DM_IntergralChangeGoodService();
                dm_intergralchangegoodEntity  dm_IntergralchangegoodEntity  = dM_IntergralChangeGoodService.GetEntity(dm_IntergralchangerecordEntity.goodid.ToInt());
                if (dm_IntergralchangegoodEntity == null)
                {
                    throw new Exception("该商品不存在!");
                }
                if (!(dm_UserEntity.integral >= dm_IntergralchangegoodEntity.needintergral))
                {
                    throw new Exception("账户积分不足!");
                }

                dm_UserEntity.integral -= dm_IntergralchangegoodEntity.needintergral;
                dm_intergraldetailEntity dm_IntergraldetailEntity = new dm_intergraldetailEntity()
                {
                    currentvalue = dm_UserEntity.integral,
                    stepvalue    = dm_IntergralchangegoodEntity.needintergral,
                    user_id      = dm_UserEntity.id,
                    type         = 6,
                    title        = "兑换商品",
                    remark       = "使用积分兑换商品--" + dm_IntergralchangegoodEntity.goodtitle,
                    profitLoss   = 2
                };
                dm_IntergraldetailEntity.Create();

                db.Insert(dm_IntergraldetailEntity);
                db.Insert(dm_IntergralchangerecordEntity);
                dm_UserEntity.Modify(dm_UserEntity.id);
                db.Update(dm_UserEntity);
                db.Commit();
            }
            catch (Exception ex)
            {
                db.Rollback();
                if (ex is ExceptionEx)
                {
                    throw;
                }
                throw ExceptionEx.ThrowServiceException(ex);
            }
        }
 public IEnumerable <dm_task_person_settingEntity> GetPersonProcess(int user_id, string appid)
 {
     try
     {
         IEnumerable <dm_task_person_settingEntity> person_SettingEntities = GetListByCache(appid, 0);
         foreach (var item in person_SettingEntities)
         {
             //每日签到任务
             if (item.s_type == 1)
             {
                 //获取今日是否签到
                 dm_intergraldetailEntity dm_IntergraldetailEntity = dm_IntergralDetailService.GetLastSignData(user_id);
                 item.finishcount  = dm_IntergraldetailEntity.createtime.ToString("yyyy-MM-dd") == DateTime.Now.ToString("yyyy-MM-dd") ? 1 : 0;
                 item.finishstatus = item.finishcount == 1 ? 2 : 0;
             }
             else if (item.s_type == 2)
             {//邀请粉丝任务
                 item.finishcount  = dm_UserRelationService.GetMyChildCount(user_id);
                 item.finishstatus = GetFinishStatus(item.finishcount, item.needcount, user_id, item.id);
             }
             else if (item.s_type == 4)
             {//购物任务
                 item.finishcount  = dm_OrderService.GetMyOrderCount(user_id);
                 item.finishstatus = GetFinishStatus(item.finishcount, item.needcount, user_id, item.id);
             }
         }
         return(person_SettingEntities);
     }
     catch (Exception ex)
     {
         if (ex is ExceptionEx)
         {
             throw;
         }
         else
         {
             throw ExceptionEx.ThrowServiceException(ex);
         }
     }
 }
 public void SaveEntity(int?keyValue, dm_intergraldetailEntity entity)
 {
     try
     {
         if (keyValue > 0)
         {
             entity.Modify(keyValue);
             BaseRepository("dm_data").Update(entity);
         }
         else
         {
             entity.Create();
             BaseRepository("dm_data").Insert(entity);
         }
     }
     catch (Exception ex)
     {
         if (ex is ExceptionEx)
         {
             throw;
         }
         throw ExceptionEx.ThrowServiceException(ex);
     }
 }
示例#5
0
        public void ReceiveAwards(int user_id, int?task_id)
        {
            IRepository db = null;

            try
            {
                #region 获取任务记录
                dm_task_person_settingEntity dm_Task_Person_SettingEntity = GetEntity(task_id);
                #endregion
                if (dm_Task_Person_SettingEntity.s_type == 1)
                {
                    dm_UserService.SignIn(user_id);
                }
                else
                {
                    dm_userEntity dm_UserEntity = dm_UserService.GetEntityByCache(user_id);

                    if (dm_Task_Person_SettingEntity.s_type == 4)
                    {
                        dm_user_relationEntity dm_User_RelationEntity = dm_UserRelationService.GetEntityByUserID(user_id);
                        if (dm_User_RelationEntity.ordercount < dm_Task_Person_SettingEntity.needcount)
                        {
                            throw new Exception("请完成购物任务后再来领取!");
                        }
                    }
                    else if (dm_Task_Person_SettingEntity.s_type == 2)
                    {
                        if (dm_UserEntity.mychildcount < dm_Task_Person_SettingEntity.needcount)
                        {
                            throw new Exception("请完成邀请任务后再来领取!");
                        }
                    }

                    dm_task_person_recordEntity dm_Task_Person_RecordEntity = dm_Task_Person_RecordService.GetMyPersonRecord(user_id, task_id);
                    if (dm_Task_Person_RecordEntity.IsEmpty())
                    {
                        #region 增加任务领取记录
                        dm_Task_Person_RecordEntity            = new dm_task_person_recordEntity();
                        dm_Task_Person_RecordEntity.user_id    = user_id;
                        dm_Task_Person_RecordEntity.task_id    = task_id;
                        dm_Task_Person_RecordEntity.createtime = DateTime.Now;
                        dm_Task_Person_RecordEntity.status     = 1;
                        #endregion


                        db = BaseRepository("dm_data").BeginTrans();
                        //积分任务
                        if (dm_Task_Person_SettingEntity.rewardtype == 0)
                        {
                            #region 增加积分变更明细
                            int stepvalue = int.Parse(dm_Task_Person_SettingEntity.rewardcount.ToString());//积分无小数
                            dm_intergraldetailEntity dm_IntergraldetailEntity = new dm_intergraldetailEntity();
                            dm_IntergraldetailEntity.type         = 4;
                            dm_IntergraldetailEntity.profitLoss   = 1;
                            dm_IntergraldetailEntity.user_id      = user_id;
                            dm_IntergraldetailEntity.createtime   = DateTime.Now;
                            dm_IntergraldetailEntity.currentvalue = dm_UserEntity.integral + stepvalue;
                            dm_IntergraldetailEntity.stepvalue    = stepvalue;
                            dm_IntergraldetailEntity.title        = dm_Task_Person_SettingEntity.title;
                            dm_IntergraldetailEntity.remark       = dm_Task_Person_SettingEntity.remark;
                            dm_IntergraldetailEntity.Create();

                            dm_UserEntity.integral = dm_IntergraldetailEntity.currentvalue;
                            #endregion
                            db.Insert(dm_UserEntity);
                        }
                        else
                        { //余额任务
                            #region 增加余额变更明细
                            dm_accountdetailEntity dm_AccountdetailEntity = new dm_accountdetailEntity();
                            dm_AccountdetailEntity.user_id      = user_id;
                            dm_AccountdetailEntity.type         = 10;
                            dm_AccountdetailEntity.profitLoss   = CommonHelper.GetProfitLoss(10);
                            dm_AccountdetailEntity.createtime   = DateTime.Now;
                            dm_AccountdetailEntity.currentvalue = dm_UserEntity.accountprice + dm_Task_Person_SettingEntity.rewardcount;
                            dm_AccountdetailEntity.stepvalue    = dm_Task_Person_SettingEntity.rewardcount;
                            dm_AccountdetailEntity.title        = dm_Task_Person_SettingEntity.title;
                            dm_AccountdetailEntity.remark       = dm_Task_Person_SettingEntity.remark;
                            dm_AccountdetailEntity.Create();
                            #endregion

                            dm_UserEntity.accountprice = dm_AccountdetailEntity.currentvalue;
                            db.Insert(dm_AccountdetailEntity);
                        }

                        dm_UserEntity.Modify(user_id);
                        db.Update(dm_UserEntity);
                        db.Insert(dm_Task_Person_RecordEntity);

                        db.Commit();
                    }
                    else
                    {
                        throw new Exception("该任务已领取!");
                    }
                }
            }
            catch (Exception ex)
            {
                if (db != null)
                {
                    db.Rollback();
                }

                if (ex is ExceptionEx)
                {
                    throw;
                }
                else
                {
                    throw ExceptionEx.ThrowServiceException(ex);
                }
            }
        }
示例#6
0
        public IEnumerable <dm_task_person_settingEntity> GetPersonProcess(int user_id, string appid)
        {
            try
            {
                IEnumerable <dm_task_person_settingEntity> person_SettingEntities = GetListByCache(appid, 0);
                foreach (var item in person_SettingEntities)
                {
                    //每日签到任务
                    if (item.s_type == 1)
                    {
                        //获取今日是否签到
                        dm_intergraldetailEntity dm_IntergraldetailEntity = dm_IntergralDetailService.GetLastSignData(user_id);
                        if (dm_IntergraldetailEntity.IsEmpty())
                        {
                            item.finishcount  = 0;
                            item.finishstatus = 0;
                            item.btntext      = "签到";
                        }
                        else
                        {
                            item.finishcount  = dm_IntergraldetailEntity.createtime.ToString("yyyy-MM-dd") == DateTime.Now.ToString("yyyy-MM-dd") ? 1 : 0;
                            item.finishstatus = item.finishcount == 1 ? 2 : 0;
                            item.btntext      = item.finishstatus == 0 ? "签到" : "已完成";
                        }
                    }
                    else if (item.s_type == 2)
                    {//邀请粉丝任务
                        dm_userEntity dm_UserEntity = dm_UserService.GetEntityByCache(user_id);
                        item.finishcount  = (int)dm_UserEntity.mychildcount;
                        item.finishstatus = GetFinishStatus(item.finishcount, item.needcount, user_id, item.id);
                        item.remark      += string.Format("({0}/{1})", item.finishcount, item.needcount);

                        item.btntext = getBtnText(item.finishstatus, item.s_type);
                    }
                    else if (item.s_type == 4)
                    {//购物任务
                        dm_user_relationEntity dm_User_RelationEntity = dm_UserRelationService.GetEntityByUserID(user_id);
                        item.finishcount  = dm_User_RelationEntity.ordercount;
                        item.finishstatus = GetFinishStatus(item.finishcount, item.needcount, user_id, item.id);

                        item.remark += string.Format("({0}/{1})", item.finishcount, item.needcount);

                        item.btntext = getBtnText(item.finishstatus, item.s_type);
                    }
                    else if (item.s_type == 6)
                    {
                        item.finishstatus = GetFinishStatus(item.finishcount, item.needcount, user_id, item.id);
                        item.finishcount  = 0;//浏览任务此字段无意义

                        item.btntext = item.finishstatus == 2 ? "已完成" : "去浏览";
                    }
                }
                return(person_SettingEntities);
            }
            catch (Exception ex)
            {
                if (ex is ExceptionEx)
                {
                    throw;
                }
                else
                {
                    throw ExceptionEx.ThrowServiceException(ex);
                }
            }
        }
        public dynamic SignIn(int userid)
        {
            IRepository db = null;

            try
            {
                dm_userEntity dm_UserEntity = GetEntityByCache(userid);
                if (dm_UserEntity.IsEmpty())
                {
                    throw new Exception("用户信息异常!");
                }
                dm_basesettingEntity dm_BasesettingEntity = dm_BaseSettingService.GetEntityByCache(dm_UserEntity.appid);
                if (dm_BasesettingEntity.IsEmpty())
                {
                    throw new Exception("获取基础配置信息异常!");
                }
                int?currentIntegral = 0;
                int signCount       = 0;
                dm_intergraldetailEntity dm_IntergraldetailEntity = dM_IntergralDetailService.GetLastSignData(userid);
                if (dm_IntergraldetailEntity == null)
                {
                    currentIntegral = dm_BasesettingEntity.firstsign;
                    signCount       = 1;
                }
                else
                {
                    if (dm_IntergraldetailEntity.createtime.ToString("yyyy-MM-dd") == DateTime.Now.ToString("yyyy-MM-dd"))
                    {
                        throw new Exception("今日已签到!");
                    }
                    if (dm_IntergraldetailEntity.createtime.ToString("yyyy-MM-dd") == DateTime.Now.AddDays(-1.0).ToString("yyyy-MM-dd"))
                    {
                        int?todayIntegral = dm_IntergraldetailEntity.stepvalue + dm_BasesettingEntity.signscrement;
                        currentIntegral = ((todayIntegral > dm_BasesettingEntity.signcapping) ? dm_BasesettingEntity.signcapping : todayIntegral);
                        signCount       = int.Parse(dm_IntergraldetailEntity.remark) + 1;
                    }
                    else
                    {
                        currentIntegral = dm_BasesettingEntity.firstsign;
                        signCount       = 1;
                    }
                }
                dm_UserEntity.integral += currentIntegral;
                dm_UserEntity.Modify(dm_UserEntity.id);
                db = BaseRepository("dm_data").BeginTrans();
                db.Update(dm_UserEntity);
                db.Insert(new dm_intergraldetailEntity
                {
                    currentvalue = dm_UserEntity.integral,
                    stepvalue    = currentIntegral,
                    user_id      = userid,
                    title        = "签到奖励",
                    remark       = signCount.ToString(),
                    type         = 2,
                    createtime   = DateTime.Now
                });
                db.Commit();
                return(new
                {
                    CurrentIntegral = currentIntegral,
                    SignCount = signCount
                });
            }
            catch (Exception ex)
            {
                if (db != null)
                {
                    db.Rollback();
                }
                if (ex is ExceptionEx)
                {
                    throw;
                }
                throw ExceptionEx.ThrowServiceException(ex);
            }
        }
示例#8
0
        public void ClickShare(dm_friend_thumb_recordEntity dm_Friend_Thumb_RecordEntity)
        {
            IRepository db = null;

            try
            {
                dm_friend_thumb_recordEntity dm_Friend_Thumb_RecordEntity_Exist = this.BaseRepository("dm_data").FindEntity <dm_friend_thumb_recordEntity>(t => t.user_id == dm_Friend_Thumb_RecordEntity.user_id && t.friend_id == dm_Friend_Thumb_RecordEntity.friend_id && t.operatetype == 1);
                if (dm_Friend_Thumb_RecordEntity_Exist.IsEmpty())
                {//不存在点赞记录
                    #region 首次点赞成功之后给发布人赠送积分
                    dm_friend_circleEntity dm_Friend_CircleEntity = new dm_friend_circleService().GetEntity((int)dm_Friend_Thumb_RecordEntity.friend_id);
                    #endregion

                    if (dm_Friend_CircleEntity.t_type == 0)
                    {
                        dm_userEntity        dm_UserEntity        = new DM_UserService().GetEntity(int.Parse(dm_Friend_CircleEntity.createcode));
                        dm_basesettingEntity dm_BasesettingEntity = new DM_BaseSettingService().GetEntityByCache(dm_UserEntity.appid);

                        if (dm_Friend_CircleEntity.t_type == 0 && (dm_UserEntity.userlevel == 0 && dm_BasesettingEntity.miquan_allowclickpraise == 1) || dm_UserEntity.userlevel == 1 || dm_UserEntity.userlevel == 2)
                        {
                            db = this.BaseRepository("dm_data").BeginTrans();

                            #region 构造赠送积分的信息
                            int intergral_value = dm_BasesettingEntity.miquan_share_integral;
                            dm_UserEntity.integral += intergral_value;
                            dm_intergraldetailEntity dm_IntergraldetailEntity = new dm_intergraldetailEntity()
                            {
                                currentvalue = dm_UserEntity.integral,
                                stepvalue    = intergral_value,
                                user_id      = dm_UserEntity.id,
                                type         = 5,
                                title        = "米圈分享",
                                remark       = "米圈文案被其他用户分享所得奖励",
                                profitLoss   = 1
                            };
                            dm_IntergraldetailEntity.Create();
                            #endregion

                            dm_Friend_Thumb_RecordEntity.status      = 1;
                            dm_Friend_Thumb_RecordEntity.operatetype = 1;//分享
                            dm_Friend_Thumb_RecordEntity.Create();

                            db.Insert(dm_IntergraldetailEntity);     //添加积分获取记录
                            db.Insert(dm_Friend_Thumb_RecordEntity); //添加点赞记录
                            db.Update(dm_UserEntity);                //修改用户信息
                            db.Commit();
                        }
                        else
                        {
                            dm_Friend_Thumb_RecordEntity.status      = 1;
                            dm_Friend_Thumb_RecordEntity.operatetype = 1;//分享
                            dm_Friend_Thumb_RecordEntity.Create();
                            this.BaseRepository("dm_data").Insert(dm_Friend_Thumb_RecordEntity);
                        }
                    }
                    else
                    {
                        dm_Friend_Thumb_RecordEntity.status      = 1;
                        dm_Friend_Thumb_RecordEntity.operatetype = 1;//分享
                        dm_Friend_Thumb_RecordEntity.Create();
                        this.BaseRepository("dm_data").Insert(dm_Friend_Thumb_RecordEntity);
                    }
                }
                else
                {
                    dm_Friend_Thumb_RecordEntity_Exist.status = 1;
                    dm_Friend_Thumb_RecordEntity_Exist.Modify(dm_Friend_Thumb_RecordEntity_Exist.id);
                    this.BaseRepository("dm_data").Update(dm_Friend_Thumb_RecordEntity_Exist);
                }
            }
            catch (Exception ex)
            {
                if (db != null)
                {
                    db.Rollback();
                }
                if (ex is ExceptionEx)
                {
                    throw;
                }
                else
                {
                    throw ExceptionEx.ThrowServiceException(ex);
                }
            }
        }