UserActivityServiceImpl.java 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. package com.cyksj.service.user.impl;
  2. import cn.hutool.core.util.StrUtil;
  3. import com.baomidou.mybatisplus.core.toolkit.Wrappers;
  4. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  5. import com.cyksj.common.util.Jsons;
  6. import com.cyksj.mapper.UserActivityMapper;
  7. import com.cyksj.mapper.UserMapper;
  8. import com.cyksj.model.entity.CouponUser;
  9. import com.cyksj.model.entity.User;
  10. import com.cyksj.model.entity.UserActivity;
  11. import com.cyksj.service.mange.coupon.CouponCommonService;
  12. import com.cyksj.service.user.UserActivityService;
  13. import lombok.RequiredArgsConstructor;
  14. import lombok.extern.slf4j.Slf4j;
  15. import org.springframework.stereotype.Service;
  16. import java.util.List;
  17. /**
  18. * 项目名: yhlxj
  19. * 文件名: UserActivityServiceImpl
  20. * 创建者: JavaZou
  21. * 创建时间:2024/4/16 12:16
  22. */
  23. @Service
  24. @RequiredArgsConstructor
  25. @Slf4j
  26. public class UserActivityServiceImpl extends ServiceImpl<UserActivityMapper, UserActivity> implements UserActivityService {
  27. private final CouponCommonService couponCommonService;
  28. private final UserMapper userMapper;
  29. @Override
  30. public void sendStudentCertActivity(User user, String dsCode) throws Exception {
  31. UserActivity activity = getById(1);
  32. Long sendUserId = user.getId();
  33. if (StrUtil.isNotBlank(dsCode)) {
  34. User toUser = userMapper.selectOne(Wrappers.lambdaQuery(User.class).eq(User::getShowId, dsCode).last("limit 1"));
  35. if (toUser != null) {
  36. sendUserId = toUser.getId();
  37. }
  38. }
  39. if (StrUtil.isNotBlank(activity.getCouponIds())) {
  40. //发送优惠券
  41. List<Long> couponIds = Jsons.parseList(activity.getCouponIds(), Long.class);
  42. log.info("uid:{}大学生认证成功,发放优惠券:{}", user.getId(), couponIds);
  43. for (Long couponId : couponIds) {
  44. couponCommonService.sendCouponToUser(sendUserId, couponId, 0l, 0l, 0l, CouponUser.Channel.student_cert);
  45. }
  46. }
  47. }
  48. @Override
  49. public void saveOrUpdateActivity(UserActivity userActivity) throws Exception {
  50. checkActivity(userActivity);
  51. saveOrUpdate(userActivity);
  52. }
  53. public void checkActivity(UserActivity userActivity) throws Exception {
  54. String couponIds = userActivity.getCouponIds();
  55. if (StrUtil.isNotBlank(couponIds)) {
  56. List<Long> couponidsList = Jsons.parseList(couponIds, Long.class);
  57. userActivity.setCouponIds(Jsons.toJson(couponidsList));
  58. }
  59. }
  60. }