Commit 319aae48 authored by libin's avatar libin

Merge branch 'luck_draw_feature' into dev

parents c0f96abb 24ca3a24
...@@ -47,7 +47,6 @@ public class ActivityPrize implements Serializable { ...@@ -47,7 +47,6 @@ public class ActivityPrize implements Serializable {
@Column(name = "day_max_use") @Column(name = "day_max_use")
private Integer dayMaxUse; private Integer dayMaxUse;
@NotNull(message = "奖品库存不能为null")
@Column(name = "total_stock") @Column(name = "total_stock")
private Integer totalStock; private Integer totalStock;
......
...@@ -9,6 +9,7 @@ import com.github.wxiaoqi.security.common.util.ReferralCodeUtil; ...@@ -9,6 +9,7 @@ import com.github.wxiaoqi.security.common.util.ReferralCodeUtil;
import com.xxfc.platform.activity.config.RedissonLock; import com.xxfc.platform.activity.config.RedissonLock;
import com.xxfc.platform.activity.constant.PrizeGoodsTypeEnum; import com.xxfc.platform.activity.constant.PrizeGoodsTypeEnum;
import com.xxfc.platform.activity.constant.PrizeTypeEnum; import com.xxfc.platform.activity.constant.PrizeTypeEnum;
import com.xxfc.platform.activity.dto.CouponDTO;
import com.xxfc.platform.activity.dto.UserCouponSendDTO; import com.xxfc.platform.activity.dto.UserCouponSendDTO;
import com.xxfc.platform.activity.entity.ActivityPrize; import com.xxfc.platform.activity.entity.ActivityPrize;
import com.xxfc.platform.activity.entity.ActivityWinningRecord; import com.xxfc.platform.activity.entity.ActivityWinningRecord;
...@@ -51,7 +52,7 @@ public class ActivityPrizeBiz extends BaseBiz<ActivityPrizeMapper, ActivityPrize ...@@ -51,7 +52,7 @@ public class ActivityPrizeBiz extends BaseBiz<ActivityPrizeMapper, ActivityPrize
private final ActivityWinningRecordBiz activityWinningRecordBiz; private final ActivityWinningRecordBiz activityWinningRecordBiz;
private final ActivityAttendanceRecordBiz activityAttendanceRecordBiz; private final ActivityAttendanceRecordBiz activityAttendanceRecordBiz;
private final UserCouponBiz userCouponBiz; private final UserCouponBiz userCouponBiz;
private final CouponBiz couponBiz;
private final RedisTemplate<String, Object> redisTemplate; private final RedisTemplate<String, Object> redisTemplate;
@Resource(name = "redisTemplate") @Resource(name = "redisTemplate")
private ValueOperations<String, Object> valueOperations; private ValueOperations<String, Object> valueOperations;
...@@ -88,11 +89,21 @@ public class ActivityPrizeBiz extends BaseBiz<ActivityPrizeMapper, ActivityPrize ...@@ -88,11 +89,21 @@ public class ActivityPrizeBiz extends BaseBiz<ActivityPrizeMapper, ActivityPrize
if (CollectionUtils.isEmpty(activityPrizes)) { if (CollectionUtils.isEmpty(activityPrizes)) {
throw new BaseException("奖品不能为空"); throw new BaseException("奖品不能为空");
} }
List<Integer> ids = activityPrizes.stream().filter(x -> Objects.nonNull(x.getGoodsId())).map(ActivityPrize::getGoodsId).collect(Collectors.toList());
List<CouponDTO> coupons = new ArrayList<>();
if (CollectionUtils.isNotEmpty(ids)){
coupons = couponBiz.findCouponsByIds(ids);
}
Map<Integer, String> couponMap = coupons.stream().collect(Collectors.toMap(CouponDTO::getId, CouponDTO::getTitle));
Map<Boolean, List<ActivityPrize>> activityPrizeMap = activityPrizes.stream().collect(Collectors.partitioningBy(x -> Objects.nonNull(x.getId()), Collectors.toList())); Map<Boolean, List<ActivityPrize>> activityPrizeMap = activityPrizes.stream().collect(Collectors.partitioningBy(x -> Objects.nonNull(x.getId()), Collectors.toList()));
//保存 //保存
List<ActivityPrize> activityPrizesOfSave = activityPrizeMap.get(Boolean.FALSE); List<ActivityPrize> activityPrizesOfSave = activityPrizeMap.get(Boolean.FALSE);
if (CollectionUtils.isNotEmpty(activityPrizesOfSave)) { if (CollectionUtils.isNotEmpty(activityPrizesOfSave)) {
activityPrizesOfSave.stream().peek(x -> x.setCrtTime(new Date())).count(); activityPrizesOfSave.stream().peek(x -> {x.setCrtTime(new Date());
if (Objects.nonNull(x.getGoodsId())){
x.setName(couponMap==null?"":couponMap.get(x.getGoodsId()));
}
}).count();
mapper.insertList(activityPrizesOfSave); mapper.insertList(activityPrizesOfSave);
} }
//更新 //更新
...@@ -100,6 +111,9 @@ public class ActivityPrizeBiz extends BaseBiz<ActivityPrizeMapper, ActivityPrize ...@@ -100,6 +111,9 @@ public class ActivityPrizeBiz extends BaseBiz<ActivityPrizeMapper, ActivityPrize
if (CollectionUtils.isNotEmpty(activityPrizesOfUpdate)) { if (CollectionUtils.isNotEmpty(activityPrizesOfUpdate)) {
for (ActivityPrize activityPrize : activityPrizesOfUpdate) { for (ActivityPrize activityPrize : activityPrizesOfUpdate) {
activityPrize.setUpdTime(new Date()); activityPrize.setUpdTime(new Date());
if (Objects.nonNull(activityPrize.getGoodsId())){
activityPrize.setName(couponMap==null?"":couponMap.get(activityPrize.getGoodsId()));
}
mapper.updateByPrimaryKeySelective(activityPrize); mapper.updateByPrimaryKeySelective(activityPrize);
} }
} }
......
...@@ -143,4 +143,12 @@ public class CouponBiz extends BaseBiz<CouponMapper, Coupon> { ...@@ -143,4 +143,12 @@ public class CouponBiz extends BaseBiz<CouponMapper, Coupon> {
return mapper.couponsByTickerNoList(tickerNoList); return mapper.couponsByTickerNoList(tickerNoList);
} }
public List<CouponDTO> findCouponsByIds(List<Integer> ids){
List<CouponDTO> couponDTOS = mapper.findCouponsByIds(ids);
if (CollectionUtils.isEmpty(couponDTOS)){
return Collections.EMPTY_LIST;
}
return couponDTOS;
}
} }
\ No newline at end of file
package com.xxfc.platform.activity.mapper; package com.xxfc.platform.activity.mapper;
import com.xxfc.platform.activity.dto.CouponDTO;
import com.xxfc.platform.activity.entity.Coupon; import com.xxfc.platform.activity.entity.Coupon;
import com.xxfc.platform.activity.vo.CouponTitleVo; import com.xxfc.platform.activity.vo.CouponTitleVo;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
...@@ -24,4 +25,6 @@ public interface CouponMapper extends Mapper<Coupon> { ...@@ -24,4 +25,6 @@ public interface CouponMapper extends Mapper<Coupon> {
List<Coupon> couponsByTickerNoList(@Param(value = "tickerNoList") List<String> tickerNoList); List<Coupon> couponsByTickerNoList(@Param(value = "tickerNoList") List<String> tickerNoList);
List<CouponDTO> findCouponsByIds(@Param("ids") List<Integer> ids);
} }
...@@ -57,4 +57,13 @@ ...@@ -57,4 +57,13 @@
</where> </where>
</select> </select>
<select id="findCouponsByIds" resultType="com.xxfc.platform.activity.dto.CouponDTO">
select `id`,`title` from `coupon` where is_del=0
<if test="ids!=null and ids.size>0">
and id in <foreach collection="ids" item="id" open="(" close=")" separator=",">
#{id}
</foreach>
</if>
</select>
</mapper> </mapper>
\ No newline at end of file
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