|
|
<?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.hc.business.mapper.ClassConfigMapper">
|
|
|
|
|
|
<resultMap type="classConfig" id="ClassConfigMap">
|
|
|
<result property="classConfigId" column="class_config_id" jdbcType="INTEGER"/>
|
|
|
<result property="className" column="class_name" jdbcType="VARCHAR"/>
|
|
|
<result property="classDesc" column="class_desc" jdbcType="VARCHAR"/>
|
|
|
<result property="classType" column="class_type" jdbcType="INTEGER"/>
|
|
|
<result property="classLogo" column="class_logo" jdbcType="VARCHAR"/>
|
|
|
<result property="areaId" column="area_id" jdbcType="INTEGER"/>
|
|
|
<result property="bxHours" column="bx_hours" jdbcType="FLOAT"/>
|
|
|
<result property="xxHours" column="xx_hours" jdbcType="FLOAT"/>
|
|
|
<result property="paperHours" column="paper_hours" jdbcType="FLOAT"/>
|
|
|
<result property="paperId" column="paper_id" jdbcType="INTEGER"/>
|
|
|
<result property="createTime" column="create_time" jdbcType="INTEGER"/>
|
|
|
<result property="years" column="years" jdbcType="VARCHAR"/>
|
|
|
<result property="price" column="price" jdbcType="NUMERIC"/>
|
|
|
<result property="applyStartTime" column="apply_start_time" jdbcType="INTEGER"/>
|
|
|
<result property="applyEndTime" column="apply_end_time" jdbcType="INTEGER"/>
|
|
|
<result property="studyStartTime" column="study_start_time" jdbcType="INTEGER"/>
|
|
|
<result property="studyEndTime" column="study_end_time" jdbcType="INTEGER"/>
|
|
|
<result property="paperStartTime" column="paper_start_time" jdbcType="INTEGER"/>
|
|
|
<result property="paperEndTime" column="paper_end_time" jdbcType="INTEGER"/>
|
|
|
<result property="certStartTime" column="cert_start_time" jdbcType="INTEGER"/>
|
|
|
<result property="certEndTime" column="cert_end_time" jdbcType="INTEGER"/>
|
|
|
<result property="needPaper" column="need_paper" jdbcType="INTEGER"/>
|
|
|
<result property="valid" column="valid" jdbcType="INTEGER"/>
|
|
|
<result property="classContent" column="class_content" jdbcType="VARCHAR"/>
|
|
|
<result property="classMobileContent" column="class_mobile_content" jdbcType="VARCHAR"/>
|
|
|
<result property="signTime" column="sign_time" jdbcType="BIGINT"/>
|
|
|
<result property="prefix" column="prefix" jdbcType="VARCHAR"/>
|
|
|
<result property="testId" column="test_id" jdbcType="INTEGER"/>
|
|
|
<result property="target" column="target" jdbcType="VARCHAR"/>
|
|
|
<result property="limitNum" column="limit_num" jdbcType="INTEGER"/>
|
|
|
</resultMap>
|
|
|
|
|
|
<sql id="Base_Column_List">
|
|
|
class_config_id,
|
|
|
class_name,
|
|
|
class_desc,
|
|
|
class_type,
|
|
|
class_logo,
|
|
|
class_content,
|
|
|
class_mobile_content,
|
|
|
area_id,
|
|
|
bx_hours,
|
|
|
xx_hours,
|
|
|
paper_hours,
|
|
|
paper_id,
|
|
|
create_time,
|
|
|
years,
|
|
|
price,
|
|
|
apply_start_time,
|
|
|
apply_end_time,
|
|
|
study_start_time,
|
|
|
study_end_time,
|
|
|
paper_start_time,
|
|
|
paper_end_time,
|
|
|
cert_start_time,
|
|
|
cert_end_time,
|
|
|
need_paper,
|
|
|
valid,
|
|
|
sign_time,
|
|
|
prefix,
|
|
|
test_id,
|
|
|
target,
|
|
|
limit_num
|
|
|
</sql>
|
|
|
|
|
|
<select id="queryByValid" resultMap="ClassConfigMap">
|
|
|
SELECT
|
|
|
<include refid="Base_Column_List"/>
|
|
|
FROM class_config
|
|
|
WHERE valid = #{valid}
|
|
|
ORDER BY create_time DESC
|
|
|
</select>
|
|
|
|
|
|
<select id="queryByAreaId" resultMap="ClassConfigMap">
|
|
|
SELECT
|
|
|
<include refid="Base_Column_List"/>
|
|
|
FROM class_config
|
|
|
WHERE area_id = #{areaId}
|
|
|
ORDER BY class_config_id DESC
|
|
|
</select>
|
|
|
|
|
|
<select id="queryByTime" resultMap="ClassConfigMap">
|
|
|
SELECT
|
|
|
<include refid="Base_Column_List"/>
|
|
|
FROM class_config
|
|
|
WHERE study_start_time = #{studyStartTime}
|
|
|
ORDER BY class_config_id DESC
|
|
|
</select>
|
|
|
|
|
|
<select id="queryByClassName" resultMap="ClassConfigMap">
|
|
|
SELECT
|
|
|
<include refid="Base_Column_List"/>
|
|
|
FROM class_config
|
|
|
WHERE class_name LIKE "%"#{name}"%"
|
|
|
ORDER BY class_config_id DESC
|
|
|
</select>
|
|
|
|
|
|
<select id="queryAll" resultMap="ClassConfigMap">
|
|
|
SELECT
|
|
|
<include refid="Base_Column_List"/>
|
|
|
FROM class_config
|
|
|
ORDER BY class_config_id DESC
|
|
|
</select>
|
|
|
|
|
|
|
|
|
<select id="queryByYear" resultMap="ClassConfigMap">
|
|
|
SELECT
|
|
|
<include refid="Base_Column_List"/>
|
|
|
FROM class_config
|
|
|
WHERE years LIKE "%"#{year}"%"
|
|
|
ORDER BY class_config_id DESC
|
|
|
</select>
|
|
|
|
|
|
|
|
|
<select id="queryByTarget" resultMap="ClassConfigMap">
|
|
|
SELECT
|
|
|
<include refid="Base_Column_List"/>
|
|
|
FROM class_config
|
|
|
WHERE target LIKE "%"#{target}"%"
|
|
|
ORDER BY class_config_id DESC
|
|
|
</select>
|
|
|
|
|
|
<select id="getPrintList" resultType="com.hc.business.dto.ClassPrintDto">
|
|
|
select *
|
|
|
from (select count(1) course_count,
|
|
|
ss.user_id,
|
|
|
ss.class_id,
|
|
|
Max(ss.score) score,
|
|
|
Max(ss.create_time) create_time
|
|
|
from (SELECT DISTINCT a.user_id, b.class_id, c.class_config_id, h.course_name, f.score, f.create_time
|
|
|
FROM `user` a
|
|
|
join user_status b on a.user_id = b.user_id
|
|
|
join class_config c on b.class_id = c.class_config_id
|
|
|
join class_course d on c.class_config_id = d.class_id
|
|
|
join user_course e on e.course_id = d.course_id
|
|
|
join user_test_history f on f.user_id = a.user_id and f.class_id = c.class_config_id
|
|
|
join paper g on g.paper_id = f.paper_id
|
|
|
join course h on h.course_id = e.course_id
|
|
|
where a.card_id = #{cardId} -- 身份证
|
|
|
and b.`status` = 1 -- 课程正确 没有退费
|
|
|
and e.course_percent = 1 -- 课程必须学完
|
|
|
and d.course_type = 1 -- 只要必须课程
|
|
|
and f.score >= g.paper_score_pass -- >= 合格分数
|
|
|
) ss
|
|
|
group by ss.user_id, ss.class_id) sss
|
|
|
-- 判断所有必修课程,是不是都是进度 100,并且合格
|
|
|
where sss.course_count = (select count(*) from class_course where course_type = 1 and class_id = sss.class_id)
|
|
|
</select>
|
|
|
|
|
|
|
|
|
</mapper> |