Bläddra i källkod

学生活动购买

zouxuan 2 år sedan
förälder
incheckning
ed66a33eb3

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/VipGroupActivity.java

@@ -25,6 +25,9 @@ public class VipGroupActivity extends BaseEntity {
 	@ApiModelProperty(value = "活动类型,课程或者会员,0课程,1会员")
 	private Integer activityType = 0;
 
+	@ApiModelProperty(value = "活动类型,VIP、PRACTICE、MEMBER、THEORY")
+	private String activityTypeEnum;
+
 	@ApiModelProperty(value = "单节课时长")
 	private Integer singleCourseTime = 45;
 
@@ -171,6 +174,14 @@ public class VipGroupActivity extends BaseEntity {
 	@ApiModelProperty(value = "单价")
 	private BigDecimal singlePrice;
 
+	public String getActivityTypeEnum() {
+		return activityTypeEnum;
+	}
+
+	public void setActivityTypeEnum(String activityTypeEnum) {
+		this.activityTypeEnum = activityTypeEnum;
+	}
+
 	public BigDecimal getSinglePrice() {
 		return singlePrice;
 	}

+ 1 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupActivityServiceImpl.java

@@ -207,6 +207,7 @@ public class VipGroupActivityServiceImpl extends BaseServiceImpl<Integer, VipGro
 			Integer organId = Integer.parseInt(activityQueryDto.getOrganId());
 			BigDecimal buyNum = new BigDecimal(1);
 			activityList.stream().forEach(e->e.setSinglePrice(this.getActivityPrice(e,organId,buyNum)));
+			//判断活动类型。VIP、PRACTICE、MEMBER、THEORY
 		}
 		return activityList;
 	}

+ 42 - 0
mec-student/src/main/java/com/ym/mec/student/controller/ActivityController.java

@@ -5,9 +5,11 @@ import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.StudentDao;
 import com.ym.mec.biz.dal.dao.StudentPaymentOrderDao;
 import com.ym.mec.biz.dal.dao.SysConfigDao;
+import com.ym.mec.biz.dal.dao.VipGroupCategoryDao;
 import com.ym.mec.biz.dal.dto.ActivityPayParamDto;
 import com.ym.mec.biz.dal.dto.ActivityQueryDto;
 import com.ym.mec.biz.dal.dto.Cloud2022ActivityDto;
+import com.ym.mec.biz.dal.dto.ConditionDto;
 import com.ym.mec.biz.dal.entity.ActivityDetailDto;
 import com.ym.mec.biz.dal.entity.SporadicChargeInfo;
 import com.ym.mec.biz.dal.entity.Student;
@@ -24,6 +26,7 @@ import io.swagger.annotations.ApiOperation;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.util.CollectionUtils;
 import org.springframework.web.bind.annotation.*;
 
 import java.math.BigDecimal;
@@ -48,6 +51,8 @@ public class ActivityController extends BaseController {
     private VipGroupActivityService vipGroupActivityService;
     @Autowired
     private StudentDao studentDao;
+    @Autowired
+    private VipGroupCategoryDao vipGroupCategoryDao;
 
     @ApiOperation(value = "分部双11活动信息")
     @GetMapping("/doubleEleven2020")
@@ -140,6 +145,10 @@ public class ActivityController extends BaseController {
         VipGroupActivity vipGroupActivity = vipGroupActivityService.get(id);
         SysUser user = sysUserService.getUser();
         vipGroupActivity.setSinglePrice(vipGroupActivityService.getActivityPrice(vipGroupActivity,user.getOrganId(),new BigDecimal(1)));
+        Map<String, String> categoryMap = vipGroupCategoryDao.findConditionCategorys().stream().collect(Collectors.toMap(e-> e.getId().toString(), ConditionDto::getName));
+        vipGroupActivity.setVipGroupCategoryNames(categoryMap.get(vipGroupActivity.getVipGroupCategoryIdList()));
+        vipGroupActivity.setGiveCategoryName(categoryMap.get(vipGroupActivity.getGiveCategoryId()));
+        this.setActivityType(vipGroupActivity);
         return succeed(vipGroupActivity);
     }
 
@@ -166,6 +175,39 @@ public class ActivityController extends BaseController {
         activityQueryDto.setOrganId(user.getOrganId().toString());
         activityQueryDto.setEnable(true);
         List<VipGroupActivity> vipGroupActivities = vipGroupActivityService.findByVipGroupCategory(activityQueryDto);
+        if(!CollectionUtils.isEmpty(vipGroupActivities)){
+            Map<String, String> categoryMap = vipGroupCategoryDao.findConditionCategorys().stream().collect(Collectors.toMap(e-> e.getId().toString(), ConditionDto::getName));
+            for (VipGroupActivity activity : vipGroupActivities) {
+                activity.setVipGroupCategoryNames(categoryMap.get(activity.getVipGroupCategoryIdList()));
+                activity.setGiveCategoryName(categoryMap.get(activity.getGiveCategoryId()));
+                this.setActivityType(activity);
+            }
+        }
         return succeed(vipGroupActivities);
     }
+
+    private void setActivityType(VipGroupActivity activity){
+        //如果是会员活动
+        if(activity.getActivityType().equals(1)){
+            activity.setActivityTypeEnum("MEMBER");
+        }else {
+            if(StringUtils.isEmpty(activity.getVipGroupCategoryIdList())){
+                activity.setActivityTypeEnum("PRACTICE");
+            }else {
+                if(StringUtils.equals(activity.getVipGroupCategoryNames(),"乐理课")){
+                    activity.setActivityTypeEnum("THEORY");
+                }else{
+                    activity.setActivityTypeEnum(activity.getVipGroupCategoryNames());
+                }
+            }
+        }
+        String giveCourseType = activity.getGiveCourseType();
+        if(StringUtils.isNotEmpty(giveCourseType)){
+            if(StringUtils.equals(giveCourseType,"VIP")){
+                if(StringUtils.equals(activity.getGiveCategoryName(),"乐理课")){
+                    activity.setGiveCourseType("THEORY");
+                }
+            }
+        }
+    }
 }