Browse Source

Merge branch 'saas_2022_05_17_activity' of http://git.dayaedu.com/yonge/mec into master_saas

zouxuan 3 years ago
parent
commit
834a9d9156

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/ImGroupService.java

@@ -23,7 +23,7 @@ public interface ImGroupService extends BaseService<String, ImGroup> {
 	ImGroup create(String id, Integer userId, String name, String introduce, String memo, String tags, String img, String type);
 
 	//创建非课程类型的业务群组
-	void createGroup(List<String> userIdList,String groupName,String groupType);
+	String createGroup(List<String> userIdList,String groupName,String groupType);
 
 	/**
 	 * 解散群组

+ 12 - 11
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ImGroupServiceImpl.java

@@ -16,11 +16,16 @@ import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.im.ImFeignService;
 import com.ym.mec.im.entity.GroupMember;
 import com.ym.mec.im.entity.GroupModel;
+import org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.*;
+import java.util.function.Consumer;
+import java.util.function.Function;
+import java.util.stream.Collectors;
 
 @Service
 public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> implements ImGroupService {
@@ -94,10 +99,10 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
 
 	@Override
 	@Transactional(rollbackFor = Exception.class)
-	public void createGroup(List<String> userIdList,String groupName,String groupType){
-		Optional.of(userIdList).orElseThrow(() -> new BizException("群成员不能为空"));
-		Optional.of(groupName).orElseThrow(() -> new BizException("群名称不能为空"));
-		Optional.of(groupType).orElseThrow(() -> new BizException("群类型不能为空"));
+	public String createGroup(List<String> userIdList,String groupName,String groupType){
+		Optional.ofNullable(userIdList).filter(CollectionUtils::isNotEmpty).orElseThrow(() -> new BizException("群成员不能为空"));
+		Optional.ofNullable(groupName).filter(StringUtils::isNotBlank).orElseThrow(() -> new BizException("群名称不能为空"));
+		Optional.ofNullable(groupType).filter(StringUtils::isNotBlank).orElseThrow(() -> new BizException("群类型不能为空"));
 		Date date = new Date();
 		ImGroup imGroup = new ImGroup();
 		String groupId = UUID.randomUUID().toString();
@@ -109,16 +114,12 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
 		imGroup.setType(groupType);
 		imGroup.setUpdateTime(date);
 		imGroupDao.insert(imGroup);
-		List<GroupMember> groupMembers = new ArrayList<>();
-		for (String userId : userIdList) {
-			GroupMember groupMember = new GroupMember();
-			groupMember.setGroupId(groupId);
-			groupMember.setId(userId);
-			groupMembers.add(groupMember);
-		}
+        Function<String,GroupMember> newGroup = userId ->new GroupMember(userId, groupId);
+		List<GroupMember> groupMembers =  userIdList.stream().map(newGroup).collect(Collectors.toList());
 		GroupMember[] members = new GroupMember[groupMembers.size()];
 		groupMembers.toArray(members);
 		imFeignService.groupCreate(new GroupModel(groupId,members,groupName));
+        return groupId;
 	}
 
 	@Override

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

@@ -246,17 +246,17 @@ public class MemberRankSettingServiceImpl extends BaseServiceImpl<Integer, Membe
             //还原库存
             liveGoodsService.addGoodsStock(memberPayParamDto.getLiveGoodsId(),memberPayParamDto.getLiveId());
         }
+        String activeConfig = sysConfigDao.findConfigValue("cloud_teacher_active_config");
+        List<Cloud2022ActivityDto> cloud2022ActivityDtos = JSONArray.parseArray(activeConfig, Cloud2022ActivityDto.class);
+        List<Cloud2022ActivityDto> activityDtos = cloud2022ActivityDtos.stream().filter(e -> e.getOrganId().contains(sysUser.getOrganId().toString())).collect(Collectors.toList());
+        if(CollectionUtils.isEmpty(activityDtos)){
+            throw new BizException("当前分部暂未开通活动");
+        }
         BigDecimal amount = BigDecimal.ZERO;
         Integer activityId = null;
         //判断当前商品是否可以购买(库存、上架状态、是否购买过)
         //如果是云教练商品,那么只能购买一次、如果是免费直播课,那么每次上架只能买一次,总共只能买2次
         if(memberPayParamDto.getLiveGoodsId() == 1){
-            String activeConfig = sysConfigDao.findConfigValue("cloud_teacher_active_config");
-            List<Cloud2022ActivityDto> cloud2022ActivityDtos = JSONArray.parseArray(activeConfig, Cloud2022ActivityDto.class);
-            List<Cloud2022ActivityDto> activityDtos = cloud2022ActivityDtos.stream().filter(e -> e.getOrganId().contains(sysUser.getOrganId().toString())).collect(Collectors.toList());
-            if(CollectionUtils.isEmpty(activityDtos)){
-                throw new BizException("当前分部暂未开通活动");
-            }
             //是否还有购买资格
             activityId = Integer.parseInt(activityDtos.get(0).getActivityId());
             VipGroupActivity vipGroupActivity = Optional.ofNullable(vipGroupActivityDao.get(activityId)).orElseThrow(()-> new BizException("活动不存在"));
@@ -315,14 +315,14 @@ public class MemberRankSettingServiceImpl extends BaseServiceImpl<Integer, Membe
         //判断当前商品是否可以购买(库存、上架状态、是否购买过)
         //如果是云教练商品,那么只能购买一次、如果是免费直播课,那么每次上架只能买一次,总共只能买2次
         HttpResponseResult<Integer> succeed = BaseController.succeed(0);
+        String activeConfig = sysConfigDao.findConfigValue("cloud_teacher_active_config");
+        List<Cloud2022ActivityDto> cloud2022ActivityDtos = JSONArray.parseArray(activeConfig, Cloud2022ActivityDto.class);
+        List<Cloud2022ActivityDto> activityDtos = cloud2022ActivityDtos.stream().filter(e -> e.getOrganId().contains(sysUser.getOrganId().toString())).collect(Collectors.toList());
+        if(CollectionUtils.isEmpty(activityDtos)){
+            succeed.setMsg("当前分部暂未开通活动");
+            return succeed;
+        }
         if(memberPayParamDto.getLiveGoodsId() == 1){
-            String activeConfig = sysConfigDao.findConfigValue("cloud_teacher_active_config");
-            List<Cloud2022ActivityDto> cloud2022ActivityDtos = JSONArray.parseArray(activeConfig, Cloud2022ActivityDto.class);
-            List<Cloud2022ActivityDto> activityDtos = cloud2022ActivityDtos.stream().filter(e -> e.getOrganId().contains(sysUser.getOrganId().toString())).collect(Collectors.toList());
-            if(CollectionUtils.isEmpty(activityDtos)){
-                succeed.setMsg("当前分部暂未开通活动");
-                return succeed;
-            }
             //是否还有购买资格
             Integer activityId = Integer.parseInt(activityDtos.get(0).getActivityId());
             VipGroupActivity vipGroupActivity = Optional.ofNullable(vipGroupActivityDao.get(activityId)).orElseThrow(()-> new BizException("活动不存在"));