|
@@ -20,6 +20,7 @@ import com.ym.mec.common.dal.BaseDAO;
|
|
|
import com.ym.mec.common.entity.HttpResponseResult;
|
|
|
import com.ym.mec.common.exception.BizException;
|
|
|
import com.ym.mec.common.page.PageInfo;
|
|
|
+import com.ym.mec.common.redis.service.RedisCache;
|
|
|
import com.ym.mec.common.service.IdGeneratorService;
|
|
|
import com.ym.mec.common.service.impl.BaseServiceImpl;
|
|
|
import com.ym.mec.thirdparty.message.MessageSenderPluginContext;
|
|
@@ -145,7 +146,9 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
|
|
|
@Autowired
|
|
|
private CourseScheduleTeacherSalaryService courseScheduleTeacherSalaryService;
|
|
|
@Autowired
|
|
|
- private RedisTemplate<String,Object> redisTemplate;
|
|
|
+ private RedisCache<String, Object> redisCache;
|
|
|
+ @Autowired
|
|
|
+ private LuckDrawCountService luckDrawCountService;
|
|
|
|
|
|
private static Map<Integer, Map<Integer, List<Integer>>> schoolSubjectTeachersMap;
|
|
|
|
|
@@ -4165,48 +4168,24 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
|
|
|
if (studentPaymentOrder.getStatus().equals(DealStatusEnum.SUCCESS)) {
|
|
|
Date now = new Date();
|
|
|
Student student = studentDao.get(order.getUserId());
|
|
|
- Integer activityId = order.getActivityId();
|
|
|
-
|
|
|
- ActivityUserMapper activityUserMapper = new ActivityUserMapper();
|
|
|
- activityUserMapper.setActivityId(activityId);
|
|
|
- activityUserMapper.setUserId(order.getUserId());
|
|
|
- activityUserMapper.setPaymentOrderId(order.getId());
|
|
|
- activityUserMapper.setTeacherId(student.getTeacherId());
|
|
|
- activityUserMapper.setVipFlag(1);
|
|
|
- activityUserMapperService.insert(activityUserMapper);
|
|
|
- //是否指定满足赠送会员的条件
|
|
|
- //是否赠送过会员
|
|
|
- String memberKey = "2021_double_eleven" + order.getUserId();
|
|
|
- Boolean aBoolean = redisTemplate.hasKey(memberKey);
|
|
|
- if(!aBoolean){
|
|
|
- String startTimeStr = sysConfigDao.findConfigValue("2021_double_eleven_start_time");
|
|
|
- Date startTime = DateUtil.stringToDate(startTimeStr);
|
|
|
- String endTimeStr = sysConfigDao.findConfigValue("2021_double_eleven_end_time");
|
|
|
- Date endTime = DateUtil.stringToDate(endTimeStr);
|
|
|
- if (order.getCreateTime().compareTo(startTime) >= 0 && order.getCreateTime().compareTo(endTime) <= 0 ) {
|
|
|
- //赠送会员
|
|
|
- CloudTeacherOrder cloudTeacherOrder = new CloudTeacherOrder();
|
|
|
- Date addDate = now;
|
|
|
- if (student.getMemberRankSettingId() == null || now.after(student.getMembershipEndTime())) {
|
|
|
- cloudTeacherOrder.setStartTime(now);
|
|
|
- } else {
|
|
|
- addDate = student.getMembershipEndTime();
|
|
|
- cloudTeacherOrder.setStartTime(DateUtil.addDays(addDate, 1));
|
|
|
- }
|
|
|
- cloudTeacherOrder.setEndTime(DateUtil.addMonths(addDate, 1));
|
|
|
- cloudTeacherOrder.setRemark("双十一活动赠送会员");
|
|
|
- cloudTeacherOrder.setStatus(2);
|
|
|
- cloudTeacherOrder.setOrderId(order.getId());
|
|
|
- cloudTeacherOrder.setType(2);
|
|
|
- cloudTeacherOrder.setAmount(BigDecimal.ZERO);
|
|
|
- cloudTeacherOrder.setLevel(1);
|
|
|
- cloudTeacherOrder.setStudentId(userId);
|
|
|
- cloudTeacherOrder.setOrganId(order.getOrganId());
|
|
|
- cloudTeacherOrder.setTime(1);
|
|
|
- cloudTeacherOrderDao.insert(cloudTeacherOrder);
|
|
|
- studentService.updateMemberRank(cloudTeacherOrder,PeriodEnum.MONTH);
|
|
|
- }
|
|
|
- }
|
|
|
+ List<VipGroupActivity> vipGroupActivities = vipGroupActivityDao.queryByIds(order.getActivityId());
|
|
|
+ List<ActivityUserMapper> activityUserMappers = new ArrayList<>();
|
|
|
+ Integer times = 0;
|
|
|
+ for (VipGroupActivity e : vipGroupActivities) {
|
|
|
+ ActivityUserMapper activityUserMapper = new ActivityUserMapper();
|
|
|
+ activityUserMapper.setActivityId(e.getId());
|
|
|
+ activityUserMapper.setUserId(order.getUserId());
|
|
|
+ activityUserMapper.setPaymentOrderId(order.getId());
|
|
|
+ activityUserMapper.setTeacherId(student.getTeacherId());
|
|
|
+ activityUserMapper.setVipFlag(1);
|
|
|
+ activityUserMappers.add(activityUserMapper);
|
|
|
+ times = times + e.getGivePrizeNum();
|
|
|
+ }
|
|
|
+ //赠送抽奖机会
|
|
|
+ if(times > 0){
|
|
|
+ luckDrawCountService.freeGive(order.getUserId().longValue(),times,13);
|
|
|
+ }
|
|
|
+ activityUserMapperService.batchInsert(activityUserMappers);
|
|
|
|
|
|
SysUserCashAccount sysUserCashAccount = sysUserCashAccountService.get(userId);
|
|
|
//插入缴费明细
|
|
@@ -4247,6 +4226,40 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
|
|
|
// LOGGER.error(MessageFormatter.arrayFormat("网管课[{}]购买协议错误:{}", order.getMusicGroupId(), e.getMessage()), e);
|
|
|
// }
|
|
|
studentDao.updateStudentServiceTag(userId, null, YesOrNoEnum.YES.getCode());
|
|
|
+ //是否指定满足赠送会员的条件
|
|
|
+ //是否赠送过会员
|
|
|
+ String memberKey = "2021_double_eleven" + order.getUserId();
|
|
|
+ Boolean aBoolean = redisCache.exists(memberKey);
|
|
|
+ if(!aBoolean){
|
|
|
+ String startTimeStr = sysConfigDao.findConfigValue("2021_double_eleven_give_member_start_time");
|
|
|
+ Date startTime = DateUtil.stringToDate(startTimeStr);
|
|
|
+ String endTimeStr = sysConfigDao.findConfigValue("2021_double_eleven_give_member_end_time");
|
|
|
+ Date endTime = DateUtil.stringToDate(endTimeStr);
|
|
|
+ if (order.getCreateTime().compareTo(startTime) >= 0 && order.getCreateTime().compareTo(endTime) <= 0 ) {
|
|
|
+ //赠送会员
|
|
|
+ CloudTeacherOrder cloudTeacherOrder = new CloudTeacherOrder();
|
|
|
+ Date addDate = now;
|
|
|
+ if (student.getMemberRankSettingId() == null || now.after(student.getMembershipEndTime())) {
|
|
|
+ cloudTeacherOrder.setStartTime(now);
|
|
|
+ } else {
|
|
|
+ addDate = student.getMembershipEndTime();
|
|
|
+ cloudTeacherOrder.setStartTime(DateUtil.addDays(addDate, 1));
|
|
|
+ }
|
|
|
+ cloudTeacherOrder.setEndTime(DateUtil.addMonths(addDate, 1));
|
|
|
+ cloudTeacherOrder.setRemark("双十一活动赠送会员");
|
|
|
+ cloudTeacherOrder.setStatus(2);
|
|
|
+ cloudTeacherOrder.setOrderId(order.getId());
|
|
|
+ cloudTeacherOrder.setType(2);
|
|
|
+ cloudTeacherOrder.setAmount(BigDecimal.ZERO);
|
|
|
+ cloudTeacherOrder.setLevel(1);
|
|
|
+ cloudTeacherOrder.setStudentId(userId);
|
|
|
+ cloudTeacherOrder.setOrganId(order.getOrganId());
|
|
|
+ cloudTeacherOrder.setTime(1);
|
|
|
+ cloudTeacherOrderDao.insert(cloudTeacherOrder);
|
|
|
+ studentService.updateMemberRank(cloudTeacherOrder,PeriodEnum.MONTH);
|
|
|
+ redisCache.put(memberKey,userId);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
if (studentPaymentOrder.getStatus().equals(DealStatusEnum.FAILED)) {
|
|
|
if (studentPaymentOrder.getBalancePaymentAmount() != null && studentPaymentOrder.getBalancePaymentAmount().compareTo(BigDecimal.ZERO) > 0) {
|