UserActivityServiceImpl.java 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  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. log.info("用户code:{}进行大学生身份认证成功..", dsCode);
  35. User toUser = userMapper.selectOne(Wrappers.lambdaQuery(User.class).eq(User::getShowId, dsCode).last("limit 1"));
  36. if (toUser != null) {
  37. sendUserId = toUser.getId();
  38. }
  39. }
  40. if (StrUtil.isNotBlank(activity.getCouponIds())) {
  41. //发送优惠券
  42. List<Long> couponIds = Jsons.parseList(activity.getCouponIds(), Long.class);
  43. log.info("uid:{}大学生认证成功,发放优惠券:{}", user.getId(), couponIds);
  44. for (Long couponId : couponIds) {
  45. couponCommonService.sendCouponToUser(sendUserId, couponId, 0l, 0l, 0l, CouponUser.Channel.student_cert);
  46. }
  47. }
  48. }
  49. @Override
  50. public void saveOrUpdateActivity(UserActivity userActivity) throws Exception {
  51. checkActivity(userActivity);
  52. saveOrUpdate(userActivity);
  53. }
  54. public void checkActivity(UserActivity userActivity) throws Exception {
  55. String couponIds = userActivity.getCouponIds();
  56. if (StrUtil.isNotBlank(couponIds)) {
  57. List<Long> couponidsList = Jsons.parseList(couponIds, Long.class);
  58. userActivity.setCouponIds(Jsons.toJson(couponidsList));
  59. }
  60. }
  61. }