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

Commit 789035e8 authored by 张国柄's avatar 张国柄

会员退款逻辑调整:当天购买当天退款,失效时间处理;

parent bd3fb326
......@@ -171,6 +171,7 @@ public class AdamMemberOrderAdminServiceImpl extends ServiceImpl<AdamMemberOrder
updateInfoMemberOrder.setMid(memberOrder.getMid());
updateInfoMemberOrder.setState(4);
updateInfoMemberOrder.setUpdatedAt(now);
updateInfoMemberOrder.setComment("R");
adamMemberOrderMapper.updateById(updateInfoMemberOrder);
String moKey = AdamRedisConst.INFO_MEMBER_ORDER + memberOrder.getUid();
......@@ -184,9 +185,10 @@ public class AdamMemberOrderAdminServiceImpl extends ServiceImpl<AdamMemberOrder
vos.set(idx, vo);
redisUtil.set(moKey, vos);
if (memberRefund.getRenewable() == 2) {
if (memberRefund.getRenewable() == 2) {// 拉黑用户,直接更新用户会员状态信息
AdamUserMember updateUserMember = new AdamUserMember();
updateUserMember.setState(2);
updateUserMember.setExpiryAt(now);
updateUserMember.setUpdatedAt(now);
updateUserMember.setComment("R");
......@@ -198,6 +200,7 @@ public class AdamMemberOrderAdminServiceImpl extends ServiceImpl<AdamMemberOrder
AdamUserMemberVo userMemberVo = (AdamUserMemberVo) redisUtil.get(umkey);
userMemberVo.setState(2);
userMemberVo.setExpiryAt(now);
userMemberVo.setUpdatedAt(now);
redisUtil.set(umkey, userMemberVo);
......
......@@ -18,6 +18,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletRequest;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.stream.IntStream;
......@@ -96,31 +97,40 @@ public class PlatformMemberRefundService extends ServiceImpl<AdamMemberRefundMap
vo.setUpdatedAt(now);
vos.set(idx, vo);
boolean syncVo = redisUtil.set(moKey, vos);
log.warn("###会员退款回调处理成功:更新REDIS会员订单状态{}[orderNo:{},uid:{}]", syncVo ? "成功" : "失败", orderNo, memberOrder.getUid());
log.info("###会员退款回调处理成功:更新REDIS会员订单信息{}[orderNo:{},uid:{}]", syncVo ? "成功" : "失败", orderNo, memberOrder.getUid());
String umKey = AdamRedisConst.INFO_USER_MEMBER.concat(memberOrder.getUid());
AdamUserMemberVo userMemberVo = (AdamUserMemberVo) redisUtil.get(umKey);
newExpiryAt = userMemberVo.getExpiryAt().minusDays(memberOrder.getDays());
userMemberVo.setExpiryAt(newExpiryAt);
userMemberVo.setUpdatedAt(now);
if (userMemberVo.getState() == 1) {// 非拉黑用户,则更新到期时间为减去订单标记的会员有效期的日期
newExpiryAt = userMemberVo.getExpiryAt().minusDays(memberOrder.getDays());
syncVo = redisUtil.set(umKey, userMemberVo);
log.warn("###会员退款回调处理成功:更新REDIS会员状态{}[orderNo:{},uid:{}]", syncVo ? "成功" : "失败", orderNo, memberOrder.getUid());
}
LocalDate nowDate = now.toLocalDate();
LocalDate newExpiryDate = newExpiryAt.toLocalDate();
if (newExpiryDate.isEqual(nowDate)) {// 新的过期时间如果和当前时间为同一天,则重置到期时间为当天00:00:00
newExpiryAt = now.withHour(0).withMinute(0).withSecond(0);
}
userMemberVo.setExpiryAt(newExpiryAt);
userMemberVo.setUpdatedAt(now);
AdamUserMember updateInfoUserMember = new AdamUserMember();
updateInfoUserMember.setExpiryAt(newExpiryAt);
updateInfoUserMember.setUpdatedAt(now);
updateInfoUserMember.setComment("R");
int updateRst = adamUserMemberMapper.update(updateInfoUserMember, Wrappers.lambdaUpdate(AdamUserMember.class).eq(AdamUserMember::getUid, memberOrder.getUid()));
log.warn("###会员退款回调处理成功:更新用户会员状态{}[orderNo:{},uid:{}]", updateRst <= 0 ? "失败" : "成功", orderNo, memberOrder.getUid());
syncVo = redisUtil.set(umKey, userMemberVo);
log.info("###会员退款回调处理成功:更新REDIS会员信息{}[orderNo:{},uid:{}]", syncVo ? "成功" : "失败", orderNo, memberOrder.getUid());
AdamUserMember updateInfoUserMember = new AdamUserMember();
updateInfoUserMember.setExpiryAt(newExpiryAt);
updateInfoUserMember.setUpdatedAt(now);
updateInfoUserMember.setComment("R");
int updateRst = adamUserMemberMapper.update(updateInfoUserMember, Wrappers.lambdaUpdate(AdamUserMember.class).eq(AdamUserMember::getUid, memberOrder.getUid()));
log.info("###会员退款回调处理成功:更新DB会员信息{}[orderNo:{},uid:{}]", updateRst <= 0 ? "失败" : "成功", orderNo, memberOrder.getUid());
}
}
AdamMemberOrder updateInfoMemberOrder = new AdamMemberOrder();
updateInfoMemberOrder.setMid(memberOrder.getMid());
updateInfoMemberOrder.setState(5);
updateInfoMemberOrder.setUpdatedAt(now);
updateRst = adamMemberOrderMapper.updateById(updateInfoMemberOrder);
log.warn("###会员退款回调处理成功:更新会员订单状态{}[orderNo:{}]", updateRst <= 0 ? "失败" : "成功", orderNo);
int updateRst = adamMemberOrderMapper.updateById(updateInfoMemberOrder);
log.info("###会员退款回调处理成功:更新DB订单信息{}[orderNo:{}]", updateRst <= 0 ? "失败" : "成功", orderNo);
}
}
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