作者 mxy

删除配置后提交

正在显示 100 个修改的文件 包含 713 行增加0 行删除

要显示太多修改。

为保证性能只显示 100 of 100+ 个文件。

  1 +######################################################################
  2 +# Build Tools
  3 +
  4 +.gradle
  5 +/build/
  6 +!gradle/wrapper/gradle-wrapper.jar
  7 +rebel.xml
  8 +target/
  9 +!.mvn/wrapper/maven-wrapper.jar
  10 +
  11 +######################################################################
  12 +# IDE
  13 +
  14 +### STS ###
  15 +.apt_generated
  16 +.classpath
  17 +.factorypath
  18 +.project
  19 +.settings
  20 +.springBeans
  21 +
  22 +### IntelliJ IDEA ###
  23 +.idea
  24 +*.iws
  25 +*.iml
  26 +*.ipr
  27 +
  28 +### NetBeans ###
  29 +nbproject/private/
  30 +build/*
  31 +nbbuild/
  32 +dist/
  33 +nbdist/
  34 +.nb-gradle/
  35 +
  36 +######################################################################
  37 +# Others
  38 +*.log
  39 +*.xml.versionsBackup
  40 +
  41 +!*/build/*.java
  42 +!*/build/*.html
  43 +!*/build/*.xml
  1 +Manifest-Version: 1.0
  2 +Class-Path:
  3 +
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3 + xmlns:tx="http://www.springframework.org/schema/tx" xmlns:context="http://www.springframework.org/schema/context"
  4 + xmlns:aop="http://www.springframework.org/schema/aop" xmlns:p="http://www.springframework.org/schema/p"
  5 + xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:jpa="http://www.springframework.org/schema/data/jpa"
  6 + xmlns:util="http://www.springframework.org/schema/util" xmlns:cache="http://www.springframework.org/schema/cache"
  7 + xmlns:task="http://www.springframework.org/schema/task"
  8 + xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
  9 + http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
  10 + http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
  11 + http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd
  12 + http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
  13 + http://www.springframework.org/schema/data/jpa http://www.springframework.org/schema/data/jpa/spring-jpa.xsd
  14 + http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd
  15 + http://www.springframework.org/schema/cache http://www.springframework.org/schema/cache/spring-cache-4.0.xsd
  16 + http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-4.0.xsd"
  17 + default-lazy-init="false">
  18 + <context:component-scan base-package="com.chuanqi.reading">
  19 + <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
  20 + </context:component-scan>
  21 + <!-- 数据源-->
  22 + <bean id="dataSource" class="org.apache.tomcat.jdbc.pool.DataSource" destroy-method="close">
  23 + <property name="driverClassName" value="com.mysql.jdbc.Driver" />
  24 + <property name="url" value="jdbc:mysql://119.3.81.232:3306/pinggu_db?useUnicode=true&amp;characterEncoding=UTF-8&amp;serverTimezone=GMT%2B8"/>
  25 + <property name="username" value="bronet" />
  26 + <property name="password" value="BroNet2021" />
  27 + <property name="maxActive" value="30" />
  28 + <property name="maxIdle" value="15" />
  29 + <property name="initialSize" value="5" />
  30 + <property name="validationQuery" value="SELECT 1" />
  31 + <property name="testOnBorrow" value="true" />
  32 + <property name="testOnReturn" value="true" />
  33 + <property name="testWhileIdle" value="true" />
  34 + </bean>
  35 + <!-- 会话工厂bean sqlSessionFactoryBean -->
  36 + <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
  37 + <!-- 数据源 -->
  38 + <property name="dataSource" ref="dataSource" />
  39 + <!-- 别名 -->
  40 + <property name="typeAliasesPackage" value="com.chuanqi.reading.*.entity" />
  41 + <!-- sql映射文件路径 -->
  42 + <property name="mapperLocations" value="classpath*:mapper/*.xml" />
  43 + <!-- 配置文件 -->
  44 + <property name="configLocation" value="classpath:mybatis-config.xml" />
  45 + </bean>
  46 + <!-- 自动扫描对象关系映射 -->
  47 + <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
  48 + <!--指定会话工厂,如果当前上下文中只定义了一个则该属性可省去 -->
  49 + <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />
  50 + <!-- 指定要自动扫描接口的基础包,实现接口 -->
  51 + <property name="basePackage" value="com.chuanqi.reading.*.dao" />
  52 + </bean>
  53 + <!-- 声明式事务管理 -->
  54 + <!--定义事物管理器,由spring管理事务 -->
  55 + <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
  56 + <property name="dataSource" ref="dataSource" />
  57 + </bean>
  58 + <!-- 支持注解驱动的事务管理,指定事务管理器 -->
  59 + <tx:annotation-driven transaction-manager="transactionManager"/>
  60 + <!-- aspectj支持自动代理实现AOP功能 -->
  61 + <aop:aspectj-autoproxy proxy-target-class="true" />
  62 +
  63 + <util:properties id="wxProperties" location="classpath:/wx.properties"/>
  64 +</beans>
  1 +log4j.rootLogger=INFO,consoleAppender,logfile
  2 +
  3 +log4j.appender.consoleAppender=org.apache.log4j.ConsoleAppender
  4 +log4j.appender.consoleAppender.layout=org.apache.log4j.PatternLayout
  5 +log4j.appender.consoleAppender.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %5p [%t] (%F:%L) - %m%n
  6 +
  7 +log4j.appender.logfile=org.apache.log4j.DailyRollingFileAppender
  8 +log4j.appender.logfile.File=/home/logs/pinggu.log
  9 +log4j.appender.logfile.Append =true
  10 +log4j.appender.logfile.DatePattern='.'yyyy-MM-dd
  11 +log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
  12 +log4j.appender.logfile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %5p [%t] (%F:%L) - %m%n
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3 +<!--命名空间应该是对应接口的包名+接口名 -->
  4 +<mapper namespace="com.chuanqi.reading.home.dao.CourseDao">
  5 + <sql id="queryCourseVo">
  6 + select ci.course_id id, ci.term_id termId, ci.course_name title, date_format(audit_time, '%Y-%m-%d %H:%i') dataTime, count(cg.id) dataCount, NOT ISNULL(t.articleStatus) articleStatus
  7 + from course_info ci
  8 + left join (select distinct i.course_id, 1 articleStatus from course_info i
  9 + join( select course_id from course_relation group by course_id having count(question_type) = 1) cr on i.course_id = cr.course_id
  10 + join course_read r on i.course_id = r.course_id and r.read_flag = '1' and r.customer_id=#{userId}) t on ci.course_id = t.course_id
  11 + left join course_progress cg on ci.course_id = cg.course_id and cg.customer_id = #{userId}
  12 + where ci.audit_status = '1' and ci.course_status = '0'
  13 + </sql>
  14 +
  15 + <select id="queryCourseList" resultType="com.chuanqi.reading.home.entity.DataSet"
  16 + parameterType="com.chuanqi.reading.home.entity.DataSet">
  17 + <!--include refid="queryCourseVo" /-->
  18 + select ci.course_id id, ci.term_id termId, ci.course_name title, date_format(audit_time, '%Y-%m-%d %H:%i') dataTime, count(cg.id) dataCount, NOT ISNULL(t.articleStatus) articleStatus
  19 + from course_info ci
  20 + left join course_progress cg on ci.course_id = cg.course_id and cg.customer_id = #{userId}
  21 + left join (select distinct i.course_id, 1 articleStatus from course_info i
  22 + join( select course_id from course_relation group by course_id having count(question_type) = 1) cr on i.course_id = cr.course_id
  23 + join course_read r on i.course_id = r.course_id and r.read_flag = '1' and r.customer_id=#{userId}) t on ci.course_id = t.course_id
  24 + where ci.audit_status = '1' and ci.course_status = '0'
  25 + and term_id = #{termId} group by ci.course_id order by sticky_status desc, dataCount, audit_time desc LIMIT #{startIndex},5
  26 + </select>
  27 +
  28 + <select id="queryCourseById" resultType="com.chuanqi.reading.home.entity.CourseInfo"
  29 + parameterType="long" >
  30 + select course_id id, course_name name, term_id termId, course_num num, release_status resultStatus, ifnull(passing_Score,0) passingScore from course_info where course_id = #{id}
  31 + </select>
  32 +
  33 + <select id="queryCourseListByRead" resultType="com.chuanqi.reading.home.entity.DataSet"
  34 + parameterType="com.chuanqi.reading.home.entity.DataSet">
  35 + select ci.course_id id, ci.term_id termId, ci.course_name name, audit_time dateTime, count(cg.id) dataCount, NOT ISNULL(t.articleStatus) articleStatus
  36 + from course_info ci
  37 + left join course_progress cg on ci.course_id = cg.course_id
  38 + left join (select distinct i.course_id, 1 articleStatus from course_info i
  39 + join( select course_id from course_relation group by course_id having count(question_type) = 1) cr on i.course_id = cr.course_id
  40 + join course_read r on i.course_id = r.course_id and r.read_flag = '1' and r.customer_id=#{userId}) t on ci.course_id = t.course_id
  41 + where ci.audit_status = '1' and ci.course_status = '0'
  42 + and ci.term_id in(
  43 + select term_id from course_term_student where user_id = #{userId}
  44 + ) and cg.customer_id = #{userId}
  45 + group by ci.course_id order by audit_time desc
  46 + </select>
  47 +
  48 + <!--查询指定用户已读文章(包含无题目文章和已读不一定答题文章)-->
  49 + <select id="queryCourseListByOnlyRead" resultType="com.chuanqi.reading.home.entity.CourseInfo"
  50 + parameterType="com.chuanqi.reading.home.entity.SysUser">
  51 + SELECT course_id id, course_name NAME FROM course_info WHERE course_id IN (
  52 + SELECT DISTINCT course_id FROM course_read WHERE customer_id=#{userId} AND course_id IN (
  53 + SELECT course_id FROM course_info ci WHERE ci.audit_status = '1' AND ci.course_status = '0'
  54 + AND (ci.term_id IN (SELECT term_id FROM course_term_student WHERE user_id = #{userId}) OR ci.term_id &lt;0)))
  55 + ORDER BY audit_time DESC
  56 + </select>
  57 +
  58 + <!--获取没有题目的文章阅读的记录-->
  59 + <select id="queryByOnlyRead" resultType="com.chuanqi.reading.home.entity.CourseRead" parameterType="java.util.Map">
  60 + SELECT id, course_id courseId, category_id categoryId,customer_id customerId, begin_time beginTime, end_time endTime,TIMEDIFF(end_time, begin_time) readFlag
  61 + FROM course_read WHERE course_id=#{courseId} AND customer_id=#{userId} AND read_flag=1 order by endTime desc
  62 + </select>
  63 +
  64 + <!--获得所有文章按照课程id -->
  65 + <select id="queryArticle" resultType="com.chuanqi.reading.home.entity.Article" parameterType="java.util.Map">
  66 + SELECT ca.article_id id, ca.article_title title, ca.article_content content, ca.article_time time,
  67 + ca.classify_id classifyId, ca.article_label articleLabel
  68 + from course_article ca
  69 + where article_id in (
  70 + SELECT question_id FROM course_relation
  71 + where course_id = #{id} and category_id = 1 and classify_id = #{classify}
  72 + )LIMIT 1
  73 + </select>
  74 +
  75 + <!--获得所有题目查询-->
  76 + <select id="queryQuestions" resultType="com.chuanqi.reading.home.entity.Question" parameterType="java.util.Map">
  77 + select cc.choice_id id,cr.id relationId,cc.choice_question question,cc.optionA,cc.optionB,cc.optionC,cc.optionD,
  78 + cc.optionE, cc.optionF, cc.optionG, cc.optionH, cc.optionI, cc.choice_answer answer,
  79 + support_answer support,cc.choice_explain `explain`,cr.category_id categoryId,'choice' type ,cc.choice_score score
  80 + from course_relation cr LEFT JOIN course_choice cc on cr.question_id = cc.choice_id where cr.question_type = 'choice' and cr.course_id = #{id}
  81 + union
  82 + select cf.fill_id id,cr.id relationId,cf.fill_question question,null optionA,null optionB,null optionC,null optionD,
  83 + null optionE, null optionF, null optionG, null optionH, null optionI, cf.fill_answer answer,
  84 + support_answer support,cf.fill_explain `explain`,cr.category_id categoryId,'fill' type ,cf.fill_score score
  85 + from course_relation cr LEFT JOIN course_fill cf on cr.question_id = cf.fill_id where cr.question_type = 'fill' and cr.course_id = #{id}
  86 + union
  87 + select cj.judge_id id,cr.id relationId,cj.judge_question question,null optionA,null optionB,null optionC,null optionD,
  88 + null optionE, null optionF, null optionG, null optionH, null optionI, cj.judge_answer answer,
  89 + null support,cj.judge_explain `explain`,cr.category_id categoryId,'judge' type ,cj.judge_score score
  90 + from course_relation cr LEFT JOIN course_judge cj on cr.question_id = cj.judge_id where cr.question_type = 'judge' and cr.course_id = #{id}
  91 + ORDER BY relationId/*categoryId,type,question_sort*/
  92 + </select>
  93 +
  94 + <insert id="saveCourseRead" parameterType="com.chuanqi.reading.home.entity.CourseRead" useGeneratedKeys="true"
  95 + keyProperty="id">
  96 + insert into course_read(course_id,category_id,customer_id,begin_time,end_time,read_flag)
  97 + values (#{courseId},#{categoryId},#{customerId},#{beginTime},#{endTime},#{readFlag})
  98 + </insert>
  99 + <!--更新阅读记录-->
  100 + <update id="updateCourseRead" parameterType="com.chuanqi.reading.home.entity.CourseRead">
  101 + update course_read set end_time = #{endTime}, read_flag = #{readFlag} where id = ${id}
  102 + </update>
  103 + <!--保存完progress记录时,更新阅读记录-->
  104 + <update id="updateCourseReadProgress" parameterType="java.util.Map">
  105 + update course_read set progress_id = #{progressId}, read_flag = 1 where id in(${ids})
  106 + </update>
  107 +
  108 + <insert id="saveCourseProgress" parameterType="com.chuanqi.reading.home.entity.CourseProgress"
  109 + useGeneratedKeys="true" keyProperty="id">
  110 + insert into course_progress(course_id, customer_id, lookback_num, lookback_time, read_time, answer_rate,
  111 + course_status, create_time, begin_time, answer_score, exam_total, answer_right)
  112 + values (#{courseId}, #{customerId}, #{lookbackNum}, #{lookbackTime}, #{readTime}, #{answerRate},
  113 + #{courseStatus}, #{createTime}, #{beginTime}, #{answerScore}, #{examTotal}, #{answerRight})
  114 + </insert>
  115 +
  116 + <select id="queryCourseProgress" resultType="com.chuanqi.reading.home.entity.CourseProgress" parameterType="java.util.Map">
  117 + select id, course_id, customer_id, lookback_num lookbackNum, lookback_time lookbackTime, answer_rate answerRate,
  118 + read_time readTime, course_status courseStatus, create_Time createTime
  119 + from course_progress
  120 + where course_id = ${courseId} and customer_id = #{userId} order by createTime
  121 + </select>
  122 +
  123 + <insert id="saveCourseAnswer">
  124 + insert into course_answer(progress_id, relation_id, customer_id, answer, right_num) values
  125 + <foreach item="item" index="index" collection="list" separator=",">
  126 + (#{item.progressId}, #{item.relationId}, #{item.customerId}, #{item.answer}, #{item.rightNum})
  127 + </foreach>
  128 + </insert>
  129 +
  130 + <!--查询公开试卷-->
  131 + <select id="queryOpenCourse" resultType="com.chuanqi.reading.home.entity.DataSet"
  132 + parameterType="com.chuanqi.reading.home.entity.DataSet">
  133 + <include refid="queryCourseVo" />
  134 + and term_id = -100 and course_num = #{id} <!-- course_num主题编号 -->
  135 + group by ci.course_id order by sticky_status desc, dataCount, audit_time desc LIMIT #{startIndex},5
  136 + </select>
  137 +
  138 + <!--查询用户所属培训班-->
  139 + <select id="queryUserTermList" resultType="com.chuanqi.reading.home.entity.DataSet"
  140 + parameterType="com.chuanqi.reading.home.entity.DataSet">
  141 + SELECT id, title, content, userId FROM (
  142 + /*##查询自己所属层级单位的所有培训班信息*/
  143 + SELECT a.term_id id, term_title title, begin_date, CONCAT(begin_date, ' ~ ', end_date) content, user_id userId FROM course_term a
  144 + LEFT JOIN course_term_student b ON a.term_id = b.term_id AND b.status='0' AND b.user_id=#{userId}
  145 + WHERE dept_id IN (SELECT dept_id FROM sys_dept WHERE FIND_IN_SET(#{id}, ancestors)>0 OR dept_id IN(#{id},101))
  146 + AND a.term_status='0' /*AND CURRENT_DATE BETWEEN begin_date AND end_date*/
  147 + /*##查询自己所在培训班但是该班级不在所属机构下*/
  148 + UNION
  149 + SELECT t.term_id id, term_title title, begin_date, CONCAT(begin_date, ' ~ ', end_date) content, user_id userId
  150 + FROM course_term_student ts ,course_term t
  151 + WHERE ts.term_id=t.term_id AND ts.user_id=#{userId}
  152 + AND t.term_status='0' /*AND CURRENT_DATE BETWEEN begin_date AND end_date*/
  153 + AND t.dept_id NOT IN (SELECT dept_id FROM sys_dept WHERE FIND_IN_SET(#{id}, ancestors)>0)
  154 + ) temp ORDER BY userId DESC, begin_date LIMIT #{startIndex},5
  155 + </select>
  156 +
  157 + <select id="queryTermById" resultType="com.chuanqi.reading.home.entity.DataSet" parameterType="long">
  158 + SELECT term_id id, term_title title FROM course_term WHERE term_id = #{termId}
  159 + </select>
  160 +
  161 + <sql id="queryMediaVo">
  162 + SELECT media_id id, media_name title, media_desc content, media_link remark, media_image search,
  163 + date_format(ifnull(update_time, create_time), '%Y-%m-%d %H:%i') dataTime
  164 + FROM course_media
  165 + </sql>
  166 + <select id="queryMediaList" resultType="com.chuanqi.reading.home.entity.DataSet"
  167 + parameterType="com.chuanqi.reading.home.entity.DataSet">
  168 + <include refid="queryMediaVo" />
  169 + WHERE media_status='0' and theme_id=#{id} ORDER BY media_num LIMIT #{startIndex},5
  170 + </select>
  171 +
  172 + <select id="queryMediaById" resultType="com.chuanqi.reading.home.entity.DataSet" parameterType="long">
  173 + <include refid="queryMediaVo" />
  174 + WHERE media_id = #{mediaId}
  175 + </select>
  176 +
  177 + <select id="queryThemeList" resultType="com.chuanqi.reading.home.entity.DataSet"
  178 + parameterType="com.chuanqi.reading.home.entity.DataSet">
  179 + SELECT theme_id id, theme_name title FROM course_theme
  180 + WHERE theme_status='0' and theme_type=#{remark} ORDER BY theme_num LIMIT #{startIndex},5
  181 + </select>
  182 +
  183 + <select id="queryThemeById" resultType="com.chuanqi.reading.home.entity.DataSet" parameterType="long">
  184 + SELECT theme_id id, theme_name title FROM course_theme WHERE theme_id = #{themeId}
  185 + </select>
  186 + <!-- 统计培训班个数 -->
  187 + <select id="getClassCount" resultType="int">
  188 + SELECT COUNT(DISTINCT term_id) FROM course_term
  189 + </select>
  190 + <!-- 统计培训学员个数 -->
  191 + <select id="getStudentCount" resultType="int">
  192 + SELECT COUNT(DISTINCT user_id) FROM course_term_student
  193 + </select>
  194 + <!-- 统计培训部门下的培训班和班级人数 -->
  195 + <select id="getTermListByDeptId" parameterType="long" resultType="com.chuanqi.reading.home.entity.Term">
  196 + SELECT theme_id termId, theme_name termTitle, 0 userSum, '2019-01-01' begin_date FROM course_theme WHERE theme_type=1
  197 + UNION ALL
  198 + SELECT t.term_id termId, term_title termTitle, IFNULL(user_count, 0) userSum, begin_date FROM course_term t
  199 + LEFT JOIN (SELECT term_id, COUNT(user_id) user_count FROM course_term_student GROUP BY term_id) ts
  200 + ON t.term_id=ts.term_id WHERE term_status=0 ORDER BY begin_date <!-- AND t.dept_id=#{deptId} -->
  201 + </select>
  202 + <!-- 根据班级ID查询班级信息 -->
  203 + <select id="getTermById" parameterType="long" resultType="com.chuanqi.reading.home.entity.Term">
  204 + SELECT term_id termId, term_title termTitle FROM course_term WHERE term_id=#{termId}
  205 + </select>
  206 + <!--查询个人明细-公共培训-->
  207 + <select id="queryPublicDetailForList" parameterType="java.util.Map" resultType="com.chuanqi.reading.home.entity.Details">
  208 + SELECT t1.course_id courseId, ci.course_name courseName, DATE_FORMAT(t1.begin_time, '%Y-%m-%d %H:%i:%s') beginTime,
  209 + useTime, answer_rate answerRate FROM (
  210 + SELECT course_id,begin_time, TIMEDIFF(create_time, begin_time) useTime, answer_rate FROM course_progress
  211 + WHERE course_id IN (SELECT course_id FROM course_info WHERE term_id &lt; 0) AND customer_id=#{userId}
  212 + UNION ALL
  213 + SELECT course_id, begin_time, TIMEDIFF(end_time, begin_time) useTime,'-' AS answer_rate FROM course_read
  214 + WHERE course_id IN (SELECT course_id FROM course_info WHERE term_id &lt; 0) AND read_flag=1 AND customer_id=#{userId}
  215 + ) t1 , course_info ci WHERE t1.course_id=#{courseId} and ci.course_id = #{courseId} ORDER BY t1.begin_time DESC LIMIT #{startIndex},5
  216 + </select>
  217 + <!--查询个人-专项培训-->
  218 + <select id="queryTermSpecialForList" parameterType="java.util.Map" resultType="com.chuanqi.reading.home.entity.Term">
  219 + select t.term_id termId, term_title termTitle
  220 + from course_term t
  221 + where exists(select * from course_read r inner join
  222 + course_info i on i.course_id=r.course_id and r.customer_id=#{userId} inner join
  223 + course_progress p on r.progress_id=p.id and r.read_flag=1 and p.customer_id = #{userId}
  224 + where i.term_id = t.term_id ) OR
  225 + exists(select * from course_read cr inner join
  226 + v_course_article v on cr.course_id = v.course_id and cr.customer_id = #{userId} and cr.read_flag = 1 where t.term_id =v.term_id)
  227 + order by t.begin_date desc LIMIT #{startIndex},5
  228 + </select>
  229 + <!--查询个人明细专项培训-->
  230 + <select id="querySpecialDetailForList" parameterType="java.util.Map" resultType="com.chuanqi.reading.home.entity.Details">
  231 + SELECT t1.course_id courseId, ci.course_name courseName, DATE_FORMAT(t1.begin_time, '%Y-%m-%d %H:%i:%s') beginTime,
  232 + useTime, answer_rate answerRate FROM (
  233 + SELECT course_id,begin_time, TIMEDIFF(create_time, begin_time) useTime, answer_rate FROM course_progress
  234 + WHERE course_id = #{courseId} and course_id IN (SELECT course_id FROM course_info WHERE term_id &gt; 0 ) AND customer_id=#{userId}
  235 + UNION ALL
  236 + SELECT course_id, begin_time, TIMEDIFF(end_time, begin_time) useTime,'-' AS answer_rate FROM course_read
  237 + WHERE course_id NOT IN (SELECT course_id FROM course_info WHERE term_id &lt; 0)
  238 + AND course_id NOT IN (SELECT DISTINCT course_id FROM course_progress WHERE customer_id=#{userId})
  239 + AND read_flag=1 AND customer_id=#{userId} and course_id = #{courseId}
  240 + ) t1 , course_info ci WHERE t1.course_id=ci.course_id and ci.term_id= #{termId} ORDER BY t1.begin_time DESC LIMIT #{startIndex},7
  241 + </select>
  242 + <!--查询个人概况-时长、篇数、成绩:按照当天最高算-->
  243 + <select id="queryPersonalLogForList" parameterType="long" resultType="com.chuanqi.reading.home.entity.DataSet">
  244 + SELECT DATE_FORMAT(dataTime, '%m-%d') AS dataTime, termId, dataCount, search FROM (
  245 + SELECT DATE_FORMAT(begin_time, '%Y-%m-%d') dataTime,
  246 + SUM(TIMESTAMPDIFF(SECOND,begin_time,create_time)) termId,
  247 + COUNT(customer_id) dataCount,
  248 + MAX(CONVERT(answer_rate,DECIMAL(5,2))) search
  249 + FROM course_progress WHERE customer_id=#{0} GROUP BY dataTime ORDER BY dataTime DESC
  250 + ) t ORDER BY dataTime LIMIT #{startIndex}, 5
  251 + </select>
  252 + <select id="getSpecialTermCourseSumById" parameterType="long" resultType="com.chuanqi.reading.home.entity.TermCourse">
  253 + SELECT i.term_id termId, count(*) courseNum,
  254 + CONCAT(SUM(TIMESTAMPDIFF(SECOND, r.begin_time, IFNULL(p.create_time, r.end_time))) div 60, ':', LPAD(SUM(TIMESTAMPDIFF(SECOND, r.begin_time, IFNULL(p.create_time, r.end_time))) mod 60, 2, '0')) TimeTotal
  255 + FROM course_read r
  256 + INNER JOIN course_info i ON r.course_id = i.course_id AND i.term_id = #{termId}
  257 + LEFT JOIN course_progress p on p.course_id = r.course_id and p.customer_id = #{userId} and r.progress_Id=p.Id
  258 + LEFT JOIN v_course_article v ON v.course_id = r.course_id
  259 + WHERE r.customer_id = #{userId} and r.read_flag = 1 and (r.progress_id IS NOT NULL or v.course_name is not null)
  260 + GROUP BY i.term_id
  261 + </select>
  262 + <!--查询个人概况- 专项培训 完成的课程列表-->
  263 + <select id="getSpecialTermCourseList" parameterType="long" resultType="com.chuanqi.reading.home.entity.CourseInfo">
  264 + SELECT ci.course_id id, ci.course_name name, ci.course_num num, ci.term_id termId
  265 + from course_info ci where ci.term_Id=#{termId} and
  266 + (exists(select * from v_course_article ca inner join
  267 + course_read cr on ca.course_id = cr.course_id and cr.read_flag = 1 and cr.customer_id = #{userId} where ci.course_id=cr.course_id) OR
  268 + exists(select * from course_read r inner join
  269 + course_progress cp on r.progress_id = cp.id and r.read_flag = 1 and r.customer_id = #{userId} where ci.course_id=r.course_id ))
  270 +
  271 + </select>
  272 + <!--查询个人概况- 公开培训 主题列表-->
  273 + <select id="getPubThemeList" parameterType="long" resultType="com.chuanqi.reading.home.entity.Theme">
  274 + select ct.theme_id themeId, ct.theme_name themeName
  275 + from course_theme ct
  276 + where exists(select * from course_info ci inner join course_read cr on ci.course_id = cr.course_id and cr.customer_id = #{userId} and cr.read_flag = 1
  277 + where ci.course_num = ct.theme_id and ci.term_id &lt; 0 )
  278 + </select>
  279 + <select id="getPubThemeById" parameterType="long" resultType="com.chuanqi.reading.home.entity.Theme">
  280 + select ct.theme_id themeId, ct.theme_name themeName
  281 + from course_theme ct where ct.theme_id = #{themeId}
  282 + </select>
  283 + <select id="getPubThemeCourseSumById" parameterType="long" resultType="com.chuanqi.reading.home.entity.ThemeCourse">
  284 + SELECT ci.course_num themeId, count(*) AS courseNum,
  285 + CONCAT(SUM(TIMESTAMPDIFF(SECOND, cr.begin_time, IFNULL(p.create_time, cr.end_time))) div 60,':', LPAD(SUM(TIMESTAMPDIFF(SECOND, cr.begin_time, IFNULL(p.create_time, cr.end_time))) mod 60, 2, '0')) TimeTotal
  286 + FROM course_read cr INNER JOIN course_info ci ON cr.course_id = ci.course_id AND ci.term_id &lt; 0 LEFT JOIN
  287 + v_course_article va ON cr.course_id = va.course_id LEFT JOIN course_progress p ON p.course_id = cr.course_id AND p.customer_id = #{userId} AND cr.progress_Id = p.Id
  288 + WHERE cr.customer_id = #{userId} AND cr.read_flag = 1 AND ci.course_num = #{themeId}
  289 + AND (cr.progress_id IS NOT NULL OR va.course_name IS NOT NULL)
  290 + GROUP BY course_num
  291 + </select>
  292 + <select id="getPubThemeCourseList" parameterType="long" resultType="com.chuanqi.reading.home.entity.CourseInfo">
  293 + select ci.course_id id, ci.course_name name, ci.course_num themeId
  294 + from course_info ci
  295 + where ci.course_num = #{themeId} and ci.term_id &lt; 0 and
  296 + exists(select * from course_read cr left join v_course_article va on cr.course_id = va.course_id
  297 + where cr.customer_id = #{userId} and cr.read_flag = 1 and (NOT ISNULL(cr.progress_id) or NOT ISNULL(va.course_name)) and cr.course_id =ci.course_id)
  298 + </select>
  299 +</mapper>
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3 +<!--命名空间应该是对应接口的包名+接口名 -->
  4 +<mapper namespace="com.chuanqi.reading.home.dao.SysDeptDao">
  5 + <!--查询部门信息 SUBSTRING去除0,100,的父级节点-->
  6 + <select id="queryDeptById" resultType="com.chuanqi.reading.home.entity.SysDept" parameterType="long">
  7 + SELECT dept_id deptId, parent_id parentId, SUBSTRING(sys_dept.ancestors, 7) ancestors, dept_name deptName, order_num FROM sys_dept
  8 + WHERE dept_id = #{deptId}
  9 + </select>
  10 +
  11 + <!--查询部门祖级列表信息-->
  12 + <select id="queryDeptAncestors" resultType="String" parameterType="map">
  13 + select GROUP_CONCAT(dept_name) from sys_dept where dept_id in (${deptIds})
  14 + </select>
  15 +
  16 + <!--查询父节点下的子节点-->
  17 + <select id="queryDeptByParentId" resultType="com.chuanqi.reading.home.entity.SysDept" parameterType="long">
  18 + SELECT dept_id deptId, parent_id parentId, dept_name deptName FROM sys_dept
  19 + WHERE status='0' and del_flag='0' and parent_id = #{deptId} ORDER BY order_num
  20 + </select>
  21 + <!--查询一级部门和其下属班级以及汇总各班级人数-->
  22 + <select id="selectDeptListByPId" resultType="com.chuanqi.reading.home.entity.SysDept" parameterType="long">
  23 + SELECT d.dept_id deptId, dept_name deptName, IFNULL(class_count, 0) ancestors , IFNULL(user_num,0) orderNum
  24 + FROM sys_dept d LEFT JOIN (SELECT dept_id, COUNT(dept_id) class_count FROM course_term GROUP BY dept_id) t
  25 + ON d.dept_id=t.dept_id
  26 + LEFT JOIN (
  27 + SELECT dept_id, SUM(IFNULL(user_count,0)) user_num FROM course_term term
  28 + LEFT JOIN (SELECT term_id, COUNT(user_id) user_count FROM course_term_student GROUP BY term_id) ts
  29 + ON term.term_id=ts.term_id GROUP BY dept_id
  30 + ) temp ON t.dept_id=temp.dept_id
  31 + WHERE d.parent_id=#{deptId} AND d.dept_id>0 AND d.del_flag = '0' AND d.STATUS = 0 AND class_count>0 ORDER BY d.order_num
  32 + </select>
  33 +</mapper>
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3 +<!--命名空间应该是对应接口的包名+接口名 -->
  4 +<mapper namespace="com.chuanqi.reading.home.dao.SysUserDao">
  5 + <select id="queryUser" parameterType="com.chuanqi.reading.home.entity.SysUser" resultType="com.chuanqi.reading.home.entity.SysUser">
  6 + select user_id userId, dept_id deptId, login_name loginName, user_name userName, open_id openId from sys_user
  7 + where del_flag='0' and status='0'
  8 + <if test="userId != null and userId !=0">
  9 + AND user_id=#{userId}
  10 + </if>
  11 + </select>
  12 + <!--登录查询用户信息-->
  13 + <select id="queryUserByLogin" resultType="com.chuanqi.reading.home.entity.SysUser"
  14 + parameterType="com.chuanqi.reading.home.entity.SysUser">
  15 + select user_id userId, login_name loginName, user_name userName, open_id openId from sys_user
  16 + where del_flag='0' and status='0' and phonenumber=#{phonenumber}
  17 + </select>
  18 + <!--登录查询用户信息-->
  19 + <select id="queryUserByOpenId" resultType="com.chuanqi.reading.home.entity.SysUser" parameterType="String">
  20 + select user_id userId, dept_id deptId, user_name userName, email, phonenumber, sex,
  21 + open_id openId, nick_name nickName, wx_avatar wxAvatar,
  22 + status, login_date loginDate from sys_user
  23 + where del_flag='0' and status='0' and open_id=#{0}
  24 + </select>
  25 + <!--更新用户登录信息-->
  26 + <update id="updateUserByUserId" parameterType="com.chuanqi.reading.home.entity.SysUser">
  27 + update sys_user
  28 + <set>
  29 + <if test="openId != null and openId != ''">open_id = #{openId},</if>
  30 + <if test="nickName != null and nickName != ''">nick_name = #{nickName},</if>
  31 + <if test="wxAvatar != null and wxAvatar != ''">wx_avatar = #{wxAvatar},</if>
  32 + <if test="loginIp != null and loginIp != ''">login_ip = #{loginIp},</if>
  33 + login_date = sysdate()
  34 + </set>
  35 + where user_id = #{userId}
  36 + </update>
  37 + <!--更新用户部门信息-->
  38 + <update id="updateDeptByUserId" parameterType="com.chuanqi.reading.home.entity.SysUser">
  39 + update sys_user set dept_id = #{deptId} where user_id = #{userId}
  40 + </update>
  41 + <!--更新用户OpenId-->
  42 + <update id="updateOpenIdByUserId" parameterType="com.chuanqi.reading.home.entity.SysUser">
  43 + update sys_user set open_id = #{openId} where user_id = #{userId}
  44 + </update>
  45 + <!--新增用户信息-->
  46 + <insert id="insertUser" parameterType="com.chuanqi.reading.home.entity.SysUser" useGeneratedKeys="true" keyProperty="userId">
  47 + insert into sys_user(login_name, user_name, phonenumber, open_id, user_type, create_time)
  48 + values (#{loginName}, #{userName}, #{phonenumber}, #{openId}, '11', sysdate())
  49 + </insert>
  50 + <!--查询班级学员-->
  51 + <select id="queryUserByTermId" parameterType="long" resultType="com.chuanqi.reading.home.entity.SysUser">
  52 + SELECT s.user_id userId,s.user_name userName FROM course_term_student stu LEFT JOIN sys_user s ON stu.user_id=s.user_id
  53 + WHERE term_id=#{termId}
  54 + </select>
  55 + <!-- 插入用户签到打卡信息 -->
  56 + <insert id="insertUserLocation" parameterType="com.chuanqi.reading.home.entity.Location" useGeneratedKeys="true"
  57 + keyProperty="id">
  58 + insert into sys_user_location(user_id, term_id, latitude, longitude, state, create_time)
  59 + values (#{userId}, #{termId}, #{latitude}, #{longitude}, #{state}, sysdate())
  60 + </insert>
  61 +</mapper>
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3 +<!--命名空间应该是对应接口的包名+接口名 -->
  4 +<mapper namespace="com.chuanqi.reading.home.dao.SystemDao">
  5 + <!--查询数据字典表 -->
  6 + <select id="queryDictData" resultType="java.util.Map" parameterType="java.util.Map">
  7 + select dict_value value,
  8 + dict_label label,
  9 + remark
  10 + from sys_dict_data
  11 + where dict_type = #{type}
  12 + and status = '0'
  13 + ORDER BY dict_sort
  14 + </select>
  15 +</mapper>
  1 +sys.title=\u5feb\u6613\u8bad\u57f9\u8bad\u6f14\u793a\u5e73\u53f0
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
  3 +<configuration>
  4 + <settings>
  5 + <!-- 打印查询语句 -->
  6 + <setting name="logImpl" value="STDOUT_LOGGING" />
  7 + </settings>
  8 +</configuration>
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3 + xmlns:tx="http://www.springframework.org/schema/tx" xmlns:context="http://www.springframework.org/schema/context"
  4 + xmlns:aop="http://www.springframework.org/schema/aop" xmlns:p="http://www.springframework.org/schema/p"
  5 + xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:jpa="http://www.springframework.org/schema/data/jpa"
  6 + xmlns:util="http://www.springframework.org/schema/util" xmlns:cache="http://www.springframework.org/schema/cache"
  7 + xmlns:task="http://www.springframework.org/schema/task"
  8 + xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
  9 + http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
  10 + http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
  11 + http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd
  12 + http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
  13 + http://www.springframework.org/schema/data/jpa http://www.springframework.org/schema/data/jpa/spring-jpa.xsd
  14 + http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd
  15 + http://www.springframework.org/schema/cache http://www.springframework.org/schema/cache/spring-cache-4.0.xsd
  16 + http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-4.0.xsd"
  17 + default-lazy-init="false">
  18 + <context:component-scan base-package="com.chuanqi.reading">
  19 + <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
  20 + </context:component-scan>
  21 + <!-- 数据源-->
  22 + <bean id="dataSource" class="org.apache.tomcat.jdbc.pool.DataSource" destroy-method="close">
  23 + <property name="driverClassName" value="com.mysql.jdbc.Driver" />
  24 + <property name="url" value="jdbc:mysql://119.3.81.232:3306/pinggu_db?useUnicode=true&amp;characterEncoding=UTF-8&amp;serverTimezone=GMT%2B8"/>
  25 + <property name="username" value="bronet" />
  26 + <property name="password" value="BroNet2021" />
  27 + <property name="maxActive" value="30" />
  28 + <property name="maxIdle" value="15" />
  29 + <property name="initialSize" value="5" />
  30 + <property name="validationQuery" value="SELECT 1" />
  31 + <property name="testOnBorrow" value="true" />
  32 + <property name="testOnReturn" value="true" />
  33 + <property name="testWhileIdle" value="true" />
  34 + </bean>
  35 + <!-- 会话工厂bean sqlSessionFactoryBean -->
  36 + <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
  37 + <!-- 数据源 -->
  38 + <property name="dataSource" ref="dataSource" />
  39 + <!-- 别名 -->
  40 + <property name="typeAliasesPackage" value="com.chuanqi.reading.*.entity" />
  41 + <!-- sql映射文件路径 -->
  42 + <property name="mapperLocations" value="classpath*:mapper/*.xml" />
  43 + <!-- 配置文件 -->
  44 + <property name="configLocation" value="classpath:mybatis-config.xml" />
  45 + </bean>
  46 + <!-- 自动扫描对象关系映射 -->
  47 + <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
  48 + <!--指定会话工厂,如果当前上下文中只定义了一个则该属性可省去 -->
  49 + <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />
  50 + <!-- 指定要自动扫描接口的基础包,实现接口 -->
  51 + <property name="basePackage" value="com.chuanqi.reading.*.dao" />
  52 + </bean>
  53 + <!-- 声明式事务管理 -->
  54 + <!--定义事物管理器,由spring管理事务 -->
  55 + <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
  56 + <property name="dataSource" ref="dataSource" />
  57 + </bean>
  58 + <!-- 支持注解驱动的事务管理,指定事务管理器 -->
  59 + <tx:annotation-driven transaction-manager="transactionManager"/>
  60 + <!-- aspectj支持自动代理实现AOP功能 -->
  61 + <aop:aspectj-autoproxy proxy-target-class="true" />
  62 +
  63 + <util:properties id="wxProperties" location="classpath:/wx.properties"/>
  64 +</beans>
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<beans xmlns="http://www.springframework.org/schema/beans"
  3 + xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4 + xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context"
  5 + xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
  6 + http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
  7 + http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">
  8 + <!-- <context:property-placeholder location="classpath:config.properties" ignore-unresolvable="true"/> -->
  9 + <mvc:annotation-driven />
  10 + <mvc:default-servlet-handler /><!--spring默认Servlet-->
  11 + <context:component-scan base-package="com.chuanqi.reading.*.control" />
  12 + <mvc:interceptors>
  13 + <mvc:interceptor>
  14 + <mvc:mapping path="/**"/>
  15 + <mvc:exclude-mapping path="/resource/**"/>
  16 + <mvc:exclude-mapping path="/login/**"/>
  17 + <mvc:exclude-mapping path="/check"/>
  18 + <mvc:exclude-mapping path="/core"/>
  19 + <mvc:exclude-mapping path="/MP_verify_gYyg01S75mxBaAI4.txt"/>
  20 + <bean class="com.chuanqi.reading.wechat.interceptor.WeChatInterceptor"/>
  21 + </mvc:interceptor>
  22 + </mvc:interceptors>
  23 + <!-- json乱码转换器 -->
  24 + <bean id="mappingJacksonHttpMessageConverter"
  25 + class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
  26 + <property name="supportedMediaTypes">
  27 + <list>
  28 + <value>text/html;charset=UTF-8</value>
  29 + <value>application/json;charset=UTF-8</value>
  30 + </list>
  31 + </property>
  32 + </bean>
  33 + <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"
  34 + p:ignoreDefaultModelOnRedirect="true">
  35 + <property name="cacheSeconds" value="0" />
  36 + <property name="messageConverters">
  37 + <list>
  38 + <ref bean="mappingJacksonHttpMessageConverter" />
  39 + </list>
  40 + </property>
  41 + </bean>
  42 +
  43 + <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" p:contentType="text/html"
  44 + p:prefix="/WEB-INF/view/" p:suffix=".jsp" p:viewClass="org.springframework.web.servlet.view.JstlView" />
  45 +
  46 + <mvc:resources mapping="/resource/**" location="/resource/" />
  47 +
  48 + <bean id="localeResolver" class="org.springframework.web.servlet.i18n.FixedLocaleResolver">
  49 + <property name="defaultLocale" value="zh_CN" />
  50 + </bean>
  51 +
  52 + <!-- 资源文件绑定 -->
  53 + <bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
  54 + <property name="basename" value="messages" />
  55 + <property name="defaultEncoding" value="UTF-8" />
  56 + <property name="useCodeAsDefaultMessage" value="true" />
  57 + </bean>
  58 +
  59 + <!-- 国际化请求拦截器处理 -->
  60 + <!--<mvc:interceptors>
  61 + <bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor" />
  62 + </mvc:interceptors> -->
  63 +
  64 + <!-- 异常处理类 -->
  65 + <bean id="exceptionHandler" class="com.chuanqi.reading.wechat.handler.ExceptionHandler" />
  66 +
  67 + <!-- 系统错误转发配置[并记录错误日志] -->
  68 + <bean
  69 + class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
  70 + <property name="defaultErrorView" value="error" />
  71 + <property name="defaultStatusCode" value="500" /><!-- 默认为500,系统错误(error.jsp) -->
  72 + <property name="statusCodes"><!-- 配置多个statusCode -->
  73 + <props>
  74 + <prop key="500">500</prop> <!-- 500.jsp -->
  75 + <prop key="404">404</prop> <!-- 404.jsp -->
  76 + </props>
  77 + </property>
  78 + </bean>
  79 +
  80 + <!-- 文件上传 -->
  81 + <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"
  82 + p:defaultEncoding="UTF-8" >
  83 + <property name="maxUploadSize" value="104857600" />
  84 + <property name="maxInMemorySize" value="4096" />
  85 + </bean>
  86 + </beans>
  1 +##\u516C\u4F17\u53F7 APP_ID
  2 +#appId=wxf73d6679eb44ec74
  3 +##\u516C\u4F17\u53F7 APP_SECRET
  4 +#appSecret=96255e3d8bbdac52023d3b564c8c2067
  5 +##\u516C\u4F17\u53F7 TOKEN
  6 +#token=QU7J21Sf2xsS9odeIO19OsoXosX92jqJ
  7 +##\u516C\u4F17\u53F7 AES_KEY
  8 +#aesKey=
  9 +
  10 +#domain=peixunpingtai.youngmakers.cn
  11 +#template=nlq3zgR9CMvIxBPP-6xsuGYjRxHOP45ZBRs7YZmSmY4
  12 +##domain=gmxtcs.fsygroup.com
  13 +##template=
  14 +
  15 +
  16 +appId=wxed9c28a16a30132a
  17 +appSecret=5006027484170752812a010453a12735
  18 +token=hello
  19 +aesKey=
  20 +
  21 +domain=139.129.101.173
  22 +template=0vy4c3t_eJHHyvAZVKTYivXzuKl-ZWq0w_Py6tpPjWA