Ver código fonte

Merge branch 'dev' of http://git.ycjcjy.com/zhiyuxing/estateagents into dev

# Conflicts:
#	src/main/java/com/huiju/estateagents/redpack/entity/TaOrgOrder.java
魏超 5 anos atrás
pai
commit
9c94716a01
27 arquivos alterados com 787 adições e 136 exclusões
  1. 14
    4
      src/main/java/com/huiju/estateagents/drainage/controller/TaDrainageController.java
  2. 15
    0
      src/main/java/com/huiju/estateagents/drainage/entity/TaDrainage.java
  3. 41
    14
      src/main/java/com/huiju/estateagents/drainage/service/impl/TaDrainageServiceImpl.java
  4. 5
    5
      src/main/java/com/huiju/estateagents/excel/redPacket/AccountConsumeRecordExport.java
  5. 47
    0
      src/main/java/com/huiju/estateagents/excel/redPacket/RedPacketVisitRecordtExport.java
  6. 2
    1
      src/main/java/com/huiju/estateagents/interceptor/AccessInterceptor.java
  7. 71
    0
      src/main/java/com/huiju/estateagents/redpack/controller/TaOrgOrderController.java
  8. 69
    1
      src/main/java/com/huiju/estateagents/redpack/controller/TaRedPacketController.java
  9. 3
    0
      src/main/java/com/huiju/estateagents/redpack/entity/TaMpPerson.java
  10. 1
    1
      src/main/java/com/huiju/estateagents/redpack/entity/TaOrgOrder.java
  11. 6
    0
      src/main/java/com/huiju/estateagents/redpack/entity/TaRedPacket.java
  12. 4
    0
      src/main/java/com/huiju/estateagents/redpack/entity/TaRedPacketClient.java
  13. 3
    0
      src/main/java/com/huiju/estateagents/redpack/entity/TaRedPacketHelp.java
  14. 3
    0
      src/main/java/com/huiju/estateagents/redpack/entity/TaRedPacketMoney.java
  15. 2
    0
      src/main/java/com/huiju/estateagents/redpack/mapper/TaH5TemplateMapper.java
  16. 43
    0
      src/main/java/com/huiju/estateagents/redpack/mapper/TaOrgOrderMapper.java
  17. 53
    5
      src/main/java/com/huiju/estateagents/redpack/mapper/TaRedPacketMapper.java
  18. 33
    1
      src/main/java/com/huiju/estateagents/redpack/service/ITaOrgOrderService.java
  19. 34
    0
      src/main/java/com/huiju/estateagents/redpack/service/ITaRedPacketService.java
  20. 22
    3
      src/main/java/com/huiju/estateagents/redpack/service/impl/TaOrgOrderServiceImpl.java
  21. 36
    18
      src/main/java/com/huiju/estateagents/redpack/service/impl/TaRedPacketServiceImpl.java
  22. 5
    0
      src/main/java/com/huiju/estateagents/sample/entity/TaH5Sample.java
  23. 24
    23
      src/main/java/com/huiju/estateagents/third/controller/WxRedpackController.java
  24. 11
    10
      src/main/java/com/huiju/estateagents/third/service/ITaThirdPartyMiniappConfigService.java
  25. 55
    26
      src/main/java/com/huiju/estateagents/third/service/impl/TaThirdPartyMiniappConfigServiceImpl.java
  26. 105
    10
      src/main/resources/mapper/redpack/TaOrgOrderMapper.xml
  27. 80
    14
      src/main/resources/mapper/redpack/TaRedPacketMapper.xml

+ 14
- 4
src/main/java/com/huiju/estateagents/drainage/controller/TaDrainageController.java Ver arquivo

@@ -9,15 +9,14 @@ import com.huiju.estateagents.common.CommConstant;
9 9
 import com.huiju.estateagents.common.DateUtils;
10 10
 import com.huiju.estateagents.common.StringUtils;
11 11
 import com.huiju.estateagents.drainage.entity.TaDrainage;
12
-import com.huiju.estateagents.drainage.service.ITaDrainageRecordService;
13 12
 import com.huiju.estateagents.drainage.service.ITaDrainageService;
14 13
 import com.huiju.estateagents.entity.ExtendContent;
15 14
 import com.huiju.estateagents.entity.TaPersonBuilding;
16
-import com.huiju.estateagents.mapper.TaMiniappMapper;
17 15
 import com.huiju.estateagents.reportCustomerAop.ReportCustomer;
18 16
 import com.huiju.estateagents.service.IExtendContentService;
19
-import com.huiju.estateagents.service.IMiniAppService;
17
+import com.huiju.estateagents.third.entity.TaMpInfo;
20 18
 import com.huiju.estateagents.third.entity.TaThirdPartyMiniappConfig;
19
+import com.huiju.estateagents.third.service.ITaMpInfoService;
21 20
 import com.huiju.estateagents.third.service.ITaThirdPartyMiniappConfigService;
22 21
 import org.slf4j.Logger;
23 22
 import org.slf4j.LoggerFactory;
@@ -53,6 +52,9 @@ public class    TaDrainageController extends BaseController {
53 52
     @Autowired
54 53
     public IExtendContentService iExtendContentService;
55 54
 
55
+    @Autowired
56
+    public ITaMpInfoService iTaMpInfoService;
57
+
56 58
     /**
57 59
      * 分页查询列表
58 60
      *
@@ -311,7 +313,15 @@ public class    TaDrainageController extends BaseController {
311 313
                                       HttpServletRequest request) {
312 314
         ResponseBean responseBean = new ResponseBean();
313 315
         try {
314
-            responseBean.addSuccess(iTaDrainageService.getById(id));
316
+            TaDrainage taDrainage = iTaDrainageService.getById(id);
317
+            QueryWrapper<TaMpInfo> queryWrapper = new QueryWrapper<>();
318
+            queryWrapper.eq("status", CommConstant.STATUS_NORMAL);
319
+            queryWrapper.eq("org_id", 0);
320
+            List<TaMpInfo> mplist = iTaMpInfoService.list(queryWrapper);
321
+            if (mplist.size() > 0){
322
+                taDrainage.setMpAppid(mplist.get(0).getAppid());
323
+            }
324
+            responseBean.addSuccess(taDrainage);
315 325
         } catch (Exception e) {
316 326
             e.printStackTrace();
317 327
             logger.error("taDrainageDelete -=- {}", e.toString());

+ 15
- 0
src/main/java/com/huiju/estateagents/drainage/entity/TaDrainage.java Ver arquivo

@@ -96,4 +96,19 @@ public class TaDrainage implements Serializable {
96 96
      */
97 97
     private String activityId;
98 98
 
99
+    @TableField(exist = false)
100
+    private String mpAppid;
101
+
102
+    /**
103
+     * h5模板ID
104
+     */
105
+    @TableField(exist = false)
106
+    private Integer h5SampleId;
107
+
108
+    /**
109
+     * 是否为从模板创建h5活动,true:是,false:否
110
+     */
111
+    @TableField(exist = false)
112
+    private Boolean fromH5Sample;
113
+
99 114
 }

+ 41
- 14
src/main/java/com/huiju/estateagents/drainage/service/impl/TaDrainageServiceImpl.java Ver arquivo

@@ -6,16 +6,23 @@ import com.huiju.estateagents.base.ResponseBean;
6 6
 import com.huiju.estateagents.common.CommConstant;
7 7
 import com.huiju.estateagents.common.CommonUtils;
8 8
 import com.huiju.estateagents.common.DateUtils;
9
+import com.huiju.estateagents.common.StringUtils;
9 10
 import com.huiju.estateagents.drainage.entity.TaDrainage;
10 11
 import com.huiju.estateagents.drainage.mapper.TaDrainageMapper;
11 12
 import com.huiju.estateagents.drainage.service.ITaDrainageService;
12 13
 import com.huiju.estateagents.entity.TaMiniapp;
13 14
 import com.huiju.estateagents.mapper.TaMiniappMapper;
15
+import com.huiju.estateagents.redpack.entity.TaH5Template;
14 16
 import com.huiju.estateagents.redpack.entity.TaRedPacket;
17
+import com.huiju.estateagents.redpack.mapper.TaH5TemplateMapper;
15 18
 import com.huiju.estateagents.redpack.service.ITaRedPacketService;
19
+import com.huiju.estateagents.sample.entity.TaH5Sample;
20
+import com.huiju.estateagents.sample.mapper.TaH5SampleMapper;
16 21
 import com.huiju.estateagents.service.IMiniAppService;
17 22
 import com.huiju.estateagents.third.entity.TaThirdPartyMiniappConfig;
18 23
 import com.huiju.estateagents.third.service.ITaThirdPartyMiniappConfigService;
24
+import org.slf4j.Logger;
25
+import org.slf4j.LoggerFactory;
19 26
 import org.springframework.beans.factory.annotation.Autowired;
20 27
 import org.springframework.stereotype.Service;
21 28
 
@@ -32,6 +39,8 @@ import java.time.LocalDateTime;
32 39
 @Service
33 40
 public class TaDrainageServiceImpl extends ServiceImpl<TaDrainageMapper, TaDrainage> implements ITaDrainageService {
34 41
 
42
+    private Logger logger = LoggerFactory.getLogger(TaDrainageServiceImpl.class);
43
+
35 44
     @Autowired
36 45
     private TaDrainageMapper taDrainageMapper;
37 46
 
@@ -47,6 +56,12 @@ public class TaDrainageServiceImpl extends ServiceImpl<TaDrainageMapper, TaDrain
47 56
     @Autowired
48 57
     private ITaThirdPartyMiniappConfigService iTaThirdPartyMiniappConfigService;
49 58
 
59
+    @Autowired
60
+    private TaH5SampleMapper taH5SampleMapper;
61
+
62
+    @Autowired
63
+    private TaH5TemplateMapper taH5TemplateMapper;
64
+
50 65
     @Override
51 66
     public void updateDrainageToEnd() {
52 67
         taDrainageMapper.updateDrainageToEnd();
@@ -56,7 +71,6 @@ public class TaDrainageServiceImpl extends ServiceImpl<TaDrainageMapper, TaDrain
56 71
     public ResponseBean saveDrainage(TaDrainage taDrainage, Integer orgId, Integer userId) {
57 72
         ResponseBean responseBean = new ResponseBean();
58 73
 
59
-
60 74
         // 1.保存H5活动信息
61 75
         taDrainage.setOrgId(orgId);
62 76
         taDrainage.setCreateUser(userId);
@@ -78,20 +92,33 @@ public class TaDrainageServiceImpl extends ServiceImpl<TaDrainageMapper, TaDrain
78 92
         ResponseBean taMiniappQrcode = miniAppService.getQrCode(CommConstant.DRAINAGE_QRCODE.replace("#0", taDrainage.getDrainageId().toString()).replace("#1", "h5"), taMiniapp.getMiniappId());
79 93
         taDrainage.setQrCode(String.valueOf(taMiniappQrcode.getData()));
80 94
 
81
-        // 3.初始化活动(红包)相关数据
82
-        String activityId = CommonUtils.getUUIDS();
83
-        TaRedPacket taRedPacket = new TaRedPacket();
84
-        taRedPacket.setOrgId(orgId);
85
-        taRedPacket.setActivityId(activityId);
86
-        taRedPacket.setName(taDrainage.getName());
87
-        taRedPacket.setCreateDate(LocalDateTime.now());
88
-        taRedPacket.setStartDate(LocalDateTime.now().plusDays(1));
89
-        taRedPacket.setEndDate(DateUtils.dayToLocalDateime(taDrainage.getEndDate()));
90
-        ResponseBean redResponse = iTaRedPacketService.initializeRedPacket(taRedPacket);
91
-        if (ResponseBean.CODE_SUCCESS != redResponse.getCode()) {
92
-            return redResponse;
95
+        // 3.判断是否从h5样例入口创建
96
+        if (taDrainage.getFromH5Sample() && taDrainage.getH5SampleId() != null) {
97
+
98
+            // 5.查询h5样例是否配置默认模板
99
+            TaH5Sample taH5Sample = taH5SampleMapper.selectById(taDrainage.getH5SampleId());
100
+            if (taH5Sample != null && !StringUtils.isEmpty(taH5Sample.getH5TemplateId())) {
101
+
102
+                TaH5Template taH5Template = taH5TemplateMapper.selectById(taH5Sample.getH5TemplateId());
103
+                if (CommConstant.RED_PACKET.equals(taH5Template.getActivityType())) {
104
+
105
+                    // 7.初始化活动(红包)相关数据
106
+                    String activityId = CommonUtils.getUUIDS();
107
+                    TaRedPacket taRedPacket = new TaRedPacket();
108
+                    taRedPacket.setOrgId(orgId);
109
+                    taRedPacket.setActivityId(activityId);
110
+                    taRedPacket.setTempleActivityId(taH5Template.getActivityId());
111
+                    taRedPacket.setName(taDrainage.getName());
112
+                    taRedPacket.setCreateDate(LocalDateTime.now());
113
+                    taRedPacket.setStartDate(LocalDateTime.now().plusDays(1));
114
+                    taRedPacket.setEndDate(DateUtils.dayToLocalDateime(taDrainage.getEndDate()));
115
+                    iTaRedPacketService.initializeRedPacket(taRedPacket);
116
+
117
+                    taDrainage.setActivityType(taH5Template.getActivityType());
118
+                    taDrainage.setActivityId(activityId);
119
+                }
120
+            }
93 121
         }
94
-        taDrainage.setActivityId(activityId);
95 122
         updateById(taDrainage);
96 123
 
97 124
         // 4.添加第三方appid和secretis

+ 5
- 5
src/main/java/com/huiju/estateagents/excel/redPacket/AccountConsumeRecordExport.java Ver arquivo

@@ -25,23 +25,23 @@ public class AccountConsumeRecordExport {
25 25
 
26 26
     @ColumnWidth(15)
27 27
     @ExcelProperty(value = "消费方式", index = 2)
28
-    private String a;
28
+    private String consumeType;
29 29
 
30 30
 
31 31
     @ColumnWidth(15)
32 32
     @ExcelProperty(value = "活动名称", index = 3)
33
-    private String b;
33
+    private String activityName;
34 34
 
35 35
     @ColumnWidth(15)
36 36
     @ExcelProperty(value = "消费下单时间", index = 4)
37
-    private String c;
37
+    private String createDate;
38 38
 
39 39
 
40 40
     @ColumnWidth(15)
41 41
     @ExcelProperty(value = "接收人手机号码", index = 5)
42
-    private String d;
42
+    private String phone;
43 43
 
44 44
     @ColumnWidth(15)
45 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 Ver arquivo

@@ -0,0 +1,47 @@
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
+}

+ 2
- 1
src/main/java/com/huiju/estateagents/interceptor/AccessInterceptor.java Ver arquivo

@@ -75,7 +75,8 @@ public class AccessInterceptor implements HandlerInterceptor {
75 75
             "/api/notify",//微信支付所有回调放过
76 76
             "/api/refund/",//微信退款所有回调放过
77 77
             "/api/fadd/",//所有的法大大回调放过
78
-            "/api/third"
78
+            "/api/third",
79
+            "/api/third/redirect/"
79 80
     };
80 81
 
81 82
     /*

+ 71
- 0
src/main/java/com/huiju/estateagents/redpack/controller/TaOrgOrderController.java Ver arquivo

@@ -413,5 +413,76 @@ public class TaOrgOrderController extends BaseController {
413 413
         }
414 414
     }
415 415
 
416
+    /**
417
+     * 获取消费订单列表
418
+     *
419
+     * @param pageNum
420
+     * @param pageSize
421
+     * @param startTime   消费开始时间
422
+     * @param endTime     消费结束时间
423
+     * @param orderId     订单编号
424
+     * @param status      消费状态,1:成功,0:失败
425
+     * @param consumeType 消费方式,红包:redPacket
426
+     * @param phone       接收人手机号
427
+     * @param request
428
+     * @return
429
+     */
430
+    @RequestMapping(value = "/admin/orgOrder/listConsumeOrderByCondition", method = RequestMethod.GET)
431
+    public ResponseBean listConsumeOrderByCondition(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
432
+                                                    @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
433
+                                                    @RequestParam(value = "startTime", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDate startTime,
434
+                                                    @RequestParam(value = "endTime", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDate endTime,
435
+                                                    String orderId,
436
+                                                    Integer status,
437
+                                                    String consumeType,
438
+                                                    String phone,
439
+                                                    HttpServletRequest request) {
440
+        ResponseBean responseBean = new ResponseBean();
441
+        try {
442
+            responseBean = iTaOrgOrderService.listConsumeOrderByCondition(pageNum, pageSize, startTime, endTime, orderId, status, consumeType, phone, getOrgId(request));
443
+        } catch (Exception e) {
444
+            logger.error("listConsumeOrderByCondition -=- {}", e);
445
+            responseBean.addError(e.getMessage());
446
+        }
447
+        return responseBean;
448
+    }
449
+
450
+
451
+    /**
452
+     * 导出消费订单列表
453
+     *
454
+     * @param startTime
455
+     * @param endTime
456
+     * @param orderId
457
+     * @param status
458
+     * @param consumeType
459
+     * @param phone
460
+     * @param request
461
+     * @param response
462
+     * @throws Exception
463
+     */
464
+    @RequestMapping(value = "/admin/orgOrder/exportConsumeOrderByCondition", method = RequestMethod.GET)
465
+    public void exportConsumeOrderByCondition(@RequestParam(value = "startTime", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDate startTime,
466
+                                              @RequestParam(value = "endTime", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDate endTime,
467
+                                              String orderId,
468
+                                              Integer status,
469
+                                              String consumeType,
470
+                                              String phone,
471
+                                              HttpServletRequest request,
472
+                                              HttpServletResponse response) throws Exception {
473
+        try {
474
+            iTaOrgOrderService.exportConsumeOrderByCondition(startTime, endTime, orderId, status, consumeType, phone, getOrgId(request), response);
475
+        } catch (Exception e) {
476
+            logger.error("exportConsumeOrderByCondition 异常:", e);
477
+            response.reset();
478
+            response.setContentType("application/json");
479
+            response.setCharacterEncoding("utf-8");
480
+            Map<String, Object> map = new HashMap();
481
+            map.put("code", ResponseBean.ERROR_UNAVAILABLE);
482
+            map.put("message", "下载文件失败" + e.getMessage());
483
+            response.getWriter().println(JSON.toJSONString(map));
484
+        }
485
+    }
486
+
416 487
 
417 488
 }

+ 69
- 1
src/main/java/com/huiju/estateagents/redpack/controller/TaRedPacketController.java Ver arquivo

@@ -13,10 +13,12 @@ import com.huiju.estateagents.redpack.service.ITaRedPacketService;
13 13
 import org.slf4j.Logger;
14 14
 import org.slf4j.LoggerFactory;
15 15
 import org.springframework.beans.factory.annotation.Autowired;
16
+import org.springframework.format.annotation.DateTimeFormat;
16 17
 import org.springframework.web.bind.annotation.*;
17 18
 
18 19
 import javax.servlet.http.HttpServletRequest;
19 20
 import javax.servlet.http.HttpServletResponse;
21
+import java.time.LocalDate;
20 22
 import java.util.HashMap;
21 23
 import java.util.Map;
22 24
 
@@ -140,7 +142,7 @@ public class TaRedPacketController extends BaseController {
140 142
      * @param id 实体ID
141 143
      */
142 144
     @RequestMapping(value = "/admin/redPacket/{id}", method = RequestMethod.GET)
143
-    public ResponseBean taRedPacketGet(@PathVariable Integer id) {
145
+    public ResponseBean taRedPacketGet(@PathVariable String id) {
144 146
         ResponseBean responseBean = new ResponseBean();
145 147
         try {
146 148
             TaRedPacket record = iTaRedPacketService.getById(id);
@@ -242,4 +244,70 @@ public class TaRedPacketController extends BaseController {
242 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
 }

+ 3
- 0
src/main/java/com/huiju/estateagents/redpack/entity/TaMpPerson.java Ver arquivo

@@ -1,5 +1,7 @@
1 1
 package com.huiju.estateagents.redpack.entity;
2 2
 
3
+import com.baomidou.mybatisplus.annotation.IdType;
4
+import com.baomidou.mybatisplus.annotation.TableId;
3 5
 import lombok.Data;
4 6
 import lombok.EqualsAndHashCode;
5 7
 import lombok.experimental.Accessors;
@@ -25,6 +27,7 @@ public class TaMpPerson implements Serializable {
25 27
     /**
26 28
      * 人员ID
27 29
      */
30
+    @TableId(value = "mp_person_id", type = IdType.UUID)
28 31
     private String mpPersonId;
29 32
 
30 33
     /**

+ 1
- 1
src/main/java/com/huiju/estateagents/redpack/entity/TaOrgOrder.java Ver arquivo

@@ -14,7 +14,7 @@ import lombok.experimental.Accessors;
14 14
 
15 15
 /**
16 16
  * <p>
17
- * 组织订单表 
17
+ * 组织订单表
18 18
  * </p>
19 19
  *
20 20
  * @author fxf

+ 6
- 0
src/main/java/com/huiju/estateagents/redpack/entity/TaRedPacket.java Ver arquivo

@@ -148,4 +148,10 @@ public class TaRedPacket implements Serializable {
148 148
      */
149 149
     @TableField(exist = false)
150 150
     private TaRedPacketClient taRedPacketClient;
151
+
152
+    /**
153
+     * 模板表配置的活动ID
154
+     */
155
+    @TableField(exist = false)
156
+    private String templeActivityId;
151 157
 }

+ 4
- 0
src/main/java/com/huiju/estateagents/redpack/entity/TaRedPacketClient.java Ver arquivo

@@ -1,6 +1,9 @@
1 1
 package com.huiju.estateagents.redpack.entity;
2 2
 
3 3
 import java.io.Serializable;
4
+
5
+import com.baomidou.mybatisplus.annotation.IdType;
6
+import com.baomidou.mybatisplus.annotation.TableId;
4 7
 import lombok.Data;
5 8
 import lombok.EqualsAndHashCode;
6 9
 import lombok.experimental.Accessors;
@@ -23,6 +26,7 @@ public class TaRedPacketClient implements Serializable {
23 26
     /**
24 27
      * 活动ID
25 28
      */
29
+    @TableId(value = "activity_id", type = IdType.UUID)
26 30
     private String activityId;
27 31
 
28 32
     /**

+ 3
- 0
src/main/java/com/huiju/estateagents/redpack/entity/TaRedPacketHelp.java Ver arquivo

@@ -3,7 +3,9 @@ package com.huiju.estateagents.redpack.entity;
3 3
 import java.io.Serializable;
4 4
 import java.time.LocalDateTime;
5 5
 
6
+import com.baomidou.mybatisplus.annotation.IdType;
6 7
 import com.baomidou.mybatisplus.annotation.TableField;
8
+import com.baomidou.mybatisplus.annotation.TableId;
7 9
 import lombok.Data;
8 10
 import lombok.EqualsAndHashCode;
9 11
 import lombok.experimental.Accessors;
@@ -26,6 +28,7 @@ public class TaRedPacketHelp implements Serializable {
26 28
     /**
27 29
      * 活动ID
28 30
      */
31
+    @TableId(value = "activity_id", type = IdType.UUID)
29 32
     private String activityId;
30 33
 
31 34
     /**

+ 3
- 0
src/main/java/com/huiju/estateagents/redpack/entity/TaRedPacketMoney.java Ver arquivo

@@ -2,7 +2,9 @@ package com.huiju.estateagents.redpack.entity;
2 2
 
3 3
 import java.io.Serializable;
4 4
 
5
+import com.baomidou.mybatisplus.annotation.IdType;
5 6
 import com.baomidou.mybatisplus.annotation.TableField;
7
+import com.baomidou.mybatisplus.annotation.TableId;
6 8
 import lombok.Data;
7 9
 import lombok.EqualsAndHashCode;
8 10
 import lombok.experimental.Accessors;
@@ -25,6 +27,7 @@ public class TaRedPacketMoney implements Serializable {
25 27
     /**
26 28
      * 活动ID
27 29
      */
30
+    @TableId(value = "activity_id", type = IdType.UUID)
28 31
     private String activityId;
29 32
 
30 33
     /**

+ 2
- 0
src/main/java/com/huiju/estateagents/redpack/mapper/TaH5TemplateMapper.java Ver arquivo

@@ -4,6 +4,7 @@ import org.apache.ibatis.annotations.Mapper;
4 4
 
5 5
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
6 6
 import com.huiju.estateagents.redpack.entity.TaH5Template;
7
+import org.springframework.stereotype.Component;
7 8
 
8 9
 /**
9 10
  * <p>
@@ -14,6 +15,7 @@ import com.huiju.estateagents.redpack.entity.TaH5Template;
14 15
  * @since 2020-06-03
15 16
  */
16 17
 @Mapper
18
+@Component
17 19
 public interface TaH5TemplateMapper extends BaseMapper<TaH5Template> {
18 20
 
19 21
 }

+ 43
- 0
src/main/java/com/huiju/estateagents/redpack/mapper/TaOrgOrderMapper.java Ver arquivo

@@ -3,6 +3,7 @@ package com.huiju.estateagents.redpack.mapper;
3 3
 import java.time.LocalDate;
4 4
 import java.util.List;
5 5
 
6
+import com.huiju.estateagents.excel.redPacket.AccountConsumeRecordExport;
6 7
 import com.huiju.estateagents.excel.redPacket.AccountPayRecordExport;
7 8
 import com.huiju.estateagents.excel.redPacket.AccountRefundRecordExport;
8 9
 import org.apache.ibatis.annotations.Mapper;
@@ -199,4 +200,46 @@ public interface TaOrgOrderMapper extends BaseMapper<TaOrgOrder> {
199 200
                                            @Param("tradeNo") String tradeNo,
200 201
                                            @Param("status") Integer status,
201 202
                                            @Param("orgId") Integer orgId);
203
+
204
+    /**
205
+     * 查询消费订单列表
206
+     *
207
+     * @param page
208
+     * @param startTime
209
+     * @param endTime
210
+     * @param orderId
211
+     * @param status
212
+     * @param consumeType
213
+     * @param phone
214
+     * @param orgId
215
+     * @return
216
+     */
217
+    IPage<TaOrgOrder> listConsumeOrderByCondition(IPage<TaOrgOrder> page,
218
+                                                  @Param("startTime") LocalDate startTime,
219
+                                                  @Param("endTime") LocalDate endTime,
220
+                                                  @Param("orderId") String orderId,
221
+                                                  @Param("status") Integer status,
222
+                                                  @Param("consumeType") String consumeType,
223
+                                                  @Param("phone") String phone,
224
+                                                  @Param("orgId") Integer orgId);
225
+
226
+    /**
227
+     * 导出消费订单列表
228
+     *
229
+     * @param startTime
230
+     * @param endTime
231
+     * @param orderId
232
+     * @param status
233
+     * @param consumeType
234
+     * @param phone
235
+     * @param orgId
236
+     * @return
237
+     */
238
+    List<AccountConsumeRecordExport> exportConsumeOrderByCondition(@Param("startTime") LocalDate startTime,
239
+                                                                   @Param("endTime") LocalDate endTime,
240
+                                                                   @Param("orderId") String orderId,
241
+                                                                   @Param("status") Integer status,
242
+                                                                   @Param("consumeType") String consumeType,
243
+                                                                   @Param("phone") String phone,
244
+                                                                   @Param("orgId") Integer orgId);
202 245
 }

+ 53
- 5
src/main/java/com/huiju/estateagents/redpack/mapper/TaRedPacketMapper.java Ver arquivo

@@ -1,12 +1,17 @@
1 1
 package com.huiju.estateagents.redpack.mapper;
2 2
 
3
-import com.huiju.estateagents.redpack.entity.TaRedPacket;
4 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 8
 import org.apache.ibatis.annotations.Mapper;
6 9
 import org.apache.ibatis.annotations.Param;
7 10
 import org.springframework.stereotype.Component;
8 11
 
12
+import java.time.LocalDate;
9 13
 import java.time.LocalDateTime;
14
+import java.util.List;
10 15
 
11 16
 /**
12 17
  * <p>
@@ -31,6 +36,7 @@ public interface TaRedPacketMapper extends BaseMapper<TaRedPacket> {
31 36
                           @Param("qrCode") String qrCode,
32 37
                           @Param("startDate") LocalDateTime startDate,
33 38
                           @Param("endDate") LocalDateTime endDate,
39
+                          @Param("templeActivityId") String templeActivityId,
34 40
                           @Param("orgId") Integer orgId);
35 41
 
36 42
     /**
@@ -39,7 +45,8 @@ public interface TaRedPacketMapper extends BaseMapper<TaRedPacket> {
39 45
      * @param activityId
40 46
      * @return
41 47
      */
42
-    Integer initRedPacketHelp(@Param("activityId") String activityId);
48
+    Integer initRedPacketHelp(@Param("activityId") String activityId,
49
+                              @Param("templeActivityId") String templeActivityId);
43 50
 
44 51
     /**
45 52
      * 初始化红包客户端消息配置
@@ -47,7 +54,8 @@ public interface TaRedPacketMapper extends BaseMapper<TaRedPacket> {
47 54
      * @param activityId
48 55
      * @return
49 56
      */
50
-    Integer initRedPacketClient(@Param("activityId") String activityId);
57
+    Integer initRedPacketClient(@Param("activityId") String activityId,
58
+                                @Param("templeActivityId") String templeActivityId);
51 59
 
52 60
     /**
53 61
      * 初始化红包金额配置
@@ -55,7 +63,8 @@ public interface TaRedPacketMapper extends BaseMapper<TaRedPacket> {
55 63
      * @param activityId
56 64
      * @return
57 65
      */
58
-    Integer initRedPacketMoney(@Param("activityId") String activityId);
66
+    Integer initRedPacketMoney(@Param("activityId") String activityId,
67
+                               @Param("templeActivityId") String templeActivityId);
59 68
 
60 69
     /**
61 70
      * 初始化红包图片信息
@@ -63,5 +72,44 @@ public interface TaRedPacketMapper extends BaseMapper<TaRedPacket> {
63 72
      * @param activityId
64 73
      * @return
65 74
      */
66
-    Integer initRedPacketImages(@Param("activityId") String activityId);
75
+    Integer initRedPacketImages(@Param("activityId") String activityId,
76
+                                @Param("templeActivityId") String templeActivityId);
77
+
78
+    /**
79
+     * 查询客户访问记录
80
+     *
81
+     * @param page
82
+     * @param startTime
83
+     * @param endTime
84
+     * @param drainageId
85
+     * @param phone
86
+     * @param sharePersonPhone
87
+     * @param orgId
88
+     * @return
89
+     */
90
+    IPage<TaCustomerFrom> listVisitRecordByCondition(IPage<TaCustomerFrom> page,
91
+                                                     @Param("startTime") LocalDate startTime,
92
+                                                     @Param("endTime") LocalDate endTime,
93
+                                                     @Param("drainageId") String drainageId,
94
+                                                     @Param("phone") String phone,
95
+                                                     @Param("sharePersonPhone") String sharePersonPhone,
96
+                                                     @Param("orgId") Integer orgId);
97
+
98
+
99
+    /**
100
+     * @param startTime
101
+     * @param endTime
102
+     * @param drainageId
103
+     * @param phone
104
+     * @param sharePersonPhone
105
+     * @param orgId
106
+     * @return
107
+     */
108
+    List<RedPacketVisitRecordtExport> exportVisitRecordByCondition(@Param("startTime") LocalDate startTime,
109
+                                                                   @Param("endTime") LocalDate endTime,
110
+                                                                   @Param("drainageId") String drainageId,
111
+                                                                   @Param("phone") String phone,
112
+                                                                   @Param("sharePersonPhone") String sharePersonPhone,
113
+                                                                   @Param("orgId") Integer orgId);
114
+
67 115
 }

+ 33
- 1
src/main/java/com/huiju/estateagents/redpack/service/ITaOrgOrderService.java Ver arquivo

@@ -158,5 +158,37 @@ public interface ITaOrgOrderService extends IService<TaOrgOrder> {
158 158
      * @param orgId
159 159
      * @return
160 160
      */
161
-    ResponseBean listRedPacketRecords(Integer pageNum, Integer pageSize, String phone,String activityId, String orderId, String wxOrderId, String tradeNo, Integer status, Integer orgId);
161
+    ResponseBean listRedPacketRecords(Integer pageNum, Integer pageSize, String phone, String activityId, String orderId, String wxOrderId, String tradeNo, Integer status, Integer orgId);
162
+
163
+    /**
164
+     * 获取消费订单列表
165
+     *
166
+     * @param pageNum
167
+     * @param pageSize
168
+     * @param startTime
169
+     * @param endTime
170
+     * @param orderId
171
+     * @param status
172
+     * @param consumeType
173
+     * @param phone
174
+     * @param orgId
175
+     * @return
176
+     */
177
+    ResponseBean listConsumeOrderByCondition(Integer pageNum, Integer pageSize, LocalDate startTime, LocalDate endTime, String orderId, Integer status,
178
+                                             String consumeType, String phone, Integer orgId);
179
+
180
+    /**
181
+     * 导出消费订单列表
182
+     *
183
+     * @param startTime
184
+     * @param endTime
185
+     * @param orderId
186
+     * @param status
187
+     * @param consumeType
188
+     * @param phone
189
+     * @param orgId
190
+     * @param response
191
+     * @throws Exception
192
+     */
193
+    void exportConsumeOrderByCondition(LocalDate startTime, LocalDate endTime, String orderId, Integer status, String consumeType, String phone, Integer orgId, HttpServletResponse response) throws Exception;
162 194
 }

+ 34
- 0
src/main/java/com/huiju/estateagents/redpack/service/ITaRedPacketService.java Ver arquivo

@@ -3,6 +3,10 @@ package com.huiju.estateagents.redpack.service;
3 3
 import com.baomidou.mybatisplus.extension.service.IService;
4 4
 import com.huiju.estateagents.base.ResponseBean;
5 5
 import com.huiju.estateagents.redpack.entity.TaRedPacket;
6
+import org.springframework.transaction.annotation.Transactional;
7
+
8
+import javax.servlet.http.HttpServletResponse;
9
+import java.time.LocalDate;
6 10
 
7 11
 /**
8 12
  * <p>
@@ -20,6 +24,7 @@ public interface ITaRedPacketService extends IService<TaRedPacket> {
20 24
      * @param record
21 25
      * @return
22 26
      */
27
+    @Transactional
23 28
     ResponseBean initializeRedPacket(TaRedPacket record);
24 29
 
25 30
 
@@ -39,4 +44,33 @@ public interface ITaRedPacketService extends IService<TaRedPacket> {
39 44
      */
40 45
     TaRedPacket getRedPacketImages(TaRedPacket record);
41 46
 
47
+
48
+    /**
49
+     * 查询客户访问记录
50
+     *
51
+     * @param pageNum
52
+     * @param pageSize
53
+     * @param startTime
54
+     * @param endTime
55
+     * @param drainageId
56
+     * @param phone
57
+     * @param sharePersonPhone
58
+     * @param orgId
59
+     * @return
60
+     */
61
+    ResponseBean listVisitRecordByCondition(Integer pageNum, Integer pageSize, LocalDate startTime, LocalDate endTime, String drainageId, String phone, String sharePersonPhone, Integer orgId);
62
+
63
+    /**
64
+     * 导出客户访问记录
65
+     *
66
+     * @param startTime
67
+     * @param endTime
68
+     * @param drainageId
69
+     * @param phone
70
+     * @param sharePersonPhone
71
+     * @param orgId
72
+     */
73
+    void exportVisitRecordByCondition(LocalDate startTime, LocalDate endTime, String drainageId, String phone, String sharePersonPhone, Integer orgId, HttpServletResponse response) throws Exception;
74
+
75
+
42 76
 }

+ 22
- 3
src/main/java/com/huiju/estateagents/redpack/service/impl/TaOrgOrderServiceImpl.java Ver arquivo

@@ -14,6 +14,7 @@ import com.huiju.estateagents.common.wxpay.WXPay;
14 14
 import com.huiju.estateagents.common.wxpay.WXPayConstants;
15 15
 import com.huiju.estateagents.common.wxpay.WxConfig;
16 16
 import com.huiju.estateagents.entity.TaWxPayConfig;
17
+import com.huiju.estateagents.excel.redPacket.AccountConsumeRecordExport;
17 18
 import com.huiju.estateagents.excel.redPacket.AccountPayRecordExport;
18 19
 import com.huiju.estateagents.excel.redPacket.AccountRefundRecordExport;
19 20
 import com.huiju.estateagents.mapper.TaWxPayConfigMapper;
@@ -244,7 +245,7 @@ public class TaOrgOrderServiceImpl extends ServiceImpl<TaOrgOrderMapper, TaOrgOr
244 245
             return responseBean;
245 246
         }
246 247
 
247
-        // 3.创建账户腿狂申请表信息
248
+        // 3.创建账户退款申请表信息
248 249
         TaOrgRefundApplication taOrgRefundApplication = new TaOrgRefundApplication();
249 250
         taOrgRefundApplication.setOrgId(orgId);
250 251
         taOrgRefundApplication.setUserId(userId);
@@ -324,13 +325,31 @@ public class TaOrgOrderServiceImpl extends ServiceImpl<TaOrgOrderMapper, TaOrgOr
324 325
     }
325 326
 
326 327
     @Override
327
-    public ResponseBean listRedPacketRecords(Integer pageNum, Integer pageSize,String phone,String activityId, String orderId, String wxOrderId, String tradeNo, Integer status, Integer orgId) {
328
+    public ResponseBean listRedPacketRecords(Integer pageNum, Integer pageSize, String phone, String activityId, String orderId, String wxOrderId, String tradeNo, Integer status, Integer orgId) {
328 329
         ResponseBean responseBean = new ResponseBean();
329 330
         IPage<TaOrgOrder> pg = new Page<>(pageNum, pageSize);
330
-        responseBean.addSuccess(taOrgOrderMapper.listRedPacketRecords(pg,phone,activityId,orderId, wxOrderId, tradeNo, status, orgId));
331
+        responseBean.addSuccess(taOrgOrderMapper.listRedPacketRecords(pg, phone, activityId, orderId, wxOrderId, tradeNo, status, orgId));
331 332
         return responseBean;
332 333
     }
333 334
 
335
+    @Override
336
+    public ResponseBean listConsumeOrderByCondition(Integer pageNum, Integer pageSize, LocalDate startTime, LocalDate endTime, String orderId, Integer status, String consumeType, String phone, Integer orgId) {
337
+        ResponseBean responseBean = new ResponseBean();
338
+        IPage<TaOrgOrder> pg = new Page<>(pageNum, pageSize);
339
+        responseBean.addSuccess(taOrgOrderMapper.listConsumeOrderByCondition(pg, startTime, endTime, orderId, status, consumeType, phone, orgId));
340
+        return responseBean;
341
+    }
342
+
343
+    @Override
344
+    public void exportConsumeOrderByCondition(LocalDate startTime, LocalDate endTime, String orderId, Integer status, String consumeType, String phone, Integer orgId, HttpServletResponse response) throws Exception {
345
+        response.setContentType("application/octet-stream");
346
+        response.setCharacterEncoding("utf-8");
347
+        List<AccountConsumeRecordExport> records = taOrgOrderMapper.exportConsumeOrderByCondition(startTime, endTime, orderId, status, consumeType, phone, orgId);
348
+        String fileName = URLEncoder.encode("消费订单", "UTF-8");
349
+        response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
350
+        EasyExcel.write(response.getOutputStream(), AccountConsumeRecordExport.class).sheet("消费订单").doWrite(records);
351
+    }
352
+
334 353
     /**
335 354
      * 获取每个小程序独立的微信账户
336 355
      *

+ 36
- 18
src/main/java/com/huiju/estateagents/redpack/service/impl/TaRedPacketServiceImpl.java Ver arquivo

@@ -1,22 +1,30 @@
1 1
 package com.huiju.estateagents.redpack.service.impl;
2 2
 
3
+import com.alibaba.excel.EasyExcel;
3 4
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4 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;
8
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
5 9
 import com.huiju.estateagents.base.ResponseBean;
6 10
 import com.huiju.estateagents.common.CommConstant;
7
-import com.huiju.estateagents.common.CommonUtils;
8 11
 import com.huiju.estateagents.common.StringUtils;
12
+import com.huiju.estateagents.entity.TaCustomerFrom;
13
+import com.huiju.estateagents.excel.redPacket.RedPacketVisitRecordtExport;
9 14
 import com.huiju.estateagents.redpack.entity.TaH5Images;
10 15
 import com.huiju.estateagents.redpack.entity.TaRedPacket;
11
-import com.huiju.estateagents.redpack.entity.TaRedPacketHelp;
12
-import com.huiju.estateagents.redpack.mapper.*;
16
+import com.huiju.estateagents.redpack.mapper.TaH5ImagesMapper;
17
+import com.huiju.estateagents.redpack.mapper.TaRedPacketMapper;
13 18
 import com.huiju.estateagents.redpack.service.ITaRedPacketService;
14
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
15 19
 import org.slf4j.Logger;
16 20
 import org.slf4j.LoggerFactory;
17 21
 import org.springframework.beans.factory.annotation.Autowired;
18 22
 import org.springframework.stereotype.Service;
23
+import org.springframework.transaction.annotation.Transactional;
19 24
 
25
+import javax.servlet.http.HttpServletResponse;
26
+import java.net.URLEncoder;
27
+import java.time.LocalDate;
20 28
 import java.time.LocalDateTime;
21 29
 import java.util.HashMap;
22 30
 import java.util.List;
@@ -41,25 +49,17 @@ public class TaRedPacketServiceImpl extends ServiceImpl<TaRedPacketMapper, TaRed
41 49
     @Autowired
42 50
     private TaH5ImagesMapper taH5ImagesMapper;
43 51
 
44
-    @Autowired
45
-    private TaRedPacketHelpMapper taRedPacketHelpMapper;
46
-
47
-    @Autowired
48
-    private TaRedPacketClientMapper taRedPacketClientMapper;
49
-
50
-    @Autowired
51
-    private TaRedPacketMoneyMapper taRedPacketMoneyMapper;
52
-
53 52
     @Override
53
+    @Transactional
54 54
     public ResponseBean initializeRedPacket(TaRedPacket record) {
55 55
         ResponseBean responseBean = new ResponseBean();
56 56
 
57 57
         // 初始化数据
58
-        taRedPacketMapper.initRedPacket(record.getActivityId(), record.getName(), record.getQrcode(), record.getStartDate(), record.getEndDate(), record.getOrgId());
59
-        taRedPacketMapper.initRedPacketHelp(record.getActivityId());
60
-        taRedPacketMapper.initRedPacketClient(record.getActivityId());
61
-        taRedPacketMapper.initRedPacketMoney(record.getActivityId());
62
-        taRedPacketMapper.initRedPacketImages(record.getActivityId());
58
+        taRedPacketMapper.initRedPacket(record.getActivityId(), record.getName(), record.getQrcode(), record.getStartDate(), record.getEndDate(),record.getTempleActivityId(), record.getOrgId());
59
+        taRedPacketMapper.initRedPacketHelp(record.getActivityId(),record.getTempleActivityId());
60
+        taRedPacketMapper.initRedPacketClient(record.getActivityId(),record.getTempleActivityId());
61
+        taRedPacketMapper.initRedPacketMoney(record.getActivityId(),record.getTempleActivityId());
62
+        taRedPacketMapper.initRedPacketImages(record.getActivityId(),record.getTempleActivityId());
63 63
         responseBean.addSuccess("success");
64 64
         return responseBean;
65 65
     }
@@ -108,6 +108,24 @@ public class TaRedPacketServiceImpl extends ServiceImpl<TaRedPacketMapper, TaRed
108 108
         return record;
109 109
     }
110 110
 
111
+    @Override
112
+    public ResponseBean listVisitRecordByCondition(Integer pageNum, Integer pageSize, LocalDate startTime, LocalDate endTime, String drainageId, String phone, String sharePersonPhone, Integer orgId) {
113
+        ResponseBean responseBean = new ResponseBean();
114
+        IPage<TaCustomerFrom> pg = new Page<>(pageNum,pageSize);
115
+        responseBean.addSuccess(taRedPacketMapper.listVisitRecordByCondition(pg,startTime,endTime,drainageId,phone,sharePersonPhone,orgId));
116
+        return responseBean;
117
+    }
118
+
119
+    @Override
120
+    public void exportVisitRecordByCondition(LocalDate startTime, LocalDate endTime, String drainageId,String phone, String sharePersonPhone, Integer orgId, HttpServletResponse response) throws Exception {
121
+        response.setContentType("application/octet-stream");
122
+        response.setCharacterEncoding("utf-8");
123
+        List<RedPacketVisitRecordtExport> records = taRedPacketMapper.exportVisitRecordByCondition(startTime,endTime,drainageId,phone,sharePersonPhone,orgId);
124
+        String fileName = URLEncoder.encode("客户数据", "UTF-8");
125
+        response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
126
+        EasyExcel.write(response.getOutputStream(), RedPacketVisitRecordtExport.class).sheet("客户数据").doWrite(records);
127
+    }
128
+
111 129
     /**
112 130
      * 保存/更新红包图片信息
113 131
      *

+ 5
- 0
src/main/java/com/huiju/estateagents/sample/entity/TaH5Sample.java Ver arquivo

@@ -136,4 +136,9 @@ public class TaH5Sample implements Serializable {
136 136
      */
137 137
     @TableField(exist = false)
138 138
     private Integer demandNum;
139
+
140
+    /**
141
+     *  模板ID
142
+     */
143
+    private String h5TemplateId;
139 144
 }

+ 24
- 23
src/main/java/com/huiju/estateagents/third/controller/WxRedpackController.java Ver arquivo

@@ -3,7 +3,6 @@ package com.huiju.estateagents.third.controller;
3 3
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4 4
 import com.huiju.estateagents.base.ResponseBean;
5 5
 import com.huiju.estateagents.common.CommConstant;
6
-import com.huiju.estateagents.redpack.entity.TaMpPerson;
7 6
 import com.huiju.estateagents.third.entity.TaMpInfo;
8 7
 import com.huiju.estateagents.third.entity.TaThirdPartyMiniappConfig;
9 8
 import com.huiju.estateagents.third.service.ITaMpInfoService;
@@ -13,21 +12,21 @@ import me.chanjar.weixin.common.error.WxErrorException;
13 12
 import me.chanjar.weixin.mp.api.WxMpService;
14 13
 import me.chanjar.weixin.mp.api.impl.WxMpServiceImpl;
15 14
 import me.chanjar.weixin.mp.bean.result.WxMpOAuth2AccessToken;
16
-import me.chanjar.weixin.mp.bean.result.WxMpUser;
17 15
 import me.chanjar.weixin.mp.config.impl.WxMpDefaultConfigImpl;
18 16
 import org.springframework.beans.factory.annotation.Autowired;
19
-import org.springframework.stereotype.Controller;
20 17
 import org.springframework.web.bind.annotation.*;
21 18
 
22 19
 import javax.servlet.http.HttpServletRequest;
20
+import java.util.HashMap;
23 21
 import java.util.List;
22
+import java.util.Map;
24 23
 import java.util.stream.Collectors;
25 24
 
26 25
 /**
27 26
  * @author Edward
28 27
  */
29 28
 @AllArgsConstructor
30
-@Controller
29
+@RestController
31 30
 @RequestMapping("/api")
32 31
 public class WxRedpackController {
33 32
 
@@ -45,33 +44,37 @@ public class WxRedpackController {
45 44
      * @return
46 45
      */
47 46
     @GetMapping("/third/redirect/{mpAppid}/greet")
48
-    public ResponseBean greetUser(@PathVariable String mpAppid, @RequestParam String code, @RequestParam String personId, HttpServletRequest request) {
47
+    public ResponseBean greetUser(@PathVariable String mpAppid, @RequestParam String code, @RequestParam String personId,@RequestParam(required = false) String sponsorPersonId,@RequestParam String appid, HttpServletRequest request) {
49 48
         WxMpService wxService = getWxMpService();
50 49
         if (!wxService.switchover(mpAppid)) {
51 50
             throw new IllegalArgumentException(String.format("未找到对应appid=[%s]的配置,请核实!", mpAppid));
52 51
         }
53
-        TaMpPerson taMpPerson = new TaMpPerson();
52
+        Map<String,Object> map = new HashMap<>();
54 53
         try {
55 54
             //换取openid
56 55
             WxMpOAuth2AccessToken accessToken = wxService.oauth2getAccessToken(code);
57
-            WxMpUser user = wxService.oauth2getUserInfo(accessToken, null);
58
-
59 56
             //获取H5项目相关信息
60
-            String xAppid = request.getHeader("x-appid");
61
-             //获取小程序appid
62
-            String miniAppid = request.getHeader("appid");
57
+            QueryWrapper<TaThirdPartyMiniappConfig> taThirdPartyMiniappConfigQueryWrapper = new QueryWrapper<>();
58
+
59
+            taThirdPartyMiniappConfigQueryWrapper.eq("appid", appid);
60
+            TaThirdPartyMiniappConfig taThirdPartyMiniappConfig = iTaThirdPartyMiniappConfigService.getOne(taThirdPartyMiniappConfigQueryWrapper);
61
+            if (null == taThirdPartyMiniappConfig){
62
+                return ResponseBean.error("不存在的H5活动",ResponseBean.ERROR_UNAVAILABLE);
63
+            }
63 64
             //插入公众号人员信息并插入表
64
-            taMpPerson = iTaThirdPartyMiniappConfigService.newMpPerson(user, mpAppid, xAppid, miniAppid, personId);
65
+            map = iTaThirdPartyMiniappConfigService.newMpPerson(accessToken, mpAppid, taThirdPartyMiniappConfig.getTargetId(), sponsorPersonId, personId);
65 66
         } catch (WxErrorException e) {
66
-            e.printStackTrace();
67
+//            e.printStackTrace();
68
+            return ResponseBean.error(e.getMessage(),ResponseBean.ERROR_UNAVAILABLE);
67 69
         }
68
-        return ResponseBean.success(taMpPerson);
70
+        return ResponseBean.success(map);
69 71
     }
70 72
 
71 73
     private WxMpService getWxMpService() {
72 74
         //从数据库读取公众号信息
73 75
         QueryWrapper<TaMpInfo> queryWrapper = new QueryWrapper<>();
74 76
         queryWrapper.eq("status", CommConstant.STATUS_NORMAL);
77
+        queryWrapper.eq("org_id", 0);
75 78
         List<TaMpInfo> mplist = iTaMpInfoService.list(queryWrapper);
76 79
 
77 80
         WxMpService service = new WxMpServiceImpl();
@@ -90,27 +93,26 @@ public class WxRedpackController {
90 93
     /**
91 94
      * 我要参加 活动接口
92 95
      * @param mpAppid
93
-     * @param mpPersonId
96
+     * @param personId
94 97
      * @param request
95 98
      * @return
96 99
      */
97 100
     @PostMapping("/third/activity/{mpAppid}/participate")
98
-    public ResponseBean participateActivity(@PathVariable String mpAppid, @RequestParam String mpPersonId, HttpServletRequest request) {
101
+    public ResponseBean participateActivity(@PathVariable String mpAppid, @RequestParam String personId,@RequestParam String appid, HttpServletRequest request) {
99 102
         WxMpService wxService = getWxMpService();
100 103
         if (!wxService.switchover(mpAppid)) {
101 104
             throw new IllegalArgumentException(String.format("未找到对应appid=[%s]的配置,请核实!", mpAppid));
102 105
         }
103 106
         //获取H5项目相关信息
104
-        String xAppid = request.getHeader("x-appid");
105 107
         QueryWrapper<TaThirdPartyMiniappConfig> taThirdPartyMiniappConfigQueryWrapper = new QueryWrapper<>();
106 108
 
107
-        taThirdPartyMiniappConfigQueryWrapper.eq("appid", xAppid);
109
+        taThirdPartyMiniappConfigQueryWrapper.eq("appid", appid);
108 110
         TaThirdPartyMiniappConfig taThirdPartyMiniappConfig = iTaThirdPartyMiniappConfigService.getOne(taThirdPartyMiniappConfigQueryWrapper);
109 111
         if (null == taThirdPartyMiniappConfig){
110 112
             return ResponseBean.error("不存在的H5活动",ResponseBean.ERROR_UNAVAILABLE);
111 113
         }
112 114
         try {
113
-            ResponseBean res = iTaThirdPartyMiniappConfigService.participateActivity(mpAppid,mpPersonId,taThirdPartyMiniappConfig.getTargetId(),taThirdPartyMiniappConfig.getOrgId());
115
+            ResponseBean res = iTaThirdPartyMiniappConfigService.participateActivity(mpAppid,personId,taThirdPartyMiniappConfig.getTargetId(),taThirdPartyMiniappConfig.getOrgId());
114 116
             return res;
115 117
         }catch (Exception e){
116 118
             e.printStackTrace();
@@ -126,22 +128,21 @@ public class WxRedpackController {
126 128
      * @return
127 129
      */
128 130
     @PostMapping("/third/activity/{mpAppid}/help")
129
-    public ResponseBean helpActivity(@PathVariable String mpAppid, @RequestParam String mpPersonId, @RequestParam String parentMpPersonId ,HttpServletRequest request) {
131
+    public ResponseBean helpActivity(@PathVariable String mpAppid, @RequestParam String mpPersonId, @RequestParam String sponsorPersonId,@RequestParam String appid, HttpServletRequest request) {
130 132
         WxMpService wxService = getWxMpService();
131 133
         if (!wxService.switchover(mpAppid)) {
132 134
             throw new IllegalArgumentException(String.format("未找到对应appid=[%s]的配置,请核实!", mpAppid));
133 135
         }
134 136
         //获取H5项目相关信息
135
-        String xAppid = request.getHeader("x-appid");
136 137
         QueryWrapper<TaThirdPartyMiniappConfig> taThirdPartyMiniappConfigQueryWrapper = new QueryWrapper<>();
137 138
 
138
-        taThirdPartyMiniappConfigQueryWrapper.eq("appid", xAppid);
139
+        taThirdPartyMiniappConfigQueryWrapper.eq("appid", appid);
139 140
         TaThirdPartyMiniappConfig taThirdPartyMiniappConfig = iTaThirdPartyMiniappConfigService.getOne(taThirdPartyMiniappConfigQueryWrapper);
140 141
         if (null == taThirdPartyMiniappConfig){
141 142
             return ResponseBean.error("不存在的H5活动",ResponseBean.ERROR_UNAVAILABLE);
142 143
         }
143 144
         try {
144
-            ResponseBean res = iTaThirdPartyMiniappConfigService.helpActivity(mpAppid, mpPersonId, parentMpPersonId, taThirdPartyMiniappConfig.getTargetId(),taThirdPartyMiniappConfig.getOrgId());
145
+            ResponseBean res = iTaThirdPartyMiniappConfigService.helpActivity(mpAppid, mpPersonId, sponsorPersonId, taThirdPartyMiniappConfig.getTargetId(),taThirdPartyMiniappConfig.getOrgId());
145 146
             return res;
146 147
         }catch (Exception e){
147 148
             e.printStackTrace();

+ 11
- 10
src/main/java/com/huiju/estateagents/third/service/ITaThirdPartyMiniappConfigService.java Ver arquivo

@@ -2,9 +2,10 @@ package com.huiju.estateagents.third.service;
2 2
 
3 3
 import com.baomidou.mybatisplus.extension.service.IService;
4 4
 import com.huiju.estateagents.base.ResponseBean;
5
-import com.huiju.estateagents.redpack.entity.TaMpPerson;
6 5
 import com.huiju.estateagents.third.entity.TaThirdPartyMiniappConfig;
7
-import me.chanjar.weixin.mp.bean.result.WxMpUser;
6
+import me.chanjar.weixin.mp.bean.result.WxMpOAuth2AccessToken;
7
+
8
+import java.util.Map;
8 9
 
9 10
 /**
10 11
  * <p>
@@ -27,30 +28,30 @@ public interface ITaThirdPartyMiniappConfigService extends IService<TaThirdParty
27 28
 
28 29
 	/**
29 30
 	 * 创建公众号人员并关联上小程序人员
30
-	 * @param user
31
-	 * @param xAppid
32
-	 * @param miniAppid
31
+	 * @param accessToken
32
+	 * @param drainageId
33
+	 * @param sponsorPersonId
33 34
 	 * @param personId
34 35
 	 */
35
-	TaMpPerson newMpPerson(WxMpUser user, String mpAppid, String xAppid, String miniAppid, String personId);
36
+	Map<String,Object> newMpPerson(WxMpOAuth2AccessToken accessToken, String mpAppid, String drainageId, String sponsorPersonId, String personId);
36 37
 
37 38
 	/**
38 39
 	 * 参加活动生成参与记录等
39 40
 	 * @param mpAppid
40
-	 * @param mpPersonId
41
+	 * @param personId
41 42
 	 * @param targetId
42 43
 	 * @param orgId
43 44
 	 */
44
-	ResponseBean participateActivity(String mpAppid, String mpPersonId, String targetId, Integer orgId);
45
+	ResponseBean participateActivity(String mpAppid, String personId, String targetId, Integer orgId);
45 46
 
46 47
 	/**
47 48
 	 * 助力活动接口
48 49
 	 * @param mpAppid
49 50
 	 * @param mpPersonId
50
-	 * @param parentMpPersonId
51
+	 * @param sponsorPersonId
51 52
 	 * @param targetId
52 53
 	 * @param orgId
53 54
 	 * @return
54 55
 	 */
55
-	ResponseBean helpActivity(String mpAppid, String mpPersonId, String parentMpPersonId, String targetId, Integer orgId);
56
+	ResponseBean helpActivity(String mpAppid, String mpPersonId, String sponsorPersonId, String targetId, Integer orgId);
56 57
 }

+ 55
- 26
src/main/java/com/huiju/estateagents/third/service/impl/TaThirdPartyMiniappConfigServiceImpl.java Ver arquivo

@@ -11,6 +11,7 @@ import com.github.binarywang.wxpay.service.impl.WxPayServiceImpl;
11 11
 import com.huiju.estateagents.base.ResponseBean;
12 12
 import com.huiju.estateagents.common.CommConstant;
13 13
 import com.huiju.estateagents.common.CommonUtils;
14
+import com.huiju.estateagents.common.JWTUtils;
14 15
 import com.huiju.estateagents.common.MD5Utils;
15 16
 import com.huiju.estateagents.drainage.entity.TaDrainage;
16 17
 import com.huiju.estateagents.drainage.mapper.TaDrainageMapper;
@@ -23,14 +24,16 @@ import com.huiju.estateagents.redpack.mapper.*;
23 24
 import com.huiju.estateagents.third.entity.TaThirdPartyMiniappConfig;
24 25
 import com.huiju.estateagents.third.mapper.TaThirdPartyMiniappConfigMapper;
25 26
 import com.huiju.estateagents.third.service.ITaThirdPartyMiniappConfigService;
26
-import me.chanjar.weixin.mp.bean.result.WxMpUser;
27
+import me.chanjar.weixin.mp.bean.result.WxMpOAuth2AccessToken;
27 28
 import org.apache.commons.lang3.StringUtils;
28 29
 import org.springframework.beans.factory.annotation.Autowired;
29 30
 import org.springframework.stereotype.Service;
30 31
 
31 32
 import java.net.InetAddress;
32 33
 import java.time.LocalDateTime;
34
+import java.util.HashMap;
33 35
 import java.util.List;
36
+import java.util.Map;
34 37
 import java.util.Random;
35 38
 import java.util.stream.Collectors;
36 39
 
@@ -130,29 +133,23 @@ public class TaThirdPartyMiniappConfigServiceImpl extends ServiceImpl<TaThirdPar
130 133
 	/**
131 134
 	 * 创建公众号人员并关联上小程序人员
132 135
 	 *
133
-	 * @param user
134
-	 * @param xAppid
135
-	 * @param miniAppid
136
+	 * @param accessToken
137
+	 * @param drainageId
138
+	 * @param sponsorPersonId
136 139
 	 * @param personId
137 140
 	 */
138 141
 	@Override
139
-	public TaMpPerson newMpPerson(WxMpUser user,String mpAppid, String xAppid, String miniAppid, String personId) {
142
+	public Map<String,Object> newMpPerson(WxMpOAuth2AccessToken accessToken, String mpAppid, String drainageId, String sponsorPersonId, String personId) {
143
+		Map<String,Object> map = new HashMap<>();
140 144
 		//查询这个人员是否存在
141
-		TaMpPerson mpPerson = taMpPersonMapper.selectOne(new QueryWrapper<TaMpPerson>().eq("mp_openid", user.getOpenId()));
145
+		TaMpPerson mpPerson = taMpPersonMapper.selectOne(new QueryWrapper<TaMpPerson>().eq("mp_openid", accessToken.getOpenId()));
142 146
 		//不存在就新建
143 147
 		if (null == mpPerson){
144 148
 			//新增入公众号人员表
145 149
 			TaMpPerson taMpPerson = new TaMpPerson();
146 150
 			taMpPerson.setAppid(mpAppid);
147
-			taMpPerson.setCity(user.getCity());
148
-			taMpPerson.setCountry(user.getCountry());
149 151
 			taMpPerson.setCreateDate(LocalDateTime.now());
150
-			taMpPerson.setHeadimgurl(user.getHeadImgUrl());
151
-			taMpPerson.setMpOpenid(user.getOpenId());
152
-			taMpPerson.setMpPersonId(personId);
153
-			taMpPerson.setNickname(user.getNickname());
154
-			taMpPerson.setProvince(user.getProvince());
155
-			taMpPerson.setSex(user.getSex());
152
+			taMpPerson.setMpOpenid(accessToken.getOpenId());
156 153
 			taMpPerson.setStatus(CommConstant.STATUS_NORMAL);
157 154
 			taMpPersonMapper.insert(taMpPerson);
158 155
 			mpPerson = taMpPerson;
@@ -167,19 +164,51 @@ public class TaThirdPartyMiniappConfigServiceImpl extends ServiceImpl<TaThirdPar
167 164
 			taMpMiniappMapper.insert(taMpMiniapp);
168 165
 		}
169 166
 
170
-		return mpPerson;
167
+		//我的小程序信息
168
+		TaPerson minePerson = taPersonMapper.selectById(personId);
169
+		map.put("minePerson",minePerson);
170
+
171
+		//我要助力的人的小程序信息
172
+		if (StringUtils.isNotEmpty(sponsorPersonId)){
173
+			TaPerson parentPerson = taPersonMapper.selectById(sponsorPersonId);
174
+			map.put("parentPerson",parentPerson);
175
+		}
176
+
177
+		//第一步根据drainggeid查询出红包表对应的记录
178
+		TaDrainage taDrainage = taDrainageMapper.selectById(drainageId);
179
+		//第二步查询出这个H5对应的活动
180
+		TaRedPacket taRedPacket = taRedPacketMapper.selectById(taDrainage.getActivityId());
181
+		//活动信息
182
+		map.put("taRedPacket",taRedPacket);
183
+
184
+		//是否我的红包助力报名信息
185
+		QueryWrapper<TaRedPacketPerson> queryWrapper = new QueryWrapper<>();
186
+		queryWrapper.eq("activity_id",taRedPacket.getActivityId());
187
+		queryWrapper.eq("org_id",taRedPacket.getOrgId());
188
+		queryWrapper.eq("mp_person_id",taMpMiniapp.getMpPersonId());
189
+		queryWrapper.eq("miniapp_person_id",taMpMiniapp.getMiniappPersonId());
190
+		TaRedPacketPerson mineRedPacketPerson = taRedPacketPersonMapper.selectOne(queryWrapper);
191
+		map.put("mineRedPacketPerson",mineRedPacketPerson);
192
+		//token
193
+		Map<Object, Object> tokenMap = new HashMap<>();
194
+		tokenMap.put("openId", accessToken.getOpenId());
195
+		tokenMap.put("orgId", taRedPacket.getOrgId());
196
+		tokenMap.put("personId", taMpMiniapp.getMiniappPersonId());//小程序的personid
197
+		map.put("token", JWTUtils.newTokenByMap(tokenMap));
198
+
199
+		return map;
171 200
 	}
172 201
 
173 202
 	/**
174 203
 	 * 参加活动生成参与记录等
175 204
 	 *
176 205
 	 * @param mpAppid 公众号appid
177
-	 * @param mpPersonId 公众号人员id
206
+	 * @param personId 小程序人员id
178 207
 	 * @param drainageId H5活动id
179 208
 	 * @param orgId 小程序id
180 209
 	 */
181 210
 	@Override
182
-	public ResponseBean participateActivity(String mpAppid, String mpPersonId, String drainageId, Integer orgId) {
211
+	public ResponseBean participateActivity(String mpAppid, String personId, String drainageId, Integer orgId) {
183 212
 		//第一步根据drainggeid查询出红包表对应的记录
184 213
 		TaDrainage taDrainage = taDrainageMapper.selectById(drainageId);
185 214
 		//第二步查询出这个H5对应的活动
@@ -193,26 +222,26 @@ public class TaThirdPartyMiniappConfigServiceImpl extends ServiceImpl<TaThirdPar
193 222
 		}
194 223
 
195 224
 		//参与活动
196
-		TaRedPacketPerson taRedPacketPerson = saveRedPacketPerson(mpPersonId,taRedPacket,orgId);
225
+		TaRedPacketPerson taRedPacketPerson = saveRedPacketPerson(personId,taRedPacket,orgId);
197 226
 
198 227
 		return ResponseBean.success(taRedPacketPerson);
199 228
 	}
200 229
 
201 230
 	/**
202 231
 	 * 参与活动方法--悲观锁
203
-	 * @param mpPersonId
232
+	 * @param personId
204 233
 	 * @param taRedPacket
205 234
 	 * @param orgId
206 235
 	 */
207
-	private synchronized TaRedPacketPerson saveRedPacketPerson(String mpPersonId, TaRedPacket taRedPacket, Integer orgId) {
236
+	private synchronized TaRedPacketPerson saveRedPacketPerson(String personId, TaRedPacket taRedPacket, Integer orgId) {
208 237
 		//查看这个人绑定的小程序用户
209
-		TaMpMiniapp taMpMiniapp = taMpMiniappMapper.selectOne(new QueryWrapper<TaMpMiniapp>().eq("mp_person_id", mpPersonId));
238
+		TaMpMiniapp taMpMiniapp = taMpMiniappMapper.selectOne(new QueryWrapper<TaMpMiniapp>().eq("miniapp_person_id", personId));
210 239
 
211 240
 		//查看此人是否参加过活动如果参加过直接返回
212 241
 		QueryWrapper<TaRedPacketPerson> queryWrapper = new QueryWrapper<>();
213 242
 		queryWrapper.eq("activity_id",taRedPacket.getActivityId());
214 243
 		queryWrapper.eq("org_id",orgId);
215
-		queryWrapper.eq("mp_person_id",mpPersonId);
244
+		queryWrapper.eq("mp_person_id",taMpMiniapp.getMpPersonId());
216 245
 		queryWrapper.eq("miniapp_person_id",taMpMiniapp.getMiniappPersonId());
217 246
 		TaRedPacketPerson redPacketPerson = taRedPacketPersonMapper.selectOne(queryWrapper);
218 247
 		if (null != redPacketPerson){
@@ -225,7 +254,7 @@ public class TaThirdPartyMiniappConfigServiceImpl extends ServiceImpl<TaThirdPar
225 254
 		taRedPacketPerson.setCreateDate(LocalDateTime.now());
226 255
 		taRedPacketPerson.setIsSignedUp(true);
227 256
 		taRedPacketPerson.setMiniappPersonId(taMpMiniapp.getMiniappPersonId());
228
-		taRedPacketPerson.setMpPersonId(mpPersonId);
257
+		taRedPacketPerson.setMpPersonId(taMpMiniapp.getMpPersonId());
229 258
 		taRedPacketPerson.setOrgId(orgId);
230 259
 		taRedPacketPersonMapper.insert(taRedPacketPerson);
231 260
 		return taRedPacketPerson;
@@ -236,13 +265,13 @@ public class TaThirdPartyMiniappConfigServiceImpl extends ServiceImpl<TaThirdPar
236 265
 	 *
237 266
 	 * @param mpAppid 公众号appid
238 267
 	 * @param mpPersonId 公众号personId
239
-	 * @param parentMpPersonId 公众号被助力者的peisonId
268
+	 * @param sponsorPersonId 公众号发起人id
240 269
 	 * @param drainageId H5活动id
241 270
 	 * @param orgId 小程序id
242 271
 	 * @return
243 272
 	 */
244 273
 	@Override
245
-	public ResponseBean helpActivity(String mpAppid, String mpPersonId, String parentMpPersonId, String drainageId, Integer orgId) {
274
+	public ResponseBean helpActivity(String mpAppid, String mpPersonId, String sponsorPersonId, String drainageId, Integer orgId) {
246 275
 		//第一步根据drainggeid查询出红包表对应的记录
247 276
 		TaDrainage taDrainage = taDrainageMapper.selectById(drainageId);
248 277
 		//第二步查询出这个H5对应的活动
@@ -259,7 +288,7 @@ public class TaThirdPartyMiniappConfigServiceImpl extends ServiceImpl<TaThirdPar
259 288
 		TaMpMiniapp taMpMiniapp = taMpMiniappMapper.selectOne(new QueryWrapper<TaMpMiniapp>().eq("mp_person_id", mpPersonId));
260 289
 
261 290
 		//查询被助力者的绑定的小程序用户
262
-		TaMpMiniapp parentMpMiniapp = taMpMiniappMapper.selectOne(new QueryWrapper<TaMpMiniapp>().eq("mp_person_id", parentMpPersonId));
291
+		TaMpMiniapp parentMpMiniapp = taMpMiniappMapper.selectOne(new QueryWrapper<TaMpMiniapp>().eq("mp_person_id", sponsorPersonId));
263 292
 
264 293
 		//根据活动id查询这个活动的助力规则
265 294
 		TaRedPacketHelp taRedPacketHelp = taRedPacketHelpMapper.selectById(taDrainage.getActivityId());

+ 105
- 10
src/main/resources/mapper/redpack/TaOrgOrderMapper.xml Ver arquivo

@@ -210,8 +210,8 @@
210 210
             <if test = " payStartTime != null ">
211 211
                 AND t.pay_date &gt;= #{payStartTime}
212 212
             </if>
213
-            <if test = " payStartTime != null and">
214
-                AND t.pay_date &lt;= #{payStartTime}
213
+            <if test = " payEndTime != null ">
214
+                AND t.pay_date &lt;= #{payEndTime}
215 215
             </if>
216 216
             <if test = " tradingStatus != null">
217 217
                 AND t.trading_status = #{tradingStatus}
@@ -249,8 +249,8 @@
249 249
             <if test = " payStartTime != null ">
250 250
                 AND t.pay_date &gt;= #{payStartTime}
251 251
             </if>
252
-            <if test = " payStartTime != null and">
253
-                AND t.pay_date &lt;= #{payStartTime}
252
+            <if test = " payEndTime != null ">
253
+                AND t.pay_date &lt;= #{payEndTime}
254 254
             </if>
255 255
             <if test = " tradingStatus != null">
256 256
                 AND t.trading_status = #{tradingStatus}
@@ -289,12 +289,12 @@
289 289
 
290 290
     <select id="exportRefundOrderByCondition" resultType="com.huiju.estateagents.excel.redPacket.AccountRefundRecordExport">
291 291
         SELECT
292
-
293
-        FROM            t.order_id,
294
-        t.amount,
295
-        t.create_date,
296
-        ( CASE t3.audit_status WHEN 'agree' THEN '已退款' WHEN 'unagree' THEN '已驳回' ELSE '已申请' END ) tradingStatus,
297
-        t3.audit_result
292
+            t.order_id,
293
+            t.amount,
294
+            t.create_date,
295
+            ( CASE t3.audit_status WHEN 'agree' THEN '已退款' WHEN 'unagree' THEN '已驳回' ELSE '已申请' END ) tradingStatus,
296
+            t3.audit_result
297
+        FROM
298 298
             ta_org_order t
299 299
         INNER JOIN ta_org_order_detail t2 ON t.order_id = t2.order_id AND t2.item_type = 'refund'
300 300
         LEFT JOIN ta_org_refund_application t3 ON t.order_id = t3.order_id
@@ -358,4 +358,99 @@
358 358
         ORDER BY
359 359
             t.create_date DESC
360 360
     </select>
361
+
362
+    <select id = "listConsumeOrderByCondition" resultType="com.huiju.estateagents.redpack.entity.TaOrgOrder">
363
+        SELECT
364
+            t.*,
365
+            t3.phone
366
+            <if test="consumeType == 'redPacket'">
367
+                ,t4.activity_name
368
+            </if>
369
+        FROM
370
+            ta_org_order t
371
+            INNER JOIN ta_org_order_detail t2 ON t.order_id = t2.order_id
372
+                <if test="consumeType != null and consumeType != ''">
373
+                    AND t2.item_type = #{consumeType}
374
+                </if>
375
+            LEFT JOIN ta_person t3 on t2.receiver_id = t3.person_id
376
+            <if test="consumeType == 'redPacket'">
377
+                LEFT JOIN ta_red_packet t4 ON t2.target_id = t4.activity_id
378
+            </if>
379
+        WHERE
380
+            t.org_id = #{orgId}
381
+            AND t.`status` >- 1
382
+            <if test = " orderId != null and orderId != ''">
383
+                AND t.order_id like concat( '%',#{orderId},'%')
384
+            </if>
385
+            <if test = " tradeNo != null and tradeNo != ''">
386
+                AND t.trade_no like concat( '%',#{tradeNo},'%')
387
+            </if>
388
+            <if test = " wxOrderId != null and wxOrderId != ''">
389
+                AND t.wx_order_id like concat ('%',#{wxOrderId},'%')
390
+            </if>
391
+            <if test = " startTime != null ">
392
+                AND t.create_date &gt;= #{startTime}
393
+            </if>
394
+            <if test = " entartTime != null and">
395
+                AND t.create_date &lt;= #{entartTime}
396
+            </if>
397
+            <if test = " status != null">
398
+                AND t2.status = #{status}
399
+            </if>
400
+            <if test = "phone != null and phone != ''">
401
+                AND t3.phone = #{phone}
402
+            </if>
403
+        ORDER BY
404
+            t.create_date DESC
405
+
406
+    </select>
407
+
408
+    <select id="exportConsumeOrderByCondition" resultType="com.huiju.estateagents.excel.redPacket.AccountConsumeRecordExport">
409
+        SELECT
410
+            t.order_id,
411
+            t.amount,
412
+            ( CASE t2.item_type WHEN 'redPacket' THEN '红包' ELSE '' END ) consumeType,
413
+            <if test="consumeType == 'redPacket'">
414
+                t4.activity_name,
415
+            </if>
416
+            t.create_date,
417
+            t3.phone,
418
+            ( CASE t2.STATUS WHEN 1 THEN '成功' WHEN 0 THEN '失败' ELSE '' END ) consumeStatus
419
+        FROM
420
+            ta_org_order t
421
+            INNER JOIN ta_org_order_detail t2 ON t.order_id = t2.order_id
422
+                <if test="consumeType != null and consumeType != ''">
423
+                    AND t2.item_type = #{consumeType}
424
+                </if>
425
+            LEFT JOIN ta_person t3 ON t2.receiver_id = t3.person_id
426
+            <if test="consumeType == 'redPacket'">
427
+                LEFT JOIN ta_red_packet t4 ON t2.target_id = t4.activity_id
428
+            </if>
429
+        WHERE
430
+            t.org_id = #{orgId}
431
+            AND t.`status` >- 1
432
+            <if test = " orderId != null and orderId != ''">
433
+                AND t.order_id like concat( '%',#{orderId},'%')
434
+            </if>
435
+            <if test = " tradeNo != null and tradeNo != ''">
436
+                AND t.trade_no like concat( '%',#{tradeNo},'%')
437
+            </if>
438
+            <if test = " wxOrderId != null and wxOrderId != ''">
439
+                AND t.wx_order_id like concat ('%',#{wxOrderId},'%')
440
+            </if>
441
+            <if test = " startTime != null ">
442
+                AND t.create_date &gt;= #{startTime}
443
+            </if>
444
+            <if test = " entartTime != null and">
445
+                AND t.create_date &lt;= #{entartTime}
446
+            </if>
447
+            <if test = " status != null">
448
+                AND t2.status = #{status}
449
+            </if>
450
+            <if test = "phone != null and phone != ''">
451
+                AND t3.phone = #{phone}
452
+            </if>
453
+        ORDER BY
454
+            t.create_date DESC
455
+    </select>
361 456
 </mapper>

+ 80
- 14
src/main/resources/mapper/redpack/TaRedPacketMapper.xml Ver arquivo

@@ -16,9 +16,7 @@
16 16
         `building_name`,
17 17
         `poster_show_pos`,
18 18
         `join_fields`,
19
-        `org_id`,
20
-        `create_date`,
21
-        `status`
19
+        `org_id`
22 20
         ) SELECT
23 21
         #{activityId},
24 22
         #{name},
@@ -32,13 +30,11 @@
32 30
         `building_name`,
33 31
         `poster_show_pos`,
34 32
         `join_fields`,
35
-        #{orgId},
36
-        `create_date`,
37
-        `status`
33
+        #{orgId}
38 34
         FROM
39 35
             ta_red_packet t2
40 36
         WHERE
41
-            activity_id =1
37
+            activity_id = #{templeActivityId}
42 38
     </insert>
43 39
 
44 40
     <insert id="initRedPacketHelp">
@@ -67,7 +63,7 @@
67 63
         FROM
68 64
             ta_red_packet_help t2
69 65
         WHERE
70
-            activity_id =1
66
+            activity_id =#{templeActivityId}
71 67
     </insert>
72 68
 
73 69
     <insert id="initRedPacketClient">
@@ -75,7 +71,7 @@
75 71
            `activity_id`,
76 72
            `mch_name`,
77 73
             `blessing`,
78
-            'activity_name`,
74
+            `activity_name`,
79 75
             `remark`
80 76
          ) SELECT
81 77
             #{activityId},
@@ -86,7 +82,7 @@
86 82
         FROM
87 83
             ta_red_packet_client t2
88 84
         WHERE
89
-            activity_id = 1
85
+            activity_id = #{templeActivityId}
90 86
     </insert>
91 87
 
92 88
     <insert id="initRedPacketMoney">
@@ -102,20 +98,90 @@
102 98
         FROM
103 99
             ta_red_packet_money t2 
104 100
         WHERE
105
-            activity_id =1
101
+            activity_id =#{templeActivityId}
106 102
     </insert>
107 103
 
108 104
     <insert id="initRedPacketImages">
109
-        INSERT INTO ta_h5_sample ( `activity_type`, `activity_id`, `image_type`, `image_url`, `sort_no` ) SELECT
105
+        INSERT INTO ta_h5_images ( `activity_type`, `activity_id`, `image_type`, `image_url`, `sort_no` ) SELECT
110 106
             `activity_type`,
111 107
             #{activityId},
112 108
             `image_type`,
113 109
             `image_url`,
114 110
             `sort_no`
115 111
         FROM
116
-            ta_h5_sample t2
112
+            ta_h5_images t2
117 113
         WHERE
118
-            t2.activity_id = 1
114
+            t2.activity_id = #{templeActivityId}
119 115
     </insert>
120 116
 
117
+    <select id = "listVisitRecordByCondition" resultType="com.huiju.estateagents.entity.TaCustomerFrom">
118
+        SELECT
119
+            t.*,
120
+            t2.nickname,
121
+            t2.NAME,
122
+            t2.avatarurl,
123
+            t2.phone,
124
+            t3.nickname sharePersonNickname,
125
+            t3.phone sharePersonPhone
126
+        FROM
127
+            ta_customer_from t
128
+            LEFT JOIN ta_person t2 ON t.person_id = t2.person_id
129
+            LEFT JOIN ta_person t3 ON t.share_person_id = t2.person_id
130
+        WHERE
131
+            t.org_id = #{orgId}
132
+            AND t.target_type IN ( 'h5', 'dynamic' )
133
+            AND t.target_id = #{drainageId}
134
+            <if test = "startTime != null">
135
+                AND t.create_date &gt;= #{startTime}
136
+            </if>
137
+
138
+             <if test = "endTime != null">
139
+                 AND t.create_date &lt;= #{endTime}
140
+            </if>
141
+
142
+            <if test="sharePersonPhone != null and sharePersonPhone != ''">
143
+                AND t3.phone = #{sharePersonPhone}
144
+            </if>
145
+            <if test="phone != null and phone != ''">
146
+                AND t2.phone = #{phone}
147
+            </if>
148
+         ORDER BY
149
+            t.create_date desc
150
+    </select>
151
+
152
+    <select id = "exportVisitRecordByCondition" resultType="com.huiju.estateagents.excel.redPacket.RedPacketVisitRecordtExport">
153
+        SELECT
154
+        t.create_date
155
+        t2.nickname,
156
+        t2.NAME,
157
+        t2.avatarurl,
158
+        t2.phone,
159
+        t3.nickname sharePersonNickname,
160
+        t3.phone sharePersonPhone
161
+        FROM
162
+        ta_customer_from t
163
+        LEFT JOIN ta_person t2 ON t.person_id = t2.person_id
164
+        LEFT JOIN ta_person t3 ON t.share_person_id = t2.person_id
165
+        WHERE
166
+        t.org_id = #{orgId}
167
+        AND t.target_type IN ( 'h5', 'dynamic' )
168
+        AND t.target_id = #{drainageId}
169
+        <if test = "startTime != null">
170
+            AND t.create_date &gt;= #{startTime}
171
+        </if>
172
+
173
+        <if test = "endTime != null">
174
+            AND t.create_date &lt;= #{endTime}
175
+        </if>
176
+
177
+        <if test="sharePersonPhone != null and sharePersonPhone != ''">
178
+            AND t3.phone = #{sharePersonPhone}
179
+        </if>
180
+        <if test="phone != null and phone != ''">
181
+            AND t2.phone = #{phone}
182
+        </if>
183
+        ORDER BY
184
+        t.create_date desc
185
+    </select>
186
+
121 187
 </mapper>