admin
2020-05-06 24a8d17e007545f7426c48352109aa1a9c6587ee
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
<?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.yeshi.fanli.dao.mybatis.share.UserShareGoodsRecordMapper">
  <resultMap id="BaseResultMap" type="com.yeshi.fanli.entity.bus.share.UserShareGoodsRecord">
    <id column="sgr_id" property="id" jdbcType="BIGINT"/>
    <result column="sgr_uid" property="uid" jdbcType="BIGINT"/>
     <result column="sgr_source" property="source"
            typeHandler="com.yeshi.fanli.util.mybatishandler.ShareSourceTypeEnumHandler"/>
    <result column="sgr_picture" property="picture" jdbcType="VARCHAR"/>
    <result column="sgr_title" property="title" jdbcType="VARCHAR"/>
    <result column="sgr_share_state" property="shareState" jdbcType="INTEGER"/>
    <result column="sgr_createtime" property="createTime" jdbcType="TIMESTAMP"/>
    <result column="sgr_updatetime" property="updateTime" jdbcType="TIMESTAMP"/>
  </resultMap>
  
  <resultMap id="CountRecordMap" type="com.yeshi.fanli.entity.bus.share.UserShareGoodsRecord">
    <id column="sgr_id" property="id" jdbcType="BIGINT"/>
    <result column="totalGoods" property="totalGoods" jdbcType="INTEGER"/>
    <result column="todayBrowse" property="todayBrowse" jdbcType="INTEGER"/>
    <result column="totalBrowse" property="totalBrowse" jdbcType="INTEGER"/>
    <result column="totalOrder" property="totalOrder" jdbcType="INTEGER"/>
    <result column="totalMoney" property="totalMoney" jdbcType="DECIMAL"/>
    <result column="revenueMoney" property="revenueMoney" jdbcType="DECIMAL"/>
  </resultMap>
  
   <sql id="Base_Column_List">sgr_id,sgr_uid,sgr_source,sgr_picture,sgr_title,sgr_share_state,sgr_createtime,sgr_updatetime</sql>
  <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Long">select
    <include refid="Base_Column_List"/>from yeshi_ec_share_goods_record where sgr_id = #{id,jdbcType=BIGINT}
  </select>
  <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">delete from yeshi_ec_share_goods_record where sgr_id = #{id,jdbcType=BIGINT}</delete>
  <insert id="insert" parameterType="com.yeshi.fanli.entity.bus.share.UserShareGoodsRecord" useGeneratedKeys="true" keyProperty="id">insert into yeshi_ec_share_goods_record (sgr_id,sgr_uid,sgr_source,sgr_picture,sgr_title,sgr_share_state,sgr_createtime,sgr_updatetime) values (#{id,jdbcType=BIGINT},#{uid,jdbcType=BIGINT},#{source,jdbcType=VARCHAR},#{picture,jdbcType=VARCHAR},#{sgr_title,jdbcType=VARCHAR},#{shareState,jdbcType=INTEGER},#{createTime,jdbcType=TIMESTAMP},#{updateTime,jdbcType=TIMESTAMP})</insert>
  <insert id="insertSelective" parameterType="com.yeshi.fanli.entity.bus.share.UserShareGoodsRecord" useGeneratedKeys="true" keyProperty="id">insert into yeshi_ec_share_goods_record
    <trim prefix="(" suffix=")" suffixOverrides=",">
      <if test="id != null">sgr_id,</if>
      <if test="uid != null">sgr_uid,</if>
      <if test="source != null">sgr_source,</if>
      <if test="picture != null">sgr_picture,</if>
      <if test="title != null">sgr_title,</if>
      <if test="shareState != null">sgr_share_state,</if>
      <if test="createTime != null">sgr_createtime,</if>
      <if test="updateTime != null">sgr_updatetime,</if>
    </trim>values
    <trim prefix="(" suffix=")" suffixOverrides=",">
      <if test="id != null">#{id,jdbcType=BIGINT},</if>
      <if test="uid != null">#{uid,jdbcType=BIGINT},</if>
      <if test="source != null">#{source,jdbcType=VARCHAR},</if>
      <if test="picture != null">#{picture,jdbcType=VARCHAR},</if>
      <if test="title != null">#{title,jdbcType=VARCHAR},</if>
      <if test="shareState != null">#{shareState,jdbcType=INTEGER},</if>
      <if test="createTime != null">#{createTime,jdbcType=TIMESTAMP},</if>
      <if test="updateTime != null">#{updateTime,jdbcType=TIMESTAMP},</if>
    </trim>
  </insert>
  <update id="updateByPrimaryKey" parameterType="com.yeshi.fanli.entity.bus.share.UserShareGoodsRecord">update yeshi_ec_share_goods_record set sgr_uid = #{uid,jdbcType=BIGINT},sgr_source = #{source,jdbcType=VARCHAR},sgr_picture = #{picture,jdbcType=VARCHAR},sgr_title = #{title,jdbcType=VARCHAR},sgr_share_state = #{shareState,jdbcType=INTEGER},sgr_createtime = #{createTime,jdbcType=TIMESTAMP},sgr_updatetime = #{updateTime,jdbcType=TIMESTAMP} where sgr_id = #{id,jdbcType=BIGINT}</update>
  <update id="updateByPrimaryKeySelective" parameterType="com.yeshi.fanli.entity.bus.share.UserShareGoodsRecord">update yeshi_ec_share_goods_record
    <set>
      <if test="uid != null">sgr_uid=#{uid,jdbcType=BIGINT},</if>
      <if test="source != null">sgr_source=#{source,jdbcType=VARCHAR},</if>
      <if test="picture != null">sgr_picture=#{picture,jdbcType=VARCHAR},</if>
      <if test="title != null">sgr_title=#{title,jdbcType=VARCHAR},</if>
      <if test="shareState != null">sgr_share_state=#{shareState,jdbcType=INTEGER},</if>
      <if test="createTime != null">sgr_createtime=#{createTime,jdbcType=TIMESTAMP},</if>
      <if test="updateTime != null">sgr_updatetime=#{updateTime,jdbcType=TIMESTAMP},</if>
    </set> where sgr_id = #{id,jdbcType=BIGINT}
  </update>
  
  <select id="listQueryByUid" resultMap="BaseResultMap">
     SELECT * FROM yeshi_ec_share_goods_record
     WHERE sgr_uid = #{uid} AND sgr_share_state = 1
           <if test="source != null and source != '' ">
              AND sgr_source = #{source}
           </if>    
     ORDER BY sgr_updatetime DESC
     LIMIT #{start},#{count}
   </select>
   
   <select id="countQueryByUid" resultType="java.lang.Long">
     SELECT IFNULL(count(sgr_id),0) FROM yeshi_ec_share_goods_record 
     WHERE sgr_uid = #{uid}  AND sgr_share_state = 1
       <if test="source != null and source != '' ">
               AND sgr_source = #{source}
       </if>    
   </select>
  
   <select id="listCountRecord" resultMap="CountRecordMap" parameterType="java.util.List">
        SELECT g.`gu_record_id`AS sgr_id, COUNT(g.`gu_id`)AS totalGoods,
              IFNULL(SUM(g.`gu_total_browse`),0) AS totalBrowse,
              IFNULL(SUM(g.`gu_total_order`),0)AS totalOrder,
              IFNULL(CASE WHEN g.`gu_total_order` = 0 THEN SUM(g.`gu_total_money`) END, 0) AS revenueMoney ,
              IFNULL(SUM(CASE WHEN g.`gu_total_order` > 0 THEN g.`gu_total_money` ELSE 0 END), 0)AS totalMoney
        FROM  `yeshi_ec_share_goods_group` g 
        WHERE g.`gu_record_id` IN <foreach collection="list" item="item" open="(" close=")"
            separator=",">#{item}</foreach>
        GROUP BY g.`gu_record_id`
   </select>
   
   
   <select id="listCountTodayBrowse" resultMap="CountRecordMap" parameterType="java.util.List">
        SELECT g.`gu_record_id`AS sgr_id, IFNULL(SUM(g.`gu_today_browse`),0)AS todayBrowse FROM yeshi_ec_share_goods_group g
        WHERE TO_DAYS(g.`gu_browse_time`) = TO_DAYS(NOW()) 
              AND g.`gu_record_id` IN <foreach collection="list" item="item" open="(" close=")"
                    separator=",">#{item}</foreach>
        GROUP BY g.`gu_record_id`
   </select>
   
</mapper>