Quellcode durchsuchen

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

# Conflicts:
#	src/main/java/com/huiju/estateagents/redpack/entity/TaOrgOrder.java
魏超 vor 5 Jahren
Ursprung
Commit
9c94716a01
27 geänderte Dateien mit 787 neuen und 136 gelöschten Zeilen
  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 Datei anzeigen

9
 import com.huiju.estateagents.common.DateUtils;
9
 import com.huiju.estateagents.common.DateUtils;
10
 import com.huiju.estateagents.common.StringUtils;
10
 import com.huiju.estateagents.common.StringUtils;
11
 import com.huiju.estateagents.drainage.entity.TaDrainage;
11
 import com.huiju.estateagents.drainage.entity.TaDrainage;
12
-import com.huiju.estateagents.drainage.service.ITaDrainageRecordService;
13
 import com.huiju.estateagents.drainage.service.ITaDrainageService;
12
 import com.huiju.estateagents.drainage.service.ITaDrainageService;
14
 import com.huiju.estateagents.entity.ExtendContent;
13
 import com.huiju.estateagents.entity.ExtendContent;
15
 import com.huiju.estateagents.entity.TaPersonBuilding;
14
 import com.huiju.estateagents.entity.TaPersonBuilding;
16
-import com.huiju.estateagents.mapper.TaMiniappMapper;
17
 import com.huiju.estateagents.reportCustomerAop.ReportCustomer;
15
 import com.huiju.estateagents.reportCustomerAop.ReportCustomer;
18
 import com.huiju.estateagents.service.IExtendContentService;
16
 import com.huiju.estateagents.service.IExtendContentService;
19
-import com.huiju.estateagents.service.IMiniAppService;
17
+import com.huiju.estateagents.third.entity.TaMpInfo;
20
 import com.huiju.estateagents.third.entity.TaThirdPartyMiniappConfig;
18
 import com.huiju.estateagents.third.entity.TaThirdPartyMiniappConfig;
19
+import com.huiju.estateagents.third.service.ITaMpInfoService;
21
 import com.huiju.estateagents.third.service.ITaThirdPartyMiniappConfigService;
20
 import com.huiju.estateagents.third.service.ITaThirdPartyMiniappConfigService;
22
 import org.slf4j.Logger;
21
 import org.slf4j.Logger;
23
 import org.slf4j.LoggerFactory;
22
 import org.slf4j.LoggerFactory;
53
     @Autowired
52
     @Autowired
54
     public IExtendContentService iExtendContentService;
53
     public IExtendContentService iExtendContentService;
55
 
54
 
55
+    @Autowired
56
+    public ITaMpInfoService iTaMpInfoService;
57
+
56
     /**
58
     /**
57
      * 分页查询列表
59
      * 分页查询列表
58
      *
60
      *
311
                                       HttpServletRequest request) {
313
                                       HttpServletRequest request) {
312
         ResponseBean responseBean = new ResponseBean();
314
         ResponseBean responseBean = new ResponseBean();
313
         try {
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
         } catch (Exception e) {
325
         } catch (Exception e) {
316
             e.printStackTrace();
326
             e.printStackTrace();
317
             logger.error("taDrainageDelete -=- {}", e.toString());
327
             logger.error("taDrainageDelete -=- {}", e.toString());

+ 15
- 0
src/main/java/com/huiju/estateagents/drainage/entity/TaDrainage.java Datei anzeigen

96
      */
96
      */
97
     private String activityId;
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 Datei anzeigen

6
 import com.huiju.estateagents.common.CommConstant;
6
 import com.huiju.estateagents.common.CommConstant;
7
 import com.huiju.estateagents.common.CommonUtils;
7
 import com.huiju.estateagents.common.CommonUtils;
8
 import com.huiju.estateagents.common.DateUtils;
8
 import com.huiju.estateagents.common.DateUtils;
9
+import com.huiju.estateagents.common.StringUtils;
9
 import com.huiju.estateagents.drainage.entity.TaDrainage;
