Esempio n. 1
0
        /// <summary>
        /// 删除指定需求信息
        /// </summary>
        /// <param name="id">需求信息id</param>
        /// <returns>JsonResult.</returns>
        public JsonResult RemoveRequirement(long id)
        {
            using (ResponseResult <T_BUSINESS_PUBLISHED_DEMAND> result = new ResponseResult <T_BUSINESS_PUBLISHED_DEMAND>())
            {
                T_BUSINESS_PUBLISHED_DEMAND req = repository.GetByKey(id);

                if (req == null)
                {
                    result.Message   = ResponeString.DeleteWithNonMessage;
                    result.IsSuccess = false;
                }
                else
                {
                    //进行中
                    if (businessing.Contains(req.PublishStateId))
                    {
                        req.IsDeleted      = true;
                        req.PublishStateId = 100504;//已取消
                        _commonRepository.Modify <T_BUSINESS_PUBLISHED_DEMAND>(req, b => b.Id == id);
                        result.IsSuccess = true;
                        result.Entity    = req;
                        result.Message   = ResponeString.DeleteSuccessfullyMessage;
                    }
                    else
                    {
                        result.IsSuccess = false;
                        result.Message   = ResponeString.NotDelete;
                    }
                }

                return(Json(result));
            }
        }
Esempio n. 2
0
        /// <summary>
        /// 产业商发布需求
        /// </summary>
        /// <param name="id">0表示执行添加操作</param>
        /// <param name="userid">产业商id</param>
        /// <param name="Type">需求类型编号</param>
        /// <param name="Dates">预期时间</param>
        /// <param name="Address">地址</param>
        /// <param name="DetailAddress">详细地址</param>
        /// <param name="PurchaseWeight">收购区间类型编号</param>
        /// <param name="CommenceWeight">起购重量</param>
        /// <param name="PhoneNumber">手机号</param>
        /// <param name="Remark">摘要</param>
        /// <param name="cropId">农作物Id</param>
        /// <param name="PurchaseStartPrice">预期最低价格</param>
        /// <param name="PurchaseEndPrice">预期最高价格</param>
        /// <param name="?">The ?.</param>
        /// <returns>JsonResult.</returns>
        public JsonResult SaveRequirement(long id, long userid, int Type, string Dates, string Address, string DetailAddress,
                                          int PurchaseWeight, int CommenceWeight, string PhoneNumber, string Remark, int cropId, double PurchaseStartPrice = 0, double PurchaseEndPrice = 0)
        {
            using (ResponseResult <T_BUSINESS_PUBLISHED_DEMAND> result = new ResponseResult <T_BUSINESS_PUBLISHED_DEMAND>())
            {
                int pwnumber = 0;
                int conumber = 0;
                //收粮:100201
                //产业商收购粮食重量区间:100400
                //产业商收购粮食起购重量:100600
                //收青贮:100202
                //产业商收购青贮重量区间:101100
                //产业商收购青贮起购亩数:101200
                if (string.IsNullOrEmpty(Dates))
                {
                    result.IsSuccess = false;
                    result.Message   = ResponeString.DateNotNull;
                    return(Json(result));
                }
                if (!Utility.RegexHelper.IsMatch(Address, @"^\d*\|\d*\|\d*\|\d*\|\d*$"))
                {
                    result.IsSuccess = false;
                    result.Message   = ResponeString.AddressError;
                    return(Json(result));
                }
                if (string.IsNullOrEmpty(PhoneNumber))
                {
                    result.IsSuccess = false;
                    result.Message   = ResponeString.PhonenumberNotNull;
                    return(Json(result));
                }
                if (cropId < 0)
                {
                    cropId = 0;
                }
                switch (Type)
                {
                case 100201:
                    if (!_commonRepository.CheckTypeid <T_SYS_DICTIONARY>(s => (s.Code == PurchaseWeight && s.ParentCode == 100400)))
                    {
                        result.IsSuccess = false;
                        result.Message   = String.Format("{0} -" + ResponeString.ParmetersInvalidMessage, PurchaseWeight.ToString());
                        return(Json(result));
                    }
                    if (!_commonRepository.CheckTypeid <T_SYS_DICTIONARY>(s => (s.Code == CommenceWeight && s.ParentCode == 100600)))
                    {
                        result.IsSuccess = false;
                        result.Message   = String.Format("{0} -" + ResponeString.ParmetersInvalidMessage, CommenceWeight.ToString());
                        return(Json(result));
                    }
                    var pwmodel = _commonRepository.GetById <T_SYS_DICTIONARY>(s => s.Code == PurchaseWeight);
                    var comodel = _commonRepository.GetById <T_SYS_DICTIONARY>(s => s.Code == CommenceWeight);
                    pwnumber = pwmodel.DisplayName.Contains("以上") == true?Convert.ToInt32(pwmodel.DisplayName.Replace("吨以上", "")) + 1 : Convert.ToInt32(pwmodel.DisplayName.Replace("吨", "").Split('-')[1]);

                    conumber = comodel.DisplayName.Contains("以上") == true?Convert.ToInt32(comodel.DisplayName.Replace("吨以上", "")) + 1 : Convert.ToInt32(comodel.DisplayName.Replace("吨", ""));

                    if (conumber > pwnumber)
                    {
                        result.IsSuccess = false;
                        result.Message   = ResponeString.WeightIsError;
                        return(Json(result));
                    }
                    break;

                case 100202:
                    if (!_commonRepository.CheckTypeid <T_SYS_DICTIONARY>(s => (s.Code == PurchaseWeight && s.ParentCode == 101100)))
                    {
                        result.IsSuccess = false;
                        result.Message   = String.Format("{0} -" + ResponeString.ParmetersInvalidMessage, PurchaseWeight.ToString());
                        return(Json(result));
                    }
                    if (!_commonRepository.CheckTypeid <T_SYS_DICTIONARY>(s => (s.Code == CommenceWeight && s.ParentCode == 101200)))
                    {
                        result.IsSuccess = false;
                        result.Message   = String.Format("{0} -" + ResponeString.ParmetersInvalidMessage, CommenceWeight.ToString());
                        return(Json(result));
                    }
                    pwmodel  = _commonRepository.GetById <T_SYS_DICTIONARY>(s => s.Code == PurchaseWeight);
                    comodel  = _commonRepository.GetById <T_SYS_DICTIONARY>(s => s.Code == CommenceWeight);
                    pwnumber = pwmodel.DisplayName.Contains("以上") == true?Convert.ToInt32(pwmodel.DisplayName.Replace("亩以上", "")) + 1 : Convert.ToInt32(pwmodel.DisplayName.Replace("亩", "").Split('-')[1]);

                    conumber = comodel.DisplayName.Contains("以上") == true?Convert.ToInt32(comodel.DisplayName.Replace("亩以上", "")) + 1 : Convert.ToInt32(comodel.DisplayName.Replace("亩", ""));

                    if (conumber > pwnumber)
                    {
                        result.IsSuccess = false;
                        result.Message   = ResponeString.WeightIsError;
                        return(Json(result));
                    }
                    break;

                default:
                    result.IsSuccess = false;
                    result.Message   = String.Format("{0} -" + ResponeString.ParmetersInvalidMessage, Type.ToString());
                    return(Json(result));
                }
                //验证userid是否有操作权限
                if (_commonRepository.CheckUserId(userid, (int)RoleType.Business))
                {
                    //执行添加操作
                    if (id == 0)
                    {
                        T_BUSINESS_PUBLISHED_DEMAND newRequirement = new T_BUSINESS_PUBLISHED_DEMAND();
                        newRequirement.CreateUserId   = userid;
                        newRequirement.DemandTypeId   = Type;
                        newRequirement.ExpectedDate   = Dates;
                        newRequirement.PublishStateId = 100501;
                        Dictionary <string, string> adc = StringHelper.GetAddress(Address);

                        newRequirement.Province = adc["Province"];
                        newRequirement.City     = adc["City"];
                        newRequirement.Region   = adc["Region"];
                        newRequirement.Township = adc["Township"];
                        newRequirement.Village  = adc["Village"];

                        newRequirement.DetailedAddress              = DetailAddress != null ? DetailAddress : "";
                        newRequirement.ExpectedStartPrice           = Convert.ToDecimal(PurchaseStartPrice);
                        newRequirement.ExpectedEndPrice             = Convert.ToDecimal(PurchaseEndPrice);
                        newRequirement.AcquisitionWeightRangeTypeId = PurchaseWeight;
                        newRequirement.FirstWeight = CommenceWeight;
                        newRequirement.PhoneNumber = PhoneNumber;
                        newRequirement.Brief       = Remark != null ? Remark : "";
                        newRequirement.CreateTime  = Utility.TimeHelper.GetChinaLocalTime();
                        newRequirement.CropId      = cropId;
                        repository.Insert(newRequirement);

                        result.Entity    = newRequirement;
                        result.IsSuccess = true;
                        result.Message   = ResponeString.SaveSuccessfullyMessage;

                        return(Json(result));
                    }
                    //执行修改操作
                    T_BUSINESS_PUBLISHED_DEMAND updateRequirement = repository.GetByKey(id);
                    if (!updateRequirement.Equals(null))
                    {
                        //当前需求已被响应不能在修改
                        if (updateRequirement.PublishStateId == 100501)
                        {
                            updateRequirement.ModifiedUserId = userid;
                            updateRequirement.ModifiedTime   = Utility.TimeHelper.GetChinaLocalTime();
                            updateRequirement.DemandTypeId   = Type;
                            updateRequirement.ExpectedDate   = Dates;
                            updateRequirement.PublishStateId = 100501;
                            Dictionary <string, string> adc = StringHelper.GetAddress(Address);

                            updateRequirement.Province = adc["Province"];
                            updateRequirement.City     = adc["City"];
                            updateRequirement.Region   = adc["Region"];
                            updateRequirement.Township = adc["Township"];
                            updateRequirement.Village  = adc["Village"];

                            updateRequirement.DetailedAddress              = DetailAddress;
                            updateRequirement.ExpectedStartPrice           = Convert.ToDecimal(PurchaseStartPrice);
                            updateRequirement.ExpectedEndPrice             = Convert.ToDecimal(PurchaseEndPrice);
                            updateRequirement.AcquisitionWeightRangeTypeId = PurchaseWeight;
                            updateRequirement.FirstWeight = CommenceWeight;
                            updateRequirement.PhoneNumber = PhoneNumber;
                            updateRequirement.Brief       = Remark;
                            updateRequirement.CropId      = cropId;
                            _commonRepository.Modify <T_BUSINESS_PUBLISHED_DEMAND>(updateRequirement, b => b.Id == id);
                            result.Entity    = updateRequirement;
                            result.IsSuccess = true;
                            result.Message   = ResponeString.SaveSuccessfullyMessage;
                        }
                        else
                        {
                            result.IsSuccess = false;
                            result.Message   = ResponeString.NotUpdate;
                        }
                    }
                    else
                    {
                        result.IsSuccess = false;
                        result.Message   = String.Format("{0} -" + ResponeString.ParmetersInvalidMessage, id.ToString());
                    }
                }
                else
                {
                    result.IsSuccess = false;
                    result.Message   = String.Format("{0} -" + ResponeString.NoJurisdiction, userid.ToString());
                }
                return(Json(result));
            }
        }
