mirror of
http://git.coreshop.cn/jianweie/coreshoppro.git
synced 2025-12-06 17:53:25 +08:00
【修复】修复当新增或者删除会员等级后,【签到设置】连续签到规则数据错误,累计签到设置保存无效的问题。
This commit is contained in:
@@ -1,16 +1,19 @@
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Linq;
|
||||
using System.Text.Json.Nodes;
|
||||
using System.Threading.Tasks;
|
||||
using CoreCms.Net.Configuration;
|
||||
using CoreCms.Net.Filter;
|
||||
using CoreCms.Net.IServices;
|
||||
using CoreCms.Net.Model.Entities;
|
||||
using CoreCms.Net.Model.FromBody;
|
||||
using CoreCms.Net.Model.ViewModels.Basics;
|
||||
using CoreCms.Net.Model.ViewModels.UI;
|
||||
using CoreCms.Net.Utility.Helper;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using SqlSugar;
|
||||
|
||||
namespace CoreCms.Net.Web.Admin.Controllers.Shop
|
||||
@@ -63,10 +66,38 @@ namespace CoreCms.Net.Web.Admin.Controllers.Shop
|
||||
var userGrade = await _coreCmsUserGradeServices.QueryAsync();
|
||||
|
||||
//连续签到规则
|
||||
var continuousCheckInRules = await _coreCmsContinuousCheckInRulesServices.GetCaChe();
|
||||
var continuousCheckInRules = await _coreCmsContinuousCheckInRulesServices.GetDataWidthChild();
|
||||
//制作新数据,防止出现
|
||||
|
||||
|
||||
JArray newDetails = new JArray();
|
||||
|
||||
if (continuousCheckInRules.Any())
|
||||
{
|
||||
foreach (var item in continuousCheckInRules)
|
||||
{
|
||||
JArray di = new JArray();
|
||||
var newUserGrand = userGrade;
|
||||
foreach (var itemGrade in newUserGrand)
|
||||
{
|
||||
JObject diItem = new JObject();
|
||||
diItem.Add("grand", JObject.FromObject(itemGrade));
|
||||
var details = item.details.Find(p => p.userGradeId == itemGrade.id);
|
||||
if (details != null)
|
||||
{
|
||||
diItem.Add("details", JObject.FromObject(details));
|
||||
}
|
||||
di.Add(diItem);
|
||||
}
|
||||
newDetails.Add(di);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
//累计签到规则
|
||||
var cumulativeCheckInRules = await _coreCmsCumulativeCheckInRulesServices.GetCaChe();
|
||||
var cumulativeCheckInRules = await _coreCmsCumulativeCheckInRulesServices.QueryAsync(true, true);
|
||||
|
||||
jm.data = new
|
||||
{
|
||||
@@ -74,6 +105,7 @@ namespace CoreCms.Net.Web.Admin.Controllers.Shop
|
||||
filesStorageOptionsType,
|
||||
userGrade,
|
||||
continuousCheckInRules,
|
||||
newDetails,
|
||||
cumulativeCheckInRules
|
||||
};
|
||||
|
||||
@@ -133,11 +165,12 @@ namespace CoreCms.Net.Web.Admin.Controllers.Shop
|
||||
}
|
||||
|
||||
//先清理掉数据,因为是配置数据,可直接删除添加新的
|
||||
var doEnpty = await _coreCmsCumulativeCheckInRulesServices.DeleteAsync(p => p.id > 0);
|
||||
var doEnpty = await _coreCmsCumulativeCheckInRulesServices.DeleteAsync(p => p.id > 0, true);
|
||||
|
||||
//插入新的数据
|
||||
var insertCount = await _coreCmsCumulativeCheckInRulesServices.InsertAsync(entity.entity, true);
|
||||
|
||||
|
||||
var insertCount = await _coreCmsCumulativeCheckInRulesServices.InsertAsync(entity.entity);
|
||||
jm.code = 0;
|
||||
jm.msg = "保存成功";
|
||||
return jm;
|
||||
|
||||
@@ -76,7 +76,6 @@
|
||||
<div class="layui-form-mid layui-word-aux">清除连续签到次数</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-input-block">
|
||||
<button class="layui-btn" lay-submit="" lay-filter="save">保存更改</button>
|
||||
@@ -103,24 +102,18 @@
|
||||
<fieldset class="layui-elem-field layui-field-title" style="margin-top: 20px;">
|
||||
<legend>会员组设置</legend>
|
||||
</fieldset>
|
||||
{{# layui.each(item.details, function(indexChild, itemChild){ }}
|
||||
{{# layui.each(d.data.newDetails[index], function(indexChild, itemChild){ }}
|
||||
<div class="layui-form-item listItems">
|
||||
<input type="hidden" id="detailsId" name="continuousCheckInRules.details[{{index}}].id[{{indexChild}}]" value="{{itemChild.id}}">
|
||||
<input type="hidden" id="detailsUserGradeId" name="continuousCheckInRules.details[{{index}}].userGradeId[{{indexChild}}]" value="{{itemChild.userGradeId}}">
|
||||
<input type="hidden" id="detailsRuleId" name="continuousCheckInRules.details[{{index}}].ruleId[{{indexChild}}]" value="{{itemChild.ruleId}}">
|
||||
<label class="layui-form-label">
|
||||
{{# layui.each(d.data.userGrade, function(indexGrade, itemGrade){ }}
|
||||
{{# if(itemChild.userGradeId === itemGrade.id){ }}
|
||||
{{ itemGrade.title }}
|
||||
{{# } }}
|
||||
{{# }); }}
|
||||
</label>
|
||||
<input type="hidden" id="detailsId" name="continuousCheckInRules.details[{{index}}].id[{{indexChild}}]" value="{{ itemChild.details ? itemChild.details.id : 0}}">
|
||||
<input type="hidden" id="detailsUserGradeId" name="continuousCheckInRules.details[{{index}}].userGradeId[{{indexChild}}]" value="{{itemChild.grand.id}}">
|
||||
<input type="hidden" id="detailsRuleId" name="continuousCheckInRules.details[{{index}}].ruleId[{{indexChild}}]" value="{{ item.id }}">
|
||||
<label class="layui-form-label">{{ itemChild.grand.title }}</label>
|
||||
<div class="layui-input-inline layui-inline-2">
|
||||
<input type="number" id="detailsNum" name="continuousCheckInRules.details[{{index}}].num[{{indexChild}}]" value="{{itemChild.num}}" lay-verify="required|number" autocomplete="off" placeholder="" class="layui-input">
|
||||
<input type="number" id="detailsNum" name="continuousCheckInRules.details[{{index}}].num[{{indexChild}}]" value="{{itemChild.details ? itemChild.details.num : 0}}" lay-verify="required|number" autocomplete="off" placeholder="" class="layui-input">
|
||||
</div>
|
||||
<div class="layui-input-inline layui-inline-4">
|
||||
<input type="radio" id="detailsType" name="continuousCheckInRules.details[{{index}}].type[{{indexChild}}]" value="1" title="积分" {{itemChild.type==1?'checked="checked"':''}}>
|
||||
<input type="radio" id="detailsType" name="continuousCheckInRules.details[{{index}}].type[{{indexChild}}]" value="2" title="余额" {{itemChild.type==2?'checked="checked"':''}}>
|
||||
<input type="radio" id="detailsType" name="continuousCheckInRules.details[{{index}}].type[{{indexChild}}]" value="1" title="积分" {{(itemChild.details && itemChild.details.type==1)|| !itemChild.details?'checked="checked"':''}}>
|
||||
<input type="radio" id="detailsType" name="continuousCheckInRules.details[{{index}}].type[{{indexChild}}]" value="2" title="余额" {{itemChild.details && itemChild.details.type==2?'checked="checked"':''}}>
|
||||
</div>
|
||||
</div>
|
||||
{{# }); }}
|
||||
@@ -193,7 +186,6 @@
|
||||
</div>
|
||||
</script>
|
||||
|
||||
|
||||
<script id="continuousCheckInBoxTmp" type="text/html">
|
||||
<div class="continuousCheckInBox coreshop-solid" data-id="{{d.index}}">
|
||||
<div class="layui-form-item">
|
||||
@@ -264,6 +256,7 @@
|
||||
//开启调试情况下获取接口赋值数据
|
||||
if (debug) { console.log(d); }
|
||||
indexData = d.data;
|
||||
|
||||
layui.use(['admin', 'form', 'coreHelper', 'element', 'table', 'util', 'laytpl', 'table', 'laydate'], function () {
|
||||
var $ = layui.$
|
||||
, setter = layui.setter
|
||||
@@ -278,7 +271,6 @@
|
||||
, router = layui.router()
|
||||
, search = router.search;
|
||||
|
||||
|
||||
//时间选择器
|
||||
laydate.render({
|
||||
elem: '#checkInAlertTime'
|
||||
@@ -304,7 +296,6 @@
|
||||
index: continuousCheckInRulesCount,
|
||||
userGrade: d.data.userGrade
|
||||
};
|
||||
console.log(data);
|
||||
var getTpl = continuousCheckInBoxTmp.innerHTML;
|
||||
laytpl(getTpl).render(data, function (html) {
|
||||
$("#continuousCheckInRulesCount").before(html);
|
||||
@@ -326,7 +317,7 @@
|
||||
//重置排序
|
||||
function resetContinuousCheckInRulesInputNameID() {
|
||||
$.each($("#continuousCheckInBox .continuousCheckInBox"), function (i, item) {
|
||||
var oldIndex = $(this).attr('data-id');
|
||||
//var oldIndex = $(this).attr('data-id');
|
||||
$(this).attr('data-id', i);
|
||||
$(this).find("#id").attr("name", "continuousCheckInRules.id[" + i + "]");
|
||||
$(this).find("#days").attr("name", "continuousCheckInRules.days[" + i + "]");
|
||||
@@ -510,7 +501,6 @@
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
form.render();
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user