顾绍勇 преди 5 години
родител
ревизия
67eeec4188

+ 5
- 5
src/main/java/com/huiju/estateagents/excel/redPacket/AccountConsumeRecordExport.java Целия файл

25
 
25
 
26
     @ColumnWidth(15)
26
     @ColumnWidth(15)
27
     @ExcelProperty(value = "消费方式", index = 2)
27
     @ExcelProperty(value = "消费方式", index = 2)
28
-    private String a;
28
+    private String consumeType;
29
 
29
 
30
 
30
 
31
     @ColumnWidth(15)
31
     @ColumnWidth(15)
32
     @ExcelProperty(value = "活动名称", index = 3)
32
     @ExcelProperty(value = "活动名称", index = 3)
33
-    private String b;
33
+    private String activityName;
34
 
34
 
35
     @ColumnWidth(15)
35
     @ColumnWidth(15)
36
     @ExcelProperty(value = "消费下单时间", index = 4)
36
     @ExcelProperty(value = "消费下单时间", index = 4)
37
-    private String c;
37
+    private String createDate;
38
 
38
 
39
 
39
 
40
     @ColumnWidth(15)
40
     @ColumnWidth(15)
41
     @ExcelProperty(value = "接收人手机号码", index = 5)
41
     @ExcelProperty(value = "接收人手机号码", index = 5)
42
-    private String d;
42
+    private String phone;
43
 
43
 
44
     @ColumnWidth(15)
44
     @ColumnWidth(15)
45
     @ExcelProperty(value = "消费状态", index = 5)
45
     @ExcelProperty(value = "消费状态", index = 5)
46
-    private String e;
46
+    private String consumeStatus;
47
 }
47
 }

+ 47
- 0
src/main/java/com/huiju/estateagents/excel/redPacket/RedPacketVisitRecordtExport.java Целия файл

1
+package com.huiju.estateagents.excel.redPacket;
2
+
3
+import com.alibaba.excel.annotation.ExcelProperty;
4
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
5
+import lombok.Data;
6
+
7
+/**
8
+ * 红包访问记录导出实体
9
+ *
10
+ * @author gusy
11
+ * @date 2020/6/7 15:46
12
+ */
13
+@Data
14
+public class RedPacketVisitRecordtExport {
15
+
16
+
17
+    @ColumnWidth(15)
18
+    @ExcelProperty(value = "头像", index = 0)
19
+    private String avatarurl;
20
+
21
+
22
+    @ColumnWidth(15)
23
+    @ExcelProperty(value = "昵称", index = 1)
24
+    private String nickname;
25
+
26
+
27
+    @ColumnWidth(15)
28
+    @ExcelProperty(value = "姓名", index = 2)
29
+    private String name;
30
+
31
+
32
+    @ColumnWidth(15)
33
+    @ExcelProperty(value = "手机号", index = 3)
34
+    private String phone;
35
+
36
+    @ColumnWidth(15)
37
+    @ExcelProperty(value = "访问时间", index = 4)
38
+    private String createDate;
39
+
40
+    @ColumnWidth(15)
41
+    @ExcelProperty(value = "分享人昵称", index = 5)
42
+    private String sharePersonNickName;
43
+
44
+    @ColumnWidth(15)
45
+    @ExcelProperty(value = "分享人手机号", index = 6)
46
+    private String sharePersonPhone;
47
+}

+ 71
- 0
src/main/java/com/huiju/estateagents/redpack/controller/TaOrgOrderController.java Целия файл

364
         }
364
         }
365
     }
365
     }
366
 
366
 
