mitao
2025-01-17 afa0dbb4f54e7244835dd67ec33c3e545f122f71
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
<?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.ruoyi.order.mapper.order.UserServiceRecordMapper">
 
    <resultMap type="UserServiceRecord" id="UserServiceRecordResult">
        <result property="id"    column="id"    />
        <result property="delFlag"    column="del_flag"    />
        <result property="userId"    column="user_id"    />
        <result property="consumerGoodsIds"    column="consumer_goods_ids"    />
        <result property="consumerGoodsNames"    column="consumer_goods_names"    />
        <result property="createTime"    column="create_time"    />
        <result property="serviceType"    column="service_type"    />
    </resultMap>
 
    <sql id="selectUserServiceRecordVo">
        select id, del_flag, user_id, consumer_goods_ids, consumer_goods_names, create_time, service_type from t_user_service_record
    </sql>
 
    <select id="selectUserServiceRecordList" parameterType="UserServiceRecord" resultMap="UserServiceRecordResult">
        <include refid="selectUserServiceRecordVo"/>
        <where>
            <if test="userId != null "> and user_id = #{userId}</if>
            <if test="consumerGoodsIds != null  and consumerGoodsIds != ''"> and consumer_goods_ids = #{consumerGoodsIds}</if>
            <if test="consumerGoodsNames != null  and consumerGoodsNames != ''"> and consumer_goods_names = #{consumerGoodsNames}</if>
            <if test="serviceType != null "> and service_type = #{serviceType}</if>
        </where>
    </select>
 
    <select id="selectUserServiceRecordById" parameterType="Long" resultMap="UserServiceRecordResult">
        <include refid="selectUserServiceRecordVo"/>
        where id = #{id}
    </select>
 
    <insert id="insertUserServiceRecord" parameterType="UserServiceRecord" useGeneratedKeys="true" keyProperty="id">
        insert into t_user_service_record
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="delFlag != null">del_flag,</if>
            <if test="userId != null">user_id,</if>
            <if test="consumerGoodsIds != null">consumer_goods_ids,</if>
            <if test="consumerGoodsNames != null">consumer_goods_names,</if>
            <if test="createTime != null">create_time,</if>
            <if test="serviceType != null">service_type,</if>
        </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="delFlag != null">#{delFlag},</if>
            <if test="userId != null">#{userId},</if>
            <if test="consumerGoodsIds != null">#{consumerGoodsIds},</if>
            <if test="consumerGoodsNames != null">#{consumerGoodsNames},</if>
            <if test="createTime != null">#{createTime},</if>
            <if test="serviceType != null">#{serviceType},</if>
        </trim>
    </insert>
 
    <update id="updateUserServiceRecord" parameterType="UserServiceRecord">
        update t_user_service_record
        <trim prefix="SET" suffixOverrides=",">
            <if test="delFlag != null">del_flag = #{delFlag},</if>
            <if test="userId != null">user_id = #{userId},</if>
            <if test="consumerGoodsIds != null">consumer_goods_ids = #{consumerGoodsIds},</if>
            <if test="consumerGoodsNames != null">consumer_goods_names = #{consumerGoodsNames},</if>
            <if test="createTime != null">create_time = #{createTime},</if>
            <if test="serviceType != null">service_type = #{serviceType},</if>
        </trim>
        where id = #{id}
    </update>
 
    <delete id="deleteUserServiceRecordById" parameterType="Long">
        delete from t_user_service_record where id = #{id}
    </delete>
 
    <delete id="deleteUserServiceRecordByIds" parameterType="String">
        delete from t_user_service_record where id in
        <foreach item="id" collection="array" open="(" separator="," close=")">
            #{id}
        </foreach>
    </delete>
 
    <select id="pageUserServiceRecord" resultType="com.ruoyi.order.domain.vo.AppServiceRecordPageVo">
        SELECT
        tusr.consumer_goods_names consumerGoodsNames,
        tusr.service_type serviceType,
        tusr.create_time createTime
        FROM t_user_service_record tusr
        WHERE tusr.del_flag = 0 AND tusr.user_id = #{param.userId} AND tusr.shop_id = #{param.shopId}
        <if test="param.goodsType != null">
            AND tusr.service_type = #{param.goodsType}
        </if>
        ORDER BY tusr.create_time DESC
    </select>
 
    <select id="pageMerMemberServiceRecord" resultType="com.ruoyi.order.domain.vo.MerServiceRecordPageVo">
        SELECT
        tusr.consumer_goods_names consumerGoodsNames,
        tusr.service_type serviceType,
        tusr.create_time createTime
        FROM t_user_service_record tusr
        WHERE tusr.del_flag = 0 AND tusr.user_id = #{param.memberUserId} AND tusr.shop_id = #{param.shopId}
        ORDER BY tusr.create_time DESC
    </select>
 
    <select id="pageMgtMemberServiceRecord" resultType="com.ruoyi.order.domain.vo.MgtMemberServiceRecordPageVo">
        SELECT
        tusr.shop_id shopId,
        tsrd.consumer_goods_name consumerGoodsName,
        tusr.service_type serviceType,
        tusr.create_time createTime,
        1 serviceNum,
        tsrd.surp_num surpNum
        FROM t_user_service_record tusr
        LEFT JOIN t_service_record_detail tsrd ON tsrd.record_id = tusr.id
        WHERE tusr.del_flag = 0 AND tusr.user_id = #{param.memberUserId} AND tusr.service_type = 1
        <if test="param.keyword != null and param.keyword != ''">
            AND tsrd.consumer_goods_name LIKE  CONCAT('%',#{param.keyword},'%')
        </if>
        <if test="param.createStartTime!=null and param.createStartTime!=''">
            AND Date(tusr.create_time) &gt;= #{param.createStartTime}
        </if>
        <if test="param.createEndTime!=null and param.createEndTime!=''">
            AND Date(tusr.create_time) &lt;= #{param.createEndTime}
        </if>
        ORDER BY tusr.create_time DESC
    </select>
 
    <select id="getMgtMemberServiceTotal" resultType="com.ruoyi.order.domain.vo.MgtMemberServiceTotalVo">
        SELECT
        COUNT(consumer_goods_id) cycleTotal,
        IFNULL(SUM(service_num),0) cycleCount,
        IFNULL(SUM(service_num-used_num),0) surpCycleCount
        FROM t_consumer_goods
        WHERE del_flag = 0 AND goods_type = 1 AND cycle_num_flag = 1 AND user_id = #{userId}
    </select>
 
    <select id="countShopServicePerson" resultType="java.lang.Integer">
        SELECT COUNT(DISTINCT user_id)
        FROM t_user_service_record
        WHERE shop_id = #{shopId} AND DATE(create_time) = CURDATE()
    </select>
 
</mapper>