记得上下班打卡 | git大法好,push需谨慎

Commit 63c66cdd authored by 张禹's avatar 张禹

Merge branch 'pre' into 'master'

Pre

See merge request !297
parents ce21c900 2f507d5b
...@@ -96,6 +96,8 @@ public class KylinRedisConst { ...@@ -96,6 +96,8 @@ public class KylinRedisConst {
public static final String ACTIVE_TICKET_AR_TICKET = "kylin:active:ar:ticket:";//互动券 public static final String ACTIVE_TICKET_AR_TICKET = "kylin:active:ar:ticket:";//互动券
public static final String ACTIVE_TICKET_AR_USER = "kylin:active:ar:user:";//互动券 绑定的用户 public static final String ACTIVE_TICKET_AR_USER = "kylin:active:ar:user:";//互动券 绑定的用户
public static final String ACTIVE_USE_AR_COUNT = "kylin:ar:use:count";//ar激活码使用量
public static final String RECOMMEND_ACTIVE = "kylin:active:recommend:";// 推荐活动 public static final String RECOMMEND_ACTIVE = "kylin:active:recommend:";// 推荐活动
...@@ -109,7 +111,6 @@ public class KylinRedisConst { ...@@ -109,7 +111,6 @@ public class KylinRedisConst {
//订单关联 Ar激活码 //订单关联 Ar激活码
public static final String ORDER_AR_CODE = "kylin:ar:order:";//$key + $orderId public static final String ORDER_AR_CODE = "kylin:ar:order:";//$key + $orderId
public static final String ACTIVE_USE_AR_COUNT = "kylin:ar:use:count";//ar激活码使用量
} }
...@@ -6,6 +6,8 @@ import io.swagger.annotations.ApiModelProperty; ...@@ -6,6 +6,8 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable; import java.io.Serializable;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List; import java.util.List;
...@@ -38,12 +40,14 @@ public class KylinRecommendActiveParam implements Serializable { ...@@ -38,12 +40,14 @@ public class KylinRecommendActiveParam implements Serializable {
*/ */
@ApiModelProperty(value = "开启时间yyyy-MM-dd HH:mm:ss") @ApiModelProperty(value = "开启时间yyyy-MM-dd HH:mm:ss")
@JsonFormat(shape=JsonFormat.Shape.STRING, pattern= DateUtil.DATE_FULL_STR) @JsonFormat(shape=JsonFormat.Shape.STRING, pattern= DateUtil.DATE_FULL_STR)
@NotNull(message = "开启时间必传")
private LocalDateTime startTime; private LocalDateTime startTime;
/** /**
* 结束时间 * 结束时间
*/ */
@ApiModelProperty(value = "结束时间yyyy-MM-dd HH:mm:ss") @ApiModelProperty(value = "结束时间yyyy-MM-dd HH:mm:ss")
@NotNull(message = "结束时间必传")
@JsonFormat(shape=JsonFormat.Shape.STRING, pattern=DateUtil.DATE_FULL_STR) @JsonFormat(shape=JsonFormat.Shape.STRING, pattern=DateUtil.DATE_FULL_STR)
private LocalDateTime endTime; private LocalDateTime endTime;
...@@ -51,18 +55,21 @@ public class KylinRecommendActiveParam implements Serializable { ...@@ -51,18 +55,21 @@ public class KylinRecommendActiveParam implements Serializable {
* 活动名称 * 活动名称
*/ */
@ApiModelProperty(value = "活动名称") @ApiModelProperty(value = "活动名称")
@NotBlank(message = "活动名称必传")
private String activeName; private String activeName;
/** /**
* 1NFT2组合购3演出4商品 * 1NFT2组合购3演出4商品
*/ */
@ApiModelProperty(value = "1NFT2组合购3演出4商品") @ApiModelProperty(value = "1NFT2组合购3演出4商品")
@NotNull(message = "关联类型必传")
private Integer activeType; private Integer activeType;
/** /**
* 活动绑定id * 活动绑定id
*/ */
@ApiModelProperty(value = "活动绑定id") @ApiModelProperty(value = "活动绑定id")
@NotBlank(message = "关联名称必传")
private String activeBindId; private String activeBindId;
/** /**
...@@ -89,6 +96,7 @@ public class KylinRecommendActiveParam implements Serializable { ...@@ -89,6 +96,7 @@ public class KylinRecommendActiveParam implements Serializable {
* 0开启,1未开启 * 0开启,1未开启
*/ */
@ApiModelProperty(value = "0开启,1未开启") @ApiModelProperty(value = "0开启,1未开启")
@NotNull(message = "状态必传")
private Integer status; private Integer status;
......
...@@ -6,6 +6,7 @@ import com.liquidnet.client.admin.common.core.domain.AjaxResult; ...@@ -6,6 +6,7 @@ import com.liquidnet.client.admin.common.core.domain.AjaxResult;
import com.liquidnet.client.admin.common.core.page.TableDataInfo; import com.liquidnet.client.admin.common.core.page.TableDataInfo;
import com.liquidnet.client.admin.zhengzai.kylin.service.impl.KylinRecommendActiveRelationServiceImpl; import com.liquidnet.client.admin.zhengzai.kylin.service.impl.KylinRecommendActiveRelationServiceImpl;
import com.liquidnet.client.admin.zhengzai.kylin.service.impl.KylinRecommendActiveServiceImpl; import com.liquidnet.client.admin.zhengzai.kylin.service.impl.KylinRecommendActiveServiceImpl;
import com.liquidnet.commons.lang.util.StringUtil;
import com.liquidnet.service.kylin.dto.param.KylinRecommendActiveParam; import com.liquidnet.service.kylin.dto.param.KylinRecommendActiveParam;
import com.liquidnet.service.kylin.dto.param.KylinRecommendActiveRelationParam; import com.liquidnet.service.kylin.dto.param.KylinRecommendActiveRelationParam;
import com.liquidnet.service.kylin.entity.KylinRecommendActive; import com.liquidnet.service.kylin.entity.KylinRecommendActive;
...@@ -14,6 +15,9 @@ import io.swagger.annotations.Api; ...@@ -14,6 +15,9 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.BindingResult;
import org.springframework.validation.ObjectError;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.ArrayList; import java.util.ArrayList;
...@@ -36,17 +40,32 @@ public class KylinRecommendActiveController extends BaseController { ...@@ -36,17 +40,32 @@ public class KylinRecommendActiveController extends BaseController {
@PostMapping("addKylinRecommendActive") @PostMapping("addKylinRecommendActive")
@ApiOperation(value = "增加活动") @ApiOperation(value = "增加活动")
@ResponseBody @ResponseBody
public AjaxResult addKylinRecommendActive(@RequestBody KylinRecommendActiveParam kylinRecommendActiveParam) { public AjaxResult addKylinRecommendActive(@Validated @RequestBody KylinRecommendActiveParam kylinRecommendActiveParam,BindingResult result) {
if (result!=null&&result.hasErrors()) {
List<ObjectError> errors = result.getAllErrors();
if (errors != null) {
return AjaxResult.error(errors.get(0).getDefaultMessage());
}
}
KylinRecommendActive kylinRecommendActive = new KylinRecommendActive(); KylinRecommendActive kylinRecommendActive = new KylinRecommendActive();
BeanUtils.copyProperties(kylinRecommendActiveParam, kylinRecommendActive); BeanUtils.copyProperties(kylinRecommendActiveParam, kylinRecommendActive);
if (kylinRecommendActiveService.validateTime(kylinRecommendActive) == 0) { if (kylinRecommendActiveService.validateTime(kylinRecommendActive) == 0) {
List<KylinRecommendActiveRelation> list = new ArrayList<KylinRecommendActiveRelation>(); List<KylinRecommendActiveRelation> list = new ArrayList<KylinRecommendActiveRelation>();
if (kylinRecommendActiveParam.getList() != null) { if (kylinRecommendActiveParam.getList() != null) {
kylinRecommendActiveParam.getList().forEach(r -> {
for(KylinRecommendActiveRelationParam r:kylinRecommendActiveParam.getList()){
KylinRecommendActiveRelation kylinRecommendActiveRelation = new KylinRecommendActiveRelation(); KylinRecommendActiveRelation kylinRecommendActiveRelation = new KylinRecommendActiveRelation();
if(StringUtil.isBlank(r.getRecommendBindId())){
return AjaxResult.error("操作失败", "推荐商品id不能为空");
}else if(null==r.getType()){
return AjaxResult.error("操作失败", "推荐类型不能为空");
}
BeanUtils.copyProperties(r, kylinRecommendActiveRelation); BeanUtils.copyProperties(r, kylinRecommendActiveRelation);
list.add(kylinRecommendActiveRelation); list.add(kylinRecommendActiveRelation);
}); }
/* kylinRecommendActiveParam.getList().forEach(r -> {
});*/
} }
kylinRecommendActiveService.addKylinRecommendActive(kylinRecommendActive, list); kylinRecommendActiveService.addKylinRecommendActive(kylinRecommendActive, list);
return AjaxResult.success("操作成功", ""); return AjaxResult.success("操作成功", "");
...@@ -68,6 +87,15 @@ public class KylinRecommendActiveController extends BaseController { ...@@ -68,6 +87,15 @@ public class KylinRecommendActiveController extends BaseController {
@ApiOperation(value = "增加或者修改活动推荐List") @ApiOperation(value = "增加或者修改活动推荐List")
@ResponseBody @ResponseBody
public AjaxResult addOrUpdateListKylinRecommendActiveRelation(@RequestBody List<KylinRecommendActiveRelationParam> kylinRecommendActiveParam) { public AjaxResult addOrUpdateListKylinRecommendActiveRelation(@RequestBody List<KylinRecommendActiveRelationParam> kylinRecommendActiveParam) {
for(KylinRecommendActiveRelationParam k:kylinRecommendActiveParam){
if(StringUtil.isBlank(k.getRecommendBindId())){
return AjaxResult.error("操作失败", "推荐商品id不能为空");
}else if(StringUtil.isBlank(k.getRecommendActiveId())){
return AjaxResult.error("操作失败", "推荐活动id不能为空");
}else if(null==k.getType()){
return AjaxResult.error("操作失败", "推荐类型不能为空");
}
}
if(kylinRecommendActiveParam.size()>20){ if(kylinRecommendActiveParam.size()>20){
return AjaxResult.error("操作失败", "推荐活动不允许超过20个!!!"); return AjaxResult.error("操作失败", "推荐活动不允许超过20个!!!");
} }
...@@ -93,7 +121,14 @@ public class KylinRecommendActiveController extends BaseController { ...@@ -93,7 +121,14 @@ public class KylinRecommendActiveController extends BaseController {
@PostMapping("updateKylinRecommendActive") @PostMapping("updateKylinRecommendActive")
@ApiOperation(value = "修改活动") @ApiOperation(value = "修改活动")
@ResponseBody @ResponseBody
public AjaxResult updateKylinRecommendActive(@RequestBody KylinRecommendActiveParam kylinRecommendActiveParam) { public AjaxResult updateKylinRecommendActive(@Validated @RequestBody KylinRecommendActiveParam kylinRecommendActiveParam, BindingResult result) {
/*BindingResult result = exception.getBindingResult();*/
if (result!=null&&result.hasErrors()) {
List<ObjectError> errors = result.getAllErrors();
if (errors != null) {
return AjaxResult.error(errors.get(0).getDefaultMessage());
}
}
KylinRecommendActive kylinRecommendActive = new KylinRecommendActive(); KylinRecommendActive kylinRecommendActive = new KylinRecommendActive();
BeanUtils.copyProperties(kylinRecommendActiveParam, kylinRecommendActive); BeanUtils.copyProperties(kylinRecommendActiveParam, kylinRecommendActive);
if (kylinRecommendActiveService.validateTime(kylinRecommendActive) == 0) { if (kylinRecommendActiveService.validateTime(kylinRecommendActive) == 0) {
......
...@@ -283,6 +283,8 @@ ...@@ -283,6 +283,8 @@
let currentUrl = 'goblin/common/sku' let currentUrl = 'goblin/common/sku'
let activeTypeChangeVal = 1 let activeTypeChangeVal = 1
let varObj = {} let varObj = {}
let currentNum = null;
let currentSelect = null
$(document).ready(function () { $(document).ready(function () {
$('.sortable-list').sortable({connectWith: '.connectList'}).disableSelection() $('.sortable-list').sortable({connectWith: '.connectList'}).disableSelection()
...@@ -309,13 +311,6 @@ ...@@ -309,13 +311,6 @@
$("#activeType").attr('value', 1) $("#activeType").attr('value', 1)
// 选择select
$('#activeType').change(function () {
activeTypeChangeVal = Number($(this).val()) // 1 2 3 4
currentUrl = affiliatedUrl[activeTypeChangeVal - 1] // 获取选中的,对应地址
})
// 监听 模糊搜索 // 监听 模糊搜索
let search = new searchSelect('#search', [], function(val) { let search = new searchSelect('#search', [], function(val) {
let _params = {} let _params = {}
...@@ -367,6 +362,21 @@ ...@@ -367,6 +362,21 @@
}) })
}) })
// 选择select
$('#activeType').change(function () {
activeTypeChangeVal = Number($(this).val()) // 1 2 3 4
currentUrl = affiliatedUrl[activeTypeChangeVal - 1] // 获取选中的,对应地址
search.empty().empty()
$('#search input').attr('value', '')
$('#search input').attr('data-id', '')
})
$('#search input').focus(function () {
search.empty().empty()
$('#search input').attr('value', '')
$('#search input').attr('data-id', '')
})
}) // init end }) // init end
getPageData() // 最开始加载 getPageData() // 最开始加载
...@@ -384,7 +394,15 @@ ...@@ -384,7 +394,15 @@
for (let i = 0; i < list.length; i++) { for (let i = 0; i < list.length; i++) {
createListenerSearch(i + 1) createListenerSearch(i + 1)
$(`#listActiveType${i+1}`).change(function () { $(`#listActiveType${i+1}`).change(function () {
$('#listRemoteSearch' + (i + 1) + ' input').attr('value', '') $('#listRemoteSearch' + (currentSelect) + ' input').attr('value', '')
$('#listRemoteSearch' + (currentSelect) + ' input').attr('data-id', '')
varObj[Object.keys(varObj)[currentSelect - 1]].empty()
console.log('init-listener', varObj[Object.keys(varObj)[currentSelect - 1]])
})
$('#listRemoteSearch' + (i + 1) + ' input').focus(function () {
$(this).val('')
$(this).attr('data-id', '')
}) })
} }
}, 500) }, 500)
...@@ -408,7 +426,7 @@ ...@@ -408,7 +426,7 @@
<div class="addAvatarItem" style="padding: 20px;"> <div class="addAvatarItem" style="padding: 20px;">
<div class="selectClassifyOne"> <div class="selectClassifyOne">
<span class="span-label"><i style="color: red; position: relative; top: 3px;">*</i>推荐类型:</span> <span class="span-label"><i style="color: red; position: relative; top: 3px;">*</i>推荐类型:</span>
<select id="listActiveType${index + 1}" value="${item.type}" class="form-control m-b"> <select id="listActiveType${index + 1}" value="${item.type}" class="form-control m-b"onclick="handleSelect('${index+1}')">
<option value="1">NFT</option> <option value="1">NFT</option>
<option value="2">组合购</option> <option value="2">组合购</option>
<option value="3">演出</option> <option value="3">演出</option>
...@@ -419,7 +437,7 @@ ...@@ -419,7 +437,7 @@
<span class="span-label"><i style="color: red; position: relative; top: 3px;">*</i>推荐商品:</span> <span class="span-label"><i style="color: red; position: relative; top: 3px;">*</i>推荐商品:</span>
<div class="search-wrapper"> <div class="search-wrapper">
<div class="search-wrapper"> <div class="search-wrapper">
<div id="listRemoteSearch${index + 1}" placeholder="请搜索" name="searchSelect${index + 1}"></div> <div id="listRemoteSearch${index + 1}" placeholder="请搜索" name="searchSelect${index + 1}" onclick="handleInput('${index+1}')"></div>
</div> </div>
</div> </div>
</div> </div>
...@@ -439,7 +457,7 @@ ...@@ -439,7 +457,7 @@
<div class="addAvatarItem" style="padding: 20px;"> <div class="addAvatarItem" style="padding: 20px;">
<div class="selectClassifyOne"> <div class="selectClassifyOne">
<span class="span-label"><i style="color: red; position: relative; top: 3px;">*</i>推荐类型:</span> <span class="span-label"><i style="color: red; position: relative; top: 3px;">*</i>推荐类型:</span>
<select id="listActiveType${count}" class="form-control m-b"> <select id="listActiveType${count}" class="form-control m-b" onclick="handleSelect('${count}')">
<option value="1">NFT</option> <option value="1">NFT</option>
<option value="2">组合购</option> <option value="2">组合购</option>
<option value="3">演出</option> <option value="3">演出</option>
...@@ -450,7 +468,7 @@ ...@@ -450,7 +468,7 @@
<span class="span-label"><i style="color: red; position: relative; top: 3px;">*</i>推荐商品:</span> <span class="span-label"><i style="color: red; position: relative; top: 3px;">*</i>推荐商品:</span>
<div class="search-wrapper"> <div class="search-wrapper">
<div class="search-wrapper"> <div class="search-wrapper">
<div id="listRemoteSearch${count}" placeholder="请搜索" name="searchSelect${count}"></div> <div id="listRemoteSearch${count}" placeholder="请搜索" name="searchSelect${count}" onclick="handleInput('${count}')"></div>
</div> </div>
</div> </div>
</div> </div>
...@@ -458,26 +476,43 @@ ...@@ -458,26 +476,43 @@
<div style="position: relative;"><i class="fa fa-remove" onclick="removeListItem('${count}')" style="margin-top: 8px; position: absolute; left: 10px;"></i></div> <div style="position: relative;"><i class="fa fa-remove" onclick="removeListItem('${count}')" style="margin-top: 8px; position: absolute; left: 10px;"></i></div>
</li>` </li>`
// 只有一组,可添加 // 只有一组,可添加
if (count >= 0 && count <= 19 ) { if (count >= 0 && count <= 20 ) {
$('.sortable-list').append(dynamicAddDom) $('.sortable-list').append(dynamicAddDom)
// 设置 实例化 一个 input search监听 // 设置 实例化 一个 input search监听
setTimeout(() => { setTimeout(() => {
varObj['listRemoteSearch'+count] = new searchSelect(`#listRemoteSearch${count}`, [], function(val) { varObj['listRemoteSearch'+count] = new searchSelect(`#listRemoteSearch${count}`, [], function(val) {
searchAjax(val, count) searchAjax(val, currentNum)
}) })
}, 500) }, 500)
setTimeout(() => { setTimeout(() => {
$(`#listActiveType${count}`).change(function () { $(`#listActiveType${count}`).change(function () {
$('#listRemoteSearch' + (count) + ' input').attr('value', '') $('#listRemoteSearch' + (currentSelect) + ' input').val('')
$('#listRemoteSearch' + (currentSelect) + ' input').attr('data-id', '')
varObj[Object.keys(varObj)[currentSelect - 1]].empty()
console.log('add-listener', varObj[Object.keys(varObj)[currentSelect - 1]])
})
$('#listRemoteSearch' + (count) + ' input').focus(function () {
$(this).val('')
$(this).attr('data-id', '')
// varObj['listRemoteSearch'+currentSelect].empty()
}) })
}, 800) }, 400)
// setTimeout(() => {
// $('#listRemoteSearch' + (count) + ' input').focus(function () {
// $(this).val('')
// $(this).attr('data-id', '')
// varObj['listRemoteSearch'+currentSelect].empty()
// })
//
// }, 600)
} else { } else {
layer.msg('不能添加') layer.msg('不能添加')
...@@ -487,6 +522,16 @@ ...@@ -487,6 +522,16 @@
} }
// 点击select记录位置
function handleSelect (num) {
currentSelect = num
}
// 点击input记录位置
function handleInput(num) {
currentNum = num;
}
// 删除list item // 删除list item
function removeListItem (index) { function removeListItem (index) {
let evryGroup = $('#addClassify2').find($('.addAvatarItem')) let evryGroup = $('#addClassify2').find($('.addAvatarItem'))
...@@ -531,12 +576,14 @@ ...@@ -531,12 +576,14 @@
function createListenerSearch (index) { function createListenerSearch (index) {
varObj['listRemoteSearch'+index] = new searchSelect(`#listRemoteSearch${index}`, [], function(val) { varObj['listRemoteSearch'+index] = new searchSelect(`#listRemoteSearch${index}`, [], function(val) {
searchAjax(val, index) searchAjax(val, index)
}) })
} }
function searchAjax (val, index) { function searchAjax (val, index) {
console.log('当前的list下啦',val, index)
let _selectVal = $("#listActiveType" + index).find("option:selected").val() // 当前子select val let _selectVal = $("#listActiveType" + index).find("option:selected").val() // 当前子select val
if (_selectVal) { if (_selectVal) {
...@@ -649,7 +696,7 @@ ...@@ -649,7 +696,7 @@
return return
} }
let idList = listData.filter(item => item.recommendBindId == undefined) let idList = listData.filter(item => !item.recommendBindId)
if (idList.length >= 1) { if (idList.length >= 1) {
layer.msg('推荐活动需填写完整') layer.msg('推荐活动需填写完整')
......
...@@ -213,7 +213,6 @@ ...@@ -213,7 +213,6 @@
</span> </span>
<div class="input-group" style="width: 300px;"> <div class="input-group" style="width: 300px;">
<select name="status" id="status" class="form-control m-b"> <select name="status" id="status" class="form-control m-b">
<option value="">所有</option>
<option value="0">开启</option> <option value="0">开启</option>
<option value="1">未开启</option> <option value="1">未开启</option>
</select> </select>
...@@ -286,6 +285,8 @@ ...@@ -286,6 +285,8 @@
let _recommendId = '' let _recommendId = ''
let _recommendActiveId = '' let _recommendActiveId = ''
let varObj = {} let varObj = {}
let currentNum = null;
let currentSelect = null
$(document).ready(function () { $(document).ready(function () {
$('.sortable-list').sortable({connectWith: '.connectList'}).disableSelection() $('.sortable-list').sortable({connectWith: '.connectList'}).disableSelection()
...@@ -308,13 +309,6 @@ ...@@ -308,13 +309,6 @@
}); });
}); });
// 选择select
$('#activeType').change(function () {
activeTypeChangeVal = Number($(this).val()) // 1 2 3 4
currentUrl = affiliatedUrl[activeTypeChangeVal - 1] // 获取选中的,对应地址
$('#search input').attr('value', '')
})
// 监听 模糊搜索 // 监听 模糊搜索
let search = new searchSelect('#search', [], function(val) { let search = new searchSelect('#search', [], function(val) {
let _params = {} let _params = {}
...@@ -367,6 +361,21 @@ ...@@ -367,6 +361,21 @@
}) })
search.search(true) search.search(true)
// 选择select
$('#activeType').change(function () {
activeTypeChangeVal = Number($(this).val()) // 1 2 3 4
currentUrl = affiliatedUrl[activeTypeChangeVal - 1] // 获取选中的,对应地址
search.empty()
$('#search input').attr('value', '')
$('#search input').attr('data-id', '')
})
$('#search input').focus(function () {
search.empty().empty()
$('#search input').attr('value', '')
$('#search input').attr('data-id', '')
})
}) // init end }) // init end
getPageData() // 最开始加载 getPageData() // 最开始加载
...@@ -411,7 +420,16 @@ ...@@ -411,7 +420,16 @@
for (let i = 0; i < list.length; i++) { for (let i = 0; i < list.length; i++) {
createListenerSearch(i + 1) createListenerSearch(i + 1)
$(`#listActiveType${i+1}`).change(function () { $(`#listActiveType${i+1}`).change(function () {
$('#listRemoteSearch' + (i + 1) + ' input').attr('value', '')
$('#listRemoteSearch' + (currentSelect) + ' input').attr('value', '') // 重置功能
$('#listRemoteSearch' + (currentSelect) + ' input').attr('data-id', '')
varObj[Object.keys(varObj)[currentSelect - 1]].empty()
console.log('init-listener', varObj[Object.keys(varObj)[currentSelect - 1]])
})
$('#listRemoteSearch' + (i + 1) + ' input').focus(function () {
$(this).val('')
$(this).attr('data-id', '')
}) })
} }
}, 500) }, 500)
...@@ -439,13 +457,13 @@ ...@@ -439,13 +457,13 @@
// 组装 html // 组装 html
function assembleDom (list) { function assembleDom (list) {
list.forEach((item, index) => { list.forEach((item, index) => { // index 0 1
count++ count = index + 1;
let dynamicAddDom = `<li class="info-element" id="liItem${count}"> let dynamicAddDom = `<li class="info-element" id="liItem${count}">
<div class="addAvatarItem" style="padding: 20px;"> <div class="addAvatarItem" style="padding: 20px;">
<div class="selectClassifyOne"> <div class="selectClassifyOne">
<span class="span-label"><i style="color: red; position: relative; top: 3px;">*</i>推荐类型:</span> <span class="span-label"><i style="color: red; position: relative; top: 3px;">*</i>推荐类型:</span>
<select id="listActiveType${count}" value="${item.type}" class="form-control m-b list-active-type"> <select id="listActiveType${index+1}" value="${item.type}" class="form-control m-b list-active-type" onclick="handleSelect('${index+1}')">
<option value="1">NFT</option> <option value="1">NFT</option>
<option value="2">组合购</option> <option value="2">组合购</option>
<option value="3">演出</option> <option value="3">演出</option>
...@@ -456,7 +474,7 @@ ...@@ -456,7 +474,7 @@
<span class="span-label"><i style="color: red; position: relative; top: 3px;">*</i>推荐商品:</span> <span class="span-label"><i style="color: red; position: relative; top: 3px;">*</i>推荐商品:</span>
<div class="search-wrapper"> <div class="search-wrapper">
<div class="search-wrapper"> <div class="search-wrapper">
<div id="listRemoteSearch${count}" placeholder="请搜索" name="searchSelect${count}"></div> <div id="listRemoteSearch${index+1}" placeholder="请搜索" name="searchSelect${index+1}" onclick="handleInput('${index+1}')"></div>
</div> </div>
</div> </div>
</div> </div>
...@@ -477,7 +495,7 @@ ...@@ -477,7 +495,7 @@
<div class="addAvatarItem" style="padding: 20px;"> <div class="addAvatarItem" style="padding: 20px;">
<div class="selectClassifyOne"> <div class="selectClassifyOne">
<span class="span-label"><i style="color: red; position: relative; top: 3px;">*</i>推荐类型:</span> <span class="span-label"><i style="color: red; position: relative; top: 3px;">*</i>推荐类型:</span>
<select id="listActiveType${count}" class="form-control m-b"> <select id="listActiveType${count}" class="form-control m-b" onclick="handleSelect('${count}')">
<option value="1">NFT</option> <option value="1">NFT</option>
<option value="2">组合购</option> <option value="2">组合购</option>
<option value="3">演出</option> <option value="3">演出</option>
...@@ -488,7 +506,7 @@ ...@@ -488,7 +506,7 @@
<span class="span-label"><i style="color: red; position: relative; top: 3px;">*</i>推荐商品:</span> <span class="span-label"><i style="color: red; position: relative; top: 3px;">*</i>推荐商品:</span>
<div class="search-wrapper"> <div class="search-wrapper">
<div class="search-wrapper"> <div class="search-wrapper">
<div id="listRemoteSearch${count}" placeholder="请搜索" name="searchSelect${count}"></div> <div id="listRemoteSearch${count}" placeholder="请搜索" name="searchSelect${count}" onclick="handleInput('${count}')"></div>
</div> </div>
</div> </div>
</div> </div>
...@@ -498,22 +516,37 @@ ...@@ -498,22 +516,37 @@
// 只有一组,可添加 // 只有一组,可添加
if (count >= 0 && count <= 19) { if (count >= 0 && count <= 20) {
$('.sortable-list').append(dynamicAddDom) $('.sortable-list').append(dynamicAddDom)
setTimeout(() => { setTimeout(() => {
varObj['listRemoteSearch'+count] = new searchSelect(`#listRemoteSearch${count}`, [], function(val) { varObj['listRemoteSearch'+count] = new searchSelect(`#listRemoteSearch${count}`, [], function(val) {
searchAjax(val, count) searchAjax(val, currentNum)
}) })
}, 500) }, 300)
setTimeout(() => { setTimeout(() => {
$(`#listActiveType${count}`).change(function () { $(`#listActiveType${count}`).change(function () { // 1
$('#listRemoteSearch' + count + ' input').attr('value', '')
$('#listRemoteSearch' + (currentSelect) + ' input').val(''); // 重置功能
$('#listRemoteSearch' + (currentSelect) + ' input').attr('data-id', '')
varObj[Object.keys(varObj)[currentSelect - 1]].empty()
console.log('add-listener', varObj[Object.keys(varObj)[currentSelect - 1]])
}) })
}, 800) }, 400)
setTimeout(() => {
$('#listRemoteSearch' + (count) + ' input').focus(function () {
$(this).val('')
$(this).attr('data-id', '')
// varObj[Object.keys(varObj)[currentSelect - 1]].empty()
})
}, 600)
} else { } else {
layer.msg('不能添加') layer.msg('不能添加')
...@@ -523,6 +556,16 @@ ...@@ -523,6 +556,16 @@
} }
// 点击select记录位置
function handleSelect (num) {
currentSelect = num
}
// 点击input记录位置
function handleInput(num) {
currentNum = num;
}
// 删除list item // 删除list item
function removeListItem (index) { function removeListItem (index) {
let evryGroup = $('#addClassify2').find($('.addAvatarItem')) let evryGroup = $('#addClassify2').find($('.addAvatarItem'))
...@@ -549,7 +592,7 @@ ...@@ -549,7 +592,7 @@
}) })
}) })
let idList = listData.filter(item => item.recommendBindId == undefined) let idList = listData.filter(item => !item.recommendBindId)
if (idList.length >= 1) { if (idList.length >= 1) {
layer.msg('推荐活动需填写完整') layer.msg('推荐活动需填写完整')
...@@ -571,7 +614,7 @@ ...@@ -571,7 +614,7 @@
} }
// 添加dom同时,添加表单监听 // 添加dom同时,添加表单监听
function createListenerSearch (index) { function createListenerSearch (index) { // index 1 2 3
varObj['listRemoteSearch'+index] = new searchSelect(`#listRemoteSearch${index}`, [], function(val) { varObj['listRemoteSearch'+index] = new searchSelect(`#listRemoteSearch${index}`, [], function(val) {
searchAjax(val, index) searchAjax(val, index)
...@@ -579,9 +622,12 @@ ...@@ -579,9 +622,12 @@
} }
function searchAjax (val, index) { function searchAjax (val, index) { // 1 2
let _selectVal = $("#listActiveType" + index).find("option:selected").val() // 当前子select val let _selectVal = $("#listActiveType" + index).find("option:selected").val() // 当前子select val
console.log('当前的list下啦', $("#listActiveType" + index), index)
if (_selectVal) { if (_selectVal) {
let _params = {} let _params = {}
if (_selectVal == 1) { if (_selectVal == 1) {
...@@ -608,8 +654,6 @@ ...@@ -608,8 +654,6 @@
let yan = res.value || [] let yan = res.value || []
let sp = res.data || [] let sp = res.data || []
console.log('_selectVal', _selectVal)
if (_selectVal == 1) { if (_selectVal == 1) {
_data = nft.map(item => { // 组装返回nft数据 _data = nft.map(item => { // 组装返回nft数据
return { id: item.spuId, value: item.spuName } return { id: item.spuId, value: item.spuName }
......
...@@ -80,9 +80,9 @@ public class AdamUserServiceImpl implements IAdamUserService { ...@@ -80,9 +80,9 @@ public class AdamUserServiceImpl implements IAdamUserService {
String[] mobileLocateArr = adamRdmService.getMobileLocateArr(mobile); String[] mobileLocateArr = adamRdmService.getMobileLocateArr(mobile);
toMqSqls.add(SqlMapping.get("adam_user_mobile_locate.add")); toMqSqls.add(SqlMapping.get("adam_user_mobile_locate.add"));
String cliIpAddr = CurrentUtil.getCliIpAddr();
String headerCliSource = CurrentUtil.getHeaderCliSource();
if (null != mobileLocateArr && mobileLocateArr.length > 0) { if (null != mobileLocateArr && mobileLocateArr.length > 0) {
String cliIpAddr = CurrentUtil.getCliIpAddr();
String headerCliSource = CurrentUtil.getHeaderCliSource();
initUserMobileLocateObjs.add(new Object[]{ initUserMobileLocateObjs.add(new Object[]{
userInfoVo.getUid(), mobile, 1, userInfoVo.getUid(), mobile, 1,
mobileLocateArr[0], mobileLocateArr[1], mobileLocateArr[2], mobileLocateArr[3], mobileLocateArr[4], mobileLocateArr[0], mobileLocateArr[1], mobileLocateArr[2], mobileLocateArr[3], mobileLocateArr[4],
...@@ -90,6 +90,12 @@ public class AdamUserServiceImpl implements IAdamUserService { ...@@ -90,6 +90,12 @@ public class AdamUserServiceImpl implements IAdamUserService {
}); });
userInfoVo.setProvince(mobileLocateArr[0]); userInfoVo.setProvince(mobileLocateArr[0]);
userInfoVo.setCity(mobileLocateArr[1]); userInfoVo.setCity(mobileLocateArr[1]);
} else {
initUserMobileLocateObjs.add(new Object[]{
userInfoVo.getUid(), mobile, 1,
null, null, null, null, null,
mobile, cliIpAddr, headerCliSource, now, cliIpAddr, headerCliSource, now, now
});
} }
long s = System.currentTimeMillis(); long s = System.currentTimeMillis();
...@@ -139,9 +145,9 @@ public class AdamUserServiceImpl implements IAdamUserService { ...@@ -139,9 +145,9 @@ public class AdamUserServiceImpl implements IAdamUserService {
String[] mobileLocateArr = adamRdmService.getMobileLocateArr(param.getMobile()); String[] mobileLocateArr = adamRdmService.getMobileLocateArr(param.getMobile());
toMqSqls.add(SqlMapping.get("adam_user_mobile_locate.add")); toMqSqls.add(SqlMapping.get("adam_user_mobile_locate.add"));
String cliIpAddr = CurrentUtil.getCliIpAddr();
String headerCliSource = CurrentUtil.getHeaderCliSource();
if (null != mobileLocateArr && mobileLocateArr.length > 0) { if (null != mobileLocateArr && mobileLocateArr.length > 0) {
String cliIpAddr = CurrentUtil.getCliIpAddr();
String headerCliSource = CurrentUtil.getHeaderCliSource();
initUserMobileLocateObjs.add(new Object[]{ initUserMobileLocateObjs.add(new Object[]{
registerUid, userInfoVo.getMobile(), 1, registerUid, userInfoVo.getMobile(), 1,
mobileLocateArr[0], mobileLocateArr[1], mobileLocateArr[2], mobileLocateArr[3], mobileLocateArr[4], mobileLocateArr[0], mobileLocateArr[1], mobileLocateArr[2], mobileLocateArr[3], mobileLocateArr[4],
...@@ -149,6 +155,12 @@ public class AdamUserServiceImpl implements IAdamUserService { ...@@ -149,6 +155,12 @@ public class AdamUserServiceImpl implements IAdamUserService {
}); });
userInfoVo.setProvince(mobileLocateArr[0]); userInfoVo.setProvince(mobileLocateArr[0]);
userInfoVo.setCity(mobileLocateArr[1]); userInfoVo.setCity(mobileLocateArr[1]);
} else {
initUserMobileLocateObjs.add(new Object[]{
registerUid, userInfoVo.getMobile(), 1,
null, null, null, null, null,
userInfoVo.getMobile(), cliIpAddr, headerCliSource, now, cliIpAddr, headerCliSource, now, now
});
} }
adamRdmService.setUserInfoVoByUid(registerUid, userInfoVo); adamRdmService.setUserInfoVoByUid(registerUid, userInfoVo);
......
...@@ -26,24 +26,25 @@ public class KylinArActiveServiceImpl implements IKylinArActiveService { ...@@ -26,24 +26,25 @@ public class KylinArActiveServiceImpl implements IKylinArActiveService {
private DataUtils dataUtils; private DataUtils dataUtils;
@Autowired @Autowired
private QueueUtils queueUtils; private QueueUtils queueUtils;
@Override @Override
public ResponseDto exchange(String code, String uid) { public ResponseDto exchange(String code, String uid) {
//1 查看是否有兑换码 //1 查看是否有兑换码
KylinTicketActive kylinTicketActive=dataUtils.getArTicket(code); KylinTicketActive kylinTicketActive = dataUtils.getArTicket(code);
if(null==kylinTicketActive){ if (null == kylinTicketActive) {
return ResponseDto.failure("请输入正确的激活码"); return ResponseDto.failure("请输入正确的激活码");
} }
//2、查看该用户是否绑定 //2、查看该用户是否绑定
if(null!=dataUtils.getUserStatus(uid)){ if (null != dataUtils.getUserStatus(uid)) {
return ResponseDto.failure("该用户已激活"); return ResponseDto.failure("该用户已激活");
} }
//判断是否用过卷了 //判断是否用过卷了
if(kylinTicketActive.getState()==2){ if (kylinTicketActive.getState() == 2) {
return ResponseDto.failure("该激活码已经兑换"); return ResponseDto.failure("该激活码已经兑换");
} }
//开始绑定 //开始绑定
//修改redis缓存 //修改redis缓存
dataUtils.setUser(uid,"1"); dataUtils.setUser(uid, "1");
kylinTicketActive.setState(2); kylinTicketActive.setState(2);
dataUtils.setArTicket(kylinTicketActive); dataUtils.setArTicket(kylinTicketActive);
//队列 修改券的状态。 //队列 修改券的状态。
...@@ -52,7 +53,7 @@ public class KylinArActiveServiceImpl implements IKylinArActiveService { ...@@ -52,7 +53,7 @@ public class KylinArActiveServiceImpl implements IKylinArActiveService {
SqlMapping.get( SqlMapping.get(
"kylin_ar_ticket.update", "kylin_ar_ticket.update",
new Object[]{ new Object[]{
2,uid, LocalDateTime.now(),code 2, uid, LocalDateTime.now(), code
} }
)); ));
dataUtils.incrArCode(); dataUtils.incrArCode();
......
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