Esempio n. 3
0
        public JsonResult CommentRequirement(int isOwn, long id, long userid, string commentString, int score)
        {
            using (ResponseResult <object> result = new ResponseResult <object>())
            {
                //产业商的需求
                if (isOwn == 0)
                {
                    T_BUSINESS_PUBLISHED_DEMAND model = _commonRepository.GetById <T_BUSINESS_PUBLISHED_DEMAND>(b => b.Id == id);
                    //验证当前需求编号是否存在
                    if (model != null)
                    {
                        T_BUSINESS_DEMAND_RESPONSE_RELATION responseRelation = _commonRepository.GetById <T_BUSINESS_DEMAND_RESPONSE_RELATION>(b => b.DemandId == id && b.UserId == userid);
                        //验证ueserid是否有效
                        if (responseRelation != null)
                        {
                            responseRelation.Score     = score;
                            responseRelation.Comments  = commentString != null ? commentString : "";
                            responseRelation.ReplyTime = Utility.TimeHelper.GetChinaLocalTime();
                            var bonusDPoint = int.Parse(this._sysSettingRepository.GetSetting(DataKey.BonusDPointByCommentSettingID).SETTING_VALUE);
                            responseRelation.BonusDPoint = bonusDPoint;

                            //执行评价操作
                            _commonRepository.Modify <T_BUSINESS_DEMAND_RESPONSE_RELATION>(responseRelation, b => b.DemandId == id && b.UserId == userid);
                            if (score > 0)
                            {
                                var dpointTotal = score * bonusDPoint;
                                //给评价人自己添加系统默认先锋币
                                _commonRepository.AddDuPontPoint(model.CreateUserId, "评价添加先锋币", (int)SysCfg.SysUserId, bonusDPoint);
                                //给被评价人添加先锋币
                                _commonRepository.AddDuPontPoint(responseRelation.UserId, "被评价添加先锋币", (int)SysCfg.SysUserId, dpointTotal);

                                //计算被评价者的角色等级
                                var farmerRoleId = (int)RoleType.Farmer;
                                var userRoleInfo = _userRoleService.GetAll(p => p.MemberType && p.UserID == userid && p.RoleID == farmerRoleId).FirstOrDefault();
                                if (userRoleInfo != null)
                                {
                                    if (userRoleInfo.TotalReplyCount == null)
                                    {
                                        userRoleInfo.TotalReplyCount = 0;
                                    }

                                    if (userRoleInfo.TotalStarCount == null)
                                    {
                                        userRoleInfo.TotalStarCount = 0;
                                    }

                                    userRoleInfo.TotalReplyCount++;
                                    userRoleInfo.TotalStarCount += score;
                                    var averageStar = userRoleInfo.TotalStarCount / userRoleInfo.TotalReplyCount;
                                    _userRoleService.Update(p => p.UserID == userid && p.RoleID == farmerRoleId, t => new T_USER_ROLE_RELATION
                                    {
                                        Star            = averageStar,
                                        TotalStarCount  = userRoleInfo.TotalStarCount,
                                        TotalReplyCount = userRoleInfo.TotalReplyCount
                                    });
                                }
                            }

                            //评价成功后更改需求状态为已评价(100503)
                            T_BUSINESS_PUBLISHED_DEMAND fmodel = _commonRepository.GetById <T_BUSINESS_PUBLISHED_DEMAND>(f => f.Id == id);
                            fmodel.PublishStateId = 100503;
                            _commonRepository.Modify <T_BUSINESS_PUBLISHED_DEMAND>(fmodel, f => f.Id == id);
                            result.IsSuccess = true;
                            result.Entity    = responseRelation;
                        }
                        else
                        {
                            result.IsSuccess = false;
                            result.Message   = string.Format("{0} - " + ResponeString.NoJurisdiction, userid.ToString());
                        }
                    }
                    else
                    {
                        result.IsSuccess = false;
                        result.Message   = string.Format("{0} - " + ResponeString.ParmetersInvalidMessage, id.ToString());
                    }
                }
                else
                {
                    T_FARMER_PUBLISHED_DEMAND model = _commonRepository.GetById <T_FARMER_PUBLISHED_DEMAND>(b => b.Id == id);
                    //验证当前需求编号是否存在于产业商需求表中且当前需求没有被删除且是excuteuserId创建的
                    if (model != null)
                    {
                        T_FARMER_DEMAND_RESPONSE_RELATION responseRelation = _commonRepository.GetById <T_FARMER_DEMAND_RESPONSE_RELATION>(b => b.DemandId == id && b.UserId == userid);
                        //验证ueserid是否有效
                        if (responseRelation != null)
                        {
                            responseRelation.Score     = score;
                            responseRelation.Comments  = commentString != null ? commentString : "";
                            responseRelation.ReplyTime = Utility.TimeHelper.GetChinaLocalTime();
                            var bonusDPoint = int.Parse(this._sysSettingRepository.GetSetting(DataKey.BonusDPointByCommentSettingID).SETTING_VALUE);
                            responseRelation.BonusDPoint = bonusDPoint;
                            //执行评价操作
                            _commonRepository.Modify <T_FARMER_DEMAND_RESPONSE_RELATION>(responseRelation, b => b.DemandId == id && b.UserId == userid);
                            //评价成功后更改需求状态为已评价(100503)
                            T_FARMER_PUBLISHED_DEMAND fmodel = _commonRepository.GetById <T_FARMER_PUBLISHED_DEMAND>(f => f.Id == id);
                            fmodel.PublishStateId = 100503;
                            _commonRepository.Modify <T_FARMER_PUBLISHED_DEMAND>(fmodel, f => f.Id == id);
                            if (score > 0)
                            {
                                var dpointTotal = score * bonusDPoint;
                                //给评价人自己添加系统默认先锋币
                                _commonRepository.AddDuPontPoint(responseRelation.UserId, "评价添加先锋币", (int)SysCfg.SysUserId, bonusDPoint);
                                //给被评价人添加先锋币
                                _commonRepository.AddDuPontPoint(model.CreateUserId, "被评价添加先锋币", (int)SysCfg.SysUserId, dpointTotal);

                                //计算被评价者的角色等级
                                var farmerRoleId = (int)RoleType.Farmer;
                                var userRoleInfo = _userRoleService.GetAll(p => p.MemberType && p.UserID == userid && p.RoleID == farmerRoleId).FirstOrDefault();
                                if (userRoleInfo != null)
                                {
                                    if (userRoleInfo.TotalReplyCount == null)
                                    {
                                        userRoleInfo.TotalReplyCount = 0;
                                    }

                                    if (userRoleInfo.TotalStarCount == null)
                                    {
                                        userRoleInfo.TotalStarCount = 0;
                                    }

                                    userRoleInfo.TotalReplyCount++;
                                    userRoleInfo.TotalStarCount += score;
                                    var averageStar = userRoleInfo.TotalStarCount / userRoleInfo.TotalReplyCount;
                                    _userRoleService.Update(p => p.UserID == userid && p.RoleID == farmerRoleId, t => new T_USER_ROLE_RELATION
                                    {
                                        Star            = averageStar,
                                        TotalStarCount  = userRoleInfo.TotalStarCount,
                                        TotalReplyCount = userRoleInfo.TotalReplyCount
                                    });
                                }
                            }
                            result.IsSuccess = true;
                            result.Entity    = responseRelation;
                        }
                        else
                        {
                            result.IsSuccess = false;
                            result.Message   = string.Format("{0} - " + ResponeString.NoJurisdiction, userid.ToString());
                        }
                    }
                    else
                    {
                        result.IsSuccess = false;
                        result.Message   = string.Format("{0} - " + ResponeString.ParmetersInvalidMessage, id.ToString());
                    }
                }
                return(Json(result));
            }
        }