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

Commit 02c05e7a authored by 张国柄's avatar 张国柄

~API:用户注销:+券数据处理;

~API:用户注销:会员退款兼容处理;
parent db85b59e
...@@ -148,7 +148,6 @@ public class AdamMemberOrderAdminServiceImpl extends ServiceImpl<AdamMemberOrder ...@@ -148,7 +148,6 @@ public class AdamMemberOrderAdminServiceImpl extends ServiceImpl<AdamMemberOrder
memberRefund.setRefundReason(param.getReason()); memberRefund.setRefundReason(param.getReason());
memberRefund.setRenewable(param.getRenewable()); memberRefund.setRenewable(param.getRenewable());
memberRefund.setRefundState(9); memberRefund.setRefundState(9);
memberRefund.setRefundNo(refundNo);
memberRefund.setOperator(ShiroUtils.getLoginName()); memberRefund.setOperator(ShiroUtils.getLoginName());
memberRefund.setCreatedAt(now); memberRefund.setCreatedAt(now);
...@@ -163,6 +162,7 @@ public class AdamMemberOrderAdminServiceImpl extends ServiceImpl<AdamMemberOrder ...@@ -163,6 +162,7 @@ public class AdamMemberOrderAdminServiceImpl extends ServiceImpl<AdamMemberOrder
String moKey = AdamRedisConst.INFO_MEMBER_ORDER + memberOrder.getUid(); String moKey = AdamRedisConst.INFO_MEMBER_ORDER + memberOrder.getUid();
ArrayList<AdamMemberOrderVo> vos = (ArrayList<AdamMemberOrderVo>) redisDataSourceUtil.getRedisAdamUtil().get(moKey); ArrayList<AdamMemberOrderVo> vos = (ArrayList<AdamMemberOrderVo>) redisDataSourceUtil.getRedisAdamUtil().get(moKey);
if (!CollectionUtils.isEmpty(vos)) {
int idx = IntStream.range(0, vos.size()) int idx = IntStream.range(0, vos.size())
.filter(i -> vos.get(i).getOrderNo().equals(memberOrder.getOrderNo())) .filter(i -> vos.get(i).getOrderNo().equals(memberOrder.getOrderNo()))
.findFirst().orElse(-1); .findFirst().orElse(-1);
...@@ -171,6 +171,7 @@ public class AdamMemberOrderAdminServiceImpl extends ServiceImpl<AdamMemberOrder ...@@ -171,6 +171,7 @@ public class AdamMemberOrderAdminServiceImpl extends ServiceImpl<AdamMemberOrder
vo.setUpdatedAt(now); vo.setUpdatedAt(now);
vos.set(idx, vo); vos.set(idx, vo);
redisDataSourceUtil.getRedisAdamUtil().set(moKey, vos); redisDataSourceUtil.getRedisAdamUtil().set(moKey, vos);
}
if (memberRefund.getRenewable() == 2) {// 拉黑用户,直接更新用户会员状态信息 if (memberRefund.getRenewable() == 2) {// 拉黑用户,直接更新用户会员状态信息
AdamUserMember updateUserMember = new AdamUserMember(); AdamUserMember updateUserMember = new AdamUserMember();
...@@ -185,11 +186,10 @@ public class AdamMemberOrderAdminServiceImpl extends ServiceImpl<AdamMemberOrder ...@@ -185,11 +186,10 @@ public class AdamMemberOrderAdminServiceImpl extends ServiceImpl<AdamMemberOrder
String umkey = AdamRedisConst.INFO_USER_MEMBER + memberOrder.getUid(); String umkey = AdamRedisConst.INFO_USER_MEMBER + memberOrder.getUid();
AdamUserMemberVo userMemberVo = (AdamUserMemberVo) redisDataSourceUtil.getRedisAdamUtil().get(umkey); AdamUserMemberVo userMemberVo = (AdamUserMemberVo) redisDataSourceUtil.getRedisAdamUtil().get(umkey);
if (null != userMemberVo) {
userMemberVo.setState(2); userMemberVo.setState(2);
userMemberVo.setExpiryAt(now); userMemberVo.setExpiryAt(now);
userMemberVo.setUpdatedAt(now); userMemberVo.setUpdatedAt(now);
redisDataSourceUtil.getRedisAdamUtil().set(umkey, userMemberVo); redisDataSourceUtil.getRedisAdamUtil().set(umkey, userMemberVo);
List<String> uidBlackList = (List<String>) redisDataSourceUtil.getRedisAdamUtil().get(AdamRedisConst.BLK_LIST_MEMBER_UID); List<String> uidBlackList = (List<String>) redisDataSourceUtil.getRedisAdamUtil().get(AdamRedisConst.BLK_LIST_MEMBER_UID);
...@@ -200,6 +200,7 @@ public class AdamMemberOrderAdminServiceImpl extends ServiceImpl<AdamMemberOrder ...@@ -200,6 +200,7 @@ public class AdamMemberOrderAdminServiceImpl extends ServiceImpl<AdamMemberOrder
redisDataSourceUtil.getRedisAdamUtil().set(AdamRedisConst.BLK_LIST_MEMBER_UID, uidBlackList); redisDataSourceUtil.getRedisAdamUtil().set(AdamRedisConst.BLK_LIST_MEMBER_UID, uidBlackList);
} }
} }
}
} else { } else {
log.warn("会员管理:会员订单:退款:该订单正在退款中[AdamMemberOrderRefundParam={}]", JsonUtils.toJson(param)); log.warn("会员管理:会员订单:退款:该订单正在退款中[AdamMemberOrderRefundParam={}]", JsonUtils.toJson(param));
refundNo = existsRefund.getRefundNo(); refundNo = existsRefund.getRefundNo();
...@@ -228,6 +229,13 @@ public class AdamMemberOrderAdminServiceImpl extends ServiceImpl<AdamMemberOrder ...@@ -228,6 +229,13 @@ public class AdamMemberOrderAdminServiceImpl extends ServiceImpl<AdamMemberOrder
if (!postResultJNode.get("success").asBoolean()) { if (!postResultJNode.get("success").asBoolean()) {
return AjaxResult.warn("会员退款请求支付中心失败"); return AjaxResult.warn("会员退款请求支付中心失败");
} }
JsonNode dataNode = postResultJNode.get("data");
if (null != dataNode && null != dataNode.get("refundCode") && (null == existsRefund || null == existsRefund.getRepayNo())) {
AdamMemberRefund updateMemberRefund = new AdamMemberRefund();
updateMemberRefund.setRepayNo(dataNode.get("refundCode").asText());
adamMemberRefundMapper.update(updateMemberRefund, Wrappers.lambdaUpdate(AdamMemberRefund.class).eq(AdamMemberRefund::getRefundNo, refundNo));
}
return AjaxResult.success(); return AjaxResult.success();
} }
......
...@@ -395,10 +395,20 @@ public class AdamUserServiceImpl implements IAdamUserService { ...@@ -395,10 +395,20 @@ public class AdamUserServiceImpl implements IAdamUserService {
toMqSqls.add(SqlMapping.get("adam_user_mobile_locate.close")); toMqSqls.add(SqlMapping.get("adam_user_mobile_locate.close"));
objsMobileLocate.add(new Object[]{now, uid}); objsMobileLocate.add(new Object[]{now, uid});
/* ---------------------- 用户平台券信息 */
toMqSqls.add(SqlMapping.get("candy_user_coupon.close"));
LinkedList<Object[]> objsCandyUserCoupon = CollectionUtil.linkedListObjectArr();
objsCandyUserCoupon.add(new Object[]{uid});
/* ---------------------- 用户商城券信息 */
toMqSqls.add(SqlMapping.get("goblin_user_coupon.close"));
LinkedList<Object[]> objsGoblinUserCoupon = CollectionUtil.linkedListObjectArr();
objsGoblinUserCoupon.add(new Object[]{uid});
s = System.currentTimeMillis(); s = System.currentTimeMillis();
queueUtils.sendMsgByRedis( queueUtils.sendMsgByRedis(MQConst.AdamQueue.SQL_UCENTER.getKey(),
MQConst.AdamQueue.SQL_UCENTER.getKey(), SqlMapping.gets(toMqSqls, objsUser, objsThirdPart, objsUserMember, objsRealInfo,
SqlMapping.gets(toMqSqls, objsUser, objsThirdPart, objsUserMember, objsRealInfo, objsAddresses, objsEnters, objsMobileLocate) objsAddresses, objsEnters, objsMobileLocate, objsCandyUserCoupon, objsGoblinUserCoupon)
); );
log.debug("#MQ耗时:{}ms", System.currentTimeMillis() - s); log.debug("#MQ耗时:{}ms", System.currentTimeMillis() - s);
} }
......
...@@ -80,3 +80,10 @@ adam_user_mobile_locate.close=UPDATE adam_user_mobile_locate SET `state`=2, upda ...@@ -80,3 +80,10 @@ adam_user_mobile_locate.close=UPDATE adam_user_mobile_locate SET `state`=2, upda
# ---------------------------------------------------- # ----------------------------------------------------
# ----------------------------------------------------
candy_user_coupon.close=UPDATE candy_user_coupon SET state=2,updated_at=sysdate(),operator='close' WHERE uid=? AND state=1
goblin_user_coupon.close=UPDATE goblin_user_coupon SET state=2,updated_at=sysdate(),operator='close' WHERE uid=? AND state=1
# ----------------------------------------------------
\ No newline at end of file
...@@ -7,6 +7,7 @@ import com.liquidnet.common.cache.redis.util.AbstractRedisUtil; ...@@ -7,6 +7,7 @@ import com.liquidnet.common.cache.redis.util.AbstractRedisUtil;
import com.liquidnet.common.cache.redis.util.RedisDataSourceUtil; import com.liquidnet.common.cache.redis.util.RedisDataSourceUtil;
import com.liquidnet.service.adam.constant.AdamRedisConst; import com.liquidnet.service.adam.constant.AdamRedisConst;
import com.liquidnet.service.adam.dto.vo.AdamMemberOrderVo; import com.liquidnet.service.adam.dto.vo.AdamMemberOrderVo;
import com.liquidnet.service.adam.dto.vo.AdamUserInfoVo;
import com.liquidnet.service.adam.dto.vo.AdamUserMemberVo; import com.liquidnet.service.adam.dto.vo.AdamUserMemberVo;
import com.liquidnet.service.adam.entity.AdamMemberOrder; import com.liquidnet.service.adam.entity.AdamMemberOrder;
import com.liquidnet.service.adam.entity.AdamMemberRefund; import com.liquidnet.service.adam.entity.AdamMemberRefund;
...@@ -101,8 +102,9 @@ public class PlatformMemberRefundService extends ServiceImpl<AdamMemberRefundMap ...@@ -101,8 +102,9 @@ public class PlatformMemberRefundService extends ServiceImpl<AdamMemberRefundMap
private void refundSuccProcessing(String orderNo, LocalDateTime now, String refundAmt) { private void refundSuccProcessing(String orderNo, LocalDateTime now, String refundAmt) {
AdamMemberOrder memberOrder = adamMemberOrderMapper.selectOne(Wrappers.lambdaUpdate(AdamMemberOrder.class).eq(AdamMemberOrder::getOrderNo, orderNo)); AdamMemberOrder memberOrder = adamMemberOrderMapper.selectOne(Wrappers.lambdaUpdate(AdamMemberOrder.class).eq(AdamMemberOrder::getOrderNo, orderNo));
LocalDateTime newExpiryAt = null;
List<String> removeUcouponIdList = null; List<String> removeUcouponIdList = null;
LocalDateTime newExpiryAt = null;
boolean syncVo = false;
AbstractRedisUtil redisAdamUtil = redisDataSourceUtil.getRedisAdamUtil(); AbstractRedisUtil redisAdamUtil = redisDataSourceUtil.getRedisAdamUtil();
AbstractRedisUtil redisCandyUtil = redisDataSourceUtil.getRedisCandyUtil(); AbstractRedisUtil redisCandyUtil = redisDataSourceUtil.getRedisCandyUtil();
...@@ -111,13 +113,15 @@ public class PlatformMemberRefundService extends ServiceImpl<AdamMemberRefundMap ...@@ -111,13 +113,15 @@ public class PlatformMemberRefundService extends ServiceImpl<AdamMemberRefundMap
// 同步更新REDIS会员订单信息 // 同步更新REDIS会员订单信息
String moKey = AdamRedisConst.INFO_MEMBER_ORDER + memberOrder.getUid(); String moKey = AdamRedisConst.INFO_MEMBER_ORDER + memberOrder.getUid();
ArrayList<AdamMemberOrderVo> vos = (ArrayList<AdamMemberOrderVo>) redisAdamUtil.get(moKey); ArrayList<AdamMemberOrderVo> vos = (ArrayList<AdamMemberOrderVo>) redisAdamUtil.get(moKey);
if (!CollectionUtils.isEmpty(vos)) {
int idx = IntStream.range(0, vos.size()).filter(i -> vos.get(i).getOrderNo().equals(memberOrder.getOrderNo())).findFirst().orElse(-1); int idx = IntStream.range(0, vos.size()).filter(i -> vos.get(i).getOrderNo().equals(memberOrder.getOrderNo())).findFirst().orElse(-1);
AdamMemberOrderVo vo = vos.get(idx); AdamMemberOrderVo vo = vos.get(idx);
vo.setState(5); vo.setState(5);
vo.setUpdatedAt(now); vo.setUpdatedAt(now);
vos.set(idx, vo); vos.set(idx, vo);
boolean syncVo = redisAdamUtil.set(moKey, vos); syncVo = redisAdamUtil.set(moKey, vos);
log.info("###会员退款回调处理成功:更新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()); String umKey = AdamRedisConst.INFO_USER_MEMBER.concat(memberOrder.getUid());
AdamUserMemberVo userMemberVo = (AdamUserMemberVo) redisAdamUtil.get(umKey); AdamUserMemberVo userMemberVo = (AdamUserMemberVo) redisAdamUtil.get(umKey);
...@@ -127,6 +131,7 @@ public class PlatformMemberRefundService extends ServiceImpl<AdamMemberRefundMap ...@@ -127,6 +131,7 @@ public class PlatformMemberRefundService extends ServiceImpl<AdamMemberRefundMap
List<CandyUserCouponBasicDto> userCouponBasicDtoList = (List<CandyUserCouponBasicDto>) redisCandyUtil.get(uckey); List<CandyUserCouponBasicDto> userCouponBasicDtoList = (List<CandyUserCouponBasicDto>) redisCandyUtil.get(uckey);
// 同步更新REDIS会员信息 // 同步更新REDIS会员信息
if (null != userMemberVo) {
if (userMemberVo.getState() == 1) {// 非拉黑用户,则更新到期时间为减去订单标记的会员有效期的日期 if (userMemberVo.getState() == 1) {// 非拉黑用户,则更新到期时间为减去订单标记的会员有效期的日期
LocalDateTime expiryAt = userMemberVo.getExpiryAt(); LocalDateTime expiryAt = userMemberVo.getExpiryAt();
newExpiryAt = expiryAt.minusDays(memberOrder.getDays()); newExpiryAt = expiryAt.minusDays(memberOrder.getDays());
...@@ -165,6 +170,7 @@ public class PlatformMemberRefundService extends ServiceImpl<AdamMemberRefundMap ...@@ -165,6 +170,7 @@ public class PlatformMemberRefundService extends ServiceImpl<AdamMemberRefundMap
.collect(Collectors.toList()); .collect(Collectors.toList());
} }
} }
}
// 同步删除REDIS用户会员权益券信息 // 同步删除REDIS用户会员权益券信息
if (!CollectionUtils.isEmpty(removeUcouponIdList)) { if (!CollectionUtils.isEmpty(removeUcouponIdList)) {
List<String> finalRemoveUcouponIdList = removeUcouponIdList; List<String> finalRemoveUcouponIdList = removeUcouponIdList;
......
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