10
 import com.huiju.estateagents.drainage.entity.TaDrainage;
10
 import com.huiju.estateagents.drainage.mapper.TaDrainageMapper;
11
 import com.huiju.estateagents.drainage.mapper.TaDrainageMapper;
11
 import com.huiju.estateagents.drainage.service.ITaDrainageService;
12
 import com.huiju.estateagents.drainage.service.ITaDrainageService;
12
 import com.huiju.estateagents.entity.TaMiniapp;
13
 import com.huiju.estateagents.entity.TaMiniapp;
13
 import com.huiju.estateagents.mapper.TaMiniappMapper;
14
 import com.huiju.estateagents.mapper.TaMiniappMapper;
15
+import com.huiju.estateagents.redpack.entity.TaH5Template;
14
 import com.huiju.estateagents.redpack.entity.TaRedPacket;
16
 import com.huiju.estateagents.redpack.entity.TaRedPacket;
17
+import com.huiju.estateagents.redpack.mapper.TaH5TemplateMapper;
15
 import com.huiju.estateagents.redpack.service.ITaRedPacketService;
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
 import com.huiju.estateagents.service.IMiniAppService;
21
 import com.huiju.estateagents.service.IMiniAppService;
17
 import com.huiju.estateagents.third.entity.TaThirdPartyMiniappConfig;
22
 import com.huiju.estateagents.third.entity.TaThirdPartyMiniappConfig;
18
 import com.huiju.estateagents.third.service.ITaThirdPartyMiniappConfigService;
23
 import com.huiju.estateagents.third.service.ITaThirdPartyMiniappConfigService;
24
+import org.slf4j.Logger;
25
+import org.slf4j.LoggerFactory;
19
 import org.springframework.beans.factory.annotation.Autowired;
26
 import org.springframework.beans.factory.annotation.Autowired;
20
 import org.springframework.stereotype.Service;
27
 import org.springframework.stereotype.Service;
21
 
28
 
32
 @Service
39
 @Service
