81 lines
3.4 KiB
XML
81 lines
3.4 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
|
<mapper namespace="com.ai.da.mapper.primary.DesignMapper">
|
|
|
|
<!-- 通用查询映射结果 -->
|
|
<resultMap id="BaseResultMap" type="com.ai.da.mapper.primary.entity.Design">
|
|
<id column="id" property="id"/>
|
|
<result column="account_id" property="accountId"/>
|
|
<result column="collection_id" property="collectionId"/>
|
|
<result column="system_scale" property="systemScale"/>
|
|
<result column="single_overall" property="singleOverall"/>
|
|
<result column="switch_category" property="switchCategory"/>
|
|
<result column="create_date" property="createDate"/>
|
|
<result column="update_date" property="updateDate"/>
|
|
</resultMap>
|
|
|
|
<insert id="insertDesign" parameterType="com.ai.da.mapper.primary.entity.Design" useGeneratedKeys="true"
|
|
keyProperty="id" keyColumn="id">
|
|
insert into t_design
|
|
(account_id, collection_id, system_scale, single_overall, switch_category, create_date)
|
|
values (#{accountId},
|
|
#{collectionId},
|
|
#{systemScale},
|
|
#{singleOverall},
|
|
#{switchCategory},
|
|
#{createDate});
|
|
</insert>
|
|
|
|
<select id="getDesignStatistic" resultType="com.ai.da.model.dto.UserDesignStatisticDTO" parameterType="String">
|
|
select d.*,c.id trialOrderId
|
|
from (
|
|
select b.account_id,count(b.account_id) design_times,a.user_name,a.user_email,a.is_trial,a.credits,
|
|
a.title,a.surname,a.given_name,a.country,a.occupation,a.create_date
|
|
from t_account a
|
|
left join t_design b on a.id = b.account_id
|
|
<where>
|
|
<choose>
|
|
<when test="role == 'corp'">
|
|
a.system_user IN (5, 6)
|
|
</when>
|
|
<when test="role == 'edu'">
|
|
a.system_user IN (7, 8)
|
|
</when>
|
|
<!--<when test="role == 'prsn'">
|
|
a.system_user IN (0, 1, 2, 3, 4)
|
|
</when>-->
|
|
</choose>
|
|
<if test="organizationName != null and organizationName != ''">
|
|
AND a.organization_name = #{organizationName}
|
|
</if>
|
|
<if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
|
|
AND b.create_date between #{startTime} and #{endTime}
|
|
</if>
|
|
</where>
|
|
<if test="filterBySecond">
|
|
and b.create_date not like '%:01'
|
|
and b.create_date not like '%:02'
|
|
</if>
|
|
<if test="ids != null and ids.size() > 0">
|
|
and a.id in
|
|
<foreach item="id" collection="ids" open="(" separator="," close=")">
|
|
#{id}
|
|
</foreach>
|
|
</if>
|
|
<if test="email != null and email != '' ">
|
|
and a.user_email like CONCAT('%', #{email}, '%')
|
|
</if>
|
|
GROUP BY b.account_id
|
|
ORDER BY b.account_id asc) d
|
|
left join trial_order c on d.user_email = c.email
|
|
</select>
|
|
|
|
<select id="selectDeleteList" resultType="com.ai.da.mapper.primary.entity.Design">
|
|
SELECT * FROM t_design
|
|
WHERE collection_id not IN
|
|
(SELECT collection_id FROM t_user_like_group
|
|
WHERE collection_id != 0
|
|
GROUP BY collection_id)
|
|
</select>
|
|
</mapper>
|