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

Commit 225d87e9 authored by 胡佳晨's avatar 胡佳晨

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

parents f090f32b eadc1764
......@@ -28,6 +28,8 @@ public class PerformanceExpressSearchAdminParam {
private String expressContacts;
private String expressPhone;
private String mailno;
private List<String> ids;
}
......@@ -132,8 +132,8 @@
<div class="ibox-content">
<div class="nav-tabs-custom">
<ul class="nav nav-tabs">
<li class="active"><a href="#memberinfo" data-toggle="tab" aria-expanded="true">基础信息</a></li>
<li><a href="#membership" data-toggle="tab" aria-expanded="false">会员套餐</a></li>
<li class="tabs_inner active" onclick="tabChange(0)"><a href="#memberinfo" data-toggle="tab" aria-expanded="true">基础信息</a></li>
<li class="tabs_inner" onclick="tabChange(1)"><a href="#membership" data-toggle="tab" aria-expanded="false">会员套餐</a></li>
<!-- <li><a href="#membercode" data-toggle="tab" aria-expanded="false">会员码</a></li>-->
</ul>
<div class="tab-content">
......@@ -420,22 +420,22 @@
<div class="col-sm-10">
<div class="radio-box">
<label for="radio1" onclick="radioType(this)">
<input type="radio" id="coupeAdd1" name="coupeAdd_type" value="0"/> 全场
<input type="radio" id="coupeAdd1" class="coupeAddVal" name="coupeAdd_type" value="0"/> 全场
</label>
</div>
<div class="radio-box">
<label for="radio2" onclick="radioType(this)">
<input type="radio" id="coupeAdd2" onclick="radioType(this)" name="coupeAdd_type" value="1"/>演出
<input type="radio" id="coupeAdd2" class="coupeAddVal" onclick="radioType(this)" name="coupeAdd_type" value="1"/>演出
</label>
</div>
<div class="radio-box">
<label for="radio2" onclick="radioType(this)">
<input type="radio" id="coupeAdd3" onclick="radioType(this)" name="coupeAdd_type" value="2"/>商品
<input type="radio" id="coupeAdd3" class="coupeAddVal" onclick="radioType(this)" name="coupeAdd_type" value="2"/>商品
</label>
</div>
<div class="radio-box">
<label for="radio2" onclick="radioType(this)">
<input type="radio" id="coupeAdd4" onclick="radioType(this)" name="coupeAdd_type" value="3"/>优先购买
<input type="radio" id="coupeAdd4" class="coupeAddVal" onclick="radioType(this)" name="coupeAdd_type" value="3"/>优先购买
</label>
</div>
</div>
......@@ -445,12 +445,12 @@
<div class="col-sm-10">
<div class="radio-box">
<label for="radio1" onclick="coupetType(this)">
<input type="radio" id="coupetypr1" name="coupe_type" value="1"/>满减券
<input type="radio" id="coupetypr2" class="coupeAddVal" name="coupe_type" value="2"/>满减券
</label>
</div>
<div class="radio-box">
<label for="radio2" onclick="coupetType(this)">
<input type="radio" id="coupetypr2" name="coupe_type" value="2"/>代金券
<input type="radio" id="coupetypr1" class="coupeAddVal" name="coupe_type" value="1"/>代金券
</label>
</div>
</div>
......@@ -525,8 +525,20 @@
$("#fileinput-demo-1").on("fileuploaded", function (event, data, previewId, index) {
$('.coverCon').val('https://img.zhengzai.tv/' + data.response.data.ossPath);
});
var tabActive = window.localStorage.getItem('tabActive');
if (tabActive == 1) {
$('.tabs_inner').removeClass('active');
$('.tab-pane').removeClass('active');
$('.tabs_inner').eq(Number(tabActive)).addClass('active');
$('.tab-pane').eq(Number(tabActive)).addClass('active');
}
});
function tabChange (num) {
window.localStorage.setItem('tabActive', num);
}
// 弹窗确认取消按钮
function popBtn (num) {
if (num == 0) {
......@@ -566,20 +578,23 @@
var couType = this.typeCoupe;
var valOver = $('#valOver').val();
var valMinus = $('#valMinus').val();
if (couType == 2) {
if (couType == 1) {
var valFace = $('#valFace').val();
}
}
var itemIndex = $('.parentsIndex').val();
var mrightsId = this.mrightsId;
var couponId = this.couponId;
var MembercoupenData = {
busiType: Number(busiType),
couType: Number(busiType) == 3 ? 101 : Number(couType),
couponId: '',
couponId: couponId? couponId : '',
couponRuleList: couponRuleList,
eventAmt: $('#eventAmt').val(),
label: "标注",
memberId: member.memberId,
mrightsId: memberRightsList[itemIndex].mrightsId ? memberRightsList[itemIndex].mrightsId : 'string',
mrightsId: mrightsId ? mrightsId : memberRightsList[itemIndex].mrightsId ? memberRightsList[itemIndex].mrightsId : 'string',
// overlay: overlay ? overlay : 0,
overlay: 1,
title: coupeTitle,
......@@ -617,7 +632,7 @@
function coupetType (obj) {
var typeCoupe = $(obj).find('input').val();
this.typeCoupe = typeCoupe;
if (typeCoupe == 2) {
if (typeCoupe == 1) {
$('.coupetypr_price').show();
$('.coupetypr_discount').hide();
} else {
......@@ -691,6 +706,62 @@
// 编辑券
function editCoupes (obj, dataObj) {
var coupenObj = dataObj;
this.typeRadio = coupenObj.busiType;
this.typeCoupe = coupenObj.couType;
$('.coupeAddVal').parent().removeClass('checked');
$('.coupeAddVal').attr('checked', false);
$('#coupeAdd_title').val(coupenObj.title);
$('#coupeAdd' + (coupenObj.busiType + 1)).attr('checked', true);
$('#coupeAdd' + (coupenObj.busiType + 1)).parent().addClass('checked');
$('#coupetypr' + coupenObj.couType).attr('checked', true);
$('#coupetypr' + coupenObj.couType).parent().addClass('checked');
var parentObj = $(obj).parent().parent().parent();
var couponId = parentObj.find('#mrccouponId').val();
var eventAmt = parentObj.find('#mrceventAmt').val();
var memberId = member.memberId;
var mrightsId = parentObj.find('#mrcmcouponId').val();
var valFace = parentObj.find('#mrvalFace').val();
var valOver = parentObj.find('#mrcvalOver').val();
var valMinus = parentObj.find('#mrcvalMinus').val();
this.mrightsId = mrightsId;
this.couponId = couponId;
$('#eventAmt').val(eventAmt);
$('#valOver').val(valOver);
$('#valMinus').val(valMinus);
$('#valFace').val(valFace);
if (this.typeRadio == 3) {
$('.alltrack').hide();
$('.alltrack_limit').show();
} else {
$('.alltrack').show();
$('.alltrack_limit').hide();
}
if (this.typeCoupe == 1) {
$('.coupetypr_price').show();
$('.coupetypr_discount').hide();
} else {
$('.coupetypr_price').hide();
$('.coupetypr_discount').show();
}
if (this.typeRadio == 0 || this.typeRadio == 1 || this.typeRadio == 3) {
var couponRuleList = [{
useScope: 100,
busiName: '全部演出'
}]
} else {
var couponRuleList = [{
useScope: 100,
busiName: '全部商品'
}]
}
$('.coupe_pop').show();
}
......
......@@ -68,7 +68,7 @@
align: 'center',
formatter: function(value, row, index) {
var actions = [];
actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.editTab(\'' + row.memberId + '\')"><i class="fa fa-edit"></i>编辑</a> ');
actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.editTab(\'' + row.memberId + '\'); setVipTabs()"><i class="fa fa-edit"></i>编辑</a> ');
actions.push('<a class="btn btn-success btn-xs ' + viewMemberCodeFlag + '" href="javascript:void(0)" onclick="memberCodeList(\'' + row.memberId + '\')"><i class="fa fa-edit"></i>会员码</a> ');
return actions.join('');
}
......@@ -81,6 +81,10 @@
function memberCodeList(memberId) {
$.modal.openTab("会员码列表", 'adam/member/code/' + memberId);
}
function setVipTabs () {
window.localStorage.setItem('tabActive', 0);
}
</script>
</body>
</html>
\ No newline at end of file
......@@ -35,6 +35,10 @@
<label>收货人姓名:</label>
<input type="text" name="expressContacts"/>
</li>
<li>
<label>运单号:</label>
<input type="text" name="mailno"/>
</li>
<!--<li>
<label>订单状态:</label>
<select name="orderStatus" th:with="type=${@dict.getType('zhengzai_order_status')}">
......@@ -55,9 +59,11 @@
<label>快递状态:</label>
<select name="expressStatus">
<option value="">所有</option>
<!-- 包含取消的3 未下单null 下单失败1 -->
<option value="1">未下单</option>
<option value="2">已下单</option>
<option value="50">已揽收</option>
<!-- <option value="50">已揽收</option>-->
<option value="70">运输中</option>
<option value="80">已签收</option>
</select>
</li>
......@@ -447,9 +453,9 @@
case 3:
expressStatusName = '下单取消';
break;
case 50:
/*case 50:
expressStatusName = '已揽收';
break;
break;*/
case 80:
expressStatusName = '已签收';
break;
......
package com.liquidnet.client.admin.zhengzai.adam.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.fasterxml.jackson.databind.JsonNode;
......@@ -8,10 +9,7 @@ import com.liquidnet.client.admin.common.core.domain.AjaxResult;
import com.liquidnet.client.admin.common.utils.ShiroUtils;
import com.liquidnet.client.admin.zhengzai.adam.service.IAdamMemberOrderAdminService;
import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.util.BeanUtil;
import com.liquidnet.commons.lang.util.HttpUtil;
import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.commons.lang.util.*;
import com.liquidnet.service.adam.constant.AdamRedisConst;
import com.liquidnet.service.adam.dto.MemberOrderDto;
import com.liquidnet.service.adam.dto.admin.AdamMemberOrderRefundParam;
......@@ -28,6 +26,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import org.springframework.util.LinkedMultiValueMap;
import java.beans.IntrospectionException;
......@@ -185,6 +184,32 @@ public class AdamMemberOrderAdminServiceImpl extends ServiceImpl<AdamMemberOrder
vos.set(idx, vo);
redisUtil.set(moKey, vos);
if (memberRefund.getRenewable() == 2) {
AdamUserMember updateUserMember = new AdamUserMember();
updateUserMember.setState(2);
updateUserMember.setUpdatedAt(now);
updateUserMember.setComment("R");
LambdaUpdateWrapper<AdamUserMember> userMemberLambdaUpdateWrapper = Wrappers.lambdaUpdate(AdamUserMember.class);
userMemberLambdaUpdateWrapper.eq(AdamUserMember::getUid, memberOrder.getUid());
adamUserMemberMapper.update(updateUserMember, userMemberLambdaUpdateWrapper);
String umkey = AdamRedisConst.INFO_USER_MEMBER + memberOrder.getUid();
AdamUserMemberVo userMemberVo = (AdamUserMemberVo) redisUtil.get(umkey);
userMemberVo.setState(2);
userMemberVo.setUpdatedAt(now);
redisUtil.set(umkey, userMemberVo);
List<String> uidBlackList = (List<String>) redisUtil.get(AdamRedisConst.BLK_LIST_MEMBER_UID);
if (CollectionUtils.isEmpty(uidBlackList)) {
uidBlackList = CollectionUtil.arrayListString();
}
uidBlackList.add(memberOrder.getUid());
redisUtil.set(AdamRedisConst.BLK_LIST_MEMBER_UID, uidBlackList);
}
return AjaxResult.success();
}
......
......@@ -307,8 +307,8 @@
LEFT JOIN (SELECT * FROM kylin_order_express WHERE express_status NOT IN (1, 3)) AS oe ON oe.order_tickets_id =
kot.order_tickets_id
LEFT JOIN (SELECT * FROM kylin_order_express_route ORDER BY mid DESC LIMIT 1) AS oer ON oe.order_express_id =
oer.order_express_id
-- LEFT JOIN (SELECT * FROM kylin_order_express_route ORDER BY mid DESC LIMIT 1) AS oer ON oe.order_express_id =
-- oer.order_express_id
<where>
kotr.performance_id = #{performancesId}
AND kot.get_ticket_type = 'express'
......@@ -327,8 +327,10 @@
<if test="expressContacts != null and expressContacts != ''">AND kot.express_contacts LIKE concat('%',
#{expressContacts}, '%')
</if>
<if test="expressStatus != '' and expressStatus != 1">AND oe.express_status = ${expressStatus}</if>
<if test="expressStatus == 1">AND oe.express_status IS NULL</if>
<if test="expressStatus != '' and expressStatus != 1 and expressStatus != 70">AND oe.express_status = ${expressStatus}</if>
<if test="expressStatus == 1">AND (oe.express_status IS NULL OR oe.express_status = ${expressStatus})</if>
<if test="expressStatus == 70">AND (oe.express_status > 3 AND oe.express_status != 80)</if>
<if test="mailno != ''">AND oe.mailno LIKE concat('%', #{mailno}, '%')</if>
</where>
</select>
......
......@@ -21,13 +21,14 @@ public class TestAdam {
"adam:info:third_party:2104440",
"adam:info:enters:2104440",
"adam:info:addresses:2104440",
"adam:info:member:code:GMRGBUQB30",
"adam:identity:mobile:18505123456",
"adam:identity:sso:245482441472573441815566",
"adam:info:user:310508344264376327445470",
"adam:morder:2283655",
"adam:info:umember:1404935",
"adam:info:morder:1404935",
"adam:info:umember:1364947",
"adam:info:morder:1364947",
"adam:info:member:simple",
"adam:info:member:category:1",
......
......@@ -85,6 +85,7 @@ public class PlatformMemberRefundService extends ServiceImpl<AdamMemberRefundMap
private void refundSuccProcessing(String orderNo, LocalDateTime now) {
AdamMemberOrder memberOrder = adamMemberOrderMapper.selectOne(Wrappers.lambdaUpdate(AdamMemberOrder.class).eq(AdamMemberOrder::getOrderNo, orderNo));
LocalDateTime newExpiryAt = null;
{// 同步用户端信息
String moKey = AdamRedisConst.INFO_MEMBER_ORDER + memberOrder.getUid();
......@@ -99,14 +100,17 @@ public class PlatformMemberRefundService extends ServiceImpl<AdamMemberRefundMap
String umKey = AdamRedisConst.INFO_USER_MEMBER.concat(memberOrder.getUid());
AdamUserMemberVo userMemberVo = (AdamUserMemberVo) redisUtil.get(umKey);
userMemberVo.setState(2);
newExpiryAt = userMemberVo.getExpiryAt().minusDays(memberOrder.getDays());
userMemberVo.setExpiryAt(newExpiryAt);
userMemberVo.setUpdatedAt(now);
syncVo = redisUtil.set(umKey, userMemberVo);
log.warn("###会员退款回调处理成功:更新REDIS会员状态{}[orderNo:{},uid:{}]", syncVo ? "成功" : "失败", orderNo, memberOrder.getUid());
}
AdamUserMember updateInfoUserMember = new AdamUserMember();
updateInfoUserMember.setState(2);
updateInfoUserMember.setExpiryAt(newExpiryAt);
updateInfoUserMember.setUpdatedAt(now);
updateInfoUserMember.setComment("R");
int updateRst = adamUserMemberMapper.update(updateInfoUserMember, Wrappers.lambdaUpdate(AdamUserMember.class).eq(AdamUserMember::getUid, memberOrder.getUid()));
......
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