浏览代码

feat:优惠券

Joburgess 3 年之前
父节点
当前提交
665954a08e

+ 36 - 3
cms/src/main/java/com/ym/mec/cms/controller/NewsController.java

@@ -1,12 +1,14 @@
 package com.ym.mec.cms.controller;
 
+import com.ym.mec.cms.dal.dao.StudentRegistrationDao;
+import com.ym.mec.cms.dal.entity.SysConfig;
+import com.ym.mec.cms.service.SysConfigService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiOperation;
 
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Map;
+import java.util.*;
+import java.util.stream.Collectors;
 
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -49,6 +51,12 @@ public class NewsController extends BaseController {
 	
 	@Autowired
 	private WebFeignService webFeignService;
+
+	@Autowired
+	private StudentRegistrationDao studentRegistrationDao;
+
+	@Autowired
+	private SysConfigService sysConfigService;
 	
 	@ApiOperation("资讯列表分页查询")
 	@GetMapping(value = "/list")
@@ -61,10 +69,20 @@ public class NewsController extends BaseController {
 		if (!StringUtils.equalsIgnoreCase("student", clientId)) {
 			queryInfo.setOrganIdList(webFeignService.queryOrganIdByUserId(user.getId(), clientId));
 		} else {
+			SysConfig cloudTeacherActiveIds = sysConfigService.findByParamName(SysConfigService.CLOUD_TEACHER_ACTIVE_BANNER_IDS);
+			List<Integer> excludeIds = new ArrayList<>();
+			if(Objects.nonNull(cloudTeacherActiveIds)&&StringUtils.isNotBlank(cloudTeacherActiveIds.getParanValue())){
+				excludeIds = Arrays.stream(cloudTeacherActiveIds.getParanValue().split(",")).map(id->Integer.valueOf(id)).collect(Collectors.toList());
+			}
 			if (user == null || user.getId() == null) {
 				queryInfo.setOrganId(43);
+				queryInfo.setExcludeIds(excludeIds);
 			} else {
 				queryInfo.setOrganId(user.getOrganId());
+				int memberGroupNum = studentRegistrationDao.countStudentMemberGroupNum(user.getId());
+				if(memberGroupNum>0){
+					queryInfo.setExcludeIds(excludeIds);
+				}
 			}
 		}
 		
@@ -101,6 +119,21 @@ public class NewsController extends BaseController {
 	public Object getHomeList(NewsInformationQueryInfo queryInfo) {
 		queryInfo.setRows(10);
 		SysUser user = sysUserFeignService.queryUserInfo();
+		SysConfig cloudTeacherActiveIds = sysConfigService.findByParamName(SysConfigService.CLOUD_TEACHER_ACTIVE_BANNER_IDS);
+		List<Integer> excludeIds = new ArrayList<>();
+		if(Objects.nonNull(cloudTeacherActiveIds)&&StringUtils.isNotBlank(cloudTeacherActiveIds.getParanValue())){
+			excludeIds = Arrays.stream(cloudTeacherActiveIds.getParanValue().split(",")).map(id->Integer.valueOf(id)).collect(Collectors.toList());
+		}
+		if (user == null || user.getId() == null) {
+			queryInfo.setOrganId(43);
+			queryInfo.setExcludeIds(excludeIds);
+		} else {
+			queryInfo.setOrganId(user.getOrganId());
+			int memberGroupNum = studentRegistrationDao.countStudentMemberGroupNum(user.getId());
+			if(memberGroupNum>0){
+				queryInfo.setExcludeIds(excludeIds);
+			}
+		}
 		return succeed(sysNewsInformationService.getHomeList(user, queryInfo));
 	}
 

+ 12 - 0
cms/src/main/java/com/ym/mec/cms/controller/queryinfo/NewsInformationQueryInfo.java

@@ -3,6 +3,7 @@ package com.ym.mec.cms.controller.queryinfo;
 import io.swagger.annotations.ApiModelProperty;
 
 import java.util.Date;
+import java.util.List;
 
 import com.ym.mec.cms.dal.entity.NewsStatusEnum;
 import com.ym.mec.common.page.QueryInfo;
@@ -32,6 +33,9 @@ public class NewsInformationQueryInfo extends QueryInfo {
 	
 	@ApiModelProperty(value = "分部编号", required = false)
 	private Integer organId;
+
+	@ApiModelProperty(value = "需排除编号")
+	private List<Integer> excludeIds;
 	
 	private String clientName;
 	
@@ -136,4 +140,12 @@ public class NewsInformationQueryInfo extends QueryInfo {
 	public void setClientId(String clientId) {
 		this.clientId = clientId;
 	}
+
+	public List<Integer> getExcludeIds() {
+		return excludeIds;
+	}
+
+	public void setExcludeIds(List<Integer> excludeIds) {
+		this.excludeIds = excludeIds;
+	}
 }

+ 19 - 0
cms/src/main/java/com/ym/mec/cms/dal/dao/StudentRegistrationDao.java

@@ -0,0 +1,19 @@
+package com.ym.mec.cms.dal.dao;
+
+import com.ym.mec.auth.api.entity.SysUser;
+import org.apache.ibatis.annotations.Param;
+
+import java.math.BigDecimal;
+import java.util.*;
+
+public interface StudentRegistrationDao {
+
+    /**
+     * @describe 统计学员所在会员团的数量
+     * @author Joburgess
+     * @date 2021/9/9 0009
+     * @param studentId:
+     * @return int
+     */
+    int countStudentMemberGroupNum(@Param("studentId") Integer studentId);
+}

+ 24 - 0
cms/src/main/java/com/ym/mec/cms/dal/dao/SysConfigDao.java

@@ -0,0 +1,24 @@
+package com.ym.mec.cms.dal.dao;
+
+import com.ym.mec.cms.dal.entity.SysConfig;
+import com.ym.mec.common.dal.BaseDAO;
+
+public interface SysConfigDao extends BaseDAO<Long, SysConfig> {
+
+    /**
+     * @Author: Joburgess
+     * @Date: 2019/10/9
+     * @params [paramName]
+     * @return com.ym.mec.biz.dal.entity.SysConfig
+     * @describe 根据配置名称获取配置信息
+     */
+    SysConfig findByParamName(String paramName);
+
+    /**
+     * 获取value
+     * @param paramName
+     * @return
+     */
+    String findConfigValue(String paramName);
+	
+}

+ 104 - 0
cms/src/main/java/com/ym/mec/cms/dal/entity/SysConfig.java

@@ -0,0 +1,104 @@
+package com.ym.mec.cms.dal.entity;
+
+import io.swagger.annotations.ApiModelProperty;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+
+/**
+ * 对应数据库表(sys_config):
+ */
+public class SysConfig {
+
+	/**  */
+	private Long id;
+	
+	/** 参数名称 */
+	@ApiModelProperty(value = "参数名称", required = true)
+	private String paramName;
+	
+	/** 参数值 */
+	@ApiModelProperty(value = "参数值", required = true)
+	private String paranValue;
+	
+	/** 描述 */
+	@ApiModelProperty(value = "描述", required = true)
+	private String description;
+	
+	/** 创建时间 */
+	private java.util.Date createOn;
+	
+	/** 修改时间 */
+	private java.util.Date modifyOn;
+	
+	@ApiModelProperty(value = "消息组", required = true)
+	private String group;
+	
+	public void setId(Long id){
+		this.id = id;
+	}
+	
+	public Long getId(){
+		return this.id;
+	}
+			
+	public void setParamName(String paramName){
+		this.paramName = paramName;
+	}
+	
+	public String getParamName(){
+		return this.paramName;
+	}
+			
+	public void setParanValue(String paranValue){
+		this.paranValue = paranValue;
+	}
+	
+	public String getParanValue(){
+		return this.paranValue;
+	}
+
+	public <T> T getParanValue(Class<T> cla){
+		try {
+			return cla.cast(cla.getMethod("valueOf", String.class).invoke(cla.getInterfaces(),this.paranValue));
+		} catch (Exception e) {
+			return (T)this.paranValue.getClass();
+		}
+	}
+			
+	public void setDescription(String description){
+		this.description = description;
+	}
+	
+	public String getDescription(){
+		return this.description;
+	}
+			
+	public void setCreateOn(java.util.Date createOn){
+		this.createOn = createOn;
+	}
+	
+	public java.util.Date getCreateOn(){
+		return this.createOn;
+	}
+			
+	public void setModifyOn(java.util.Date modifyOn){
+		this.modifyOn = modifyOn;
+	}
+	
+	public java.util.Date getModifyOn(){
+		return this.modifyOn;
+	}
+			
+	public String getGroup() {
+		return group;
+	}
+
+	public void setGroup(String group) {
+		this.group = group;
+	}
+
+	@Override
+	public String toString() {
+		return ToStringBuilder.reflectionToString(this);
+	}
+
+}

+ 267 - 0
cms/src/main/java/com/ym/mec/cms/service/SysConfigService.java

@@ -0,0 +1,267 @@
+package com.ym.mec.cms.service;
+
+
+import com.ym.mec.cms.dal.entity.SysConfig;
+import com.ym.mec.common.service.BaseService;
+
+public interface SysConfigService extends BaseService<Long, SysConfig> {
+
+    public static final String BASE_API_URL = "base_api_url";
+
+    /**
+     * 缴费状态提前{}天刷新
+     */
+    public static final String REFRESH_PAYMENT_STATUS_EARLY_DAYS = "refresh_payment_status_early_days";
+
+    /**
+     * VIP课结束后,用户可申诉时间,为课程结束后的{}天
+     */
+    public static final String VIP_APPEAL_DAYS_RANGE = "vip_appeal_days_range";
+
+    /**
+     * 线下课最早打卡时间可提前分钟数
+     */
+    String OFFLINE_SIGN_IN_EARLY_FORWARD_TIME = "offline_sign_in_early_forward_time";
+
+    /**
+     * 老师正常打卡时间,为课程当天,距离开课时间前{}分钟
+     */
+    public static final String ADVANCE_SIGN_IN_MINUTES = "advance_sign_in_minutes";
+
+    String ADVANCE_SIGN_OUT_MINUTES = "advance_sign_out_minutes";
+
+    /**
+     * 老师可以打卡范围,为教学定位方圆{}米
+     */
+    public static final String ATTENDANCE_RANGE = "attendance_range";
+
+    String ATTENDANCE_RANGE_VIP = "attendance_range_vip";
+
+    /**
+     * 学生允许请假的时间,为开课前{}小时
+     */
+    public static final String ADVANCE_LEAVE_HOURS = "advance_leave_hours";
+
+    /**
+     * 最早请假提前时间
+     */
+    String EARLIEST_TIME_FOR_LEAVE="earliest_time_for_leave";
+
+    String ENABLE_TEACHER_COURSE_ADJUST_DEFAULT_HOURS = "enable_teacher_course_adjust_default_hours";
+
+    /**
+     * 单技课梯度结算规则设置
+     */
+    public static final String SIGLE_GRADIENT_SETTLEMENT_RULE = "sigle_gradient_settlement_rule";
+
+    /**
+     * 合奏课梯度结算规则设置
+     */
+    public static final String MAX_GRADIENT_SETTLEMENT_RULE = "max_gradient_settlement_rule";
+
+    /**
+     * 小班课梯度结算规则设置
+     */
+    public static final String HIGH_GRADIENT_SETTLEMENT_RULE = "high_gradient_settlement_rule";
+
+    /**
+     * 如果没有签退,{}分钟后自动发送推送信息
+     */
+    public static final String SIGN_OUT_MESSAGE_PUSH_MINUTE = "sign_out_message_push_minute";
+
+    /**
+     * 试听课默认单节课时长
+     */
+    String DEMO_GROUP_SINGLE_CLASS_MINUTES_ = "demo_group_single_class_minutes_";
+    String USER_DEFAULT_HEAD_URL = "user_default_head_url";
+    String STUDENT_APPLY_URL = "student_apply_url";
+    String SERVER_PHONE = "server_phone";
+
+    String MUSIC_GROUP_SETTLEMENT_CLASS_MINUTES = "music_group_settlement_class_minutes";
+
+    String MUSIC_GROUP_SETTLEMENT_DAY = "music_group_settlement_day";
+
+    String MUSIC_GROUP_SETTLEMENT_SINGLE_CLASS_MINUTES = "music_group_settlement_single_class_minutes";
+
+    String REFUND_PERIOD = "refund_period";
+
+    /**
+     * 可签退时间限制(自然天)
+     */
+    String ENABLE_SIGN_OUT_TIME_RANGE = "enable_sign_out_time_range";
+
+    /**
+     * 可更新学生签到状态时间限制,课程结束后{}分钟
+     */
+    String ENABLE_STUDENT_ATTENDANCE_TIME_RANGE = "enable_student_attendance_time_range";
+
+    /**
+     * vip课程可更新学生签到状态时间限制,课程结束后{}分钟
+     */
+    String ENABLE_STUDENT_ATTENDANCE_TIME_RANGE_VIP = "enable_student_attendance_time_range_vip";
+
+    String ENABLE_STUDENT_ATTENDANCE_BEFOR_COURSE_START_TIME_RANGE_VIP = "enable_student_attendance_befor_course_start_time_range_vip";
+
+    /**
+     * @describe 陪练课课酬
+     */
+    String PRACTICE_COURSE_SALARY = "practice_course_salary";
+
+    /**
+     * @describe 陪练课时长
+     */
+    String PRACTICE_COURSE_MINUTES = "practice_course_minutes";
+
+    /**
+     * @describe 陪练课预约开始时间
+     */
+    String PRACTICE_APPLY_START_TIME = "practice_apply_start_time";
+
+    /**
+     * @describe 陪练课预约结束时间
+     */
+    String PRACTICE_APPLY_END_TIME = "practice_apply_end_time";
+
+    /**
+     * @describe 陪练课预约时间间隔
+     */
+    String PRACTICE_APPLY_INTERVAL_TIME = "practice_apply_interval_time";
+
+    /**
+     * @describe 陪练课可预约声部列表
+     */
+    String PRACTICE_SUBJECT_ID_LIST = "practice_subject_id_list";
+
+    /**
+     * @describe 教师请假数据
+     */
+    String TEACHER_LEAVE_DATA = "teacher_leave_data";
+
+    /**
+     * 十分钟内最大可发送的短信次数
+     */
+    String SMS_MAX_TIMES = "sms_max_times";
+
+    /**
+     * 连堂课间隔时间
+     */
+    String ONLINE_CONTINUE_COURSE_TIME = "online_continue_course_time";
+
+    /**
+     * 连堂课间隔时间
+     */
+    String AUTO_CLOSE_NETWORK_ROOM = "auto_close_network_room";
+
+    /**
+     * @describe 付费陪练课可购买最大月数
+     */
+    String PRACTICE_PAY_MAX_MONTH = "practice_pay_max_month";
+
+    /**
+     * @describe 付费陪练课单月上课数量
+     */
+    String PRACTICE_PAY_DRILL_TIMES_ON_ONE_WEEK = "practice_pay_drill_times_on_one_week";
+
+    /**
+     * @describe 付费陪练课活动截至日期
+     */
+    String PRACTICE_BUY_ACTIVITY_EXPIRE_DATE = "practice_buy_activity_expire_date";
+
+    /**
+     * 陪练老师端入口地址
+     */
+    String TEACHER_STUDY_REPORT_URL = "teacher_study_report_url";
+
+    /**
+     * 陪练课报告地址
+     */
+    String STUDENT_STUDY_REPORT_URL = "student_study_report_url";
+
+    /**
+     * @describe 陪练课续费地址
+     */
+    String PRACTICE_RENEW_URL = "practice_renew_url";
+
+    /**
+     * @describe 老师端baseUrl
+     */
+    String TEACHER_BASE_URL = "teacher_base_url";
+
+    String COURSE_BEFORE_BUFFER_TIME = "course_before_buffer_time";
+
+    String COURSE_AFTER_BUFFER_TIME = "course_after_buffer_time";
+
+    String PRACTICE_PROMOTION_ACTIVITY_START_DATE = "practice_promotion_activity_start_date";
+
+    String NEW_MSG_PUSH = "您收到一条训练回复,请点击查看";
+
+    /**
+     * @describe 教务端baseUrl
+     */
+    String EDU_TEACHER_BASE_URL = "edu_teacher_base_url";
+
+    String HOLIDAY_SETTING = "holiday_setting";
+
+    String PRACTICE_FREE_APPLY_EXPIRE_DATE = "practice_free_apply_expire_date";
+    
+    String START_TIME_OF_1111 = "start_time_of_1111";
+    
+    String END_TIME_OF_1111 = "end_time_of_1111";
+
+    String VIP_SPECIAL_ACTIVITY_IDS = "vip_special_activity_ids";
+
+    String DAYA_BASE_SALARY_AMOUNT = "daya_base_salary_amount";
+
+    String WARNING_MIN_COURSE_SALARY = "warning_min_course_salary";
+
+    //提醒乐团主管排下学期的课程的时间节点(默认提前14天)
+    String REMIND_COURSE_TIME = "remind_course_time";
+
+    //会员结束前15天提醒学员续费(默认提前15天)
+    String PUSH_MEMBER_RENEW = "push_member_renew";
+
+    //试用会员结束前3天提醒学员续费(默认提前3天)
+    String EXPERIENCE_PUSH_MEMBER_RENEW = "experience_push_member_renew";
+
+    //会员结束前15天自动创建乐团续费(默认提前15天)
+    String AUTO_CREATE_MEMBER_RENEW = "auto_create_member_renew";
+
+    //会员结束前15天提醒学员续费(默认提前5天)
+    String PUSH_MEMBER_RENEW_AGAIN = "push_member_renew_again";
+
+    //会员结束前5天提醒学员续费(退团提醒)(默认提前5天)
+    String PUSH_MEMBER_RENEW_QUIT = "push_member_renew_quit";
+
+    String CHILDREN_DAY_VIP_ACTIVITY_IDS = "children_day_vip_activity_ids";
+
+    //云教练作业开关0关1开
+    String HOMEWORK_OPEN_FLAG = "homework_open_flag";
+
+    //云教练免费体验开关0关1开
+    String FREE_CLOUD_OPEN_FLAG = "free_cloud_open_flag";
+
+    //乐团问卷调查编号
+    String MUSIC_GROUP_TOPIC_ID = "music_group_topic_id";
+
+    //云教练试用时间最晚截止时间
+    String EXPERIENCE_MEMBERSHIP_END_TIME = "experience_membership_end_time";
+
+    //云教练训练时长小于80分钟需要回访
+    String STUDENT_CLOUD_TEACHER_TOTAL_PLAY_TIME = "student_cloud_teacher_total_play_time";
+
+    //云教练训练次数小于4次需要回访
+    String STUDENT_CLOUD_TEACHER_TRAIN_NUM = "student_cloud_teacher_train_num";
+
+    //云教练活动分部目标JSON
+    String CLOUD_TEACHER_ACTIVE_TARGET = "cloud_teacher_active_target";
+
+    //云教练活动开屏广告编号
+    String CLOUD_TEACHER_ACTIVE_BANNER_IDS = "cloud_teacher_active_banner_ids";
+
+    /**
+     * @return com.ym.mec.biz.dal.entity.SysConfig
+     * @params paramName
+     * @describe 根据配置名称获取配置信息
+     */
+    SysConfig findByParamName(String paramName);
+}

+ 27 - 0
cms/src/main/java/com/ym/mec/cms/service/impl/SysConfigServiceImpl.java

@@ -0,0 +1,27 @@
+package com.ym.mec.cms.service.impl;
+
+
+import com.ym.mec.cms.dal.dao.SysConfigDao;
+import com.ym.mec.cms.dal.entity.SysConfig;
+import com.ym.mec.cms.service.SysConfigService;
+import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.common.service.impl.BaseServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service
+public class SysConfigServiceImpl extends BaseServiceImpl<Long, SysConfig>  implements SysConfigService {
+	
+	@Autowired
+	private SysConfigDao sysConfigDao;
+
+	@Override
+	public BaseDAO<Long, SysConfig> getDAO() {
+		return sysConfigDao;
+	}
+
+	@Override
+	public SysConfig findByParamName(String paramName) {
+		return sysConfigDao.findByParamName(paramName);
+	}
+}

+ 19 - 0
cms/src/main/resources/config/mybatis/StudentRegistrationMapper.xml

@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<!--
+这个文件是自动生成的。
+不要修改此文件。所有改动将在下次重新自动生成时丢失。
+-->
+<mapper namespace="com.ym.mec.cms.dal.dao.StudentRegistrationDao">
+
+    <select id="countStudentMemberGroupNum" resultType="int">
+        SELECT COUNT(DISTINCT sr.music_group_id_)
+        FROM student_registration sr
+            LEFT JOIN music_group mg ON sr.music_group_id_=mg.id_
+        WHERE sr.music_group_status_ IN ('APPLY', 'NORMAL')
+          AND mg.course_view_type_=2
+          AND mg.status_ NOT IN ('CANCELED', 'CLOSE')
+          AND sr.user_id_ = #{studentId}
+    </select>
+
+</mapper>

+ 85 - 0
cms/src/main/resources/config/mybatis/SysConfigMapper.xml

@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<!-- 这个文件是自动生成的。 不要修改此文件。所有改动将在下次重新自动生成时丢失。 -->
+<mapper namespace="com.ym.mec.cms.dal.dao.SysConfigDao">
+
+	<resultMap type="com.ym.mec.cms.dal.entity.SysConfig" id="SysConfig">
+		<result column="id_" property="id" />
+		<result column="param_name_" property="paramName" />
+		<result column="paran_value_" property="paranValue" />
+		<result column="description_" property="description" />
+		<result column="create_on_" property="createOn" />
+		<result column="modify_on_" property="modifyOn" />
+		<result column="group_" property="group" />
+	</resultMap>
+
+	<!-- 根据主键查询一条记录 -->
+	<select id="get" resultMap="SysConfig">
+		SELECT * FROM sys_config WHERE id_ = #{id}
+	</select>
+
+	<!-- 全查询 -->
+	<select id="findAll" resultMap="SysConfig">
+		SELECT * FROM sys_config where 1=1
+		<if test="group != null">
+			and group_ = #{group}
+		</if>
+		ORDER BY id_
+	</select>
+
+	<!-- 向数据库增加一条记录 -->
+	<insert id="insert" parameterType="com.ym.mec.cms.dal.entity.SysConfig"
+		useGeneratedKeys="true" keyColumn="id" keyProperty="id">
+		<!-- <selectKey resultClass="int" keyProperty="id" > SELECT SEQ_WSDEFINITION_ID.nextval 
+			AS ID FROM DUAL </selectKey> -->
+		INSERT INTO sys_config
+		(id_,param_name_,paran_value_,description_,create_on_,modify_on_,group_)
+		VALUES(#{id},#{paramName},#{paranValue},#{description},#{createOn},#{modifyOn},#{group})
+	</insert>
+
+	<!-- 根据主键查询一条记录 -->
+	<update id="update" parameterType="com.ym.mec.cms.dal.entity.SysConfig">
+		UPDATE sys_config
+		<set>
+			<if test="modifyOn != null">
+				modify_on_ = #{modifyOn},
+			</if>
+			<if test="paranValue != null">
+				paran_value_ = #{paranValue},
+			</if>
+			<if test="description != null">
+				description_ = #{description},
+			</if>
+			<if test="paramName != null">
+				param_name_ = #{paramName},
+			</if>
+			<if test="group != null">
+				group_ = #{group},
+			</if>
+		</set>
+		WHERE id_ = #{id}
+	</update>
+
+	<!-- 根据主键删除一条记录 -->
+	<delete id="delete">
+		DELETE FROM sys_config WHERE id_ = #{id}
+	</delete>
+
+	<!-- 分页查询 -->
+	<select id="queryPage" resultMap="SysConfig" parameterType="map">
+		SELECT * FROM sys_config ORDER BY id_
+		<include refid="global.limit" />
+	</select>
+
+	<!-- 查询当前表的总记录数 -->
+	<select id="queryCount" resultType="int">
+		SELECT COUNT(*) FROM sys_config
+	</select>
+	
+	<select id="findByParamName" resultMap="SysConfig">
+		SELECT * FROM sys_config WHERE param_name_ = #{paramName}
+	</select>
+    <select id="findConfigValue" resultType="java.lang.String">
+		SELECT paran_value_ FROM sys_config WHERE param_name_ = #{paramName}
+	</select>
+</mapper>

+ 12 - 0
cms/src/main/resources/config/mybatis/SysNewsInformationMapper.xml

@@ -68,6 +68,12 @@
 			<if test="organIdList != null">
 				and INTE_ARRAY(#{organIdList},sni.organ_id_list_)
 			</if>
+			<if test="excludeIds!=null and excludeIds.size()>0">
+				AND sni.id_ NOT IN
+				<foreach collection="excludeIds" item="excludeId" open="(" close=")" separator=",">
+					#{excludeId}
+				</foreach>
+			</if>
 			<if test="clientName != 'manage'">
 				<choose>
 					<when test="memo != null and memo != ''">
@@ -219,6 +225,12 @@
 		<if test="tenantId != null">
 			and sni.tenant_id_ = #{tenantId}
 		</if>
+		<if test="excludeIds!=null and excludeIds.size()>0">
+			AND sni.id_ NOT IN
+			<foreach collection="excludeIds" item="excludeId" open="(" close=")" separator=",">
+				#{excludeId}
+			</foreach>
+		</if>
 			<if test="subjectId != null">
 				and find_in_set(#{subjectId},sni.subject_id_list_)
 			</if>