367
+    /**
368
+     * 获取消费订单列表
369
+     *
370
+     * @param pageNum
371
+     * @param pageSize
372
+     * @param startTime   消费开始时间
373
+     * @param endTime     消费结束时间
374
+     * @param orderId     订单编号
375
+     * @param status      消费状态,1:成功,0:失败
376
+     * @param consumeType 消费方式,红包:redPacket
377
+     * @param phone       接收人手机号
378
+     * @param request
379
+     * @return
380
+     */
381
+    @RequestMapping(value = "/admin/orgOrder/listConsumeOrderByCondition", method = RequestMethod.GET)
382
+    public ResponseBean listConsumeOrderByCondition(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
383
+                                                    @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
384
+                                                    @RequestParam(value = "startTime", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDate startTime,
385
+                                                    @RequestParam(value = "endTime", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDate endTime,
386
+                                                    String orderId,
387
+                                                    Integer status,
388
+                                                    String consumeType,
389
+                                                    String phone,
390
+                                                    HttpServletRequest request) {
391
+        ResponseBean responseBean = new ResponseBean();
392
+        try {
393
+            responseBean = iTaOrgOrderService.listConsumeOrderByCondition(pageNum, pageSize, startTime, endTime, orderId, status, consumeType, phone, getOrgId(request));
394
+        } catch (Exception e) {
395
+            logger.error("listConsumeOrderByCondition -=- {}", e);
396
+            responseBean.addError(e.getMessage());
397
+        }
398
+        return responseBean;
399
+    }
400
+
401
+
402
+    /**
403
+     * 导出消费订单列表
404
+     *
405
+     * @param startTime
406
+     * @param endTime
407
+     * @param orderId
408
+     * @param status
409
+     * @param consumeType
410
+     * @param phone
411
+     * @param request
412
+     * @param response
413
+     * @throws Exception
414
+     */
415
+    @RequestMapping(value = "/admin/orgOrder/exportConsumeOrderByCondition", method = RequestMethod.GET)
416
+    public void exportConsumeOrderByCondition(@RequestParam(value = "startTime", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDate startTime,
417
+                                              @RequestParam(value = "endTime", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDate endTime,
418
+                                              String orderId,
419
+                                              Integer status,
420
+                                              String consumeType,
421
+                                              String phone,
422
+                                              HttpServletRequest request,
423
+                                              HttpServletResponse response) throws Exception {
424
+        try {
425
+            iTaOrgOrderService.exportConsumeOrderByCondition(startTime, endTime, orderId, status, consumeType, phone, getOrgId(request), response);
426
+        } catch (Exception e) {
427
+            logger.error("exportConsumeOrderByCondition 异常:", e);
428
+            response.reset();
429
+            response.setContentType("application/json");
430
+            response.setCharacterEncoding("utf-8");
431
+            Map<String, Object> map = new HashMap();
432
+            map.put("code", ResponseBean.ERROR_UNAVAILABLE);
433
+            map.put("message", "下载文件失败" + e.getMessage());
434
+            response.getWriter().println(JSON.toJSONString(map));
435
+        }
436
+    }
437
+
367
 
438
 
368
 }
439
 }

+ 68
- 0
src/main/java/com/huiju/estateagents/redpack/controller/TaRedPacketController.java Целия файл

13
 import org.slf4j.Logger;
13
 import org.slf4j.Logger;
14
 import org.slf4j.LoggerFactory;
14
 import org.slf4j.LoggerFactory;
15
 import org.springframework.beans.factory.annotation.Autowired;
15
 import org.springframework.beans.factory.annotation.Autowired;
16
+import org.springframework.format.annotation.DateTimeFormat;
16
 import org.springframework.web.bind.annotation.*;
17
 import org.springframework.web.bind.annotation.*;
17
 
18
 
18
 import javax.servlet.http.HttpServletRequest;
19
 import javax.servlet.http.HttpServletRequest;
19
 import javax.servlet.http.HttpServletResponse;
20
 import javax.servlet.http.HttpServletResponse;
21
+import java.time.LocalDate;
20
 import java.util.HashMap;
22
 import java.util.HashMap;
21
 import java.util.Map;
23
 import java.util.Map;
22
 
24
 
242
             response.getWriter().println(JSON.toJSONString(map));
244
             response.getWriter().println(JSON.toJSONString(map));
243
         }
245
         }
244
     }
246
     }
247
+
248
+    /**
249
+     * 查询客户访问数据
250
+     *
251
+     * @param pageNum
252
+     * @param pageSize
253
+     * @param startTime
254
+     * @param endTime
255
+     * @param drainageId
256
+     * @param phone
257
+     * @param sharePersonPhone 分享人手机号
258
+     * @param request
259
+     * @return
260
+     */
261
+    @RequestMapping(value = "/admin/redPacket/listVisitRecordByCondition", method = RequestMethod.GET)
262
+    public ResponseBean listVisitRecordByCondition(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
263
+                                                   @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
264
+                                                   @RequestParam(value = "startTime", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDate startTime,
265
+                                                   @RequestParam(value = "endTime", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDate endTime,
266
+                                                   String drainageId,
267
+                                                   String phone,
268
+                                                   String sharePersonPhone,
269
+                                                   HttpServletRequest request) {
270
+        ResponseBean responseBean = new ResponseBean();
271
+        try {
272
+            responseBean = iTaRedPacketService.listVisitRecordByCondition(pageNum, pageSize, startTime, endTime, drainageId, phone, sharePersonPhone, getOrgId(request));
273
+        } catch (Exception e) {
274
+            logger.error("listVisitRecordByCondition -=- {}", e);
275
+            responseBean.addError(e.getMessage());
276
+        }
277
+        return responseBean;
278
+    }
279
+
280
+    /**
281
+     * 导出客户访问数据
282
+     *
283
+     * @param startTime
284
+     * @param endTime
285
+     * @param drainageId
286
+     * @param phone
287
+     * @param sharePersonPhone
288
+     * @param request
289
+     * @return
290
+     */
291
+    @RequestMapping(value = "/admin/redPacket/exportVisitRecordByCondition", method = RequestMethod.GET)
292
+    public void exportVisitRecordByCondition(@RequestParam(value = "startTime", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDate startTime,
293
+                                             @RequestParam(value = "endTime", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDate endTime,
294
+                                             String drainageId,
295
+                                             String phone,
296
+                                             String sharePersonPhone,
297
+                                             HttpServletRequest request,
298
+                                             HttpServletResponse response) throws Exception {
299
+        try {
300
+            iTaRedPacketService.exportVisitRecordByCondition(startTime, endTime, drainageId, phone, sharePersonPhone, getOrgId(request), response);
301
+        } catch (Exception e) {
302
+            logger.error("exportVisitRecordByCondition 异常:", e);
303
+            response.reset();
304
+            response.setContentType("application/json");
305
+            response.setCharacterEncoding("utf-8");
306
+            Map<String, Object> map = new HashMap();
307
+            map.put("code", ResponseBean.ERROR_UNAVAILABLE);
308
+            map.put("message", "下载文件失败" + e.getMessage());
309
+            response.getWriter().println(JSON.toJSONString(map));
310
+        }
311
+    }
312
+
245
 }
313
 }

+ 7
- 1
src/main/java/com/huiju/estateagents/redpack/entity/TaOrgOrder.java Целия файл

14
 
14
 
15
 /**
15
 /**
16
  * <p>
16
  * <p>
17
- * 组织订单表 
17
+ * 组织订单表
18
  * </p>
18
  * </p>
19
  *
19
  *
20
  * @author fxf
20
  * @author fxf
131
     @TableField(exist = false)
131
     @TableField(exist = false)
132
     private String avatarurl;
132
     private String avatarurl;
133
 
133
 
134
+    /**
135
+     * 活动名称
136
+     */
137
+    @TableField(exist = false)
138
+    private String activityName;
139
+
134
 
140
 
135
 }
141
 }

+ 43
- 0
src/main/java/com/huiju/estateagents/redpack/mapper/TaOrgOrderMapper.java Целия файл

3
 import java.time.LocalDate;
3
 import java.time.LocalDate;
4
 import java.util.List;
4
 import java.util.List;
5
 
5
 
6
+import com.huiju.estateagents.excel.redPacket.AccountConsumeRecordExport;
6
 import com.huiju.estateagents.excel.redPacket.AccountPayRecordExport;
7
 import com.huiju.estateagents.excel.redPacket.AccountPayRecordExport;
7
 import com.huiju.estateagents.excel.redPacket.AccountRefundRecordExport;
8
 import com.huiju.estateagents.excel.redPacket.AccountRefundRecordExport;
8
 import org.apache.ibatis.annotations.Mapper;
9
 import org.apache.ibatis.annotations.Mapper;
165
                                            @Param("tradeNo") String tradeNo,
166
                                            @Param("tradeNo") String tradeNo,
166
                                            @Param("status") Integer status,
167
                                            @Param("status") Integer status,
167
                                            @Param("orgId") Integer orgId);
168
                                            @Param("orgId") Integer orgId);
169
+
170
+    /**
171
+     * 查询消费订单列表
172
+     *
173
+     * @param page
174
+     * @param startTime
175
+     * @param endTime
176
+     * @param orderId
177
+     * @param status
178
+     * @param consumeType
179
+     * @param phone
180
+     * @param orgId
181
+     * @return
182
+     */
183
+    IPage<TaOrgOrder> listConsumeOrderByCondition(IPage<TaOrgOrder> page,
184
+                                                  @Param("startTime") LocalDate startTime,
185
+                                                  @Param("endTime") LocalDate endTime,
186
+                                                  @Param("orderId") String orderId,
187
+                                                  @Param("status") Integer status,
188
+                                                  @Param("consumeType") String consumeType,
189
+                                                  @Param("phone") String phone,
190
+                                                  @Param("orgId") Integer orgId);
191
+
192
+    /**
193
+     * 导出消费订单列表
194
+     *
195
+     * @param startTime
196
+     * @param endTime
197
+     * @param orderId
198
+     * @param status
199
+     * @param consumeType
200
+     * @param phone
201
+     * @param orgId
202
+     * @return
203
+     */
204
+    List<AccountConsumeRecordExport> exportConsumeOrderByCondition(@Param("startTime") LocalDate startTime,
205
+                                                                   @Param("endTime") LocalDate endTime,
206
+                                                                   @Param("orderId") String orderId,
207
+                                                                   @Param("status") Integer status,
208
+                                                                   @Param("consumeType") String consumeType,
209
+                                                                   @Param("phone") String phone,
210
+                                                                   @Param("orgId") Integer orgId);
168
 }
211
 }

+ 45
- 1
src/main/java/com/huiju/estateagents/redpack/mapper/TaRedPacketMapper.java Целия файл

1
 package com.huiju.estateagents.redpack.mapper;
1
 package com.huiju.estateagents.redpack.mapper;
2
 
2
 
3
-import com.huiju.estateagents.redpack.entity.TaRedPacket;
4
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
3
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4
+import com.baomidou.mybatisplus.core.metadata.IPage;
5
+import com.huiju.estateagents.entity.TaCustomerFrom;
6
+import com.huiju.estateagents.excel.redPacket.RedPacketVisitRecordtExport;
7
+import com.huiju.estateagents.redpack.entity.TaRedPacket;
5
 import org.apache.ibatis.annotations.Mapper;
8
 import org.apache.ibatis.annotations.Mapper;
6
 import org.apache.ibatis.annotations.Param;
9
 import org.apache.ibatis.annotations.Param;
7
 import org.springframework.stereotype.Component;
10
 import org.springframework.stereotype.Component;
8
 
11
 
12
+import java.time.LocalDate;
9
 import java.time.LocalDateTime;
13
 import java.time.LocalDateTime;
14
+import java.util.List;
10
 
15
 
11
 /**
16
 /**
12
  * <p>
17
  * <p>
64
      * @return
69
      * @return
65
      */
70
      */
66
     Integer initRedPacketImages(@Param("activityId") String activityId);
71
     Integer initRedPacketImages(@Param("activityId") String activityId);
72
+
73
+    /**
74
+     * 查询客户访问记录
75
+     *
76
+     * @param page
77
+     * @param startTime
78
+     * @param endTime
79
+     * @param drainageId
80
+     * @param phone
81
+     * @param sharePersonPhone
82
+     * @param orgId
83
+     * @return
84
+     */
85
+    IPage<TaCustomerFrom> listVisitRecordByCondition(IPage<TaCustomerFrom> page,
86
+                                                     @Param("startTime") LocalDate startTime,
87
+                                                     @Param("endTime") LocalDate endTime,
88
+                                                     @Param("drainageId") String drainageId,
89
+                                                     @Param("phone") String phone,
90
+                                                     @Param("sharePersonPhone") String sharePersonPhone,
91
+                                                     @Param("orgId") Integer orgId);
92
+
93
+
94
+    /**
95
+     *
96
+     * @param startTime
97
+     * @param endTime
98
+     * @param drainageId
99
+     * @param phone
100
+     * @param sharePersonPhone
101
+     * @param orgId
102
+     * @return
103
+     */
104
+    List<RedPacketVisitRecordtExport> exportVisitRecordByCondition(@Param("startTime") LocalDate startTime,
105
+                                                                   @Param("endTime") LocalDate endTime,
106
+                                                                   @Param("drainageId") String drainageId,
107
+                                                                   @Param("phone") String phone,
108
+                                                                   @Param("sharePersonPhone") String sharePersonPhone,
109
+                                                                   @Param("orgId") Integer orgId);
110
+
67
 }
111
 }

+ 33
- 1
src/main/java/com/huiju/estateagents/redpack/service/ITaOrgOrderService.java Целия файл

150
      * @param orgId
150
      * @param orgId
151
      * @return
151
      * @return
152
      */
152
      */
153
-    ResponseBean listRedPacketRecords(Integer pageNum, Integer pageSize, String phone,String activityId, String orderId, String wxOrderId, String tradeNo, Integer status, Integer orgId);
153
+    ResponseBean listRedPacketRecords(Integer pageNum, Integer pageSize, String phone, String activityId, String orderId, String wxOrderId, String tradeNo, Integer status, Integer orgId);
154
+
155
+    /**
156
+     * 获取消费订单列表
157
+     *
158
+     * @param pageNum
159
+     * @param pageSize
160
+     * @param startTime
161
+     * @param endTime
162
+     * @param orderId
163
+     * @param status
164
+     * @param consumeType
165
+     * @param phone
166
+     * @param orgId
167
+     * @return
168
+     */
169
+    ResponseBean listConsumeOrderByCondition(Integer pageNum, Integer pageSize, LocalDate startTime, LocalDate endTime, String orderId, Integer status,
170
+                                             String consumeType, String phone, Integer orgId);
171
+
172
+    /**
173
+     * 导出消费订单列表
174
+     *
175
+     * @param startTime
176
+     * @param endTime
177
+     * @param orderId
178
+     * @param status
179
+     * @param consumeType
180
+     * @param phone
181
+     * @param orgId
182
+     * @param response
183
+     * @throws Exception
184
+     */
185
+    void exportConsumeOrderByCondition(LocalDate startTime, LocalDate endTime, String orderId, Integer status, String consumeType, String phone, Integer orgId, HttpServletResponse response) throws Exception;
154
 }
186
 }

+ 32
- 0
src/main/java/com/huiju/estateagents/redpack/service/ITaRedPacketService.java Целия файл

4
 import com.huiju.estateagents.base.ResponseBean;
4
 import com.huiju.estateagents.base.ResponseBean;
5
 import com.huiju.estateagents.redpack.entity.TaRedPacket;
5
 import com.huiju.estateagents.redpack.entity.TaRedPacket;
6
 
6
 
7
+import javax.servlet.http.HttpServletResponse;
8
+import java.time.LocalDate;
9
+
7
 /**
10
 /**
8
  * <p>
11
  * <p>
9
  * 红包助力活动  服务类
12
  * 红包助力活动  服务类
39
      */
42
      */
40
     TaRedPacket getRedPacketImages(TaRedPacket record);
43
     TaRedPacket getRedPacketImages(TaRedPacket record);
41
 
44
 
45
+
46
+    /**
47
+     * 查询客户访问记录
48
+     *
49
+     * @param pageNum
50
+     * @param pageSize
51
+     * @param startTime
52
+     * @param endTime
53
+     * @param drainageId
54
+     * @param phone
55
+     * @param sharePersonPhone
56
+     * @param orgId
57
+     * @return
58
+     */
59
+    ResponseBean listVisitRecordByCondition(Integer pageNum, Integer pageSize, LocalDate startTime, LocalDate endTime, String drainageId, String phone, String sharePersonPhone, Integer orgId);
60
+
61
+    /**
62
+     * 导出客户访问记录
63
+     *
64
+     * @param startTime
65
+     * @param endTime
66
+     * @param drainageId
67
+     * @param phone
68
+     * @param sharePersonPhone
69
+     * @param orgId
70
+     */
71
+    void exportVisitRecordByCondition(LocalDate startTime, LocalDate endTime, String drainageId, String phone, String sharePersonPhone, Integer orgId, HttpServletResponse response) throws Exception;
72
+
73
+
42
 }
74
 }

+ 22
- 3
src/main/java/com/huiju/estateagents/redpack/service/impl/TaOrgOrderServiceImpl.java Целия файл

14
 import com.huiju.estateagents.common.wxpay.WXPayConstants;
14
 import com.huiju.estateagents.common.wxpay.WXPayConstants;
15
 import com.huiju.estateagents.common.wxpay.WxConfig;
15
 import com.huiju.estateagents.common.wxpay.WxConfig;
16
 import com.huiju.estateagents.entity.TaWxPayConfig;
16
 import com.huiju.estateagents.entity.TaWxPayConfig;
17
+import com.huiju.estateagents.excel.redPacket.AccountConsumeRecordExport;
17
 import com.huiju.estateagents.excel.redPacket.AccountPayRecordExport;
18
 import com.huiju.estateagents.excel.redPacket.AccountPayRecordExport;
18
 import com.huiju.estateagents.excel.redPacket.AccountRefundRecordExport;
19
 import com.huiju.estateagents.excel.redPacket.AccountRefundRecordExport;
19
 import com.huiju.estateagents.mapper.TaWxPayConfigMapper;
20
 import com.huiju.estateagents.mapper.TaWxPayConfigMapper;
230
             return responseBean;
231
             return responseBean;
231
         }
232
         }
232
 
233
 
233
-        // 3.创建账户腿狂申请表信息
234
+        // 3.创建账户退款申请表信息
234
         TaOrgRefundApplication taOrgRefundApplication = new TaOrgRefundApplication();
235
         TaOrgRefundApplication taOrgRefundApplication = new TaOrgRefundApplication();
235
         taOrgRefundApplication.setOrgId(orgId);
236
         taOrgRefundApplication.setOrgId(orgId);
236
         taOrgRefundApplication.setUserId(userId);
237
         taOrgRefundApplication.setUserId(userId);
310
     }
311
     }
311
 
312
 
312
     @Override
313
     @Override
313
-    public ResponseBean listRedPacketRecords(Integer pageNum, Integer pageSize,String phone,String activityId, String orderId, String wxOrderId, String tradeNo, Integer status, Integer orgId) {
314
+    public ResponseBean listRedPacketRecords(Integer pageNum, Integer pageSize, String phone, String activityId, String orderId, String wxOrderId, String tradeNo, Integer status, Integer orgId) {
314
         ResponseBean responseBean = new ResponseBean();
315
         ResponseBean responseBean = new ResponseBean();
315
         IPage<TaOrgOrder> pg = new Page<>(pageNum, pageSize);
316
         IPage<TaOrgOrder> pg = new Page<>(pageNum, pageSize);
316
-        responseBean.addSuccess(taOrgOrderMapper.listRedPacketRecords(pg,phone,activityId,orderId, wxOrderId, tradeNo, status, orgId));
317
+        responseBean.addSuccess(taOrgOrderMapper.listRedPacketRecords(pg, phone, activityId, orderId, wxOrderId, tradeNo, status, orgId));
317
         return responseBean;
318
         return responseBean;
318
     }
319
     }
319
 
320
 
