|
|
@ -3,90 +3,120 @@ |
|
|
|
|
|
|
|
<mapper namespace="com.elink.esua.epdc.modules.psychology.dao.PsychologyQuestionDao"> |
|
|
|
|
|
|
|
<resultMap type="com.elink.esua.epdc.modules.psychology.entity.PsychologyQuestionEntity" id="psychologyQuestionMap"> |
|
|
|
<result property="id" column="ID"/> |
|
|
|
<result property="userId" column="USER_ID"/> |
|
|
|
<result property="userName" column="USER_NAME"/> |
|
|
|
<result property="userAvatar" column="USER_AVATAR"/> |
|
|
|
<result property="questionContent" column="QUESTION_CONTENT"/> |
|
|
|
<result property="anonymousFlag" column="ANONYMOUS_FLAG"/> |
|
|
|
<result property="psychologistId" column="PSYCHOLOGIST_ID"/> |
|
|
|
<result property="answerNum" column="ANSWER_NUM"/> |
|
|
|
<result property="displayFlag" column="DISPLAY_FLAG"/> |
|
|
|
<result property="delFlag" column="DEL_FLAG"/> |
|
|
|
<result property="revision" column="REVISION"/> |
|
|
|
<result property="createdBy" column="CREATED_BY"/> |
|
|
|
<result property="createdTime" column="CREATED_TIME"/> |
|
|
|
<result property="updatedBy" column="UPDATED_BY"/> |
|
|
|
<result property="updatedTime" column="UPDATED_TIME"/> |
|
|
|
<resultMap id="selectListUserQuestionsMap" type="com.elink.esua.epdc.dto.psychology.result.PsychologyAnswerListUserResultDTO"> |
|
|
|
<result property="id" column="ID" /> |
|
|
|
<result property="userId" column="ID" /> |
|
|
|
<result property="userName" column="ID" /> |
|
|
|
<result property="userAvatar" column="ID" /> |
|
|
|
<result property="questionContent" column="QUESTION_CONTENT" /> |
|
|
|
<result property="questionTime" column="QUESTION_TIME" /> |
|
|
|
<collection property="answerList" ofType="com.elink.esua.epdc.dto.psychology.result.PsychologyAnswerUserInfoResultDTO"> |
|
|
|
<result property="psychologistId" column="PSYCHOLOGIST_ID" /> |
|
|
|
<result property="psychologistName" column="PSYCHOLOGIST_NAME" /> |
|
|
|
<result property="answerContent" column="ANSWER_CONTENT" /> |
|
|
|
<result property="answerTime" column="ANSWER_TIME" /> |
|
|
|
</collection> |
|
|
|
</resultMap> |
|
|
|
<sql id="Base_Column_List"> |
|
|
|
ID, USER_ID, USER_NAME, USER_AVATAR, QUESTION_CONTENT, ANONYMOUS_FLAG, PSYCHOLOGIST_ID, ANSWER_NUM, |
|
|
|
DEL_FLAG, DISPLAY_FLAG, CREATED_BY, CREATED_TIME, UPDATED_BY, UPDATED_TIME |
|
|
|
</sql> |
|
|
|
<select id="listUserQuestion" resultType="com.elink.esua.epdc.dto.psychology.result.PsychologyAnswerListUserResultDTO"> |
|
|
|
|
|
|
|
<select id="selectListUserQuestions" resultMap="selectListUserQuestionsMap"> |
|
|
|
SELECT |
|
|
|
ID, USER_ID, USER_NAME, USER_AVATAR, QUESTION_CONTENT, CREATED_TIME AS QUESTION_TIME |
|
|
|
pq.ID, |
|
|
|
pq.USER_ID,pq.USER_NAME,pq.USER_AVATAR, |
|
|
|
pq.QUESTION_CONTENT, |
|
|
|
DATE_FORMAT( pq.CREATED_TIME, '%Y.%m.%d %H:%i' ) AS QUESTION_TIME, |
|
|
|
pa.PSYCHOLOGIST_ID, |
|
|
|
pa.PSYCHOLOGIST_NAME, |
|
|
|
pa.ANSWER_CONTENT, |
|
|
|
DATE_FORMAT( pa.CREATED_TIME, '%Y.%m.%d' ) AS ANSWER_TIME |
|
|
|
FROM |
|
|
|
epdc_psychology_question |
|
|
|
epdc_psychology_question pq |
|
|
|
LEFT JOIN epdc_psychology_answer pa ON pa.QUESTION_ID = pq.ID AND pa.DEL_FLAG = '0' |
|
|
|
WHERE |
|
|
|
DEL_FLAG = '0' |
|
|
|
<if test="userId != null and userId != ''"> |
|
|
|
AND USER_ID = #{userId} |
|
|
|
</if> |
|
|
|
ORDER BY |
|
|
|
CREATED_TIME DESC |
|
|
|
pq.DEL_FLAG = '0' |
|
|
|
and pq.USER_ID = #{userId} |
|
|
|
AND pq.CREATED_TIME <= STR_TO_DATE( #{timestamp}, '%Y-%m-%d %H:%i:%s' ) |
|
|
|
ORDER BY pq.CREATED_TIME DESC |
|
|
|
LIMIT #{pageIndex}, #{pageSize}; |
|
|
|
</select> |
|
|
|
|
|
|
|
<select id="listAllQuestion" resultType="com.elink.esua.epdc.dto.psychology.result.PsychologyAnswerListResultDTO"> |
|
|
|
<resultMap id="selectListAllQuestionsMap" type="com.elink.esua.epdc.dto.psychology.result.PsychologyAnswerListResultDTO"> |
|
|
|
<result property="id" column="ID" /> |
|
|
|
<result property="userId" column="ID" /> |
|
|
|
<result property="userName" column="ID" /> |
|
|
|
<result property="userAvatar" column="ID" /> |
|
|
|
<result property="questionContent" column="QUESTION_CONTENT" /> |
|
|
|
<collection property="answerList" ofType="com.elink.esua.epdc.dto.psychology.result.PsychologyAnswerInfoResultDTO"> |
|
|
|
<result property="psychologistId" column="PSYCHOLOGIST_ID" /> |
|
|
|
<result property="psychologistName" column="PSYCHOLOGIST_NAME" /> |
|
|
|
<result property="answerContent" column="ANSWER_CONTENT" /> |
|
|
|
</collection> |
|
|
|
</resultMap> |
|
|
|
|
|
|
|
<select id="selectListAllQuestions" resultMap="selectListAllQuestionsMap"> |
|
|
|
SELECT |
|
|
|
ID, USER_ID, USER_NAME, USER_AVATAR, QUESTION_CONTENT |
|
|
|
pq.ID, |
|
|
|
pq.USER_ID,pq.USER_NAME,pq.USER_AVATAR, |
|
|
|
pq.QUESTION_CONTENT, |
|
|
|
pa.PSYCHOLOGIST_ID, |
|
|
|
pa.PSYCHOLOGIST_NAME, |
|
|
|
pa.ANSWER_CONTENT |
|
|
|
FROM |
|
|
|
epdc_psychology_question |
|
|
|
epdc_psychology_question pq |
|
|
|
LEFT JOIN epdc_psychology_answer pa ON pa.QUESTION_ID = pq.ID AND pa.DEL_FLAG = '0' |
|
|
|
WHERE |
|
|
|
DEL_FLAG = '0' |
|
|
|
pq.DEL_FLAG = '0' |
|
|
|
AND pq.CREATED_TIME <= STR_TO_DATE( #{timestamp}, '%Y-%m-%d %H:%i:%s' ) |
|
|
|
ORDER BY |
|
|
|
CREATED_TIME DESC |
|
|
|
LIMIT #{pageIndex}, #{pageSize}; |
|
|
|
pq.CREATED_TIME DESC |
|
|
|
LIMIT #{pageIndex}, #{pageSize}; |
|
|
|
</select> |
|
|
|
|
|
|
|
<select id="listUnansweredQuestion" resultType="com.elink.esua.epdc.dto.psychology.result.PsychologyUnansweredResultDTO"> |
|
|
|
SELECT |
|
|
|
ID, QUESTION_CONTENT, CREATED_TIME AS QUESTION_TIME |
|
|
|
ID, QUESTION_CONTENT, DATE_FORMAT(CREATED_TIME, '%Y.%m.%d %H:%i' ) AS QUESTION_TIME |
|
|
|
FROM |
|
|
|
epdc_psychology_question |
|
|
|
epdc_psychology_question |
|
|
|
WHERE |
|
|
|
DEL_FLAG = '0' |
|
|
|
AND ANSWER_NUM = 0 |
|
|
|
<if test="designated_flag == '0' or designated_flag == 0"> |
|
|
|
AND PSYCHOLOGIST_ID = '' |
|
|
|
</if> |
|
|
|
<if test="designated_flag == '1' or designated_flag == 1"> |
|
|
|
AND PSYCHOLOGIST_ID != '' |
|
|
|
AND PSYCHOLOGIST_ID IS NOT NULL |
|
|
|
</if> |
|
|
|
ORDER BY |
|
|
|
CREATED_TIME DESC |
|
|
|
DEL_FLAG = '0' |
|
|
|
AND ANSWER_NUM = 0 |
|
|
|
AND CREATED_TIME <= STR_TO_DATE( #{timestamp}, '%Y-%m-%d %H:%i:%s' ) |
|
|
|
<choose> |
|
|
|
<when test='designatedFlag == "0"'>AND PSYCHOLOGIST_ID = ''</when> |
|
|
|
<otherwise>AND PSYCHOLOGIST_ID = #{userId}</otherwise> |
|
|
|
</choose> |
|
|
|
ORDER BY CREATED_TIME DESC |
|
|
|
LIMIT #{pageIndex}, #{pageSize}; |
|
|
|
</select> |
|
|
|
|
|
|
|
<select id="listMyQuestion" resultType="com.elink.esua.epdc.dto.psychology.result.PsychologyAnswerOfMineResultDTO"> |
|
|
|
<resultMap id="userAnsweredQuestionResultMap" type="com.elink.esua.epdc.dto.psychology.result.PsychologyAnswerOfMineResultDTO"> |
|
|
|
<result property="id" column="ID" /> |
|
|
|
<result property="questionContent" column="QUESTION_CONTENT" /> |
|
|
|
<result property="questionTime" column="QUESTION_TIME" /> |
|
|
|
<collection property="answerList" ofType="com.elink.esua.epdc.dto.psychology.result.PsychologyAnswerUserInfoResultDTO"> |
|
|
|
<result property="psychologistId" column="PSYCHOLOGIST_ID" /> |
|
|
|
<result property="psychologistName" column="PSYCHOLOGIST_NAME" /> |
|
|
|
<result property="answerContent" column="ANSWER_CONTENT" /> |
|
|
|
<result property="answerTime" column="ANSWER_TIME" /> |
|
|
|
</collection> |
|
|
|
</resultMap> |
|
|
|
|
|
|
|
<select id="selectlistAnsweredQuestion" resultMap="userAnsweredQuestionResultMap"> |
|
|
|
SELECT |
|
|
|
ID, QUESTION_CONTENT, CREATED_TIME AS QUESTION_TIME |
|
|
|
pq.ID, |
|
|
|
pq.QUESTION_CONTENT, |
|
|
|
DATE_FORMAT( pq.CREATED_TIME, '%Y.%m.%d %H:%i' ) AS QUESTION_TIME, |
|
|
|
pa.PSYCHOLOGIST_ID, |
|
|
|
pa.PSYCHOLOGIST_NAME, |
|
|
|
pa.ANSWER_CONTENT, |
|
|
|
DATE_FORMAT( pa.CREATED_TIME, '%Y.%m.%d' ) AS ANSWER_TIME |
|
|
|
FROM |
|
|
|
epdc_psychology_question |
|
|
|
epdc_psychology_question pq |
|
|
|
LEFT JOIN epdc_psychology_answer pa ON pa.QUESTION_ID = pq.ID |
|
|
|
WHERE |
|
|
|
DEL_FLAG = '0' |
|
|
|
<if test="questionIds != null and questionIds.size() > 0"> |
|
|
|
AND ID IN |
|
|
|
<foreach item="questionId" collection="questionIds" open="(" separator="," close=")"> |
|
|
|
#{questionId} |
|
|
|
</foreach> |
|
|
|
</if> |
|
|
|
pq.id in <foreach collection="questionIds" item="item" open="(" separator="," close=")">#{item}</foreach> |
|
|
|
and pa.DEL_FLAG = '0' |
|
|
|
ORDER BY |
|
|
|
CREATED_TIME DESC |
|
|
|
LIMIT #{pageIndex}, #{pageSize}; |
|
|
|
pa.CREATED_TIME DESC |
|
|
|
</select> |
|
|
|
|
|
|
|
<update id="updateQuestion"> |
|
|
|