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

Commit 4ebdca4c authored by jiangxiulong's avatar jiangxiulong

Merge remote-tracking branch 'origin/new_member' into new_member

parents 23ed7d24 3f27cd0f
...@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; ...@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.liquidnet.client.admin.common.annotation.Log; import com.liquidnet.client.admin.common.annotation.Log;
import com.liquidnet.client.admin.common.core.controller.BaseController; import com.liquidnet.client.admin.common.core.controller.BaseController;
import com.liquidnet.client.admin.common.core.domain.AjaxResult; import com.liquidnet.client.admin.common.core.domain.AjaxResult;
import com.liquidnet.client.admin.common.core.domain.entity.SysUser;
import com.liquidnet.client.admin.common.core.page.TableDataInfo; import com.liquidnet.client.admin.common.core.page.TableDataInfo;
import com.liquidnet.client.admin.common.enums.BusinessType; import com.liquidnet.client.admin.common.enums.BusinessType;
import com.liquidnet.client.admin.zhengzai.adam.service.IAdamMemberAdminService; import com.liquidnet.client.admin.zhengzai.adam.service.IAdamMemberAdminService;
...@@ -32,6 +33,7 @@ import org.springframework.validation.annotation.Validated; ...@@ -32,6 +33,7 @@ import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Arrays;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -137,6 +139,14 @@ public class AdamMemberAdminController extends BaseController { ...@@ -137,6 +139,14 @@ public class AdamMemberAdminController extends BaseController {
return prefix + "/info"; return prefix + "/info";
} }
@RequiresPermissions("adam:member:edit:onsale")
@Log(title = "会员管理:会员卡编辑:开售停售", businessType = BusinessType.UPDATE)
@PostMapping("edit_onsale")
@ResponseBody
public AjaxResult editOnsale(AdamMemberBuildParam parameter) {
return this.toAjax(adamMemberService.edit(parameter));
}
@ApiOperation(value = "会员设置:基础信息编辑") @ApiOperation(value = "会员设置:基础信息编辑")
@RequiresPermissions("adam:member:edit:basic") @RequiresPermissions("adam:member:edit:basic")
@Log(title = "会员管理:会员卡编辑:基础信息", businessType = BusinessType.UPDATE) @Log(title = "会员管理:会员卡编辑:基础信息", businessType = BusinessType.UPDATE)
......
...@@ -224,7 +224,6 @@ var refreshItem = function(){ ...@@ -224,7 +224,6 @@ var refreshItem = function(){
/** 关闭选项卡 */ /** 关闭选项卡 */
var closeItem = function(dataId){ var closeItem = function(dataId){
console.log(dataId, '这个科技')
var topWindow = $(window.parent.document); var topWindow = $(window.parent.document);
if($.common.isNotEmpty(dataId)){ if($.common.isNotEmpty(dataId)){
window.parent.$.modal.closeLoading(); window.parent.$.modal.closeLoading();
......
...@@ -929,7 +929,6 @@ var table = { ...@@ -929,7 +929,6 @@ var table = {
}, },
// 关闭选项卡 // 关闭选项卡
closeTab: function (dataId) { closeTab: function (dataId) {
console.log(dataId, '看看这个是啥')
closeItem(dataId); closeItem(dataId);
}, },
// 禁用按钮 // 禁用按钮
......
...@@ -418,10 +418,10 @@ ...@@ -418,10 +418,10 @@
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-2 control-label">类别:</label> <label class="col-sm-2 control-label">类别:</label>
<div class="col-sm-10"> <div class="col-sm-10 coupenColumn">
<div class="radio-box"> <div class="radio-box">
<label for="radio1" onclick="radioType(this)"> <label for="radio2" onclick="radioType(this)">
<input type="radio" id="coupeAdd1" class="coupeAddVal" name="coupeAdd_type" value="0"/> 全场 <input type="radio" id="coupeAdd1" class="coupeAddVal" name="coupeAdd_type" value="0"/>全场
</label> </label>
</div> </div>
<div class="radio-box"> <div class="radio-box">
...@@ -534,6 +534,14 @@ ...@@ -534,6 +534,14 @@
$('.tabs_inner').eq(Number(tabActive)).addClass('active'); $('.tabs_inner').eq(Number(tabActive)).addClass('active');
$('.tab-pane').eq(Number(tabActive)).addClass('active'); $('.tab-pane').eq(Number(tabActive)).addClass('active');
} }
$('.coupenColumn .iCheck-helper').click(function () {
radioType($(this).parent().parent());
});
$('.alltrack .iCheck-helper').click(function () {
coupetType($(this).parent().parent());
});
}); });
function tabChange (num) { function tabChange (num) {
...@@ -583,7 +591,6 @@ ...@@ -583,7 +591,6 @@
}] }]
} }
if (this.typeRadio == 3) { if (this.typeRadio == 3) {
var eventAmt = $('#eventAmt').val(); var eventAmt = $('#eventAmt').val();
var overlay = this.overlay; var overlay = this.overlay;
...@@ -630,7 +637,6 @@ ...@@ -630,7 +637,6 @@
// 类别 // 类别
function radioType (obj) { function radioType (obj) {
console.log(obj)
var typeRadio = $(obj).find('input').val(); var typeRadio = $(obj).find('input').val();
$(obj).parent().parent().find('input').removeAttr('checked'); $(obj).parent().parent().find('input').removeAttr('checked');
$(obj).find('input').attr('checked', true); $(obj).find('input').attr('checked', true);
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
<th:block th:include="include :: footer" /> <th:block th:include="include :: footer" />
<th:block th:include="include :: select2-js" /> <th:block th:include="include :: select2-js" />
<script th:inline="javascript"> <script th:inline="javascript">
var editOnsaleFlag = [[${@permission.hasPermi('adam:member:edit:onsale')}]] == 'hidden';
var editFlag = [[${@permission.hasPermi('adam:member:view:edit')}]]; var editFlag = [[${@permission.hasPermi('adam:member:view:edit')}]];
var viewMemberCodeMgtFlag = [[${@permission.hasPermi('adam:member:code:mgt:list')}]]; var viewMemberCodeMgtFlag = [[${@permission.hasPermi('adam:member:code:mgt:list')}]];
var prefix = ctx + "adam/member"; var prefix = ctx + "adam/member";
...@@ -56,11 +57,18 @@ ...@@ -56,11 +57,18 @@
field: 'onsale', field: 'onsale',
title: '开售状态', title: '开售状态',
align: 'center', align: 'center',
formatter: function(value, row, index) { // formatter: function(value, row, index) {
var actions = []; // var actions = [];
var listClass = "badge badge-" + (value === 1 ? 'primary' : 'danger'); // var listClass = "badge badge-" + (value === 1 ? 'primary' : 'danger');
actions.push($.common.sprintf("<span class='%s'>%s</span>", listClass, value === 1 ? '开售' : '停售')); // actions.push($.common.sprintf("<span class='%s'>%s</span>", listClass, value === 1 ? '开售' : '停售'));
return actions; // return actions;
// }
formatter: function (value, row, index) {
if (value == 1) {
return '<i class=\"fa fa-toggle-on text-info fa-2x\" onclick="onsaleDisable(\'' + row.memberId + '\')"></i> ';
} else {
return '<i class=\"fa fa-toggle-off text-info fa-2x\" onclick="onsaleEnable(\'' + row.memberId + '\')"></i> ';
}
} }
}, },
{ {
...@@ -82,6 +90,24 @@ ...@@ -82,6 +90,24 @@
$.modal.openTab("会员码管理", 'adam/mcode/mgt?memberId=' + memberId); $.modal.openTab("会员码管理", 'adam/mcode/mgt?memberId=' + memberId);
} }
/* 会员停售 */
function onsaleDisable(memberId) {
if (!editOnsaleFlag) {
$.modal.confirm("确认要停售VIP吗?", function() {
$.operate.post(prefix + "/edit_onsale", { "memberId": memberId, "onsale": 2 });
});
}
}
/* 会员开售 */
function onsaleEnable(memberId) {
if (!editOnsaleFlag) {
$.modal.confirm("确认要开售VIP吗?", function() {
$.operate.post(prefix + "/edit_onsale", { "memberId": memberId, "onsale": 1 });
});
}
}
function setVipTabs () { function setVipTabs () {
window.localStorage.setItem('tabActive', 0); window.localStorage.setItem('tabActive', 0);
} }
......
...@@ -288,7 +288,7 @@ ...@@ -288,7 +288,7 @@
}; };
function getMallList() { function getMallList() {
let data = { let data = {
title: '' title: searchVal
} }
let str = ''; let str = '';
promiseMethods(phpMallUrl + '/admin/goodListForQuick','get',data,'application/x-www-form-urlencoded').then(res=>{ promiseMethods(phpMallUrl + '/admin/goodListForQuick','get',data,'application/x-www-form-urlencoded').then(res=>{
...@@ -352,7 +352,13 @@ ...@@ -352,7 +352,13 @@
}); });
$("#searchIpt").keyup(function(){ $("#searchIpt").keyup(function(){
searchVal = $("#searchIpt").val() searchVal = $("#searchIpt").val()
search() // search()
if (typeOne == 2) {
getMallList()
} else {
console.log('search')
search()
}
}); });
$('#selectTwo').change(function(e){ $('#selectTwo').change(function(e){
...@@ -554,6 +560,7 @@ ...@@ -554,6 +560,7 @@
console.log(data,'data') console.log(data,'data')
promiseMethods('/candy/coupon/mgt/add','post',JSON.stringify(data),'application/json').then(res=>{ promiseMethods('/candy/coupon/mgt/add','post',JSON.stringify(data),'application/json').then(res=>{
layer.msg('创建成功!'); layer.msg('创建成功!');
$.operate.successTabCallback(res);
closeItem(); closeItem();
}) })
} }
......
...@@ -212,7 +212,7 @@ ...@@ -212,7 +212,7 @@
<div class="main_bottom"> <div class="main_bottom">
<div class="describe"> <div class="describe">
<span class="labelName"> <span class="labelName">
描述说明: <i class="required">*</i>描述说明:
</span> </span>
<textarea id="describeTxt" class="form-control" rows="4"></textarea> <textarea id="describeTxt" class="form-control" rows="4"></textarea>
</div> </div>
...@@ -399,7 +399,7 @@ ...@@ -399,7 +399,7 @@
}); });
function create() { function create() {
if (!$('#title').val() || !$('#num').val() || !$('#ticketTime').val()) { if (!$('#title').val() || !$('#num').val() || !$('#ticketTime').val() || !$('#describeTxt').val()) {
return layer.msg('请将必填项输入完整~!'); return layer.msg('请将必填项输入完整~!');
if (typeTwo != 1) { if (typeTwo != 1) {
if (!$('#exchangeTime').val()) { if (!$('#exchangeTime').val()) {
...@@ -455,6 +455,9 @@ ...@@ -455,6 +455,9 @@
console.log(data,'data') console.log(data,'data')
promiseMethods('/candy/coupon/mgt/add','post',JSON.stringify(data),'application/json').then(res=>{ promiseMethods('/candy/coupon/mgt/add','post',JSON.stringify(data),'application/json').then(res=>{
console.log(res) console.log(res)
layer.msg('创建成功!');
$.operate.successTabCallback(res);
closeItem();
}) })
} }
function promiseMethods(url,type,data,contentType) { function promiseMethods(url,type,data,contentType) {
......
...@@ -290,7 +290,7 @@ ...@@ -290,7 +290,7 @@
}; };
function getMallList() { function getMallList() {
let data = { let data = {
title: '' title: searchVal
} }
let str = ''; let str = '';
promiseMethods(phpMallUrl + '/admin/goodListForQuick','get',data,'application/x-www-form-urlencoded').then(res=>{ promiseMethods(phpMallUrl + '/admin/goodListForQuick','get',data,'application/x-www-form-urlencoded').then(res=>{
...@@ -353,7 +353,13 @@ ...@@ -353,7 +353,13 @@
}); });
$("#searchIpt").keyup(function(){ $("#searchIpt").keyup(function(){
searchVal = $("#searchIpt").val() searchVal = $("#searchIpt").val()
search() // search()
if (typeOne == 2) {
getMallList()
} else {
console.log('search')
search()
}
}); });
$('#selectTwo').change(function(e){ $('#selectTwo').change(function(e){
...@@ -555,6 +561,7 @@ ...@@ -555,6 +561,7 @@
} }
promiseMethods('/candy/coupon/mgt/add','post',JSON.stringify(data),'application/json').then(res=>{ promiseMethods('/candy/coupon/mgt/add','post',JSON.stringify(data),'application/json').then(res=>{
layer.msg('创建成功!'); layer.msg('创建成功!');
$.operate.successTabCallback(res);
closeItem(); closeItem();
}) })
} }
......
...@@ -341,7 +341,7 @@ ...@@ -341,7 +341,7 @@
isAsc: 'desc', isAsc: 'desc',
couType: 3 couType: 3
} }
$.operate.save(prefix + "/list", data); $.operate.successTabCallback(res);
closeItem(); closeItem();
}) })
} }
......
...@@ -353,6 +353,7 @@ ...@@ -353,6 +353,7 @@
} }
promiseMethods('/candy/coupon/mgt/add','post',JSON.stringify(data),'application/json').then(res=>{ promiseMethods('/candy/coupon/mgt/add','post',JSON.stringify(data),'application/json').then(res=>{
layer.msg('创建成功!'); layer.msg('创建成功!');
$.operate.successTabCallback(res);
closeItem(); closeItem();
}) })
} }
......
...@@ -64,6 +64,7 @@ ...@@ -64,6 +64,7 @@
// updateUrl: prefix + "/edit/{id}", // updateUrl: prefix + "/edit/{id}",
// exportUrl: prefix + "/export", // exportUrl: prefix + "/export",
sortName: "createdAt", sortName: "createdAt",
sortOrder: "desc",
modalName: "优先券", modalName: "优先券",
columns: [ columns: [
{ {
......
...@@ -393,19 +393,20 @@ public class CandyCouponServiceImpl implements ICandyCouponService { ...@@ -393,19 +393,20 @@ public class CandyCouponServiceImpl implements ICandyCouponService {
if (vo.getCouType() != -1) { if (vo.getCouType() != -1) {
redisDataUtils.setCouponByUid(uid, dtoList); redisDataUtils.setCouponByUid(uid, dtoList);
LocalDateTime now = LocalDateTime.now();
//入库 //入库
if (dto.getCcouponId() == null) { if (dto.getCcouponId() == null || (null != dto.getCcouponId() && dto.getUsedAt() != null)) {// 是公有券且为使用后退回的券,则更新
queueUtils.sendMsgByRedis( queueUtils.sendMsgByRedis(
MQConst.CandyQueue.COUPON_USE.getKey(), MQConst.CandyQueue.COUPON_USE.getKey(),
SqlMapping.get("candy_coupon.use", SqlMapping.get("candy_coupon.use",
LocalDateTime.now(), content, uid, uCouponId now, content, uid, uCouponId
) )
); );
} else { } else {
queueUtils.sendMsgByRedis( queueUtils.sendMsgByRedis(
MQConst.CandyQueue.COUPON_USE.getKey(), MQConst.CandyQueue.COUPON_USE.getKey(),
SqlMapping.get("candy_coupon.use_insert", SqlMapping.get("candy_coupon.use_insert",
uCouponId, uid, dto.getCouponId(), LocalDateTime.now(), content uCouponId, uid, dto.getCouponId(), dto.getBindAt(), dto.getDuedAt(), now, content, now
) )
); );
} }
......
# -- 使用券 -- # -- 使用券 --
candy_coupon.use=UPDATE candy_user_coupon SET state = 3 ,used_at = ? , used_for = ? WHERE uid = ? AND ucoupon_id = ? candy_coupon.use=UPDATE candy_user_coupon SET state = 3 ,used_at = ? , used_for = ? WHERE uid = ? AND ucoupon_id = ?
candy_coupon.use_insert=INSERT INTO candy_user_coupon (ucoupon_id , uid , state , coupon_id , used_at , used_for ) VALUE ( ? , ? , 3 , ? , ? ,? ) #candy_coupon.use_insert=INSERT INTO candy_user_coupon (ucoupon_id , uid , state , coupon_id , used_at , used_for ) VALUE ( ? , ? , 3 , ? , ? ,? )
candy_coupon.use_insert=INSERT INTO candy_user_coupon (ucoupon_id , uid , state , coupon_id , bind_at, dued_at, used_at , used_for, created_at) VALUE ( ? , ? , 3 , ? , ? , ?, ?, ?, ?)
# -- 回退券 -- # -- 回退券 --
candy_coupon.back=UPDATE candy_user_coupon SET state = 1 WHERE uid = ? AND ucoupon_id = ? candy_coupon.back=UPDATE candy_user_coupon SET state = 1 WHERE uid = ? AND ucoupon_id = ?
# -- 领取券 -- # -- 领取券 --
......
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