33
 public class TaDrainageServiceImpl extends ServiceImpl<TaDrainageMapper, TaDrainage> implements ITaDrainageService {
40
 public class TaDrainageServiceImpl extends ServiceImpl<TaDrainageMapper, TaDrainage> implements ITaDrainageService {
34
 
41
 
42
+    private Logger logger = LoggerFactory.getLogger(TaDrainageServiceImpl.class);
43
+
35
     @Autowired
44
     @Autowired
36
     private TaDrainageMapper taDrainageMapper;
45
     private TaDrainageMapper taDrainageMapper;
37
 
46
 
47
     @Autowired
56
     @Autowired
48
     private ITaThirdPartyMiniappConfigService iTaThirdPartyMiniappConfigService;
57
     private ITaThirdPartyMiniappConfigService iTaThirdPartyMiniappConfigService;
49
 
58
 
59
+    @Autowired
60
+    private TaH5SampleMapper taH5SampleMapper;
61
+
62
+    @Autowired
63
+    private TaH5TemplateMapper taH5TemplateMapper;
64
+
50
     @Override
65
     @Override
51
     public void updateDrainageToEnd() {
66
     public void updateDrainageToEnd() {
52
         taDrainageMapper.updateDrainageToEnd();
67
         taDrainageMapper.updateDrainageToEnd();
56
     public ResponseBean saveDrainage(TaDrainage taDrainage, Integer orgId, Integer userId) {
71
     public ResponseBean saveDrainage(TaDrainage taDrainage, Integer orgId, Integer userId) {
57
         ResponseBean responseBean = new ResponseBean();
72
         ResponseBean responseBean = new ResponseBean();
58
 
73
 
59
-
60
         // 1.保存H5活动信息
74
         // 1.保存H5活动信息
61
         taDrainage.setOrgId(orgId);
75
         taDrainage.setOrgId(orgId);
62
         taDrainage.setCreateUser(userId);
76
         taDrainage.setCreateUser(userId);
78
         ResponseBean taMiniappQrcode = miniAppService.getQrCode(CommConstant.DRAINAGE_QRCODE.replace("#0", taDrainage.getDrainageId().toString()).replace("#1", "h5"), taMiniapp.getMiniappId());
92
         ResponseBean taMiniappQrcode = miniAppService.getQrCode(CommConstant.DRAINAGE_QRCODE.replace("#0", taDrainage.getDrainageId().toString()).replace("#1", "h5"), taMiniapp.getMiniappId());
79
         taDrainage.setQrCode(String.valueOf(taMiniappQrcode.getData()));
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
         updateById(taDrainage);
122
         updateById(taDrainage);
96
 
123
 
97
         // 4.添加第三方appid和secretis
124
         // 4.添加第三方appid和secretis

+ 5
- 5
src/main/java/com/huiju/estateagents/excel/redPacket/AccountConsumeRecordExport.java Datei anzeigen

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 Datei anzeigen

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 Datei anzeigen

75
             "/api/notify",//微信支付所有回调放过
75
             "/api/notify",//微信支付所有回调放过
76
             "/api/refund/",//微信退款所有回调放过
76
             "/api/refund/",//微信退款所有回调放过
77
             "/api/fadd/",//所有的法大大回调放过
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 Datei anzeigen

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 Datei anzeigen

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
 
140
      * @param id 实体ID
142
      * @param id 实体ID
141
      */
143
      */
142
     @RequestMapping(value = "/admin/redPacket/{id}", method = RequestMethod.GET)
144
     @RequestMapping(value = "/admin/redPacket/{id}", method = RequestMethod.GET)
143
-    public ResponseBean taRedPacketGet(@PathVariable Integer id) {
145
+    public ResponseBean taRedPacketGet(@PathVariable String id) {
144
         ResponseBean responseBean = new ResponseBean();
146
         ResponseBean responseBean = new ResponseBean();
145
         try {
147
         try {
146
             TaRedPacket record = iTaRedPacketService.getById(id);
148
             TaRedPacket record = iTaRedPacketService.getById(id);
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
 }

+ 3
- 0
src/main/java/com/huiju/estateagents/redpack/entity/TaMpPerson.java Datei anzeigen

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

+ 1
- 1
src/main/java/com/huiju/estateagents/redpack/entity/TaOrgOrder.java Datei anzeigen

14
 
14
 
15
 /**
15
 /**
16
  * <p>
16
  * <p>
17
- * 组织订单表 
17
+ * 组织订单表
18
  * </p>
18
  * </p>
19
  *
19
  *
20
  * @author fxf
20
  * @author fxf

+ 6
- 0
src/main/java/com/huiju/estateagents/redpack/entity/TaRedPacket.java Datei anzeigen

148
      */
148
      */
149
     @TableField(exist = false)
149
     @TableField(exist = false)
150
     private TaRedPacketClient taRedPacketClient;
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 Datei anzeigen

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

+ 3
- 0
src/main/java/com/huiju/estateagents/redpack/entity/TaRedPacketHelp.java Datei anzeigen

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

+ 3
- 0
src/main/java/com/huiju/estateagents/redpack/entity/TaRedPacketMoney.java Datei anzeigen

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

+ 2
- 0
src/main/java/com/huiju/estateagents/redpack/mapper/TaH5TemplateMapper.java Datei anzeigen

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

+ 43
- 0
src/main/java/com/huiju/estateagents/redpack/mapper/TaOrgOrderMapper.java Datei anzeigen

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;
199
                                            @Param("tradeNo") String tradeNo,
200
                                            @Param("tradeNo") String tradeNo,
200
                                            @Param("status") Integer status,
201
                                            @Param("status") Integer status,
201
                                            @Param("orgId") Integer orgId);
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 Datei anzeigen

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>
31
                           @Param("qrCode") String qrCode,
36
                           @Param("qrCode") String qrCode,
32
                           @Param("startDate") LocalDateTime startDate,
37
                           @Param("startDate") LocalDateTime startDate,
33
                           @Param("endDate") LocalDateTime endDate,
38
                           @Param("endDate") LocalDateTime endDate,
39
+                          @Param("templeActivityId") String templeActivityId,
34
                           @Param("orgId") Integer orgId);
40
                           @Param("orgId") Integer orgId);
35
 
41
 
36
     /**
42
     /**
39
      * @param activityId
45
      * @param activityId
40
      * @return
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
      * @param activityId
54
      * @param activityId
48
      * @return
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
      * @param activityId
63
      * @param activityId
56
      * @return
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
      * @param activityId
72
      * @param activityId
64
      * @return
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 Datei anzeigen

158
      * @param orgId
158
      * @param orgId
159
      * @return
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 Datei anzeigen

3
 import com.baomidou.mybatisplus.extension.service.IService;
3
 import com.baomidou.mybatisplus.extension.service.IService;
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
+import org.springframework.transaction.annotation.Transactional;
7
+
8
+import javax.servlet.http.HttpServletResponse;
9
+import java.time.LocalDate;
6
 
10
 
7
 /**
11
 /**
8
  * <p>
12
  * <p>
20
      * @param record
24
      * @param record
21
      * @return
25
      * @return
22
      */
26
      */
27
+    @Transactional
23
     ResponseBean initializeRedPacket(TaRedPacket record);
28
     ResponseBean initializeRedPacket(TaRedPacket record);
24
 
29
 
25
 
30
 
39
      */
44
      */
40
     TaRedPacket getRedPacketImages(TaRedPacket record);
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 Datei anzeigen

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;
244
             return responseBean;
245
             return responseBean;
245
         }
246
         }
246
 
247
 
247
-        // 3.创建账户腿狂申请表信息
248
+        // 3.创建账户退款申请表信息
248
         TaOrgRefundApplication taOrgRefundApplication = new TaOrgRefundApplication();
249
         TaOrgRefundApplication taOrgRefundApplication = new TaOrgRefundApplication();
249
         taOrgRefundApplication.setOrgId(orgId);
250
         taOrgRefundApplication.setOrgId(orgId);
250
         taOrgRefundApplication.setUserId(userId);
251
         taOrgRefundApplication.setUserId(userId);
324
     }
325
     }
325
 
326
 
326
     @Override
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
         ResponseBean responseBean = new ResponseBean();
329
         ResponseBean responseBean = new ResponseBean();
329
         IPage<TaOrgOrder> pg = new Page<>(pageNum, pageSize);
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
         return responseBean;
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 Datei anzeigen

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;
8
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
5
 import com.huiju.estateagents.base.ResponseBean;
9
 import com.huiju.estateagents.base.ResponseBean;
6
 import com.huiju.estateagents.common.CommConstant;
10
 import com.huiju.estateagents.common.CommConstant;
7
-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.RedPacketVisitRecordtExport;
9
 import com.huiju.estateagents.redpack.entity.TaH5Images;
14
 import com.huiju.estateagents.redpack.entity.TaH5Images;
10
 import com.huiju.estateagents.redpack.entity.TaRedPacket;
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
 import com.huiju.estateagents.redpack.service.ITaRedPacketService;
18
 import com.huiju.estateagents.redpack.service.ITaRedPacketService;
14
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
15
 import org.slf4j.Logger;
19
 import org.slf4j.Logger;
16
 import org.slf4j.LoggerFactory;
20
 import org.slf4j.LoggerFactory;
17
 import org.springframework.beans.factory.annotation.Autowired;
21
 import org.springframework.beans.factory.annotation.Autowired;
18
 import org.springframework.stereotype.Service;
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
 import java.time.LocalDateTime;
28
 import java.time.LocalDateTime;
21
 import java.util.HashMap;
29
 import java.util.HashMap;
22
 import java.util.List;
30
 import java.util.List;
41
     @Autowired
49
     @Autowired
42
     private TaH5ImagesMapper taH5ImagesMapper;
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
     @Override
52
     @Override
53
+    @Transactional
54
     public ResponseBean initializeRedPacket(TaRedPacket record) {
54
     public ResponseBean initializeRedPacket(TaRedPacket record) {
55
         ResponseBean responseBean = new ResponseBean();
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
         responseBean.addSuccess("success");
63
         responseBean.addSuccess("success");
64
         return responseBean;
64
         return responseBean;
65
     }
65
     }
108
         return record;
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 Datei anzeigen

136
      */
136
      */
137
     @TableField(exist = false)
137
     @TableField(exist = false)
138
     private Integer demandNum;
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 Datei anzeigen

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

+ 11
- 10
src/main/java/com/huiju/estateagents/third/service/ITaThirdPartyMiniappConfigService.java Datei anzeigen

2
 
2
 
3
 import com.baomidou.mybatisplus.extension.service.IService;
3
 import com.baomidou.mybatisplus.extension.service.IService;
4
 import com.huiju.estateagents.base.ResponseBean;
4
 import com.huiju.estateagents.base.ResponseBean;
5
-import com.huiju.estateagents.redpack.entity.TaMpPerson;
6
 import com.huiju.estateagents.third.entity.TaThirdPartyMiniappConfig;
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
  * <p>
11
  * <p>
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
 	 * @param personId
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
 	 * @param mpAppid
40
 	 * @param mpAppid
40
-	 * @param mpPersonId
41
+	 * @param personId
41
 	 * @param targetId
42
 	 * @param targetId
42
 	 * @param orgId
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
 	 * @param mpAppid
49
 	 * @param mpAppid
49
 	 * @param mpPersonId
50
 	 * @param mpPersonId
50
-	 * @param parentMpPersonId
51
+	 * @param sponsorPersonId
51
 	 * @param targetId
52
 	 * @param targetId
52
 	 * @param orgId
53
 	 * @param orgId
53
 	 * @return
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 Datei anzeigen

11
 import com.huiju.estateagents.base.ResponseBean;
11
 import com.huiju.estateagents.base.ResponseBean;
12
 import com.huiju.estateagents.common.CommConstant;
12
 import com.huiju.estateagents.common.CommConstant;
13
 import com.huiju.estateagents.common.CommonUtils;
13
 import com.huiju.estateagents.common.CommonUtils;
14
+import com.huiju.estateagents.common.JWTUtils;
14
 import com.huiju.estateagents.common.MD5Utils;
15
 import com.huiju.estateagents.common.MD5Utils;
15
 import com.huiju.estateagents.drainage.entity.TaDrainage;
16
 import com.huiju.estateagents.drainage.entity.TaDrainage;
16
 import com.huiju.estateagents.drainage.mapper.TaDrainageMapper;
17
 import com.huiju.estateagents.drainage.mapper.TaDrainageMapper;
23
 import com.huiju.estateagents.third.entity.TaThirdPartyMiniappConfig;
24
 import com.huiju.estateagents.third.entity.TaThirdPartyMiniappConfig;
24
 import com.huiju.estateagents.third.mapper.TaThirdPartyMiniappConfigMapper;
25
 import com.huiju.estateagents.third.mapper.TaThirdPartyMiniappConfigMapper;
25
 import com.huiju.estateagents.third.service.ITaThirdPartyMiniappConfigService;
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
 import org.apache.commons.lang3.StringUtils;
28
 import org.apache.commons.lang3.StringUtils;
28
 import org.springframework.beans.factory.annotation.Autowired;
29
 import org.springframework.beans.factory.annotation.Autowired;
29
 import org.springframework.stereotype.Service;
30
 import org.springframework.stereotype.Service;
30
 
31
 
31
 import java.net.InetAddress;
32
 import java.net.InetAddress;
32
 import java.time.LocalDateTime;
33
 import java.time.LocalDateTime;
34
+import java.util.HashMap;
33
 import java.util.List;
35
 import java.util.List;
36
+import java.util.Map;
34
 import java.util.Random;
37
 import java.util.Random;
35
 import java.util.stream.Collectors;
38
 import java.util.stream.Collectors;
36
 
39
 
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
 	 * @param personId
139
 	 * @param personId
137
 	 */
140
 	 */
138
 	@Override
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
 		if (null == mpPerson){
147
 		if (null == mpPerson){
144
 			//新增入公众号人员表
148
 			//新增入公众号人员表
145
 			TaMpPerson taMpPerson = new TaMpPerson();
149
 			TaMpPerson taMpPerson = new TaMpPerson();
146
 			taMpPerson.setAppid(mpAppid);
150
 			taMpPerson.setAppid(mpAppid);
147
-			taMpPerson.setCity(user.getCity());
148
-			taMpPerson.setCountry(user.getCountry());
149
 			taMpPerson.setCreateDate(LocalDateTime.now());
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
 			taMpPerson.setStatus(CommConstant.STATUS_NORMAL);
153
 			taMpPerson.setStatus(CommConstant.STATUS_NORMAL);
157
 			taMpPersonMapper.insert(taMpPerson);
154
 			taMpPersonMapper.insert(taMpPerson);
158
 			mpPerson = taMpPerson;
155
 			mpPerson = taMpPerson;
167
 			taMpMiniappMapper.insert(taMpMiniapp);
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
 	 * @param mpAppid 公众号appid
205
 	 * @param mpAppid 公众号appid
177
-	 * @param mpPersonId 公众号人员id
206
+	 * @param personId 小程序人员id
178
 	 * @param drainageId H5活动id
207
 	 * @param drainageId H5活动id
179
 	 * @param orgId 小程序id
208
 	 * @param orgId 小程序id
180
 	 */
209
 	 */
181
 	@Override
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
 		//第一步根据drainggeid查询出红包表对应的记录
212
 		//第一步根据drainggeid查询出红包表对应的记录
184
 		TaDrainage taDrainage = taDrainageMapper.selectById(drainageId);
213
 		TaDrainage taDrainage = taDrainageMapper.selectById(drainageId);
185
 		//第二步查询出这个H5对应的活动
214
 		//第二步查询出这个H5对应的活动
193
 		}
222
 		}
194
 
223
 
195
 		//参与活动
224
 		//参与活动
196
-		TaRedPacketPerson taRedPacketPerson = saveRedPacketPerson(mpPersonId,taRedPacket,orgId);
225
+		TaRedPacketPerson taRedPacketPerson = saveRedPacketPerson(personId,taRedPacket,orgId);
197
 
226
 
198
 		return ResponseBean.success(taRedPacketPerson);
227
 		return ResponseBean.success(taRedPacketPerson);
199
 	}
228
 	}
