Преглед на файлове

Merge branch 'online1' into edu_financial

river преди 4 години
родител
ревизия
277652d86b
променени са 20 файла, в които са добавени 254 реда и са изтрити 30 реда
  1. 10 0
      mec-auth/mec-auth-api/src/main/java/com/ym/mec/auth/api/entity/SysUserDevice.java
  2. 5 0
      mec-auth/mec-auth-server/pom.xml
  3. 1 1
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/AuthServerApplication.java
  4. 7 1
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/config/AuthorizationServerConfig.java
  5. 16 4
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/config/WebMvcConfig.java
  6. 37 0
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/interceptor/OperationLogInterceptor.java
  7. 42 0
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/web/controller/UserDeviceController.java
  8. 38 0
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/web/controller/queryInfo/SysUserDeviceQueryInfo.java
  9. 33 2
      mec-auth/mec-auth-server/src/main/resources/config/mybatis/SysUserDeviceMapper.xml
  10. 2 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/VipGroupActivityDao.java
  11. 2 1
      mec-biz/src/main/java/com/ym/mec/biz/service/VipGroupActivityService.java
  12. 3 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java
  13. 4 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ExportServiceImpl.java
  14. 12 4
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupActivityServiceImpl.java
  15. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java
  16. 3 1
      mec-biz/src/main/resources/config/mybatis/VipGroupActivityMapper.xml
  17. 4 2
      mec-biz/src/main/resources/config/mybatis/VipGroupMapper.xml
  18. 11 6
      mec-teacher/src/main/java/com/ym/mec/teacher/controller/VipGroupActivityController.java
  19. 22 4
      mec-web/src/main/java/com/ym/mec/web/controller/VipGroupActivityController.java
  20. 1 1
      mec-web/src/main/java/com/ym/mec/web/controller/education/EduVipGroupActivityController.java

+ 10 - 0
mec-auth/mec-auth-api/src/main/java/com/ym/mec/auth/api/entity/SysUserDevice.java

