Bladeren bron

活动排课

zouxuan 3 jaren geleden
bovenliggende
commit
a1012ad61a

+ 13 - 4
mec-biz/src/main/java/com/ym/mec/biz/service/ActivityUserMapperService.java

@@ -1,10 +1,7 @@
 package com.ym.mec.biz.service;
 
 import com.ym.mec.biz.dal.dto.*;
-import com.ym.mec.biz.dal.entity.ActivityUserMapper;
-import com.ym.mec.biz.dal.entity.CourseScheduleStudentPayment;
-import com.ym.mec.biz.dal.entity.StudentPaymentOrder;
-import com.ym.mec.biz.dal.entity.StudentPaymentOrderDetail;
+import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.page.ActivityStudentQueryInfo;
 import com.ym.mec.biz.dal.page.ActivityUserQueryInfo;
 import com.ym.mec.common.entity.HttpResponseResult;
@@ -97,6 +94,18 @@ public interface ActivityUserMapperService extends BaseService<Integer, Activity
     */
     void add(ActivityUserMapperAddDto activityUserMapperAddDto);
 
+    /**拷贝部分属性
+    * @description:
+     * @param activityUserMapper
+     * @param activity
+     * @param giveFlag
+     * @param buyFlag
+    * @return void
+    * @author zx
+    * @date 2022/7/27 10:20
+    */
+    void copyProperty(ActivityUserMapper activityUserMapper, VipGroupActivity activity, boolean giveFlag, boolean buyFlag);
+
     /**
     * @description: 取消排课资格
      * @param activityUserMapperId

+ 26 - 12
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ActivityUserMapperServiceImpl.java

@@ -209,27 +209,23 @@ public class ActivityUserMapperServiceImpl extends BaseServiceImpl<Integer, Acti
 				activityUserMapper.setReturnFee(false);
 				activityUserMapper.setTeacherId(teacherId);
 				activityUserMapper.setAddMemo(memo);
-				if(adjustDto.getCourseNum() > i){
+				boolean buyFlag = adjustDto.getCourseNum() > i;
+				if(buyFlag){
 					if("VIP".equals(courseType)){
 						activityUserMapper.setVipFlag(1);
 					}else {
 						activityUserMapper.setPracticeFlag(1);
 					}
-					activityUserMapper.setTotalCourseNum(minCourseNum);
-					activityUserMapper.setSubCourseNum(minCourseNum);
-					activityUserMapper.setCategoryId(Integer.parseInt(activity.getVipGroupCategoryIdList()));
 				}
-
-				if(adjustDto.getGiveCourseNum() > i && giveCourseNum != null && giveCourseNum > 0){
+				boolean giveFlag = adjustDto.getGiveCourseNum() > i && giveCourseNum != null && giveCourseNum > 0;
+				if(giveFlag){
 					if("VIP".equals(giveCourseType)){
 						activityUserMapper.setGiveVipFlag(1);
 					}else {
 						activityUserMapper.setGivePracticeFlag(1);
 					}
-					activityUserMapper.setTotalGiveCourseNum(giveCourseNum);
-					activityUserMapper.setSubGiveCourseNum(giveCourseNum);
-					activityUserMapper.setGiveCategoryId(Integer.parseInt(activity.getGiveCategoryId()));
 				}
+				this.copyProperty(activityUserMapper,activity,giveFlag,buyFlag);
 				activityUserMappers.add(activityUserMapper);
 			}
 		}
@@ -237,6 +233,26 @@ public class ActivityUserMapperServiceImpl extends BaseServiceImpl<Integer, Acti
 		activityUserMapperDao.batchInsert(activityUserMappers);
 	}
 
+	//拷贝部分属性
+	public void copyProperty(ActivityUserMapper activityUserMapper,VipGroupActivity activity,boolean giveFlag,boolean buyFlag){
+		if(buyFlag){
+			activityUserMapper.setTotalCourseNum(activity.getMinCourseNum());
+			activityUserMapper.setSubCourseNum(activity.getMinCourseNum());
+			activityUserMapper.setSingleCourseTime(activity.getSingleCourseTime());
+			if(StringUtils.isNotEmpty(activity.getVipGroupCategoryIdList())){
+				activityUserMapper.setCategoryId(Integer.parseInt(activity.getVipGroupCategoryIdList()));
+			}
+		}
+		if(giveFlag){
+			activityUserMapper.setGiveSingleCourseTime(activity.getGiveSingleCourseTime());
+			activityUserMapper.setTotalGiveCourseNum(activity.getGiveCourseNum());
+			activityUserMapper.setSubGiveCourseNum(activity.getGiveCourseNum());
+			if(StringUtils.isNotEmpty(activity.getGiveCategoryId())){
+				activityUserMapper.setGiveCategoryId(Integer.parseInt(activity.getGiveCategoryId()));
+			}
+		}
+	}
+
 	@Override
 	@Transactional(rollbackFor = Exception.class)
 	public void cut(Integer activityUserMapperId, String memo, BigDecimal amount) {
@@ -309,14 +325,12 @@ public class ActivityUserMapperServiceImpl extends BaseServiceImpl<Integer, Acti
 			activityUserMapper.setUserId(studentPaymentOrder.getUserId());
 			activityUserMapper.setTeacherId(student.getTeacherId());
 			activityUserMapper.setPaymentOrderId(studentPaymentOrder.getId());
-			activityUserMapper.setTotalCourseNum(vipGroupActivity.getMinCourseNum());
-			activityUserMapper.setSubCourseNum(vipGroupActivity.getMinCourseNum());
 			if(orderDetail.getType() == OrderDetailTypeEnum.VIP){
 				activityUserMapper.setVipFlag(1);
 			}else {
 				activityUserMapper.setPracticeFlag(1);
 			}
-			activityUserMapper.setCategoryId(Integer.parseInt(vipGroupActivity.getVipGroupCategoryIdList()));
+			this.copyProperty(activityUserMapper,vipGroupActivity,false,true);
 			activityUserMapperList.add(activityUserMapper);
 		}
 		activityUserMapperDao.batchInsert(activityUserMapperList);

+ 6 - 25
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MemberRankSettingServiceImpl.java

@@ -14,6 +14,7 @@ import java.util.concurrent.TimeUnit;
 import java.util.function.BiPredicate;
 import java.util.stream.Collectors;
 
+import com.ym.mec.biz.service.*;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.joda.time.LocalDate;
@@ -63,22 +64,6 @@ import com.ym.mec.biz.dal.enums.OrderDetailTypeEnum;
 import com.ym.mec.biz.dal.enums.OrderTypeEnum;
 import com.ym.mec.biz.dal.enums.PeriodEnum;
 import com.ym.mec.biz.dal.enums.PlatformCashAccountDetailTypeEnum;
-import com.ym.mec.biz.service.CloudCoachPaymentProgramService;
-import com.ym.mec.biz.service.CloudTeacherOrderService;
-import com.ym.mec.biz.service.ContractService;
-import com.ym.mec.biz.service.HfMerchantConfigService;
-import com.ym.mec.biz.service.LiveGoodsService;
-import com.ym.mec.biz.service.MemberFeeSettingService;
-import com.ym.mec.biz.service.MemberRankSettingService;
-import com.ym.mec.biz.service.StudentCloudCoachPaymentDetailsService;
-import com.ym.mec.biz.service.StudentPaymentOrderService;
-import com.ym.mec.biz.service.StudentService;
-import com.ym.mec.biz.service.SysConfigService;
-import com.ym.mec.biz.service.SysCouponCodeService;
-import com.ym.mec.biz.service.SysMessageService;
-import com.ym.mec.biz.service.SysUserCashAccountDetailService;
-import com.ym.mec.biz.service.SysUserCashAccountService;
-import com.ym.mec.biz.service.TenantConfigService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.entity.HttpResponseResult;
@@ -132,7 +117,7 @@ public class MemberRankSettingServiceImpl extends BaseServiceImpl<Integer, Membe
     @Autowired
     private TenantConfigService tenantConfigService;
     @Autowired
-    private ActivityUserMapperDao activityUserMapperDao;
+    private ActivityUserMapperService activityUserMapperService;
     @Autowired
     private MemberFeeSettingService memberFeeSettingService;
     @Autowired
@@ -326,7 +311,7 @@ public class MemberRankSettingServiceImpl extends BaseServiceImpl<Integer, Membe
             VipGroupActivity vipGroupActivity = Optional.ofNullable(vipGroupActivityDao.get(activityId)).orElseThrow(()-> new BizException("活动不存在"));
             if(vipGroupActivity.getStudentMaxUsedTimes() != -1){
                 //获取活动购买次数
-                int activityBuyNum = activityUserMapperDao.countActivityBuyNum(vipGroupActivity.getId(),sysUser.getId());
+                int activityBuyNum = activityUserMapperService.countActivityBuyNum(vipGroupActivity.getId(),sysUser.getId());
                 if(activityBuyNum >= vipGroupActivity.getStudentMaxUsedTimes()){
                     throw new BizException("您已达到购买次数上限");
                 }
@@ -406,7 +391,7 @@ public class MemberRankSettingServiceImpl extends BaseServiceImpl<Integer, Membe
             VipGroupActivity vipGroupActivity = Optional.ofNullable(vipGroupActivityDao.get(activityId)).orElseThrow(()-> new BizException("活动不存在"));
             if(vipGroupActivity.getStudentMaxUsedTimes() != -1){
                 //获取活动购买次数
-                int activityBuyNum = activityUserMapperDao.countActivityBuyNum(vipGroupActivity.getId(),sysUser.getId());
+                int activityBuyNum = activityUserMapperService.countActivityBuyNum(vipGroupActivity.getId(),sysUser.getId());
                 if(activityBuyNum >= vipGroupActivity.getStudentMaxUsedTimes()){
                     succeed.setMsg("您已达到购买次数上限");
                     return succeed;
@@ -719,15 +704,11 @@ public class MemberRankSettingServiceImpl extends BaseServiceImpl<Integer, Membe
             activityUserMapper.setActualPrice(BigDecimal.ZERO);
             activityUserMapper.setSubNoCoursePrice(BigDecimal.ZERO);
             activityUserMapper.setReturnFee(false);
-//            activityUserMapper.setTotalCourseNum(activity.getMinCourseNum());
-//            activityUserMapper.setSubCourseNum(activity.getMinCourseNum());
             //如果是买的商品1那么赠送陪练课和训练营
             if(Objects.equals(studentPaymentOrder.getClassGroupId(),1)){
                 //赠送陪练课
-                activityUserMapper.setTotalGiveCourseNum(activity.getGiveCourseNum());
-                activityUserMapper.setSubGiveCourseNum(activity.getGiveCourseNum());
                 activityUserMapper.setGivePracticeFlag(1);
-                activityUserMapper.setGiveCategoryId(Integer.parseInt(activity.getGiveCategoryId()));
+                activityUserMapperService.copyProperty(activityUserMapper,activity,true,false);
                 //赠送训练营
                 TempLittleArtistTrainingCampUserRelation tempLittleArtistTrainingCamp = new TempLittleArtistTrainingCampUserRelation();
                 tempLittleArtistTrainingCamp.setUserId(studentPaymentOrder.getUserId());
@@ -735,7 +716,7 @@ public class MemberRankSettingServiceImpl extends BaseServiceImpl<Integer, Membe
                 tempLittleArtistTrainingCamp.setCreateTime(nowDate);
                 tempLittleArtistTrainingCampUserRelationDao.insert(tempLittleArtistTrainingCamp);
             }
-            activityUserMapperDao.insert(activityUserMapper);
+            activityUserMapperService.insert(activityUserMapper);
             //生成订单详情
             StudentPaymentOrderDetail studentPaymentOrderDetail = new StudentPaymentOrderDetail();
             studentPaymentOrderDetail.setPaymentOrderId(studentPaymentOrder.getId());

+ 1 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentCalenderDetailServiceImpl.java

@@ -294,14 +294,12 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
                         activityUserMapper.setUserId(studentId);
                         activityUserMapper.setTeacherId(student.getTeacherId());
                         VipGroupActivity activity = collect.get(activityUserMapper.getActivityId());
-                        activityUserMapper.setTotalCourseNum(activity.getMinCourseNum());
-                        activityUserMapper.setSubCourseNum(activity.getMinCourseNum());
+                        activityUserMapperService.copyProperty(activityUserMapper,activity,false,true);
                         if ("网管课".equals(calenderActivity.getCategoryName())) {
                             activityUserMapper.setPracticeFlag(1);
                         } else {
                             activityUserMapper.setVipFlag(1);
                         }
-                        activityUserMapper.setCategoryId(Integer.parseInt(activity.getVipGroupCategoryIdList()));
                         activityUserMapperList.add(activityUserMapper);
                     }
                     activityUserMapperService.batchInsert(activityUserMapperList);

+ 1 - 4
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentCalenderServiceImpl.java

@@ -755,15 +755,12 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
                             Student student = studentDao.get(Integer.parseInt(studentId));
                             activityUserMapper.setUserId(Integer.parseInt(studentId));
                             activityUserMapper.setTeacherId(student.getTeacherId());
-                            VipGroupActivity activity = collect.get(activityUserMapper.getActivityId());
-                            activityUserMapper.setTotalCourseNum(activity.getMinCourseNum());
-                            activityUserMapper.setSubCourseNum(activity.getMinCourseNum());
                             if ("网管课".equals(calenderActivity.getCategoryName())) {
                                 activityUserMapper.setPracticeFlag(1);
                             } else {
                                 activityUserMapper.setVipFlag(1);
                             }
-                            activityUserMapper.setCategoryId(Integer.parseInt(activity.getVipGroupCategoryIdList()));
+                            activityUserMapperService.copyProperty(activityUserMapper,collect.get(activityUserMapper.getActivityId()),false,true);
                             activityUserMapperList.add(activityUserMapper);
                         }
                         activityUserMapperService.batchInsert(activityUserMapperList);

+ 2 - 6
mec-biz/src/main/java/com/ym/mec/biz/service/impl/PracticeGroupServiceImpl.java

@@ -4607,9 +4607,7 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
             activityUserMapper.setActualPrice(order.getExpectAmount());
             activityUserMapper.setSubNoCoursePrice(order.getExpectAmount());
             activityUserMapper.setTenantId(order.getTenantId());
-            activityUserMapper.setTotalCourseNum(activity.getMinCourseNum());
-            activityUserMapper.setSubCourseNum(activity.getMinCourseNum());
-            activityUserMapper.setCategoryId(Integer.parseInt(activity.getVipGroupCategoryIdList()));
+            activityUserMapperService.copyProperty(activityUserMapper,activity,false,true);
             if (activity.isPayToBalance()) {
                 boolean appendCourseBalance = sysUserCashAccountService.appendCourseBalance(userId, studentPaymentOrder.getExpectAmount(), PlatformCashAccountDetailTypeEnum.RECHARGE, "通用营销活动购买");
                 if (!appendCourseBalance) {
@@ -4618,9 +4616,7 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
             }
             if (activity.getFullMinusCourseTimes() != -1 && order.getActivityBuyNum() >= activity.getFullMinusCourseTimes()) {
                 activityUserMapper.setGiveVipFlag(1);
-                activityUserMapper.setTotalGiveCourseNum(activity.getGiveCourseNum());
-                activityUserMapper.setSubGiveCourseNum(activity.getGiveCourseNum());
-                activityUserMapper.setGiveCategoryId(Integer.parseInt(activity.getGiveCategoryId()));
+                activityUserMapperService.copyProperty(activityUserMapper,activity,true,false);
             }
             activityUserMapperService.insert(activityUserMapper);
             SysUserCashAccount sysUserCashAccount = sysUserCashAccountService.get(userId);

+ 5 - 9
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentPaymentOrderServiceImpl.java

@@ -107,7 +107,7 @@ public class StudentPaymentOrderServiceImpl extends BaseServiceImpl<Long, Studen
     @Autowired
     private VipGroupActivityDao vipGroupActivityDao;
     @Autowired
-    private ActivityUserMapperDao activityUserMapperDao;
+    private ActivityUserMapperService activityUserMapperService;
     @Autowired
     private MusicGroupSubjectPlanService musicGroupSubjectPlanService;
     @Autowired
@@ -774,18 +774,16 @@ public class StudentPaymentOrderServiceImpl extends BaseServiceImpl<Long, Studen
             activityUserMapper.setActivityId(vipGroupActivityId);
             activityUserMapper.setTeacherId(teacherId);
             activityUserMapper.setActualPrice(studentPaymentOrder.getExpectAmount());
-            activityUserMapper.setSubNoCoursePrice(studentPaymentOrder.getExpectAmount());
-            activityUserMapper.setTotalCourseNum(activity.getMinCourseNum());
-            activityUserMapper.setCategoryId(Integer.parseInt(activity.getVipGroupCategoryIdList()));
             if (vipGroupId != null) {
                 activityUserMapper.setVipFlag(2);
             } else {
                 activityUserMapper.setPracticeFlag(2);
             }
+            activityUserMapperService.copyProperty(activityUserMapper,activity,false,true);
             activityUserMapper.setSubCourseNum(0);
             //是否达到满赠标准
             if (activity.getFullMinusCourseTimes() == -1 || studentPaymentOrder.getActivityBuyNum() < activity.getFullMinusCourseTimes()) {
-                activityUserMapperDao.insert(activityUserMapper);
+                activityUserMapperService.insert(activityUserMapper);
                 return activityUserMapper.getId();
             }
             //是否赠送课程
@@ -795,9 +793,7 @@ public class StudentPaymentOrderServiceImpl extends BaseServiceImpl<Long, Studen
                 } else {
                     activityUserMapper.setGivePracticeFlag(1);
                 }
-                activityUserMapper.setTotalGiveCourseNum(activity.getGiveCourseNum());
-                activityUserMapper.setSubGiveCourseNum(activity.getGiveCourseNum());
-                activityUserMapper.setGiveCategoryId(Integer.parseInt(activity.getGiveCategoryId()));
+                activityUserMapperService.copyProperty(activityUserMapper,activity,true,false);
             }
             //是否赠送优惠券
             if (activity.getGiveCouponNum() != null && activity.getGiveCouponNum() > 0) {
@@ -823,7 +819,7 @@ public class StudentPaymentOrderServiceImpl extends BaseServiceImpl<Long, Studen
                 activityUserMapper.setGiveMemberFlag(2);
                 activityUserMapper.setGiveMemberOrderId(cloudTeacherOrder.getId());
             }
-            activityUserMapperDao.insert(activityUserMapper);
+            activityUserMapperService.insert(activityUserMapper);
             activityUserMapperId = activityUserMapper.getId();
         }
         return activityUserMapperId;