随便從項目裡面摘出來一個代碼片段記錄一下
/**
* @param: queryStatus 查詢狀态 0 是查詢生日 1 是成交紀念日 2是查詢其它類型定時任務
* @Author: 張俊傑 2020年09月09日 11:08
*/
List<CustInfoDTO> selectCustListByCustomerGroupCode(
@Param("customerGroupCodeArray") String[] customerGroupCodeArray,
@Param("queryStatus") String queryStatus
);
<!--
查詢條件我先注釋掉了, 為了模拟參數用的,等正式資料到位了再給查詢條件放開.
需求:根據二級群組id去查詢 目标使用者數量 , 根據身份證号碼去重,我在代碼裡面去做.
-->
<select id="selectCustListByCustomerGroupCode"
resultType="com.datangwealth.datazt.entity.dto.CustInfoDTO">
SELECT a.CUST_CODE as custCode,
b.TAG_L2_ID,
c.STATEDATE,
ORDERID,
a.CUST_NAME,
a.CERTNO,
CERTNAME,
MOBILE,
PRO_CODE,
PRO_NAME,
STATE_TIME,
INPUT_TIME,
(SELECT WM_CONCAT(b.TAG_L2_ID)
FROM DMA_TAG_CUST_LABEL a1
LEFT JOIN DMA_TAG_SUBJECT_SPLIT b1
ON a1.tag_id = b1.tag_id
WHERE a1.CUST_CODE = a.CUST_CODE
and b1.TAG_L2_ID is not null
) as tagIdArrayStr
FROM DMA_CUST_INFO c
inner join
DMA_TAG_CUST_LABEL a
on c.CUST_CODE = a.CUST_CODE
inner JOIN DMA_TAG_SUBJECT_SPLIT b
ON a.tag_id = b.tag_id
where 1=1
and c.STATE_TIME is not null
<if test="queryStatus =0">
and to_char(sysdate, 'mmdd') = substr( a.CERTNO, 11, 4)
</if>
<if test="queryStatus =1">
and to_char(sysdate, 'mmdd') = substr(c.STATE_TIME, 5, 8)
</if>
and b.TAG_L2_ID IN
<foreach collection="customerGroupCodeArray" item="customerGroupCode" separator="," open="(" close=")">
#{customerGroupCode}
</foreach>
</select>