200
 
229
 
201
 	/**
230
 	/**
202
 	 * 参与活动方法--悲观锁
231
 	 * 参与活动方法--悲观锁
203
-	 * @param mpPersonId
232
+	 * @param personId
204
 	 * @param taRedPacket
233
 	 * @param taRedPacket
205
 	 * @param orgId
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
 		QueryWrapper<TaRedPacketPerson> queryWrapper = new QueryWrapper<>();
241
 		QueryWrapper<TaRedPacketPerson> queryWrapper = new QueryWrapper<>();
213
 		queryWrapper.eq("activity_id",taRedPacket.getActivityId());
242
 		queryWrapper.eq("activity_id",taRedPacket.getActivityId());
214
 		queryWrapper.eq("org_id",orgId);
243
 		queryWrapper.eq("org_id",orgId);
215
-		queryWrapper.eq("mp_person_id",mpPersonId);
244
+		queryWrapper.eq("mp_person_id",taMpMiniapp.getMpPersonId());
216
 		queryWrapper.eq("miniapp_person_id",taMpMiniapp.getMiniappPersonId());
245
 		queryWrapper.eq("miniapp_person_id",taMpMiniapp.getMiniappPersonId());
217
 		TaRedPacketPerson redPacketPerson = taRedPacketPersonMapper.selectOne(queryWrapper);
246
 		TaRedPacketPerson redPacketPerson = taRedPacketPersonMapper.selectOne(queryWrapper);
218
 		if (null != redPacketPerson){
247
 		if (null != redPacketPerson){
225
 		taRedPacketPerson.setCreateDate(LocalDateTime.now());
254
 		taRedPacketPerson.setCreateDate(LocalDateTime.now());
226
 		taRedPacketPerson.setIsSignedUp(true);
255
 		taRedPacketPerson.setIsSignedUp(true);
227
 		taRedPacketPerson.setMiniappPersonId(taMpMiniapp.getMiniappPersonId());
256
 		taRedPacketPerson.setMiniappPersonId(taMpMiniapp.getMiniappPersonId());
228
-		taRedPacketPerson.setMpPersonId(mpPersonId);
257
+		taRedPacketPerson.setMpPersonId(taMpMiniapp.getMpPersonId());
229
 		taRedPacketPerson.setOrgId(orgId);
258
 		taRedPacketPerson.setOrgId(orgId);
230
 		taRedPacketPersonMapper.insert(taRedPacketPerson);
259
 		taRedPacketPersonMapper.insert(taRedPacketPerson);
231
 		return taRedPacketPerson;
260
 		return taRedPacketPerson;
236
 	 *
265
 	 *
237
 	 * @param mpAppid 公众号appid
266
 	 * @param mpAppid 公众号appid
238
 	 * @param mpPersonId 公众号personId
267
 	 * @param mpPersonId 公众号personId
239
-	 * @param parentMpPersonId 公众号被助力者的peisonId
268
+	 * @param sponsorPersonId 公众号发起人id
240
 	 * @param drainageId H5活动id
269
 	 * @param drainageId H5活动id
241
 	 * @param orgId 小程序id
270
 	 * @param orgId 小程序id
242
 	 * @return
271
 	 * @return
243
 	 */
272
 	 */
244
 	@Override
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
 		//第一步根据drainggeid查询出红包表对应的记录
275
 		//第一步根据drainggeid查询出红包表对应的记录
247
 		TaDrainage taDrainage = taDrainageMapper.selectById(drainageId);
276
 		TaDrainage taDrainage = taDrainageMapper.selectById(drainageId);
248
 		//第二步查询出这个H5对应的活动
277
 		//第二步查询出这个H5对应的活动
259
 		TaMpMiniapp taMpMiniapp = taMpMiniappMapper.selectOne(new QueryWrapper<TaMpMiniapp>().eq("mp_person_id", mpPersonId));
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
 		//根据活动id查询这个活动的助力规则
293
 		//根据活动id查询这个活动的助力规则
265
 		TaRedPacketHelp taRedPacketHelp = taRedPacketHelpMapper.selectById(taDrainage.getActivityId());
294
 		TaRedPacketHelp taRedPacketHelp = taRedPacketHelpMapper.selectById(taDrainage.getActivityId());

+ 105
- 10
src/main/resources/mapper/redpack/TaOrgOrderMapper.xml Datei anzeigen

210
             <if test = " payStartTime != null ">
210
             <if test = " payStartTime != null ">
211
                 AND t.pay_date &gt;= #{payStartTime}
211
                 AND t.pay_date &gt;= #{payStartTime}
212
             </if>
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
             </if>
215
             </if>
216
             <if test = " tradingStatus != null">
216
             <if test = " tradingStatus != null">
217
                 AND t.trading_status = #{tradingStatus}
217
                 AND t.trading_status = #{tradingStatus}
249
             <if test = " payStartTime != null ">
249
             <if test = " payStartTime != null ">
250
                 AND t.pay_date &gt;= #{payStartTime}
250
                 AND t.pay_date &gt;= #{payStartTime}
251
             </if>
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
             </if>
254
             </if>
255
             <if test = " tradingStatus != null">
255
             <if test = " tradingStatus != null">
256
                 AND t.trading_status = #{tradingStatus}
256
                 AND t.trading_status = #{tradingStatus}
289
 
289
 
290
     <select id="exportRefundOrderByCondition" resultType="com.huiju.estateagents.excel.redPacket.AccountRefundRecordExport">
290
     <select id="exportRefundOrderByCondition" resultType="com.huiju.estateagents.excel.redPacket.AccountRefundRecordExport">
291
         SELECT
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
             ta_org_order t
298
             ta_org_order t
299
         INNER JOIN ta_org_order_detail t2 ON t.order_id = t2.order_id AND t2.item_type = 'refund'
299
         INNER JOIN ta_org_order_detail t2 ON t.order_id = t2.order_id AND t2.item_type = 'refund'
300
         LEFT JOIN ta_org_refund_application t3 ON t.order_id = t3.order_id
300
         LEFT JOIN ta_org_refund_application t3 ON t.order_id = t3.order_id
358
         ORDER BY
358
         ORDER BY
359
             t.create_date DESC
359
             t.create_date DESC
360
     </select>
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
 </mapper>
456
 </mapper>

+ 80
- 14
src/main/resources/mapper/redpack/TaRedPacketMapper.xml Datei anzeigen

16
         `building_name`,
16
         `building_name`,
17
         `poster_show_pos`,
17
         `poster_show_pos`,
18
         `join_fields`,
18
         `join_fields`,
19
-        `org_id`,
20
-        `create_date`,
21
-        `status`
19
+        `org_id`
22
         ) SELECT
20
         ) SELECT
23
         #{activityId},
21
         #{activityId},
24
         #{name},
22
         #{name},
32
         `building_name`,
30
         `building_name`,
33
         `poster_show_pos`,
31
         `poster_show_pos`,
34
         `join_fields`,
32
         `join_fields`,
35
-        #{orgId},
36
-        `create_date`,
37
-        `status`
33
+        #{orgId}
38
         FROM
