Commit b7f80807 authored by 吴春's avatar 吴春

提交代码

parent d750e9b7
using System;
using System.Collections.Generic;
using System.Text;
using Mall.Common.Plugin;
namespace Mall.Common.Enum.TradePavilion
{
public enum NatureEnum
{
/// <summary>
/// 品牌
/// </summary>
[EnumField("品牌")]
Brand = 1,
/// <summary>
/// 载体
/// </summary>
[EnumField("载体")]
Carrier = 2,
/// <summary>
/// 新消费产业链相关企业
/// </summary>
[EnumField("新消费产业链相关企业")]
NewConsume = 3,
/// <summary>
///政府及部门
/// </summary>
[EnumField("政府及部门")]
Government = 4,
/// <summary>
///媒体
/// </summary>
[EnumField("媒体")]
Media = 5,
/// <summary>
///其他
/// </summary>
[EnumField("其他")]
Other = 6
}
}
......@@ -231,5 +231,7 @@ namespace Mall.Model.Entity.Education
/// 提成金额
/// </summary>
public decimal CommissionPrice { get; set; }
}
}
using Mall.Common.Enum;
using Mall.Common.Enum.TradePavilion;
using System;
using VT.FW.DB;
......@@ -95,5 +96,33 @@ namespace Mall.Model.Entity.TradePavilion
/// 拒绝备注
/// </summary>
public string RejectRemark { get; set; }
/// <summary>
/// 活动ids
/// </summary>
public string ActivityIds { get; set; }
/// <summary>
/// 单位/企业/机构名称
/// </summary>
public string CompanyName { get; set; }
/// <summary>
/// 性质
/// </summary>
public NatureEnum? Nature { get; set; }
/// <summary>
/// 职务
/// </summary>
public string Post { get; set; }
/// <summary>
/// 所属国籍/省/市
/// </summary>
public string CountryInfo { get; set; }
}
}
......@@ -88,11 +88,13 @@ namespace Mall.Model.Extend.Education
/// <summary>
/// 活动报名统计
/// </summary>
public class RB_Education_Consult_Statistics: RB_Education_Consult
public class RB_Education_Consult_Statistics : RB_Education_Consult
{
public decimal DueInMoney { get; set; }
public int GuestNum { get; set; }
public int CancelNum { get; set; }
}
}
using Mall.Model.Entity.TradePavilion;
using Mall.Common.Enum.TradePavilion;
using Mall.Model.Entity.TradePavilion;
using System;
using System.Collections.Generic;
using System.Text;
......@@ -8,7 +9,7 @@ namespace Mall.Model.Extend.TradePavilion
/// <summary>
/// 商会活动报名扩展实体类
/// </summary>
public class RB_Commerce_Consult_Extend: RB_Commerce_Consult
public class RB_Commerce_Consult_Extend : RB_Commerce_Consult
{
/// <summary>
/// 活动编号【查询使用】
......@@ -53,4 +54,70 @@ namespace Mall.Model.Extend.TradePavilion
/// </summary>
public string TypeName { get; set; }
}
/// <summary>
/// 首店活动报名
/// </summary>
public class FirstShopConsult
{
/// <summary>
/// 单位/企业/机构名称
/// </summary>
public string CompanyName { get; set; }
/// <summary>
/// 性质
/// </summary>
public NatureEnum? Nature { get; set; }
/// <summary>
/// 活动ids
/// </summary>
public string ActivityIds { get; set; }
/// <summary>
/// 备注
/// </summary>
public string Remark { get; set; }
/// <summary>
/// 报名人信息
/// </summary>
public List<FirstShopLinkManModel> FirstShopLinkManList { get; set; }
}
/// <summary>
/// 首店活动报名
/// </summary>
public class FirstShopLinkManModel
{
/// <summary>
/// 联系人
/// </summary>
public string LinkMan { get; set; }
/// <summary>
/// 联系电话
/// </summary>
public string LinkTel { get; set; }
/// <summary>
/// 职务
/// </summary>
public string Post { get; set; }
/// <summary>
/// 所属国籍/省/市
/// </summary>
public string CountryInfo { get; set; }
}
}
......@@ -305,6 +305,21 @@ namespace Mall.Module.Education
return list;
}
/// <summary>
/// 获取列表
/// </summary>
/// <param name="dmodel"></param>
/// <returns></returns>
public List<RB_Education_Activity_Extend> GetActivityList(RB_Education_Activity_Extend query)
{
var list = education_ActivityRepository.GetList(query);
return list;
}
/// <summary>
/// 新增修改商户活动
/// </summary>
......@@ -1044,7 +1059,6 @@ namespace Mall.Module.Education
/// <summary>
/// 订单记录当前用户的所有上级
/// </summary>
......@@ -2306,19 +2320,22 @@ namespace Mall.Module.Education
{
bool IsJoin = false;
string Remark = "";
if (DSUList.Where(x => x.DSUserId == item.UserId).Any()) {
if (DSUList.Where(x => x.DSUserId == item.UserId).Any())
{
IsJoin = true;//已经参加过了
var dsModel = DSUList.Where(x => x.DSUserId == item.UserId).FirstOrDefault();
Remark = "该用户已在 " + dsModel.ActivityTime.ToString("yyyy-MM-dd") + " " + dsModel.ActivityName + " 活动中参与并已发提成";
}
decimal CommissionMoney = 0;
if (IsJoin == false) {
if (IsJoin == false)
{
//计算提成金额
if (configModel.Type == 1)
{
CommissionMoney = configModel.CommissionMoney;
}
else {
else
{
//百分比 根据实收金额来计算 手续费要算
CommissionMoney = Math.Round(item.Money * configModel.CommissionMoney / 100, 2, MidpointRounding.AwayFromZero);
}
......@@ -2347,17 +2364,22 @@ namespace Mall.Module.Education
});
}
//再来排除 当期重复的用户
if (DetailList.Any()) {
if (DetailList.Where(x=>x.IsJoin== false).Select(x => x.DSUserId).Distinct().Count() != DetailList.Where(x=>x.IsJoin==false).Count()) {
if (DetailList.Any())
{
if (DetailList.Where(x => x.IsJoin == false).Select(x => x.DSUserId).Distinct().Count() != DetailList.Where(x => x.IsJoin == false).Count())
{
List<int> DsUserIdList = DetailList.Where(x => x.IsJoin == false).Select(x => x.DSUserId).Distinct().ToList();
foreach (var DsUserId in DsUserIdList) {
foreach (var DsUserId in DsUserIdList)
{
var dlist = DetailList.Where(x => x.DSUserId == DsUserId && x.IsJoin == false).ToList();
if (dlist.Count() > 1) {
if (dlist.Count() > 1)
{
var ddlist = dlist.OrderByDescending(x => x.CommissionMoney).ThenBy(x => x.ActivityTime).ToList();
//第一条保留提成 其他的不提成
var ddmodel = ddlist.FirstOrDefault();
int Num = 1;
foreach (var qitem in ddlist) {
foreach (var qitem in ddlist)
{
if (Num > 1)
{
decimal cmoney = qitem.CommissionMoney;
......@@ -2387,8 +2409,10 @@ namespace Mall.Module.Education
Periods = month,
SumPrice = 0
}, trans);
if (PeriodsId > 0) {
foreach (var item in DetailList) {
if (PeriodsId > 0)
{
foreach (var item in DetailList)
{
item.PeriodId = PeriodsId;
activity_PeriodsDetailRepository.Insert(item, trans);
}
......@@ -2411,7 +2435,8 @@ namespace Mall.Module.Education
activity_PeriodsRepository.DBSession.Commit();
#region 更新订单提成
foreach (var item in DetailList) {
foreach (var item in DetailList)
{
Dictionary<string, object> keyValues = new Dictionary<string, object>() {
{ nameof(RB_Education_Consult_Extend.IsCommission),2},
{ nameof(RB_Education_Consult_Extend.CommissionPrice),item.CommissionMoney},
......@@ -2435,7 +2460,8 @@ namespace Mall.Module.Education
}
#endregion
}
else {
else
{
return "当月没有可发放提成的订单";
}
......
......@@ -184,19 +184,30 @@ namespace Mall.Module.TradePavilion
return flag;
}
#endregion
#region 商户活动类型管理
/// <summary>
/// 获取商会活动类型分页列表
/// 获取列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="rowsCount"></param>
/// <param name="query"></param>
/// <param name="dmodel"></param>
/// <returns></returns>
public List<RB_Commerce_ActivityType_Extend> GetCommerceActivityTypePageListModule(int pageIndex, int pageSize, out long rowsCount, RB_Commerce_ActivityType_Extend query)
public List<RB_Commerce_Activity_Extend> GetActivityList(RB_Commerce_Activity_Extend query)
{
return commerce_ActivityRepository.GetList(query);
}
#endregion
#region 商户活动类型管理
/// <summary>
/// 获取商会活动类型分页列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="rowsCount"></param>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Commerce_ActivityType_Extend> GetCommerceActivityTypePageListModule(int pageIndex, int pageSize, out long rowsCount, RB_Commerce_ActivityType_Extend query)
{
return activityTypeRepository.GetCommerceActivityTypePageListRepository(pageIndex, pageSize, out rowsCount, query);
}
......
......@@ -80,11 +80,13 @@ namespace Mall.Module.TradePavilion
{nameof(RB_Commerce_Consult_Extend.LinkTel),model.LinkTel },
{nameof(RB_Commerce_Consult_Extend.PeopleNum),model.PeopleNum },
{nameof(RB_Commerce_Consult_Extend.Money),model.Money },
{nameof(RB_Commerce_Consult_Extend.Remark),model.Remark }
{nameof(RB_Commerce_Consult_Extend.Remark),model.Remark }
};
flag = consultRepository.Update(fileds, new WhereHelper(nameof(RB_Commerce_Consult_Extend.Id), model.Id));
if (flag) {
if (oldModel.Money != model.Money) {
if (flag)
{
if (oldModel.Money != model.Money)
{
Dictionary<string, object> keyValues = new Dictionary<string, object>() {
{ nameof(RB_Member_User_Extend.PointNum),umodel.PointNum + oldModel.Money - model.Money}
};
......@@ -102,7 +104,8 @@ namespace Mall.Module.TradePavilion
{
Remarks = "修改活动报名人数,增加使用点数:" + diff;
}
else {
else
{
Remarks = "修改活动报名人数,退回使用点数:" + (0 - diff);
}
member_PointBalanceRepository.Insert(new Model.Entity.User.RB_Member_PointBalance()
......@@ -124,8 +127,10 @@ namespace Mall.Module.TradePavilion
}
else
{
if (model.Money > 0) {
if (umodel.PointNum < model.Money) {
if (model.Money > 0)
{
if (umodel.PointNum < model.Money)
{
return "您的星星值不足,请充值后再试";
}
var actModel = commerce_ActivityRepository.GetEntity(model.ActivityId);
......@@ -136,8 +141,10 @@ namespace Mall.Module.TradePavilion
var newId = consultRepository.Insert(model);
model.Id = newId;
flag = newId > 0;
if (flag) {
if (model.Money > 0) {
if (flag)
{
if (model.Money > 0)
{
Dictionary<string, object> keyValues = new Dictionary<string, object>() {
{ nameof(RB_Member_User_Extend.PointNum),umodel.PointNum - model.Money}
};
......@@ -169,6 +176,37 @@ namespace Mall.Module.TradePavilion
return flag ? "" : "出错了,请联系管理员";
}
/// <summary>
/// 活动报名
/// </summary>
/// <param name="demodel"></param>
/// <returns></returns>
public bool SetBatchActivityEnrollInfo(List<RB_Commerce_Consult_Extend> list)
{
bool flag = false;
try
{
var trans = consultRepository.DbTransaction;
foreach (var demodel in list)
{
flag = consultRepository.Insert(demodel, trans) > 0;
}
consultRepository.DBSession.Commit();
}
catch (Exception ex)
{
Common.Plugin.LogHelper.Write(ex, "SetBatchActivityEnrollInfo");
consultRepository.DBSession.Rollback("SetBatchActivityEnrollInfo");
}
return flag;
}
/// <summary>
/// 根据编号获取商会活动报名实体
/// </summary>
......@@ -192,7 +230,8 @@ namespace Mall.Module.TradePavilion
{nameof(RB_Commerce_Consult_Extend.Status),Status },
};
bool flag = consultRepository.Update(fileds, new WhereHelper(nameof(RB_Commerce_Consult_Extend.Id), Id));
if (flag) {
if (flag)
{
var model = consultRepository.GetEntity(Id);
miai_MessageRepository.Insert(new Model.Extend.Miai.RB_Miai_Message_Extend()
{
......@@ -218,13 +257,13 @@ namespace Mall.Module.TradePavilion
/// <param name="Id"></param>
/// <param name="Status"></param>
/// <returns></returns>
public bool CancelCommerceConsultModule(int activityId, string cancelRemark,out int IsCancelConfirm, int userId)
public bool CancelCommerceConsultModule(int activityId, string cancelRemark, out int IsCancelConfirm, int userId)
{
bool flag;
var amodel = commerce_ActivityRepository.GetEntity(activityId);
IsCancelConfirm = amodel.IsCancelConfirm;
var cmodel = consultRepository.GetCommerceConsultListRepository(new RB_Commerce_Consult_Extend() { ActivityId = activityId, UserId = userId }).FirstOrDefault();
if (cmodel == null || cmodel.Status == Common.Enum.DateStateEnum.Delete) { return true; }
if (cmodel == null || cmodel.Status == Common.Enum.DateStateEnum.Delete) { return true; }
if (amodel.IsCancelConfirm == 1)
{
Dictionary<string, object> fileds = new Dictionary<string, object>()
......@@ -250,7 +289,8 @@ namespace Mall.Module.TradePavilion
new WhereHelper(nameof(RB_Commerce_Consult_Extend.UserId), userId),
};
flag = consultRepository.Update(fileds, list);
if (flag && cmodel.Money > 0) {
if (flag && cmodel.Money > 0)
{
//取消退回使用点数
var umodel = member_UserRepository.GetEntity(cmodel.UserId);
Dictionary<string, object> keyValues = new Dictionary<string, object>() {
......@@ -279,7 +319,8 @@ namespace Mall.Module.TradePavilion
Remarks = "取消活动报名,退回使用星星:" + cmodel.Money,
});
}
if (flag) {
if (flag)
{
miai_MessageRepository.Insert(new Model.Extend.Miai.RB_Miai_Message_Extend()
{
Id = 0,
......@@ -311,7 +352,8 @@ namespace Mall.Module.TradePavilion
var model = consultRepository.GetEntity(id);
if (model == null || model.Status == Common.Enum.DateStateEnum.Delete) { return false; }
int Status = 0;
if (applyForCancelStatus == 1) {
if (applyForCancelStatus == 1)
{
Status = 1;
}
Dictionary<string, object> fileds = new Dictionary<string, object>()
......@@ -325,7 +367,8 @@ namespace Mall.Module.TradePavilion
new WhereHelper(nameof(RB_Commerce_Consult_Extend.Id), id),
};
bool flag = consultRepository.Update(fileds, list);
if (flag) {
if (flag)
{
if (model.Money > 0)
{
var umodel = member_UserRepository.GetEntity(model.UserId);
......@@ -355,7 +398,8 @@ namespace Mall.Module.TradePavilion
Remarks = "取消活动报名,退回使用星星:" + model.Money,
});
}
if (Status == 1) {
if (Status == 1)
{
miai_MessageRepository.Insert(new Model.Extend.Miai.RB_Miai_Message_Extend()
{
Id = 0,
......
......@@ -124,9 +124,9 @@ WHERE 1=1
public List<RB_Commerce_Activity_Extend> GetList(RB_Commerce_Activity_Extend query)
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT A.* FROM rb_commerce_activity AS A
WHERE 1=1
builder.AppendFormat(@"SELECT A.*,IFNULL(B.TypeName,'') AS ActivityTypeName
FROM rb_commerce_activity AS A LEFT JOIN rb_commerce_activitytype AS B ON A.ActivityType=B.Id
WHERE 1=1
");
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Commerce_Activity_Extend.Status), (int)DateStateEnum.Normal);
if (query == null)
......
......@@ -987,5 +987,9 @@ namespace Mall.WebApi.Controllers.AppletWeChat
}
#endregion
}
}
\ No newline at end of file
......@@ -943,6 +943,113 @@ namespace Mall.WebApi.Controllers.TradePavilion
return msg == "" ? ApiResult.Success() : ApiResult.Failed(msg);
}
#region 首店活动报名
/// <summary>
/// 获取性质枚举
/// </summary>
/// <returns></returns>
[HttpPost]
[AllowAnonymous]
public ApiResult GetNatureEnumList()
{
var list = EnumHelper.GetEnumList(typeof(Common.Enum.TradePavilion.NatureEnum));
return ApiResult.Success("", list.OrderBy(x => Convert.ToInt32(x.Value)).Select(x => new
{
Name = x.Key,
Id = Convert.ToInt32(x.Value)
}));
}
/// <summary>
/// 根据活动ids获取活动列表
/// </summary>
/// <returns></returns>
public ApiResult GetActivityList()
{
JObject jObj = JObject.Parse(RequestParm.msg.ToString());
var extModel = new RB_Commerce_Activity_Extend()
{
ActivityIds = jObj.GetStringValue("ActivityIds"),
MallBaseId = RequestParm.MallBaseId,
TenantId = RequestParm.TenantId
};
var list = activityModule.GetActivityList(extModel);
return ApiResult.Success("", list);
}
/// <summary>
/// 活动报名
/// </summary>
/// <param name="demodel"></param>
/// <returns></returns>
public ApiResult SetFirstShopActivityEnroll()
{
bool flag = false;
var request = RequestParm;
var userInfo = AppletUserInfo;
if (userInfo == null)
{
return ApiResult.Failed("请登录");
}
Model.Extend.TradePavilion.FirstShopConsult firstShopModel = JsonConvert.DeserializeObject<Model.Extend.TradePavilion.FirstShopConsult>(request.msg.ToString());
var activityList = activityModule.GetActivityList(new RB_Commerce_Activity_Extend { TenantId = userInfo.TenantId, MallBaseId = userInfo.MallBaseId, ActivityIds = firstShopModel.ActivityIds });
List<RB_Commerce_Consult_Extend> consultList = new List<RB_Commerce_Consult_Extend>();
foreach (var model in activityList)
{
if (model == null || model.Status == Common.Enum.DateStateEnum.Delete) { return ApiResult.Failed(model.ActivityName + "活动不存在"); }
if (model.SignStartTime >= DateTime.Now)
{
return ApiResult.Failed("报名还未开始,无法报名");
}
if (model.SignEndTime <= DateTime.Now)
{
return ApiResult.Failed("已过了报名时间,无法报名");
}
foreach (var item in firstShopModel.FirstShopLinkManList)
{
RB_Commerce_Consult_Extend demodel = new RB_Commerce_Consult_Extend();
demodel.ActivityName = model.ActivityName;
demodel.LinkMan = item.LinkMan;
demodel.LinkTel = item.LinkTel;
demodel.Post = item.Post;
demodel.CompanyName = firstShopModel.CompanyName;
demodel.ActivityIds = firstShopModel.ActivityIds;
demodel.CompanyName = firstShopModel.CompanyName;
demodel.Nature = firstShopModel.Nature;
Random R = new Random();
int Rstr = R.Next(111, 999);
demodel.ActivityId = model.Id;
demodel.Remark = firstShopModel.Remark;
demodel.UserId = userInfo.UserId;
demodel.Money = 0;
demodel.UnitPrice = 0;
demodel.MallBaseId = userInfo.MallBaseId;
demodel.TenantId = userInfo.TenantId;
demodel.Status = 0;
demodel.PeopleNum = 1;
demodel.CreateTime = System.DateTime.Now;
consultList.Add(demodel);
}
}
flag = consultModule.SetBatchActivityEnrollInfo(consultList);
return flag ? ApiResult.Success("报名成功") : ApiResult.Failed("出错了,请联系管理员");
}
#endregion
/// <summary>
/// 取消报名
/// </summary>
......@@ -1647,7 +1754,7 @@ namespace Mall.WebApi.Controllers.TradePavilion
extModel.ListEnroll = firstShopListModule.GetFirstShopListEnrollList(new RB_FirstShop_ListEnroll_Extend { MallBaseId = RequestParm.MallBaseId, TenantId = RequestParm.TenantId, ObjectType = Common.Enum.TradePavilion.ListObjectTypeEnum.Brand, ObjectId = extModel.ID, RankListState = 1 });
if (!string.IsNullOrWhiteSpace(extModel.SourceIds))
{
extModel.PrizeList = carrierModule.GetPrizeList(new RB_Prize_Extend { MallBaseId = RequestParm.MallBaseId, TenantId = RequestParm.TenantId,QPrizeIds= extModel.SourceIds });
extModel.PrizeList = carrierModule.GetPrizeList(new RB_Prize_Extend { MallBaseId = RequestParm.MallBaseId, TenantId = RequestParm.TenantId, QPrizeIds = extModel.SourceIds });
}
return ApiResult.Success(data: extModel);
}
......@@ -1677,7 +1784,7 @@ namespace Mall.WebApi.Controllers.TradePavilion
[AllowAnonymous]
public ApiResult GetPrizePageList()
{
JObject parms = JObject.Parse(RequestParm.msg.ToString());
var query = new RB_Prize_Extend()
{
......@@ -1685,8 +1792,8 @@ namespace Mall.WebApi.Controllers.TradePavilion
};
query.MallBaseId = RequestParm.MallBaseId;
query.TenantId = RequestParm.TenantId;
var list = carrierModule.GetPrizeList( query);
var result = list.Select(x => new
var list = carrierModule.GetPrizeList(query);
var result = list.Select(x => new
{
x.Id,
x.Name,
......
{
"ConnectionStrings": {
"DefaultConnection": "server=192.168.20.214;user id=reborn;password=Reborn@2018;database=test_reborn_mall;CharSet=utf8mb4; Convert Zero Datetime=true; ",
"DefaultConnection": "server=192.168.20.214;user id=reborn;password=Reborn@2018;database=reborn_mall;CharSet=utf8mb4; Convert Zero Datetime=true; ",
"DefaultConnectionPName": "MySql.Data.MySqlClient",
"FinanceConnection": "server=192.168.20.214;user id=reborn;password=Reborn@2018;database=reborn_finance;CharSet=utf8mb4; Convert Zero Datetime=true; ",
"FinanceConnectionPName": "MySql.Data.MySqlClient",
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment