|
|
@@ -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 ">
|