张延森 3 年前
父节点
当前提交
4c9fede33a

+ 55
- 0
bin/service.sh 查看文件

@@ -0,0 +1,55 @@
1
+#!/bin/sh
2
+#
3
+#
4
+
5
+SERVICE_HOME="/opt/yunzhi/sgl-v2"
6
+LOG="$SERVICE_HOME/logs/nohup.log"
7
+JAR=$(ls -lt ${SERVICE_HOME}/*.jar|head -n1|rev|cut -d" " -f1|rev)
8
+
9
+start() {
10
+    PID=`ps -ef|grep marketing-v|grep -v grep|awk '{print $2}'`
11
+    if [[ "$PID" != "" ]]; then
12
+        echo ""
13
+        echo "Service is running. pid=$PID"
14
+        echo ""
15
+        exit 0
16
+    else
17
+        echo ""
18
+        echo "Start service ..."
19
+        echo "FILE: $JAR"
20
+
21
+        nohup java -jar $JAR > $LOG 2>&1 &
22
+
23
+        echo "Start finished"
24
+        echo "Pls goto $LOG see process status"
25
+        echo ""
26
+    fi
27
+}
28
+
29
+stop() {
30
+    echo ""
31
+    echo "Stoping service ..."
32
+
33
+    PID=`ps -ef|grep marketing-v|grep -v grep|awk '{print $2}'`
34
+    if [[ "$PID" != "" ]]; then
35
+        kill -9 $PID
36
+    fi
37
+
38
+    # 这个延迟不能去掉
39
+    sleep 5s
40
+    echo "Service is stoped"
41
+    echo ""
42
+}
43
+
44
+case $1 in
45
+    "start")
46
+        start ;;
47
+    "stop")
48
+        stop ;;
49
+    "reload"|"restart")
50
+        stop
51
+        start ;;
52
+    *)
53
+        echo "Usage: `basename $0` {start|stop|restart}"
54
+        exit 1
55
+esac

+ 14
- 0
bin/sgl.service 查看文件

@@ -0,0 +1,14 @@
1
+[Unit]
2
+Description=ShiGongli
3
+After=syslog.target
4
+
5
+[Service]
6
+User=root
7
+Type=forking
8
+ExecStart=/opt/yunzhi/sgl-v2/service.sh start
9
+ExecReload=/opt/yunzhi/sgl-v2/service.sh restart
10
+ExecStop=/opt/yunzhi/sgl-v2/service.sh stop
11
+PrivateTmp=true
12
+
13
+[Install]
14
+WantedBy=multi-user.target

+ 1
- 1
pom.xml 查看文件

@@ -10,7 +10,7 @@
10 10
 	</parent>
11 11
 	<groupId>com.yunzhi</groupId>
12 12
 	<artifactId>shigongli</artifactId>
13
-	<version>2.0.13</version>
13
+	<version>2.0.14</version>
14 14
 	<name>shigongli</name>
15 15
 	<description>Shi Gong Li</description>
16 16
 

+ 2
- 18
src/main/java/com/yunzhi/shigongli/controller/TaHotelController.java 查看文件

@@ -298,17 +298,8 @@ public class TaHotelController extends BaseController {
298 298
                                    @ApiParam("名称") @RequestParam(value = "hotelName",required = false) String hotelName,
299 299
                                    @ApiParam(value = "开始日期", example = "2021-09-01") @RequestParam(value = "start",required = false) String start,
300 300
                                    @ApiParam(value = "结束日期", example = "2021-09-30") @RequestParam(value = "end",required = false) String end) throws Exception {
301
-        LocalDateTime startDate = null, endDate = null;
302
-
303
-        if (!StringUtils.isEmpty(start)) {
304
-            startDate = DateUtils.from(start + " 00:00:00", "yyyy-MM-dd HH:mm:ss");
305
-        }
306
-        if (!StringUtils.isEmpty(end)) {
307
-            endDate = DateUtils.from(end + " 23:59:59", "yyyy-MM-dd HH:mm:ss");
308
-        }
309
-
310 301
         IPage<HotelQueryVO> pg = new Page<>(pageNum, pageSize);
311
-        IPage<HotelQueryVO> result = iTaHotelService.queryHotel(pg, hotelName, startDate, endDate);
302
+        IPage<HotelQueryVO> result = iTaHotelService.queryHotel(pg, hotelName, start, end);
312 303
         return ResponseBean.success(result);
313 304
     }
314 305
 
@@ -322,15 +313,8 @@ public class TaHotelController extends BaseController {
322 313
                                  @ApiParam(value = "开始日期", example = "2021-09-01") @RequestParam(value = "start",required = false) String start,
323 314
                                  @ApiParam(value = "结束日期", example = "2021-09-30") @RequestParam(value = "end",required = false) String end,
324 315
                                  HttpServletResponse response) throws Exception {
325
-        LocalDateTime startDate = null, endDate = null;
326 316
 
327
-        if (!StringUtils.isEmpty(start)) {
328
-            startDate = DateUtils.from(start + " 00:00:00", "yyyy-MM-dd HH:mm:ss");
329
-        }
330
-        if (!StringUtils.isEmpty(end)) {
331
-            endDate = DateUtils.from(end + " 23:59:59", "yyyy-MM-dd HH:mm:ss");
332
-        }
333
-        IPage<HotelQueryVO> result = iTaHotelService.queryHotel(null, hotelName, startDate, endDate);
317
+        IPage<HotelQueryVO> result = iTaHotelService.queryHotel(null, hotelName, start, end);
334 318
 
335 319
         ExcelUtils.flush(response, HotelQueryVO.class, result.getRecords(), "民宿查询统计");
336 320
     }

+ 2
- 2
src/main/java/com/yunzhi/shigongli/mapper/TaHotelMapper.java 查看文件

@@ -28,7 +28,7 @@ public interface TaHotelMapper extends BaseMapper<TaHotel> {
28 28
 
29 29
     List<TaHotel> getListByPerson(@Param("personId") String personId);
30 30
 
31
-    IPage<HotelQueryVO> queryHotelPaged(IPage<HotelQueryVO> pg, @Param("hotelName") String hotelName, @Param("startDate") LocalDateTime startDate, @Param("endDate") LocalDateTime endDate);
31
+    IPage<HotelQueryVO> queryHotelPaged(IPage<HotelQueryVO> pg, @Param("hotelName") String hotelName, @Param("startDate") String startDate, @Param("endDate") String endDate);
32 32
 
33
-    List<HotelQueryVO> queryHotelList(@Param("hotelName") String hotelName, @Param("startDate") LocalDateTime startDate, @Param("endDate") LocalDateTime endDate);
33
+    List<HotelQueryVO> queryHotelList(@Param("hotelName") String hotelName, @Param("startDate") String startDate, @Param("endDate") String endDate);
34 34
 }

+ 1
- 1
src/main/java/com/yunzhi/shigongli/service/ITaHotelService.java 查看文件

@@ -28,7 +28,7 @@ public interface ITaHotelService extends IBaseService<TaHotel> {
28 28
 
29 29
     List<TaHotel> getListByPerson(TaPerson taPerson);
30 30
 
31
-    IPage<HotelQueryVO> queryHotel(IPage<HotelQueryVO> pg, String hotelName, LocalDateTime startDate, LocalDateTime endDate);
31
+    IPage<HotelQueryVO> queryHotel(IPage<HotelQueryVO> pg, String hotelName, String startDate, String endDate);
32 32
 
33 33
     IPage<HotelCommissionVO> getCommissionList(IPage<HotelCommissionVO> pg, String hotelName, LocalDateTime startDate, LocalDateTime endDate);
34 34
 }

+ 2
- 1
src/main/java/com/yunzhi/shigongli/service/impl/TaHotelServiceImpl.java 查看文件

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
4 4
 import com.baomidou.mybatisplus.core.metadata.IPage;
5 5
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6 6
 import com.yunzhi.shigongli.common.Constants;
7
+import com.yunzhi.shigongli.common.DateUtils;
7 8
 import com.yunzhi.shigongli.entity.TaHotel;
8 9
 import com.yunzhi.shigongli.entity.TaHotelAccount;
9 10
 import com.yunzhi.shigongli.entity.TaPerson;
@@ -83,7 +84,7 @@ public class TaHotelServiceImpl extends BaseServiceImpl<TaHotelMapper, TaHotel>
83 84
     }
84 85
 
85 86
     @Override
86
-    public IPage<HotelQueryVO> queryHotel(IPage<HotelQueryVO> pg, String hotelName, LocalDateTime startDate, LocalDateTime endDate) {
87
+    public IPage<HotelQueryVO> queryHotel(IPage<HotelQueryVO> pg, String hotelName, String startDate, String endDate) {
87 88
         if (null != pg) {
88 89
             return baseMapper.queryHotelPaged(pg, hotelName, startDate, endDate);
89 90
         } else {

+ 58
- 33
src/main/resources/mapper/TaHotelMapper.xml 查看文件

@@ -46,52 +46,77 @@
46 46
             t.hotel_name,
47 47
             IFNULL( s.share_num, 0 ) AS share_num,
48 48
             IFNULL( s.customer_num, 0 ) AS customer_num,
49
-            IFNULL( s.visit_num, 0 ) AS visit_num,
50
-            SUM( IF ( m.track_id IS NULL, 0, 1 ) ) AS recommend_num,
49
+            IFNULL( m.visit_num, 0 ) AS visit_num,
50
+            IFNULL( n.recommend_num, 0 ) AS recommend_num,
51 51
             SUM( IFNULL( l.amount, 0 ) ) AS commission_charge
52 52
         FROM
53 53
             ta_hotel t
54
-            LEFT JOIN (
55
-                SELECT
56
-                    a.hotel_id,
57
-                    COUNT( DISTINCT a.room_order_id ) AS share_num,
58
-                    COUNT( DISTINCT b.customer_phone ) AS customer_num,
59
-                    SUM( IF ( c.track_id IS NULL, 0, 1 ) ) AS visit_num
60
-                FROM
61
-                    ta_room_order a
62
-                    INNER JOIN ta_room_order_person b ON b.room_order_id = a.room_order_id
63
-                    LEFT JOIN tr_person_page c ON c.page = '/pages/index/index'
64
-                        AND c.params LIKE CONCAT( '%', 'roomOrderId=', a.room_order_id, '%' )
65
-                WHERE
66
-                    1 = 1
67
-                    <if test="startDate != null">
68
-                        AND a.create_date &gt;= #{startDate}
69
-                        AND c.create_date &gt;= #{startDate}
70
-                    </if>
71
-                    <if test="endDate != null">
72
-                        AND a.create_date &lt;= #{endDate}
73
-                        AND c.create_date &lt;= #{endDate}
74
-                    </if>
75
-                GROUP BY
76
-                    a.hotel_id
54
+        LEFT JOIN (
55
+            SELECT
56
+                a.hotel_id,
57
+                COUNT( DISTINCT a.room_order_id ) AS share_num,
58
+                COUNT( DISTINCT b.customer_phone ) AS customer_num
59
+            FROM
60
+                ta_room_order a
61
+            INNER JOIN ta_room_order_person b ON b.room_order_id = a.room_order_id
62
+            WHERE 1 = 1
63
+                <if test="startDate != null and startDate != ''">
64
+                    AND DATE_FORMAT( a.create_date, '%Y-%m-%d' ) &gt;= #{startDate}
65
+                </if>
66
+                <if test="endDate != null and endDate != ''">
67
+                    AND DATE_FORMAT( a.create_date, '%Y-%m-%d' ) &lt;= #{endDate}
68
+                </if>
69
+            GROUP BY
70
+                a.hotel_id
77 71
             ) s ON s.hotel_id = t.hotel_id
78
-            LEFT JOIN tr_person_click m ON m.event_type = 'hotel_recommend_package'
79
-                AND m.event_params LIKE CONCAT( '%', 'hotelId=', t.hotel_id, '%' )
80
-            LEFT JOIN ta_hotel_account_log l ON l.hotel_id = t.hotel_id
81
-                AND l.amount_type = 'commission'
72
+        LEFT JOIN (
73
+            SELECT
74
+                a.statis_param AS hotel_param,
75
+                COUNT( 1 ) AS visit_num
76
+            FROM
77
+                ts_page_event_daily a
78
+            WHERE
79
+                a.page_name = 'hotel_guide'
80
+                <if test="startDate != null and startDate != ''">
81
+                    AND a.statis_date &gt;= #{startDate}
82
+                </if>
83
+                <if test="endDate != null and endDate != ''">
84
+                    AND a.statis_date &lt;= #{endDate}
85
+                </if>
86
+            GROUP BY
87
+                a.statis_param
88
+            ) m ON m.hotel_param = CONCAT( 'hotel_id=', t.hotel_id )
89
+        LEFT JOIN (
90
+            SELECT
91
+                SUBSTRING_INDEX( a.statis_param, <![CDATA['&']]>, 2 ) AS hotel_param,
92
+                COUNT( 1 ) AS recommend_num
93
+            FROM
94
+                ts_page_event_daily a
95
+            WHERE
96
+                a.page_name = 'hotel_recommend'
97
+                <if test="startDate != null and startDate != ''">
98
+                    AND a.statis_date &gt;= #{startDate}
99
+                </if>
100
+                <if test="endDate != null and endDate != ''">
101
+                    AND a.statis_date &lt;= #{endDate}
102
+                </if>
103
+            GROUP BY
104
+                SUBSTRING_INDEX( a.statis_param, <![CDATA['&']]>, 2 )
105
+            ) n ON n.hotel_param = CONCAT( 'hotelId=', t.hotel_id )
106
+        LEFT JOIN ta_hotel_account_log l ON l.hotel_id = t.hotel_id
107
+            AND l.amount_type = 'commission'
82 108
         WHERE
83 109
             t.`status` &gt; - 1
84 110
             <if test="hotelName != null and hotelName != ''">
85 111
                 AND t.hotel_name LIKE CONCAT( '%', #{hotelName}, '%' )
86 112
             </if>
87 113
             <if test="startDate != null">
88
-                AND m.create_date &gt;= #{startDate}
89
-                AND l.create_date &gt;= #{startDate}
114
+                AND DATE_FORMAT( l.create_date, '%Y-%m-%d' ) &gt;= #{startDate}
90 115
             </if>
91 116
             <if test="endDate != null">
92
-                AND m.create_date &lt;= #{endDate}
93
-                AND l.create_date &lt;= #{endDate}
117
+                AND DATE_FORMAT( l.create_date, '%Y-%m-%d' ) &lt;= #{endDate}
94 118
             </if>
119
+
95 120
         GROUP BY
96 121
             t.hotel_id
97 122
         ORDER BY