ActivityServiceImpl.java 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. package com.iamberry.wechat.service.activity;
  2. import com.iamberry.wechat.core.entity.activity.Activity;
  3. import com.iamberry.wechat.core.entity.activity.ActivityHelp;
  4. import com.iamberry.wechat.core.entity.coupon.CouponItem;
  5. import com.iamberry.wechat.face.activity.ActivityService;
  6. import com.iamberry.wechat.face.coupon.CouponItemService;
  7. import com.iamberry.wechat.service.mapper.ActivityHelpMapper;
  8. import com.iamberry.wechat.service.mapper.ActivityMapper;
  9. import com.iamberry.wechat.service.mapper.CouponItemMapper;
  10. import com.iamberry.wechat.tools.StrUtils;
  11. import org.springframework.beans.factory.annotation.Autowired;
  12. import org.springframework.stereotype.Service;
  13. import org.springframework.transaction.annotation.Transactional;
  14. import java.util.Calendar;
  15. import java.util.Date;
  16. import java.util.List;
  17. /**
  18. * 活动助力参与接口
  19. * @author w
  20. * @Date 2018-06-07
  21. */
  22. @Service
  23. public class ActivityServiceImpl implements ActivityService {
  24. @Autowired
  25. private ActivityMapper activityMapper;
  26. @Autowired
  27. private ActivityHelpMapper activityHelpMapper;
  28. @Autowired
  29. private CouponItemMapper couponItemMapper;
  30. /**
  31. * 获取集合
  32. * @param activity
  33. * @return List
  34. */
  35. @Override
  36. public List<Activity> getActivityList(Activity activity){
  37. return activityMapper.getActivityList(activity);
  38. }
  39. /**
  40. * 查询单条数据
  41. * @param id
  42. * @return activity
  43. */
  44. @Override
  45. public Activity getActivityById(Integer id){
  46. return activityMapper.getActivityById(id);
  47. }
  48. @Override
  49. public Activity getActivityCouponId(String couponId) {
  50. return activityMapper.getActivityCouponId(couponId);
  51. }
  52. /**
  53. * 增加数据
  54. * @param activity
  55. * @return Integer
  56. */
  57. @Override
  58. public Integer save(Activity activity){
  59. return activityMapper.save(activity);
  60. }
  61. /**
  62. * 修改数据
  63. * @param activity
  64. * @return Integer
  65. */
  66. @Override
  67. @Transactional
  68. public Integer update(Activity activity){
  69. CouponItem couponItem = new CouponItem();
  70. couponItem.setCouponId(20000);
  71. Calendar calendar = Calendar.getInstance();
  72. calendar.add(Calendar.YEAR,1);
  73. couponItem.setCouponUseEndDate(calendar.getTime());//领取后一年有效
  74. couponItem.setCouponReceiveDate(new Date());
  75. couponItem.setCouponItemUseropenid(activity.getUserOpenId());
  76. couponItem.setCouponUseStatus(1);
  77. couponItem.setCouponIsDonation(2);
  78. couponItem.setCouponItemRemark("新人优惠券");
  79. String uuidStr = StrUtils.getUUID();
  80. couponItem.setCouponItemId(uuidStr);
  81. Integer flag = couponItemMapper.insertCouponItem(couponItem);
  82. if(flag < 1){
  83. throw new RuntimeException("添加优惠券失败");
  84. }
  85. Activity newActivity = new Activity();
  86. newActivity.setActivityId(activity.getActivityId());
  87. newActivity.setActivityStatus(3); //1:助力中 2:助力成功 3:已领取优惠券 4:取消
  88. newActivity.setActivityCoupon(uuidStr);
  89. flag = activityMapper.update(newActivity);
  90. if(flag < 1){
  91. throw new RuntimeException("修改状态失败");
  92. }
  93. return flag;
  94. }
  95. /**
  96. * 好友助力
  97. * @param openId
  98. * @param activityOpenId
  99. * @return
  100. */
  101. @Override
  102. @Transactional
  103. public Integer addActivityHelp(String openId,String activityOpenId){
  104. Activity activity = new Activity();
  105. activity.setUserOpenId(openId);
  106. List<Activity> activityList = activityMapper.getActivityList(activity);
  107. if(activityList == null || activityList.size() < 1){
  108. return 0;
  109. }
  110. activity = activityList.get(0);
  111. Activity ac = new Activity();
  112. ac.setActivityId(activity.getActivityId());
  113. //已有多少人助力
  114. Integer activityAlreadyHelp = activity.getActivityAlreadyHelp() + 1;
  115. if(activityAlreadyHelp >= activity.getActivityAllHelp()){
  116. ac.setActivityStatus(2);
  117. }
  118. ac.setActivityAlreadyHelp(activityAlreadyHelp);
  119. Integer flag = activityMapper.update(ac);
  120. if(flag < 1){
  121. throw new RuntimeException("添加次数失败");
  122. }
  123. ActivityHelp activityHelp = new ActivityHelp();
  124. activityHelp.setActivityId(activity.getActivityId());
  125. activityHelp.setUserOpenId(activityOpenId);
  126. flag = activityHelpMapper.save(activityHelp);
  127. if(flag < 1){
  128. throw new RuntimeException("添加助力好友失败");
  129. }
  130. return flag;
  131. }
  132. }