|
|
@@ -66,14 +66,24 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|
|
</resultMap>
|
|
|
<select id="listInform" parameterType="com.zhongzheng.modules.inform.bo.InformQueryBo" resultMap="InformVo">
|
|
|
SELECT
|
|
|
+ /* i.*,
|
|
|
+ (SELECT COUNT(iu.id) FROM inform_user iu where i.inform_id=iu.inform_id) as user_num,
|
|
|
+ (SELECT ic.classify_name FROM inform_classify ic where i.classify_id=ic.classify_id) as classify_name,
|
|
|
+ (SELECT iu.send_time FROM inform_user iu where i.inform_id=iu.inform_id ORDER BY iu.send_time ASC limit 1) as send_time,
|
|
|
+ IF((SELECT io.`status` FROM inform io where io.inform_id = i.inform_id)=0,null,
|
|
|
+ IF((SELECT COUNT(iu.inform_id) FROM inform_user iu where i.inform_id=iu.inform_id and iu.send_status=1)>0,4,
|
|
|
+ IF((SELECT COUNT(iu.inform_id) FROM inform_user iu where i.inform_id=iu.inform_id and iu.send_status=1)=0,2,
|
|
|
+ IF((SELECT COUNT(iu.inform_id) FROM inform_user iu where i.inform_id=iu.inform_id and iu.send_status=1)=(SELECT COUNT(iu.inform_id) FROM inform_user iu where i.inform_id=iu.inform_id),1,
|
|
|
+ IF((SELECT COUNT(iu.inform_id) FROM inform_user iu where i.inform_id=iu.inform_id and iu.send_status=1)<(SELECT COUNT(iu.inform_id) FROM inform_user iu where i.inform_id=iu.inform_id),3))))) as user_status, (SELECT COUNT(iu.inform_id) FROM inform_user iu where i.inform_id=iu.inform_id and iu.send_status=1) as receipt_num */ FROM
|
|
|
i.*,
|
|
|
(SELECT COUNT(iu.id) FROM inform_user iu where i.inform_id=iu.inform_id) as user_num,
|
|
|
(SELECT ic.classify_name FROM inform_classify ic where i.classify_id=ic.classify_id) as classify_name,
|
|
|
(SELECT iu.send_time FROM inform_user iu where i.inform_id=iu.inform_id ORDER BY iu.send_time ASC limit 1) as send_time,
|
|
|
IF((SELECT io.`status` FROM inform io where io.inform_id = i.inform_id)=0,null,
|
|
|
+ IF((SELECT COUNT(iu.inform_id) FROM inform_user iu where i.inform_id=iu.inform_id and iu.send_status is null)>0,4,
|
|
|
IF((SELECT COUNT(iu.inform_id) FROM inform_user iu where i.inform_id=iu.inform_id and iu.send_status=1)=0,2,
|
|
|
IF((SELECT COUNT(iu.inform_id) FROM inform_user iu where i.inform_id=iu.inform_id and iu.send_status=1)=(SELECT COUNT(iu.inform_id) FROM inform_user iu where i.inform_id=iu.inform_id),1,
|
|
|
- IF((SELECT COUNT(iu.inform_id) FROM inform_user iu where i.inform_id=iu.inform_id and iu.send_status=1)<(SELECT COUNT(iu.inform_id) FROM inform_user iu where i.inform_id=iu.inform_id),3,4)))) as user_status, (SELECT COUNT(iu.inform_id) FROM inform_user iu where i.inform_id=iu.inform_id and iu.send_status=1) as receipt_num
|
|
|
+ 3)))) as user_status, (SELECT COUNT(iu.inform_id) FROM inform_user iu where i.inform_id=iu.inform_id and iu.send_status=1) as receipt_num
|
|
|
FROM
|
|
|
inform i where 1=1
|
|
|
<if test="status != null and status.size()!=0 ">
|
|
|
@@ -94,6 +104,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|
|
<if test="informId != null and informId != ''">
|
|
|
and i.inform_id = #{informId}
|
|
|
</if>
|
|
|
+ <if test="issueStatus != null and issueStatus != ''">
|
|
|
+ and i.issue_status = #{issueStatus}
|
|
|
+ </if>
|
|
|
+ <if test="issue != null and issue != ''">
|
|
|
+ and unix_timestamp(now()) >i.issue_time
|
|
|
+ </if>
|
|
|
<if test="startTime != null and startTime != ''">
|
|
|
and (SELECT iu.send_time FROM inform_user iu where i.inform_id=iu.inform_id ORDER BY iu.send_time ASC limit 1) BETWEEN #{startTime} and #{endTime}
|
|
|
</if>
|