mirror of
http://git.coreshop.cn/jianweie/coreshoppro.git
synced 2025-12-06 16:03:25 +08:00
【新增】新增后台可以增加分销商。方便有特别需求的用户,减少前端申请的申请及审核步骤。
This commit is contained in:
@@ -9,6 +9,11 @@
|
||||
***********************************************************************/
|
||||
|
||||
|
||||
using SqlSugar;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.Security.Principal;
|
||||
using System.Xml.Linq;
|
||||
|
||||
namespace CoreCms.Net.Model.FromBody
|
||||
{
|
||||
//API接口提交================================================
|
||||
@@ -35,4 +40,51 @@ namespace CoreCms.Net.Model.FromBody
|
||||
public string storeLogo { get; set; }
|
||||
public string storeName { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 后台创建分销商提交参数
|
||||
/// </summary>
|
||||
public class FMAdminCreateDistributionPost
|
||||
{
|
||||
/// <summary>
|
||||
/// 已注册用户手机号码
|
||||
/// </summary>
|
||||
public System.String registeredUserMobile { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 用户序列
|
||||
/// </summary>
|
||||
public System.Int32 userId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 分销商名称
|
||||
/// </summary>
|
||||
public System.String name { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 分销等级
|
||||
/// </summary>
|
||||
public System.Int32 gradeId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 手机号
|
||||
/// </summary>
|
||||
public System.String mobile { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 微信号
|
||||
/// </summary>
|
||||
public System.String weixin { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// qq号
|
||||
/// </summary>
|
||||
public System.String qq { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 审核状态
|
||||
/// </summary>
|
||||
public System.Int32 verifyStatus { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -21,6 +21,7 @@ using CoreCms.Net.Model.Entities;
|
||||
using CoreCms.Net.Model.Entities.Expression;
|
||||
using CoreCms.Net.Model.FromBody;
|
||||
using CoreCms.Net.Model.ViewModels.UI;
|
||||
using CoreCms.Net.Services;
|
||||
using CoreCms.Net.Utility.Extensions;
|
||||
using CoreCms.Net.Utility.Helper;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
@@ -43,18 +44,20 @@ namespace CoreCms.Net.Web.Admin.Controllers
|
||||
private readonly ICoreCmsDistributionServices _coreCmsDistributionServices;
|
||||
private readonly ICoreCmsUserGradeServices _userGradeServices;
|
||||
private readonly ICoreCmsDistributionGradeServices _distributionGradeServices;
|
||||
private readonly ICoreCmsUserServices _userServices;
|
||||
private readonly IWebHostEnvironment _webHostEnvironment;
|
||||
|
||||
/// <summary>
|
||||
/// 构造函数
|
||||
/// </summary>
|
||||
public CoreCmsDistributionController(IWebHostEnvironment webHostEnvironment
|
||||
, ICoreCmsDistributionServices coreCmsDistributionServices, ICoreCmsUserGradeServices userGradeServices, ICoreCmsDistributionGradeServices distributionGradeServices)
|
||||
, ICoreCmsDistributionServices coreCmsDistributionServices, ICoreCmsUserGradeServices userGradeServices, ICoreCmsDistributionGradeServices distributionGradeServices, ICoreCmsUserServices userServices)
|
||||
{
|
||||
_webHostEnvironment = webHostEnvironment;
|
||||
_coreCmsDistributionServices = coreCmsDistributionServices;
|
||||
_userGradeServices = userGradeServices;
|
||||
_distributionGradeServices = distributionGradeServices;
|
||||
_userServices = userServices;
|
||||
}
|
||||
|
||||
#region 获取列表============================================================
|
||||
@@ -247,6 +250,81 @@ namespace CoreCms.Net.Web.Admin.Controllers
|
||||
|
||||
#endregion
|
||||
|
||||
#region 创建数据============================================================
|
||||
// POST: Api/CoreCmsDistribution/GetCreate
|
||||
/// <summary>
|
||||
/// 创建数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("创建数据")]
|
||||
public async Task<AdminUiCallBack> GetCreate()
|
||||
{
|
||||
//返回数据
|
||||
var jm = new AdminUiCallBack { code = 0 };
|
||||
|
||||
var distributionVerifyStatus = EnumHelper.EnumToList<GlobalEnumVars.DistributionVerifyStatus>();
|
||||
var grades = await _distributionGradeServices.GetCaChe();
|
||||
|
||||
jm.code = 0;
|
||||
jm.data = new
|
||||
{
|
||||
distributionVerifyStatus,
|
||||
grades
|
||||
};
|
||||
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 创建提交============================================================
|
||||
// POST: Api/CoreCmsDistribution/DoCreate
|
||||
/// <summary>
|
||||
/// 创建提交
|
||||
/// </summary>
|
||||
/// <param name="entity"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Description("创建提交")]
|
||||
public async Task<AdminUiCallBack> DoCreate([FromBody] FMAdminCreateDistributionPost entity)
|
||||
{
|
||||
var jm = new AdminUiCallBack();
|
||||
|
||||
var user = await _userServices.QueryByClauseAsync(p => p.mobile == entity.registeredUserMobile);
|
||||
if (user == null)
|
||||
{
|
||||
jm.msg = "提交的【已注册手机号】未查询到注册用户";
|
||||
return jm;
|
||||
}
|
||||
|
||||
var isDistribution = await _coreCmsDistributionServices.ExistsAsync(p => p.userId == user.id);
|
||||
if (isDistribution)
|
||||
{
|
||||
jm.msg = "提交的【已注册手机号】已经是分销商了。";
|
||||
return jm;
|
||||
}
|
||||
var model = new CoreCmsDistribution();
|
||||
|
||||
model.userId = user.id;
|
||||
model.mobile = entity.registeredUserMobile;
|
||||
model.name = entity.name;
|
||||
model.gradeId = entity.gradeId;
|
||||
model.mobile = string.IsNullOrEmpty(entity.mobile) ? user.mobile : entity.mobile;
|
||||
model.weixin = entity.weixin;
|
||||
model.qq = entity.qq;
|
||||
model.verifyStatus = entity.verifyStatus;
|
||||
model.createTime = DateTime.Now;
|
||||
model.isDelete = false;
|
||||
if (model.verifyStatus == (int)GlobalEnumVars.DistributionVerifyStatus.VerifyYes) model.verifyTime = DateTime.Now;
|
||||
|
||||
var id = await _coreCmsDistributionServices.InsertAsync(model);
|
||||
|
||||
jm.code = id > 0 ? 0 : 1;
|
||||
jm.msg = id > 0 ? GlobalConstVars.CreateSuccess : GlobalConstVars.CreateFailure;
|
||||
return jm;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 编辑数据============================================================
|
||||
|
||||
// POST: Api/CoreCmsDistribution/GetEdit
|
||||
|
||||
@@ -0,0 +1,103 @@
|
||||
<script type="text/html" template lay-done="layui.data.done(d);">
|
||||
<div class="layui-form coreshop-form layui-form-pane" lay-filter="LAY-app-CoreCmsDistribution-createForm" id="LAY-app-CoreCmsDistribution-createForm">
|
||||
|
||||
<input type="hidden" name="userId" value="0" />
|
||||
<div class="layui-form-item">
|
||||
<label for="mobile" class="layui-form-label layui-form-required">已注册手机号</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="registeredUserMobile" lay-verify="required|phone" class="layui-input" placeholder="请输入手机号" lay-reqText="请输入手机号" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="name" class="layui-form-label layui-form-required">分销商名称</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="name" lay-verify="required|verifyname" class="layui-input" placeholder="请输入分销商名称" lay-reqText="请输入分销商名称" />
|
||||
</div>
|
||||
<label for="mobile" class="layui-form-label layui-form-required">联系手机号</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="mobile" lay-verify="required|phone" class="layui-input" placeholder="请输入手机号" lay-reqText="请输入手机号" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="weixin" class="layui-form-label">微信号</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="weixin" class="layui-input" placeholder="请输入微信号" lay-reqText="请输入微信号" />
|
||||
</div>
|
||||
<label for="qq" class="layui-form-label">qq号</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="qq" class="layui-input" placeholder="请输入qq号" lay-reqText="请输入qq号" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="gradeId" class="layui-form-label layui-form-required">分销等级</label>
|
||||
<div class="layui-input-inline">
|
||||
<select name="gradeId" lay-verify="required">
|
||||
<option value="">请选择</option>
|
||||
{{# layui.each(d.params.data.grades, function(index, item){ }}
|
||||
<option value="{{ item.id }}">{{ item.name }}</option>
|
||||
{{# }); }}
|
||||
</select>
|
||||
</div>
|
||||
<label for="verifyStatus" class="layui-form-label layui-form-required">审核状态</label>
|
||||
<div class="layui-input-inline">
|
||||
|
||||
<select name="verifyStatus" id="verifyStatus">
|
||||
<option value="">请选择</option>
|
||||
{{# layui.each(d.params.data.distributionVerifyStatus, function(index, item){ }}
|
||||
<option value="{{ item.value }}">{{ item.description }}</option>
|
||||
{{# }); }}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item text-right core-hidden">
|
||||
<input type="button" class="layui-btn" lay-submit lay-filter="LAY-app-CoreCmsDistribution-createForm-submit" id="LAY-app-CoreCmsDistribution-createForm-submit" value="确认添加">
|
||||
</div>
|
||||
</div>
|
||||
</script>
|
||||
<script>
|
||||
var debug = layui.setter.debug;
|
||||
layui.data.done = function (d) {
|
||||
//开启调试情况下获取接口赋值数据
|
||||
if (debug) { console.log(d.params.data); }
|
||||
layui.use(['admin', 'form', 'laydate', 'upload', 'coreHelper', 'cropperImg'],
|
||||
function () {
|
||||
var $ = layui.$
|
||||
, form = layui.form
|
||||
, admin = layui.admin
|
||||
, laydate = layui.laydate
|
||||
, upload = layui.upload
|
||||
, cropperImg = layui.cropperImg
|
||||
, coreHelper = layui.coreHelper;
|
||||
|
||||
laydate.render({
|
||||
elem: '#createTime-CoreCmsDistribution-createTime',
|
||||
type: 'datetime'
|
||||
});
|
||||
laydate.render({
|
||||
elem: '#createTime-CoreCmsDistribution-updateTime',
|
||||
type: 'datetime'
|
||||
});
|
||||
laydate.render({
|
||||
elem: '#createTime-CoreCmsDistribution-verifyTime',
|
||||
type: 'datetime'
|
||||
});
|
||||
form.verify({
|
||||
|
||||
verifyname: [/^.{0,255}$/, '分销商名称最大只允许输入255位字符'],
|
||||
verifymobile: [/^.{0,50}$/, '手机号最大只允许输入50位字符'],
|
||||
verifyweixin: [/^.{0,50}$/, '微信号最大只允许输入50位字符'],
|
||||
verifyqq: [/^.{0,50}$/, 'qq号最大只允许输入50位字符'],
|
||||
verifystoreName: [/^.{0,255}$/, '店铺名称最大只允许输入255位字符'],
|
||||
verifystoreLogo: [/^.{0,255}$/, '店铺Logo最大只允许输入255位字符'],
|
||||
verifystoreBanner: [/^.{0,255}$/, '店铺Banner最大只允许输入255位字符'],
|
||||
verifystoreDesc: [/^.{0,255}$/, '店铺简介最大只允许输入255位字符'],
|
||||
});
|
||||
//重载form
|
||||
form.render(null, 'LAY-app-CoreCmsDistribution-createForm');
|
||||
})
|
||||
};
|
||||
</script>
|
||||
@@ -6,22 +6,22 @@
|
||||
<div class="layui-form-item">
|
||||
<label for="name" class="layui-form-label layui-form-required">分销商名称</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="name" lay-verType="tips" lay-verify="required|verifyname" class="layui-input" placeholder="请输入分销商名称" lay-reqText="请输入分销商名称" value="{{d.params.data.model.name || '' }}" />
|
||||
<input name="name" lay-verify="required|verifyname" class="layui-input" placeholder="请输入分销商名称" lay-reqText="请输入分销商名称" value="{{d.params.data.model.name || '' }}" />
|
||||
</div>
|
||||
<label for="mobile" class="layui-form-label layui-form-required">手机号</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="mobile" lay-verType="tips" lay-verify="required|phone" class="layui-input" placeholder="请输入手机号" lay-reqText="请输入手机号" value="{{d.params.data.model.mobile || '' }}" />
|
||||
<input name="mobile" lay-verify="required|phone" class="layui-input" placeholder="请输入手机号" lay-reqText="请输入手机号" value="{{d.params.data.model.mobile || '' }}" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="weixin" class="layui-form-label layui-form-required">微信号</label>
|
||||
<label for="weixin" class="layui-form-label">微信号</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="weixin" lay-verType="tips" lay-verify="required|verifyweixin" class="layui-input" placeholder="请输入微信号" lay-reqText="请输入微信号" value="{{d.params.data.model.weixin || '' }}" />
|
||||
<input name="weixin" class="layui-input" placeholder="请输入微信号" lay-reqText="请输入微信号" value="{{d.params.data.model.weixin || '' }}" />
|
||||
</div>
|
||||
<label for="qq" class="layui-form-label layui-form-required">qq号</label>
|
||||
<label for="qq" class="layui-form-label">qq号</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="qq" lay-verType="tips" lay-verify="required|number" class="layui-input" placeholder="请输入qq号" lay-reqText="请输入qq号" value="{{d.params.data.model.qq || '' }}" />
|
||||
<input name="qq" class="layui-input" placeholder="请输入qq号" lay-reqText="请输入qq号" value="{{d.params.data.model.qq || '' }}" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -95,6 +95,13 @@
|
||||
</div>
|
||||
</script>
|
||||
|
||||
<script type="text/html" id="LAY-app-CoreCmsDistribution-pagebar">
|
||||
<div class="layui-btn-container">
|
||||
<button class="layui-btn layui-btn-sm" lay-event="addData"><i class="layui-icon layui-icon-add-1"></i>添加数据</button>
|
||||
</div>
|
||||
</script>
|
||||
|
||||
|
||||
<script type="text/html" id="LAY-app-CoreCmsDistribution-tableBox-bar">
|
||||
<a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">查看</a>
|
||||
<a class="layui-btn layui-btn-xs" lay-event="edit">审核</a>
|
||||
@@ -143,6 +150,8 @@
|
||||
url: layui.setter.apiUrl + 'Api/CoreCmsDistribution/GetPageList',
|
||||
method: 'POST',
|
||||
toolbar: '#LAY-app-CoreCmsDistribution-toolbar',
|
||||
pagebar: '#LAY-app-CoreCmsDistribution-pagebar',
|
||||
className: 'pagebarbox',
|
||||
defaultToolbar: ['filter', 'print', 'exports'],
|
||||
height: 'full-127',//无面包屑127,搜索框189,1行62
|
||||
page: true,
|
||||
@@ -229,7 +238,15 @@
|
||||
//查看详情
|
||||
doDetails(obj);
|
||||
});
|
||||
|
||||
//头工具栏事件
|
||||
table.on('pagebar(LAY-app-CoreCmsDistribution-tableBox)', function (obj) {
|
||||
var checkStatus = table.checkStatus(obj.config.id);
|
||||
switch (obj.event) {
|
||||
case 'addData':
|
||||
doCreate();
|
||||
break;
|
||||
};
|
||||
});
|
||||
//监听工具条
|
||||
table.on('tool(LAY-app-CoreCmsDistribution-tableBox)',
|
||||
function (obj) {
|
||||
@@ -241,7 +258,49 @@
|
||||
doEdit(obj)
|
||||
}
|
||||
});
|
||||
//执行创建操作
|
||||
function doCreate() {
|
||||
coreHelper.Post("Api/CoreCmsDistribution/GetCreate", null, function (e) {
|
||||
if (e.code === 0) {
|
||||
admin.popup({
|
||||
shadeClose: false,
|
||||
title: '创建数据',
|
||||
area: ['640px', '300px'],
|
||||
id: 'LAY-popup-CoreCmsDistribution-create',
|
||||
success: function (layero, index) {
|
||||
view(this.id).render('distribution/distributor/create', { data: e.data }).done(function () {
|
||||
//监听提交
|
||||
form.on('submit(LAY-app-CoreCmsDistribution-createForm-submit)',
|
||||
function (data) {
|
||||
var field = data.field; //获取提交的字段
|
||||
|
||||
if (debug) { console.log(field); } //开启调试返回数据
|
||||
//提交 Ajax 成功后,关闭当前弹层并重载表格
|
||||
coreHelper.Post("Api/CoreCmsDistribution/DoCreate", field, function (e) {
|
||||
console.log(e)
|
||||
if (e.code === 0) {
|
||||
layui.table.reloadData('LAY-app-CoreCmsDistribution-tableBox'); //重载表格
|
||||
layer.close(index); //再执行关闭
|
||||
layer.msg(e.msg);
|
||||
} else {
|
||||
layer.msg(e.msg);
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
// 禁止弹窗出现滚动条
|
||||
$(layero).children('.layui-layer-content').css('overflow', 'visible');
|
||||
}
|
||||
, btn: ['确定', '取消']
|
||||
, yes: function (index, layero) {
|
||||
layero.contents().find("#LAY-app-CoreCmsDistribution-createForm-submit").click();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
layer.msg(e.msg);
|
||||
}
|
||||
});
|
||||
}
|
||||
//执行编辑操作
|
||||
function doEdit(obj) {
|
||||
coreHelper.Post("Api/CoreCmsDistribution/GetEdit", { id: obj.data.id }, function (e) {
|
||||
|
||||
Reference in New Issue
Block a user