321
+    @Override
322
+    public ResponseBean listConsumeOrderByCondition(Integer pageNum, Integer pageSize, LocalDate startTime, LocalDate endTime, String orderId, Integer status, String consumeType, String phone, Integer orgId) {
323
+        ResponseBean responseBean = new ResponseBean();
324
+        IPage<TaOrgOrder> pg = new Page<>(pageNum, pageSize);
325
+        responseBean.addSuccess(taOrgOrderMapper.listConsumeOrderByCondition(pg, startTime, endTime, orderId, status, consumeType, phone, orgId));
326
+        return responseBean;
327
+    }
328
+
329
+    @Override
330
+    public void exportConsumeOrderByCondition(LocalDate startTime, LocalDate endTime, String orderId, Integer status, String consumeType, String phone, Integer orgId, HttpServletResponse response) throws Exception {
331
+        response.setContentType("application/octet-stream");
332
+        response.setCharacterEncoding("utf-8");
333
+        List<AccountConsumeRecordExport> records = taOrgOrderMapper.exportConsumeOrderByCondition(startTime, endTime, orderId, status, consumeType, phone, orgId);
334
+        String fileName = URLEncoder.encode("消费订单", "UTF-8");
335
+        response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
336
+        EasyExcel.write(response.getOutputStream(), AccountConsumeRecordExport.class).sheet("消费订单").doWrite(records);
337
+    }
338
+
320
     /**
339
     /**
321
      * 获取每个小程序独立的微信账户
340
      * 获取每个小程序独立的微信账户
322
      *
341
      *

+ 29
- 0
src/main/java/com/huiju/estateagents/redpack/service/impl/TaRedPacketServiceImpl.java Целия файл

1
 package com.huiju.estateagents.redpack.service.impl;
1
 package com.huiju.estateagents.redpack.service.impl;
2
 
2
 
3
+import com.alibaba.excel.EasyExcel;
3
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
5
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
6
+import com.baomidou.mybatisplus.core.metadata.IPage;
7
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
5
 import com.huiju.estateagents.base.ResponseBean;
8
 import com.huiju.estateagents.base.ResponseBean;
6
 import com.huiju.estateagents.common.CommConstant;
9
 import com.huiju.estateagents.common.CommConstant;
7
 import com.huiju.estateagents.common.CommonUtils;
10
 import com.huiju.estateagents.common.CommonUtils;
8
 import com.huiju.estateagents.common.StringUtils;
11
 import com.huiju.estateagents.common.StringUtils;
12
+import com.huiju.estateagents.entity.TaCustomerFrom;
13
+import com.huiju.estateagents.excel.redPacket.RedPacketRankingListExport;
14
+import com.huiju.estateagents.excel.redPacket.RedPacketVisitRecordtExport;
9
 import com.huiju.estateagents.redpack.entity.TaH5Images;
15
 import com.huiju.estateagents.redpack.entity.TaH5Images;
10
 import com.huiju.estateagents.redpack.entity.TaRedPacket;
16
 import com.huiju.estateagents.redpack.entity.TaRedPacket;
11
 import com.huiju.estateagents.redpack.entity.TaRedPacketHelp;
17
 import com.huiju.estateagents.redpack.entity.TaRedPacketHelp;
16
 import org.slf4j.LoggerFactory;
22
 import org.slf4j.LoggerFactory;
17
 import org.springframework.beans.factory.annotation.Autowired;
23
 import org.springframework.beans.factory.annotation.Autowired;
18
 import org.springframework.stereotype.Service;
24
 import org.springframework.stereotype.Service;
25
+import org.springframework.transaction.annotation.Transactional;
19
 
26
 
27
+import javax.servlet.http.HttpServletResponse;
28
+import java.net.URLEncoder;
29
+import java.time.LocalDate;
20
 import java.time.LocalDateTime;
30
 import java.time.LocalDateTime;
21
 import java.util.HashMap;
31
 import java.util.HashMap;
22
 import java.util.List;
32
 import java.util.List;
51
     private TaRedPacketMoneyMapper taRedPacketMoneyMapper;
61
     private TaRedPacketMoneyMapper taRedPacketMoneyMapper;
52
 
62
 
53
     @Override
63
     @Override
64
+    @Transactional
54
     public ResponseBean initializeRedPacket(TaRedPacket record) {
65
     public ResponseBean initializeRedPacket(TaRedPacket record) {
55
         ResponseBean responseBean = new ResponseBean();
66
         ResponseBean responseBean = new ResponseBean();
56
 
67
 
108
         return record;
119
         return record;
109
     }
120
     }
110
 
121
 
122
+    @Override
123
+    public ResponseBean listVisitRecordByCondition(Integer pageNum, Integer pageSize, LocalDate startTime, LocalDate endTime, String drainageId, String phone, String sharePersonPhone, Integer orgId) {
124
+        ResponseBean responseBean = new ResponseBean();
125
+        IPage<TaCustomerFrom> pg = new Page<>(pageNum,pageSize);
126
+        responseBean.addSuccess(taRedPacketMapper.listVisitRecordByCondition(pg,startTime,endTime,drainageId,phone,sharePersonPhone,orgId));
127
+        return responseBean;
128
+    }
129
+
130
+    @Override
131
+    public void exportVisitRecordByCondition(LocalDate startTime, LocalDate endTime, String drainageId,String phone, String sharePersonPhone, Integer orgId, HttpServletResponse response) throws Exception {
132
+        response.setContentType("application/octet-stream");
133
+        response.setCharacterEncoding("utf-8");
134
+        List<RedPacketVisitRecordtExport> records = taRedPacketMapper.exportVisitRecordByCondition(startTime,endTime,drainageId,phone,sharePersonPhone,orgId);
135
+        String fileName = URLEncoder.encode("客户数据", "UTF-8");
136
+        response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
137
+        EasyExcel.write(response.getOutputStream(), RedPacketVisitRecordtExport.class).sheet("客户数据").doWrite(records);
138
+    }
139
+
111
     /**
140
     /**
112
      * 保存/更新红包图片信息
141
      * 保存/更新红包图片信息
113
      *
142
      *

+ 105
- 10
src/main/resources/mapper/redpack/TaOrgOrderMapper.xml Целия файл

111
             <if test = " payStartTime != null ">
111
             <if test = " payStartTime != null ">
112
                 AND t.pay_date &gt;= #{payStartTime}
112
                 AND t.pay_date &gt;= #{payStartTime}
113
             </if>
113
             </if>
114
-            <if test = " payStartTime != null and">
115
-                AND t.pay_date &lt;= #{payStartTime}
114
+            <if test = " payEndTime != null ">
115
+                AND t.pay_date &lt;= #{payEndTime}
116
             </if>
116
             </if>
117
             <if test = " tradingStatus != null">
117
             <if test = " tradingStatus != null">
118
                 AND t.trading_status = #{tradingStatus}
118
                 AND t.trading_status = #{tradingStatus}
150
             <if test = " payStartTime != null ">
150
             <if test = " payStartTime != null ">
151
                 AND t.pay_date &gt;= #{payStartTime}
151
                 AND t.pay_date &gt;= #{payStartTime}
152
             </if>
152
             </if>
153
-            <if test = " payStartTime != null and">
154
-                AND t.pay_date &lt;= #{payStartTime}
153
+            <if test = " payEndTime != null ">
154
+                AND t.pay_date &lt;= #{payEndTime}
155
             </if>
155
             </if>
156
             <if test = " tradingStatus != null">
156
             <if test = " tradingStatus != null">
157
                 AND t.trading_status = #{tradingStatus}
157
                 AND t.trading_status = #{tradingStatus}
190
 
190
 
191
     <select id="exportRefundOrderByCondition" resultType="com.huiju.estateagents.excel.redPacket.AccountRefundRecordExport">
191
     <select id="exportRefundOrderByCondition" resultType="com.huiju.estateagents.excel.redPacket.AccountRefundRecordExport">
192
         SELECT
192
         SELECT
193
-
194
-        FROM            t.order_id,
195
-        t.amount,
196
-        t.create_date,
197
-        ( CASE t3.audit_status WHEN 'agree' THEN '已退款' WHEN 'unagree' THEN '已驳回' ELSE '已申请' END ) tradingStatus,
198
-        t3.audit_result
193
+            t.order_id,
194
+            t.amount,
195
+            t.create_date,
196
+            ( CASE t3.audit_status WHEN 'agree' THEN '已退款' WHEN 'unagree' THEN '已驳回' ELSE '已申请' END ) tradingStatus,
197
+            t3.audit_result
198
+        FROM
199
             ta_org_order t
199
             ta_org_order t
200
         INNER JOIN ta_org_order_detail t2 ON t.order_id = t2.order_id AND t2.item_type = 'refund'
200
         INNER JOIN ta_org_order_detail t2 ON t.order_id = t2.order_id AND t2.item_type = 'refund'
201
         LEFT JOIN ta_org_refund_application t3 ON t.order_id = t3.order_id
201
         LEFT JOIN ta_org_refund_application t3 ON t.order_id = t3.order_id
259
         ORDER BY
259
         ORDER BY
260
             t.create_date DESC
260
             t.create_date DESC
261
     </select>
261
     </select>
262
+
263
+    <select id = "listConsumeOrderByCondition" resultType="com.huiju.estateagents.redpack.entity.TaOrgOrder">
264
+        SELECT
265
+            t.*,
266
+            t3.phone
267
+            <if test="consumeType == 'redPacket'">
268
+                ,t4.activity_name
269
+            </if>
270
+        FROM
271
+            ta_org_order t
272
+            INNER JOIN ta_org_order_detail t2 ON t.order_id = t2.order_id
273
+                <if test="consumeType != null and consumeType != ''">
274
+                    AND t2.item_type = #{consumeType}
275
+                </if>
276
+            LEFT JOIN ta_person t3 on t2.receiver_id = t3.person_id
277
+            <if test="consumeType == 'redPacket'">
278
+                LEFT JOIN ta_red_packet t4 ON t2.target_id = t4.activity_id
279
+            </if>
280
+        WHERE
281
+            t.org_id = #{orgId}
282
+            AND t.`status` >- 1
283
+            <if test = " orderId != null and orderId != ''">
284
+                AND t.order_id like concat( '%',#{orderId},'%')
285
+            </if>
286
+            <if test = " tradeNo != null and tradeNo != ''">
287
+                AND t.trade_no like concat( '%',#{tradeNo},'%')
288
+            </if>
289
+            <if test = " wxOrderId != null and wxOrderId != ''">
290
+                AND t.wx_order_id like concat ('%',#{wxOrderId},'%')
291
+            </if>
292
+            <if test = " startTime != null ">
293
+                AND t.create_date &gt;= #{startTime}
294
+            </if>
295
+            <if test = " entartTime != null and">
296
+                AND t.create_date &lt;= #{entartTime}
297
+            </if>
298
+            <if test = " status != null">
299
+                AND t2.status = #{status}
300
+            </if>
301
+            <if test = "phone != null and phone != ''">
302
+                AND t3.phone = #{phone}
303
+            </if>
304
+        ORDER BY
305
+            t.create_date DESC
306
+
307
+    </select>
308
+
309
+    <select id="exportConsumeOrderByCondition" resultType="com.huiju.estateagents.excel.redPacket.AccountConsumeRecordExport">
310
+        SELECT
311
+            t.order_id,
312
+            t.amount,
313
+            ( CASE t2.item_type WHEN 'redPacket' THEN '红包' ELSE '' END ) consumeType,
314
+            <if test="consumeType == 'redPacket'">
315
+                t4.activity_name,
316
+            </if>
317
+            t.create_date,
318
+            t3.phone,
319
+            ( CASE t2.STATUS WHEN 1 THEN '成功' WHEN 0 THEN '失败' ELSE '' END ) consumeStatus
320
+        FROM
321
+            ta_org_order t
322
+            INNER JOIN ta_org_order_detail t2 ON t.order_id = t2.order_id
323
+                <if test="consumeType != null and consumeType != ''">
324
+                    AND t2.item_type = #{consumeType}
325
+                </if>
326
+            LEFT JOIN ta_person t3 ON t2.receiver_id = t3.person_id
327
+            <if test="consumeType == 'redPacket'">
328
+                LEFT JOIN ta_red_packet t4 ON t2.target_id = t4.activity_id
329
+            </if>
330
+        WHERE
331
+            t.org_id = #{orgId}
332
+            AND t.`status` >- 1
333
+            <if test = " orderId != null and orderId != ''">
334
+                AND t.order_id like concat( '%',#{orderId},'%')
335
+            </if>
336
+            <if test = " tradeNo != null and tradeNo != ''">
337
+                AND t.trade_no like concat( '%',#{tradeNo},'%')
338
+            </if>
339
+            <if test = " wxOrderId != null and wxOrderId != ''">
340
+                AND t.wx_order_id like concat ('%',#{wxOrderId},'%')
341
+            </if>
342
+            <if test = " startTime != null ">
343
+                AND t.create_date &gt;= #{startTime}
344
+            </if>
345
+            <if test = " entartTime != null and">
346
+                AND t.create_date &lt;= #{entartTime}
347
+            </if>
348
+            <if test = " status != null">
349
+                AND t2.status = #{status}
350
+            </if>
351
+            <if test = "phone != null and phone != ''">
352
+                AND t3.phone = #{phone}
353
+            </if>
354
+        ORDER BY
355
+            t.create_date DESC
356
+    </select>
262
 </mapper>
357
 </mapper>

+ 70
- 0
src/main/resources/mapper/redpack/TaRedPacketMapper.xml Целия файл

118
             t2.activity_id = 1
118
             t2.activity_id = 1
119
     </insert>
119
     </insert>
120
 
120
 
121
+    <select id = "listVisitRecordByCondition" resultType="com.huiju.estateagents.entity.TaCustomerFrom">
122
+        SELECT
123
+            t.*,
124
+            t2.nickname,
125
+            t2.NAME,
126
+            t2.avatarurl,
127
+            t2.phone,
128
+            t3.nickname sharePersonNickname,
129
+            t3.phone sharePersonPhone
130
+        FROM
131
+            ta_customer_from t
132
+            LEFT JOIN ta_person t2 ON t.person_id = t2.person_id
133
+            LEFT JOIN ta_person t3 ON t.share_person_id = t2.person_id
134
+        WHERE
135
+            t.org_id = #{orgId}
136
+            AND t.target_type IN ( 'h5', 'dynamic' )
137
+            AND t.target_id = #{drainageId}
138
+            <if test = "startTime != null">
139
+                AND t.create_date &gt;= #{startTime}
140
+            </if>
141
+
142
+             <if test = "endTime != null">
143
+                 AND t.create_date &lt;= #{endTime}
144
+            </if>
145
+
146
+            <if test="sharePersonPhone != null and sharePersonPhone != ''">
147
+                AND t3.phone = #{sharePersonPhone}
148
+            </if>
149
+            <if test="phone != null and phone != ''">
150
+                AND t2.phone = #{phone}
151
+            </if>
152
+         ORDER BY
153
+            t.create_date desc
154
+    </select>
155
+
156
+    <select id = "exportVisitRecordByCondition" resultType="com.huiju.estateagents.excel.redPacket.RedPacketVisitRecordtExport">
157
+        SELECT
158
+        t.create_date
159
+        t2.nickname,
160
+        t2.NAME,
161
+        t2.avatarurl,
162
+        t2.phone,
163
+        t3.nickname sharePersonNickname,
164
+        t3.phone sharePersonPhone
165
+        FROM
166
+        ta_customer_from t
167
+        LEFT JOIN ta_person t2 ON t.person_id = t2.person_id
168
+        LEFT JOIN ta_person t3 ON t.share_person_id = t2.person_id
169
+        WHERE
170
+        t.org_id = #{orgId}
171
+        AND t.target_type IN ( 'h5', 'dynamic' )
172
+        AND t.target_id = #{drainageId}
173
+        <if test = "startTime != null">
174
+            AND t.create_date &gt;= #{startTime}
175
+        </if>
176
+
177
+        <if test = "endTime != null">
178
+            AND t.create_date &lt;= #{endTime}
179
+        </if>
180
+
181
+        <if test="sharePersonPhone != null and sharePersonPhone != ''">
182
+            AND t3.phone = #{sharePersonPhone}
183
+        </if>
184
+        <if test="phone != null and phone != ''">
185
+            AND t2.phone = #{phone}
186
+        </if>
187
+        ORDER BY
188
+        t.create_date desc
189
+    </select>
190
+
121
 </mapper>
191
 </mapper>