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

Commit 561562b8 authored by 胡佳晨's avatar 胡佳晨

优惠券 更改

parent 133ce44b
......@@ -267,12 +267,21 @@ public class CandyCouponServiceImpl implements ICandyCouponService {
if (vo.getCouType() != -1) {
redisDataUtils.setCouponByUid(uid, dtoList);
//入库
queueUtils.sendMsgByRedis(
MQConst.CandyQueue.COUPON_USE.getKey(),
SqlMapping.get("candy_coupon.use",
uid, uCouponId
)
);
if (dto.getCcouponId() == null) {
queueUtils.sendMsgByRedis(
MQConst.CandyQueue.COUPON_USE.getKey(),
SqlMapping.get("candy_coupon.use",
LocalDateTime.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
)
);
}
}
}
return vo;
......
package com.liquidnet.service.candy.util;
import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.service.candy.constant.CandyRedisConst;
import com.liquidnet.service.candy.dto.CandyCouponCodeDto;
import com.liquidnet.service.candy.dto.CandyCouponInfoDto;
......@@ -10,6 +11,7 @@ import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
@Component
public class RedisDataUtils {
......@@ -20,13 +22,37 @@ public class RedisDataUtils {
// 获取 CandyUserCouponBasicDto数组 根据用户id
public List<CandyUserCouponBasicDto> getCouponByUid(String uid) {
String redisKey = CandyRedisConst.BASIC_USER_COUPON.concat(uid);
String publicRedisKey = CandyRedisConst.BASIC_COMMON_COUPON;
Object obj = redisUtil.get(redisKey);
Object obj2 = redisUtil.get(publicRedisKey);
List<CandyUserCouponBasicDto> userDto;
List<CandyUserCouponBasicDto> pubDto;
if (obj == null) {
//降级
return new ArrayList();
userDto = new ArrayList();
} else {
userDto = (List<CandyUserCouponBasicDto>) obj;
}
if (obj2 == null) {
//降级
pubDto = new ArrayList();
} else {
return (List<CandyUserCouponBasicDto>) obj;
pubDto = (List<CandyUserCouponBasicDto>) obj2;
}
List<String> userIds = userDto.stream().map(CandyUserCouponBasicDto::getCcouponId).collect(Collectors.toList());
for (CandyUserCouponBasicDto item : pubDto) {
if (userIds.contains(item.getCcouponId())) {
continue;
} else {
item.setUcouponId(IDGenerator.get32UUID());
userDto.add(item);
}
}
return userDto;
}
// 覆盖 CandyUserCouponBasicDto数组 根据用户id
......@@ -39,7 +65,7 @@ public class RedisDataUtils {
public void addCouponByUid(String uid, CandyUserCouponBasicDto dto) {
List<CandyUserCouponBasicDto> dtoList = getCouponByUid(uid);
dtoList.add(dto);
setCouponByUid(uid,dtoList);
setCouponByUid(uid, dtoList);
}
//获取 CandyCouponCodeDto 根据 ccode
......
# -- 使用券 --
candy_coupon.use=UPDATE candy_user_coupon SET state = 3 WHERE uid = ? AND ucoupon_id = ?
candy_coupon.use=UPDATE candy_user_coupon SET state = 3 ,use_at = ? , use_for = ? WHERE uid = ? AND ucoupon_id = ?
candy_coupon.use_insert=INSERT INTO candy_user_coupon (ucoupon_id , uid , state , coupon_id , use_at , use_for ) 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