34
         FROM
39
             ta_red_packet t2
35
             ta_red_packet t2
40
         WHERE
36
         WHERE
41
-            activity_id =1
37
+            activity_id = #{templeActivityId}
42
     </insert>
38
     </insert>
43
 
39
 
44
     <insert id="initRedPacketHelp">
40
     <insert id="initRedPacketHelp">
67
         FROM
63
         FROM
68
             ta_red_packet_help t2
64
             ta_red_packet_help t2
69
         WHERE
65
         WHERE
70
-            activity_id =1
66
+            activity_id =#{templeActivityId}
71
     </insert>
67
     </insert>
72
 
68
 
73
     <insert id="initRedPacketClient">
69
     <insert id="initRedPacketClient">
75
            `activity_id`,
71
            `activity_id`,
76
            `mch_name`,
72
            `mch_name`,
77
             `blessing`,
73
             `blessing`,
78
-            'activity_name`,
74
+            `activity_name`,
79
             `remark`
75
             `remark`
80
          ) SELECT
76
          ) SELECT
81
             #{activityId},
77
             #{activityId},
86
         FROM
82
         FROM
87
             ta_red_packet_client t2
83
             ta_red_packet_client t2
88
         WHERE
84
         WHERE
89
-            activity_id = 1
85
+            activity_id = #{templeActivityId}
90
     </insert>
86
     </insert>
91
 
87
 
92
     <insert id="initRedPacketMoney">
88
     <insert id="initRedPacketMoney">
102
         FROM
98
         FROM
103
             ta_red_packet_money t2 
99
             ta_red_packet_money t2 
104
         WHERE
100
         WHERE
105
-            activity_id =1
101
+            activity_id =#{templeActivityId}
106
     </insert>
102
     </insert>
107
 
103
 
108
     <insert id="initRedPacketImages">
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
             `activity_type`,
106
             `activity_type`,
111
             #{activityId},
107
             #{activityId},
112
             `image_type`,
108
             `image_type`,
113
             `image_url`,
109
             `image_url`,
114
             `sort_no`
110
             `sort_no`
115
         FROM
111
         FROM
116
-            ta_h5_sample t2
112
+            ta_h5_images t2
117
         WHERE
113
         WHERE
118
-            t2.activity_id = 1
114
+            t2.activity_id = #{templeActivityId}
119
     </insert>
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
 </mapper>
187
 </mapper>