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