@@ -22,6 +22,8 @@ public class SysUserDevice {
 	/** 设备类型 */
 	private String deviceType;
 	
+	private SysUser user;
+	
 	public void setId(Integer id){
 		this.id = id;
 	}
@@ -62,6 +64,14 @@ public class SysUserDevice {
 		return this.deviceType;
 	}
 			
+	public SysUser getUser() {
+		return user;
+	}
+
+	public void setUser(SysUser user) {
+		this.user = user;
+	}
+
 	@Override
 	public String toString() {
 		return ToStringBuilder.reflectionToString(this);

+ 5 - 0
mec-auth/mec-auth-server/pom.xml

@@ -74,6 +74,11 @@
 			<groupId>com.ym</groupId>
 			<artifactId>mec-client-api</artifactId>
 		</dependency>
+		
+		<dependency>
+			<groupId>com.yonge.log</groupId>
+			<artifactId>audit-log</artifactId>
+		</dependency>
 
 		<dependency>
 			<groupId>org.apache.commons</groupId>

+ 1 - 1
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/AuthServerApplication.java

@@ -18,7 +18,7 @@ import com.spring4all.swagger.EnableSwagger2Doc;
 @EnableDiscoveryClient
 @EnableFeignClients({"com.ym.mec"})
 @MapperScan("com.ym.mec.auth.dal.dao")
-@ComponentScan(basePackages="com.ym.mec")
+@ComponentScan(basePackages={"com.ym.mec", "com.yonge.log"})
 @Configuration
 @EnableSwagger2Doc
 @EnableAsync

+ 7 - 1
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/config/AuthorizationServerConfig.java

@@ -53,6 +53,11 @@ public class AuthorizationServerConfig extends AuthorizationServerConfigurerAdap
 	@Override
 	public void configure(ClientDetailsServiceConfigurer clients) throws Exception {
 
+		clients.withClientDetails(jdbcClientDetailsService());
+	}
+
+	@Bean
+	public JdbcClientDetailsService jdbcClientDetailsService() {
 		JdbcClientDetailsService clientDetailsService = new JdbcClientDetailsService(dataSource);
 
 		clientDetailsService
@@ -60,7 +65,7 @@ public class AuthorizationServerConfig extends AuthorizationServerConfigurerAdap
 		clientDetailsService
 				.setFindClientDetailsSql("select id_, CONCAT('{noop}',client_secret_) as client_secret, resource_ids_, scope_, authorized_grant_types_, web_server_redirect_uri_, authorities_, access_token_validity_, refresh_token_validity_, additional_information_, autoapprove_ from sys_oauth_client_details order by id_");
 
-		clients.withClientDetails(clientDetailsService);
+		return clientDetailsService;
 	}
 
 	@Bean
@@ -77,6 +82,7 @@ public class AuthorizationServerConfig extends AuthorizationServerConfigurerAdap
 		CustomTokenServices tokenServices = new CustomTokenServices();
 		tokenServices.setTokenStore(redisTokenStore());
 		tokenServices.setSupportRefreshToken(true);
+		tokenServices.setClientDetailsService(jdbcClientDetailsService());
 		//tokenServices.setAccessTokenValiditySeconds(60 * 60 * 24); // token有效期自定义设置,默认12小时
 		//tokenServices.setRefreshTokenValiditySeconds(60 * 60 * 24 * 30);// 默认30天,这里修改
 		return tokenServices;

+ 16 - 4
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/config/WebMvcConfig.java

@@ -1,19 +1,26 @@
 package com.ym.mec.auth.config;
 
-import com.ym.mec.common.config.EnumConverterFactory;
-import com.ym.mec.common.config.LocalFastJsonHttpMessageConverter;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.http.HttpMessageConverters;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.format.FormatterRegistry;
 import org.springframework.http.MediaType;
+import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
 import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
 
-import java.util.ArrayList;
-import java.util.List;
+import com.ym.mec.auth.interceptor.OperationLogInterceptor;
+import com.ym.mec.common.config.EnumConverterFactory;
+import com.ym.mec.common.config.LocalFastJsonHttpMessageConverter;
 
 @Configuration
 public class WebMvcConfig implements WebMvcConfigurer {
+	
+	@Autowired
+	private OperationLogInterceptor operationLogInterceptor;
 
 	/**
 	 * 枚举类的转换器 addConverterFactory
@@ -23,6 +30,11 @@ public class WebMvcConfig implements WebMvcConfigurer {
 		registry.addConverterFactory(new EnumConverterFactory());
 	}
 	
+	@Override
+	public void addInterceptors(InterceptorRegistry registry) {
+		registry.addInterceptor(operationLogInterceptor).addPathPatterns("/**").excludePathPatterns("/login");
+	}
+	
 	@Bean
     public HttpMessageConverters fastJsonHttpMessageConverters(){
 		LocalFastJsonHttpMessageConverter converter = new LocalFastJsonHttpMessageConverter();

+ 37 - 0
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/interceptor/OperationLogInterceptor.java

@@ -0,0 +1,37 @@
+package com.ym.mec.auth.interceptor;
+
+import java.io.IOException;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import com.ym.mec.auth.api.entity.SysUser;
+import com.ym.mec.auth.service.SysUserService;
+import com.ym.mec.common.security.AuthUser;
+import com.ym.mec.common.security.SecurityUtils;
+import com.yonge.log.interceptor.AuditLogInterceptor;
+
+@Component
+public class OperationLogInterceptor extends AuditLogInterceptor {
+
+	@Autowired
+	private SysUserService sysUserService;
+
+	@Override
+	public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws ServletException, IOException {
+		AuthUser authUser = SecurityUtils.getUser();
+		if (authUser != null) {
+			SysUser sysUser = sysUserService.get(authUser.getUserId());
+
+			if (sysUser != null) {
+				setUsername(sysUser.getRealName(), sysUser.getId());
+			}
+		}
+		return true;
+	}
+
+}

+ 42 - 0
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/web/controller/UserDeviceController.java

@@ -0,0 +1,42 @@
+package com.ym.mec.auth.web.controller;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.ym.mec.auth.service.SysUserDeviceService;
+import com.ym.mec.auth.service.SysUserService;
+import com.ym.mec.auth.web.controller.queryInfo.SysUserDeviceQueryInfo;
+import com.ym.mec.common.controller.BaseController;
+import com.yonge.log.model.AuditLogAnnotation;
+
+@RestController()
+@RequestMapping("userDevice")
+@Api(tags = "会员设备服务")
+public class UserDeviceController extends BaseController {
+
+	@Autowired
+	private SysUserService sysUserService;
+	
+	@Autowired
+	private SysUserDeviceService sysUserDeviceService;
+
+	@ApiOperation(value = "分页查询用户信息")
+	@GetMapping(value = "/queryPage")
+	public Object queryPage(SysUserDeviceQueryInfo queryInfo) {
+		return succeed(sysUserDeviceService.queryPage(queryInfo));
+	}
+
+	@ApiOperation(value = "分页查询用户信息")
+	@PostMapping(value = "/unbind")
+	@AuditLogAnnotation(operateName = "帮助中心内容删除",interfaceURL = "helpCenterContent/delete")
+	public Object unbind(Integer id) {
+		return succeed(sysUserDeviceService.delete(id));
+	}
+
+}

+ 38 - 0
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/web/controller/queryInfo/SysUserDeviceQueryInfo.java

@@ -0,0 +1,38 @@
+package com.ym.mec.auth.web.controller.queryInfo;
+
+import java.util.Date;
+
+import com.ym.mec.common.page.QueryInfo;
+
+public class SysUserDeviceQueryInfo extends QueryInfo {
+
+	private String deviceNum;
+
+	private Date bindStartTime;
+
+	private Date bindEndTime;
+
+	public String getDeviceNum() {
+		return deviceNum;
+	}
+
+	public void setDeviceNum(String deviceNum) {
+		this.deviceNum = deviceNum;
+	}
+
+	public Date getBindStartTime() {
+		return bindStartTime;
+	}
+
+	public void setBindStartTime(Date bindStartTime) {
+		this.bindStartTime = bindStartTime;
+	}
+
+	public Date getBindEndTime() {
+		return bindEndTime;
+	}
+
+	public void setBindEndTime(Date bindEndTime) {
+		this.bindEndTime = bindEndTime;
+	}
+}

+ 33 - 2
mec-auth/mec-auth-server/src/main/resources/config/mybatis/SysUserDeviceMapper.xml

@@ -9,6 +9,8 @@
 		<result column="device_num_" property="deviceNum" />
 		<result column="bind_time_" property="bindTime" />
 		<result column="device_type_" property="deviceType" />
+		<result column="phone_" property="user.phone" />
+		<result column="real_name_" property="user.realName" />
 	</resultMap>
 
 	<!-- 根据主键查询一条记录 -->
@@ -63,13 +65,42 @@
 
 	<!-- 分页查询 -->
 	<select id="queryPage" resultMap="SysUserDevice" parameterType="map">
-		SELECT * FROM sys_user_device ORDER BY id_
+		SELECT ud.*,u.phone_,u.real_name_ FROM sys_user_device ud left join sys_user u on ud.user_id_ = u.id_ 
+		<where>
+			<if test="search != null and search != ''">
+				and (u.real_name_ LIKE CONCAT('%',#{search},'%') OR u.phone_ LIKE CONCAT('%',#{search},'%') OR u.id_ like CONCAT('%',#{search},'%'))
+			</if>
+			<if test="deviceNum != null">
+				and device_num_ = #{deviceNum}
+			</if>
+			<if test="bindStartTime != null">
+				and bind_time_ &gt;= #{bindStartTime}
+			</if>
+			<if test="bindEndTime != null">
+				and bind_time_ &lt;= #{bindEndTime}
+			</if>
+		</where>
+		ORDER BY id_
 		<include refid="global.limit" />
 	</select>
 
 	<!-- 查询当前表的总记录数 -->
 	<select id="queryCount" resultType="int">
-		SELECT COUNT(*) FROM sys_user_device
+		SELECT COUNT(ud.user_id_) FROM sys_user_device ud left join sys_user u on ud.user_id_ = u.id_
+		<where>
+			<if test="search != null and search != ''">
+				and (u.real_name_ LIKE CONCAT('%',#{search},'%') OR u.phone_ LIKE CONCAT('%',#{search},'%') OR u.id_ like CONCAT('%',#{search},'%'))
+			</if>
+			<if test="deviceNum != null">
+				and device_num_ = #{deviceNum}
+			</if>
+			<if test="bindStartTime != null">
+				and bind_time_ &gt;= #{bindStartTime}
+			</if>
+			<if test="bindEndTime != null">
+				and bind_time_ &lt;= #{bindEndTime}
+			</if>
+		</where>
 	</select>
 	
 	<select id="queryByUserId" resultMap="SysUserDevice">

+ 2 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/VipGroupActivityDao.java

@@ -17,7 +17,8 @@ public interface VipGroupActivityDao extends BaseDAO<Integer, VipGroupActivity>
 	 */
 	List<VipGroupActivity> findByCategory(@Param("categoryId") Long categoryId,
 										  @Param("organIds") String organIds,
-										  @Param("applyToStudentType") Integer applyToStudentType);
+										  @Param("applyToStudentType") Integer applyToStudentType,
+										  @Param("includeClosed") Boolean includeClosed);
 
 	/**
 	 * 根据活动方案编号列表获取名称

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

@@ -29,7 +29,8 @@ public interface VipGroupActivityService extends BaseService<Integer, VipGroupAc
      * @Date: 2019/10/2
      * 根据课程类型获取VIP课相关活动方案
      */
-    List<VipGroupActivity> findByVipGroupCategory(Long categoryId, String organIds, Integer teacherId, Integer applyToStudentType);
+    List<VipGroupActivity> findByVipGroupCategory(Long categoryId, String organIds, Integer teacherId,
+                                                  Integer applyToStudentType, Boolean includeClosed);
 
     /**
      * 导出vip活动

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

@@ -3643,7 +3643,9 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 			int newMinutes = DateUtil.minutesBetween(newCourseSchedule.getStartClassTime(), newCourseSchedule.getEndClassTime());
 
 			// 如果修改了老师、课程类型、课程时长、教学模式,需要修改课酬
-			if (!ListUtil.isEquals(oldTeacherIdList, newTeacherIdList) || newCourseSchedule.getType() != oldCourseSchedule.getType()
+			if (!ListUtil.isEquals(oldTeacherIdList, newTeacherIdList)
+					|| !newCourseSchedule.getActualTeacherId().equals(oldCourseSchedule.getActualTeacherId())
+					|| newCourseSchedule.getType() != oldCourseSchedule.getType()
 					|| newCourseSchedule.getTeachMode() != oldCourseSchedule.getTeachMode() || oldMinutes != newMinutes) {
 
 				Map<Integer, Teacher> teacherMap = null;

+ 4 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ExportServiceImpl.java

@@ -221,6 +221,8 @@ public class ExportServiceImpl implements ExportService {
                     } else if (row.getChargeType() != null && (SporadicChargeTypeEnum.RECHARGE.getCode().equals(row.getChargeType()) ||
                             SporadicChargeTypeEnum.HIGH_ONLINE_ACTIVITY.getCode().equals(row.getChargeType()))) {
                         row.setRechargeFee(row.getActualAmount());
+                    } else if (row.getChargeType() != null && SporadicChargeTypeEnum.CLOUD_TEACHER_BUY.getCode().equals(row.getChargeType())) {
+                        row.setCloudTeacherFee(row.getActualAmount());
                     } else {
                         row.setOtherFee(row.getActualAmount());
                     }
@@ -512,6 +514,8 @@ public class ExportServiceImpl implements ExportService {
                     } else if (row.getChargeType() != null && (SporadicChargeTypeEnum.RECHARGE.getCode().equals(row.getChargeType()) ||
                             SporadicChargeTypeEnum.HIGH_ONLINE_ACTIVITY.getCode().equals(row.getChargeType()))) {
                         row.setRechargeFee(row.getActualAmount());
+                    } else if (row.getChargeType() != null && SporadicChargeTypeEnum.CLOUD_TEACHER_BUY.getCode().equals(row.getChargeType())) {
+                        row.setCloudTeacherFee(row.getActualAmount());
                     } else {
                         row.setOtherFee(row.getActualAmount());
                     }

+ 12 - 4
mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupActivityServiceImpl.java

@@ -10,10 +10,10 @@ import com.ym.mec.biz.dal.entity.Teacher;
 import com.ym.mec.biz.dal.entity.VipGroupActivity;
 import com.ym.mec.biz.dal.page.VipGroupActivityQueryInfo;
 import com.ym.mec.biz.event.source.EntityChangeEventSource;
+import com.ym.mec.biz.service.SysConfigService;
 import com.ym.mec.biz.service.VipGroupActivityService;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.exception.BizException;
-import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.util.collection.MapUtil;
 import org.apache.commons.lang3.StringUtils;
@@ -21,7 +21,10 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.util.*;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
 
 @Service
 public class VipGroupActivityServiceImpl extends BaseServiceImpl<Integer, VipGroupActivity>  implements VipGroupActivityService {
@@ -32,6 +35,8 @@ public class VipGroupActivityServiceImpl extends BaseServiceImpl<Integer, VipGro
 	private TeacherDao teacherDao;
 	@Autowired
 	private EntityChangeEventSource entityChangeEventSource;
+	@Autowired
+	private SysConfigService sysConfigService;
 
 	@Override
 	public BaseDAO<Integer, VipGroupActivity> getDAO() {
@@ -146,7 +151,7 @@ public class VipGroupActivityServiceImpl extends BaseServiceImpl<Integer, VipGro
 	}
 
 	@Override
-	public List<VipGroupActivity> findByVipGroupCategory(Long categoryId, String organIds, Integer teacherId, Integer applyToStudentType) {
+	public List<VipGroupActivity> findByVipGroupCategory(Long categoryId, String organIds, Integer teacherId, Integer applyToStudentType, Boolean includeClosed) {
 		if(Objects.isNull(categoryId)){
 			throw new BizException("请选择课程形态!");
 		}
@@ -163,7 +168,10 @@ public class VipGroupActivityServiceImpl extends BaseServiceImpl<Integer, VipGro
 				organIds += "," + teacher.getFlowOrganRange();
 			}
 		}
-		return vipGroupActivityDao.findByCategory(categoryId,organIds, applyToStudentType);
+
+		List<VipGroupActivity> vipGroupActivities = vipGroupActivityDao.findByCategory(categoryId, organIds, applyToStudentType, includeClosed);
+
+		return vipGroupActivities;
 	}
 
 	@Override

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

@@ -2288,7 +2288,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 			return;
 		}
 
-		if(studentPaymentOrder.getStatus().equals(DealStatusEnum.SUCCESS)){
+		if(!studentPaymentOrder.getStatus().equals(DealStatusEnum.ING)){
 			return;
 		}
 

+ 3 - 1
mec-biz/src/main/resources/config/mybatis/VipGroupActivityMapper.xml

@@ -204,7 +204,9 @@
 			vip_group_activity
 		WHERE
 			FIND_IN_SET( #{categoryId}, vip_group_category_id_list_ )
-			AND (end_time_ IS NULL OR NOW() BETWEEN start_time_ AND end_time_)
+		  	<if test="includeClosed==null">
+				AND (end_time_ IS NULL OR NOW() BETWEEN start_time_ AND end_time_)
+			</if>
 			AND del_flag_=0
 			AND INTE_ARRAY(organ_id_,#{organIds})
 			<if test="applyToStudentType!=null">

+ 4 - 2
mec-biz/src/main/resources/config/mybatis/VipGroupMapper.xml

@@ -1048,8 +1048,10 @@
     <select id="countStudentUseingActivityNum" resultType="int">
         SELECT COUNT(DISTINCT vg.id_)
         FROM vip_group vg
-                 LEFT JOIN class_group_student_mapper cgsm ON vg.id_=cgsm.music_group_id_ AND cgsm.group_type_='VIP'
+            LEFT JOIN class_group_student_mapper cgsm ON vg.id_=cgsm.music_group_id_ AND cgsm.group_type_='VIP'
+            LEFT JOIN class_group cg ON cgsm.class_group_id_=cg.id_
         WHERE vg.vip_group_activity_id_=#{vipGroupActivityId}
-          AND cgsm.user_id_=#{studentId}
+            AND cg.del_flag_!=1
+            AND cgsm.user_id_=#{studentId}
     </select>
 </mapper>

+ 11 - 6
mec-teacher/src/main/java/com/ym/mec/teacher/controller/VipGroupActivityController.java

@@ -98,7 +98,7 @@ public class VipGroupActivityController extends BaseController {
         }
         String organIds = student.getOrganId().toString();
 
-        List<VipGroupActivity> vipGroupActivities = vipGroupActivityService.findByVipGroupCategory(categoryId, organIds, sysUser.getId(),applyToStudentType);
+        List<VipGroupActivity> vipGroupActivities = vipGroupActivityService.findByVipGroupCategory(categoryId, organIds, sysUser.getId(),applyToStudentType, onlySpecialActivity?true:null);
         SysConfig sysConfig = sysConfigService.findByParamName(SysConfigService.VIP_SPECIAL_ACTIVITY_IDS);
         if(onlySpecialActivity){
             if(Objects.isNull(sysConfig)|| StringUtils.isBlank(sysConfig.getParanValue())){
@@ -108,12 +108,17 @@ public class VipGroupActivityController extends BaseController {
             List<VipGroupActivity> results = vipGroupActivities.stream().filter(e -> specialActivityIds.contains(e.getId())).collect(Collectors.toList());
             return succeed(results);
         }else{
-            if(Objects.isNull(sysConfig)|| StringUtils.isBlank(sysConfig.getParanValue())){
-                return succeed(vipGroupActivities);
+            if(Objects.nonNull(sysConfig)&&StringUtils.isNotBlank(sysConfig.getParanValue())){
+                Set<Integer> activityIds = Arrays.stream(sysConfig.getParanValue().split(",")).map(id->Integer.valueOf(id)).collect(Collectors.toSet());
+                Iterator<VipGroupActivity> iterator = vipGroupActivities.iterator();
+                while(iterator.hasNext()){
+                    VipGroupActivity vipGroupActivity = iterator.next();
+                    if(activityIds.contains(vipGroupActivity.getId())){
+                        iterator.remove();
+                    }
+                }
             }
-            Set<Integer> specialActivityIds = Arrays.stream(sysConfig.getParanValue().split(",")).map(Integer::valueOf).collect(Collectors.toSet());
-            List<VipGroupActivity> results = vipGroupActivities.stream().filter(e -> !specialActivityIds.contains(e.getId())).collect(Collectors.toList());
-            return succeed(results);
+            return succeed(vipGroupActivities);
         }
     }
 

+ 22 - 4
mec-web/src/main/java/com/ym/mec/web/controller/VipGroupActivityController.java

@@ -8,7 +8,10 @@ import com.ym.mec.biz.dal.dao.TeacherDao;
 import com.ym.mec.biz.dal.dto.VipGroupActivityAddDto;
 import com.ym.mec.biz.dal.entity.Employee;
 import com.ym.mec.biz.dal.entity.Student;
+import com.ym.mec.biz.dal.entity.SysConfig;
+import com.ym.mec.biz.dal.entity.VipGroupActivity;
 import com.ym.mec.biz.dal.page.VipGroupActivityQueryInfo;
+import com.ym.mec.biz.service.SysConfigService;
 import com.ym.mec.biz.service.VipGroupActivityService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.exception.BizException;
@@ -22,9 +25,7 @@ import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.util.CollectionUtils;
 import org.springframework.web.bind.annotation.*;
 
-import java.util.Arrays;
-import java.util.List;
-import java.util.Objects;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -47,6 +48,8 @@ public class VipGroupActivityController extends BaseController {
     private TeacherDao teacherDao;
 	@Autowired
     private StudentDao studentDao;
+	@Autowired
+    private SysConfigService sysConfigService;
 
     @ApiOperation(value = "新增vip课活动方案")
     @PostMapping("/addVipGroupActivity")
@@ -127,7 +130,22 @@ public class VipGroupActivityController extends BaseController {
             return failed("学员信息不存在");
         }
         String organIds = student.getOrganId().toString();
-        return succeed(vipGroupActivityService.findByVipGroupCategory(categoryId, organIds, teacherId, applyToStudentType));
+
+        List<VipGroupActivity> vipGroupActivities = vipGroupActivityService.findByVipGroupCategory(categoryId, organIds, teacherId, applyToStudentType, null);
+
+        SysConfig doubleElevenIdConfig = sysConfigService.findByParamName(SysConfigService.VIP_SPECIAL_ACTIVITY_IDS);
+        if(Objects.nonNull(doubleElevenIdConfig)&&StringUtils.isNotBlank(doubleElevenIdConfig.getParanValue())){
+            Set<Integer> activityIds = Arrays.stream(doubleElevenIdConfig.getParanValue().split(",")).map(id->Integer.valueOf(id)).collect(Collectors.toSet());
+            Iterator<VipGroupActivity> iterator = vipGroupActivities.iterator();
+            while(iterator.hasNext()){
+                VipGroupActivity vipGroupActivity = iterator.next();
+                if(activityIds.contains(vipGroupActivity.getId())){
+                    iterator.remove();
+                }
+            }
+        }
+
+        return succeed(vipGroupActivities);
     }
 
 }

+ 1 - 1
mec-web/src/main/java/com/ym/mec/web/controller/education/EduVipGroupActivityController.java

@@ -79,7 +79,7 @@ public class EduVipGroupActivityController extends BaseController {
             return failed("学员信息不存在");
         }
         String organIds = student.getOrganId().toString();
-        List<VipGroupActivity> vipGroupActivities = vipGroupActivityService.findByVipGroupCategory(categoryId, organIds, teacherId, applyToStudentType);
+        List<VipGroupActivity> vipGroupActivities = vipGroupActivityService.findByVipGroupCategory(categoryId, organIds, teacherId, applyToStudentType, null);
         Iterator<VipGroupActivity> iterator = vipGroupActivities.iterator();
         while (iterator.hasNext()){
             VipGroupActivity vipGroupActivity = iterator.next();