Просмотр исходного кода

Merge branch 'dev'

# Conflicts:
#	src/main/resources/mapper/TaRecommendCustomerMapper.xml
魏超 5 лет назад
Родитель
Сommit
68fd07e087
100 измененных файлов: 7088 добавлений и 252 удалений
  1. 18
    2
      pom.xml
  2. 0
    2
      src/main/java/com/huiju/estateagents/EstateagentsApplication.java
  3. 2
    0
      src/main/java/com/huiju/estateagents/base/BaseController.java
  4. 29
    0
      src/main/java/com/huiju/estateagents/bo/request/QrCodeStatisticResponseBO.java
  5. 18
    0
      src/main/java/com/huiju/estateagents/bo/request/SaveCzOrderRequestBO.java
  6. 18
    0
      src/main/java/com/huiju/estateagents/bo/request/SaveRefundOrderRequestBO.java
  7. 1
    1
      src/main/java/com/huiju/estateagents/center/taUser/controller/TaUserAuthButtonController.java
  8. 1
    1
      src/main/java/com/huiju/estateagents/center/taUser/controller/TaUserController.java
  9. 1
    1
      src/main/java/com/huiju/estateagents/center/taUser/service/ITaUserAuthButtonService.java
  10. 30
    2
      src/main/java/com/huiju/estateagents/center/taUser/service/impl/TaUserAuthButtonServiceImpl.java
  11. 95
    3
      src/main/java/com/huiju/estateagents/common/CommConstant.java
  12. 64
    0
      src/main/java/com/huiju/estateagents/common/CommonUtils.java
  13. 90
    0
      src/main/java/com/huiju/estateagents/common/MiniAppPageEnum.java
  14. 14
    0
      src/main/java/com/huiju/estateagents/common/NumberUtils.java
  15. 5
    1
      src/main/java/com/huiju/estateagents/common/StringUtils.java
  16. 33
    0
      src/main/java/com/huiju/estateagents/common/WxQrCodeUtils.java
  17. 4
    3
      src/main/java/com/huiju/estateagents/controller/ExtendContentController.java
  18. 6
    1
      src/main/java/com/huiju/estateagents/controller/HelpActivityController.java
  19. 15
    6
      src/main/java/com/huiju/estateagents/controller/IndexController.java
  20. 31
    14
      src/main/java/com/huiju/estateagents/controller/MiniAppController.java
  21. 7
    1
      src/main/java/com/huiju/estateagents/controller/TaBuildingController.java
  22. 5
    0
      src/main/java/com/huiju/estateagents/controller/TaBuildingDynamicController.java
  23. 177
    18
      src/main/java/com/huiju/estateagents/controller/TaChannelController.java
  24. 28
    3
      src/main/java/com/huiju/estateagents/controller/TaCustomImgController.java
  25. 8
    2
      src/main/java/com/huiju/estateagents/controller/TaHousingResourcesController.java
  26. 22
    7
      src/main/java/com/huiju/estateagents/controller/TaLiveActivityController.java
  27. 7
    1
      src/main/java/com/huiju/estateagents/controller/TaNewsController.java
  28. 12
    0
      src/main/java/com/huiju/estateagents/controller/TaPersonController.java
  29. 244
    0
      src/main/java/com/huiju/estateagents/controller/TaQrcodeController.java
  30. 3
    6
      src/main/java/com/huiju/estateagents/controller/TaRaiseController.java
  31. 19
    11
      src/main/java/com/huiju/estateagents/controller/TaRecommendCustomerController.java
  32. 7
    1
      src/main/java/com/huiju/estateagents/controller/TaShareActivityController.java
  33. 125
    131
      src/main/java/com/huiju/estateagents/drainage/controller/TaDrainageController.java
  34. 25
    0
      src/main/java/com/huiju/estateagents/drainage/entity/TaDrainage.java
  35. 3
    0
      src/main/java/com/huiju/estateagents/drainage/service/ITaDrainageService.java
  36. 112
    0
      src/main/java/com/huiju/estateagents/drainage/service/impl/TaDrainageServiceImpl.java
  37. 2
    0
      src/main/java/com/huiju/estateagents/entity/ExtendContent.java
  38. 3
    0
      src/main/java/com/huiju/estateagents/entity/TaBuilding.java
  39. 8
    4
      src/main/java/com/huiju/estateagents/entity/TaChannel.java
  40. 72
    1
      src/main/java/com/huiju/estateagents/entity/TaCustomerFrom.java
  41. 2
    0
      src/main/java/com/huiju/estateagents/entity/TaMiniappQrcode.java
  42. 5
    0
      src/main/java/com/huiju/estateagents/entity/TaOrg.java
  43. 10
    0
      src/main/java/com/huiju/estateagents/entity/TaPerson.java
  44. 37
    0
      src/main/java/com/huiju/estateagents/entity/TaPersonVisitRecord.java
  45. 99
    0
      src/main/java/com/huiju/estateagents/entity/TaQrcode.java
  46. 12
    1
      src/main/java/com/huiju/estateagents/entity/TsActivityDaily.java
  47. 45
    0
      src/main/java/com/huiju/estateagents/excel/ActivityStatistics/ChannelAddRegistNum.java
  48. 79
    0
      src/main/java/com/huiju/estateagents/excel/ActivityStatistics/ChannelVisitNum.java
  49. 86
    0
      src/main/java/com/huiju/estateagents/excel/ActivityStatistics/ChannelVisitPersonNum.java
  50. 58
    0
      src/main/java/com/huiju/estateagents/excel/ActivityStatistics/TsChannelDaily.java
  51. 45
    0
      src/main/java/com/huiju/estateagents/excel/QrCodeStatistics/QrCodeNewPersonNum.java
  52. 45
    0
      src/main/java/com/huiju/estateagents/excel/QrCodeStatistics/QrCodeVisitNum.java
  53. 44
    0
      src/main/java/com/huiju/estateagents/excel/QrCodeStatistics/QrCodeVisitPersonNum.java
  54. 47
    0
      src/main/java/com/huiju/estateagents/excel/redPacket/AccountConsumeRecordExport.java
  55. 43
    0
      src/main/java/com/huiju/estateagents/excel/redPacket/AccountPayRecordExport.java
  56. 38
    0
      src/main/java/com/huiju/estateagents/excel/redPacket/AccountRefundRecordExport.java
  57. 37
    0
      src/main/java/com/huiju/estateagents/excel/redPacket/RedPacketRankingListExport.java
  58. 41
    0
      src/main/java/com/huiju/estateagents/excel/redPacket/RedPacketVisitRecordtExport.java
  59. 5
    0
      src/main/java/com/huiju/estateagents/interceptor/AccessInterceptor.java
  60. 55
    0
      src/main/java/com/huiju/estateagents/job/OrgOrderTimeJob.java
  61. 33
    0
      src/main/java/com/huiju/estateagents/mapper/TaChannelMapper.java
  62. 9
    1
      src/main/java/com/huiju/estateagents/mapper/TaLiveActivityMapper.java
  63. 2
    0
      src/main/java/com/huiju/estateagents/mapper/TaMiniappMapper.java
  64. 1
    0
      src/main/java/com/huiju/estateagents/mapper/TaPersonBuildingMapper.java
  65. 92
    0
      src/main/java/com/huiju/estateagents/mapper/TaQrcodeMapper.java
  66. 83
    27
      src/main/java/com/huiju/estateagents/mapper/TaRecommendCustomerMapper.java
  67. 150
    0
      src/main/java/com/huiju/estateagents/redpack/controller/TaH5ImagesController.java
  68. 155
    0
      src/main/java/com/huiju/estateagents/redpack/controller/TaH5TemplateController.java
  69. 143
    0
      src/main/java/com/huiju/estateagents/redpack/controller/TaMpMiniappController.java
  70. 143
    0
      src/main/java/com/huiju/estateagents/redpack/controller/TaMpPersonController.java
  71. 150
    0
      src/main/java/com/huiju/estateagents/redpack/controller/TaOrgAccountBlockedController.java
  72. 150
    0
      src/main/java/com/huiju/estateagents/redpack/controller/TaOrgAccountCertificateController.java
  73. 365
    0
      src/main/java/com/huiju/estateagents/redpack/controller/TaOrgAccountController.java
  74. 150
    0
      src/main/java/com/huiju/estateagents/redpack/controller/TaOrgAccountDetailedListController.java
  75. 562
    0
      src/main/java/com/huiju/estateagents/redpack/controller/TaOrgOrderController.java
  76. 150
    0
      src/main/java/com/huiju/estateagents/redpack/controller/TaOrgOrderDetailController.java
  77. 150
    0
      src/main/java/com/huiju/estateagents/redpack/controller/TaOrgRefundApplicationController.java
  78. 143
    0
      src/main/java/com/huiju/estateagents/redpack/controller/TaRedPacketClientController.java
  79. 316
    0
      src/main/java/com/huiju/estateagents/redpack/controller/TaRedPacketController.java
  80. 145
    0
      src/main/java/com/huiju/estateagents/redpack/controller/TaRedPacketHelpController.java
  81. 144
    0
      src/main/java/com/huiju/estateagents/redpack/controller/TaRedPacketHistoryController.java
  82. 146
    0
      src/main/java/com/huiju/estateagents/redpack/controller/TaRedPacketMoneyController.java
  83. 143
    0
      src/main/java/com/huiju/estateagents/redpack/controller/TaRedPacketPersonController.java
  84. 68
    0
      src/main/java/com/huiju/estateagents/redpack/entity/ConsumeOrder.java
  85. 45
    0
      src/main/java/com/huiju/estateagents/redpack/entity/OrgAccountExport.java
  86. 60
    0
      src/main/java/com/huiju/estateagents/redpack/entity/RechargeOrder.java
  87. 54
    0
      src/main/java/com/huiju/estateagents/redpack/entity/RefundOrder.java
  88. 63
    0
      src/main/java/com/huiju/estateagents/redpack/entity/TaH5Images.java
  89. 65
    0
      src/main/java/com/huiju/estateagents/redpack/entity/TaH5Template.java
  90. 35
    0
      src/main/java/com/huiju/estateagents/redpack/entity/TaMpMiniapp.java
  91. 89
    0
      src/main/java/com/huiju/estateagents/redpack/entity/TaMpPerson.java
  92. 123
    0
      src/main/java/com/huiju/estateagents/redpack/entity/TaOrgAccount.java
  93. 63
    0
      src/main/java/com/huiju/estateagents/redpack/entity/TaOrgAccountBlocked.java
  94. 88
    0
      src/main/java/com/huiju/estateagents/redpack/entity/TaOrgAccountCertificate.java
  95. 83
    0
      src/main/java/com/huiju/estateagents/redpack/entity/TaOrgAccountDetailedList.java
  96. 175
    0
      src/main/java/com/huiju/estateagents/redpack/entity/TaOrgOrder.java
  97. 95
    0
      src/main/java/com/huiju/estateagents/redpack/entity/TaOrgOrderDetail.java
  98. 103
    0
      src/main/java/com/huiju/estateagents/redpack/entity/TaOrgRefundApplication.java
  99. 157
    0
      src/main/java/com/huiju/estateagents/redpack/entity/TaRedPacket.java
  100. 0
    0
      src/main/java/com/huiju/estateagents/redpack/entity/TaRedPacketClient.java

+ 18
- 2
pom.xml Просмотреть файл

@@ -10,7 +10,7 @@
10 10
 	</parent>
11 11
 	<groupId>com.huiju</groupId>
12 12
 	<artifactId>estateagents</artifactId>
13
-	<version>v3.5.21</version>
13
+	<version>v3.5.29</version>
14 14
 	<name>estateages</name>
15 15
 	<description>置业经纪人</description>
16 16
 
@@ -56,7 +56,17 @@
56 56
 		<dependency>
57 57
 			<groupId>com.github.binarywang</groupId>
58 58
 			<artifactId>weixin-java-miniapp</artifactId>
59
-			<version>3.6.0</version>
59
+			<version>3.8.0</version>
60
+		</dependency>
61
+		<dependency>
62
+			<groupId>com.github.binarywang</groupId>
63
+			<artifactId>weixin-java-mp</artifactId>
64
+			<version>3.8.0</version>
65
+		</dependency>
66
+		<dependency>
67
+			<groupId>com.github.binarywang</groupId>
68
+			<artifactId>weixin-java-pay</artifactId>
69
+			<version>3.8.0</version>
60 70
 		</dependency>
61 71
 		<dependency>
62 72
 			<groupId>com.alibaba</groupId>
@@ -129,6 +139,12 @@
129 139
 			<version>2.7.0</version>
130 140
 		</dependency>
131 141
 
142
+        <!-- aop 依赖 -->
143
+        <dependency>
144
+            <groupId>org.springframework.boot</groupId>
145
+            <artifactId>spring-boot-starter-aop</artifactId>
146
+        </dependency>
147
+
132 148
 
133 149
 		<dependency>
134 150
 			<groupId>fadada</groupId>

+ 0
- 2
src/main/java/com/huiju/estateagents/EstateagentsApplication.java Просмотреть файл

@@ -1,13 +1,11 @@
1 1
 package com.huiju.estateagents;
2 2
 
3 3
 import com.huiju.estateagents.websocket.ChatServer;
4
-import org.mybatis.spring.annotation.MapperScan;
5 4
 import org.springframework.boot.SpringApplication;
6 5
 import org.springframework.boot.autoconfigure.SpringBootApplication;
7 6
 import org.springframework.context.ConfigurableApplicationContext;
8 7
 
9 8
 @SpringBootApplication
10
-@MapperScan("com.baomidou.mybatisplus.samples.quickstart.mapper")
11 9
 public class EstateagentsApplication {
12 10
 
13 11
 	public static void main(String[] args) {

+ 2
- 0
src/main/java/com/huiju/estateagents/base/BaseController.java Просмотреть файл

@@ -10,6 +10,7 @@ import org.springframework.beans.factory.annotation.Autowired;
10 10
 
11 11
 import javax.servlet.http.HttpServletRequest;
12 12
 import java.util.ArrayList;
13
+import java.util.Enumeration;
13 14
 import java.util.List;
14 15
 import java.util.Map;
15 16
 
@@ -140,3 +141,4 @@ public class BaseController {
140 141
         return taPersonBuildingList;
141 142
     }
142 143
 }
144
+

+ 29
- 0
src/main/java/com/huiju/estateagents/bo/request/QrCodeStatisticResponseBO.java Просмотреть файл

@@ -0,0 +1,29 @@
1
+package com.huiju.estateagents.bo.request;
2
+
3
+import lombok.Data;
4
+
5
+/**
6
+ * 二维码统计返回实体
7
+ *
8
+ * @author gusy
9
+ * @date 2020/5/21 13:53
10
+ */
11
+@Data
12
+public class QrCodeStatisticResponseBO {
13
+
14
+    /**
15
+     * 访问人数
16
+     */
17
+    private Integer visitPersons;
18
+
19
+    /**
20
+     * 访问次数
21
+     */
22
+    private Integer visitNum;
23
+
24
+    /**
25
+     * 新增用户
26
+     */
27
+    private Integer newPersons;
28
+
29
+}

+ 18
- 0
src/main/java/com/huiju/estateagents/bo/request/SaveCzOrderRequestBO.java Просмотреть файл

@@ -0,0 +1,18 @@
1
+package com.huiju.estateagents.bo.request;
2
+
3
+import lombok.Data;
4
+
5
+/**
6
+ * 创建充值订单请求实体
7
+ *
8
+ * @author gusy
9
+ * @date 2020/6/9 14:58
10
+ */
11
+@Data
12
+public class SaveCzOrderRequestBO {
13
+
14
+    /**
15
+     * 充值金额
16
+     */
17
+    private Integer amount;
18
+}

+ 18
- 0
src/main/java/com/huiju/estateagents/bo/request/SaveRefundOrderRequestBO.java Просмотреть файл

@@ -0,0 +1,18 @@
1
+package com.huiju.estateagents.bo.request;
2
+
3
+import lombok.Data;
4
+
5
+/**
6
+ * 创建退款订单请求实体
7
+ *
8
+ * @author gusy
9
+ * @date 2020/6/9 14:58
10
+ */
11
+@Data
12
+public class SaveRefundOrderRequestBO {
13
+
14
+    /**
15
+     * 退款金额
16
+     */
17
+    private Integer amount;
18
+}

+ 1
- 1
src/main/java/com/huiju/estateagents/center/taUser/controller/TaUserAuthButtonController.java Просмотреть файл

@@ -36,7 +36,7 @@ public class TaUserAuthButtonController extends BaseController {
36 36
                                           @RequestParam("pageNum")Integer pageNum,
37 37
                                           @RequestParam("pageSize")Integer pageSize){
38 38
         Integer userId = getUserId(servletRequest);
39
-        return iTaUserAuthButtonService.getButtonByUserId(pageNum,pageSize,userId.toString());
39
+        return iTaUserAuthButtonService.getButtonByUserId(pageNum,pageSize,userId.toString(),getOrgId(servletRequest));
40 40
     }
41 41
 
42 42
 

+ 1
- 1
src/main/java/com/huiju/estateagents/center/taUser/controller/TaUserController.java Просмотреть файл

@@ -287,7 +287,7 @@ public class TaUserController extends BaseController {
287 287
             TaUser taUser = iTaUserService.getById(map.get("userId").toString());
288 288
             List<TaRole> roles = iTaRoleService.getRolesByUser(taUser.getUserId());
289 289
             ResponseBean authMenu = iTaUserAuthMenuService.getMenuByUserId(null, null, taUser.getUserId().toString(),taUser.getOrgId());
290
-            ResponseBean authButton = iTaUserAuthButtonService.getButtonByUserId(null, null, taUser.getUserId().toString());
290
+            ResponseBean authButton = iTaUserAuthButtonService.getButtonByUserId(null, null, taUser.getUserId().toString(),taUser.getOrgId());
291 291
             QueryWrapper<TaMiniapp> taMiniappQueryWrapper = new QueryWrapper<>();
292 292
             taMiniappQueryWrapper.eq("org_id", getOrgId(request));
293 293
             TaMiniapp taMiniapp = iTaMiniappService.getOne(taMiniappQueryWrapper);

+ 1
- 1
src/main/java/com/huiju/estateagents/center/taUser/service/ITaUserAuthButtonService.java Просмотреть файл

@@ -14,7 +14,7 @@ import java.util.List;
14 14
  */
15 15
 public interface ITaUserAuthButtonService extends IService<SysButtonInMenu> {
16 16
 
17
-    ResponseBean getButtonByUserId(Integer pageNum, Integer pageSize, String userId);
17
+    ResponseBean getButtonByUserId(Integer pageNum, Integer pageSize, String userId, Integer orgId);
18 18
 
19 19
     ResponseBean getAllButton(Integer pageNum, Integer pageSize);
20 20
 

+ 30
- 2
src/main/java/com/huiju/estateagents/center/taUser/service/impl/TaUserAuthButtonServiceImpl.java Просмотреть файл

@@ -9,10 +9,15 @@ import com.huiju.estateagents.center.taUser.entity.TaUser;
9 9
 import com.huiju.estateagents.center.taUser.mapper.TaUserAuthButtonMapper;
10 10
 import com.huiju.estateagents.center.taUser.mapper.TaUserMapper;
11 11
 import com.huiju.estateagents.center.taUser.service.ITaUserAuthButtonService;
12
+import com.huiju.estateagents.common.CommConstant;
13
+import com.huiju.estateagents.entity.SysAdvancedConfigRelation;
12 14
 import com.huiju.estateagents.entity.SysButtonInMenu;
13 15
 import com.huiju.estateagents.entity.SysMenu;
16
+import com.huiju.estateagents.entity.TaAdvancedController;
14 17
 import com.huiju.estateagents.entity.TaRole;
15 18
 import com.huiju.estateagents.entity.TaRoleButton;
19
+import com.huiju.estateagents.mapper.SysAdvancedConfigRelationMapper;
20
+import com.huiju.estateagents.mapper.TaAdvancedControllerMapper;
16 21
 import com.huiju.estateagents.mapper.TaRoleButtonMapper;
17 22
 import com.huiju.estateagents.mapper.TaRoleMapper;
18 23
 import org.springframework.beans.factory.annotation.Autowired;
@@ -20,6 +25,7 @@ import org.springframework.stereotype.Service;
20 25
 
21 26
 import java.util.ArrayList;
22 27
 import java.util.List;
28
+import java.util.stream.Collectors;
23 29
 
24 30
 /**
25 31
  * @author admin
@@ -38,11 +44,33 @@ public class TaUserAuthButtonServiceImpl extends ServiceImpl<TaUserAuthButtonMap
38 44
     private TaUserMapper taUserMapper;
39 45
     @Autowired
40 46
     private TaRoleMapper taRoleMapper;
47
+    @Autowired
48
+    private TaAdvancedControllerMapper taAdvancedControllerMapper;
49
+    @Autowired
50
+    private SysAdvancedConfigRelationMapper sysAdvancedConfigRelationMapper;
41 51
 
42 52
     @Override
43
-    public ResponseBean getButtonByUserId(Integer pageNum, Integer pageSize, String userId) {
44
-        List<SysButtonInMenu> records = taUserAuthButtonMapper.sysButtonListByUserId(userId);
53
+    public ResponseBean getButtonByUserId(Integer pageNum, Integer pageSize, String userId, Integer orgId) {
54
+        List<SysButtonInMenu> records = new ArrayList<>();
55
+        List<SysButtonInMenu> menuList = taUserAuthButtonMapper.sysButtonListByUserId(userId);
56
+        records.addAll(menuList);
57
+        //添加高级配置的过滤条件
58
+        List<TaAdvancedController> taAdvancedControllerList = taAdvancedControllerMapper.selectList(new QueryWrapper<TaAdvancedController>().eq("org_id", orgId));
59
+
60
+        //需要过滤的菜单
61
+        QueryWrapper<SysAdvancedConfigRelation> sysAdvancedConfigRelationQueryWrapper = new QueryWrapper<>();
62
+        sysAdvancedConfigRelationQueryWrapper.eq("target_type", CommConstant.ADVANCED_TYPE_BUTTON);
63
+        sysAdvancedConfigRelationQueryWrapper.notIn(taAdvancedControllerList.size() > 0,"advanced_config_id",taAdvancedControllerList.stream().map(TaAdvancedController::getAdvancedConfigId).collect(Collectors.toList()));
64
+        List<SysAdvancedConfigRelation> sysAdvancedConfigRelations = sysAdvancedConfigRelationMapper.selectList(sysAdvancedConfigRelationQueryWrapper);
65
+        menuList.forEach(e -> {
66
+            sysAdvancedConfigRelations.forEach(s -> {
67
+                if ((e.getBtnId()).equals(Integer.valueOf(s.getTargetId()))){
68
+                    records.remove(e);
69
+                }
70
+            });
71
+        });
45 72
         return ResponseBean.success(records);
73
+
46 74
     }
47 75
 
48 76
     @Override

+ 95
- 3
src/main/java/com/huiju/estateagents/common/CommConstant.java Просмотреть файл

@@ -206,6 +206,17 @@ public class CommConstant {
206 206
      */
207 207
     public static final String BANNER_INDEX = "index";
208 208
 
209
+    /**
210
+     * 首屏广告_发布位置——项目
211
+     */
212
+    public static final String BANNER_BUILDING = "building";
213
+
214
+    //首页资讯
215
+    public static final String INDEX_NEWS = "indexNews";
216
+
217
+    //首页分享类型
218
+    public static final String IMG_TYPE = "imgType";
219
+
209 220
     //=================  首屏广告 / 轮播图 end =======================
210 221
 
211 222
     /**
@@ -541,6 +552,13 @@ public class CommConstant {
541 552
      */
542 553
     public static final String HOUSE = "house";
543 554
 
555
+
556
+    /**
557
+     * 首页分享
558
+     */
559
+    public static final String INDEX = "index";
560
+
561
+
544 562
     /**
545 563
      * 批量销售
546 564
      */
@@ -551,6 +569,11 @@ public class CommConstant {
551 569
      */
552 570
     public static final String LIVE = "live";
553 571
 
572
+    /**
573
+     * 红包类型标识
574
+     */
575
+    public static final String RED_PACKET = "RedPacket";
576
+
554 577
     /**
555 578
      * 系统参数  通知消息次时间间隔
556 579
      */
@@ -699,13 +722,11 @@ public class CommConstant {
699 722
 
700 723
     /**
701 724
      * 已经取消支付
702
-     *
703 725
      */
704 726
     public static final String PAY_STATUS_CANCEL = "cancel";
705 727
 
706 728
     /**
707 729
      * 支付超时
708
-     *
709 730
      */
710 731
     public static final String PAY_STATUS_TIMEOUT = "timeout";
711 732
 
@@ -719,6 +740,11 @@ public class CommConstant {
719 740
      */
720 741
     public static final Object ADVANCED_TYPE_MENU = "menu";
721 742
 
743
+    /**
744
+     * 菜单
745
+     */
746
+    public static final Object ADVANCED_TYPE_BUTTON = "button";
747
+
722 748
     /**
723 749
      * 线下缴费
724 750
      */
@@ -808,10 +834,76 @@ public class CommConstant {
808 834
 
809 835
     public static final String AUTO_UNAUTH_STATUS = "3001";
810 836
 
811
-    public static final String  AUTH_SUCCESS_DESC = "签章成功";
837
+    public static final String AUTH_SUCCESS_DESC = "签章成功";
812 838
 
813 839
     /**
814 840
      * 审核通过
815 841
      */
816 842
     public static final Integer STATUS_VERIFY_PASS = 4;
843
+
844
+    /**
845
+     * 充值操作
846
+     */
847
+    public static final String RECHARGE = "CZ";
848
+
849
+    /**
850
+     * 退款操作
851
+     */
852
+    public static final String REFUND = "TK";
853
+
854
+    /**
855
+     * 明细类型--充值
856
+     */
857
+    public static final String ITEM_TYPE_RECHARGE = "recharge";
858
+
859
+    /**
860
+     * 明细类型--退费
861
+     */
862
+    public static final String ITEM_TYPE_REFUND = "refund";
863
+
864
+    /**
865
+     * 明细类型--退费
866
+     */
867
+    public static final String ITEM_TYPE_REJECT = "reject";
868
+
869
+
870
+    /**
871
+     * 明细类型--红包
872
+     */
873
+    public static final String ITEM_TYPE_REDPACKAGE = "RedPacket";
874
+
875
+    /**
876
+     * 交易状态 成功
877
+     */
878
+    public static final String TRADING_STATUS_SUCCESS = "success";
879
+
880
+    /**
881
+     * 交易状态 失败
882
+     */
883
+    public static final String TRADING_STATUS_FAIL = "fail";
884
+
885
+    /**
886
+     * 交易状态 进行中
887
+     */
888
+    public static final String TRADING_STATUS_PROCESSING = "processing";
889
+
890
+    /**
891
+     * 人员类型---财务
892
+     */
893
+    public static final String FINANCE = "finance";
894
+
895
+    /**
896
+     * 审核状态-审核中
897
+     */
898
+    public static final String CHECK_STATUS_CHECKING = "checking";
899
+
900
+    /**
901
+     * 微信商户手续费率
902
+     */
903
+    public static final Double WXMCH_PAY_RATE = 0.01;
904
+
905
+    /**
906
+     * 微信商户手续费率-前端展示
907
+     */
908
+    public static final String WXMCH_PAY_RATE_STRING = "1%";
817 909
 }

+ 64
- 0
src/main/java/com/huiju/estateagents/common/CommonUtils.java Просмотреть файл

@@ -1,5 +1,10 @@
1 1
 package com.huiju.estateagents.common;
2 2
 
3
+import java.math.BigDecimal;
4
+import java.text.SimpleDateFormat;
5
+import java.util.Date;
6
+import java.util.Random;
7
+import java.util.UUID;
3 8
 import java.util.regex.Matcher;
4 9
 import java.util.regex.Pattern;
5 10
 
@@ -19,4 +24,63 @@ public class CommonUtils {
19 24
             return true;
20 25
         }
21 26
     }
27
+
28
+
29
+    /**
30
+     * 获取uuid
31
+     *
32
+     * @return
33
+     */
34
+    public static String getUUIDS() {
35
+        String uuid = UUID.randomUUID().toString().replace("-", "");
36
+        return uuid;
37
+    }
38
+
39
+    /**
40
+     * 生成订单号
41
+     *
42
+     * @param tradeType
43
+     * @return
44
+     */
45
+    public static String generateTradeNo(String tradeType) {
46
+        String sdf = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date());
47
+        int randNum = (int) (new Random().nextDouble() * (9999 - 1000 + 1)) + 1000;// 获取5位随机数
48
+        return tradeType + sdf + randNum;
49
+    }
50
+
51
+    /**
52
+     * 元转分
53
+     *
54
+     * @param money
55
+     * @return
56
+     */
57
+    public static Integer yuanToFen(Double money) {
58
+        Double moneyd = money * 100;
59
+        Integer moneyi = moneyd.intValue();
60
+        return moneyi;
61
+    }
62
+
63
+    /**
64
+     * 元转分
65
+     *
66
+     * @param money
67
+     * @return
68
+     */
69
+    public static Double fenToYuan(Integer money) {
70
+        return Double.parseDouble(BigDecimal.valueOf(Long.valueOf(money)).divide(new BigDecimal(100)).toString());
71
+    }
72
+
73
+    /**
74
+     * double减法运算,防止直接相减失去精度
75
+     *
76
+     * @param m1 减数
77
+     * @param m2 被减数
78
+     * @return
79
+     */
80
+    public static Double subDouble(double m1, double m2) {
81
+        BigDecimal p1 = new BigDecimal(Double.toString(m1));
82
+        BigDecimal p2 = new BigDecimal(Double.toString(m2));
83
+        return p1.subtract(p2).doubleValue();
84
+    }
85
+
22 86
 }

+ 90
- 0
src/main/java/com/huiju/estateagents/common/MiniAppPageEnum.java Просмотреть файл

@@ -0,0 +1,90 @@
1
+package com.huiju.estateagents.common;
2
+
3
+/**
4
+ * 小程序页面枚举
5
+ *
6
+ * @author gusy
7
+ * @date 2020/5/21 15:58
8
+ */
9
+public enum MiniAppPageEnum {
10
+
11
+    /**
12
+     * 项目
13
+     */
14
+    PROJECT("project", "id=%s&targetType=%S&channelId=%s&qrCodeId=%s&buildingId=%s", "pages/project/detail/index"),
15
+
16
+    /**
17
+     * 报名活动
18
+     */
19
+    ACTIVITY("activity", "id=%s&targetType=%S&channelId=%s&qrCodeId=%s&buildingId=%s", "pages/activity/detail/index"),
20
+
21
+    /**
22
+     * 助力活动
23
+     */
24
+    HELP("help", "id=%s&targetType=%S&channelId=%s&qrCodeId=%s&buildingId=%s", "pages/activity/detail/assistance"),
25
+
26
+    /**
27
+     * 拼团活动
28
+     */
29
+    GROUP("group", "id=%s&targetType=%S&channelId=%s&qrCodeId=%s&buildingId=%s", "pages/activity/detail/assemble"),
30
+
31
+    /**
32
+     * h5活动
33
+     */
34
+    H5("h5", "id=%s&targetType=%S&channelId=%s&qrCodeId=%s&buildingId=%s", "pages/project/h5Page"),
35
+
36
+    /**
37
+     * 直播活动
38
+     */
39
+    LIVE("live", "id=%s&targetType=%S&channelId=%s&qrCodeId=%s&buildingId=%s", "onlineSelling/pages/live/index"),
40
+
41
+    /**
42
+     * 资讯
43
+     */
44
+    NEWS("news", "id=%s&targetType=%S&channelId=%s&qrCodeId=%s&buildingId=%s", "pages/news/detail/index"),
45
+
46
+    /**
47
+     * 在线选房
48
+     */
49
+    SALESBATCH("salesBatch", "id=%s&targetType=%S&channelId=%s&qrCodeId=%s&buildingId=%s", "onlineSelling/pages/houseList/index");
50
+
51
+    private String type;
52
+    private String scene;
53
+    private String page;
54
+
55
+    MiniAppPageEnum(String type, String scene, String page) {
56
+        this.type = type;
57
+        this.scene = scene;
58
+        this.page = page;
59
+    }
60
+
61
+    public String getType() {
62
+        return type;
63
+    }
64
+
65
+    public String getScene() {
66
+        return scene;
67
+    }
68
+
69
+    public String getPage() {
70
+        return page;
71
+    }
72
+
73
+    public static String getSceneByType(String type) {
74
+        for (MiniAppPageEnum pageEnum : MiniAppPageEnum.values()) {
75
+            if (type.equals(pageEnum.getType())) {
76
+                return pageEnum.getScene();
77
+            }
78
+        }
79
+        return null;
80
+    }
81
+
82
+    public static String getPageByType(String type) {
83
+        for (MiniAppPageEnum pageEnum : MiniAppPageEnum.values()) {
84
+            if (type.equals(pageEnum.getType())) {
85
+                return pageEnum.getPage();
86
+            }
87
+        }
88
+        return null;
89
+    }
90
+}

+ 14
- 0
src/main/java/com/huiju/estateagents/common/NumberUtils.java Просмотреть файл

@@ -1,4 +1,18 @@
1 1
 package com.huiju.estateagents.common;
2 2
 
3
+import java.math.BigDecimal;
4
+
3 5
 public class NumberUtils {
6
+    /**
7
+     * 元转分(乘以100)
8
+     * @param amount 金额 分(支持大数字,16位以上)
9
+     * @return
10
+     */
11
+    public static Integer yuanToFen(String amount){
12
+        return new BigDecimal(amount).multiply(new BigDecimal(100)).setScale(0, BigDecimal.ROUND_HALF_UP).intValue();
13
+    }
14
+
15
+    public static String  fenToYuan(String price) {
16
+        return BigDecimal.valueOf(Long.valueOf(price)).divide(new BigDecimal(100)).toString();
17
+    }
4 18
 }

+ 5
- 1
src/main/java/com/huiju/estateagents/common/StringUtils.java Просмотреть файл

@@ -26,7 +26,7 @@ public class StringUtils {
26 26
     }
27 27
 
28 28
     public static String ifNull(String src, String defaultVal) {
29
-        return null == src || "".equals(src) ? defaultVal : src;
29
+        return isEmpty(src) ? defaultVal : src;
30 30
     }
31 31
 
32 32
     public static String random(int length) {
@@ -69,4 +69,8 @@ public class StringUtils {
69 69
         }
70 70
         return returnStr;
71 71
     }
72
+
73
+    public static String strReplace(String objectStr){
74
+        return objectStr.replaceAll( "finance,|,finance|finance","");
75
+    }
72 76
 }

+ 33
- 0
src/main/java/com/huiju/estateagents/common/WxQrCodeUtils.java Просмотреть файл

@@ -0,0 +1,33 @@
1
+package com.huiju.estateagents.common;
2
+
3
+import com.alibaba.fastjson.JSONObject;
4
+import org.apache.commons.lang3.StringUtils;
5
+
6
+/**
7
+ * 微信二维码生成工具类
8
+ *
9
+ * @author gusy
10
+ * @date 2020/5/21 15:40
11
+ */
12
+public class WxQrCodeUtils {
13
+
14
+    /**
15
+     * 生成scene和页面
16
+     *
17
+     * @param type
18
+     * @param scene  为空则使用配置的通用模板
19
+     * @param params scene为空是必须按照模板内容填写
20
+     * @return
21
+     */
22
+    public static String generateSceneAndPage(String type, String scene, String... params) {
23
+        if (StringUtils.isBlank(scene)) {
24
+            String sceneTemplate = MiniAppPageEnum.getSceneByType(type);
25
+            scene = String.format(sceneTemplate, params);
26
+        }
27
+
28
+        JSONObject obj = new JSONObject();
29
+        obj.put("scene", scene);
30
+        obj.put("page", MiniAppPageEnum.getPageByType(type));
31
+        return obj.toJSONString();
32
+    }
33
+}

+ 4
- 3
src/main/java/com/huiju/estateagents/controller/ExtendContentController.java Просмотреть файл

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
5 5
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6 6
 import com.huiju.estateagents.base.BaseController;
7 7
 import com.huiju.estateagents.base.ResponseBean;
8
+import com.huiju.estateagents.common.CommConstant;
8 9
 import com.huiju.estateagents.entity.*;
9 10
 import com.huiju.estateagents.service.*;
10 11
 import com.huiju.estateagents.service.impl.HelpActivityServiceImpl;
@@ -110,7 +111,7 @@ public class ExtendContentController extends BaseController {
110 111
                 taBuildingQueryWrapper.eq("building_id", e.getBuildingId());
111 112
                 TaBuilding taBuilding = iTaBuildingService.getOne(taBuildingQueryWrapper);
112 113
                 e.setCityName(null == tdCity ? "" : tdCity.getName());
113
-                if (taBuilding != null){
114
+                if (taBuilding != null && e.getIsHaveActive()){
114 115
                     e.setBuildingName(taBuilding.getBuildingName());
115 116
                 }
116 117
             });
@@ -172,7 +173,7 @@ public class ExtendContentController extends BaseController {
172 173
         //一个城市只能有一个开屏广告
173 174
         boolean existFlag = iExtendContentService.advertistExistFlag(extendContent, getOrgId(request));
174 175
         if (!existFlag){
175
-            responseBean.addError("该城市已有开屏广告,请勿再次上架");
176
+            responseBean.addError("该发布位置已有开屏广告,请勿再次上架");
176 177
             return responseBean;
177 178
         }
178 179
 
@@ -251,7 +252,7 @@ public class ExtendContentController extends BaseController {
251 252
             //一个城市只能有一个开屏广告
252 253
             boolean existFlag = iExtendContentService.advertistExistFlag(extendContent, getOrgId(request));
253 254
             if (!existFlag){
254
-                responseBean.addError("该城市已有开屏广告,请勿再次上架");
255
+                responseBean.addError("该发布位置已有开屏广告,请勿再次上架");
255 256
                 return responseBean;
256 257
             }
257 258
 

+ 6
- 1
src/main/java/com/huiju/estateagents/controller/HelpActivityController.java Просмотреть файл

@@ -17,6 +17,7 @@ import com.huiju.estateagents.excel.HelpRecordExport;
17 17
 import com.huiju.estateagents.excel.PublicCustomerExport;
18 18
 import com.huiju.estateagents.excel.handler.CustomCellWriteHandler;
19 19
 import com.huiju.estateagents.mapper.HelpInitiateRecordMapper;
20
+import com.huiju.estateagents.reportCustomerAop.ReportCustomer;
20 21
 import com.huiju.estateagents.service.*;
21 22
 import io.swagger.annotations.Api;
22 23
 import io.swagger.annotations.ApiOperation;
@@ -457,8 +458,12 @@ public class HelpActivityController extends BaseController {
457 458
             @ApiImplicitParam(dataTypeClass = Integer.class, name = "helpActivityId", paramType = "path", value = "活动状态")
458 459
     })
459 460
     @RequestMapping(value = "/wx/helpActivity/{helpActivityId}", method = RequestMethod.GET)
461
+    @ReportCustomer(type = "help")
460 462
     public ResponseBean wxHelpActivityGet(@PathVariable(value = "helpActivityId") Integer helpActivityId,
461
-                                          @RequestParam(value = "initiateId",required = false) Integer initiateId,HttpServletRequest request) {
463
+                                          @RequestParam(value = "qrCodeId", required = false) String qrCodeId,
464
+                                          @RequestParam(value = "channelId", required = false) String channelId,
465
+                                          @RequestParam(value = "sceneId", required = false) String sceneId,
466
+                                          HttpServletRequest request, @RequestParam(value = "initiateId",required = false) Integer initiateId) {
462 467
         ResponseBean responseBean = new ResponseBean();
463 468
         Integer orgId = getOrgId(request);
464 469
         String openid = getOpenId(request);

+ 15
- 6
src/main/java/com/huiju/estateagents/controller/IndexController.java Просмотреть файл

@@ -1,19 +1,28 @@
1 1
 package com.huiju.estateagents.controller;
2 2
 
3
-import org.springframework.web.bind.annotation.RequestMapping;
4
-import org.springframework.web.bind.annotation.RestController;
3
+import com.huiju.estateagents.base.ResponseBean;
4
+import com.huiju.estateagents.reportCustomerAop.ReportCustomer;
5
+import org.springframework.web.bind.annotation.*;
6
+
7
+import javax.servlet.http.HttpServletRequest;
5 8
 
6 9
 /**
7 10
  * 微信首页
8 11
  */
9 12
 @RestController
10
-@RequestMapping("/api")
13
+@RequestMapping("/api/wx")
11 14
 public class IndexController {
12 15
 
13 16
 
14 17
 
15
-
16
-
17
-
18
+    @PostMapping("/indexCustomer")
19
+    @ReportCustomer(type = "index")
20
+    public ResponseBean getPreloadData(@RequestParam(value = "id", required = false) String id,
21
+                                       @RequestParam(value = "qrCodeId", required = false) String qrCodeId,
22
+                                       @RequestParam(value = "channelId", required = false) String channelId,
23
+                                       @RequestParam(value = "sceneId", required = false) String sceneId,
24
+                                       HttpServletRequest request) {
25
+        return ResponseBean.success("success");
26
+    }
18 27
 
19 28
 }

+ 31
- 14
src/main/java/com/huiju/estateagents/controller/MiniAppController.java Просмотреть файл

@@ -12,6 +12,7 @@ import com.huiju.estateagents.center.taUser.entity.TaUser;
12 12
 import com.huiju.estateagents.center.taUser.service.ITaUserService;
13 13
 import com.huiju.estateagents.common.CommConstant;
14 14
 import com.huiju.estateagents.common.JWTUtils;
15
+import com.huiju.estateagents.common.StringUtils;
15 16
 import com.huiju.estateagents.drainage.entity.TaDrainage;
16 17
 import com.huiju.estateagents.drainage.service.ITaDrainageService;
17 18
 import com.huiju.estateagents.entity.*;
@@ -22,7 +23,6 @@ import com.huiju.estateagents.service.*;
22 23
 import com.huiju.estateagents.third.service.ITaThirdPartyMiniappConfigService;
23 24
 import me.chanjar.weixin.common.error.WxErrorException;
24 25
 import org.apache.commons.collections.CollectionUtils;
25
-import org.apache.commons.lang3.StringUtils;
26 26
 import org.apache.http.HttpStatus;
27 27
 import org.slf4j.Logger;
28 28
 import org.slf4j.LoggerFactory;
@@ -194,10 +194,10 @@ public class MiniAppController extends BaseController {
194 194
             HttpServletRequest request) {
195 195
         String appid = request.getHeader("appid");
196 196
 
197
-        if (StringUtils.isBlank(code)) {
197
+        if (StringUtils.isEmpty(code)) {
198 198
             return ResponseBean.error("参数 code 不能为空", ResponseBean.ERROR_ILLEGAL_PARAMS);
199 199
         }
200
-        if (StringUtils.isBlank(appid)) {
200
+        if (StringUtils.isEmpty(appid)) {
201 201
             return ResponseBean.error("Header 参数 appid 不能为空", ResponseBean.ERROR_ILLEGAL_PARAMS);
202 202
         }
203 203
 
@@ -254,8 +254,8 @@ public class MiniAppController extends BaseController {
254 254
             // 增加积分线程 --- 3.5.23版本授权手机分享者增加积分,单纯分享不增加积分
255 255
 //            ExecutorService threadPool = Executors.newCachedThreadPool();
256 256
 //            threadPool.execute(() -> {
257
-////                if (null != from && from.contains("share") && !com.huiju.estateagents.common.StringUtils.isEmpty(recommender) && count > 0) {
258
-//                if (null != from && from.contains("share") && !com.huiju.estateagents.common.StringUtils.isEmpty(recommender)) {
257
+////                if (null != from && from.contains("share") && !StringUtils.isEmpty(recommender) && count > 0) {
258
+//                if (null != from && from.contains("share") && !StringUtils.isEmpty(recommender)) {
259 259
 //                    // 校验是否点击过此人的分享
260 260
 //                    boolean checkPoint = checkSharePersonFrom(from, taPerson.getPersonId(), targetId, orgId);
261 261
 //                    if (checkPoint) {
@@ -265,7 +265,7 @@ public class MiniAppController extends BaseController {
265 265
 //                }
266 266
 //            });
267 267
 
268
-            if (StringUtils.isNotBlank(from) && StringUtils.isNotBlank(recommender) && StringUtils.isNotBlank(targetId)) {
268
+            if (!StringUtils.isEmpty(from) && !StringUtils.isEmpty(recommender) && !StringUtils.isEmpty(targetId)) {
269 269
                 TaSharePersonFrom taSharePersonFrom = new TaSharePersonFrom();
270 270
                 TaPerson recommenderPerson = taPersonService.getById(recommender);
271 271
                 taSharePersonFrom.setCreateDate(LocalDateTime.now());
@@ -509,12 +509,18 @@ public class MiniAppController extends BaseController {
509 509
         String targetId = params.getString("targetId");
510 510
         // 目标名称
511 511
         String targetName = params.getString("targetName");
512
-        // 推广用户
512
+        // 推广用户 - 分享人
513 513
         String promoter = params.getString("promoter");
514
+        // 置业顾问
515
+        String consultantPersonId = request.getHeader("x-consultant");
516
+        // 渠道ID
517
+        String channelId = params.getString("channelId");
518
+        // 推广码ID
519
+        String qrCodeId = params.getString("qrCodeId");
514 520
 
515 521
         // 解密
516 522
         WxMaPhoneNumberInfo phoneNoInfo = miniAppService.getPhoneNoInfo(sessionKey, encryptedData, iv, appid);
517
-        if (null == phoneNoInfo || com.huiju.estateagents.common.StringUtils.isEmpty(phoneNoInfo.getPhoneNumber())) {
523
+        if (null == phoneNoInfo || StringUtils.isEmpty(phoneNoInfo.getPhoneNumber())) {
518 524
             ResponseBean.error("解析用户手机号码出错", ResponseBean.ERROR_UNAVAILABLE);
519 525
         }
520 526
 
@@ -522,21 +528,32 @@ public class MiniAppController extends BaseController {
522 528
         Integer orgId = getOrgId(request);
523 529
         String phone = phoneNoInfo.getPhoneNumber();
524 530
 
531
+        TaCustomerFrom customerFrom = new TaCustomerFrom();
532
+        customerFrom.setTargetType(targetType);
533
+        customerFrom.setTargetId(targetId);
534
+        customerFrom.setTargetName(targetName);
535
+        customerFrom.setOrgId(orgId);
536
+        customerFrom.setSceneId(sceneId);
537
+        if (!StringUtils.isEmpty(channelId)) {
538
+            customerFrom.setChannelId(Integer.valueOf(channelId));
539
+        }
540
+        if (!StringUtils.isEmpty(qrCodeId)) {
541
+            customerFrom.setQrCodeId(Integer.valueOf(qrCodeId));
542
+        }
543
+
525 544
         try {
526 545
             taPersonService.authPhone(
527 546
                     orgId,
528 547
                     openid,
529 548
                     phone,
530 549
                     buildingId,
531
-                    sceneId,
532
-                    targetType,
533
-                    targetId,
534
-                    targetName,
535
-                    promoter);
550
+                    promoter,
551
+                    consultantPersonId,
552
+                    customerFrom);
536 553
 
537 554
             return ResponseBean.success(phoneNoInfo);
538 555
         } catch (Exception e) {
539
-//           e.printStackTrace();
556
+           e.printStackTrace();
540 557
             return ResponseBean.error("授权手机失败: " + e.getMessage(), ResponseBean.ERROR_UNAVAILABLE);
541 558
         }
542 559
     }

+ 7
- 1
src/main/java/com/huiju/estateagents/controller/TaBuildingController.java Просмотреть файл

@@ -11,6 +11,7 @@ import com.huiju.estateagents.entity.TaOrg;
11 11
 import com.huiju.estateagents.entity.TaPerson;
12 12
 import com.huiju.estateagents.mapper.TaBuildingMapper;
13 13
 import com.huiju.estateagents.mapper.TaOrgMapper;
14
+import com.huiju.estateagents.reportCustomerAop.ReportCustomer;
14 15
 import com.huiju.estateagents.service.ITaBuildingService;
15 16
 import com.huiju.estateagents.service.ITaPersonService;
16 17
 import com.huiju.estateagents.service.ITaSaveService;
@@ -355,7 +356,12 @@ public class TaBuildingController extends BaseController {
355 356
      * @return
356 357
      */
357 358
     @RequestMapping(value = "/wx/buildingSelectId/{id}", method = RequestMethod.GET)
358
-    public ResponseBean wxBuildingSelectId(@PathVariable(value = "id") String id, HttpServletRequest request) {
359
+    @ReportCustomer(type = "building")
360
+    public ResponseBean wxBuildingSelectId(@PathVariable(value = "id") String id,
361
+                                           @RequestParam(value = "qrCodeId", required = false) String qrCodeId,
362
+                                           @RequestParam(value = "channelId", required = false) String channelId,
363
+                                           @RequestParam(value = "sceneId", required = false) String sceneId,
364
+                                           HttpServletRequest request) {
359 365
         String openid = getOpenId(request);
360 366
         Integer orgId = getOrgId(request);
361 367
         List<TaPerson> persons = iTaPersonService.getPersonsByOpenId(openid);

+ 5
- 0
src/main/java/com/huiju/estateagents/controller/TaBuildingDynamicController.java Просмотреть файл

@@ -19,6 +19,7 @@ import com.huiju.estateagents.excel.HelpInitiateRecordSucceed;
19 19
 import com.huiju.estateagents.excel.TaActivityDynamicEnlistExport;
20 20
 import com.huiju.estateagents.excel.handler.CustomCellWriteHandler;
21 21
 import com.huiju.estateagents.mapper.*;
22
+import com.huiju.estateagents.reportCustomerAop.ReportCustomer;
22 23
 import com.huiju.estateagents.service.*;
23 24
 import io.swagger.annotations.Api;
24 25
 import io.swagger.annotations.ApiImplicitParam;
@@ -272,7 +273,11 @@ public class TaBuildingDynamicController extends BaseController {
272 273
             @ApiImplicitParam(dataTypeClass = String.class, name = "dynamicId", paramType = "path",value = "活动ID")
273 274
     })
274 275
     @RequestMapping(value = "/wx/buildingDynamiceInfo/{dynamicId}", method = RequestMethod.GET)
276
+    @ReportCustomer(type = "activity")
275 277
     public ResponseBean iBuildingDynamicInfo(@PathVariable(value = "dynamicId") String dynamicId,
278
+                                             @RequestParam(value = "qrCodeId", required = false) String qrCodeId,
279
+                                             @RequestParam(value = "channelId", required = false) String channelId,
280
+                                             @RequestParam(value = "sceneId", required = false) String sceneId,
276 281
                                              HttpServletRequest request){
277 282
         String openid = getOpenId(request);
278 283
         Integer orgId = getOrgId(request);

+ 177
- 18
src/main/java/com/huiju/estateagents/controller/TaChannelController.java Просмотреть файл

@@ -1,41 +1,34 @@
1 1
 package com.huiju.estateagents.controller;
2 2
 
3
-import com.alibaba.fastjson.JSONObject;
4
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
3
+import com.alibaba.excel.EasyExcel;
4
+import com.alibaba.excel.ExcelWriter;
5
+import com.alibaba.excel.write.metadata.WriteSheet;
5 6
 import com.baomidou.mybatisplus.core.metadata.IPage;
6 7
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
7 8
 import com.huiju.estateagents.base.BaseController;
8 9
 import com.huiju.estateagents.base.ResponseBean;
9
-import io.swagger.annotations.ApiOperation;
10
-import com.huiju.estateagents.common.JWTUtils;
11
-import com.huiju.estateagents.common.StringUtils;
12
-import com.huiju.estateagents.entity.TaBuildingReport;
13 10
 import com.huiju.estateagents.entity.TaChannel;
14
-import com.huiju.estateagents.entity.TaPerson;
11
+import com.huiju.estateagents.excel.ActivityStatistics.*;
12
+import com.huiju.estateagents.excel.handler.CustomCellWriteHandler;
15 13
 import com.huiju.estateagents.mapper.TaChannelMapper;
16 14
 import com.huiju.estateagents.service.ITaPersonService;
17 15
 import com.huiju.estateagents.service.TaChannelService;
18 16
 import io.swagger.annotations.Api;
19 17
 import io.swagger.annotations.ApiImplicitParam;
20 18
 import io.swagger.annotations.ApiImplicitParams;
21
-import org.apache.http.HttpRequest;
19
+import io.swagger.annotations.ApiOperation;
22 20
 import org.slf4j.Logger;
23 21
 import org.slf4j.LoggerFactory;
24 22
 import org.springframework.beans.factory.annotation.Autowired;
25
-import org.springframework.web.bind.annotation.PathVariable;
26
-import org.springframework.web.bind.annotation.RequestBody;
27
-import org.springframework.web.bind.annotation.RequestMapping;
28
-import org.springframework.web.bind.annotation.RequestMethod;
29
-import org.springframework.web.bind.annotation.RequestParam;
30
-import org.springframework.web.bind.annotation.ResponseBody;
31
-import org.springframework.web.bind.annotation.RestController;
23
+import org.springframework.format.annotation.DateTimeFormat;
24
+import org.springframework.web.bind.annotation.*;
32 25
 
33 26
 import javax.servlet.http.HttpServletRequest;
34
-
35
-import java.time.LocalDateTime;
27
+import javax.servlet.http.HttpServletResponse;
28
+import java.io.IOException;
29
+import java.time.LocalDate;
36 30
 import java.util.HashMap;
37 31
 import java.util.List;
38
-import java.util.stream.Collectors;
39 32
 
40 33
 
41 34
 /**
@@ -260,4 +253,170 @@ public class TaChannelController extends BaseController {
260 253
         ResponseBean taPerson =  taPersonService.InviteClientsList(id,phone,pageNum,pageSize);
261 254
         return taPerson;
262 255
     }
256
+
257
+    /**
258
+     * 渠道引进客户统计
259
+     * @return
260
+     */
261
+    @GetMapping(value = "/admin/channel/introductionList")
262
+    public ResponseBean getChannelIntroductionList(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
263
+                                                     @RequestParam(value = "pageSize", defaultValue = "10")Integer pageSize,
264
+                                                     @RequestParam(value = "startDate", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDate startDate,
265
+                                                     @RequestParam(value = "endDate", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDate endDate,
266
+                                                     @RequestParam(value = "targetType", required = false)String targetType,
267
+                                                     @RequestParam(value = "buildingId", required = false)String buildingId,
268
+                                                     @RequestParam(value = "channelId") Integer channelId,
269
+                                                     @RequestParam(value = "sortField", required = false) String sortField,
270
+                                                     @RequestParam(value = "sortOrder", required = false) String sortOrder,
271
+                                                     HttpServletRequest request) {
272
+        return taChannelService.getChannelIntroductionList(pageNum, pageSize, getOrgId(request), startDate, endDate, targetType, buildingId, channelId,sortField,sortOrder, getTaPersonBuildingListByUserId(request));
273
+    }
274
+
275
+    /**
276
+     * 渠道注册用户列表
277
+     * @return
278
+     */
279
+    @GetMapping(value = "/admin/channel/introduction/newuserList")
280
+    public ResponseBean getNewuserList(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
281
+                                       @RequestParam(value = "pageSize", defaultValue = "10")Integer pageSize,
282
+                                       @RequestParam(value = "targetId", required = false) String targetId,
283
+                                       @RequestParam(value = "targetType", required = false) String targetType,
284
+                                       @RequestParam(value = "buildingId", required = false) String buildingId,
285
+                                       @RequestParam(value = "channelId", required = false) Integer channelId,
286
+                                       @RequestParam(value = "startDate", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDate startDate,
287
+                                       @RequestParam(value = "endDate", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDate endDate,
288
+                                       HttpServletRequest request) {
289
+        return taChannelService.getNewuserList(pageNum, pageSize, getOrgId(request), channelId, targetId, targetType, buildingId,startDate,endDate);
290
+    }
291
+
292
+    /**
293
+     * 渠道访问次数列表
294
+     * @return
295
+     */
296
+    @GetMapping(value = "/admin/channel/introduction/visitNumList")
297
+    public ResponseBean getVisitNumList(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
298
+                                       @RequestParam(value = "pageSize", defaultValue = "10")Integer pageSize,
299
+                                       @RequestParam(value = "targetId", required = false) String targetId,
300
+                                       @RequestParam(value = "targetType", required = false) String targetType,
301
+                                       @RequestParam(value = "buildingId", required = false) String buildingId,
302
+                                       @RequestParam(value = "channelId", required = false) Integer channelId,
303
+                                       @RequestParam(value = "startDate", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDate startDate,
304
+                                       @RequestParam(value = "endDate", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDate endDate,
305
+                                       HttpServletRequest request) {
306
+        return taChannelService.getVisitNumList(pageNum, pageSize, getOrgId(request), channelId, targetId, targetType, buildingId,startDate,endDate);
307
+    }
308
+
309
+
310
+    /**
311
+     * 渠道访问人数列表
312
+     * @return
313
+     */
314
+    @GetMapping(value = "/admin/channel/introduction/personNumList")
315
+    public ResponseBean getPersonNumList(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
316
+                                        @RequestParam(value = "pageSize", defaultValue = "10")Integer pageSize,
317
+                                        @RequestParam(value = "targetId", required = false) String targetId,
318
+                                        @RequestParam(value = "targetType", required = false) String targetType,
319
+                                        @RequestParam(value = "buildingId", required = false) String buildingId,
320
+                                        @RequestParam(value = "channelId", required = false) Integer channelId,
321
+                                         @RequestParam(value = "startDate", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDate startDate,
322
+                                         @RequestParam(value = "endDate", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDate endDate,
323
+                                        HttpServletRequest request) {
324
+        return taChannelService.getPersonNumList(pageNum, pageSize, getOrgId(request), channelId, targetId, targetType, buildingId,startDate,endDate);
325
+    }
326
+
327
+    /**
328
+     * 渠道引进客户统计导出
329
+     * @return
330
+     */
331
+    @GetMapping(value = "/admin/channel/introductionListExport")
332
+    public void getChannelIntroductionListExport(@RequestParam(value = "startDate", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDate startDate,
333
+                                                         @RequestParam(value = "endDate", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDate endDate,
334
+                                                         @RequestParam(value = "targetType", required = false)String targetType,
335
+                                                         @RequestParam(value = "buildingId", required = false)String buildingId,
336
+                                                         @RequestParam(value = "channelId") Integer channelId,
337
+                                                         HttpServletRequest request, HttpServletResponse response) throws IOException {
338
+        response.setContentType("application/octet-stream");
339
+        response.setCharacterEncoding("utf-8");
340
+        response.setHeader("Content-disposition", "attachment;filename=引进注册用户.xlsx");
341
+        ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream(), TsChannelDaily.class).registerWriteHandler(new CustomCellWriteHandler()).build();
342
+        // 设置 sheet, 同一个sheet只需要设置一次
343
+        WriteSheet writeSheet = EasyExcel.writerSheet("引进注册用户").build();
344
+        List<TsChannelDaily> data = taChannelService.getChannelIntroductionListExport(getOrgId(request), startDate, endDate, targetType, buildingId, channelId, getTaPersonBuildingListByUserId(request));
345
+        excelWriter.write(data, writeSheet);
346
+        // finish 会帮忙关闭流
347
+        excelWriter.finish();
348
+    }
349
+
350
+    /**
351
+     * 渠道注册用户列表导出
352
+     * @return
353
+     */
354
+    @GetMapping(value = "/admin/channel/introduction/newuserListExport")
355
+    public void getNewuserListExport(@RequestParam(value = "targetId", required = false) String targetId,
356
+                                       @RequestParam(value = "targetType", required = false) String targetType,
357
+                                       @RequestParam(value = "buildingId", required = false) String buildingId,
358
+                                       @RequestParam(value = "channelId", required = false) Integer channelId,
359
+                                     @RequestParam(value = "startDate", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDate startDate,
360
+                                     @RequestParam(value = "endDate", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDate endDate,
361
+                                       HttpServletRequest request,HttpServletResponse response) throws IOException {
362
+        response.setContentType("application/octet-stream");
363
+        response.setCharacterEncoding("utf-8");
364
+        response.setHeader("Content-disposition", "attachment;filename=注册用户.xlsx");
365
+        ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream(), ChannelAddRegistNum.class).registerWriteHandler(new CustomCellWriteHandler()).build();
366
+        // 设置 sheet, 同一个sheet只需要设置一次
367
+        WriteSheet writeSheet = EasyExcel.writerSheet("注册用户").build();
368
+        List<ChannelAddRegistNum> data =  taChannelService.getNewuserListExport(getOrgId(request), channelId, targetId, targetType, buildingId,startDate,endDate);
369
+        excelWriter.write(data, writeSheet);
370
+        // finish 会帮忙关闭流
371
+        excelWriter.finish();
372
+    }
373
+
374
+    /**
375
+     * 渠道访问次数列表导出
376
+     * @return
377
+     */
378
+    @GetMapping(value = "/admin/channel/introduction/visitNumListExport")
379
+    public void getVisitNumListExport(@RequestParam(value = "targetId", required = false) String targetId,
380
+                                        @RequestParam(value = "targetType", required = false) String targetType,
381
+                                        @RequestParam(value = "buildingId", required = false) String buildingId,
382
+                                        @RequestParam(value = "channelId", required = false) Integer channelId,
383
+                                      @RequestParam(value = "startDate", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDate startDate,
384
+                                      @RequestParam(value = "endDate", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDate endDate,
385
+                                        HttpServletRequest request,HttpServletResponse response) throws IOException {
386
+        response.setContentType("application/octet-stream");
387
+        response.setCharacterEncoding("utf-8");
388
+        response.setHeader("Content-disposition", "attachment;filename=访问次数.xlsx");
389
+        ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream(), ChannelVisitNum.class).registerWriteHandler(new CustomCellWriteHandler()).build();
390
+        // 设置 sheet, 同一个sheet只需要设置一次
391
+        WriteSheet writeSheet = EasyExcel.writerSheet("访问次数").build();
392
+        List<ChannelVisitNum> data = taChannelService.getVisitNumListExport(getOrgId(request), channelId, targetId, targetType, buildingId,startDate,endDate);
393
+        excelWriter.write(data, writeSheet);
394
+        // finish 会帮忙关闭流
395
+        excelWriter.finish();
396
+    }
397
+
398
+
399
+    /**
400
+     * 渠道访问人数列表导出
401
+     * @return
402
+     */
403
+    @GetMapping(value = "/admin/channel/introduction/personNumListExport")
404
+    public void getPersonNumListExport(@RequestParam(value = "targetId", required = false) String targetId,
405
+                                         @RequestParam(value = "targetType", required = false) String targetType,
406
+                                         @RequestParam(value = "buildingId", required = false) String buildingId,
407
+                                         @RequestParam(value = "channelId", required = false) Integer channelId,
408
+                                       @RequestParam(value = "startDate", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDate startDate,
409
+                                       @RequestParam(value = "endDate", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDate endDate,
410
+                                         HttpServletRequest request,HttpServletResponse response) throws IOException {
411
+        response.setContentType("application/octet-stream");
412
+        response.setCharacterEncoding("utf-8");
413
+        response.setHeader("Content-disposition", "attachment;filename=访问人数.xlsx");
414
+        ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream(), ChannelVisitPersonNum.class).registerWriteHandler(new CustomCellWriteHandler()).build();
415
+        // 设置 sheet, 同一个sheet只需要设置一次
416
+        WriteSheet writeSheet = EasyExcel.writerSheet("访问人数").build();
417
+        List<ChannelVisitPersonNum> data = taChannelService.getPersonNumListExport(getOrgId(request), channelId, targetId, targetType, buildingId,startDate,endDate);
418
+        excelWriter.write(data, writeSheet);
419
+        // finish 会帮忙关闭流
420
+        excelWriter.finish();
421
+    }
263 422
 }

+ 28
- 3
src/main/java/com/huiju/estateagents/controller/TaCustomImgController.java Просмотреть файл

@@ -8,7 +8,6 @@ import com.huiju.estateagents.base.ResponseBean;
8 8
 import com.huiju.estateagents.common.CommConstant;
9 9
 import com.huiju.estateagents.entity.TaCustomImg;
10 10
 import com.huiju.estateagents.service.ITaCustomImgService;
11
-import org.apache.commons.codec.language.DaitchMokotoffSoundex;
12 11
 import org.slf4j.Logger;
13 12
 import org.slf4j.LoggerFactory;
14 13
 import org.springframework.beans.factory.annotation.Autowired;
@@ -16,6 +15,7 @@ import org.springframework.web.bind.annotation.*;
16 15
 
17 16
 import javax.servlet.http.HttpServletRequest;
18 17
 import java.time.LocalDateTime;
18
+import java.util.ArrayList;
19 19
 import java.util.List;
20 20
 
21 21
 /**
@@ -82,9 +82,34 @@ public class TaCustomImgController extends BaseController {
82 82
                 return responseBean;
83 83
             }
84 84
 
85
-            taCustomImg.setOrgId(getOrgId(request));
86 85
             taCustomImg.setStatus(CommConstant.STATUS_NORMAL);
87
-            if (iTaCustomImgService.save(taCustomImg)){
86
+            taCustomImg.setOrgId(getOrgId(request));
87
+
88
+            List<TaCustomImg> taCustomImgs = new ArrayList<>();
89
+            taCustomImgs.add(taCustomImg);
90
+            if (CommConstant.IMG_TYPE.equals(taCustomImg.getImgType())){
91
+                TaCustomImg customImg = new TaCustomImg();
92
+                customImg.setCreateTime(LocalDateTime.now());
93
+                customImg.setUpdateTime(LocalDateTime.now());
94
+                customImg.setOrgId(getOrgId(request));
95
+                customImg.setStatus(CommConstant.STATUS_NORMAL);
96
+                customImg.setImgUrl("https://estateagents.oss-cn-shanghai.aliyuncs.com/miniapp/upload/images/1574145199853-97feda7895c65be33aa234a7b81b37f.jpg");
97
+                customImg.setImgType(CommConstant.BANNER_INDEX);
98
+                customImg.setImgDesc("小程序首页分享配图");
99
+                taCustomImgs.add(customImg);
100
+            }
101
+            if (CommConstant.BANNER_INDEX.equals(taCustomImg.getImgType())){
102
+                TaCustomImg customImg = new TaCustomImg();
103
+                customImg.setCreateTime(LocalDateTime.now());
104
+                customImg.setUpdateTime(LocalDateTime.now());
105
+                customImg.setOrgId(getOrgId(request));
106
+                customImg.setStatus(CommConstant.STATUS_NORMAL);
107
+                customImg.setImgUrl("http://njcj.oss-cn-shanghai.aliyuncs.com/icon.png");
108
+                customImg.setImgType(CommConstant.INDEX_NEWS);
109
+                customImg.setImgDesc("首页资讯logo");
110
+                taCustomImgs.add(customImg);
111
+            }
112
+            if (iTaCustomImgService.saveBatch(taCustomImgs)){
88 113
                 responseBean.addSuccess(taCustomImg);
89 114
             }else {
90 115
                 responseBean.addError("fail");

+ 8
- 2
src/main/java/com/huiju/estateagents/controller/TaHousingResourcesController.java Просмотреть файл

@@ -7,6 +7,7 @@ import com.huiju.estateagents.base.ResponseBean;
7 7
 import com.huiju.estateagents.common.CommConstant;
8 8
 import com.huiju.estateagents.entity.*;
9 9
 import com.huiju.estateagents.po.TaHousingResourcesPO;
10
+import com.huiju.estateagents.reportCustomerAop.ReportCustomer;
10 11
 import com.huiju.estateagents.service.*;
11 12
 import org.apache.commons.collections.CollectionUtils;
12 13
 import org.apache.commons.lang3.StringUtils;
@@ -244,9 +245,14 @@ public class TaHousingResourcesController extends BaseController {
244 245
      * @author gushaoyong
245 246
      */
246 247
     @RequestMapping(value = "/wx/listHousingResources", method = RequestMethod.GET)
248
+    @ReportCustomer(type = "house")
247 249
     public ResponseBean listHousingResources(@RequestParam(value = "salesBatchId") String salesBatchId,
248
-                                             String startPrice, String endPrice, String apartmentId, @RequestParam(value = "source", required = false) String source,
249
-                                             HttpServletRequest request) {
250
+                                             @RequestParam(value = "qrCodeId", required = false) String qrCodeId,
251
+                                             @RequestParam(value = "channelId", required = false) String channelId,
252
+                                             @RequestParam(value = "sceneId", required = false) String sceneId,
253
+                                             HttpServletRequest request,
254
+                                             String startPrice, String endPrice, String apartmentId, @RequestParam(value = "source", required = false) String source
255
+                                             ) {
250 256
         ResponseBean responseBean = new ResponseBean();
251 257
         Integer orgId = getOrgId(request);
252 258
         String openid = getOpenId(request);

+ 22
- 7
src/main/java/com/huiju/estateagents/controller/TaLiveActivityController.java Просмотреть файл

@@ -8,6 +8,7 @@ import com.huiju.estateagents.common.CommConstant;
8 8
 import com.huiju.estateagents.common.StringUtils;
9 9
 import com.huiju.estateagents.entity.ExtendContent;
10 10
 import com.huiju.estateagents.entity.TaLiveActivity;
11
+import com.huiju.estateagents.reportCustomerAop.ReportCustomer;
11 12
 import com.huiju.estateagents.service.IExtendContentService;
12 13
 import com.huiju.estateagents.service.ITaLiveActivityService;
13 14
 import org.slf4j.Logger;
@@ -51,18 +52,23 @@ public class TaLiveActivityController extends BaseController {
51 52
      * @param buildingId        所属楼盘
52 53
      * @param liveDetailType    详情类型 0是模板,1是自定义
53 54
      * @param status            状态
55
+     * @param source            查询来源,1:直播等活动,2:开屏广告
54 56
      * @param request
55 57
      * @return
56 58
      */
57 59
     @RequestMapping(value = "/admin/taLiveActivity", method = RequestMethod.GET)
58 60
     public ResponseBean taLiveActivityList(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
59 61
                                            @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
60
-                                           String liveActivityTitle, String cityId, String buildingId, Integer status,
62
+                                           String liveActivityTitle,
63
+                                           String cityId,
64
+                                           String buildingId,
65
+                                           Integer status,
66
+                                           @RequestParam(value = "source", defaultValue = "1") Integer source,
61 67
                                            HttpServletRequest request) {
62 68
         ResponseBean responseBean = new ResponseBean();
63 69
         try {
64 70
             IPage<TaLiveActivity> result = iTaLiveActivityService.listLiveActivityByCondition(pageNum, pageSize, getOrgId(request),
65
-                    liveActivityTitle, cityId, buildingId, status, getTaPersonBuildingListByUserId(request), getUserId(request));
71
+                    liveActivityTitle, cityId, buildingId, status, getTaPersonBuildingListByUserId(request), getUserId(request), source);
66 72
             responseBean.addSuccess(result);
67 73
 
68 74
         } catch (Exception e) {
@@ -160,8 +166,8 @@ public class TaLiveActivityController extends BaseController {
160 166
                 iExtendContentService.updateBatchById(list);
161 167
             }
162 168
 
163
-            if(!StringUtils.isEmpty(taLiveActivity.getLiveRoomParam())){
164
-                taLiveActivity.setLiveAppPath(taLiveActivity.getLiveRoomParam().replace(".html",""));
169
+            if (!StringUtils.isEmpty(taLiveActivity.getLiveRoomParam())) {
170
+                taLiveActivity.setLiveAppPath(taLiveActivity.getLiveRoomParam().replace(".html", ""));
165 171
             }
166 172
 
167 173
             if (iTaLiveActivityService.updateById(taLiveActivity)) {
@@ -221,7 +227,12 @@ public class TaLiveActivityController extends BaseController {
221 227
      * @return
222 228
      */
223 229
     @RequestMapping(value = "/wx/taLiveActivity/{id}", method = RequestMethod.GET)
224
-    public ResponseBean getLiveActivityDetailById(@PathVariable("id") String id, HttpServletRequest request) {
230
+    @ReportCustomer(type = "live")
231
+    public ResponseBean getLiveActivityDetailById(@PathVariable("id") String id,
232
+                                                  @RequestParam(value = "qrCodeId", required = false) String qrCodeId,
233
+                                                  @RequestParam(value = "channelId", required = false) String channelId,
234
+                                                  @RequestParam(value = "sceneId", required = false) String sceneId,
235
+                                                  HttpServletRequest request) {
225 236
         ResponseBean responseBean = new ResponseBean();
226 237
         try {
227 238
             responseBean = iTaLiveActivityService.getLiveActivityDetailById(id, getOrgId(request));
@@ -248,14 +259,18 @@ public class TaLiveActivityController extends BaseController {
248 259
     @RequestMapping(value = "/wx/taLiveActivity", method = RequestMethod.GET)
249 260
     public ResponseBean taLiveActivityListForMiniApp(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
250 261
                                                      @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
251
-                                                     String liveActivityTitle, String cityId, String buildingId, Integer status,
262
+                                                     String liveActivityTitle,
263
+                                                     String cityId,
264
+                                                     String buildingId,
265
+                                                     Integer status,
266
+                                                     @RequestParam(value = "source", defaultValue = "1") Integer source,
252 267
                                                      HttpServletRequest request) {
253 268
         ResponseBean responseBean = new ResponseBean();
254 269
         try {
255 270
             status = status == null ? 1 : status;
256 271
             Integer orgId = getOrgId(request);
257 272
             IPage<TaLiveActivity> result = iTaLiveActivityService.listLiveActivityByCondition(pageNum, pageSize, orgId,
258
-                    liveActivityTitle, cityId, buildingId, status, null, null);
273
+                    liveActivityTitle, cityId, buildingId, status, null, null, source);
259 274
             responseBean.addSuccess(result);
260 275
 
261 276
         } catch (Exception e) {

+ 7
- 1
src/main/java/com/huiju/estateagents/controller/TaNewsController.java Просмотреть файл

@@ -10,6 +10,7 @@ import com.huiju.estateagents.common.JWTUtils;
10 10
 import com.huiju.estateagents.entity.TaBuildingDynamic;
11 11
 import com.huiju.estateagents.entity.TaNews;
12 12
 import com.huiju.estateagents.entity.TaPerson;
13
+import com.huiju.estateagents.reportCustomerAop.ReportCustomer;
13 14
 import com.huiju.estateagents.service.*;
14 15
 import io.swagger.annotations.Api;
15 16
 import io.swagger.annotations.ApiImplicitParam;
@@ -215,7 +216,12 @@ public class TaNewsController extends BaseController {
215 216
      * @param id  实体ID
216 217
      */
217 218
     @RequestMapping(value="/wx/taNews/{id}",method= RequestMethod.GET)
218
-    public ResponseBean wxTaNewsGet(@PathVariable Integer id,HttpServletRequest request){
219
+    @ReportCustomer(type = "news")
220
+    public ResponseBean wxTaNewsGet(@PathVariable Integer id,
221
+                                    @RequestParam(value = "qrCodeId", required = false) String qrCodeId,
222
+                                    @RequestParam(value = "channelId", required = false) String channelId,
223
+                                    @RequestParam(value = "sceneId", required = false) String sceneId,
224
+                                    HttpServletRequest request){
219 225
         String openid = getOpenId(request);
220 226
         List<TaPerson> persons = iTaPersonService.getPersonsByOpenId(openid);
221 227
         if (null == persons || persons.size() == 0) {

+ 12
- 0
src/main/java/com/huiju/estateagents/controller/TaPersonController.java Просмотреть файл

@@ -783,4 +783,16 @@ public class TaPersonController extends BaseController {
783 783
         return responseBean;
784 784
     }
785 785
 
786
+    @PutMapping("/wx/userInfo/updatePhoto")
787
+    public ResponseBean updateUserPhoto(@RequestBody Map<String, String> photoUrl, HttpServletRequest request){
788
+        ResponseBean responseBean = new ResponseBean();
789
+
790
+        String openId = getOpenId(request);
791
+        String imgUrl = photoUrl.get("photoUrl");
792
+        if (StringUtils.isEmpty(imgUrl)){
793
+            responseBean.addError("请上传图片");
794
+            return responseBean;
795
+        }
796
+        return taPersonService.updateUserPhoto(imgUrl, openId);
797
+    }
786 798
 }

+ 244
- 0
src/main/java/com/huiju/estateagents/controller/TaQrcodeController.java Просмотреть файл

@@ -0,0 +1,244 @@
1
+package com.huiju.estateagents.controller;
2
+
3
+import com.alibaba.fastjson.JSON;
4
+import com.alibaba.fastjson.JSONObject;
5
+import com.huiju.estateagents.base.BaseController;
6
+import com.huiju.estateagents.base.ResponseBean;
7
+import com.huiju.estateagents.common.CommConstant;
8
+import com.huiju.estateagents.entity.TaPersonBuilding;
9
+import com.huiju.estateagents.entity.TaQrcode;
10
+import com.huiju.estateagents.service.ITaQrcodeService;
11
+import org.apache.commons.lang3.StringUtils;
12
+import org.slf4j.Logger;
13
+import org.slf4j.LoggerFactory;
14
+import org.springframework.beans.factory.annotation.Autowired;
15
+import org.springframework.web.bind.annotation.*;
16
+
17
+import javax.servlet.http.HttpServletRequest;
18
+import javax.servlet.http.HttpServletResponse;
19
+import java.io.IOException;
20
+import java.util.HashMap;
21
+import java.util.List;
22
+import java.util.Map;
23
+
24
+/**
25
+ * <p>
26
+ * 二维码管理表 前端控制器
27
+ * </p>
28
+ *
29
+ * @author fxf
30
+ * @since 2020-05-20
31
+ */
32
+@RestController
33
+@RequestMapping("/api")
34
+public class TaQrcodeController extends BaseController {
35
+
36
+    private final Logger logger = LoggerFactory.getLogger(TaQrcodeController.class);
37
+
38
+    @Autowired
39
+    public ITaQrcodeService iTaQrcodeService;
40
+
41
+    /**
42
+     * 分页查询列表
43
+     *
44
+     * @param pageNum
45
+     * @param pageSize
46
+     * @return
47
+     */
48
+    @RequestMapping(value = "/admin/listQrCode", method = RequestMethod.GET)
49
+    public ResponseBean listQrCodeByCondition(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
50
+                                              @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
51
+                                              String targetType, String targetName, Integer channelId, String buildingId,
52
+                                              HttpServletRequest request) {
53
+        logger.info("接收参数:targetType:{},targetName:{},channelId:{},buildingId:{}",
54
+                targetType, targetName, channelId, buildingId);
55
+        ResponseBean responseBean = new ResponseBean();
56
+        try {
57
+            List<TaPersonBuilding> personBuildingList = getTaPersonBuildingListByUserId(request);
58
+            responseBean = iTaQrcodeService.listQrCodeByCondition(pageNum, pageSize, targetType, targetName, channelId, buildingId, getUserId(request), getOrgId(request), personBuildingList);
59
+        } catch (Exception e) {
60
+            e.printStackTrace();
61
+            logger.error("taQrcodeList -=- {}", e.toString());
62
+            responseBean.addError(e.getMessage());
63
+        }
64
+        return responseBean;
65
+    }
66
+
67
+    /**
68
+     * 保存对象
69
+     *
70
+     * @param taQrcode 实体对象
71
+     * @return
72
+     */
73
+    @RequestMapping(value = "/admin/taQrcode", method = RequestMethod.POST)
74
+    public ResponseBean saveQrcode(@RequestBody TaQrcode taQrcode, HttpServletRequest request) {
75
+        ResponseBean responseBean = new ResponseBean();
76
+        try {
77
+            // 校验参数
78
+            if (StringUtils.isBlank(taQrcode.getTargetId()) || StringUtils.isBlank(taQrcode.getTargetType())) {
79
+                responseBean.addError("参数错误");
80
+                return responseBean;
81
+            }
82
+            responseBean = iTaQrcodeService.saveQrcode(taQrcode, getUserId(request), getOrgId(request));
83
+        } catch (Exception e) {
84
+            e.printStackTrace();
85
+            logger.error("saveQrcode -=- {}", e.toString());
86
+            responseBean.addError(e.getMessage());
87
+        }
88
+        return responseBean;
89
+    }
90
+
91
+    /**
92
+     * 根据id删除对象
93
+     *
94
+     * @param id 实体ID
95
+     */
96
+    @ResponseBody
97
+    @RequestMapping(value = "/taQrcode/{id}", method = RequestMethod.DELETE)
98
+    public ResponseBean taQrcodeDelete(@PathVariable Integer id) {
99
+        ResponseBean responseBean = new ResponseBean();
100
+        try {
101
+            if (iTaQrcodeService.removeById(id)) {
102
+                responseBean.addSuccess("success");
103
+            } else {
104
+                responseBean.addError("fail");
105
+            }
106
+        } catch (Exception e) {
107
+            e.printStackTrace();
108
+            logger.error("taQrcodeDelete -=- {}", e.toString());
109
+            responseBean.addError(e.getMessage());
110
+        }
111
+        return responseBean;
112
+    }
113
+
114
+    /**
115
+     * 批量删除
116
+     */
117
+    @ResponseBody
118
+    @RequestMapping(value = "/admin/qrCode/batchDelete", method = RequestMethod.DELETE)
119
+    public ResponseBean batchDelete(@RequestBody List<TaQrcode> taQrcodeList) {
120
+        ResponseBean responseBean = new ResponseBean();
121
+        try {
122
+
123
+            taQrcodeList.stream().forEach((record) -> {
124
+                record.setStatus(CommConstant.STATUS_DELETE);
125
+            });
126
+
127
+            responseBean.addSuccess(iTaQrcodeService.updateBatchById(taQrcodeList));
128
+
129
+        } catch (Exception e) {
130
+            e.printStackTrace();
131
+            logger.error("taQrcodeDelete -=- {}", e.toString());
132
+            responseBean.addError(e.getMessage());
133
+        }
134
+        return responseBean;
135
+    }
136
+
137
+
138
+    /**
139
+     * 修改对象
140
+     *
141
+     * @param id       实体ID
142
+     * @param taQrcode 实体对象
143
+     * @return
144
+     */
145
+    @RequestMapping(value = "/taQrcode/{id}", method = RequestMethod.PUT)
146
+    public ResponseBean taQrcodeUpdate(@PathVariable Integer id,
147
+                                       @RequestBody TaQrcode taQrcode) {
148
+        ResponseBean responseBean = new ResponseBean();
149
+        try {
150
+            if (iTaQrcodeService.updateById(taQrcode)) {
151
+                responseBean.addSuccess(taQrcode);
152
+            } else {
153
+                responseBean.addError("fail");
154
+            }
155
+        } catch (Exception e) {
156
+            e.printStackTrace();
157
+            logger.error("taQrcodeUpdate -=- {}", e.toString());
158
+            responseBean.addError(e.getMessage());
159
+        }
160
+        return responseBean;
161
+    }
162
+
163
+    /**
164
+     * 根据id查询对象
165
+     *
166
+     * @param id 实体ID
167
+     */
168
+    @RequestMapping(value = "/taQrcode/{id}", method = RequestMethod.GET)
169
+    public ResponseBean taQrcodeGet(@PathVariable Integer id) {
170
+        ResponseBean responseBean = new ResponseBean();
171
+        try {
172
+            responseBean.addSuccess(iTaQrcodeService.getById(id));
173
+        } catch (Exception e) {
174
+            e.printStackTrace();
175
+            logger.error("taQrcodeDelete -=- {}", e.toString());
176
+            responseBean.addError(e.getMessage());
177
+        }
178
+        return responseBean;
179
+    }
180
+
181
+    /**
182
+     * 获取二维码统计信息
183
+     *
184
+     * @param request
185
+     * @return
186
+     */
187
+    @RequestMapping(value = "/admin/qrCode/getStatisticData", method = RequestMethod.GET)
188
+    public ResponseBean getStatisticData(Integer qrCodeId, HttpServletRequest request) {
189
+        logger.info("getStatisticData 接收参数:qrCodeId:{}", qrCodeId);
190
+        ResponseBean responseBean = new ResponseBean();
191
+        try {
192
+            responseBean = iTaQrcodeService.getStatisticData(qrCodeId, getOrgId(request));
193
+            logger.info("getStatisticData 返回结果:{}", JSONObject.toJSONString(responseBean));
194
+        } catch (Exception e) {
195
+            logger.error("getStatisticData 异常:", e);
196
+            responseBean.addError(e.getMessage());
197
+        }
198
+        return responseBean;
199
+    }
200
+
201
+    /**
202
+     * 获取二维码统计信息记录
203
+     *
204
+     * @param pageNum
205
+     * @param pageSize
206
+     * @param qrCodeId
207
+     * @param type     1:访问人数,2:访问次数,3:新增注册用户数
208
+     * @param request
209
+     * @return
210
+     */
211
+    @RequestMapping(value = "/admin/qrCode/getStatisticRecord", method = RequestMethod.GET)
212
+    public ResponseBean getStatisticRecord(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
213
+                                           @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
214
+                                           Integer qrCodeId, Integer type, HttpServletRequest request) {
215
+        ResponseBean responseBean = new ResponseBean();
216
+        try {
217
+            responseBean = iTaQrcodeService.getStatisticRecord(type, pageNum, pageSize, qrCodeId, getOrgId(request));
218
+        } catch (Exception e) {
219
+            logger.error("getStatisticRecord 异常:", e);
220
+            responseBean.addError("fail");
221
+        }
222
+        return responseBean;
223
+    }
224
+
225
+    @RequestMapping(value = "/admin/qrCode/getStatisticRecordExport", method = RequestMethod.GET)
226
+    public void getStatisticRecordExport(@RequestParam(value = "qrCodeId") Integer qrCodeId,
227
+                                         @RequestParam(value = "type") Integer type, HttpServletRequest request, HttpServletResponse response) throws IOException {
228
+        try {
229
+            iTaQrcodeService.getStatisticRecordExport(type, qrCodeId, getOrgId(request), response);
230
+        } catch (Exception e) {
231
+            logger.error("getStatisticRecordExport 异常:", e);
232
+            response.reset();
233
+            response.setContentType("application/json");
234
+            response.setCharacterEncoding("utf-8");
235
+            Map<String, Object> map = new HashMap();
236
+            map.put("code", ResponseBean.ERROR_UNAVAILABLE);
237
+            map.put("message", "下载文件失败" + e.getMessage());
238
+            response.getWriter().println(JSON.toJSONString(map));
239
+        }
240
+    }
241
+
242
+}
243
+
244
+

+ 3
- 6
src/main/java/com/huiju/estateagents/controller/TaRaiseController.java Просмотреть файл

@@ -7,23 +7,20 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
7 7
 import com.huiju.estateagents.base.BaseController;
8 8
 import com.huiju.estateagents.base.ResponseBean;
9 9
 import com.huiju.estateagents.common.CommConstant;
10
-import com.huiju.estateagents.common.StringUtils;
11 10
 import com.huiju.estateagents.entity.TaPersonBuilding;
12 11
 import com.huiju.estateagents.entity.TaRaise;
13
-import com.huiju.estateagents.entity.TaRaiseInvite;
14 12
 import com.huiju.estateagents.entity.TaSalesBatch;
15
-import com.huiju.estateagents.service.*;
13
+import com.huiju.estateagents.service.ITaRaiseService;
14
+import com.huiju.estateagents.service.ITaSalesBatchService;
15
+import com.huiju.estateagents.service.ITdCityService;
16 16
 import com.huiju.estateagents.service.impl.TaRaiseInviteServiceImpl;
17
-import io.swagger.models.auth.In;
18 17
 import org.slf4j.Logger;
19 18
 import org.slf4j.LoggerFactory;
20 19
 import org.springframework.beans.factory.annotation.Autowired;
21 20
 import org.springframework.web.bind.annotation.*;
22 21
 
23 22
 import javax.servlet.http.HttpServletRequest;
24
-import java.lang.reflect.Array;
25 23
 import java.time.LocalDateTime;
26
-import java.util.ArrayList;
27 24
 import java.util.List;
28 25
 
29 26
 /**

+ 19
- 11
src/main/java/com/huiju/estateagents/controller/TaRecommendCustomerController.java Просмотреть файл

@@ -848,6 +848,8 @@ public class TaRecommendCustomerController extends BaseController {
848 848
                                       @RequestParam(value = "customerType") String customerType,
849 849
                                       @RequestParam(value = "status", required = false) Integer status,
850 850
                                       @RequestParam(value = "sceneType", required = false) String sceneType,
851
+                                      @RequestParam(value = "startCreateDate", required = false) String startCreateDate,
852
+                                      @RequestParam(value = "endCreateDate", required = false) String endCreateDate,
851 853
                                       @RequestParam(value = "belongStatus", required = false) Integer belongStatus) throws IOException { // public 公  private 私
852 854
 
853 855
         //        response.setContentType("application/vnd.ms-excel");
@@ -876,7 +878,9 @@ public class TaRecommendCustomerController extends BaseController {
876 878
 //            pageCount = count % pageSize == 0 ? count / pageSize : (count / pageSize) + 1;
877 879
 //            List<PublicCustomerExport> publicList = null;
878 880
 //            do {
879
-            List<PublicCustomerExport> publicList = taRecommendCustomerMapper.getPublicCustomerExportList(pageCode * pageSize, pageSize, buildingId, name, tel, entryType, verifyStatus, sex, orgId, consultTel, sceneType, getTaPersonBuildingListByUserId(request), belongStatus);
881
+            List<PublicCustomerExport> publicList = taRecommendCustomerMapper.getPublicCustomerExportList(pageCode * pageSize, pageSize,
882
+                    buildingId, name, tel, entryType, verifyStatus, sex, orgId, consultTel, sceneType, getTaPersonBuildingListByUserId(request),
883
+                    belongStatus, startCreateDate, endCreateDate);
880 884
             excelWriter.write(publicList, writeSheet);
881 885
 
882 886
 //                pageCode ++;
@@ -898,7 +902,9 @@ public class TaRecommendCustomerController extends BaseController {
898 902
 //            pageCount = count % pageSize == 0 ? count / pageSize : (count / pageSize) + 1;
899 903
 //            List<PrivateCustomerExport> privateList = null;
900 904
 //            do {
901
-            List<PrivateCustomerExport> privateList = taRecommendCustomerMapper.getCustomerExportList(pageCode * pageSize, pageSize, buildingId, name, tel, consultName, consultTel, entryType, verifyStatus, sex, orgId, status, sceneType, getTaPersonBuildingListByUserId(request));
905
+            List<PrivateCustomerExport> privateList = taRecommendCustomerMapper.getCustomerExportList(pageCode * pageSize, pageSize,
906
+                    buildingId, name, tel, consultName, consultTel, entryType, verifyStatus, sex, orgId, status, sceneType, startCreateDate,
907
+                    endCreateDate, getTaPersonBuildingListByUserId(request));
902 908
             excelWriter.write(privateList, writeSheet);
903 909
 
904 910
 //                pageCode ++;
@@ -978,35 +984,37 @@ public class TaRecommendCustomerController extends BaseController {
978 984
 
979 985
     /**
980 986
      * 校验此职业顾问下有没有私客存在
987
+     *
981 988
      * @return
982 989
      */
983 990
     @GetMapping("/admin/consultant/customer/list")
984 991
     public ResponseBean consultantCustomerList(@RequestParam(value = "userId") Integer userId,
985 992
                                                @RequestParam(value = "personId") String personId,
986 993
                                                @RequestParam(value = "buildingId") String buildingId,
987
-                                               HttpServletRequest request){
994
+                                               HttpServletRequest request) {
988 995
         Integer orgId = getOrgId(request);
989
-        try{
990
-            List<TaRecommendCustomer> list = taRecommendCustomerService.getConsultantCustomerList(userId,personId,buildingId,orgId,getTaPersonBuildingListByUserId(request));
996
+        try {
997
+            List<TaRecommendCustomer> list = taRecommendCustomerService.getConsultantCustomerList(userId, personId, buildingId, orgId, getTaPersonBuildingListByUserId(request));
991 998
             return ResponseBean.success(list);
992
-        }catch (Exception e){
999
+        } catch (Exception e) {
993 1000
             e.printStackTrace();
994
-            return ResponseBean.error(e.getMessage(),ResponseBean.ERROR_UNAVAILABLE);
1001
+            return ResponseBean.error(e.getMessage(), ResponseBean.ERROR_UNAVAILABLE);
995 1002
         }
996 1003
     }
997 1004
 
998 1005
     /**
999 1006
      * 迁移私客到新的置业顾问
1007
+     *
1000 1008
      * @return
1001 1009
      */
1002 1010
     @PutMapping("/admin/consultant/customer/move")
1003
-    public ResponseBean moveConsultantCustomer(@RequestBody List<TaRecommendCustomer> list,HttpServletRequest request){
1004
-        try{
1011
+    public ResponseBean moveConsultantCustomer(@RequestBody List<TaRecommendCustomer> list, HttpServletRequest request) {
1012
+        try {
1005 1013
             taRecommendCustomerService.updateBatchById(list);
1006 1014
             return ResponseBean.success(list);
1007
-        }catch (Exception e){
1015
+        } catch (Exception e) {
1008 1016
             e.printStackTrace();
1009
-            return ResponseBean.error(e.getMessage(),ResponseBean.ERROR_UNAVAILABLE);
1017
+            return ResponseBean.error(e.getMessage(), ResponseBean.ERROR_UNAVAILABLE);
1010 1018
         }
1011 1019
     }
1012 1020
 }

+ 7
- 1
src/main/java/com/huiju/estateagents/controller/TaShareActivityController.java Просмотреть файл

@@ -7,6 +7,7 @@ import com.huiju.estateagents.base.BaseController;
7 7
 import com.huiju.estateagents.base.ResponseBean;
8 8
 import com.huiju.estateagents.common.CommConstant;
9 9
 import com.huiju.estateagents.entity.*;
10
+import com.huiju.estateagents.reportCustomerAop.ReportCustomer;
10 11
 import com.huiju.estateagents.service.*;
11 12
 import com.huiju.estateagents.service.ITaPersonService;
12 13
 import com.huiju.estateagents.service.ITaShareActivityService;
@@ -360,8 +361,13 @@ public class TaShareActivityController extends BaseController {
360 361
      * @param groupActivityId  实体ID
361 362
      */
362 363
     @RequestMapping(value="/wx/taShareActivity/{groupActivityId}",method= RequestMethod.GET)
364
+    @ReportCustomer(type = "group")
363 365
     public ResponseBean wxShareActivityGet(@PathVariable Integer groupActivityId,
364
-                                           @RequestParam(value = "recordId",required = false) Integer recordId, HttpServletRequest request){
366
+                                           @RequestParam(value = "qrCodeId", required = false) String qrCodeId,
367
+                                           @RequestParam(value = "channelId", required = false) String channelId,
368
+                                           @RequestParam(value = "sceneId", required = false) String sceneId,
369
+                                           HttpServletRequest request,
370
+                                           @RequestParam(value = "recordId",required = false) Integer recordId ){
365 371
         ResponseBean responseBean = new ResponseBean();
366 372
         String openid = getOpenId(request);
367 373
         Integer orgId = getOrgId(request);

+ 125
- 131
src/main/java/com/huiju/estateagents/drainage/controller/TaDrainageController.java Просмотреть файл

@@ -9,15 +9,16 @@ import com.huiju.estateagents.common.CommConstant;
9 9
 import com.huiju.estateagents.common.DateUtils;
10 10
 import com.huiju.estateagents.common.StringUtils;
11 11
 import com.huiju.estateagents.drainage.entity.TaDrainage;
12
-import com.huiju.estateagents.drainage.service.ITaDrainageRecordService;
13 12
 import com.huiju.estateagents.drainage.service.ITaDrainageService;
14 13
 import com.huiju.estateagents.entity.ExtendContent;
15
-import com.huiju.estateagents.entity.TaMiniapp;
14
+import com.huiju.estateagents.entity.TaPerson;
16 15
 import com.huiju.estateagents.entity.TaPersonBuilding;
17
-import com.huiju.estateagents.mapper.TaMiniappMapper;
16
+import com.huiju.estateagents.mapper.TaPersonMapper;
17
+import com.huiju.estateagents.reportCustomerAop.ReportCustomer;
18 18
 import com.huiju.estateagents.service.IExtendContentService;
19
-import com.huiju.estateagents.service.IMiniAppService;
19
+import com.huiju.estateagents.third.entity.TaMpInfo;
20 20
 import com.huiju.estateagents.third.entity.TaThirdPartyMiniappConfig;
21
+import com.huiju.estateagents.third.service.ITaMpInfoService;
21 22
 import com.huiju.estateagents.third.service.ITaThirdPartyMiniappConfigService;
22 23
 import org.slf4j.Logger;
23 24
 import org.slf4j.LoggerFactory;
@@ -27,93 +28,102 @@ import org.springframework.web.bind.annotation.*;
27 28
 import javax.servlet.http.HttpServletRequest;
28 29
 import java.time.LocalDateTime;
29 30
 import java.util.List;
30
-import java.util.UUID;
31 31
 import java.util.stream.Collectors;
32 32
 
33 33
 
34 34
 /**
35 35
  * <p>
36
-    * 引流项目  前端控制器
37
-    * </p>
36
+ * 引流项目  前端控制器
37
+ * </p>
38 38
  *
39 39
  * @author jobob
40 40
  * @since 2019-10-18
41 41
  */
42 42
 @RestController
43 43
 @RequestMapping("/api")
44
-public class TaDrainageController extends BaseController {
44
+public class    TaDrainageController extends BaseController {
45 45
 
46 46
     private final Logger logger = LoggerFactory.getLogger(TaDrainageController.class);
47 47
 
48 48
     @Autowired
49 49
     public ITaDrainageService iTaDrainageService;
50
-    
51
-    @Autowired
52
-    public ITaThirdPartyMiniappConfigService iTaThirdPartyMiniappConfigService;
53 50
 
54 51
     @Autowired
55
-    private ITaDrainageRecordService iTaDrainageRecordService;
52
+    public ITaThirdPartyMiniappConfigService iTaThirdPartyMiniappConfigService;
56 53
 
57 54
     @Autowired
58 55
     public IExtendContentService iExtendContentService;
59 56
 
60 57
     @Autowired
61
-    private TaMiniappMapper taMiniappMapper;
58
+    public ITaMpInfoService iTaMpInfoService;
62 59
 
63 60
     @Autowired
64
-    private IMiniAppService miniAppService;
61
+    public TaPersonMapper taPersonMapper;
65 62
 
66 63
     /**
67 64
      * 分页查询列表
65
+     *
68 66
      * @param pageNum
69 67
      * @param pageSize
68
+     * @param drainageId
69
+     * @param name
70
+     * @param isMiniapp
71
+     * @param status
72
+     * @param buildingId
73
+     * @param source     查询来源,1:H5等活动,2:开屏广告
74
+     * @param request
70 75
      * @return
71 76
      */
72
-    @RequestMapping(value="/admin/taDrainage",method= RequestMethod.GET)
73
-    public ResponseBean taDrainageList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
74
-                                       @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
75
-                                       @RequestParam(value ="drainageId",required = false) Integer drainageId,
76
-                                       @RequestParam(value ="name",required = false) String name,
77
-                                       @RequestParam(value ="isMiniapp",required = false) Integer isMiniapp,
78
-                                       @RequestParam(value ="status",required = false) Integer status,
79
-                                       @RequestParam(value ="buildingId",required = false) String buildingId,
80
-                                       HttpServletRequest request){
77
+    @RequestMapping(value = "/admin/taDrainage", method = RequestMethod.GET)
78
+    public ResponseBean taDrainageList(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
79
+                                       @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
80
+                                       @RequestParam(value = "drainageId", required = false) Integer drainageId,
81
+                                       @RequestParam(value = "name", required = false) String name,
82
+                                       @RequestParam(value = "isMiniapp", required = false) Integer isMiniapp,
83
+                                       @RequestParam(value = "status", required = false) Integer status,
84
+                                       @RequestParam(value = "buildingId", required = false) String buildingId,
85
+                                       @RequestParam(value = "source", defaultValue = "1") Integer source,
86
+                                       HttpServletRequest request) {
81 87
         ResponseBean responseBean = new ResponseBean();
82 88
         try {
83 89
             List<TaPersonBuilding> taPersonBuildingList = getTaPersonBuildingListByUserId(request);
84 90
             //使用分页插件
85
-		    IPage<TaDrainage> pg = new Page<>(pageNum, pageSize);
91
+            IPage<TaDrainage> pg = new Page<>(pageNum, pageSize);
86 92
             QueryWrapper<TaDrainage> queryWrapper = new QueryWrapper<>();
87
-            queryWrapper.eq("org_id",getOrgId(request));
88
-            queryWrapper.eq(null != isMiniapp,"is_miniapp",isMiniapp);
89
-            if (null == status){
90
-                queryWrapper.gt("status",-1);
93
+            queryWrapper.eq("org_id", getOrgId(request));
94
+            queryWrapper.eq(null != isMiniapp, "is_miniapp", isMiniapp);
95
+            if (null == status) {
96
+                queryWrapper.gt("status", -1);
91 97
             }
92
-            queryWrapper.eq(null != status,"status",status);
93
-            queryWrapper.eq(!StringUtils.isEmpty(buildingId),"building_id",buildingId);
94
-            queryWrapper.eq(null != drainageId,"drainage_id",drainageId);
95
-            queryWrapper.and(taPersonBuildingList.size() > 0, wapper -> wapper.in("building_id",taPersonBuildingList.stream().map(TaPersonBuilding::getBuildingId).collect(Collectors.toList())).or().eq("create_user",getUserId(request)));
96
-            queryWrapper.like(!StringUtils.isEmpty(name),"name",name);
98
+            queryWrapper.eq(null != status, "status", status);
99
+            if(2 == source){
100
+                queryWrapper.isNull(StringUtils.isEmpty(buildingId), "building_id");
101
+            }else{
102
+                queryWrapper.eq(!StringUtils.isEmpty(buildingId), "building_id", buildingId);
103
+            }
104
+            queryWrapper.eq(null != drainageId, "drainage_id", drainageId);
105
+            queryWrapper.and(taPersonBuildingList.size() > 0, wapper -> wapper.in("building_id", taPersonBuildingList.stream().map(TaPersonBuilding::getBuildingId).collect(Collectors.toList())).or().eq("create_user", getUserId(request)));
106
+            queryWrapper.like(!StringUtils.isEmpty(name), "name", name);
97 107
             queryWrapper.orderByDesc("create_date");
98 108
 
99 109
             IPage<TaDrainage> result = iTaDrainageService.page(pg, queryWrapper);
100 110
             List<TaDrainage> records = result.getRecords();
101 111
             records.forEach(e -> {
102 112
                 QueryWrapper<TaThirdPartyMiniappConfig> taThirdPartyMiniappConfigQueryWrapper = new QueryWrapper<>();
103
-                taThirdPartyMiniappConfigQueryWrapper.eq("target_type",CommConstant.TARGET_TYPE_H5);
104
-                taThirdPartyMiniappConfigQueryWrapper.eq("target_id",e.getDrainageId());
105
-                taThirdPartyMiniappConfigQueryWrapper.eq("org_id",getOrgId(request));
113
+                taThirdPartyMiniappConfigQueryWrapper.eq("target_type", CommConstant.TARGET_TYPE_H5);
114
+                taThirdPartyMiniappConfigQueryWrapper.eq("target_id", e.getDrainageId());
115
+                taThirdPartyMiniappConfigQueryWrapper.eq("org_id", getOrgId(request));
106 116
                 TaThirdPartyMiniappConfig taThirdPartyMiniappConfig = iTaThirdPartyMiniappConfigService.getOne(taThirdPartyMiniappConfigQueryWrapper);
107
-                if (null != taThirdPartyMiniappConfig){
117
+                if (null != taThirdPartyMiniappConfig) {
108 118
                     e.setAppid(taThirdPartyMiniappConfig.getAppid());
109 119
                     e.setAppSecret(taThirdPartyMiniappConfig.getAppSecret());
110 120
                 }
111 121
             });
112 122
             result.setRecords(records);
113 123
             responseBean.addSuccess(result);
114
-        }catch (Exception e){
124
+        } catch (Exception e) {
115 125
             e.printStackTrace();
116
-            logger.error("taDrainageList -=- {}",e.toString());
126
+            logger.error("taDrainageList -=- {}", e.toString());
117 127
             responseBean.addError(e.getMessage());
118 128
         }
119 129
         return responseBean;
@@ -121,67 +131,31 @@ public class TaDrainageController extends BaseController {
121 131
 
122 132
     /**
123 133
      * 保存对象
134
+     *
124 135
      * @param taDrainage 实体对象
125 136
      * @return
126 137
      */
127
-    @RequestMapping(value="/admin/taDrainage/add",method= RequestMethod.POST)
128
-    public ResponseBean taDrainageAdd(@RequestBody TaDrainage taDrainage,HttpServletRequest request){
138
+    @RequestMapping(value = "/admin/taDrainage/add", method = RequestMethod.POST)
139
+    public ResponseBean taDrainageAdd(@RequestBody TaDrainage taDrainage, HttpServletRequest request) {
129 140
         ResponseBean responseBean = new ResponseBean();
130 141
         try {
131
-            taDrainage.setOrgId(getOrgId(request));
132
-            taDrainage.setCreateDate(LocalDateTime.now());
133
-            taDrainage.setStatus(CommConstant.STATUS_UNACCALIMED);
134
-            if (DateUtils.dayToLocalDateime(taDrainage.getEndDate()).isAfter(LocalDateTime.now())){
135
-                taDrainage.setStatus(CommConstant.STATUS_NORMAL);
136
-            }
137
-            taDrainage.setCreateUser(getUserId(request));
138
-            if (iTaDrainageService.save(taDrainage)){
139
-                // 根据ORGID查询当前小程序表的miniapp_id
140
-                QueryWrapper<TaMiniapp> taMiniappQuery= new QueryWrapper<>();
141
-                taMiniappQuery.eq("org_id",getOrgId(request));
142
-                TaMiniapp taMiniapp = taMiniappMapper.selectOne(taMiniappQuery);
143
-                // 生成二维码
144
-                ResponseBean taMiniappQrcode = miniAppService.getQrCode(CommConstant.DRAINAGE_QRCODE.replace("#0",taDrainage.getDrainageId().toString()).replace("#1","h5"),taMiniapp.getMiniappId());
145
-                taDrainage.setQrCode(String.valueOf(taMiniappQrcode.getData()));
146
-                iTaDrainageService.updateById(taDrainage);
147
-
148
-                //添加第三方appid和secretis
149
-                TaThirdPartyMiniappConfig taThirdPartyMiniappConfig = new TaThirdPartyMiniappConfig();
150
-                taThirdPartyMiniappConfig.setOrgId(getOrgId(request));
151
-                taThirdPartyMiniappConfig.setAppid(getUUIDS());
152
-                taThirdPartyMiniappConfig.setAppSecret(getUUIDS());
153
-                taThirdPartyMiniappConfig.setExpirationDate(LocalDateTime.now().plusDays(7));
154
-                taThirdPartyMiniappConfig.setTargetType(CommConstant.TARGET_TYPE_H5);
155
-                taThirdPartyMiniappConfig.setTargetId(taDrainage.getDrainageId().toString());
156
-                iTaThirdPartyMiniappConfigService.save(taThirdPartyMiniappConfig);
157
-                responseBean.addSuccess(taDrainage);
158
-            }else {
159
-                responseBean.addError("fail");
160
-            }
161
-        }catch (Exception e){
142
+            responseBean = iTaDrainageService.saveDrainage(taDrainage,getOrgId(request),getUserId(request));
143
+        } catch (Exception e) {
162 144
             e.printStackTrace();
163
-            logger.error("taDrainageAdd -=- {}",e.toString());
145
+            logger.error("taDrainageAdd -=- {}", e.toString());
164 146
             responseBean.addError(e.getMessage());
165 147
         }
166 148
         return responseBean;
167 149
     }
168
-    
169
-    /**
170
-     * 获取uuid
171
-     * @return
172
-     */
173
-    private String getUUIDS() {
174
-        String uuid= UUID.randomUUID().toString().replace("-", "");
175
-        return uuid;
176
-    }
177
-    
150
+
178 151
     /**
179 152
      * 根据id删除对象
180
-     * @param id  实体ID
153
+     *
154
+     * @param id 实体ID
181 155
      */
182 156
     @ResponseBody
183
-    @RequestMapping(value="/admin/taDrainage/{id}", method= RequestMethod.DELETE)
184
-    public ResponseBean taDrainageDelete(@PathVariable Integer id, HttpServletRequest request){
157
+    @RequestMapping(value = "/admin/taDrainage/{id}", method = RequestMethod.DELETE)
158
+    public ResponseBean taDrainageDelete(@PathVariable Integer id, HttpServletRequest request) {
185 159
         ResponseBean responseBean = new ResponseBean();
186 160
         try {
187 161
 
@@ -193,24 +167,24 @@ public class TaDrainageController extends BaseController {
193 167
             }
194 168
 
195 169
             QueryWrapper<ExtendContent> queryWrapper = new QueryWrapper<>();
196
-            queryWrapper.eq("org_id",drainage.getOrgId());
197
-            queryWrapper.eq("content_type",CommConstant.EVENT_H5);
198
-            queryWrapper.eq("target_id",drainage.getDrainageId());
170
+            queryWrapper.eq("org_id", drainage.getOrgId());
171
+            queryWrapper.eq("content_type", CommConstant.EVENT_H5);
172
+            queryWrapper.eq("target_id", drainage.getDrainageId());
199 173
             List<ExtendContent> list = iExtendContentService.list(queryWrapper);
200
-            if (null != drainage.getStatus() && drainage.getStatus().equals(CommConstant.STATUS_NORMAL) && list.size() > 0){
174
+            if (null != drainage.getStatus() && drainage.getStatus().equals(CommConstant.STATUS_NORMAL) && list.size() > 0) {
201 175
                 responseBean.addError("删除项目会删除全部数据,不建议删除数据。可以点击下架按钮终止活动。");
202 176
                 return responseBean;
203 177
             }
204 178
 
205 179
             drainage.setStatus(-1);
206
-            if(iTaDrainageService.updateById(drainage)){
180
+            if (iTaDrainageService.updateById(drainage)) {
207 181
                 responseBean.addSuccess("success");
208
-            }else {
182
+            } else {
209 183
                 responseBean.addError("fail");
210 184
             }
211
-        }catch (Exception e){
185
+        } catch (Exception e) {
212 186
             e.printStackTrace();
213
-            logger.error("taDrainageDelete -=- {}",e.toString());
187
+            logger.error("taDrainageDelete -=- {}", e.toString());
214 188
             responseBean.addError(e.getMessage());
215 189
         }
216 190
         return responseBean;
@@ -218,30 +192,31 @@ public class TaDrainageController extends BaseController {
218 192
 
219 193
     /**
220 194
      * 修改对象
221
-     * @param id  实体ID
195
+     *
196
+     * @param id         实体ID
222 197
      * @param taDrainage 实体对象
223 198
      * @return
224 199
      */
225
-    @RequestMapping(value="/admin/taDrainage/{id}",method= RequestMethod.PUT)
200
+    @RequestMapping(value = "/admin/taDrainage/{id}", method = RequestMethod.PUT)
226 201
     public ResponseBean taDrainageUpdate(@PathVariable Integer id,
227
-                                        @RequestBody TaDrainage taDrainage){
202
+                                         @RequestBody TaDrainage taDrainage) {
228 203
         ResponseBean responseBean = new ResponseBean();
229 204
         try {
230 205
             taDrainage.setDrainageId(id);
231
-            if (!taDrainage.getIsMiniapp()){
206
+            if (!taDrainage.getIsMiniapp()) {
232 207
                 taDrainage.setShareImg("");
233 208
                 taDrainage.setH5Address("");
234 209
                 taDrainage.setShareTitle("");
235 210
                 taDrainage.setMiddleImg("");
236 211
             }
237
-            if (iTaDrainageService.updateById(taDrainage)){
212
+            if (iTaDrainageService.updateById(taDrainage)) {
238 213
                 responseBean.addSuccess(taDrainage);
239
-            }else {
214
+            } else {
240 215
                 responseBean.addError("fail");
241 216
             }
242
-        }catch (Exception e){
217
+        } catch (Exception e) {
243 218
             e.printStackTrace();
244
-            logger.error("taDrainageUpdate -=- {}",e.toString());
219
+            logger.error("taDrainageUpdate -=- {}", e.toString());
245 220
             responseBean.addError(e.getMessage());
246 221
         }
247 222
         return responseBean;
@@ -249,26 +224,27 @@ public class TaDrainageController extends BaseController {
249 224
 
250 225
     /**
251 226
      * 根据id查询对象
252
-     * @param id  实体ID
227
+     *
228
+     * @param id 实体ID
253 229
      */
254
-    @RequestMapping(value="/admin/taDrainage/{id}",method= RequestMethod.GET)
255
-    public ResponseBean taDrainageGet(@PathVariable Integer id,HttpServletRequest request){
230
+    @RequestMapping(value = "/admin/taDrainage/{id}", method = RequestMethod.GET)
231
+    public ResponseBean taDrainageGet(@PathVariable Integer id, HttpServletRequest request) {
256 232
         ResponseBean responseBean = new ResponseBean();
257 233
         try {
258 234
             TaDrainage taDrainage = iTaDrainageService.getById(id);
259 235
             QueryWrapper<TaThirdPartyMiniappConfig> queryWrapper = new QueryWrapper<>();
260
-            queryWrapper.eq("target_type",CommConstant.TARGET_TYPE_H5);
261
-            queryWrapper.eq("target_id",taDrainage.getDrainageId());
262
-            queryWrapper.eq("org_id",getOrgId(request));
236
+            queryWrapper.eq("target_type", CommConstant.TARGET_TYPE_H5);
237
+            queryWrapper.eq("target_id", taDrainage.getDrainageId());
238
+            queryWrapper.eq("org_id", getOrgId(request));
263 239
             TaThirdPartyMiniappConfig taThirdPartyMiniappConfig = iTaThirdPartyMiniappConfigService.getOne(queryWrapper);
264
-            if (null != taThirdPartyMiniappConfig){
240
+            if (null != taThirdPartyMiniappConfig) {
265 241
                 taDrainage.setAppid(taThirdPartyMiniappConfig.getAppid());
266 242
                 taDrainage.setAppSecret(taThirdPartyMiniappConfig.getAppSecret());
267 243
             }
268 244
             responseBean.addSuccess(taDrainage);
269
-        }catch (Exception e){
245
+        } catch (Exception e) {
270 246
             e.printStackTrace();
271
-            logger.error("taDrainageDelete -=- {}",e.toString());
247
+            logger.error("taDrainageDelete -=- {}", e.toString());
272 248
             responseBean.addError(e.getMessage());
273 249
         }
274 250
         return responseBean;
@@ -276,32 +252,33 @@ public class TaDrainageController extends BaseController {
276 252
 
277 253
     /**
278 254
      * 更改上架下架状态
279
-     * @param id  实体ID
255
+     *
256
+     * @param id         实体ID
280 257
      * @param taDrainage 实体对象
281 258
      * @return
282 259
      */
283
-    @RequestMapping(value="/admin/taDrainage/exchange/{id}",method= RequestMethod.PUT)
260
+    @RequestMapping(value = "/admin/taDrainage/exchange/{id}", method = RequestMethod.PUT)
284 261
     public ResponseBean exchangeDrainage(@PathVariable Integer id,
285
-                                         @RequestBody TaDrainage taDrainage){
262
+                                         @RequestBody TaDrainage taDrainage) {
286 263
         ResponseBean responseBean = new ResponseBean();
287 264
         try {
288 265
             taDrainage.setDrainageId(id);
289 266
             QueryWrapper<ExtendContent> queryWrapper = new QueryWrapper<>();
290
-            queryWrapper.eq("org_id",taDrainage.getOrgId());
291
-            queryWrapper.eq("content_type",CommConstant.EVENT_H5);
292
-            queryWrapper.eq("target_id",taDrainage.getDrainageId());
267
+            queryWrapper.eq("org_id", taDrainage.getOrgId());
268
+            queryWrapper.eq("content_type", CommConstant.EVENT_H5);
269
+            queryWrapper.eq("target_id", taDrainage.getDrainageId());
293 270
 
294 271
             queryWrapper.gt("status", CommConstant.STATUS_DELETE); // fix bug #6816
295 272
 
296 273
             List<ExtendContent> list = iExtendContentService.list(queryWrapper);
297
-            if (null != taDrainage.getStatus() && taDrainage.getStatus().equals(CommConstant.STATUS_NORMAL)){
274
+            if (null != taDrainage.getStatus() && taDrainage.getStatus().equals(CommConstant.STATUS_NORMAL)) {
298 275
                 taDrainage.setStatus(CommConstant.STATUS_UNACCALIMED);
299 276
                 //如果H5有被轮播图或开屏广告选中则轮播图和开屏广告都要下架
300 277
                 list.forEach(e -> {
301 278
                     e.setStatus(CommConstant.STATUS_UNACCALIMED);
302 279
                 });
303
-            }else{
304
-                if (DateUtils.dayToLocalDateime(taDrainage.getEndDate()).isBefore(LocalDateTime.now())){
280
+            } else {
281
+                if (DateUtils.dayToLocalDateime(taDrainage.getEndDate()).isBefore(LocalDateTime.now())) {
305 282
                     responseBean.addError("已过下架时间,无法上架");
306 283
                     return responseBean;
307 284
                 }
@@ -311,17 +288,17 @@ public class TaDrainageController extends BaseController {
311 288
                     e.setStatus(CommConstant.STATUS_NORMAL);
312 289
                 });
313 290
             }
314
-            if (list.size() > 0){
291
+            if (list.size() > 0) {
315 292
                 iExtendContentService.updateBatchById(list);
316 293
             }
317
-            if (iTaDrainageService.updateById(taDrainage)){
294
+            if (iTaDrainageService.updateById(taDrainage)) {
318 295
                 responseBean.addSuccess(taDrainage);
319
-            }else {
296
+            } else {
320 297
                 responseBean.addError("fail");
321 298
             }
322
-        }catch (Exception e){
299
+        } catch (Exception e) {
323 300
             e.printStackTrace();
324
-            logger.error("taDrainageUpdate -=- {}",e.toString());
301
+            logger.error("taDrainageUpdate -=- {}", e.toString());
325 302
             responseBean.addError(e.getMessage());
326 303
         }
327 304
         return responseBean;
@@ -329,16 +306,33 @@ public class TaDrainageController extends BaseController {
329 306
 
330 307
     /**
331 308
      * 微信端获取数据
332
-     * @param id  实体ID
309
+     *
310
+     * @param id 实体ID
333 311
      */
334
-    @RequestMapping(value="/wx/taDrainage/{id}",method= RequestMethod.GET)
335
-    public ResponseBean wxDrainageGet(@PathVariable Integer id){
312
+    @RequestMapping(value = "/wx/taDrainage/{id}", method = RequestMethod.GET)
313
+    @ReportCustomer(type = "h5")
314
+    public ResponseBean wxDrainageGet(@PathVariable Integer id,
315
+                                      @RequestParam(value = "qrCodeId", required = false) String qrCodeId,
316
+                                      @RequestParam(value = "channelId", required = false) String channelId,
317
+                                      @RequestParam(value = "sceneId", required = false) String sceneId,
318
+                                      HttpServletRequest request) {
336 319
         ResponseBean responseBean = new ResponseBean();
337 320
         try {
338
-            responseBean.addSuccess(iTaDrainageService.getById(id));
339
-        }catch (Exception e){
321
+            TaPerson taPerson = taPersonMapper.selectById(getPersonId(request));
322
+
323
+            TaDrainage taDrainage = iTaDrainageService.getById(id);
324
+            taDrainage.setShareTitle(taDrainage.getShareTitle().replace("{name}",taPerson.getNickname()));
325
+            QueryWrapper<TaMpInfo> queryWrapper = new QueryWrapper<>();
326
+            queryWrapper.eq("status", CommConstant.STATUS_NORMAL);
327
+            queryWrapper.eq("org_id", 0);
328
+            List<TaMpInfo> mplist = iTaMpInfoService.list(queryWrapper);
329
+            if (mplist.size() > 0){
330
+                taDrainage.setMpAppid(mplist.get(0).getAppid());
331
+            }
332
+            responseBean.addSuccess(taDrainage);
333
+        } catch (Exception e) {
340 334
             e.printStackTrace();
341
-            logger.error("taDrainageDelete -=- {}",e.toString());
335
+            logger.error("taDrainageDelete -=- {}", e.toString());
342 336
             responseBean.addError(e.getMessage());
343 337
         }
344 338
         return responseBean;

+ 25
- 0
src/main/java/com/huiju/estateagents/drainage/entity/TaDrainage.java Просмотреть файл

@@ -86,4 +86,29 @@ public class TaDrainage implements Serializable {
86 86
     @TableField(exist = false)
87 87
     private String appSecret;
88 88
 
89
+    /**
90
+     * 对应的H5的活动类型
91
+     */
92
+    private String activityType;
93
+
94
+    /**
95
+     * 对应的H5的活动id
96
+     */
97
+    private String activityId;
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
+
89 114
 }

+ 3
- 0
src/main/java/com/huiju/estateagents/drainage/service/ITaDrainageService.java Просмотреть файл

@@ -1,6 +1,7 @@
1 1
 package com.huiju.estateagents.drainage.service;
2 2
 
3 3
 import com.baomidou.mybatisplus.extension.service.IService;
4
+import com.huiju.estateagents.base.ResponseBean;
4 5
 import com.huiju.estateagents.drainage.entity.TaDrainage;
5 6
 
6 7
 /**
@@ -13,4 +14,6 @@ import com.huiju.estateagents.drainage.entity.TaDrainage;
13 14
  */
14 15
 public interface ITaDrainageService extends IService<TaDrainage> {
15 16
     void updateDrainageToEnd();
17
+
18
+    ResponseBean saveDrainage(TaDrainage taDrainage, Integer orgId, Integer userId);
16 19
 }

+ 112
- 0
src/main/java/com/huiju/estateagents/drainage/service/impl/TaDrainageServiceImpl.java Просмотреть файл

@@ -1,12 +1,33 @@
1 1
 package com.huiju.estateagents.drainage.service.impl;
2 2
 
3
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
3 4
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
5
+import com.huiju.estateagents.base.ResponseBean;
6
+import com.huiju.estateagents.common.CommConstant;
7
+import com.huiju.estateagents.common.CommonUtils;
8
+import com.huiju.estateagents.common.DateUtils;
9
+import com.huiju.estateagents.common.StringUtils;
4 10
 import com.huiju.estateagents.drainage.entity.TaDrainage;
5 11
 import com.huiju.estateagents.drainage.mapper.TaDrainageMapper;
6 12
 import com.huiju.estateagents.drainage.service.ITaDrainageService;
13
+import com.huiju.estateagents.entity.TaMiniapp;
14
+import com.huiju.estateagents.mapper.TaMiniappMapper;
15
+import com.huiju.estateagents.redpack.entity.TaH5Template;
16
+import com.huiju.estateagents.redpack.entity.TaRedPacket;
17
+import com.huiju.estateagents.redpack.mapper.TaH5TemplateMapper;
18
+import com.huiju.estateagents.redpack.service.ITaRedPacketService;
19
+import com.huiju.estateagents.sample.entity.TaH5Sample;
20
+import com.huiju.estateagents.sample.mapper.TaH5SampleMapper;
21
+import com.huiju.estateagents.service.IMiniAppService;
22
+import com.huiju.estateagents.third.entity.TaThirdPartyMiniappConfig;
23
+import com.huiju.estateagents.third.service.ITaThirdPartyMiniappConfigService;
24
+import org.slf4j.Logger;
25
+import org.slf4j.LoggerFactory;
7 26
 import org.springframework.beans.factory.annotation.Autowired;
8 27
 import org.springframework.stereotype.Service;
9 28
 
29
+import java.time.LocalDateTime;
30
+
10 31
 /**
11 32
  * <p>
12 33
  * 引流项目  服务实现类
@@ -18,11 +39,102 @@ import org.springframework.stereotype.Service;
18 39
 @Service
19 40
 public class TaDrainageServiceImpl extends ServiceImpl<TaDrainageMapper, TaDrainage> implements ITaDrainageService {
20 41
 
42
+    private Logger logger = LoggerFactory.getLogger(TaDrainageServiceImpl.class);
43
+
21 44
     @Autowired
22 45
     private TaDrainageMapper taDrainageMapper;
23 46
 
47
+    @Autowired
48
+    private TaMiniappMapper taMiniappMapper;
49
+
50
+    @Autowired
51
+    private IMiniAppService miniAppService;
52
+
53
+    @Autowired
54
+    private ITaRedPacketService iTaRedPacketService;
55
+
56
+    @Autowired
57
+    private ITaThirdPartyMiniappConfigService iTaThirdPartyMiniappConfigService;
58
+
59
+    @Autowired
60
+    private TaH5SampleMapper taH5SampleMapper;
61
+
62
+    @Autowired
63
+    private TaH5TemplateMapper taH5TemplateMapper;
64
+
24 65
     @Override
25 66
     public void updateDrainageToEnd() {
26 67
         taDrainageMapper.updateDrainageToEnd();
27 68
     }
69
+
70
+    @Override
71
+    public ResponseBean saveDrainage(TaDrainage taDrainage, Integer orgId, Integer userId) {
72
+        ResponseBean responseBean = new ResponseBean();
73
+
74
+        // 1.保存H5活动信息
75
+        taDrainage.setOrgId(orgId);
76
+        taDrainage.setCreateUser(userId);
77
+        taDrainage.setCreateDate(LocalDateTime.now());
78
+        taDrainage.setStatus(CommConstant.STATUS_UNACCALIMED);
79
+        if (DateUtils.dayToLocalDateime(taDrainage.getEndDate()).isAfter(LocalDateTime.now())) {
80
+            taDrainage.setStatus(CommConstant.STATUS_NORMAL);
81
+        }
82
+        Boolean saveResult = save(taDrainage);
83
+        if (!saveResult) {
84
+            responseBean.addError("fail");
85
+            return responseBean;
86
+        }
87
+
88
+        // 2.生成二维码
89
+        QueryWrapper<TaMiniapp> taMiniappQuery = new QueryWrapper<>();
90
+        taMiniappQuery.eq("org_id", orgId);
91
+        TaMiniapp taMiniapp = taMiniappMapper.selectOne(taMiniappQuery);
92
+        ResponseBean taMiniappQrcode = miniAppService.getQrCode(CommConstant.DRAINAGE_QRCODE.replace("#0", taDrainage.getDrainageId().toString()).replace("#1", "h5"), taMiniapp.getMiniappId());
93
+        taDrainage.setQrCode(String.valueOf(taMiniappQrcode.getData()));
94
+
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.setQrcode(taDrainage.getQrCode());
115
+                    taRedPacket.setEndDate(DateUtils.dayToLocalDateime(taDrainage.getEndDate()));
116
+                    taRedPacket.setBuildingId(taDrainage.getBuildingId());
117
+                    iTaRedPacketService.initializeRedPacket(taRedPacket,orgId);
118
+
119
+                    taDrainage.setH5Address(String.format(taH5Template.getActivityUrl(), activityId));
120
+                    taDrainage.setActivityType(taH5Template.getActivityType());
121
+                    taDrainage.setActivityId(activityId);
122
+                }
123
+            }
124
+        }
125
+        updateById(taDrainage);
126
+
127
+        // 4.添加第三方appid和secretis
128
+        TaThirdPartyMiniappConfig taThirdPartyMiniappConfig = new TaThirdPartyMiniappConfig();
129
+        taThirdPartyMiniappConfig.setOrgId(orgId);
130
+        taThirdPartyMiniappConfig.setAppid(CommonUtils.getUUIDS());
131
+        taThirdPartyMiniappConfig.setAppSecret(CommonUtils.getUUIDS());
132
+        taThirdPartyMiniappConfig.setExpirationDate(LocalDateTime.now().plusDays(7));
133
+        taThirdPartyMiniappConfig.setTargetType(CommConstant.TARGET_TYPE_H5);
134
+        taThirdPartyMiniappConfig.setTargetId(taDrainage.getDrainageId().toString());
135
+        iTaThirdPartyMiniappConfigService.save(taThirdPartyMiniappConfig);
136
+
137
+        responseBean.addSuccess(taDrainage);
138
+        return responseBean;
139
+    }
28 140
 }

+ 2
- 0
src/main/java/com/huiju/estateagents/entity/ExtendContent.java Просмотреть файл

@@ -104,6 +104,8 @@ public class ExtendContent implements Serializable {
104 104
      */
105 105
     private Integer createUser;
106 106
 
107
+    private Boolean isHaveActive;
108
+
107 109
     /**
108 110
      * 排序
109 111
      */

+ 3
- 0
src/main/java/com/huiju/estateagents/entity/TaBuilding.java Просмотреть файл

@@ -351,4 +351,7 @@ public class TaBuilding implements Serializable {
351 351
 
352 352
     @TableField(exist = false)
353 353
     private List<TaSalesBatch> salesBatch;
354
+
355
+    @TableField(exist = false)
356
+    private List<ExtendContent> extendContent;
354 357
 }

+ 8
- 4
src/main/java/com/huiju/estateagents/entity/TaChannel.java Просмотреть файл

@@ -1,15 +1,16 @@
1 1
 package com.huiju.estateagents.entity;
2 2
 
3
-import com.baomidou.mybatisplus.annotation.TableField;
4
-import com.baomidou.mybatisplus.annotation.TableName;
5 3
 import com.baomidou.mybatisplus.annotation.IdType;
4
+import com.baomidou.mybatisplus.annotation.TableField;
6 5
 import com.baomidou.mybatisplus.annotation.TableId;
7
-import java.time.LocalDateTime;
8
-import java.io.Serializable;
6
+import com.baomidou.mybatisplus.annotation.TableName;
9 7
 import lombok.Data;
10 8
 import lombok.EqualsAndHashCode;
11 9
 import lombok.experimental.Accessors;
12 10
 
11
+import java.io.Serializable;
12
+import java.time.LocalDateTime;
13
+
13 14
 /**
14 15
  * <p>
15 16
  *  
@@ -70,6 +71,9 @@ public class TaChannel implements Serializable {
70 71
     @TableField(exist = false)
71 72
     private Integer inviteCount;
72 73
 
74
+    @TableField(exist = false)
75
+    private Integer customerNum;
76
+
73 77
     /**
74 78
      * 创建时间
75 79
      */

+ 72
- 1
src/main/java/com/huiju/estateagents/entity/TaCustomerFrom.java Просмотреть файл

@@ -1,6 +1,7 @@
1 1
 package com.huiju.estateagents.entity;
2 2
 
3 3
 import com.baomidou.mybatisplus.annotation.IdType;
4
+import com.baomidou.mybatisplus.annotation.TableField;
4 5
 import com.baomidou.mybatisplus.annotation.TableId;
5 6
 import java.time.LocalDateTime;
6 7
 import java.io.Serializable;
@@ -18,7 +19,6 @@ import lombok.experimental.Accessors;
18 19
  */
19 20
 @Data
20 21
 @EqualsAndHashCode(callSuper = false)
21
-@Accessors(chain = true)
22 22
 public class TaCustomerFrom implements Serializable {
23 23
 
24 24
     private static final long serialVersionUID = 1L;
@@ -109,5 +109,76 @@ public class TaCustomerFrom implements Serializable {
109 109
      */
110 110
     private String remark;
111 111
 
112
+    /**
113
+     * 用户名
114
+     */
115
+    @TableField(exist = false)
116
+    private String userName;
117
+
118
+    /**
119
+     * 用户手机号码
120
+     */
121
+    @TableField(exist = false)
122
+    private String userTel;
123
+
124
+    /**
125
+     * 用户性别
126
+     */
127
+    @TableField(exist = false)
128
+    private Integer sex;
129
+
130
+    /**
131
+     * 归属城市
132
+     */
133
+    @TableField(exist = false)
134
+    private String city;
135
+
136
+    /**
137
+     * 用户注册时间
138
+     */
139
+    @TableField(exist = false)
140
+    private LocalDateTime registerTime;
141
+
142
+    /**
143
+     * 渠道 ID
144
+     */
145
+    private Integer channelId;
146
+
147
+    /**
148
+     * 推广码ID
149
+     */
150
+    private Integer qrCodeId;
151
+
152
+    /**
153
+     * 用户头像
154
+     */
155
+    @TableField(exist = false)
156
+    private String avatarurl;
157
+
158
+    /**
159
+     * 分享人昵称
160
+     */
161
+    @TableField(exist = false)
162
+    private String sharePersonNickname;
163
+
164
+    /**
165
+     * 分享人手机号
166
+     */
167
+    @TableField(exist = false)
168
+    private String sharePersonPhone;
169
+
170
+    /**
171
+     * 用户昵称
172
+     */
173
+    @TableField(exist = false)
174
+    private String nickname;
175
+
176
+    /**
177
+     * 用户名
178
+     */
179
+    @TableField(exist = false)
180
+    private String name;
112 181
 
182
+    @TableField(exist = false)
183
+    private String phone;
113 184
 }

+ 2
- 0
src/main/java/com/huiju/estateagents/entity/TaMiniappQrcode.java Просмотреть файл

@@ -55,4 +55,6 @@ public class TaMiniappQrcode implements Serializable {
55 55
      */
56 56
     private String qrCode;
57 57
 
58
+    private Integer targetId;
59
+
58 60
 }

+ 5
- 0
src/main/java/com/huiju/estateagents/entity/TaOrg.java Просмотреть файл

@@ -81,4 +81,9 @@ public class TaOrg implements Serializable {
81 81
      */
82 82
     @TableField(exist = false)
83 83
     private String channelProxyName;
84
+
85
+    /**
86
+     * 短地址
87
+     */
88
+    private String shortId;
84 89
 }

+ 10
- 0
src/main/java/com/huiju/estateagents/entity/TaPerson.java Просмотреть файл

@@ -330,4 +330,14 @@ public class TaPerson implements Serializable {
330 330
      */
331 331
     @TableField(exist = false)
332 332
     private String targetName;
333
+
334
+    /**
335
+     * 渠道 ID
336
+     */
337
+    private Integer channelId;
338
+
339
+    /**
340
+     * 推广码ID
341
+     */
342
+    private Integer qrCodeId;
333 343
 }

+ 37
- 0
src/main/java/com/huiju/estateagents/entity/TaPersonVisitRecord.java Просмотреть файл

@@ -202,4 +202,41 @@ public class TaPersonVisitRecord implements Serializable {
202 202
      */
203 203
     @TableField(exist = false)
204 204
     private String customerId;
205
+
206
+    /**
207
+     * 客户性别
208
+     */
209
+    @TableField(exist = false)
210
+    private Integer sex;
211
+
212
+    /**
213
+     * 客户归属地
214
+     */
215
+    @TableField(exist = false)
216
+    private String city;
217
+
218
+    private Integer qrCodeId;
219
+
220
+    private Integer channelId;
221
+
222
+    /**
223
+     * 分享人昵称
224
+     */
225
+    @TableField(exist = false)
226
+    private String sharePersonNickname;
227
+
228
+    /**
229
+     * 分享人手机号
230
+     */
231
+    @TableField(exist = false)
232
+    private String sharePersonPhone;
233
+
234
+    /**
235
+     * 用户名
236
+     */
237
+    @TableField(exist = false)
238
+    private String name;
239
+
240
+    @TableField(exist = false)
241
+    private String phone;
205 242
 }

+ 99
- 0
src/main/java/com/huiju/estateagents/entity/TaQrcode.java Просмотреть файл

@@ -0,0 +1,99 @@
1
+package com.huiju.estateagents.entity;
2
+
3
+import com.baomidou.mybatisplus.annotation.IdType;
4
+import com.baomidou.mybatisplus.annotation.TableField;
5
+import com.baomidou.mybatisplus.annotation.TableId;
6
+import lombok.Data;
7
+import lombok.EqualsAndHashCode;
8
+import lombok.experimental.Accessors;
9
+
10
+import java.io.Serializable;
11
+import java.time.LocalDateTime;
12
+import java.util.List;
13
+
14
+/**
15
+ * <p>
16
+ * 二维码管理表
17
+ * </p>
18
+ *
19
+ * @author fxf
20
+ * @since 2020-05-20
21
+ */
22
+@Data
23
+@EqualsAndHashCode(callSuper = false)
24
+@Accessors(chain = true)
25
+public class TaQrcode implements Serializable {
26
+
27
+    private static final long serialVersionUID = 1L;
28
+
29
+    /**
30
+     * qr_code_id id
31
+     */
32
+    @TableId(value = "qr_code_id", type = IdType.AUTO)
33
+    private Integer qrCodeId;
34
+
35
+    /**
36
+     * org_id
37
+     */
38
+    private Integer orgId;
39
+
40
+    /**
41
+     * building_id 关联项目ID
42
+     */
43
+    private String buildingId;
44
+
45
+    /**
46
+     * channel_id 渠道ID
47
+     */
48
+    private Integer channelId;
49
+
50
+    /**
51
+     * target_type 二维码类型
52
+     */
53
+    private String targetType;
54
+
55
+    /**
56
+     * target_name 二维码内容
57
+     */
58
+    private String targetName;
59
+
60
+    /**
61
+     * target_id
62
+     */
63
+    private String targetId;
64
+
65
+    /**
66
+     * qr_code_url 二维码地址
67
+     */
68
+    private String qrCodeUrl;
69
+
70
+    /**
71
+     * status 状态
72
+     */
73
+    private Integer status;
74
+
75
+    /**
76
+     * create_date 创建时间
77
+     */
78
+    private LocalDateTime createDate;
79
+
80
+    /**
81
+     * create_user 创建人
82
+     */
83
+    private Integer createUser;
84
+
85
+    @TableField(exist = false)
86
+    private List<TaQrcode> qrcodeList;
87
+
88
+    /**
89
+     * 楼盘名称
90
+     */
91
+    @TableField(exist = false)
92
+    private String buildingName;
93
+
94
+    /**
95
+     * 渠道名称
96
+     */
97
+    @TableField(exist = false)
98
+    private String channelName;
99
+}

+ 12
- 1
src/main/java/com/huiju/estateagents/entity/TsActivityDaily.java Просмотреть файл

@@ -1,12 +1,14 @@
1 1
 package com.huiju.estateagents.entity;
2 2
 
3 3
 import com.baomidou.mybatisplus.annotation.IdType;
4
+import com.baomidou.mybatisplus.annotation.TableField;
4 5
 import com.baomidou.mybatisplus.annotation.TableId;
5
-import java.io.Serializable;
6 6
 import lombok.Data;
7 7
 import lombok.EqualsAndHashCode;
8 8
 import lombok.experimental.Accessors;
9 9
 
10
+import java.io.Serializable;
11
+
10 12
 /**
11 13
  * <p>
12 14
  * 活动统计 
@@ -93,5 +95,14 @@ public class TsActivityDaily implements Serializable {
93 95
      */
94 96
     private Integer newCustomers;
95 97
 
98
+    /**
99
+     * 渠道id
100
+     */
101
+    private Integer channelId;
96 102
 
103
+    /**
104
+     * 统计类型
105
+     */
106
+    @TableField(exist = false)
107
+    private String statisticType;
97 108
 }

+ 45
- 0
src/main/java/com/huiju/estateagents/excel/ActivityStatistics/ChannelAddRegistNum.java Просмотреть файл

@@ -0,0 +1,45 @@
1
+package com.huiju.estateagents.excel.ActivityStatistics;
2
+
3
+import com.alibaba.excel.annotation.ExcelProperty;
4
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
5
+import lombok.Data;
6
+
7
+@Data
8
+public class ChannelAddRegistNum {
9
+    /**
10
+     * 姓名
11
+     */
12
+    @ColumnWidth(15)
13
+    @ExcelProperty(value = "姓名", index = 0)
14
+    private String nickName;
15
+
16
+    /**
17
+     * 电话
18
+     */
19
+    @ColumnWidth(15)
20
+    @ExcelProperty(value = "电话", index = 1)
21
+    private String phone;
22
+
23
+    /**
24
+     * 性别
25
+     */
26
+    @ColumnWidth(15)
27
+    @ExcelProperty(value = "性别", index = 2)
28
+    private String gender;
29
+
30
+    /**
31
+     * 归属地
32
+     */
33
+    @ColumnWidth(15)
34
+    @ExcelProperty(value = "归属地", index = 3)
35
+    private String province;
36
+
37
+    /**
38
+     * 分享者电话
39
+     */
40
+    @ColumnWidth(15)
41
+    @ExcelProperty(value = "注册时间", index = 4)
42
+    private String createDate;
43
+
44
+
45
+}

+ 79
- 0
src/main/java/com/huiju/estateagents/excel/ActivityStatistics/ChannelVisitNum.java Просмотреть файл

@@ -0,0 +1,79 @@
1
+package com.huiju.estateagents.excel.ActivityStatistics;
2
+
3
+import com.alibaba.excel.annotation.ExcelProperty;
4
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
5
+import lombok.Data;
6
+
7
+@Data
8
+public class ChannelVisitNum {
9
+    /**
10
+     * 姓名
11
+     */
12
+    @ColumnWidth(15)
13
+    @ExcelProperty(value = "姓名", index = 0)
14
+    private String nickName;
15
+
16
+    /**
17
+     * 电话
18
+     */
19
+    @ColumnWidth(15)
20
+    @ExcelProperty(value = "电话", index = 1)
21
+    private String phone;
22
+
23
+    /**
24
+     * 性别
25
+     */
26
+    @ColumnWidth(15)
27
+    @ExcelProperty(value = "性别", index = 2)
28
+    private String gender;
29
+
30
+    /**
31
+     * 归属地
32
+     */
33
+    @ColumnWidth(15)
34
+    @ExcelProperty(value = "归属地", index = 3)
35
+    private String province;
36
+
37
+//    /**
38
+//     * 来源渠道
39
+//     */
40
+//    @ColumnWidth(15)
41
+//    @ExcelProperty(value = "来源渠道", index = 4)
42
+//    private String personFrom;
43
+//
44
+//    /**
45
+//     * 置业顾问
46
+//     */
47
+//    @ColumnWidth(15)
48
+//    @ExcelProperty(value = "置业顾问", index = 5)
49
+//    private String realtyConsultant;
50
+//
51
+//    /**
52
+//     * 置业顾问电话
53
+//     */
54
+//    @ColumnWidth(15)
55
+//    @ExcelProperty(value = "置业顾问电话", index = 6)
56
+//    private String realtyConsultantPhone;
57
+//
58
+//    /**
59
+//     * 分享者
60
+//     */
61
+//    @ColumnWidth(15)
62
+//    @ExcelProperty(value = "分享者", index = 7)
63
+//    private String sharePersonName;
64
+//
65
+//    /**
66
+//     * 分享者电话
67
+//     */
68
+//    @ColumnWidth(15)
69
+//    @ExcelProperty(value = "分享者电话", index = 8)
70
+//    private String sharePersonPhone;
71
+
72
+    /**
73
+     * 访问时间
74
+     */
75
+    @ColumnWidth(15)
76
+    @ExcelProperty(value = "访问时间", index = 4)
77
+    private String visitDate;
78
+
79
+}

+ 86
- 0
src/main/java/com/huiju/estateagents/excel/ActivityStatistics/ChannelVisitPersonNum.java Просмотреть файл

@@ -0,0 +1,86 @@
1
+package com.huiju.estateagents.excel.ActivityStatistics;
2
+
3
+import com.alibaba.excel.annotation.ExcelProperty;
4
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
5
+import lombok.Data;
6
+
7
+@Data
8
+public class ChannelVisitPersonNum {
9
+    /**
10
+     * 姓名
11
+     */
12
+    @ColumnWidth(15)
13
+    @ExcelProperty(value = "姓名", index = 0)
14
+    private String nickName;
15
+
16
+    /**
17
+     * 电话
18
+     */
19
+    @ColumnWidth(15)
20
+    @ExcelProperty(value = "电话", index = 1)
21
+    private String phone;
22
+
23
+    /**
24
+     * 性别
25
+     */
26
+    @ColumnWidth(15)
27
+    @ExcelProperty(value = "性别", index = 2)
28
+    private String gender;
29
+
30
+    /**
31
+     * 归属地
32
+     */
33
+    @ColumnWidth(15)
34
+    @ExcelProperty(value = "归属地", index = 3)
35
+    private String province;
36
+
37
+//    /**
38
+//     * 来源渠道
39
+//     */
40
+//    @ColumnWidth(15)
41
+//    @ExcelProperty(value = "来源渠道", index = 4)
42
+//    private String personFrom;
43
+//
44
+//    /**
45
+//     * 置业顾问
46
+//     */
47
+//    @ColumnWidth(15)
48
+//    @ExcelProperty(value = "置业顾问", index = 5)
49
+//    private String realtyConsultant;
50
+//
51
+//    /**
52
+//     * 置业顾问电话
53
+//     */
54
+//    @ColumnWidth(15)
55
+//    @ExcelProperty(value = "置业顾问电话", index = 6)
56
+//    private String realtyConsultantPhone;
57
+//
58
+//    /**
59
+//     * 推广人
60
+//     */
61
+//    @ColumnWidth(15)
62
+//    @ExcelProperty(value = "推广人", index = 7)
63
+//    private String sharePersonName;
64
+//    /**
65
+//     * 分享者
66
+//     */
67
+//    @ColumnWidth(15)
68
+//    @ExcelProperty(value = "分享者", index = 7)
69
+//    private String sharePersonName;
70
+//
71
+//    /**
72
+//     * 分享者电话
73
+//     */
74
+//    @ColumnWidth(15)
75
+//    @ExcelProperty(value = "分享者电话", index = 8)
76
+//    private String sharePersonPhone;
77
+
78
+    /**
79
+     * 访问次数
80
+     */
81
+    @ColumnWidth(15)
82
+    @ExcelProperty(value = "访问次数", index = 4)
83
+    private String visitNum;
84
+
85
+
86
+}

+ 58
- 0
src/main/java/com/huiju/estateagents/excel/ActivityStatistics/TsChannelDaily.java Просмотреть файл

@@ -0,0 +1,58 @@
1
+package com.huiju.estateagents.excel.ActivityStatistics;
2
+
3
+import com.alibaba.excel.annotation.ExcelIgnore;
4
+import com.alibaba.excel.annotation.ExcelProperty;
5
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
6
+import lombok.Data;
7
+
8
+@Data
9
+public class TsChannelDaily {
10
+    /**
11
+     * 类型
12
+     */
13
+    @ColumnWidth(15)
14
+    @ExcelProperty(value = "类型", index = 0)
15
+    private String targetType;
16
+
17
+    /**
18
+     * 内容
19
+     */
20
+    @ColumnWidth(15)
21
+    @ExcelProperty(value = "内容", index = 1)
22
+    private String targetName;
23
+
24
+    /**
25
+     * 关联项目
26
+     */
27
+    @ColumnWidth(15)
28
+    @ExcelProperty(value = "关联项目", index = 2)
29
+    private String buildingName;
30
+
31
+    /**
32
+     * 新增注册用户
33
+     */
34
+    @ColumnWidth(15)
35
+    @ExcelProperty(value = "新增注册用户", index = 3)
36
+    private Integer newCustomers;
37
+
38
+    /**
39
+     * 访问人数
40
+     */
41
+    @ColumnWidth(15)
42
+    @ExcelProperty(value = "访问人数", index = 4)
43
+    private Integer visitPersons;
44
+
45
+    /**
46
+     * 访问次数
47
+     */
48
+    @ColumnWidth(15)
49
+    @ExcelProperty(value = "访问次数", index = 5)
50
+    private Integer visitNum;
51
+
52
+    /**
53
+     * 活动ID
54
+     */
55
+    @ExcelIgnore
56
+    private String targetId;
57
+
58
+}

+ 45
- 0
src/main/java/com/huiju/estateagents/excel/QrCodeStatistics/QrCodeNewPersonNum.java Просмотреть файл

@@ -0,0 +1,45 @@
1
+package com.huiju.estateagents.excel.QrCodeStatistics;
2
+
3
+import com.alibaba.excel.annotation.ExcelProperty;
4
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
5
+import lombok.Data;
6
+
7
+import java.time.LocalDateTime;
8
+
9
+@Data
10
+public class QrCodeNewPersonNum {
11
+    /**
12
+     * 姓名
13
+     */
14
+    @ColumnWidth(15)
15
+    @ExcelProperty(value = "姓名", index = 0)
16
+    private String nickName;
17
+
18
+    /**
19
+     * 电话
20
+     */
21
+    @ColumnWidth(15)
22
+    @ExcelProperty(value = "电话", index = 1)
23
+    private String phone;
24
+
25
+    /**
26
+     * 性别
27
+     */
28
+    @ColumnWidth(15)
29
+    @ExcelProperty(value = "性别", index = 2)
30
+    private String gender;
31
+
32
+    /**
33
+     * 归属地
34
+     */
35
+    @ColumnWidth(15)
36
+    @ExcelProperty(value = "归属地", index = 3)
37
+    private String province;
38
+
39
+    /**
40
+     * 访问次数
41
+     */
42
+    @ColumnWidth(15)
43
+    @ExcelProperty(value = "注册时间", index = 4)
44
+    private String registerTime;
45
+}

+ 45
- 0
src/main/java/com/huiju/estateagents/excel/QrCodeStatistics/QrCodeVisitNum.java Просмотреть файл

@@ -0,0 +1,45 @@
1
+package com.huiju.estateagents.excel.QrCodeStatistics;
2
+
3
+import com.alibaba.excel.annotation.ExcelProperty;
4
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
5
+import lombok.Data;
6
+
7
+import java.time.LocalDateTime;
8
+
9
+@Data
10
+public class QrCodeVisitNum {
11
+    /**
12
+     * 姓名
13
+     */
14
+    @ColumnWidth(15)
15
+    @ExcelProperty(value = "姓名", index = 0)
16
+    private String nickName;
17
+
18
+    /**
19
+     * 电话
20
+     */
21
+    @ColumnWidth(15)
22
+    @ExcelProperty(value = "电话", index = 1)
23
+    private String phone;
24
+
25
+    /**
26
+     * 性别
27
+     */
28
+    @ColumnWidth(15)
29
+    @ExcelProperty(value = "性别", index = 2)
30
+    private String gender;
31
+
32
+    /**
33
+     * 归属地
34
+     */
35
+    @ColumnWidth(15)
36
+    @ExcelProperty(value = "归属地", index = 3)
37
+    private String province;
38
+
39
+    /**
40
+     * 访问次数
41
+     */
42
+    @ColumnWidth(15)
43
+    @ExcelProperty(value = "访问时间", index = 4)
44
+    private String visitTime;
45
+}

+ 44
- 0
src/main/java/com/huiju/estateagents/excel/QrCodeStatistics/QrCodeVisitPersonNum.java Просмотреть файл

@@ -0,0 +1,44 @@
1
+package com.huiju.estateagents.excel.QrCodeStatistics;
2
+
3
+import com.alibaba.excel.annotation.ExcelProperty;
4
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
5
+import lombok.Data;
6
+
7
+@Data
8
+public class QrCodeVisitPersonNum {
9
+    /**
10
+     * 姓名
11
+     */
12
+    @ColumnWidth(15)
13
+    @ExcelProperty(value = "姓名", index = 0)
14
+    private String nickName;
15
+
16
+    /**
17
+     * 电话
18
+     */
19
+    @ColumnWidth(15)
20
+    @ExcelProperty(value = "电话", index = 1)
21
+    private String phone;
22
+
23
+    /**
24
+     * 性别
25
+     */
26
+    @ColumnWidth(15)
27
+    @ExcelProperty(value = "性别", index = 2)
28
+    private String gender;
29
+
30
+    /**
31
+     * 归属地
32
+     */
33
+    @ColumnWidth(15)
34
+    @ExcelProperty(value = "归属地", index = 3)
35
+    private String province;
36
+
37
+    /**
38
+     * 访问次数
39
+     */
40
+    @ColumnWidth(15)
41
+    @ExcelProperty(value = "访问次数", index = 4)
42
+    private String visitNum;
43
+
44
+}

+ 47
- 0
src/main/java/com/huiju/estateagents/excel/redPacket/AccountConsumeRecordExport.java Просмотреть файл

@@ -0,0 +1,47 @@
1
+package com.huiju.estateagents.excel.redPacket;
2
+
3
+import com.alibaba.excel.annotation.ExcelProperty;
4
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
5
+import lombok.Data;
6
+
7
+/**
8
+ * 账户消费记录导出
9
+ *
10
+ * @author gusy
11
+ * @date 2020/6/5 16:36
12
+ */
13
+@Data
14
+public class AccountConsumeRecordExport {
15
+
16
+    @ColumnWidth(15)
17
+    @ExcelProperty(value = "订单编号", index = 0)
18
+    private String tradeNo;
19
+
20
+
21
+    @ColumnWidth(15)
22
+    @ExcelProperty(value = "消费金额(元)", index = 1)
23
+    private String amount;
24
+
25
+
26
+    @ColumnWidth(15)
27
+    @ExcelProperty(value = "消费方式", index = 2)
28
+    private String consumeType;
29
+
30
+
31
+    @ColumnWidth(15)
32
+    @ExcelProperty(value = "活动名称", index = 3)
33
+    private String activityName;
34
+
35
+    @ColumnWidth(15)
36
+    @ExcelProperty(value = "消费下单时间", index = 4)
37
+    private String createDate;
38
+
39
+
40
+    @ColumnWidth(15)
41
+    @ExcelProperty(value = "接收人手机号码", index = 5)
42
+    private String phone;
43
+
44
+    @ColumnWidth(15)
45
+    @ExcelProperty(value = "消费状态", index = 6)
46
+    private String consumeStatus;
47
+}

+ 43
- 0
src/main/java/com/huiju/estateagents/excel/redPacket/AccountPayRecordExport.java Просмотреть файл

@@ -0,0 +1,43 @@
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/5 16:36
12
+ */
13
+@Data
14
+public class AccountPayRecordExport {
15
+
16
+    @ColumnWidth(15)
17
+    @ExcelProperty(value = "订单编号", index = 0)
18
+    private String tradeNo;
19
+
20
+
21
+    @ColumnWidth(15)
22
+    @ExcelProperty(value = "充值金额(元)", index = 1)
23
+    private String amount;
24
+
25
+
26
+    @ColumnWidth(15)
27
+    @ExcelProperty(value = "充值方式", index = 2)
28
+    private String isOffline;
29
+
30
+
31
+    @ColumnWidth(15)
32
+    @ExcelProperty(value = "下单时间", index = 3)
33
+    private String createDate;
34
+
35
+    @ColumnWidth(15)
36
+    @ExcelProperty(value = "充值方式", index = 4)
37
+    private String tradingStatus;
38
+
39
+
40
+    @ColumnWidth(15)
41
+    @ExcelProperty(value = "支付时间", index = 5)
42
+    private String payDate;
43
+}

+ 38
- 0
src/main/java/com/huiju/estateagents/excel/redPacket/AccountRefundRecordExport.java Просмотреть файл

@@ -0,0 +1,38 @@
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/5 16:36
12
+ */
13
+@Data
14
+public class AccountRefundRecordExport {
15
+
16
+    @ColumnWidth(15)
17
+    @ExcelProperty(value = "订单编号", index = 0)
18
+    private String tradeNo;
19
+
20
+
21
+    @ColumnWidth(15)
22
+    @ExcelProperty(value = "退款金额(元)", index = 1)
23
+    private String amount;
24
+
25
+
26
+    @ColumnWidth(15)
27
+    @ExcelProperty(value = "退款创建时间", index = 2)
28
+    private String createDate;
29
+
30
+
31
+    @ColumnWidth(15)
32
+    @ExcelProperty(value = "退款状态", index = 3)
33
+    private String tradingStatus;
34
+
35
+    @ColumnWidth(15)
36
+    @ExcelProperty(value = "驳回原因", index = 4)
37
+    private String auditResult;
38
+}

+ 37
- 0
src/main/java/com/huiju/estateagents/excel/redPacket/RedPacketRankingListExport.java Просмотреть файл

@@ -0,0 +1,37 @@
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 RedPacketRankingListExport {
15
+
16
+    @ColumnWidth(15)
17
+    @ExcelProperty(value = "昵称", index = 0)
18
+    private String nickname;
19
+
20
+
21
+    @ColumnWidth(15)
22
+    @ExcelProperty(value = "姓名", index = 1)
23
+    private String name;
24
+
25
+
26
+    @ColumnWidth(15)
27
+    @ExcelProperty(value = "手机号", index = 2)
28
+    private String phone;
29
+
30
+    @ColumnWidth(15)
31
+    @ExcelProperty(value = "发起时间", index = 3)
32
+    private String createDate;
33
+
34
+    @ColumnWidth(15)
35
+    @ExcelProperty(value = "助力人数", index = 4)
36
+    private String votes;
37
+}

+ 41
- 0
src/main/java/com/huiju/estateagents/excel/redPacket/RedPacketVisitRecordtExport.java Просмотреть файл

@@ -0,0 +1,41 @@
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
+    @ColumnWidth(15)
17
+    @ExcelProperty(value = "昵称", index = 0)
18
+    private String nickname;
19
+
20
+
21
+    @ColumnWidth(15)
22
+    @ExcelProperty(value = "姓名", index = 1)
23
+    private String name;
24
+
25
+
26
+    @ColumnWidth(15)
27
+    @ExcelProperty(value = "手机号", index = 2)
28
+    private String phone;
29
+
30
+    @ColumnWidth(15)
31
+    @ExcelProperty(value = "访问时间", index = 3)
32
+    private String createDate;
33
+
34
+    @ColumnWidth(15)
35
+    @ExcelProperty(value = "分享人昵称", index = 4)
36
+    private String sharePersonNickName;
37
+
38
+    @ColumnWidth(15)
39
+    @ExcelProperty(value = "分享人手机号", index = 5)
40
+    private String sharePersonPhone;
41
+}

+ 5
- 0
src/main/java/com/huiju/estateagents/interceptor/AccessInterceptor.java Просмотреть файл

@@ -17,6 +17,7 @@ import com.huiju.estateagents.service.ISysButtonInMenuService;
17 17
 import com.huiju.estateagents.service.ITaRoleButtonService;
18 18
 import com.huiju.estateagents.third.service.ITaThirdPartyMiniappConfigService;
19 19
 import io.jsonwebtoken.*;
20
+import lombok.extern.slf4j.Slf4j;
20 21
 import org.springframework.beans.factory.annotation.Autowired;
21 22
 import org.springframework.stereotype.Component;
22 23
 import org.springframework.web.servlet.HandlerInterceptor;
@@ -27,6 +28,7 @@ import javax.servlet.http.HttpServletResponse;
27 28
 import java.util.List;
28 29
 import java.util.Map;
29 30
 
31
+@Slf4j
30 32
 @Component
31 33
 public class AccessInterceptor implements HandlerInterceptor {
32 34
     
@@ -73,6 +75,8 @@ public class AccessInterceptor implements HandlerInterceptor {
73 75
             "/api/notify",//微信支付所有回调放过
74 76
             "/api/refund/",//微信退款所有回调放过
75 77
             "/api/fadd/",//所有的法大大回调放过
78
+            "/api/third",
79
+            "/api/third/redirect/"
76 80
     };
77 81
 
78 82
     /*
@@ -95,6 +99,7 @@ public class AccessInterceptor implements HandlerInterceptor {
95 99
 
96 100
     @Override
97 101
     public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object obj) throws Exception {
102
+        log.info("接口请求路径是{}",request.getRequestURI());
98 103
         //第三方权限校验
99 104
         String tokenHeader = request.getHeader("x-token");
100 105
         if (!StringUtils.isEmpty(tokenHeader)){

+ 55
- 0
src/main/java/com/huiju/estateagents/job/OrgOrderTimeJob.java Просмотреть файл

@@ -0,0 +1,55 @@
1
+package com.huiju.estateagents.job;//package com.huiju.estateagents.job;
2
+
3
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
4
+import com.huiju.estateagents.base.BaseController;
5
+import com.huiju.estateagents.common.CommConstant;
6
+import com.huiju.estateagents.common.DateUtils;
7
+import com.huiju.estateagents.redpack.entity.TaOrgOrder;
8
+import com.huiju.estateagents.redpack.mapper.TaOrgOrderMapper;
9
+import org.slf4j.Logger;
10
+import org.slf4j.LoggerFactory;
11
+import org.springframework.beans.factory.annotation.Autowired;
12
+import org.springframework.context.annotation.Configuration;
13
+import org.springframework.scheduling.annotation.EnableScheduling;
14
+import org.springframework.scheduling.annotation.Scheduled;
15
+import org.springframework.stereotype.Component;
16
+
17
+import java.time.LocalDateTime;
18
+
19
+/**
20
+ * 订单相关操作
21
+ */
22
+@Component
23
+@Configuration
24
+@EnableScheduling
25
+public class OrgOrderTimeJob extends BaseController {
26
+
27
+    private Logger logger = LoggerFactory.getLogger(OrgOrderTimeJob.class);
28
+
29
+    @Autowired
30
+    private TaOrgOrderMapper taOrgOrderMapper;
31
+
32
+    /**
33
+     * 处理过期订单
34
+     */
35
+    @Scheduled(cron = "0 0/5 * * * ?")
36
+    private void dealExpireOrder() {
37
+        logger.info("处理过期订单 定时任务开始");
38
+
39
+        try {
40
+            TaOrgOrder taOrgOrder = new TaOrgOrder();
41
+            taOrgOrder.setTradingStatus(CommConstant.TRADING_STATUS_FAIL);
42
+
43
+            UpdateWrapper<TaOrgOrder> taOrgOrderUpdateWrapper = new UpdateWrapper<>();
44
+            taOrgOrderUpdateWrapper.eq("status", CommConstant.STATUS_NORMAL);
45
+            taOrgOrderUpdateWrapper.lt("expiry_date", DateUtils.localDateTimeToString(LocalDateTime.now()));
46
+            taOrgOrderUpdateWrapper.eq("trading_status",CommConstant.TRADING_STATUS_PROCESSING);
47
+            Integer result = taOrgOrderMapper.update(taOrgOrder, taOrgOrderUpdateWrapper);
48
+            logger.info("处理过期订单 共更新" + result + "条数据");
49
+        } catch (Exception e) {
50
+            logger.error("处理过期订单 异常", e);
51
+        }
52
+        logger.info("处理过期订单 定时任务结束");
53
+    }
54
+
55
+}

+ 33
- 0
src/main/java/com/huiju/estateagents/mapper/TaChannelMapper.java Просмотреть файл

@@ -3,9 +3,16 @@ package com.huiju.estateagents.mapper;
3 3
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4 4
 import com.baomidou.mybatisplus.core.metadata.IPage;
5 5
 import com.huiju.estateagents.entity.TaChannel;
6
+import com.huiju.estateagents.entity.TaPersonBuilding;
7
+import com.huiju.estateagents.entity.TsActivityDaily;
8
+import com.huiju.estateagents.excel.ActivityStatistics.ChannelAddRegistNum;
9
+import com.huiju.estateagents.excel.ActivityStatistics.ChannelVisitNum;
10
+import com.huiju.estateagents.excel.ActivityStatistics.ChannelVisitPersonNum;
11
+import com.huiju.estateagents.excel.ActivityStatistics.TsChannelDaily;
6 12
 import org.apache.ibatis.annotations.Mapper;
7 13
 import org.apache.ibatis.annotations.Param;
8 14
 
15
+import java.time.LocalDate;
9 16
 import java.util.List;
10 17
 
11 18
 /**
@@ -39,4 +46,30 @@ public interface TaChannelMapper extends BaseMapper<TaChannel> {
39 46
     IPage<TaChannel> pageTaChannel(IPage<TaChannel> pg,@Param("orgId")Integer orgId,@Param("channelId")Integer channelId);
40 47
 
41 48
     List<TaChannel> recommendCount(@Param("orgId")Integer orgId,@Param("channelId")Integer channelId);
49
+
50
+    /**
51
+     * 渠道引进客户统计
52
+     * @param pg
53
+     * @param orgId
54
+     * @param startDate
55
+     * @param endDate
56
+     * @param channelType
57
+     * @param buildingId
58
+     * @return
59
+     */
60
+    IPage<TsActivityDaily> getChannelIntroductionList(IPage<TsActivityDaily> pg, @Param("orgId") Integer orgId, @Param("startDate") LocalDate startDate, @Param("endDate") LocalDate endDate, @Param("channelType") String channelType, @Param("buildingId") String buildingId, @Param("channelId") Integer channelId, @Param("sortField") String sortField, @Param("orderType") String orderType, @Param("taPersonBuildings") List<TaPersonBuilding> taPersonBuildings);
61
+
62
+    IPage<ChannelAddRegistNum> getChannelNewuserList(IPage<ChannelAddRegistNum> iPage, @Param("orgId") Integer orgId, @Param("channelId") Integer channelId, @Param("activityId") String activityId, @Param("activityType") String activityType, @Param("buildingId") String buildingId,@Param("startDate") LocalDate startDate,@Param("endDate") LocalDate endDate);
63
+
64
+    IPage<ChannelVisitNum> getChannelVisitNumList(IPage<ChannelVisitNum> iPage,@Param("orgId") Integer orgId,@Param("channelId") Integer channelId,@Param("targetId") String targetId,@Param("targetType") String targetType,@Param("buildingId") String buildingId,@Param("startDate") LocalDate startDate,@Param("endDate") LocalDate endDate);
65
+
66
+    IPage<ChannelVisitPersonNum> getChannelPersonNumList(IPage<ChannelVisitPersonNum> iPage,@Param("orgId") Integer orgId,@Param("channelId") Integer channelId,@Param("targetId") String targetId,@Param("targetType") String targetType,@Param("buildingId") String buildingId,@Param("startDate") LocalDate startDate,@Param("endDate") LocalDate endDate);
67
+
68
+    List<TsChannelDaily> getChannelIntroductionListExport(@Param("orgId") Integer orgId,@Param("startDate") LocalDate startDate,@Param("endDate") LocalDate endDate,@Param("channelType") String channelType,@Param("buildingId") String buildingId,@Param("channelId") Integer channelId,@Param("taPersonBuildings") List<TaPersonBuilding> taPersonBuildings);
69
+
70
+    List<ChannelAddRegistNum> getChannelNewuserListExport( @Param("orgId") Integer orgId, @Param("channelId") Integer channelId, @Param("activityId") String activityId, @Param("activityType") String activityType, @Param("buildingId") String buildingId,@Param("startDate") LocalDate startDate,@Param("endDate") LocalDate endDate);
71
+
72
+    List<ChannelVisitNum> getChannelVisitNumListExport(@Param("orgId") Integer orgId,@Param("channelId") Integer channelId,@Param("targetId") String targetId,@Param("targetType") String targetType,@Param("buildingId") String buildingId,@Param("startDate") LocalDate startDate,@Param("endDate") LocalDate endDate);
73
+
74
+    List<ChannelVisitPersonNum> getChannelPersonNumListExport(@Param("orgId") Integer orgId,@Param("channelId") Integer channelId,@Param("targetId") String targetId,@Param("targetType") String targetType,@Param("buildingId") String buildingId,@Param("startDate") LocalDate startDate,@Param("endDate") LocalDate endDate);
42 75
 }

+ 9
- 1
src/main/java/com/huiju/estateagents/mapper/TaLiveActivityMapper.java Просмотреть файл

@@ -30,7 +30,15 @@ public interface TaLiveActivityMapper extends BaseMapper<TaLiveActivity> {
30 30
      */
31 31
     Boolean addVisitNum(@Param("id") String id);
32 32
 
33
-    IPage<TaLiveActivity> selectLiveListByCondition(IPage<TaLiveActivity> pg, @Param("liveActivityTitle") String liveActivityTitle, @Param("cityId") String cityId, @Param("buildingId") String buildingId, @Param("status") Integer status, @Param("orgId") Integer orgId,@Param("personBuildingList") List<TaPersonBuilding> personBuildingList, @Param("userId") Integer userId);
33
+    IPage<TaLiveActivity> selectLiveListByCondition(IPage<TaLiveActivity> pg,
34
+                                                    @Param("liveActivityTitle") String liveActivityTitle,
35
+                                                    @Param("cityId") String cityId,
36
+                                                    @Param("buildingId") String buildingId,
37
+                                                    @Param("status") Integer status,
38
+                                                    @Param("orgId") Integer orgId,
39
+                                                    @Param("personBuildingList") List<TaPersonBuilding> personBuildingList,
40
+                                                    @Param("userId") Integer userId,
41
+                                                    @Param("source") Integer source);
34 42
     /**
35 43
      * 批量更新直播活动状态
36 44
      *

+ 2
- 0
src/main/java/com/huiju/estateagents/mapper/TaMiniappMapper.java Просмотреть файл

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4 4
 import com.huiju.estateagents.entity.TaMiniapp;
5 5
 import com.huiju.estateagents.entity.TaMiniappTemplate;
6 6
 import org.apache.ibatis.annotations.Mapper;
7
+import org.springframework.stereotype.Component;
7 8
 
8 9
 import java.util.List;
9 10
 
@@ -16,6 +17,7 @@ import java.util.List;
16 17
  * @since 2019-09-11
17 18
  */
18 19
 @Mapper
20
+@Component
19 21
 public interface TaMiniappMapper extends BaseMapper<TaMiniapp> {
20 22
 
21 23
     List<TaMiniapp> getAllAvaliableMiniapps();

+ 1
- 0
src/main/java/com/huiju/estateagents/mapper/TaPersonBuildingMapper.java Просмотреть файл

@@ -26,4 +26,5 @@ public interface TaPersonBuildingMapper extends BaseMapper<TaPersonBuilding> {
26 26
     List<SalesExport> selectSalesList(@Param("orgId") Integer orgId,@Param("buildingId") String buildingId, @Param("startCreateDate")  String startCreateDate,@Param("endCreateDate") String endCreateDate, @Param("personBuildingList") List<TaPersonBuilding> taPersonBuildingList);
27 27
 
28 28
     List<TaBuilding> getBuildingsOf(@Param("personOrUser") String personOrUser);
29
+
29 30
 }

+ 92
- 0
src/main/java/com/huiju/estateagents/mapper/TaQrcodeMapper.java Просмотреть файл

@@ -0,0 +1,92 @@
1
+package com.huiju.estateagents.mapper;
2
+
3
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4
+import com.baomidou.mybatisplus.core.metadata.IPage;
5
+import com.huiju.estateagents.bo.request.QrCodeStatisticResponseBO;
6
+import com.huiju.estateagents.entity.TaPersonBuilding;
7
+import com.huiju.estateagents.entity.TaPersonVisitRecord;
8
+import com.huiju.estateagents.entity.TaQrcode;
9
+import com.huiju.estateagents.excel.QrCodeStatistics.QrCodeNewPersonNum;
10
+import com.huiju.estateagents.excel.QrCodeStatistics.QrCodeVisitNum;
11
+import com.huiju.estateagents.excel.QrCodeStatistics.QrCodeVisitPersonNum;
12
+import org.apache.ibatis.annotations.Mapper;
13
+import org.apache.ibatis.annotations.Param;
14
+import org.springframework.stereotype.Component;
15
+
16
+import java.util.List;
17
+
18
+/**
19
+ * <p>
20
+ * 二维码管理表 Mapper 接口
21
+ * </p>
22
+ *
23
+ * @author fxf
24
+ * @since 2020-05-20
25
+ */
26
+@Mapper
27
+@Component
28
+public interface TaQrcodeMapper extends BaseMapper<TaQrcode> {
29
+
30
+    QrCodeStatisticResponseBO getStatisticData(@Param("orgId") Integer orgId);
31
+
32
+    IPage<TaQrcode> listQrCodeByCondition(IPage<TaQrcode> page,
33
+                                          @Param("targetType") String targetType,
34
+                                          @Param("targetName") String targetName,
35
+                                          @Param("channelId") Integer channelId,
36
+                                          @Param("buildingId") String buildingId,
37
+                                          @Param("userId") Integer userId,
38
+                                          @Param("orgId") Integer orgId,
39
+                                          @Param("personBuildingList") List<TaPersonBuilding> personBuildingList);
40
+
41
+    /**
42
+     * 获取访问用户人数
43
+     *
44
+     * @param qrCodeId
45
+     * @param orgId
46
+     * @return
47
+     */
48
+    Integer getVisitPersons(@Param("qrCodeId") Integer qrCodeId,
49
+                            @Param("orgId") Integer orgId);
50
+
51
+    /**
52
+     * 获取访问次数
53
+     *
54
+     * @param qrCodeId
55
+     * @param orgId
56
+     * @return
57
+     */
58
+    Integer getVisitNum(@Param("qrCodeId") Integer qrCodeId,
59
+                        @Param("orgId") Integer orgId);
60
+
61
+    /**
62
+     * 获取新增用户数
63
+     *
64
+     * @param qrCodeId
65
+     * @param orgId
66
+     * @return
67
+     */
68
+    Integer getNewPersons(@Param("qrCodeId") Integer qrCodeId,
69
+                          @Param("orgId") Integer orgId);
70
+
71
+    IPage<TaPersonVisitRecord> getVisitPersonsRecord(IPage<TaPersonVisitRecord> page,
72
+                                                     @Param("qrCodeId") Integer qrCodeId,
73
+                                                     @Param("orgId") Integer orgId);
74
+
75
+    IPage<TaPersonVisitRecord> getVisitNumRecord(IPage<TaPersonVisitRecord> page,
76
+                                                 @Param("qrCodeId") Integer qrCodeId,
77
+                                                 @Param("orgId") Integer orgId);
78
+
79
+    IPage<TaPersonVisitRecord> getNewPersonsRecord(IPage<TaPersonVisitRecord> page,
80
+                                                   @Param("qrCodeId") Integer qrCodeId,
81
+                                                   @Param("orgId") Integer orgId);
82
+
83
+    List<QrCodeVisitPersonNum> getVisitPersonsRecordExport(@Param("qrCodeId") Integer qrCodeId,
84
+                                                           @Param("orgId") Integer orgId);
85
+
86
+
87
+    List<QrCodeVisitNum> getVisitNumRecordExport(@Param("qrCodeId") Integer qrCodeId,
88
+                                                 @Param("orgId") Integer orgId);
89
+
90
+    List<QrCodeNewPersonNum> getNewPersonsRecordExport(@Param("qrCodeId") Integer qrCodeId,
91
+                                                       @Param("orgId") Integer orgId);
92
+}

+ 83
- 27
src/main/java/com/huiju/estateagents/mapper/TaRecommendCustomerMapper.java Просмотреть файл

@@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
9 9
 import com.huiju.estateagents.excel.*;
10 10
 import org.apache.ibatis.annotations.Mapper;
11 11
 import org.apache.ibatis.annotations.Param;
12
+import org.springframework.web.bind.annotation.RequestParam;
12 13
 
13 14
 import java.time.LocalDateTime;
14 15
 import java.util.List;
@@ -27,19 +28,23 @@ public interface TaRecommendCustomerMapper extends BaseMapper<TaRecommendCustome
27 28
 
28 29
     Integer getMyCutsomerNum(@Param("personId") String personId);
29 30
 
30
-    String getCustomerPersonId(@Param("customerId")String customerId);
31
+    String getCustomerPersonId(@Param("customerId") String customerId);
31 32
 
32
-    TaRecommendCustomer getCustomerDetail(@Param("customerId")String customerId,@Param("personId")String personId);
33
+    TaRecommendCustomer getCustomerDetail(@Param("customerId") String customerId, @Param("personId") String personId);
33 34
 
34
-    TaRecommendCustomer getCustomerById(@Param("customerId")String customerId);
35
+    TaRecommendCustomer getCustomerById(@Param("customerId") String customerId);
35 36
 
36
-    IPage<TaRecommendCustomer> getCustomerList(IPage<TaRecommendCustomer> page,@Param("building") String building, @Param("name") String name, @Param("tel") String tel, @Param("consultName") String consultName, @Param("consultTel") String consultTel,@Param("entryType") String entryType,@Param("verifyStatus") String verifyStatus,@Param("sex") Integer sex, @Param("orgId") Integer orgId,@Param("status")Integer status, @Param("personBuildingList") List<TaPersonBuilding> personBuildingList,@Param("sceneType") String sceneType, @Param("startCreateDate") String startCreateDate, @Param("endCreateDate") String endCreateDate, @Param("sharePersonName") String sharePersonName);
37
-    IPage<TaRecommendCustomer> getRecCustomerList(IPage<TaRecommendCustomer> page,@Param("building") String building, @Param("name") String name, @Param("tel") String tel, @Param("consultName") String consultName, @Param("consultTel") String consultTel,@Param("entryType") String entryType,@Param("verifyStatus") String verifyStatus,@Param("sex") Integer sex, @Param("orgId") Integer orgId, @Param("personBuildingList") List<TaPersonBuilding> personBuildingList);
38
-    IPage<TaRecommendCustomer> getRepCustomerList(IPage<TaRecommendCustomer> page,@Param("building") String building, @Param("name") String name, @Param("tel") String tel, @Param("consultName") String consultName, @Param("consultTel") String consultTel,@Param("entryType") String entryType,@Param("verifyStatus") String verifyStatus,@Param("sex") Integer sex, @Param("orgId") Integer orgId, @Param("personBuildingList") List<TaPersonBuilding> personBuildingList);
39
-    IPage<TaPerson> getIndependentAgents(IPage<TaPerson>page, @Param("name") String name, @Param("tel") String tel, @Param("channelId") String channelId, @Param("orgId") Integer orgId);
37
+    IPage<TaRecommendCustomer> getCustomerList(IPage<TaRecommendCustomer> page, @Param("building") String building, @Param("name") String name, @Param("tel") String tel, @Param("consultName") String consultName, @Param("consultTel") String consultTel, @Param("entryType") String entryType, @Param("verifyStatus") String verifyStatus, @Param("sex") Integer sex, @Param("orgId") Integer orgId, @Param("status") Integer status, @Param("personBuildingList") List<TaPersonBuilding> personBuildingList, @Param("sceneType") String sceneType, @Param("startCreateDate") String startCreateDate, @Param("endCreateDate") String endCreateDate, @Param("sharePersonName") String sharePersonName);
38
+
39
+    IPage<TaRecommendCustomer> getRecCustomerList(IPage<TaRecommendCustomer> page, @Param("building") String building, @Param("name") String name, @Param("tel") String tel, @Param("consultName") String consultName, @Param("consultTel") String consultTel, @Param("entryType") String entryType, @Param("verifyStatus") String verifyStatus, @Param("sex") Integer sex, @Param("orgId") Integer orgId, @Param("personBuildingList") List<TaPersonBuilding> personBuildingList);
40
+
41
+    IPage<TaRecommendCustomer> getRepCustomerList(IPage<TaRecommendCustomer> page, @Param("building") String building, @Param("name") String name, @Param("tel") String tel, @Param("consultName") String consultName, @Param("consultTel") String consultTel, @Param("entryType") String entryType, @Param("verifyStatus") String verifyStatus, @Param("sex") Integer sex, @Param("orgId") Integer orgId, @Param("personBuildingList") List<TaPersonBuilding> personBuildingList);
42
+
43
+    IPage<TaPerson> getIndependentAgents(IPage<TaPerson> page, @Param("name") String name, @Param("tel") String tel, @Param("channelId") String channelId, @Param("orgId") Integer orgId);
40 44
 
41 45
     /**
42 46
      * 公客
47
+     *
43 48
      * @param page
44 49
      * @param name
45 50
      * @param tel
@@ -67,34 +72,39 @@ public interface TaRecommendCustomerMapper extends BaseMapper<TaRecommendCustome
67 72
 
68 73
     /**
69 74
      * 导出数据 获取推荐用户数据
75
+     *
70 76
      * @param orgId
71 77
      * @return
72 78
      */
73
-    List<ExcelRecommendCustomer> getRecCustomerExport(@Param("orgId") Integer orgId, @Param("pageCode") Integer pageCode, @Param("pageSize") Integer pageSize,@Param("personBuildingList") List<TaPersonBuilding> personBuildingList);
79
+    List<ExcelRecommendCustomer> getRecCustomerExport(@Param("orgId") Integer orgId, @Param("pageCode") Integer pageCode, @Param("pageSize") Integer pageSize, @Param("personBuildingList") List<TaPersonBuilding> personBuildingList);
74 80
 
75 81
     /**
76 82
      * 导出数据 获取推荐用户数据 总数
83
+     *
77 84
      * @param orgId
78 85
      * @return
79 86
      */
80
-    Integer getRecCustomerExportCount(@Param("orgId") Integer orgId,@Param("personBuildingList") List<TaPersonBuilding> personBuildingList);
87
+    Integer getRecCustomerExportCount(@Param("orgId") Integer orgId, @Param("personBuildingList") List<TaPersonBuilding> personBuildingList);
81 88
 
82 89
     /**
83 90
      * 导出数据 获取报备客户数据 总数
91
+     *
84 92
      * @param orgId
85 93
      * @return
86 94
      */
87
-    Integer getRepCustomerReportCount(@Param("building") String building, @Param("name") String name, @Param("tel") String tel, @Param("consultName") String consultName, @Param("consultTel") String consultTel,@Param("entryType") String entryType,@Param("verifyStatus") String verifyStatus,@Param("sex") Integer sex,@Param("orgId")Integer orgId,@Param("personBuildingList") List<TaPersonBuilding> personBuildingList);
95
+    Integer getRepCustomerReportCount(@Param("building") String building, @Param("name") String name, @Param("tel") String tel, @Param("consultName") String consultName, @Param("consultTel") String consultTel, @Param("entryType") String entryType, @Param("verifyStatus") String verifyStatus, @Param("sex") Integer sex, @Param("orgId") Integer orgId, @Param("personBuildingList") List<TaPersonBuilding> personBuildingList);
88 96
 
89 97
     /**
90 98
      * 导出数据 获取报备客户数据
99
+     *
91 100
      * @param orgId
92 101
      * @return
93 102
      */
94
-    List<ReporRecommendCustomer> getRepCustomerReportExport(@Param("building") String building, @Param("name") String name, @Param("tel") String tel, @Param("consultName") String consultName, @Param("consultTel") String consultTel,@Param("entryType") String entryType,@Param("verifyStatus") String verifyStatus,@Param("sex") Integer sex, @Param("orgId") Integer orgId, @Param("pageCode") Integer pageCode, @Param("pageSize") Integer pageSize,@Param("personBuildingList") List<TaPersonBuilding> personBuildingList);
103
+    List<ReporRecommendCustomer> getRepCustomerReportExport(@Param("building") String building, @Param("name") String name, @Param("tel") String tel, @Param("consultName") String consultName, @Param("consultTel") String consultTel, @Param("entryType") String entryType, @Param("verifyStatus") String verifyStatus, @Param("sex") Integer sex, @Param("orgId") Integer orgId, @Param("pageCode") Integer pageCode, @Param("pageSize") Integer pageSize, @Param("personBuildingList") List<TaPersonBuilding> personBuildingList);
95 104
 
96 105
     /**
97 106
      * 导出数据 获取经纪人数据 总数
107
+     *
98 108
      * @param orgId
99 109
      * @return
100 110
      */
@@ -102,15 +112,17 @@ public interface TaRecommendCustomerMapper extends BaseMapper<TaRecommendCustome
102 112
 
103 113
     /**
104 114
      * 导出数据 获取经纪人数据
115
+     *
105 116
      * @param orgId
106 117
      * @param pageCode
107 118
      * @param pageSize
108 119
      * @return
109 120
      */
110
-    List<AgentsRecommendCustomer> getIndependentAgentsExport(@Param("name")String name, @Param("tel")String tel, @Param("channelId")String channelId, @Param("orgId") Integer orgId, @Param("pageCode") Integer pageCode, @Param("pageSize") Integer pageSize);
121
+    List<AgentsRecommendCustomer> getIndependentAgentsExport(@Param("name") String name, @Param("tel") String tel, @Param("channelId") String channelId, @Param("orgId") Integer orgId, @Param("pageCode") Integer pageCode, @Param("pageSize") Integer pageSize);
111 122
 
112 123
     /**
113 124
      * 导出数据 公客总数
125
+     *
114 126
      * @param name
115 127
      * @param tel
116 128
      * @param entryType
@@ -120,10 +132,11 @@ public interface TaRecommendCustomerMapper extends BaseMapper<TaRecommendCustome
120 132
      * @param consultTel
121 133
      * @return
122 134
      */
123
-    Integer getPublicCustomerExportListCount(@Param("name") String name, @Param("tel") String tel,@Param("entryType") String entryType,@Param("verifyStatus") String verifyStatus,@Param("sex") Integer sex, @Param("orgId") Integer orgId,@Param("consultTel")String consultTel);
135
+    Integer getPublicCustomerExportListCount(@Param("name") String name, @Param("tel") String tel, @Param("entryType") String entryType, @Param("verifyStatus") String verifyStatus, @Param("sex") Integer sex, @Param("orgId") Integer orgId, @Param("consultTel") String consultTel);
124 136
 
125 137
     /**
126 138
      * 导出数据 公客
139
+     *
127 140
      * @param name
128 141
      * @param tel
129 142
      * @param entryType
@@ -135,20 +148,23 @@ public interface TaRecommendCustomerMapper extends BaseMapper<TaRecommendCustome
135 148
      */
136 149
     List<PublicCustomerExport> getPublicCustomerExportList(@Param("pageCode") Integer pageCode,
137 150
                                                            @Param("pageSize") Integer pageSize,
138
-                                                           @Param("buildingId")String buildingId,
151
+                                                           @Param("buildingId") String buildingId,
139 152
                                                            @Param("name") String name,
140 153
                                                            @Param("tel") String tel,
141 154
                                                            @Param("entryType") String entryType,
142 155
                                                            @Param("verifyStatus") String verifyStatus,
143 156
                                                            @Param("sex") Integer sex,
144 157
                                                            @Param("orgId") Integer orgId,
145
-                                                           @Param("consultTel")String consultTel,
146
-                                                           @Param("sceneType")String sceneType,
158
+                                                           @Param("consultTel") String consultTel,
159
+                                                           @Param("sceneType") String sceneType,
147 160
                                                            @Param("personBuildingList") List<TaPersonBuilding> personBuildingList,
148
-                                                           @Param("belongStatus") Integer belongStatus);
161
+                                                           @Param("belongStatus") Integer belongStatus,
162
+                                                           @Param("startCreateDate") String startCreateDate,
163
+                                                           @Param("endCreateDate") String endCreateDate);
149 164
 
150 165
     /**
151 166
      * 导出数据 私客总数
167
+     *
152 168
      * @param buildingId
153 169
      * @param name
154 170
      * @param tel
@@ -161,10 +177,11 @@ public interface TaRecommendCustomerMapper extends BaseMapper<TaRecommendCustome
161 177
      * @param status
162 178
      * @return
163 179
      */
164
-    Integer getCustomerExportListCount(@Param("building") String buildingId, @Param("name") String name, @Param("tel") String tel, @Param("consultName") String consultName, @Param("consultTel") String consultTel,@Param("entryType") String entryType,@Param("verifyStatus") String verifyStatus,@Param("sex") Integer sex, @Param("orgId") Integer orgId,@Param("status")Integer status,@Param("personBuildingList") List<TaPersonBuilding> personBuildingList);
180
+    Integer getCustomerExportListCount(@Param("building") String buildingId, @Param("name") String name, @Param("tel") String tel, @Param("consultName") String consultName, @Param("consultTel") String consultTel, @Param("entryType") String entryType, @Param("verifyStatus") String verifyStatus, @Param("sex") Integer sex, @Param("orgId") Integer orgId, @Param("status") Integer status, @Param("personBuildingList") List<TaPersonBuilding> personBuildingList);
165 181
 
166 182
     /**
167 183
      * 导出数据 私客
184
+     *
168 185
      * @param pageCode
169 186
      * @param pageSize
170 187
      * @param buildingId
@@ -179,18 +196,35 @@ public interface TaRecommendCustomerMapper extends BaseMapper<TaRecommendCustome
179 196
      * @param status
180 197
      * @return
181 198
      */
182
-    List<PrivateCustomerExport> getCustomerExportList(@Param("pageCode") Integer pageCode, @Param("pageSize") Integer pageSize, @Param("building") String buildingId, @Param("name") String name, @Param("tel") String tel, @Param("consultName") String consultName, @Param("consultTel") String consultTel, @Param("entryType") String entryType, @Param("verifyStatus") String verifyStatus, @Param("sex") Integer sex, @Param("orgId") Integer orgId, @Param("status")Integer status,@Param("sceneType") String sceneType,@Param("personBuildingList") List<TaPersonBuilding> personBuildingList);
183
-    
199
+    List<PrivateCustomerExport> getCustomerExportList(@Param("pageCode") Integer pageCode,
200
+                                                      @Param("pageSize") Integer pageSize,
201
+                                                      @Param("building") String buildingId,
202
+                                                      @Param("name") String name,
203
+                                                      @Param("tel") String tel,
204
+                                                      @Param("consultName") String consultName,
205
+                                                      @Param("consultTel") String consultTel,
206
+                                                      @Param("entryType") String entryType,
207
+                                                      @Param("verifyStatus") String verifyStatus,
208
+                                                      @Param("sex") Integer sex,
209
+                                                      @Param("orgId") Integer orgId,
210
+                                                      @Param("status") Integer status,
211
+                                                      @Param("sceneType") String sceneType,
212
+                                                      @Param("startCreateDate") String startCreateDate,
213
+                                                      @Param("endCreateDate") String endCreateDate,
214
+                                                      @Param("personBuildingList") List<TaPersonBuilding> personBuildingList);
215
+
184 216
     /**
185 217
      * 获取我的客户的人数统计
218
+     *
186 219
      * @param personId
187 220
      * @param userId
188 221
      * @return
189 222
      */
190
-	Map<String, Object> getMyCustStatistics(@Param("personId") String personId,@Param("userId") Integer userId,@Param("orgId") Integer orgId);
191
-    
223
+    Map<String, Object> getMyCustStatistics(@Param("personId") String personId, @Param("userId") Integer userId, @Param("orgId") Integer orgId);
224
+
192 225
     /**
193 226
      * 获取我的跟进客户数据
227
+     *
194 228
      * @param page
195 229
      * @param personId
196 230
      * @param userId
@@ -205,19 +239,30 @@ public interface TaRecommendCustomerMapper extends BaseMapper<TaRecommendCustome
205 239
      * @param endArrivalDate
206 240
      * @return
207 241
      */
208
-    IPage<TaRecommendCustomer> getMyCustFollowOrClinch(IPage<TaRecommendCustomer> page, @Param("personId") String personId, @Param("userId") Integer userId, @Param("orgId") Integer orgId, @Param("type") String type, @Param("name") String name, @Param("phone") String phone, @Param("status") Integer status,@Param("startReportDate") String startReportDate,@Param("endReportDate") String endReportDate,@Param("startArrivalDate") String startArrivalDate,@Param("endArrivalDate") String endArrivalDate);
209
-    
242
+    IPage<TaRecommendCustomer> getMyCustFollowOrClinch(IPage<TaRecommendCustomer> page, @Param("personId") String personId, @Param("userId") Integer userId, @Param("orgId") Integer orgId, @Param("type") String type, @Param("name") String name, @Param("phone") String phone, @Param("status") Integer status, @Param("startReportDate") String startReportDate, @Param("endReportDate") String endReportDate, @Param("startArrivalDate") String startArrivalDate, @Param("endArrivalDate") String endArrivalDate);
243
+
210 244
     /**
211 245
      * 获取我的客户详情数据
246
+     *
212 247
      * @param customerId
213 248
      * @return
214 249
      */
215 250
     TaRecommendCustomer getMyCustDetailById(String customerId);
216 251
 
217
-    List<PersonIntention> getCustomerIntentions(@Param("personId")String personId,@Param("personBuildingList") List<TaPersonBuilding> personBuildingList);
252
+    List<PersonIntention> getCustomerIntentions(@Param("personId") String personId, @Param("personBuildingList") List<TaPersonBuilding> personBuildingList);
218 253
 
219
-    IPage<TaRecommendCustomer>getCustomersIRecommended(IPage<TaRecommendCustomer> page,@Param("customerId")String customerId,@Param("status")Integer status,@Param("orgId") Integer orgId,@Param("personBuildingList") List<TaPersonBuilding> personBuildingList);
254
+    IPage<TaRecommendCustomer> getCustomersIRecommended(IPage<TaRecommendCustomer> page, @Param("customerId") String customerId, @Param("status") Integer status, @Param("orgId") Integer orgId, @Param("personBuildingList") List<TaPersonBuilding> personBuildingList);
220 255
 
256
+    /**
257
+     * @param page
258
+     * @param orgId
259
+     * @param userId
260
+     * @param buildingId
261
+     * @param startDate
262
+     * @param endDate
263
+     * @param personId
264
+     * @return
265
+     */
221 266
     IPage<TaRecommendCustomer> getCustomerListOfConsultant(IPage<TaRecommendCustomer> page,
222 267
                                                            @Param("orgId") Integer orgId,
223 268
                                                            @Param("userId") String userId,
@@ -230,6 +275,7 @@ public interface TaRecommendCustomerMapper extends BaseMapper<TaRecommendCustome
230 275
      * 查询 person 对应 楼盘 的客户
231 276
      * 如果对应的楼盘没有客户, 则返回无楼盘的, 小程序级别的客户信息
232 277
      * 如果没有无小程序级别客户, 则返回最早的一条
278
+     *
233 279
      * @param orgId
234 280
      * @param personId
235 281
      * @param buildingId
@@ -239,12 +285,22 @@ public interface TaRecommendCustomerMapper extends BaseMapper<TaRecommendCustome
239 285
 
240 286
     /**
241 287
      * 获取置业福问下的客户
288
+     *
242 289
      * @param userId
243 290
      * @param personId
244 291
      * @param buildingId
245 292
      * @param orgId
246 293
      * @return
247 294
      */
248
-    List<TaRecommendCustomer> getConsultantCustomerList(@Param("userId") Integer userId,@Param("personId") String personId,@Param("buildingId") String buildingId,@Param("orgId") Integer orgId);
295
+    List<TaRecommendCustomer> getConsultantCustomerList(@Param("userId") Integer userId, @Param("personId") String personId, @Param("buildingId") String buildingId, @Param("orgId") Integer orgId);
249 296
 
297
+    /**
298
+     * 校验客户存在记录
299
+     * @param orgId
300
+     * @param personId
301
+     * @param consultBuildingIds
302
+     * @param buildingId
303
+     * @return
304
+     */
305
+    Map<String, Number> checkCustomerBy(@Param("orgId") Integer orgId, @Param("personId") String personId, @Param("consultBuildingIds") List<String> consultBuildingIds, @Param("buildingId") String buildingId);
250 306
 }

+ 150
- 0
src/main/java/com/huiju/estateagents/redpack/controller/TaH5ImagesController.java Просмотреть файл

@@ -0,0 +1,150 @@
1
+package com.huiju.estateagents.redpack.controller;
2
+
3
+import org.slf4j.Logger;
4
+import org.slf4j.LoggerFactory;
5
+import org.springframework.beans.factory.annotation.Autowired;
6
+import org.springframework.web.bind.annotation.PathVariable;
7
+import org.springframework.web.bind.annotation.RequestBody;
8
+import org.springframework.web.bind.annotation.RequestMapping;
9
+import org.springframework.web.bind.annotation.RequestMethod;
10
+import org.springframework.web.bind.annotation.RequestParam;
11
+import org.springframework.web.bind.annotation.ResponseBody;
12
+import org.springframework.web.bind.annotation.RestController;
13
+
14
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
15
+import com.baomidou.mybatisplus.core.metadata.IPage;
16
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
17
+import com.huiju.estateagents.base.BaseController;
18
+import com.huiju.estateagents.base.ResponseBean;
19
+import com.huiju.estateagents.redpack.entity.TaH5Images;
20
+import com.huiju.estateagents.redpack.service.ITaH5ImagesService;
21
+
22
+/**
23
+ * <p>
24
+    * H5图片列表  前端控制器
25
+    * </p>
26
+ *
27
+ * @author fxf
28
+ * @since 2020-06-03
29
+ */
30
+@RestController
31
+@RequestMapping("/")
32
+public class TaH5ImagesController extends BaseController {
33
+
34
+    private final Logger logger = LoggerFactory.getLogger(TaH5ImagesController.class);
35
+
36
+    @Autowired
37
+    public ITaH5ImagesService iTaH5ImagesService;
38
+
39
+
40
+    /**
41
+     * 分页查询列表
42
+     * @param pageNum
43
+     * @param pageSize
44
+     * @return
45
+     */
46
+    @RequestMapping(value="/taH5Images",method= RequestMethod.GET)
47
+    public ResponseBean taH5ImagesList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
48
+									 @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize){
49
+        ResponseBean responseBean = new ResponseBean();
50
+        try {
51
+            //使用分页插件
52
+		    IPage<TaH5Images> pg = new Page<>(pageNum, pageSize);
53
+            QueryWrapper<TaH5Images> queryWrapper = new QueryWrapper<>();
54
+            queryWrapper.orderByDesc("create_date");
55
+
56
+            IPage<TaH5Images> result = iTaH5ImagesService.page(pg, queryWrapper);
57
+            responseBean.addSuccess(result);
58
+        }catch (Exception e){
59
+            e.printStackTrace();
60
+            logger.error("taH5ImagesList -=- {}",e.toString());
61
+            responseBean.addError(e.getMessage());
62
+        }
63
+        return responseBean;
64
+    }
65
+
66
+    /**
67
+     * 保存对象
68
+     * @param taH5Images 实体对象
69
+     * @return
70
+     */
71
+    @RequestMapping(value="/taH5Images",method= RequestMethod.POST)
72
+    public ResponseBean taH5ImagesAdd(@RequestBody TaH5Images taH5Images){
73
+        ResponseBean responseBean = new ResponseBean();
74
+        try {
75
+            if (iTaH5ImagesService.save(taH5Images)){
76
+                responseBean.addSuccess(taH5Images);
77
+            }else {
78
+                responseBean.addError("fail");
79
+            }
80
+        }catch (Exception e){
81
+            e.printStackTrace();
82
+            logger.error("taH5ImagesAdd -=- {}",e.toString());
83
+            responseBean.addError(e.getMessage());
84
+        }
85
+        return responseBean;
86
+    }
87
+
88
+    /**
89
+     * 根据id删除对象
90
+     * @param id  实体ID
91
+     */
92
+    @ResponseBody
93
+    @RequestMapping(value="/taH5Images/{id}", method= RequestMethod.DELETE)
94
+    public ResponseBean taH5ImagesDelete(@PathVariable Integer id){
95
+        ResponseBean responseBean = new ResponseBean();
96
+        try {
97
+            if(iTaH5ImagesService.removeById(id)){
98
+                responseBean.addSuccess("success");
99
+            }else {
100
+                responseBean.addError("fail");
101
+            }
102
+        }catch (Exception e){
103
+            e.printStackTrace();
104
+            logger.error("taH5ImagesDelete -=- {}",e.toString());
105
+            responseBean.addError(e.getMessage());
106
+        }
107
+        return responseBean;
108
+    }
109
+
110
+    /**
111
+     * 修改对象
112
+     * @param id  实体ID
113
+     * @param taH5Images 实体对象
114
+     * @return
115
+     */
116
+    @RequestMapping(value="/taH5Images/{id}",method= RequestMethod.PUT)
117
+    public ResponseBean taH5ImagesUpdate(@PathVariable Integer id,
118
+                                        @RequestBody TaH5Images taH5Images){
119
+        ResponseBean responseBean = new ResponseBean();
120
+        try {
121
+            if (iTaH5ImagesService.updateById(taH5Images)){
122
+                responseBean.addSuccess(taH5Images);
123
+            }else {
124
+                responseBean.addError("fail");
125
+            }
126
+        }catch (Exception e){
127
+            e.printStackTrace();
128
+            logger.error("taH5ImagesUpdate -=- {}",e.toString());
129
+            responseBean.addError(e.getMessage());
130
+        }
131
+        return responseBean;
132
+    }
133
+
134
+    /**
135
+     * 根据id查询对象
136
+     * @param id  实体ID
137
+     */
138
+    @RequestMapping(value="/taH5Images/{id}",method= RequestMethod.GET)
139
+    public ResponseBean taH5ImagesGet(@PathVariable Integer id){
140
+        ResponseBean responseBean = new ResponseBean();
141
+        try {
142
+            responseBean.addSuccess(iTaH5ImagesService.getById(id));
143
+        }catch (Exception e){
144
+            e.printStackTrace();
145
+            logger.error("taH5ImagesDelete -=- {}",e.toString());
146
+            responseBean.addError(e.getMessage());
147
+        }
148
+        return responseBean;
149
+    }
150
+}

+ 155
- 0
src/main/java/com/huiju/estateagents/redpack/controller/TaH5TemplateController.java Просмотреть файл

@@ -0,0 +1,155 @@
1
+package com.huiju.estateagents.redpack.controller;
2
+
3
+import org.slf4j.Logger;
4
+import org.slf4j.LoggerFactory;
5
+import org.springframework.beans.factory.annotation.Autowired;
6
+import org.springframework.web.bind.annotation.PathVariable;
7
+import org.springframework.web.bind.annotation.RequestBody;
8
+import org.springframework.web.bind.annotation.RequestMapping;
9
+import org.springframework.web.bind.annotation.RequestMethod;
10
+import org.springframework.web.bind.annotation.RequestParam;
11
+import org.springframework.web.bind.annotation.ResponseBody;
12
+import org.springframework.web.bind.annotation.RestController;
13
+
14
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
15
+import com.baomidou.mybatisplus.core.metadata.IPage;
16
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
17
+import com.huiju.estateagents.base.BaseController;
18
+import com.huiju.estateagents.base.ResponseBean;
19
+import com.huiju.estateagents.common.StringUtils;
20
+import com.huiju.estateagents.redpack.entity.TaH5Template;
21
+import com.huiju.estateagents.redpack.service.ITaH5TemplateService;
22
+
23
+/**
24
+ * <p>
25
+    * H5模板  前端控制器
26
+    * </p>
27
+ *
28
+ * @author fxf
29
+ * @since 2020-06-03
30
+ */
31
+@RestController
32
+@RequestMapping("/api")
33
+public class TaH5TemplateController extends BaseController {
34
+
35
+    private final Logger logger = LoggerFactory.getLogger(TaH5TemplateController.class);
36
+
37
+    @Autowired
38
+    public ITaH5TemplateService iTaH5TemplateService;
39
+
40
+
41
+    /**
42
+     * 分页查询列表
43
+     * @param pageNum
44
+     * @param pageSize
45
+     * @return
46
+     */
47
+    @RequestMapping(value="/channel/taH5Template",method= RequestMethod.GET)
48
+    public ResponseBean taH5TemplateList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
49
+									    @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
50
+                                        @RequestParam(value ="h5TemplateId", required = false) String h5TemplateId,
51
+                                        @RequestParam(value ="name", required = false) String name){
52
+        ResponseBean responseBean = new ResponseBean();
53
+        try {
54
+            //使用分页插件
55
+		    IPage<TaH5Template> pg = new Page<>(pageNum, pageSize);
56
+            QueryWrapper<TaH5Template> queryWrapper = new QueryWrapper<>();
57
+            queryWrapper.eq(!StringUtils.isEmpty(h5TemplateId), "h5_template_id", h5TemplateId);
58
+            queryWrapper.like(!StringUtils.isEmpty(name), "name", name);
59
+            queryWrapper.orderByDesc("create_date");
60
+
61
+            IPage<TaH5Template> result = iTaH5TemplateService.page(pg, queryWrapper);
62
+            responseBean.addSuccess(result);
63
+        }catch (Exception e){
64
+            e.printStackTrace();
65
+            logger.error("taH5TemplateList -=- {}",e.toString());
66
+            responseBean.addError(e.getMessage());
67
+        }
68
+        return responseBean;
69
+    }
70
+
71
+    /**
72
+     * 保存对象
73
+     * @param taH5Template 实体对象
74
+     * @return
75
+     */
76
+    @RequestMapping(value="/taH5Template",method= RequestMethod.POST)
77
+    public ResponseBean taH5TemplateAdd(@RequestBody TaH5Template taH5Template){
78
+        ResponseBean responseBean = new ResponseBean();
79
+        try {
80
+            if (iTaH5TemplateService.save(taH5Template)){
81
+                responseBean.addSuccess(taH5Template);
82
+            }else {
83
+                responseBean.addError("fail");
84
+            }
85
+        }catch (Exception e){
86
+            e.printStackTrace();
87
+            logger.error("taH5TemplateAdd -=- {}",e.toString());
88
+            responseBean.addError(e.getMessage());
89
+        }
90
+        return responseBean;
91
+    }
92
+
93
+    /**
94
+     * 根据id删除对象
95
+     * @param id  实体ID
96
+     */
97
+    @ResponseBody
98
+    @RequestMapping(value="/taH5Template/{id}", method= RequestMethod.DELETE)
99
+    public ResponseBean taH5TemplateDelete(@PathVariable Integer id){
100
+        ResponseBean responseBean = new ResponseBean();
101
+        try {
102
+            if(iTaH5TemplateService.removeById(id)){
103
+                responseBean.addSuccess("success");
104
+            }else {
105
+                responseBean.addError("fail");
106
+            }
107
+        }catch (Exception e){
108
+            e.printStackTrace();
109
+            logger.error("taH5TemplateDelete -=- {}",e.toString());
110
+            responseBean.addError(e.getMessage());
111
+        }
112
+        return responseBean;
113
+    }
114
+
115
+    /**
116
+     * 修改对象
117
+     * @param id  实体ID
118
+     * @param taH5Template 实体对象
119
+     * @return
120
+     */
121
+    @RequestMapping(value="/taH5Template/{id}",method= RequestMethod.PUT)
122
+    public ResponseBean taH5TemplateUpdate(@PathVariable Integer id,
123
+                                        @RequestBody TaH5Template taH5Template){
124
+        ResponseBean responseBean = new ResponseBean();
125
+        try {
126
+            if (iTaH5TemplateService.updateById(taH5Template)){
127
+                responseBean.addSuccess(taH5Template);
128
+            }else {
129
+                responseBean.addError("fail");
130
+            }
131
+        }catch (Exception e){
132
+            e.printStackTrace();
133
+            logger.error("taH5TemplateUpdate -=- {}",e.toString());
134
+            responseBean.addError(e.getMessage());
135
+        }
136
+        return responseBean;
137
+    }
138
+
139
+    /**
140
+     * 根据id查询对象
141
+     * @param id  实体ID
142
+     */
143
+    @RequestMapping(value="/taH5Template/{id}",method= RequestMethod.GET)
144
+    public ResponseBean taH5TemplateGet(@PathVariable Integer id){
145
+        ResponseBean responseBean = new ResponseBean();
146
+        try {
147
+            responseBean.addSuccess(iTaH5TemplateService.getById(id));
148
+        }catch (Exception e){
149
+            e.printStackTrace();
150
+            logger.error("taH5TemplateDelete -=- {}",e.toString());
151
+            responseBean.addError(e.getMessage());
152
+        }
153
+        return responseBean;
154
+    }
155
+}

+ 143
- 0
src/main/java/com/huiju/estateagents/redpack/controller/TaMpMiniappController.java Просмотреть файл

@@ -0,0 +1,143 @@
1
+package com.huiju.estateagents.redpack.controller;
2
+
3
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4
+import com.baomidou.mybatisplus.core.metadata.IPage;
5
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6
+import com.huiju.estateagents.base.BaseController;
7
+import com.huiju.estateagents.base.ResponseBean;
8
+import com.huiju.estateagents.redpack.entity.TaMpMiniapp;
9
+import com.huiju.estateagents.redpack.service.ITaMpMiniappService;
10
+import org.slf4j.Logger;
11
+import org.slf4j.LoggerFactory;
12
+import org.springframework.beans.factory.annotation.Autowired;
13
+import org.springframework.web.bind.annotation.*;
14
+
15
+/**
16
+ * <p>
17
+    * 公众号小程序账户映射  前端控制器
18
+    * </p>
19
+ *
20
+ * @author fxf
21
+ * @since 2020-06-02
22
+ */
23
+@RestController
24
+@RequestMapping("/")
25
+public class TaMpMiniappController extends BaseController {
26
+
27
+    private final Logger logger = LoggerFactory.getLogger(TaMpMiniappController.class);
28
+
29
+    @Autowired
30
+    public ITaMpMiniappService iTaMpMiniappService;
31
+
32
+
33
+    /**
34
+     * 分页查询列表
35
+     * @param pageNum
36
+     * @param pageSize
37
+     * @return
38
+     */
39
+    @RequestMapping(value="/taMpMiniapp",method= RequestMethod.GET)
40
+    public ResponseBean taMpMiniappList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
41
+                                        @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize){
42
+        ResponseBean responseBean = new ResponseBean();
43
+        try {
44
+            //使用分页插件
45
+		    IPage<TaMpMiniapp> pg = new Page<>(pageNum, pageSize);
46
+            QueryWrapper<TaMpMiniapp> queryWrapper = new QueryWrapper<>();
47
+            queryWrapper.orderByDesc("create_date");
48
+
49
+            IPage<TaMpMiniapp> result = iTaMpMiniappService.page(pg, queryWrapper);
50
+            responseBean.addSuccess(result);
51
+        }catch (Exception e){
52
+            e.printStackTrace();
53
+            logger.error("taMpMiniappList -=- {}",e.toString());
54
+            responseBean.addError(e.getMessage());
55
+        }
56
+        return responseBean;
57
+    }
58
+
59
+    /**
60
+     * 保存对象
61
+     * @param taMpMiniapp 实体对象
62
+     * @return
63
+     */
64
+    @RequestMapping(value="/taMpMiniapp",method= RequestMethod.POST)
65
+    public ResponseBean taMpMiniappAdd(@RequestBody TaMpMiniapp taMpMiniapp){
66
+        ResponseBean responseBean = new ResponseBean();
67
+        try {
68
+            if (iTaMpMiniappService.save(taMpMiniapp)){
69
+                responseBean.addSuccess(taMpMiniapp);
70
+            }else {
71
+                responseBean.addError("fail");
72
+            }
73
+        }catch (Exception e){
74
+            e.printStackTrace();
75
+            logger.error("taMpMiniappAdd -=- {}",e.toString());
76
+            responseBean.addError(e.getMessage());
77
+        }
78
+        return responseBean;
79
+    }
80
+
81
+    /**
82
+     * 根据id删除对象
83
+     * @param id  实体ID
84
+     */
85
+    @ResponseBody
86
+    @RequestMapping(value="/taMpMiniapp/{id}", method= RequestMethod.DELETE)
87
+    public ResponseBean taMpMiniappDelete(@PathVariable Integer id){
88
+        ResponseBean responseBean = new ResponseBean();
89
+        try {
90
+            if(iTaMpMiniappService.removeById(id)){
91
+                responseBean.addSuccess("success");
92
+            }else {
93
+                responseBean.addError("fail");
94
+            }
95
+        }catch (Exception e){
96
+            e.printStackTrace();
97
+            logger.error("taMpMiniappDelete -=- {}",e.toString());
98
+            responseBean.addError(e.getMessage());
99
+        }
100
+        return responseBean;
101
+    }
102
+
103
+    /**
104
+     * 修改对象
105
+     * @param id  实体ID
106
+     * @param taMpMiniapp 实体对象
107
+     * @return
108
+     */
109
+    @RequestMapping(value="/taMpMiniapp/{id}",method= RequestMethod.PUT)
110
+    public ResponseBean taMpMiniappUpdate(@PathVariable Integer id,
111
+                                        @RequestBody TaMpMiniapp taMpMiniapp){
112
+        ResponseBean responseBean = new ResponseBean();
113
+        try {
114
+            if (iTaMpMiniappService.updateById(taMpMiniapp)){
115
+                responseBean.addSuccess(taMpMiniapp);
116
+            }else {
117
+                responseBean.addError("fail");
118
+            }
119
+        }catch (Exception e){
120
+            e.printStackTrace();
121
+            logger.error("taMpMiniappUpdate -=- {}",e.toString());
122
+            responseBean.addError(e.getMessage());
123
+        }
124
+        return responseBean;
125
+    }
126
+
127
+    /**
128
+     * 根据id查询对象
129
+     * @param id  实体ID
130
+     */
131
+    @RequestMapping(value="/taMpMiniapp/{id}",method= RequestMethod.GET)
132
+    public ResponseBean taMpMiniappGet(@PathVariable Integer id){
133
+        ResponseBean responseBean = new ResponseBean();
134
+        try {
135
+            responseBean.addSuccess(iTaMpMiniappService.getById(id));
136
+        }catch (Exception e){
137
+            e.printStackTrace();
138
+            logger.error("taMpMiniappDelete -=- {}",e.toString());
139
+            responseBean.addError(e.getMessage());
140
+        }
141
+        return responseBean;
142
+    }
143
+}

+ 143
- 0
src/main/java/com/huiju/estateagents/redpack/controller/TaMpPersonController.java Просмотреть файл

@@ -0,0 +1,143 @@
1
+package com.huiju.estateagents.redpack.controller;
2
+
3
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4
+import com.baomidou.mybatisplus.core.metadata.IPage;
5
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6
+import com.huiju.estateagents.base.BaseController;
7
+import com.huiju.estateagents.base.ResponseBean;
8
+import com.huiju.estateagents.redpack.entity.TaMpPerson;
9
+import com.huiju.estateagents.redpack.service.ITaMpPersonService;
10
+import org.slf4j.Logger;
11
+import org.slf4j.LoggerFactory;
12
+import org.springframework.beans.factory.annotation.Autowired;
13
+import org.springframework.web.bind.annotation.*;
14
+
15
+/**
16
+ * <p>
17
+    * 公众号用户表  前端控制器
18
+    * </p>
19
+ *
20
+ * @author fxf
21
+ * @since 2020-06-02
22
+ */
23
+@RestController
24
+@RequestMapping("/")
25
+public class TaMpPersonController extends BaseController {
26
+
27
+    private final Logger logger = LoggerFactory.getLogger(TaMpPersonController.class);
28
+
29
+    @Autowired
30
+    public ITaMpPersonService iTaMpPersonService;
31
+
32
+
33
+    /**
34
+     * 分页查询列表
35
+     * @param pageNum
36
+     * @param pageSize
37
+     * @return
38
+     */
39
+    @RequestMapping(value="/taMpPerson",method= RequestMethod.GET)
40
+    public ResponseBean taMpPersonList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
41
+                                       @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize){
42
+        ResponseBean responseBean = new ResponseBean();
43
+        try {
44
+            //使用分页插件
45
+		    IPage<TaMpPerson> pg = new Page<>(pageNum, pageSize);
46
+            QueryWrapper<TaMpPerson> queryWrapper = new QueryWrapper<>();
47
+            queryWrapper.orderByDesc("create_date");
48
+
49
+            IPage<TaMpPerson> result = iTaMpPersonService.page(pg, queryWrapper);
50
+            responseBean.addSuccess(result);
51
+        }catch (Exception e){
52
+            e.printStackTrace();
53
+            logger.error("taMpPersonList -=- {}",e.toString());
54
+            responseBean.addError(e.getMessage());
55
+        }
56
+        return responseBean;
57
+    }
58
+
59
+    /**
60
+     * 保存对象
61
+     * @param taMpPerson 实体对象
62
+     * @return
63
+     */
64
+    @RequestMapping(value="/taMpPerson",method= RequestMethod.POST)
65
+    public ResponseBean taMpPersonAdd(@RequestBody TaMpPerson taMpPerson){
66
+        ResponseBean responseBean = new ResponseBean();
67
+        try {
68
+            if (iTaMpPersonService.save(taMpPerson)){
69
+                responseBean.addSuccess(taMpPerson);
70
+            }else {
71
+                responseBean.addError("fail");
72
+            }
73
+        }catch (Exception e){
74
+            e.printStackTrace();
75
+            logger.error("taMpPersonAdd -=- {}",e.toString());
76
+            responseBean.addError(e.getMessage());
77
+        }
78
+        return responseBean;
79
+    }
80
+
81
+    /**
82
+     * 根据id删除对象
83
+     * @param id  实体ID
84
+     */
85
+    @ResponseBody
86
+    @RequestMapping(value="/taMpPerson/{id}", method= RequestMethod.DELETE)
87
+    public ResponseBean taMpPersonDelete(@PathVariable Integer id){
88
+        ResponseBean responseBean = new ResponseBean();
89
+        try {
90
+            if(iTaMpPersonService.removeById(id)){
91
+                responseBean.addSuccess("success");
92
+            }else {
93
+                responseBean.addError("fail");
94
+            }
95
+        }catch (Exception e){
96
+            e.printStackTrace();
97
+            logger.error("taMpPersonDelete -=- {}",e.toString());
98
+            responseBean.addError(e.getMessage());
99
+        }
100
+        return responseBean;
101
+    }
102
+
103
+    /**
104
+     * 修改对象
105
+     * @param id  实体ID
106
+     * @param taMpPerson 实体对象
107
+     * @return
108
+     */
109
+    @RequestMapping(value="/taMpPerson/{id}",method= RequestMethod.PUT)
110
+    public ResponseBean taMpPersonUpdate(@PathVariable Integer id,
111
+                                        @RequestBody TaMpPerson taMpPerson){
112
+        ResponseBean responseBean = new ResponseBean();
113
+        try {
114
+            if (iTaMpPersonService.updateById(taMpPerson)){
115
+                responseBean.addSuccess(taMpPerson);
116
+            }else {
117
+                responseBean.addError("fail");
118
+            }
119
+        }catch (Exception e){
120
+            e.printStackTrace();
121
+            logger.error("taMpPersonUpdate -=- {}",e.toString());
122
+            responseBean.addError(e.getMessage());
123
+        }
124
+        return responseBean;
125
+    }
126
+
127
+    /**
128
+     * 根据id查询对象
129
+     * @param id  实体ID
130
+     */
131
+    @RequestMapping(value="/taMpPerson/{id}",method= RequestMethod.GET)
132
+    public ResponseBean taMpPersonGet(@PathVariable Integer id){
133
+        ResponseBean responseBean = new ResponseBean();
134
+        try {
135
+            responseBean.addSuccess(iTaMpPersonService.getById(id));
136
+        }catch (Exception e){
137
+            e.printStackTrace();
138
+            logger.error("taMpPersonDelete -=- {}",e.toString());
139
+            responseBean.addError(e.getMessage());
140
+        }
141
+        return responseBean;
142
+    }
143
+}

+ 150
- 0
src/main/java/com/huiju/estateagents/redpack/controller/TaOrgAccountBlockedController.java Просмотреть файл

@@ -0,0 +1,150 @@
1
+package com.huiju.estateagents.redpack.controller;
2
+
3
+import org.slf4j.Logger;
4
+import org.slf4j.LoggerFactory;
5
+import org.springframework.beans.factory.annotation.Autowired;
6
+import org.springframework.web.bind.annotation.PathVariable;
7
+import org.springframework.web.bind.annotation.RequestBody;
8
+import org.springframework.web.bind.annotation.RequestMapping;
9
+import org.springframework.web.bind.annotation.RequestMethod;
10
+import org.springframework.web.bind.annotation.RequestParam;
11
+import org.springframework.web.bind.annotation.ResponseBody;
12
+import org.springframework.web.bind.annotation.RestController;
13
+
14
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
15
+import com.baomidou.mybatisplus.core.metadata.IPage;
16
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
17
+import com.huiju.estateagents.base.BaseController;
18
+import com.huiju.estateagents.base.ResponseBean;
19
+import com.huiju.estateagents.redpack.entity.TaOrgAccountBlocked;
20
+import com.huiju.estateagents.redpack.service.ITaOrgAccountBlockedService;
21
+
22
+/**
23
+ * <p>
24
+    * 账户冻结记录  前端控制器
25
+    * </p>
26
+ *
27
+ * @author fxf
28
+ * @since 2020-06-03
29
+ */
30
+@RestController
31
+@RequestMapping("/")
32
+public class TaOrgAccountBlockedController extends BaseController {
33
+
34
+    private final Logger logger = LoggerFactory.getLogger(TaOrgAccountBlockedController.class);
35
+
36
+    @Autowired
37
+    public ITaOrgAccountBlockedService iTaOrgAccountBlockedService;
38
+
39
+
40
+    /**
41
+     * 分页查询列表
42
+     * @param pageNum
43
+     * @param pageSize
44
+     * @return
45
+     */
46
+    @RequestMapping(value="/taOrgAccountBlocked",method= RequestMethod.GET)
47
+    public ResponseBean taOrgAccountBlockedList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
48
+                                                @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize){
49
+        ResponseBean responseBean = new ResponseBean();
50
+        try {
51
+            //使用分页插件
52
+		    IPage<TaOrgAccountBlocked> pg = new Page<>(pageNum, pageSize);
53
+            QueryWrapper<TaOrgAccountBlocked> queryWrapper = new QueryWrapper<>();
54
+            queryWrapper.orderByDesc("create_date");
55
+
56
+            IPage<TaOrgAccountBlocked> result = iTaOrgAccountBlockedService.page(pg, queryWrapper);
57
+            responseBean.addSuccess(result);
58
+        }catch (Exception e){
59
+            e.printStackTrace();
60
+            logger.error("taOrgAccountBlockedList -=- {}",e.toString());
61
+            responseBean.addError(e.getMessage());
62
+        }
63
+        return responseBean;
64
+    }
65
+
66
+    /**
67
+     * 保存对象
68
+     * @param taOrgAccountBlocked 实体对象
69
+     * @return
70
+     */
71
+    @RequestMapping(value="/taOrgAccountBlocked",method= RequestMethod.POST)
72
+    public ResponseBean taOrgAccountBlockedAdd(@RequestBody TaOrgAccountBlocked taOrgAccountBlocked){
73
+        ResponseBean responseBean = new ResponseBean();
74
+        try {
75
+            if (iTaOrgAccountBlockedService.save(taOrgAccountBlocked)){
76
+                responseBean.addSuccess(taOrgAccountBlocked);
77
+            }else {
78
+                responseBean.addError("fail");
79
+            }
80
+        }catch (Exception e){
81
+            e.printStackTrace();
82
+            logger.error("taOrgAccountBlockedAdd -=- {}",e.toString());
83
+            responseBean.addError(e.getMessage());
84
+        }
85
+        return responseBean;
86
+    }
87
+
88
+    /**
89
+     * 根据id删除对象
90
+     * @param id  实体ID
91
+     */
92
+    @ResponseBody
93
+    @RequestMapping(value="/taOrgAccountBlocked/{id}", method= RequestMethod.DELETE)
94
+    public ResponseBean taOrgAccountBlockedDelete(@PathVariable Integer id){
95
+        ResponseBean responseBean = new ResponseBean();
96
+        try {
97
+            if(iTaOrgAccountBlockedService.removeById(id)){
98
+                responseBean.addSuccess("success");
99
+            }else {
100
+                responseBean.addError("fail");
101
+            }
102
+        }catch (Exception e){
103
+            e.printStackTrace();
104
+            logger.error("taOrgAccountBlockedDelete -=- {}",e.toString());
105
+            responseBean.addError(e.getMessage());
106
+        }
107
+        return responseBean;
108
+    }
109
+
110
+    /**
111
+     * 修改对象
112
+     * @param id  实体ID
113
+     * @param taOrgAccountBlocked 实体对象
114
+     * @return
115
+     */
116
+    @RequestMapping(value="/taOrgAccountBlocked/{id}",method= RequestMethod.PUT)
117
+    public ResponseBean taOrgAccountBlockedUpdate(@PathVariable Integer id,
118
+                                        @RequestBody TaOrgAccountBlocked taOrgAccountBlocked){
119
+        ResponseBean responseBean = new ResponseBean();
120
+        try {
121
+            if (iTaOrgAccountBlockedService.updateById(taOrgAccountBlocked)){
122
+                responseBean.addSuccess(taOrgAccountBlocked);
123
+            }else {
124
+                responseBean.addError("fail");
125
+            }
126
+        }catch (Exception e){
127
+            e.printStackTrace();
128
+            logger.error("taOrgAccountBlockedUpdate -=- {}",e.toString());
129
+            responseBean.addError(e.getMessage());
130
+        }
131
+        return responseBean;
132
+    }
133
+
134
+    /**
135
+     * 根据id查询对象
136
+     * @param id  实体ID
137
+     */
138
+    @RequestMapping(value="/taOrgAccountBlocked/{id}",method= RequestMethod.GET)
139
+    public ResponseBean taOrgAccountBlockedGet(@PathVariable Integer id){
140
+        ResponseBean responseBean = new ResponseBean();
141
+        try {
142
+            responseBean.addSuccess(iTaOrgAccountBlockedService.getById(id));
143
+        }catch (Exception e){
144
+            e.printStackTrace();
145
+            logger.error("taOrgAccountBlockedDelete -=- {}",e.toString());
146
+            responseBean.addError(e.getMessage());
147
+        }
148
+        return responseBean;
149
+    }
150
+}

+ 150
- 0
src/main/java/com/huiju/estateagents/redpack/controller/TaOrgAccountCertificateController.java Просмотреть файл

@@ -0,0 +1,150 @@
1
+package com.huiju.estateagents.redpack.controller;
2
+
3
+import org.slf4j.Logger;
4
+import org.slf4j.LoggerFactory;
5
+import org.springframework.beans.factory.annotation.Autowired;
6
+import org.springframework.web.bind.annotation.PathVariable;
7
+import org.springframework.web.bind.annotation.RequestBody;
8
+import org.springframework.web.bind.annotation.RequestMapping;
9
+import org.springframework.web.bind.annotation.RequestMethod;
10
+import org.springframework.web.bind.annotation.RequestParam;
11
+import org.springframework.web.bind.annotation.ResponseBody;
12
+import org.springframework.web.bind.annotation.RestController;
13
+
14
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
15
+import com.baomidou.mybatisplus.core.metadata.IPage;
16
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
17
+import com.huiju.estateagents.base.BaseController;
18
+import com.huiju.estateagents.base.ResponseBean;
19
+import com.huiju.estateagents.redpack.entity.TaOrgAccountCertificate;
20
+import com.huiju.estateagents.redpack.service.ITaOrgAccountCertificateService;
21
+
22
+/**
23
+ * <p>
24
+    * 账户相关凭证  前端控制器
25
+    * </p>
26
+ *
27
+ * @author fxf
28
+ * @since 2020-06-03
29
+ */
30
+@RestController
31
+@RequestMapping("/")
32
+public class TaOrgAccountCertificateController extends BaseController {
33
+
34
+    private final Logger logger = LoggerFactory.getLogger(TaOrgAccountCertificateController.class);
35
+
36
+    @Autowired
37
+    public ITaOrgAccountCertificateService iTaOrgAccountCertificateService;
38
+
39
+
40
+    /**
41
+     * 分页查询列表
42
+     * @param pageNum
43
+     * @param pageSize
44
+     * @return
45
+     */
46
+    @RequestMapping(value="/taOrgAccountCertificate",method= RequestMethod.GET)
47
+    public ResponseBean taOrgAccountCertificateList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
48
+                                                    @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize){
49
+        ResponseBean responseBean = new ResponseBean();
50
+        try {
51
+            //使用分页插件
52
+		    IPage<TaOrgAccountCertificate> pg = new Page<>(pageNum, pageSize);
53
+            QueryWrapper<TaOrgAccountCertificate> queryWrapper = new QueryWrapper<>();
54
+            queryWrapper.orderByDesc("create_date");
55
+
56
+            IPage<TaOrgAccountCertificate> result = iTaOrgAccountCertificateService.page(pg, queryWrapper);
57
+            responseBean.addSuccess(result);
58
+        }catch (Exception e){
59
+            e.printStackTrace();
60
+            logger.error("taOrgAccountCertificateList -=- {}",e.toString());
61
+            responseBean.addError(e.getMessage());
62
+        }
63
+        return responseBean;
64
+    }
65
+
66
+    /**
67
+     * 保存对象
68
+     * @param taOrgAccountCertificate 实体对象
69
+     * @return
70
+     */
71
+    @RequestMapping(value="/taOrgAccountCertificate",method= RequestMethod.POST)
72
+    public ResponseBean taOrgAccountCertificateAdd(@RequestBody TaOrgAccountCertificate taOrgAccountCertificate){
73
+        ResponseBean responseBean = new ResponseBean();
74
+        try {
75
+            if (iTaOrgAccountCertificateService.save(taOrgAccountCertificate)){
76
+                responseBean.addSuccess(taOrgAccountCertificate);
77
+            }else {
78
+                responseBean.addError("fail");
79
+            }
80
+        }catch (Exception e){
81
+            e.printStackTrace();
82
+            logger.error("taOrgAccountCertificateAdd -=- {}",e.toString());
83
+            responseBean.addError(e.getMessage());
84
+        }
85
+        return responseBean;
86
+    }
87
+
88
+    /**
89
+     * 根据id删除对象
90
+     * @param id  实体ID
91
+     */
92
+    @ResponseBody
93
+    @RequestMapping(value="/taOrgAccountCertificate/{id}", method= RequestMethod.DELETE)
94
+    public ResponseBean taOrgAccountCertificateDelete(@PathVariable Integer id){
95
+        ResponseBean responseBean = new ResponseBean();
96
+        try {
97
+            if(iTaOrgAccountCertificateService.removeById(id)){
98
+                responseBean.addSuccess("success");
99
+            }else {
100
+                responseBean.addError("fail");
101
+            }
102
+        }catch (Exception e){
103
+            e.printStackTrace();
104
+            logger.error("taOrgAccountCertificateDelete -=- {}",e.toString());
105
+            responseBean.addError(e.getMessage());
106
+        }
107
+        return responseBean;
108
+    }
109
+
110
+    /**
111
+     * 修改对象
112
+     * @param id  实体ID
113
+     * @param taOrgAccountCertificate 实体对象
114
+     * @return
115
+     */
116
+    @RequestMapping(value="/taOrgAccountCertificate/{id}",method= RequestMethod.PUT)
117
+    public ResponseBean taOrgAccountCertificateUpdate(@PathVariable Integer id,
118
+                                        @RequestBody TaOrgAccountCertificate taOrgAccountCertificate){
119
+        ResponseBean responseBean = new ResponseBean();
120
+        try {
121
+            if (iTaOrgAccountCertificateService.updateById(taOrgAccountCertificate)){
122
+                responseBean.addSuccess(taOrgAccountCertificate);
123
+            }else {
124
+                responseBean.addError("fail");
125
+            }
126
+        }catch (Exception e){
127
+            e.printStackTrace();
128
+            logger.error("taOrgAccountCertificateUpdate -=- {}",e.toString());
129
+            responseBean.addError(e.getMessage());
130
+        }
131
+        return responseBean;
132
+    }
133
+
134
+    /**
135
+     * 根据id查询对象
136
+     * @param id  实体ID
137
+     */
138
+    @RequestMapping(value="/taOrgAccountCertificate/{id}",method= RequestMethod.GET)
139
+    public ResponseBean taOrgAccountCertificateGet(@PathVariable Integer id){
140
+        ResponseBean responseBean = new ResponseBean();
141
+        try {
142
+            responseBean.addSuccess(iTaOrgAccountCertificateService.getById(id));
143
+        }catch (Exception e){
144
+            e.printStackTrace();
145
+            logger.error("taOrgAccountCertificateDelete -=- {}",e.toString());
146
+            responseBean.addError(e.getMessage());
147
+        }
148
+        return responseBean;
149
+    }
150
+}

+ 365
- 0
src/main/java/com/huiju/estateagents/redpack/controller/TaOrgAccountController.java Просмотреть файл

@@ -0,0 +1,365 @@
1
+package com.huiju.estateagents.redpack.controller;
2
+
3
+import java.io.IOException;
4
+import java.util.ArrayList;
5
+import java.util.List;
6
+
7
+import com.alibaba.excel.EasyExcel;
8
+import com.alibaba.excel.ExcelWriter;
9
+import com.alibaba.excel.write.metadata.WriteSheet;
10
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
11
+import com.baomidou.mybatisplus.core.metadata.IPage;
12
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
13
+import com.huiju.estateagents.base.BaseController;
14
+import com.huiju.estateagents.base.ResponseBean;
15
+import com.huiju.estateagents.common.NumberUtils;
16
+import com.huiju.estateagents.common.StringUtils;
17
+import com.huiju.estateagents.excel.handler.CustomCellWriteHandler;
18
+import com.huiju.estateagents.redpack.entity.OrgAccountExport;
19
+import com.huiju.estateagents.redpack.entity.RechargeOrder;
20
+import com.huiju.estateagents.redpack.entity.TaOrgAccount;
21
+import com.huiju.estateagents.redpack.entity.TaOrgOrder;
22
+import com.huiju.estateagents.redpack.entity.TaOrgRefundApplication;
23
+import com.huiju.estateagents.redpack.mapper.TaOrgAccountBlockedMapper;
24
+import com.huiju.estateagents.redpack.mapper.TaOrgOrderMapper;
25
+import com.huiju.estateagents.redpack.service.ITaOrgAccountService;
26
+import com.huiju.estateagents.redpack.service.ITaOrgOrderService;
27
+import lombok.extern.slf4j.Slf4j;
28
+import org.slf4j.Logger;
29
+import org.slf4j.LoggerFactory;
30
+import org.springframework.beans.factory.annotation.Autowired;
31
+import org.springframework.web.bind.annotation.*;
32
+
33
+import javax.servlet.http.HttpServletRequest;
34
+import javax.servlet.http.HttpServletResponse;
35
+
36
+/**
37
+ * <p>
38
+ * 系统账户表  前端控制器
39
+ * </p>
40
+ *
41
+ * @author fxf
42
+ * @since 2020-06-03
43
+ */
44
+@Slf4j
45
+@RestController
46
+@RequestMapping("/api")
47
+public class TaOrgAccountController extends BaseController {
48
+
49
+    private final Logger logger = LoggerFactory.getLogger(TaOrgAccountController.class);
50
+
51
+    @Autowired
52
+    public ITaOrgAccountService iTaOrgAccountService;
53
+
54
+    @Autowired
55
+    public ITaOrgOrderService iTaOrgOrderService;
56
+
57
+    @Autowired
58
+    public TaOrgOrderMapper taOrgOrderMapper;
59
+
60
+    @Autowired
61
+    public TaOrgAccountBlockedMapper taOrgAccountBlockedMapper;
62
+
63
+    /**
64
+     * 分页查询列表
65
+     *
66
+     * @param pageNum
67
+     * @param pageSize
68
+     * @return
69
+     */
70
+    @RequestMapping(value = "/channel/taOrgAccount", method = RequestMethod.GET)
71
+    public ResponseBean taOrgAccountList(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
72
+                                         @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
73
+                                         @RequestParam(value = "miniAppName", required = false) String miniAppName) {
74
+        ResponseBean responseBean = new ResponseBean();
75
+        try {
76
+            //使用分页插件
77
+            IPage<TaOrgAccount> pg = new Page<>(pageNum, pageSize);
78
+            QueryWrapper<TaOrgAccount> queryWrapper = new QueryWrapper<>();
79
+            queryWrapper.like(!StringUtils.isEmpty(miniAppName), "miniapp_name", miniAppName);
80
+            queryWrapper.orderByDesc("create_date");
81
+
82
+            IPage<TaOrgAccount> result = iTaOrgAccountService.page(pg, queryWrapper);
83
+            result.getRecords().forEach(e -> {
84
+                Integer totalRechargeAmount = taOrgOrderMapper.countTotalRechargeAmount(e.getOrgId());
85
+                e.setTotalRechargeAmount(totalRechargeAmount);
86
+                //查询退款冻结额
87
+                Integer totalBlockAmount = taOrgAccountBlockedMapper.countTotalBlockAmount(e.getOrgId());
88
+
89
+                //账户余额=总充值金额-已消费金额-已退款额-退款冻结额
90
+                Integer balance = totalRechargeAmount - e.getPurchaseAmount() - e.getTotalRefund() - totalBlockAmount;
91
+                e.setRealBalance(balance);
92
+            });
93
+            responseBean.addSuccess(result);
94
+
95
+        } catch (Exception e) {
96
+            e.printStackTrace();
97
+            logger.error("taOrgAccountList -=- {}", e.toString());
98
+            responseBean.addError(e.getMessage());
99
+        }
100
+        return responseBean;
101
+    }
102
+
103
+    /**
104
+     * 账户信息导出
105
+     *
106
+     * @return
107
+     */
108
+    @RequestMapping(value = "/channel/taOrgAccount/taOrgAccountListExport")
109
+    public void taOrgAccountListExport(@RequestParam(value = "miniAppName", required = false) String miniAppName,
110
+                                    HttpServletRequest request, HttpServletResponse response) throws IOException {
111
+        response.setContentType("application/octet-stream");
112
+        response.setCharacterEncoding("utf-8");
113
+        response.setHeader("Content-disposition", "attachment;filename=账户统计.xlsx");
114
+
115
+        ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream(), OrgAccountExport.class).registerWriteHandler(new CustomCellWriteHandler()).build();
116
+        WriteSheet writeSheet = EasyExcel.writerSheet("活动统计").build();
117
+
118
+        // 设置 sheet, 同一个sheet只需要设置一次
119
+        //使用分页插件
120
+        QueryWrapper<TaOrgAccount> queryWrapper = new QueryWrapper<>();
121
+        queryWrapper.like(!StringUtils.isEmpty(miniAppName), "miniapp_name", miniAppName);
122
+        queryWrapper.orderByDesc("create_date");
123
+
124
+        List<OrgAccountExport> data = new ArrayList<>();
125
+        List<TaOrgAccount> result = iTaOrgAccountService.list(queryWrapper);
126
+
127
+        result.forEach(e -> {
128
+            Integer totalRechargeAmount = taOrgOrderMapper.countTotalRechargeAmount(e.getOrgId());
129
+            //查询退款冻结额
130
+            Integer totalBlockAmount = taOrgAccountBlockedMapper.countTotalBlockAmount(e.getOrgId());
131
+            OrgAccountExport export = new OrgAccountExport();
132
+            export.setMiniAppName(e.getMiniappName());
133
+            export.setTotalRecharge(NumberUtils.fenToYuan(taOrgOrderMapper.countTotalRechargeAmount(e.getOrgId()).toString()));
134
+            export.setConsumeAmount(NumberUtils.fenToYuan(e.getPurchaseAmount().toString()));
135
+            export.setRefundAmount(NumberUtils.fenToYuan(e.getTotalRefund().toString()));
136
+            Integer balance = totalRechargeAmount - e.getPurchaseAmount() - e.getTotalRefund() - totalBlockAmount;
137
+            export.setBalance(NumberUtils.fenToYuan(balance.toString()));
138
+
139
+            data.add(export);
140
+        });
141
+
142
+        excelWriter.write(data, writeSheet);
143
+        // finish 会帮忙关闭流
144
+        excelWriter.finish();
145
+    }
146
+
147
+    /**
148
+     * 保存对象
149
+     *
150
+     * @param taOrgAccount 实体对象
151
+     * @return
152
+     */
153
+    @RequestMapping(value = "/api/taOrgAccount", method = RequestMethod.POST)
154
+    public ResponseBean taOrgAccountAdd(@RequestBody TaOrgAccount taOrgAccount) {
155
+        ResponseBean responseBean = new ResponseBean();
156
+        try {
157
+            if (iTaOrgAccountService.save(taOrgAccount)) {
158
+                responseBean.addSuccess(taOrgAccount);
159
+            } else {
160
+                responseBean.addError("fail");
161
+            }
162
+        } catch (Exception e) {
163
+            e.printStackTrace();
164
+            logger.error("taOrgAccountAdd -=- {}", e.toString());
165
+            responseBean.addError(e.getMessage());
166
+        }
167
+        return responseBean;
168
+    }
169
+
170
+    /**
171
+     * 根据id删除对象
172
+     *
173
+     * @param id 实体ID
174
+     */
175
+    @ResponseBody
176
+    @RequestMapping(value = "/api/taOrgAccount/{id}", method = RequestMethod.DELETE)
177
+    public ResponseBean taOrgAccountDelete(@PathVariable Integer id) {
178
+        ResponseBean responseBean = new ResponseBean();
179
+        try {
180
+            if (iTaOrgAccountService.removeById(id)) {
181
+                responseBean.addSuccess("success");
182
+            } else {
183
+                responseBean.addError("fail");
184
+            }
185
+        } catch (Exception e) {
186
+            e.printStackTrace();
187
+            logger.error("taOrgAccountDelete -=- {}", e.toString());
188
+            responseBean.addError(e.getMessage());
189
+        }
190
+        return responseBean;
191
+    }
192
+
193
+    /**
194
+     * 修改对象
195
+     *
196
+     * @param id           实体ID
197
+     * @param taOrgAccount 实体对象
198
+     * @return
199
+     */
200
+    @RequestMapping(value = "/api/taOrgAccount/{id}", method = RequestMethod.PUT)
201
+    public ResponseBean taOrgAccountUpdate(@PathVariable Integer id,
202
+                                           @RequestBody TaOrgAccount taOrgAccount) {
203
+        ResponseBean responseBean = new ResponseBean();
204
+        try {
205
+            if (iTaOrgAccountService.updateById(taOrgAccount)) {
206
+                responseBean.addSuccess(taOrgAccount);
207
+            } else {
208
+                responseBean.addError("fail");
209
+            }
210
+        } catch (Exception e) {
211
+            e.printStackTrace();
212
+            logger.error("taOrgAccountUpdate -=- {}", e.toString());
213
+            responseBean.addError(e.getMessage());
214
+        }
215
+        return responseBean;
216
+    }
217
+
218
+    /**
219
+     * 根据id查询对象
220
+     *
221
+     * @param id 实体ID
222
+     */
223
+    @RequestMapping(value = "/channel/taOrgAccount/{id}", method = RequestMethod.GET)
224
+    public ResponseBean taOrgAccountGet(@PathVariable Integer id) {
225
+        ResponseBean responseBean = new ResponseBean();
226
+        try {
227
+            responseBean.addSuccess(iTaOrgAccountService.getOrgAccountById(id));
228
+        }catch (Exception e){
229
+            e.printStackTrace();
230
+            logger.error("taOrgAccountDelete -=- {}", e.toString());
231
+            responseBean.addError(e.getMessage());
232
+        }
233
+        return responseBean;
234
+    }
235
+
236
+    /**
237
+     * 系统账户充值
238
+     *
239
+     * @param id 实体ID
240
+     */
241
+    @RequestMapping(value = "/channel/taOrgAccount/recharge/{id}", method = RequestMethod.PUT)
242
+    public ResponseBean taOrgAccountRecharge(@PathVariable String id, @RequestBody TaOrgAccount taOrgAccount,
243
+                                             HttpServletRequest request) {
244
+        ResponseBean responseBean = new ResponseBean();
245
+        try {
246
+            Integer userId = getUserId(request);
247
+            iTaOrgAccountService.rechargeAccount(id, taOrgAccount, taOrgAccount.getOrgId(), userId);
248
+        } catch (Exception e) {
249
+            e.printStackTrace();
250
+            logger.error("taOrgAccountRecharge -=- {}", e.toString());
251
+            responseBean.addError(e.getMessage());
252
+        }
253
+        return responseBean;
254
+    }
255
+
256
+    /**
257
+     * 系统账户退款
258
+     *
259
+     * @param id
260
+     * @param taOrgAccount
261
+     * @param request
262
+     * @return
263
+     */
264
+    @RequestMapping(value = "/channel/taOrgAccount/refund/{id}", method = RequestMethod.PUT)
265
+    public ResponseBean taOrgAccountRefund(@PathVariable String id, @RequestBody TaOrgAccount taOrgAccount,
266
+                                           HttpServletRequest request) {
267
+        ResponseBean responseBean = new ResponseBean();
268
+        try {
269
+            Integer userId = getUserId(request);
270
+            responseBean = iTaOrgAccountService.refundAccount(id, taOrgAccount, taOrgAccount.getOrgId(), userId);
271
+        } catch (Exception e) {
272
+            e.printStackTrace();
273
+            logger.error("taOrgAccountRefund -=- {}", e.toString());
274
+            responseBean.addError(e.getMessage());
275
+        }
276
+        return responseBean;
277
+    }
278
+
279
+    /**
280
+     * 订单退款
281
+     *
282
+     * @param id
283
+     * @param refundApplication
284
+     * @param request
285
+     * @return
286
+     */
287
+    @RequestMapping(value = "/channel/taOrgOrder/refund/{id}", method = RequestMethod.PUT)
288
+    public ResponseBean taOrgOrderRefund(@PathVariable String id, @RequestBody TaOrgRefundApplication refundApplication,
289
+                                         HttpServletRequest request) {
290
+        ResponseBean responseBean = new ResponseBean();
291
+        try {
292
+            Integer userId = getUserId(request);
293
+            responseBean = iTaOrgOrderService.refundOrder(id, refundApplication, userId);
294
+        } catch (Exception e) {
295
+            e.printStackTrace();
296
+            logger.error("taOrgAccountRefund -=- {}", e.toString());
297
+            responseBean.addError(e.getMessage());
298
+        }
299
+        return responseBean;
300
+    }
301
+
302
+    /**
303
+     * 订单驳回
304
+     *
305
+     * @param id
306
+     * @param refundApplication
307
+     * @param request
308
+     * @return
309
+     */
310
+    @RequestMapping(value = "/channel/taOrgOrder/reject/{id}")
311
+    public ResponseBean taOrgOrderReject(@PathVariable String id, @RequestBody TaOrgRefundApplication refundApplication,
312
+                                         HttpServletRequest request) {
313
+        ResponseBean responseBean = new ResponseBean();
314
+        try {
315
+            Integer userId = getUserId(request);
316
+            responseBean = iTaOrgOrderService.rejectOrder(id, refundApplication, userId);
317
+        } catch (Exception e) {
318
+            e.printStackTrace();
319
+            logger.error("taOrgAccountRefund -=- {}", e.toString());
320
+            responseBean.addError(e.getMessage());
321
+        }
322
+        return responseBean;
323
+    }
324
+
325
+
326
+    /**
327
+     * 获取账户资金信息
328
+     *
329
+     * @param request
330
+     * @return
331
+     */
332
+    @RequestMapping(value = "/admin/orgAccount/get", method = RequestMethod.GET)
333
+    public ResponseBean getOrgAccountInfoByOrgId(HttpServletRequest request) {
334
+        ResponseBean responseBean = new ResponseBean();
335
+        try {
336
+            responseBean = iTaOrgAccountService.getOrgAccountInfoByOrgId(getOrgId(request));
337
+        } catch (Exception e) {
338
+            logger.error("getOrgAccountInfo -=- {}", e);
339
+            responseBean.addError(e.getMessage());
340
+        }
341
+        return responseBean;
342
+    }
343
+
344
+    /**
345
+     * 微信统一下单接口
346
+     *
347
+     * @param taOrgOrder
348
+     * @param request
349
+     * @return
350
+     */
351
+    @RequestMapping(value = "/admin/unifiedOrder",method = RequestMethod.POST)
352
+    public ResponseBean wxUnifiedOrder(@RequestBody TaOrgOrder taOrgOrder,
353
+                                       HttpServletRequest request){
354
+        ResponseBean responseBean = new ResponseBean();
355
+        try {
356
+            taOrgOrder.setOrgId(getOrgId(request));
357
+            taOrgOrder.setUserId(getUserId(request));
358
+            responseBean = iTaOrgOrderService.payUnifiedOrder(taOrgOrder,request.getRemoteAddr());
359
+        } catch (Exception e) {
360
+            log.error("微信统一下单失败: {}" , e.getMessage());
361
+            return ResponseBean.error(e.getMessage(), ResponseBean.ERROR_MISSING_PARAMS);
362
+        }
363
+        return responseBean;
364
+    }
365
+}

+ 150
- 0
src/main/java/com/huiju/estateagents/redpack/controller/TaOrgAccountDetailedListController.java Просмотреть файл

@@ -0,0 +1,150 @@
1
+package com.huiju.estateagents.redpack.controller;
2
+
3
+import org.slf4j.Logger;
4
+import org.slf4j.LoggerFactory;
5
+import org.springframework.beans.factory.annotation.Autowired;
6
+import org.springframework.web.bind.annotation.PathVariable;
7
+import org.springframework.web.bind.annotation.RequestBody;
8
+import org.springframework.web.bind.annotation.RequestMapping;
9
+import org.springframework.web.bind.annotation.RequestMethod;
10
+import org.springframework.web.bind.annotation.RequestParam;
11
+import org.springframework.web.bind.annotation.ResponseBody;
12
+import org.springframework.web.bind.annotation.RestController;
13
+
14
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
15
+import com.baomidou.mybatisplus.core.metadata.IPage;
16
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
17
+import com.huiju.estateagents.base.BaseController;
18
+import com.huiju.estateagents.base.ResponseBean;
19
+import com.huiju.estateagents.redpack.entity.TaOrgAccountDetailedList;
20
+import com.huiju.estateagents.redpack.service.ITaOrgAccountDetailedListService;
21
+
22
+/**
23
+ * <p>
24
+    * 账户消费流水  前端控制器
25
+    * </p>
26
+ *
27
+ * @author fxf
28
+ * @since 2020-06-03
29
+ */
30
+@RestController
31
+@RequestMapping("/")
32
+public class TaOrgAccountDetailedListController extends BaseController {
33
+
34
+    private final Logger logger = LoggerFactory.getLogger(TaOrgAccountDetailedListController.class);
35
+
36
+    @Autowired
37
+    public ITaOrgAccountDetailedListService iTaOrgAccountDetailedListService;
38
+
39
+
40
+    /**
41
+     * 分页查询列表
42
+     * @param pageNum
43
+     * @param pageSize
44
+     * @return
45
+     */
46
+    @RequestMapping(value="/taOrgAccountDetailedList",method= RequestMethod.GET)
47
+    public ResponseBean taOrgAccountDetailedListList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
48
+                                                     @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize){
49
+        ResponseBean responseBean = new ResponseBean();
50
+        try {
51
+            //使用分页插件
52
+		    IPage<TaOrgAccountDetailedList> pg = new Page<>(pageNum, pageSize);
53
+            QueryWrapper<TaOrgAccountDetailedList> queryWrapper = new QueryWrapper<>();
54
+            queryWrapper.orderByDesc("create_date");
55
+
56
+            IPage<TaOrgAccountDetailedList> result = iTaOrgAccountDetailedListService.page(pg, queryWrapper);
57
+            responseBean.addSuccess(result);
58
+        }catch (Exception e){
59
+            e.printStackTrace();
60
+            logger.error("taOrgAccountDetailedListList -=- {}",e.toString());
61
+            responseBean.addError(e.getMessage());
62
+        }
63
+        return responseBean;
64
+    }
65
+
66
+    /**
67
+     * 保存对象
68
+     * @param taOrgAccountDetailedList 实体对象
69
+     * @return
70
+     */
71
+    @RequestMapping(value="/taOrgAccountDetailedList",method= RequestMethod.POST)
72
+    public ResponseBean taOrgAccountDetailedListAdd(@RequestBody TaOrgAccountDetailedList taOrgAccountDetailedList){
73
+        ResponseBean responseBean = new ResponseBean();
74
+        try {
75
+            if (iTaOrgAccountDetailedListService.save(taOrgAccountDetailedList)){
76
+                responseBean.addSuccess(taOrgAccountDetailedList);
77
+            }else {
78
+                responseBean.addError("fail");
79
+            }
80
+        }catch (Exception e){
81
+            e.printStackTrace();
82
+            logger.error("taOrgAccountDetailedListAdd -=- {}",e.toString());
83
+            responseBean.addError(e.getMessage());
84
+        }
85
+        return responseBean;
86
+    }
87
+
88
+    /**
89
+     * 根据id删除对象
90
+     * @param id  实体ID
91
+     */
92
+    @ResponseBody
93
+    @RequestMapping(value="/taOrgAccountDetailedList/{id}", method= RequestMethod.DELETE)
94
+    public ResponseBean taOrgAccountDetailedListDelete(@PathVariable Integer id){
95
+        ResponseBean responseBean = new ResponseBean();
96
+        try {
97
+            if(iTaOrgAccountDetailedListService.removeById(id)){
98
+                responseBean.addSuccess("success");
99
+            }else {
100
+                responseBean.addError("fail");
101
+            }
102
+        }catch (Exception e){
103
+            e.printStackTrace();
104
+            logger.error("taOrgAccountDetailedListDelete -=- {}",e.toString());
105
+            responseBean.addError(e.getMessage());
106
+        }
107
+        return responseBean;
108
+    }
109
+
110
+    /**
111
+     * 修改对象
112
+     * @param id  实体ID
113
+     * @param taOrgAccountDetailedList 实体对象
114
+     * @return
115
+     */
116
+    @RequestMapping(value="/taOrgAccountDetailedList/{id}",method= RequestMethod.PUT)
117
+    public ResponseBean taOrgAccountDetailedListUpdate(@PathVariable Integer id,
118
+                                        @RequestBody TaOrgAccountDetailedList taOrgAccountDetailedList){
119
+        ResponseBean responseBean = new ResponseBean();
120
+        try {
121
+            if (iTaOrgAccountDetailedListService.updateById(taOrgAccountDetailedList)){
122
+                responseBean.addSuccess(taOrgAccountDetailedList);
123
+            }else {
124
+                responseBean.addError("fail");
125
+            }
126
+        }catch (Exception e){
127
+            e.printStackTrace();
128
+            logger.error("taOrgAccountDetailedListUpdate -=- {}",e.toString());
129
+            responseBean.addError(e.getMessage());
130
+        }
131
+        return responseBean;
132
+    }
133
+
134
+    /**
135
+     * 根据id查询对象
136
+     * @param id  实体ID
137
+     */
138
+    @RequestMapping(value="/taOrgAccountDetailedList/{id}",method= RequestMethod.GET)
139
+    public ResponseBean taOrgAccountDetailedListGet(@PathVariable Integer id){
140
+        ResponseBean responseBean = new ResponseBean();
141
+        try {
142
+            responseBean.addSuccess(iTaOrgAccountDetailedListService.getById(id));
143
+        }catch (Exception e){
144
+            e.printStackTrace();
145
+            logger.error("taOrgAccountDetailedListDelete -=- {}",e.toString());
146
+            responseBean.addError(e.getMessage());
147
+        }
148
+        return responseBean;
149
+    }
150
+}

+ 562
- 0
src/main/java/com/huiju/estateagents/redpack/controller/TaOrgOrderController.java Просмотреть файл

@@ -0,0 +1,562 @@
1
+package com.huiju.estateagents.redpack.controller;
2
+
3
+import com.alibaba.excel.EasyExcel;
4
+import com.alibaba.excel.ExcelWriter;
5
+import com.alibaba.excel.write.metadata.WriteSheet;
6
+import com.alibaba.fastjson.JSON;
7
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
8
+import com.baomidou.mybatisplus.core.metadata.IPage;
9
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
10
+import com.huiju.estateagents.base.BaseController;
11
+import com.huiju.estateagents.base.ResponseBean;
12
+import com.huiju.estateagents.bo.request.SaveCzOrderRequestBO;
13
+import com.huiju.estateagents.bo.request.SaveRefundOrderRequestBO;
14
+import com.huiju.estateagents.entity.TaPerson;
15
+import com.huiju.estateagents.excel.handler.CustomCellWriteHandler;
16
+import com.huiju.estateagents.redpack.entity.ConsumeOrder;
17
+import com.huiju.estateagents.redpack.entity.RechargeOrder;
18
+import com.huiju.estateagents.redpack.entity.RefundOrder;
19
+import com.huiju.estateagents.redpack.entity.TaOrgOrder;
20
+import com.huiju.estateagents.redpack.service.ITaOrgOrderService;
21
+import com.huiju.estateagents.service.ITaPersonService;
22
+import org.slf4j.Logger;
23
+import org.slf4j.LoggerFactory;
24
+import org.springframework.beans.factory.annotation.Autowired;
25
+import org.springframework.format.annotation.DateTimeFormat;
26
+import org.springframework.web.bind.annotation.*;
27
+
28
+import javax.servlet.http.HttpServletRequest;
29
+import javax.servlet.http.HttpServletResponse;
30
+import java.io.IOException;
31
+import java.time.LocalDate;
32
+import java.time.LocalDateTime;
33
+import java.util.HashMap;
34
+import java.util.List;
35
+import java.util.Map;
36
+
37
+/**
38
+ * <p>
39
+ * 组织订单表  前端控制器
40
+ * </p>
41
+ *
42
+ * @author fxf
43
+ * @since 2020-06-03
44
+ */
45
+@RestController
46
+@RequestMapping("/api")
47
+public class TaOrgOrderController extends BaseController {
48
+
49
+    private final Logger logger = LoggerFactory.getLogger(TaOrgOrderController.class);
50
+
51
+    @Autowired
52
+    public ITaOrgOrderService iTaOrgOrderService;
53
+
54
+    @Autowired
55
+    public ITaPersonService iTaPersonService;
56
+
57
+
58
+    /**
59
+     * 分页查询列表
60
+     *
61
+     * @param pageNum
62
+     * @param pageSize
63
+     * @return
64
+     */
65
+    @RequestMapping(value = "/channel/taOrgOrder", method = RequestMethod.GET)
66
+    public ResponseBean taOrgOrderList(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
67
+                                       @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
68
+                                       @RequestParam(value = "orderType", required = false) String orderType,
69
+                                       @RequestParam(value = "orgId", required = false) Integer orgId,
70
+                                       @RequestParam(value = "tradeNo", required = false) String tradeNo,
71
+                                       @RequestParam(value = "isOffline", required = false) Integer isOffline,
72
+                                       @RequestParam(value = "tradingStatus", required = false) String tradingStatus,
73
+                                       @RequestParam(value = "receivePhone", required = false) String receivePhone,
74
+                                       @RequestParam(value = "miniAppName", required = false) String miniAppName,
75
+                                       @RequestParam(value = "itemType", required = false) String itemType,
76
+                                       @RequestParam(value = "startDate", required = false) String startDate,
77
+                                       @RequestParam(value = "endDate", required = false) String endDate,
78
+                                       @RequestParam(value = "payStartDate", required = false) String payStartDate,
79
+                                       @RequestParam(value = "payEndDate", required = false) String payEndDate,
80
+                                       @RequestParam(value = "auditStatus", required = false) String auditStatus) {
81
+        ResponseBean responseBean = new ResponseBean();
82
+        try {
83
+            //使用分页插件
84
+            IPage<TaOrgOrder> pg = new Page<>(pageNum, pageSize);
85
+            IPage<TaOrgOrder> result = iTaOrgOrderService.listByCondition(pg, orderType, orgId, tradeNo, isOffline, tradingStatus, receivePhone, itemType, startDate, endDate, miniAppName, auditStatus, payStartDate, payEndDate);
86
+            responseBean.addSuccess(result);
87
+        } catch (Exception e) {
88
+            e.printStackTrace();
89
+            logger.error("taOrgOrderList -=- {}", e.toString());
90
+            responseBean.addError(e.getMessage());
91
+        }
92
+        return responseBean;
93
+    }
94
+
95
+    /**
96
+     * 充值订单导出
97
+     *
98
+     * @return
99
+     */
100
+    @RequestMapping(value = "/channel/taOrgOrder/rechargeOrderExport")
101
+    public void rechargeOrderExport(@RequestParam(value = "tradeNo", required = false) String tradeNo,
102
+                                                   @RequestParam(value = "isOffline", required = false) Boolean isOffline,
103
+                                                   @RequestParam(value = "tradingStatus", required = false) String tradingStatus,
104
+                                                   @RequestParam(value = "miniAppName", required = false) String miniAppName,
105
+                                                   @RequestParam(value = "startDate", required = false) String startDate,
106
+                                                   @RequestParam(value = "endDate", required = false) String endDate,
107
+                                                   @RequestParam(value = "orderType", required = false) String orderType,
108
+                                                   @RequestParam(value = "orgId", required = false) Integer orgId,
109
+                                                   HttpServletRequest request, HttpServletResponse response) throws IOException {
110
+        response.setContentType("application/octet-stream");
111
+        response.setCharacterEncoding("utf-8");
112
+        response.setHeader("Content-disposition", "attachment;filename=订单统计.xlsx");
113
+
114
+        ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream(), RechargeOrder.class).registerWriteHandler(new CustomCellWriteHandler()).build();
115
+        WriteSheet writeSheet = EasyExcel.writerSheet("活动统计").build();
116
+
117
+        // 设置 sheet, 同一个sheet只需要设置一次
118
+        List<RechargeOrder> data = iTaOrgOrderService.rechargeListByConditionExport(orderType, tradeNo, isOffline, tradingStatus, startDate, endDate, miniAppName, orgId);
119
+        excelWriter.write(data, writeSheet);
120
+        // finish 会帮忙关闭流
121
+        excelWriter.finish();
122
+    }
123
+
124
+    /**
125
+     * 消费订单导出
126
+     *
127
+     * @return
128
+     */
129
+    @RequestMapping(value = "/channel/taOrgOrder/consumeOrderExport")
130
+    public void consumeOrderExport(@RequestParam(value = "tradeNo", required = false) String tradeNo,
131
+                                   @RequestParam(value = "tradingStatus", required = false) String tradingStatus,
132
+                                   @RequestParam(value = "receivePhone", required = false) String receivePhone,
133
+                                   @RequestParam(value = "miniAppName", required = false) String miniAppName,
134
+                                   @RequestParam(value = "startDate", required = false) String startDate,
135
+                                   @RequestParam(value = "endDate", required = false) String endDate,
136
+                                   @RequestParam(value = "orderType", required = false) String orderType,
137
+                                   @RequestParam(value = "orgId", required = false) Integer orgId,
138
+                                   HttpServletRequest request, HttpServletResponse response) throws IOException {
139
+        response.setContentType("application/octet-stream");
140
+        response.setCharacterEncoding("utf-8");
141
+        response.setHeader("Content-disposition", "attachment;filename=订单统计.xlsx");
142
+
143
+        ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream(), ConsumeOrder.class).registerWriteHandler(new CustomCellWriteHandler()).build();
144
+        WriteSheet writeSheet = EasyExcel.writerSheet("活动统计").build();
145
+
146
+        // 设置 sheet, 同一个sheet只需要设置一次
147
+        List<ConsumeOrder> data = iTaOrgOrderService.consumeListByConditionExport(orderType, tradeNo, receivePhone, tradingStatus, startDate, endDate, miniAppName, orgId);
148
+        excelWriter.write(data, writeSheet);
149
+        // finish 会帮忙关闭流
150
+        excelWriter.finish();
151
+    }
152
+
153
+    /**
154
+     * 退款订单导出
155
+     *
156
+     * @return
157
+     */
158
+    @RequestMapping(value = "/channel/taOrgOrder/refundOrderExport")
159
+    public void refundOrderExport(@RequestParam(value = "tradeNo", required = false) String tradeNo,
160
+                                   @RequestParam(value = "miniAppName", required = false) String miniAppName,
161
+                                   @RequestParam(value = "startDate", required = false) String startDate,
162
+                                   @RequestParam(value = "endDate", required = false) String endDate,
163
+                                   @RequestParam(value = "orderType", required = false) String orderType,
164
+                                   @RequestParam(value = "orgId", required = false) Integer orgId,
165
+                                   @RequestParam(value = "auditStatus", required = false) String auditStatus,
166
+                                   HttpServletRequest request, HttpServletResponse response) throws IOException {
167
+        response.setContentType("application/octet-stream");
168
+        response.setCharacterEncoding("utf-8");
169
+        response.setHeader("Content-disposition", "attachment;filename=订单统计.xlsx");
170
+
171
+        ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream(), RefundOrder.class).registerWriteHandler(new CustomCellWriteHandler()).build();
172
+        WriteSheet writeSheet = EasyExcel.writerSheet("活动统计").build();
173
+
174
+        // 设置 sheet, 同一个sheet只需要设置一次
175
+        List<RefundOrder> data = iTaOrgOrderService.refundListByConditionExport(orderType, tradeNo, startDate, endDate, miniAppName, orgId, auditStatus);
176
+        excelWriter.write(data, writeSheet);
177
+        // finish 会帮忙关闭流
178
+        excelWriter.finish();
179
+    }
180
+
181
+    /**
182
+     * 保存对象
183
+     *
184
+     * @param taOrgOrder 实体对象
185
+     * @return
186
+     */
187
+    @RequestMapping(value = "/taOrgOrder", method = RequestMethod.POST)
188
+    public ResponseBean taOrgOrderAdd(@RequestBody TaOrgOrder taOrgOrder) {
189
+        ResponseBean responseBean = new ResponseBean();
190
+        try {
191
+            if (iTaOrgOrderService.save(taOrgOrder)) {
192
+                responseBean.addSuccess(taOrgOrder);
193
+            } else {
194
+                responseBean.addError("fail");
195
+            }
196
+        } catch (Exception e) {
197
+            e.printStackTrace();
198
+            logger.error("taOrgOrderAdd -=- {}", e.toString());
199
+            responseBean.addError(e.getMessage());
200
+        }
201
+        return responseBean;
202
+    }
203
+
204
+    /**
205
+     * 根据id删除对象
206
+     *
207
+     * @param id 实体ID
208
+     */
209
+    @ResponseBody
210
+    @RequestMapping(value = "/taOrgOrder/{id}", method = RequestMethod.DELETE)
211
+    public ResponseBean taOrgOrderDelete(@PathVariable Integer id) {
212
+        ResponseBean responseBean = new ResponseBean();
213
+        try {
214
+            if (iTaOrgOrderService.removeById(id)) {
215
+                responseBean.addSuccess("success");
216
+            } else {
217
+                responseBean.addError("fail");
218
+            }
219
+        } catch (Exception e) {
220
+            e.printStackTrace();
221
+            logger.error("taOrgOrderDelete -=- {}", e.toString());
222
+            responseBean.addError(e.getMessage());
223
+        }
224
+        return responseBean;
225
+    }
226
+
227
+    /**
228
+     * 修改对象
229
+     *
230
+     * @param id         实体ID
231
+     * @param taOrgOrder 实体对象
232
+     * @return
233
+     */
234
+    @RequestMapping(value = "/taOrgOrder/{id}", method = RequestMethod.PUT)
235
+    public ResponseBean taOrgOrderUpdate(@PathVariable Integer id,
236
+                                         @RequestBody TaOrgOrder taOrgOrder) {
237
+        ResponseBean responseBean = new ResponseBean();
238
+        try {
239
+            if (iTaOrgOrderService.updateById(taOrgOrder)) {
240
+                responseBean.addSuccess(taOrgOrder);
241
+            } else {
242
+                responseBean.addError("fail");
243
+            }
244
+        } catch (Exception e) {
245
+            e.printStackTrace();
246
+            logger.error("taOrgOrderUpdate -=- {}", e.toString());
247
+            responseBean.addError(e.getMessage());
248
+        }
249
+        return responseBean;
250
+    }
251
+
252
+    /**
253
+     * 根据id查询对象
254
+     *
255
+     * @param id 实体ID
256
+     */
257
+    @RequestMapping(value = "/taOrgOrder/{id}", method = RequestMethod.GET)
258
+    public ResponseBean taOrgOrderGet(@PathVariable Integer id) {
259
+        ResponseBean responseBean = new ResponseBean();
260
+        try {
261
+            responseBean.addSuccess(iTaOrgOrderService.getById(id));
262
+        } catch (Exception e) {
263
+            e.printStackTrace();
264
+            logger.error("taOrgOrderDelete -=- {}", e.toString());
265
+            responseBean.addError(e.getMessage());
266
+        }
267
+        return responseBean;
268
+    }
269
+
270
+    /**
271
+     * 查询接收人信息
272
+     *
273
+     */
274
+    @RequestMapping(value = "/channel/receiveInfo", method = RequestMethod.GET)
275
+    public ResponseBean receiveInfoGet(@RequestParam(required = false) String phone,
276
+                                       @RequestParam(required = false) Integer orgId,
277
+                                       HttpServletRequest request) {
278
+        ResponseBean responseBean = new ResponseBean();
279
+        try {
280
+            QueryWrapper<TaPerson> taPersonQueryWrapper = new QueryWrapper<>();
281
+            taPersonQueryWrapper.eq("phone", phone);
282
+            taPersonQueryWrapper.eq("org_id", orgId);
283
+            responseBean.addSuccess(iTaPersonService.getOne(taPersonQueryWrapper));
284
+        } catch (Exception e) {
285
+            e.printStackTrace();
286
+            logger.error("receiveInfoGet -=- {}", e.toString());
287
+            responseBean.addError(e.getMessage());
288
+        }
289
+        return responseBean;
290
+    }
291
+
292
+    /**
293
+     * 创建充值订单
294
+     *
295
+     * @param requestBO
296
+     * @param request
297
+     * @return
298
+     */
299
+    @RequestMapping(value = "/admin/orgOrder/cz/saveOrder", method = RequestMethod.PUT)
300
+    public ResponseBean saveCzOrder(@RequestBody SaveCzOrderRequestBO requestBO, HttpServletRequest request) {
301
+        ResponseBean responseBean = new ResponseBean();
302
+        try {
303
+            responseBean = iTaOrgOrderService.saveCzOrder(requestBO.getAmount(), getOrgId(request), getUserId(request), request.getRemoteAddr());
304
+        } catch (Exception e) {
305
+            logger.error("saveCzOrder -=- {}", e);
306
+            responseBean.addError(e.getMessage());
307
+        }
308
+        return responseBean;
309
+    }
310
+
311
+    /**
312
+     * 创建退款订单
313
+     *
314
+     * @param requestBO
315
+     * @param request
316
+     * @return
317
+     */
318
+    @RequestMapping(value = "/admin/orgOrder/refund/saveOrder", method = RequestMethod.PUT)
319
+    public ResponseBean saveRefundOrder(@RequestBody SaveRefundOrderRequestBO requestBO, HttpServletRequest request) {
320
+        ResponseBean responseBean = new ResponseBean();
321
+        try {
322
+            responseBean = iTaOrgOrderService.saveRefundOrder(requestBO.getAmount(), getOrgId(request), getUserId(request));
323
+        } catch (Exception e) {
324
+            logger.error("refundOrder -=- {}", e);
325
+            responseBean.addError(e.getMessage());
326
+        }
327
+        return responseBean;
328
+    }
329
+
330
+    /**
331
+     * 获取充值订单列表
332
+     *
333
+     * @param pageNum       页码
334
+     * @param pageSize      分页大小
335
+     * @param payStartTime  支付开始时间
336
+     * @param payEndTime    支付结束时间
337
+     * @param orderId       订单编号
338
+     * @param tradeNo       交易号
339
+     * @param wxOrderId     微信订单编号
340
+     * @param isOffline     是否线下订单,true是,false否
341
+     * @param tradingStatus
342
+     * @return
343
+     */
344
+    @RequestMapping(value = "/admin/orgOrder/cz/list", method = RequestMethod.GET)
345
+    public ResponseBean listCzOrderByCondition(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
346
+                                               @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
347
+                                               @RequestParam(value = "payStartTime", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDateTime payStartTime,
348
+                                               @RequestParam(value = "payEndTime", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDateTime payEndTime,
349
+                                               String orderId,
350
+                                               String tradeNo,
351
+                                               String wxOrderId,
352
+                                               Boolean isOffline,
353
+                                               String tradingStatus,
354
+                                               HttpServletRequest request) {
355
+        ResponseBean responseBean = new ResponseBean();
356
+        try {
357
+            responseBean = iTaOrgOrderService.listCzOrderByCondition(pageNum, pageSize, payStartTime, payEndTime, orderId, tradeNo, wxOrderId, isOffline, tradingStatus, getOrgId(request));
358
+        } catch (Exception e) {
359
+            logger.error("refundOrder -=- {}", e);
360
+            responseBean.addError(e.getMessage());
361
+        }
362
+        return responseBean;
363
+    }
364
+
365
+    /**
366
+     * 导出充值订单列表
367
+     *
368
+     * @param payStartTime  支付开始时间
369
+     * @param payEndTime    支付结束时间
370
+     * @param orderId       订单编号
371
+     * @param tradeNo       交易号
372
+     * @param wxOrderId     微信订单编号
373
+     * @param isOffline     是否线下订单,true是,false否
374
+     * @param tradingStatus
375
+     * @return
376
+     */
377
+    @RequestMapping(value = "/admin/orgOrder/cz/exportList", method = RequestMethod.GET)
378
+    public void exportCzOrderByCondition(@RequestParam(value = "payStartTime", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDateTime payStartTime,
379
+                                         @RequestParam(value = "payEndTime", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDateTime payEndTime,
380
+                                         String orderId,
381
+                                         String tradeNo,
382
+                                         String wxOrderId,
383
+                                         Boolean isOffline,
384
+                                         String tradingStatus,
385
+                                         HttpServletRequest request,
386
+                                         HttpServletResponse response) throws Exception {
387
+        try {
388
+            iTaOrgOrderService.exportCzOrderByCondition(payStartTime, payEndTime, orderId, tradeNo, wxOrderId, isOffline, tradingStatus, getOrgId(request), response);
389
+        } catch (Exception e) {
390
+            logger.error("exportCzOrderByCondition 异常:", e);
391
+            response.reset();
392
+            response.setContentType("application/json");
393
+            response.setCharacterEncoding("utf-8");
394
+            Map<String, Object> map = new HashMap();
395
+            map.put("code", ResponseBean.ERROR_UNAVAILABLE);
396
+            map.put("message", "下载文件失败" + e.getMessage());
397
+            response.getWriter().println(JSON.toJSONString(map));
398
+        }
399
+    }
400
+
401
+    /**
402
+     * 获取退款订单列表
403
+     *
404
+     * @param pageNum         页码
405
+     * @param pageSize        分页大小
406
+     * @param refundStartTime 退款开始时间
407
+     * @param refundEndTime   退款结束时间
408
+     * @param orderId         订单编号
409
+     * @param auditStatus
410
+     * @return
411
+     */
412
+    @RequestMapping(value = "/admin/orgOrder/refund/list", method = RequestMethod.GET)
413
+    public ResponseBean listRefundOrderByCondition(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
414
+                                                   @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
415
+                                                   @RequestParam(value = "refundStartTime", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDateTime refundStartTime,
416
+                                                   @RequestParam(value = "refundEndTime", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDateTime refundEndTime,
417
+                                                   String orderId,
418
+                                                   String wxOrderId,
419
+                                                   String tradeNo,
420
+                                                   String auditStatus,
421
+                                                   HttpServletRequest request) {
422
+        ResponseBean responseBean = new ResponseBean();
423
+        try {
424
+            responseBean = iTaOrgOrderService.listRefundOrderByCondition(pageNum, pageSize, refundStartTime, refundEndTime, orderId, auditStatus, wxOrderId, tradeNo, getOrgId(request));
425
+        } catch (Exception e) {
426
+            logger.error("refundOrder -=- {}", e);
427
+            responseBean.addError(e.getMessage());
428
+        }
429
+        return responseBean;
430
+    }
431
+
432
+
433
+    /**
434
+     * 导出退款订单列表
435
+     *
436
+     * @param refundStartTime 退款开始时间
437
+     * @param refundEndTime   退款结束时间
438
+     * @param orderId         订单编号
439
+     * @param auditStatus     checking待审核,agree同意,unAgree 不同意
440
+     * @return
441
+     */
442
+    @RequestMapping(value = "/admin/orgOrder/refund/exportList", method = RequestMethod.GET)
443
+    public void exportRefundOrderByCondition(@RequestParam(value = "refundStartTime", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDateTime refundStartTime,
444
+                                             @RequestParam(value = "refundEndTime", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDateTime refundEndTime,
445
+                                             String orderId,
446
+                                             String wxOrderId,
447
+                                             String tradeNo,
448
+                                             String auditStatus,
449
+                                             HttpServletRequest request,
450
+                                             HttpServletResponse response) throws Exception {
451
+        try {
452
+            iTaOrgOrderService.exportRefundOrderByCondition(refundStartTime, refundEndTime, orderId, auditStatus, wxOrderId, tradeNo, getOrgId(request), response);
453
+        } catch (Exception e) {
454
+            logger.error("exportRefundOrderByCondition 异常:", e);
455
+            response.reset();
456
+            response.setContentType("application/json");
457
+            response.setCharacterEncoding("utf-8");
458
+            Map<String, Object> map = new HashMap();
459
+            map.put("code", ResponseBean.ERROR_UNAVAILABLE);
460
+            map.put("message", "下载文件失败" + e.getMessage());
461
+            response.getWriter().println(JSON.toJSONString(map));
462
+        }
463
+    }
464
+
465
+    /**
466
+     * 获取消费订单列表
467
+     *
468
+     * @param pageNum
469
+     * @param pageSize
470
+     * @param startTime     消费开始时间
471
+     * @param endTime       消费结束时间
472
+     * @param orderId       订单编号
473
+     * @param tradingStatus success:成功;fail:失败
474
+     * @param consumeType   消费方式,红包:redPacket
475
+     * @param phone         接收人手机号
476
+     * @param request
477
+     * @return
478
+     */
479
+    @RequestMapping(value = "/admin/orgOrder/listConsumeOrderByCondition", method = RequestMethod.GET)
480
+    public ResponseBean listConsumeOrderByCondition(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
481
+                                                    @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
482
+                                                    @RequestParam(value = "startTime", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDateTime startTime,
483
+                                                    @RequestParam(value = "endTime", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDateTime endTime,
484
+                                                    String orderId,
485
+                                                    String wxOrderId,
486
+                                                    String tradeNo,
487
+                                                    String tradingStatus,
488
+                                                    String consumeType,
489
+                                                    String phone,
490
+                                                    HttpServletRequest request) {
491
+        ResponseBean responseBean = new ResponseBean();
492
+        try {
493
+            responseBean = iTaOrgOrderService.listConsumeOrderByCondition(pageNum, pageSize, startTime, endTime, orderId, tradingStatus, consumeType, phone, wxOrderId, tradeNo, getOrgId(request));
494
+        } catch (Exception e) {
495
+            logger.error("listConsumeOrderByCondition -=- {}", e);
496
+            responseBean.addError(e.getMessage());
497
+        }
498
+        return responseBean;
499
+    }
500
+
501
+
502
+    /**
503
+     * 导出消费订单列表
504
+     *
505
+     * @param startTime
506
+     * @param endTime
507
+     * @param orderId
508
+     * @param tradingStatus success:成功;fail:失败
509
+     * @param consumeType
510
+     * @param phone
511
+     * @param request
512
+     * @param response
513
+     * @throws Exception
514
+     */
515
+    @RequestMapping(value = "/admin/orgOrder/exportConsumeOrderByCondition", method = RequestMethod.GET)
516
+    public void exportConsumeOrderByCondition(@RequestParam(value = "startTime", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDateTime startTime,
517
+                                              @RequestParam(value = "endTime", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDateTime endTime,
518
+                                              String orderId,
519
+                                              String wxOrderId,
520
+                                              String tradeNo,
521
+                                              String tradingStatus,
522
+                                              String consumeType,
523
+                                              String phone,
524
+                                              HttpServletRequest request,
525
+                                              HttpServletResponse response) throws Exception {
526
+        try {
527
+            iTaOrgOrderService.exportConsumeOrderByCondition(startTime, endTime, orderId, tradingStatus, consumeType, phone, wxOrderId, tradeNo, getOrgId(request), response);
528
+        } catch (Exception e) {
529
+            logger.error("exportConsumeOrderByCondition 异常:", e);
530
+            response.reset();
531
+            response.setContentType("application/json");
532
+            response.setCharacterEncoding("utf-8");
533
+            Map<String, Object> map = new HashMap();
534
+            map.put("code", ResponseBean.ERROR_UNAVAILABLE);
535
+            map.put("message", "下载文件失败" + e.getMessage());
536
+            response.getWriter().println(JSON.toJSONString(map));
537
+        }
538
+    }
539
+
540
+    /**
541
+     * 根据订单号查询订单状态
542
+     *
543
+     * @param orderId
544
+     * @return
545
+     */
546
+    @RequestMapping(value = "/admin/orgOrder/getByInfo", method = RequestMethod.GET)
547
+    public ResponseBean getOrgOrderInfo(String orderId) {
548
+        ResponseBean responseBean = new ResponseBean();
549
+        try {
550
+            TaOrgOrder result = iTaOrgOrderService.getById(orderId);
551
+            if (result == null) {
552
+                responseBean.addError("fail");
553
+                return responseBean;
554
+            }
555
+            responseBean.addSuccess(result);
556
+        } catch (Exception e) {
557
+            logger.error("getOrgOrderInfo 异常:", e);
558
+            responseBean.addError(e.getMessage());
559
+        }
560
+        return responseBean;
561
+    }
562
+}

+ 150
- 0
src/main/java/com/huiju/estateagents/redpack/controller/TaOrgOrderDetailController.java Просмотреть файл

@@ -0,0 +1,150 @@
1
+package com.huiju.estateagents.redpack.controller;
2
+
3
+import org.slf4j.Logger;
4
+import org.slf4j.LoggerFactory;
5
+import org.springframework.beans.factory.annotation.Autowired;
6
+import org.springframework.web.bind.annotation.PathVariable;
7
+import org.springframework.web.bind.annotation.RequestBody;
8
+import org.springframework.web.bind.annotation.RequestMapping;
9
+import org.springframework.web.bind.annotation.RequestMethod;
10
+import org.springframework.web.bind.annotation.RequestParam;
11
+import org.springframework.web.bind.annotation.ResponseBody;
12
+import org.springframework.web.bind.annotation.RestController;
13
+
14
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
15
+import com.baomidou.mybatisplus.core.metadata.IPage;
16
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
17
+import com.huiju.estateagents.base.BaseController;
18
+import com.huiju.estateagents.base.ResponseBean;
19
+import com.huiju.estateagents.redpack.entity.TaOrgOrderDetail;
20
+import com.huiju.estateagents.redpack.service.ITaOrgOrderDetailService;
21
+
22
+/**
23
+ * <p>
24
+    * 组织订单明细  前端控制器
25
+    * </p>
26
+ *
27
+ * @author fxf
28
+ * @since 2020-06-03
29
+ */
30
+@RestController
31
+@RequestMapping("/")
32
+public class TaOrgOrderDetailController extends BaseController {
33
+
34
+    private final Logger logger = LoggerFactory.getLogger(TaOrgOrderDetailController.class);
35
+
36
+    @Autowired
37
+    public ITaOrgOrderDetailService iTaOrgOrderDetailService;
38
+
39
+
40
+    /**
41
+     * 分页查询列表
42
+     * @param pageNum
43
+     * @param pageSize
44
+     * @return
45
+     */
46
+    @RequestMapping(value="/taOrgOrderDetail",method= RequestMethod.GET)
47
+    public ResponseBean taOrgOrderDetailList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
48
+                                             @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize){
49
+        ResponseBean responseBean = new ResponseBean();
50
+        try {
51
+            //使用分页插件
52
+		    IPage<TaOrgOrderDetail> pg = new Page<>(pageNum, pageSize);
53
+            QueryWrapper<TaOrgOrderDetail> queryWrapper = new QueryWrapper<>();
54
+            queryWrapper.orderByDesc("create_date");
55
+
56
+            IPage<TaOrgOrderDetail> result = iTaOrgOrderDetailService.page(pg, queryWrapper);
57
+            responseBean.addSuccess(result);
58
+        }catch (Exception e){
59
+            e.printStackTrace();
60
+            logger.error("taOrgOrderDetailList -=- {}",e.toString());
61
+            responseBean.addError(e.getMessage());
62
+        }
63
+        return responseBean;
64
+    }
65
+
66
+    /**
67
+     * 保存对象
68
+     * @param taOrgOrderDetail 实体对象
69
+     * @return
70
+     */
71
+    @RequestMapping(value="/taOrgOrderDetail",method= RequestMethod.POST)
72
+    public ResponseBean taOrgOrderDetailAdd(@RequestBody TaOrgOrderDetail taOrgOrderDetail){
73
+        ResponseBean responseBean = new ResponseBean();
74
+        try {
75
+            if (iTaOrgOrderDetailService.save(taOrgOrderDetail)){
76
+                responseBean.addSuccess(taOrgOrderDetail);
77
+            }else {
78
+                responseBean.addError("fail");
79
+            }
80
+        }catch (Exception e){
81
+            e.printStackTrace();
82
+            logger.error("taOrgOrderDetailAdd -=- {}",e.toString());
83
+            responseBean.addError(e.getMessage());
84
+        }
85
+        return responseBean;
86
+    }
87
+
88
+    /**
89
+     * 根据id删除对象
90
+     * @param id  实体ID
91
+     */
92
+    @ResponseBody
93
+    @RequestMapping(value="/taOrgOrderDetail/{id}", method= RequestMethod.DELETE)
94
+    public ResponseBean taOrgOrderDetailDelete(@PathVariable Integer id){
95
+        ResponseBean responseBean = new ResponseBean();
96
+        try {
97
+            if(iTaOrgOrderDetailService.removeById(id)){
98
+                responseBean.addSuccess("success");
99
+            }else {
100
+                responseBean.addError("fail");
101
+            }
102
+        }catch (Exception e){
103
+            e.printStackTrace();
104
+            logger.error("taOrgOrderDetailDelete -=- {}",e.toString());
105
+            responseBean.addError(e.getMessage());
106
+        }
107
+        return responseBean;
108
+    }
109
+
110
+    /**
111
+     * 修改对象
112
+     * @param id  实体ID
113
+     * @param taOrgOrderDetail 实体对象
114
+     * @return
115
+     */
116
+    @RequestMapping(value="/taOrgOrderDetail/{id}",method= RequestMethod.PUT)
117
+    public ResponseBean taOrgOrderDetailUpdate(@PathVariable Integer id,
118
+                                        @RequestBody TaOrgOrderDetail taOrgOrderDetail){
119
+        ResponseBean responseBean = new ResponseBean();
120
+        try {
121
+            if (iTaOrgOrderDetailService.updateById(taOrgOrderDetail)){
122
+                responseBean.addSuccess(taOrgOrderDetail);
123
+            }else {
124
+                responseBean.addError("fail");
125
+            }
126
+        }catch (Exception e){
127
+            e.printStackTrace();
128
+            logger.error("taOrgOrderDetailUpdate -=- {}",e.toString());
129
+            responseBean.addError(e.getMessage());
130
+        }
131
+        return responseBean;
132
+    }
133
+
134
+    /**
135
+     * 根据id查询对象
136
+     * @param id  实体ID
137
+     */
138
+    @RequestMapping(value="/taOrgOrderDetail/{id}",method= RequestMethod.GET)
139
+    public ResponseBean taOrgOrderDetailGet(@PathVariable Integer id){
140
+        ResponseBean responseBean = new ResponseBean();
141
+        try {
142
+            responseBean.addSuccess(iTaOrgOrderDetailService.getById(id));
143
+        }catch (Exception e){
144
+            e.printStackTrace();
145
+            logger.error("taOrgOrderDetailDelete -=- {}",e.toString());
146
+            responseBean.addError(e.getMessage());
147
+        }
148
+        return responseBean;
149
+    }
150
+}

+ 150
- 0
src/main/java/com/huiju/estateagents/redpack/controller/TaOrgRefundApplicationController.java Просмотреть файл

@@ -0,0 +1,150 @@
1
+package com.huiju.estateagents.redpack.controller;
2
+
3
+import org.slf4j.Logger;
4
+import org.slf4j.LoggerFactory;
5
+import org.springframework.beans.factory.annotation.Autowired;
6
+import org.springframework.web.bind.annotation.PathVariable;
7
+import org.springframework.web.bind.annotation.RequestBody;
8
+import org.springframework.web.bind.annotation.RequestMapping;
9
+import org.springframework.web.bind.annotation.RequestMethod;
10
+import org.springframework.web.bind.annotation.RequestParam;
11
+import org.springframework.web.bind.annotation.ResponseBody;
12
+import org.springframework.web.bind.annotation.RestController;
13
+
14
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
15
+import com.baomidou.mybatisplus.core.metadata.IPage;
16
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
17
+import com.huiju.estateagents.base.BaseController;
18
+import com.huiju.estateagents.base.ResponseBean;
19
+import com.huiju.estateagents.redpack.entity.TaOrgRefundApplication;
20
+import com.huiju.estateagents.redpack.service.ITaOrgRefundApplicationService;
21
+
22
+/**
23
+ * <p>
24
+    * 账户退款申请  前端控制器
25
+    * </p>
26
+ *
27
+ * @author fxf
28
+ * @since 2020-06-03
29
+ */
30
+@RestController
31
+@RequestMapping("/")
32
+public class TaOrgRefundApplicationController extends BaseController {
33
+
34
+    private final Logger logger = LoggerFactory.getLogger(TaOrgRefundApplicationController.class);
35
+
36
+    @Autowired
37
+    public ITaOrgRefundApplicationService iTaOrgRefundApplicationService;
38
+
39
+
40
+    /**
41
+     * 分页查询列表
42
+     * @param pageNum
43
+     * @param pageSize
44
+     * @return
45
+     */
46
+    @RequestMapping(value="/taOrgRefundApplication",method= RequestMethod.GET)
47
+    public ResponseBean taOrgRefundApplicationList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
48
+                                                   @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize){
49
+        ResponseBean responseBean = new ResponseBean();
50
+        try {
51
+            //使用分页插件
52
+		    IPage<TaOrgRefundApplication> pg = new Page<>(pageNum, pageSize);
53
+            QueryWrapper<TaOrgRefundApplication> queryWrapper = new QueryWrapper<>();
54
+            queryWrapper.orderByDesc("create_date");
55
+
56
+            IPage<TaOrgRefundApplication> result = iTaOrgRefundApplicationService.page(pg, queryWrapper);
57
+            responseBean.addSuccess(result);
58
+        }catch (Exception e){
59
+            e.printStackTrace();
60
+            logger.error("taOrgRefundApplicationList -=- {}",e.toString());
61
+            responseBean.addError(e.getMessage());
62
+        }
63
+        return responseBean;
64
+    }
65
+
66
+    /**
67
+     * 保存对象
68
+     * @param taOrgRefundApplication 实体对象
69
+     * @return
70
+     */
71
+    @RequestMapping(value="/taOrgRefundApplication",method= RequestMethod.POST)
72
+    public ResponseBean taOrgRefundApplicationAdd(@RequestBody TaOrgRefundApplication taOrgRefundApplication){
73
+        ResponseBean responseBean = new ResponseBean();
74
+        try {
75
+            if (iTaOrgRefundApplicationService.save(taOrgRefundApplication)){
76
+                responseBean.addSuccess(taOrgRefundApplication);
77
+            }else {
78
+                responseBean.addError("fail");
79
+            }
80
+        }catch (Exception e){
81
+            e.printStackTrace();
82
+            logger.error("taOrgRefundApplicationAdd -=- {}",e.toString());
83
+            responseBean.addError(e.getMessage());
84
+        }
85
+        return responseBean;
86
+    }
87
+
88
+    /**
89
+     * 根据id删除对象
90
+     * @param id  实体ID
91
+     */
92
+    @ResponseBody
93
+    @RequestMapping(value="/taOrgRefundApplication/{id}", method= RequestMethod.DELETE)
94
+    public ResponseBean taOrgRefundApplicationDelete(@PathVariable Integer id){
95
+        ResponseBean responseBean = new ResponseBean();
96
+        try {
97
+            if(iTaOrgRefundApplicationService.removeById(id)){
98
+                responseBean.addSuccess("success");
99
+            }else {
100
+                responseBean.addError("fail");
101
+            }
102
+        }catch (Exception e){
103
+            e.printStackTrace();
104
+            logger.error("taOrgRefundApplicationDelete -=- {}",e.toString());
105
+            responseBean.addError(e.getMessage());
106
+        }
107
+        return responseBean;
108
+    }
109
+
110
+    /**
111
+     * 修改对象
112
+     * @param id  实体ID
113
+     * @param taOrgRefundApplication 实体对象
114
+     * @return
115
+     */
116
+    @RequestMapping(value="/taOrgRefundApplication/{id}",method= RequestMethod.PUT)
117
+    public ResponseBean taOrgRefundApplicationUpdate(@PathVariable Integer id,
118
+                                        @RequestBody TaOrgRefundApplication taOrgRefundApplication){
119
+        ResponseBean responseBean = new ResponseBean();
120
+        try {
121
+            if (iTaOrgRefundApplicationService.updateById(taOrgRefundApplication)){
122
+                responseBean.addSuccess(taOrgRefundApplication);
123
+            }else {
124
+                responseBean.addError("fail");
125
+            }
126
+        }catch (Exception e){
127
+            e.printStackTrace();
128
+            logger.error("taOrgRefundApplicationUpdate -=- {}",e.toString());
129
+            responseBean.addError(e.getMessage());
130
+        }
131
+        return responseBean;
132
+    }
133
+
134
+    /**
135
+     * 根据id查询对象
136
+     * @param id  实体ID
137
+     */
138
+    @RequestMapping(value="/taOrgRefundApplication/{id}",method= RequestMethod.GET)
139
+    public ResponseBean taOrgRefundApplicationGet(@PathVariable Integer id){
140
+        ResponseBean responseBean = new ResponseBean();
141
+        try {
142
+            responseBean.addSuccess(iTaOrgRefundApplicationService.getById(id));
143
+        }catch (Exception e){
144
+            e.printStackTrace();
145
+            logger.error("taOrgRefundApplicationDelete -=- {}",e.toString());
146
+            responseBean.addError(e.getMessage());
147
+        }
148
+        return responseBean;
149
+    }
150
+}

+ 143
- 0
src/main/java/com/huiju/estateagents/redpack/controller/TaRedPacketClientController.java Просмотреть файл

@@ -0,0 +1,143 @@
1
+package com.huiju.estateagents.redpack.controller;
2
+
3
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4
+import com.baomidou.mybatisplus.core.metadata.IPage;
5
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6
+import com.huiju.estateagents.base.BaseController;
7
+import com.huiju.estateagents.base.ResponseBean;
8
+import com.huiju.estateagents.redpack.entity.TaRedPacketClient;
9
+import com.huiju.estateagents.redpack.service.ITaRedPacketClientService;
10
+import org.slf4j.Logger;
11
+import org.slf4j.LoggerFactory;
12
+import org.springframework.beans.factory.annotation.Autowired;
13
+import org.springframework.web.bind.annotation.*;
14
+
15
+/**
16
+ * <p>
17
+    * 红包客户端消息配置  前端控制器
18
+    * </p>
19
+ *
20
+ * @author fxf
21
+ * @since 2020-06-03
22
+ */
23
+@RestController
24
+@RequestMapping("/")
25
+public class TaRedPacketClientController extends BaseController {
26
+
27
+    private final Logger logger = LoggerFactory.getLogger(TaRedPacketClientController.class);
28
+
29
+    @Autowired
30
+    public ITaRedPacketClientService iTaRedPacketClientService;
31
+
32
+
33
+    /**
34
+     * 分页查询列表
35
+     * @param pageNum
36
+     * @param pageSize
37
+     * @return
38
+     */
39
+    @RequestMapping(value="/taRedPacketClient",method= RequestMethod.GET)
40
+    public ResponseBean taRedPacketClientList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
41
+                                              @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize){
42
+        ResponseBean responseBean = new ResponseBean();
43
+        try {
44
+            //使用分页插件
45
+		    IPage<TaRedPacketClient> pg = new Page<>(pageNum, pageSize);
46
+            QueryWrapper<TaRedPacketClient> queryWrapper = new QueryWrapper<>();
47
+            queryWrapper.orderByDesc("create_date");
48
+
49
+            IPage<TaRedPacketClient> result = iTaRedPacketClientService.page(pg, queryWrapper);
50
+            responseBean.addSuccess(result);
51
+        }catch (Exception e){
52
+            e.printStackTrace();
53
+            logger.error("taRedPacketClientList -=- {}",e.toString());
54
+            responseBean.addError(e.getMessage());
55
+        }
56
+        return responseBean;
57
+    }
58
+
59
+    /**
60
+     * 保存对象
61
+     * @param taRedPacketClient 实体对象
62
+     * @return
63
+     */
64
+    @RequestMapping(value="/taRedPacketClient",method= RequestMethod.POST)
65
+    public ResponseBean taRedPacketClientAdd(@RequestBody TaRedPacketClient taRedPacketClient){
66
+        ResponseBean responseBean = new ResponseBean();
67
+        try {
68
+            if (iTaRedPacketClientService.save(taRedPacketClient)){
69
+                responseBean.addSuccess(taRedPacketClient);
70
+            }else {
71
+                responseBean.addError("fail");
72
+            }
73
+        }catch (Exception e){
74
+            e.printStackTrace();
75
+            logger.error("taRedPacketClientAdd -=- {}",e.toString());
76
+            responseBean.addError(e.getMessage());
77
+        }
78
+        return responseBean;
79
+    }
80
+
81
+    /**
82
+     * 根据id删除对象
83
+     * @param id  实体ID
84
+     */
85
+    @ResponseBody
86
+    @RequestMapping(value="/taRedPacketClient/{id}", method= RequestMethod.DELETE)
87
+    public ResponseBean taRedPacketClientDelete(@PathVariable Integer id){
88
+        ResponseBean responseBean = new ResponseBean();
89
+        try {
90
+            if(iTaRedPacketClientService.removeById(id)){
91
+                responseBean.addSuccess("success");
92
+            }else {
93
+                responseBean.addError("fail");
94
+            }
95
+        }catch (Exception e){
96
+            e.printStackTrace();
97
+            logger.error("taRedPacketClientDelete -=- {}",e.toString());
98
+            responseBean.addError(e.getMessage());
99
+        }
100
+        return responseBean;
101
+    }
102
+
103
+    /**
104
+     * 修改对象
105
+     * @param id  实体ID
106
+     * @param taRedPacketClient 实体对象
107
+     * @return
108
+     */
109
+    @RequestMapping(value="/taRedPacketClient/{id}",method= RequestMethod.PUT)
110
+    public ResponseBean taRedPacketClientUpdate(@PathVariable Integer id,
111
+                                        @RequestBody TaRedPacketClient taRedPacketClient){
112
+        ResponseBean responseBean = new ResponseBean();
113
+        try {
114
+            if (iTaRedPacketClientService.updateById(taRedPacketClient)){
115
+                responseBean.addSuccess(taRedPacketClient);
116
+            }else {
117
+                responseBean.addError("fail");
118
+            }
119
+        }catch (Exception e){
120
+            e.printStackTrace();
121
+            logger.error("taRedPacketClientUpdate -=- {}",e.toString());
122
+            responseBean.addError(e.getMessage());
123
+        }
124
+        return responseBean;
125
+    }
126
+
127
+    /**
128
+     * 根据id查询对象
129
+     * @param id  实体ID
130
+     */
131
+    @RequestMapping(value="/taRedPacketClient/{id}",method= RequestMethod.GET)
132
+    public ResponseBean taRedPacketClientGet(@PathVariable Integer id){
133
+        ResponseBean responseBean = new ResponseBean();
134
+        try {
135
+            responseBean.addSuccess(iTaRedPacketClientService.getById(id));
136
+        }catch (Exception e){
137
+            e.printStackTrace();
138
+            logger.error("taRedPacketClientDelete -=- {}",e.toString());
139
+            responseBean.addError(e.getMessage());
140
+        }
141
+        return responseBean;
142
+    }
143
+}

+ 316
- 0
src/main/java/com/huiju/estateagents/redpack/controller/TaRedPacketController.java Просмотреть файл

@@ -0,0 +1,316 @@
1
+package com.huiju.estateagents.redpack.controller;
2
+
3
+import com.alibaba.fastjson.JSON;
4
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
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.huiju.estateagents.base.BaseController;
9
+import com.huiju.estateagents.base.ResponseBean;
10
+import com.huiju.estateagents.common.CommConstant;
11
+import com.huiju.estateagents.drainage.entity.TaDrainage;
12
+import com.huiju.estateagents.drainage.mapper.TaDrainageMapper;
13
+import com.huiju.estateagents.redpack.entity.TaRedPacket;
14
+import com.huiju.estateagents.redpack.service.ITaOrgOrderService;
15
+import com.huiju.estateagents.redpack.service.ITaRedPacketPersonService;
16
+import com.huiju.estateagents.redpack.service.ITaRedPacketService;
17
+import org.slf4j.Logger;
18
+import org.slf4j.LoggerFactory;
19
+import org.springframework.beans.factory.annotation.Autowired;
20
+import org.springframework.format.annotation.DateTimeFormat;
21
+import org.springframework.web.bind.annotation.*;
22
+
23
+import javax.servlet.http.HttpServletRequest;
24
+import javax.servlet.http.HttpServletResponse;
25
+import java.time.LocalDateTime;
26
+import java.util.HashMap;
27
+import java.util.Map;
28
+
29
+/**
30
+ * <p>
31
+ * 红包助力活动  前端控制器
32
+ * </p>
33
+ *
34
+ * @author fxf
35
+ * @since 2020-06-03
36
+ */
37
+@RestController
38
+@RequestMapping("/api")
39
+public class TaRedPacketController extends BaseController {
40
+
41
+    private final Logger logger = LoggerFactory.getLogger(TaRedPacketController.class);
42
+
43
+    @Autowired
44
+    public ITaRedPacketService iTaRedPacketService;
45
+
46
+    @Autowired
47
+    private ITaOrgOrderService iTaOrgOrderService;
48
+
49
+    @Autowired
50
+    private ITaRedPacketPersonService iTaRedPacketPersonService;
51
+
52
+    /**
53
+     * 分页查询列表
54
+     *
55
+     * @param pageNum
56
+     * @param pageSize
57
+     * @return
58
+     */
59
+    @RequestMapping(value = "/admin/redPacket/listByCondition", method = RequestMethod.GET)
60
+    public ResponseBean taRedPacketList(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
61
+                                        @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) {
62
+        ResponseBean responseBean = new ResponseBean();
63
+        try {
64
+            //使用分页插件
65
+            IPage<TaRedPacket> pg = new Page<>(pageNum, pageSize);
66
+            QueryWrapper<TaRedPacket> queryWrapper = new QueryWrapper<>();
67
+            queryWrapper.orderByDesc("create_date");
68
+
69
+            IPage<TaRedPacket> result = iTaRedPacketService.page(pg, queryWrapper);
70
+            responseBean.addSuccess(result);
71
+        } catch (Exception e) {
72
+            e.printStackTrace();
73
+            logger.error("taRedPacketList -=- {}", e.toString());
74
+            responseBean.addError(e.getMessage());
75
+        }
76
+        return responseBean;
77
+    }
78
+
79
+    /**
80
+     * 保存对象
81
+     *
82
+     * @param taRedPacket 实体对象
83
+     * @return
84
+     */
85
+    @RequestMapping(value = "/admin/redPacket/save", method = RequestMethod.POST)
86
+    public ResponseBean taRedPacketAdd(@RequestBody TaRedPacket taRedPacket) {
87
+        ResponseBean responseBean = new ResponseBean();
88
+        try {
89
+            if (iTaRedPacketService.save(taRedPacket)) {
90
+                responseBean.addSuccess("success");
91
+            } else {
92
+                responseBean.addError("fail");
93
+            }
94
+        } catch (Exception e) {
95
+            logger.error("taRedPacketAdd -=- {}", e);
96
+            responseBean.addError(e.getMessage());
97
+        }
98
+        return responseBean;
99
+    }
100
+
101
+    /**
102
+     * 根据id删除对象
103
+     *
104
+     * @param id 实体ID
105
+     */
106
+    @ResponseBody
107
+    @RequestMapping(value = "/taRedPacket/{id}", method = RequestMethod.DELETE)
108
+    public ResponseBean taRedPacketDelete(@PathVariable Integer id) {
109
+        ResponseBean responseBean = new ResponseBean();
110
+        try {
111
+            if (iTaRedPacketService.removeById(id)) {
112
+                responseBean.addSuccess("success");
113
+            } else {
114
+                responseBean.addError("fail");
115
+            }
116
+        } catch (Exception e) {
117
+            e.printStackTrace();
118
+            logger.error("taRedPacketDelete -=- {}", e.toString());
119
+            responseBean.addError(e.getMessage());
120
+        }
121
+        return responseBean;
122
+    }
123
+
124
+    /**
125
+     * 修改对象
126
+     *
127
+     * @param taRedPacket 实体对象
128
+     * @return
129
+     */
130
+    @RequestMapping(value = "/admin/redPacket/update", method = RequestMethod.PUT)
131
+    public ResponseBean taRedPacketUpdate(@RequestBody TaRedPacket taRedPacket,HttpServletRequest request) {
132
+        ResponseBean responseBean = new ResponseBean();
133
+        try {
134
+            responseBean = iTaRedPacketService.updateRedPacket(taRedPacket,getOrgId(request));
135
+        } catch (Exception e) {
136
+            logger.error("taRedPacketUpdate -=- {}", e);
137
+            responseBean.addError(e.getMessage());
138
+        }
139
+        return responseBean;
140
+    }
141
+
142
+    /**
143
+     * 根据id查询对象
144
+     *
145
+     * @param id 实体ID
146
+     */
147
+    @RequestMapping(value = "/admin/redPacket/{id}", method = RequestMethod.GET)
148
+    public ResponseBean taRedPacketGet(@PathVariable String id) {
149
+        ResponseBean responseBean = new ResponseBean();
150
+        try {
151
+            TaRedPacket record = iTaRedPacketService.getById(id);
152
+            if (record != null) {
153
+                record = iTaRedPacketService.getRedPacketImages(record);
154
+                responseBean.addSuccess(record);
155
+            } else {
156
+                responseBean.addError("fail");
157
+            }
158
+        } catch (Exception e) {
159
+            logger.error("taRedPacketDelete -=- {}", e);
160
+            responseBean.addError(e.getMessage());
161
+        }
162
+        return responseBean;
163
+    }
164
+
165
+    /**
166
+     * 条件查询红包发送记录
167
+     *
168
+     * @param pageNum
169
+     * @param pageSize
170
+     * @param orderId
171
+     * @param wxOrderId
172
+     * @param tradeNo
173
+     * @param phone
174
+     * @param tradingStatus
175
+     * @param request
176
+     * @return
177
+     */
178
+    @RequestMapping(value = "/admin/redPacket/listSendRecord", method = RequestMethod.GET)
179
+    public ResponseBean listSendRecord(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
180
+                                       @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
181
+                                       String activityId,
182
+                                       String orderId,
183
+                                       String wxOrderId,
184
+                                       String tradeNo,
185
+                                       String phone,
186
+                                       String tradingStatus,
187
+                                       HttpServletRequest request) {
188
+        ResponseBean responseBean = new ResponseBean();
189
+        try {
190
+            responseBean = iTaOrgOrderService.listRedPacketRecords(pageNum, pageSize, phone, activityId, orderId, wxOrderId, tradeNo, tradingStatus, getOrgId(request));
191
+        } catch (Exception e) {
192
+            logger.error("listSendRecord -=- {}", e);
193
+            responseBean.addError(e.getMessage());
194
+        }
195
+        return responseBean;
196
+    }
197
+
198
+    /**
199
+     * 获取红包排行榜
200
+     *
201
+     * @param pageNum
202
+     * @param pageSize
203
+     * @param activityId
204
+     * @param phone
205
+     * @param request
206
+     * @return
207
+     */
208
+    @RequestMapping(value = "/admin/redPacket/getRedPacketRankingList", method = RequestMethod.GET)
209
+    public ResponseBean getRedPacketRankingList(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
210
+                                                @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
211
+                                                String activityId,
212
+                                                String phone,
213
+                                                HttpServletRequest request) {
214
+        ResponseBean responseBean = new ResponseBean();
215
+        try {
216
+            responseBean = iTaRedPacketPersonService.getRedPacketRankingList(pageNum, pageSize, activityId, phone, getOrgId(request));
217
+        } catch (Exception e) {
218
+            logger.error("getRedPacketRankingList -=- {}", e);
219
+            responseBean.addError(e.getMessage());
220
+        }
221
+        return responseBean;
222
+    }
223
+
224
+    /**
225
+     * 导出红包排行榜
226
+     *
227
+     * @param activityId
228
+     * @param phone
229
+     * @param request
230
+     * @param response
231
+     */
232
+    @RequestMapping(value = "/admin/redPacket/exportRedPacketRankingList", method = RequestMethod.GET)
233
+    public void exportRedPacketRankingList(String activityId,
234
+                                           String phone,
235
+                                           HttpServletRequest request,
236
+                                           HttpServletResponse response) throws Exception {
237
+        try {
238
+            iTaRedPacketPersonService.exportRedPacketRankingList(activityId, phone, getOrgId(request), response);
239
+        } catch (Exception e) {
240
+            logger.error("exportRefundOrderByCondition 异常:", e);
241
+            response.reset();
242
+            response.setContentType("application/json");
243
+            response.setCharacterEncoding("utf-8");
244
+            Map<String, Object> map = new HashMap();
245
+            map.put("code", ResponseBean.ERROR_UNAVAILABLE);
246
+            map.put("message", "下载文件失败" + e.getMessage());
247
+            response.getWriter().println(JSON.toJSONString(map));
248
+        }
249
+    }
250
+
251
+    /**
252
+     * 查询客户访问数据
253
+     *
254
+     * @param pageNum
255
+     * @param pageSize
256
+     * @param startTime
257
+     * @param endTime
258
+     * @param drainageId
259
+     * @param phone
260
+     * @param sharePersonPhone 分享人手机号
261
+     * @param request
262
+     * @return
263
+     */
264
+    @RequestMapping(value = "/admin/redPacket/listVisitRecordByCondition", method = RequestMethod.GET)
265
+    public ResponseBean listVisitRecordByCondition(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
266
+                                                   @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
267
+                                                   @RequestParam(value = "startTime", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDateTime startTime,
268
+                                                   @RequestParam(value = "endTime", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDateTime endTime,
269
+                                                   String drainageId,
270
+                                                   String phone,
271
+                                                   String sharePersonPhone,
272
+                                                   HttpServletRequest request) {
273
+        ResponseBean responseBean = new ResponseBean();
274
+        try {
275
+            responseBean = iTaRedPacketService.listVisitRecordByCondition(pageNum, pageSize, startTime, endTime, drainageId, phone, sharePersonPhone, getOrgId(request));
276
+        } catch (Exception e) {
277
+            logger.error("listVisitRecordByCondition -=- {}", e);
278
+            responseBean.addError(e.getMessage());
279
+        }
280
+        return responseBean;
281
+    }
282
+
283
+    /**
284
+     * 导出客户访问数据
285
+     *
286
+     * @param startTime
287
+     * @param endTime
288
+     * @param drainageId
289
+     * @param phone
290
+     * @param sharePersonPhone
291
+     * @param request
292
+     * @return
293
+     */
294
+    @RequestMapping(value = "/admin/redPacket/exportVisitRecordByCondition", method = RequestMethod.GET)
295
+    public void exportVisitRecordByCondition(@RequestParam(value = "startTime", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDateTime startTime,
296
+                                             @RequestParam(value = "endTime", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDateTime endTime,
297
+                                             String drainageId,
298
+                                             String phone,
299
+                                             String sharePersonPhone,
300
+                                             HttpServletRequest request,
301
+                                             HttpServletResponse response) throws Exception {
302
+        try {
303
+            iTaRedPacketService.exportVisitRecordByCondition(startTime, endTime, drainageId, phone, sharePersonPhone, getOrgId(request), response);
304
+        } catch (Exception e) {
305
+            logger.error("exportVisitRecordByCondition 异常:", e);
306
+            response.reset();
307
+            response.setContentType("application/json");
308
+            response.setCharacterEncoding("utf-8");
309
+            Map<String, Object> map = new HashMap();
310
+            map.put("code", ResponseBean.ERROR_UNAVAILABLE);
311
+            map.put("message", "下载文件失败" + e.getMessage());
312
+            response.getWriter().println(JSON.toJSONString(map));
313
+        }
314
+    }
315
+
316
+}

+ 145
- 0
src/main/java/com/huiju/estateagents/redpack/controller/TaRedPacketHelpController.java Просмотреть файл

@@ -0,0 +1,145 @@
1
+package com.huiju.estateagents.redpack.controller;
2
+
3
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4
+import com.baomidou.mybatisplus.core.metadata.IPage;
5
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6
+import com.huiju.estateagents.base.BaseController;
7
+import com.huiju.estateagents.base.ResponseBean;
8
+import com.huiju.estateagents.redpack.entity.TaRedPacketHelp;
9
+import com.huiju.estateagents.redpack.service.ITaRedPacketHelpService;
10
+import org.slf4j.Logger;
11
+import org.slf4j.LoggerFactory;
12
+import org.springframework.beans.factory.annotation.Autowired;
13
+import org.springframework.web.bind.annotation.*;
14
+
15
+import javax.servlet.http.HttpServletRequest;
16
+
17
+/**
18
+ * <p>
19
+ * 红包助力设置  前端控制器
20
+ * </p>
21
+ *
22
+ * @author fxf
23
+ * @since 2020-06-03
24
+ */
25
+@RestController
26
+@RequestMapping("/api")
27
+public class TaRedPacketHelpController extends BaseController {
28
+
29
+    private final Logger logger = LoggerFactory.getLogger(TaRedPacketHelpController.class);
30
+
31
+    @Autowired
32
+    public ITaRedPacketHelpService iTaRedPacketHelpService;
33
+
34
+
35
+    /**
36
+     * 分页查询列表
37
+     *
38
+     * @param pageNum
39
+     * @param pageSize
40
+     * @return
41
+     */
42
+    @RequestMapping(value = "/taRedPacketHelp", method = RequestMethod.GET)
43
+    public ResponseBean taRedPacketHelpList(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
44
+                                            @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) {
45
+        ResponseBean responseBean = new ResponseBean();
46
+        try {
47
+            //使用分页插件
48
+            IPage<TaRedPacketHelp> pg = new Page<>(pageNum, pageSize);
49
+            QueryWrapper<TaRedPacketHelp> queryWrapper = new QueryWrapper<>();
50
+            queryWrapper.orderByDesc("create_date");
51
+
52
+            IPage<TaRedPacketHelp> result = iTaRedPacketHelpService.page(pg, queryWrapper);
53
+            responseBean.addSuccess(result);
54
+        } catch (Exception e) {
55
+            e.printStackTrace();
56
+            logger.error("taRedPacketHelpList -=- {}", e.toString());
57
+            responseBean.addError(e.getMessage());
58
+        }
59
+        return responseBean;
60
+    }
61
+
62
+    /**
63
+     * 保存对象
64
+     *
65
+     * @param taRedPacketHelp 实体对象
66
+     * @return
67
+     */
68
+    @RequestMapping(value = "/admin/redPacket/help/save", method = RequestMethod.POST)
69
+    public ResponseBean taRedPacketHelpAdd(@RequestBody TaRedPacketHelp taRedPacketHelp) {
70
+        ResponseBean responseBean = new ResponseBean();
71
+        try {
72
+            if (iTaRedPacketHelpService.save(taRedPacketHelp)) {
73
+                responseBean.addSuccess(taRedPacketHelp);
74
+            } else {
75
+                responseBean.addError("fail");
76
+            }
77
+        } catch (Exception e) {
78
+            e.printStackTrace();
79
+            logger.error("taRedPacketHelpAdd -=- {}", e.toString());
80
+            responseBean.addError(e.getMessage());
81
+        }
82
+        return responseBean;
83
+    }
84
+
85
+    /**
86
+     * 根据id删除对象
87
+     *
88
+     * @param id 实体ID
89
+     */
90
+    @ResponseBody
91
+    @RequestMapping(value = "/taRedPacketHelp/{id}", method = RequestMethod.DELETE)
92
+    public ResponseBean taRedPacketHelpDelete(@PathVariable Integer id) {
93
+        ResponseBean responseBean = new ResponseBean();
94
+        try {
95
+            if (iTaRedPacketHelpService.removeById(id)) {
96
+                responseBean.addSuccess("success");
97
+            } else {
98
+                responseBean.addError("fail");
99
+            }
100
+        } catch (Exception e) {
101
+            e.printStackTrace();
102
+            logger.error("taRedPacketHelpDelete -=- {}", e.toString());
103
+            responseBean.addError(e.getMessage());
104
+        }
105
+        return responseBean;
106
+    }
107
+
108
+    /**
109
+     * 修改对象
110
+     *
111
+     * @param id              实体ID
112
+     * @param taRedPacketHelp 实体对象
113
+     * @return
114
+     */
115
+    @RequestMapping(value = "/admin/redPacket/help/{id}", method = RequestMethod.PUT)
116
+    public ResponseBean taRedPacketHelpUpdate(@RequestBody TaRedPacketHelp taRedPacketHelp) {
117
+        ResponseBean responseBean = new ResponseBean();
118
+        try {
119
+            responseBean = iTaRedPacketHelpService.updateRedPackHelp(taRedPacketHelp);
120
+        } catch (Exception e) {
121
+            e.printStackTrace();
122
+            logger.error("taRedPacketHelpUpdate -=- {}", e.toString());
123
+            responseBean.addError(e.getMessage());
124
+        }
125
+        return responseBean;
126
+    }
127
+
128
+    /**
129
+     * 根据id查询对象
130
+     *
131
+     * @param id 实体ID
132
+     */
133
+    @RequestMapping(value = "/admin/redPacket/help/{id}", method = RequestMethod.GET)
134
+    public ResponseBean taRedPacketHelpGet(@PathVariable String id, HttpServletRequest request) {
135
+        ResponseBean responseBean = new ResponseBean();
136
+        try {
137
+            responseBean = iTaRedPacketHelpService.getRedPacketHelpById(id,getOrgId(request));
138
+        } catch (Exception e) {
139
+            e.printStackTrace();
140
+            logger.error("taRedPacketHelpDelete -=- {}", e.toString());
141
+            responseBean.addError(e.getMessage());
142
+        }
143
+        return responseBean;
144
+    }
145
+}

+ 144
- 0
src/main/java/com/huiju/estateagents/redpack/controller/TaRedPacketHistoryController.java Просмотреть файл

@@ -0,0 +1,144 @@
1
+package com.huiju.estateagents.redpack.controller;
2
+
3
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4
+import com.baomidou.mybatisplus.core.metadata.IPage;
5
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6
+import com.huiju.estateagents.base.BaseController;
7
+import com.huiju.estateagents.base.ResponseBean;
8
+import com.huiju.estateagents.redpack.entity.TaRedPacketHistory;
9
+import com.huiju.estateagents.redpack.service.ITaRedPacketHistoryService;
10
+import org.slf4j.Logger;
11
+import org.slf4j.LoggerFactory;
12
+import org.springframework.beans.factory.annotation.Autowired;
13
+import org.springframework.web.bind.annotation.*;
14
+
15
+/**
16
+ * <p>
17
+    * 红包助力人员列表  前端控制器
18
+    * </p>
19
+ *
20
+ * @author fxf
21
+ * @since 2020-06-03
22
+ */
23
+@RestController
24
+@RequestMapping("/api")
25
+public class TaRedPacketHistoryController extends BaseController {
26
+
27
+    private final Logger logger = LoggerFactory.getLogger(TaRedPacketHistoryController.class);
28
+
29
+    @Autowired
30
+    public ITaRedPacketHistoryService iTaRedPacketHistoryService;
31
+
32
+
33
+    /**
34
+     * 分页查询列表
35
+     * @param pageNum
36
+     * @param pageSize
37
+     * @return
38
+     */
39
+    @RequestMapping(value="/admin/redPacket/history/list",method= RequestMethod.GET)
40
+    public ResponseBean taRedPacketHistoryList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
41
+                                               @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
42
+                                               String phone){
43
+        ResponseBean responseBean = new ResponseBean();
44
+        try {
45
+            //使用分页插件
46
+		    IPage<TaRedPacketHistory> pg = new Page<>(pageNum, pageSize);
47
+            QueryWrapper<TaRedPacketHistory> queryWrapper = new QueryWrapper<>();
48
+            queryWrapper.orderByDesc("create_date");
49
+
50
+            IPage<TaRedPacketHistory> result = iTaRedPacketHistoryService.page(pg, queryWrapper);
51
+            responseBean.addSuccess(result);
52
+        }catch (Exception e){
53
+            e.printStackTrace();
54
+            logger.error("taRedPacketHistoryList -=- {}",e.toString());
55
+            responseBean.addError(e.getMessage());
56
+        }
57
+        return responseBean;
58
+    }
59
+
60
+    /**
61
+     * 保存对象
62
+     * @param taRedPacketHistory 实体对象
63
+     * @return
64
+     */
65
+    @RequestMapping(value="/taRedPacketHistory",method= RequestMethod.POST)
66
+    public ResponseBean taRedPacketHistoryAdd(@RequestBody TaRedPacketHistory taRedPacketHistory){
67
+        ResponseBean responseBean = new ResponseBean();
68
+        try {
69
+            if (iTaRedPacketHistoryService.save(taRedPacketHistory)){
70
+                responseBean.addSuccess(taRedPacketHistory);
71
+            }else {
72
+                responseBean.addError("fail");
73
+            }
74
+        }catch (Exception e){
75
+            e.printStackTrace();
76
+            logger.error("taRedPacketHistoryAdd -=- {}",e.toString());
77
+            responseBean.addError(e.getMessage());
78
+        }
79
+        return responseBean;
80
+    }
81
+
82
+    /**
83
+     * 根据id删除对象
84
+     * @param id  实体ID
85
+     */
86
+    @ResponseBody
87
+    @RequestMapping(value="/taRedPacketHistory/{id}", method= RequestMethod.DELETE)
88
+    public ResponseBean taRedPacketHistoryDelete(@PathVariable Integer id){
89
+        ResponseBean responseBean = new ResponseBean();
90
+        try {
91
+            if(iTaRedPacketHistoryService.removeById(id)){
92
+                responseBean.addSuccess("success");
93
+            }else {
94
+                responseBean.addError("fail");
95
+            }
96
+        }catch (Exception e){
97
+            e.printStackTrace();
98
+            logger.error("taRedPacketHistoryDelete -=- {}",e.toString());
99
+            responseBean.addError(e.getMessage());
100
+        }
101
+        return responseBean;
102
+    }
103
+
104
+    /**
105
+     * 修改对象
106
+     * @param id  实体ID
107
+     * @param taRedPacketHistory 实体对象
108
+     * @return
109
+     */
110
+    @RequestMapping(value="/taRedPacketHistory/{id}",method= RequestMethod.PUT)
111
+    public ResponseBean taRedPacketHistoryUpdate(@PathVariable Integer id,
112
+                                        @RequestBody TaRedPacketHistory taRedPacketHistory){
113
+        ResponseBean responseBean = new ResponseBean();
114
+        try {
115
+            if (iTaRedPacketHistoryService.updateById(taRedPacketHistory)){
116
+                responseBean.addSuccess(taRedPacketHistory);
117
+            }else {
118
+                responseBean.addError("fail");
119
+            }
120
+        }catch (Exception e){
121
+            e.printStackTrace();
122
+            logger.error("taRedPacketHistoryUpdate -=- {}",e.toString());
123
+            responseBean.addError(e.getMessage());
124
+        }
125
+        return responseBean;
126
+    }
127
+
128
+    /**
129
+     * 根据id查询对象
130
+     * @param id  实体ID
131
+     */
132
+    @RequestMapping(value="/taRedPacketHistory/{id}",method= RequestMethod.GET)
133
+    public ResponseBean taRedPacketHistoryGet(@PathVariable Integer id){
134
+        ResponseBean responseBean = new ResponseBean();
135
+        try {
136
+            responseBean.addSuccess(iTaRedPacketHistoryService.getById(id));
137
+        }catch (Exception e){
138
+            e.printStackTrace();
139
+            logger.error("taRedPacketHistoryDelete -=- {}",e.toString());
140
+            responseBean.addError(e.getMessage());
141
+        }
142
+        return responseBean;
143
+    }
144
+}

+ 146
- 0
src/main/java/com/huiju/estateagents/redpack/controller/TaRedPacketMoneyController.java Просмотреть файл

@@ -0,0 +1,146 @@
1
+package com.huiju.estateagents.redpack.controller;
2
+
3
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4
+import com.baomidou.mybatisplus.core.metadata.IPage;
5
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6
+import com.huiju.estateagents.base.BaseController;
7
+import com.huiju.estateagents.base.ResponseBean;
8
+import com.huiju.estateagents.redpack.entity.TaRedPacketMoney;
9
+import com.huiju.estateagents.redpack.service.ITaRedPacketMoneyService;
10
+import org.slf4j.Logger;
11
+import org.slf4j.LoggerFactory;
12
+import org.springframework.beans.factory.annotation.Autowired;
13
+import org.springframework.web.bind.annotation.*;
14
+
15
+import javax.servlet.http.HttpServletRequest;
16
+
17
+/**
18
+ * <p>
19
+ * 红包金额设置  前端控制器
20
+ * </p>
21
+ *
22
+ * @author fxf
23
+ * @since 2020-06-03
24
+ */
25
+@RestController
26
+@RequestMapping("/api")
27
+public class TaRedPacketMoneyController extends BaseController {
28
+
29
+    private final Logger logger = LoggerFactory.getLogger(TaRedPacketMoneyController.class);
30
+
31
+    @Autowired
32
+    public ITaRedPacketMoneyService iTaRedPacketMoneyService;
33
+
34
+
35
+    /**
36
+     * 分页查询列表
37
+     *
38
+     * @param pageNum
39
+     * @param pageSize
40
+     * @return
41
+     */
42
+    @RequestMapping(value = "/taRedPacketMoney", method = RequestMethod.GET)
43
+    public ResponseBean taRedPacketMoneyList(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
44
+                                             @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) {
45
+        ResponseBean responseBean = new ResponseBean();
46
+        try {
47
+            //使用分页插件
48
+            IPage<TaRedPacketMoney> pg = new Page<>(pageNum, pageSize);
49
+            QueryWrapper<TaRedPacketMoney> queryWrapper = new QueryWrapper<>();
50
+            queryWrapper.orderByDesc("create_date");
51
+
52
+            IPage<TaRedPacketMoney> result = iTaRedPacketMoneyService.page(pg, queryWrapper);
53
+            responseBean.addSuccess(result);
54
+        } catch (Exception e) {
55
+            e.printStackTrace();
56
+            logger.error("taRedPacketMoneyList -=- {}", e.toString());
57
+            responseBean.addError(e.getMessage());
58
+        }
59
+        return responseBean;
60
+    }
61
+
62
+    /**
63
+     * 保存对象
64
+     *
65
+     * @param taRedPacketMoney 实体对象
66
+     * @return
67
+     */
68
+    @RequestMapping(value = "/taRedPacketMoney", method = RequestMethod.POST)
69
+    public ResponseBean taRedPacketMoneyAdd(@RequestBody TaRedPacketMoney taRedPacketMoney) {
70
+        ResponseBean responseBean = new ResponseBean();
71
+        try {
72
+            if (iTaRedPacketMoneyService.save(taRedPacketMoney)) {
73
+                responseBean.addSuccess(taRedPacketMoney);
74
+            } else {
75
+                responseBean.addError("fail");
76
+            }
77
+        } catch (Exception e) {
78
+            e.printStackTrace();
79
+            logger.error("taRedPacketMoneyAdd -=- {}", e.toString());
80
+            responseBean.addError(e.getMessage());
81
+        }
82
+        return responseBean;
83
+    }
84
+
85
+    /**
86
+     * 根据id删除对象
87
+     *
88
+     * @param id 实体ID
89
+     */
90
+    @ResponseBody
91
+    @RequestMapping(value = "/taRedPacketMoney/{id}", method = RequestMethod.DELETE)
92
+    public ResponseBean taRedPacketMoneyDelete(@PathVariable String id) {
93
+        ResponseBean responseBean = new ResponseBean();
94
+        try {
95
+            if (iTaRedPacketMoneyService.removeById(id)) {
96
+                responseBean.addSuccess("success");
97
+            } else {
98
+                responseBean.addError("fail");
99
+            }
100
+        } catch (Exception e) {
101
+            e.printStackTrace();
102
+            logger.error("taRedPacketMoneyDelete -=- {}", e.toString());
103
+            responseBean.addError(e.getMessage());
104
+        }
105
+        return responseBean;
106
+    }
107
+
108
+    /**
109
+     * 修改对象
110
+     *
111
+     * @param id               实体ID
112
+     * @param taRedPacketMoney 实体对象
113
+     * @return
114
+     */
115
+    @RequestMapping(value = "/admin/redPacket/money/{id}", method = RequestMethod.PUT)
116
+    public ResponseBean taRedPacketMoneyUpdate(@PathVariable("id") String id, @RequestBody TaRedPacketMoney taRedPacketMoney) {
117
+        ResponseBean responseBean = new ResponseBean();
118
+        try {
119
+            taRedPacketMoney.setActivityId(id);
120
+            responseBean = iTaRedPacketMoneyService.updateRedPacketMoney(taRedPacketMoney);
121
+        } catch (Exception e) {
122
+            e.printStackTrace();
123
+            logger.error("taRedPacketMoneyUpdate -=- {}", e.toString());
124
+            responseBean.addError(e.getMessage());
125
+        }
126
+        return responseBean;
127
+    }
128
+
129
+    /**
130
+     * 根据id查询对象
131
+     *
132
+     * @param id 实体ID
133
+     */
134
+    @RequestMapping(value = "/admin/redPacket/money/{id}", method = RequestMethod.GET)
135
+    public ResponseBean taRedPacketMoneyGet(@PathVariable String id, HttpServletRequest request) {
136
+        ResponseBean responseBean = new ResponseBean();
137
+        try {
138
+            responseBean = iTaRedPacketMoneyService.getRedPacketMoneyById(id, getOrgId(request));
139
+        } catch (Exception e) {
140
+            e.printStackTrace();
141
+            logger.error("taRedPacketMoneyDelete -=- {}", e.toString());
142
+            responseBean.addError(e.getMessage());
143
+        }
144
+        return responseBean;
145
+    }
146
+}

+ 143
- 0
src/main/java/com/huiju/estateagents/redpack/controller/TaRedPacketPersonController.java Просмотреть файл

@@ -0,0 +1,143 @@
1
+package com.huiju.estateagents.redpack.controller;
2
+
3
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4
+import com.baomidou.mybatisplus.core.metadata.IPage;
5
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6
+import com.huiju.estateagents.base.BaseController;
7
+import com.huiju.estateagents.base.ResponseBean;
8
+import com.huiju.estateagents.redpack.entity.TaRedPacketPerson;
9
+import com.huiju.estateagents.redpack.service.ITaRedPacketPersonService;
10
+import org.slf4j.Logger;
11
+import org.slf4j.LoggerFactory;
12
+import org.springframework.beans.factory.annotation.Autowired;
13
+import org.springframework.web.bind.annotation.*;
14
+
15
+/**
16
+ * <p>
17
+    * 红包助力报名表  前端控制器
18
+    * </p>
19
+ *
20
+ * @author fxf
21
+ * @since 2020-06-03
22
+ */
23
+@RestController
24
+@RequestMapping("/api")
25
+public class TaRedPacketPersonController extends BaseController {
26
+
27
+    private final Logger logger = LoggerFactory.getLogger(TaRedPacketPersonController.class);
28
+
29
+    @Autowired
30
+    public ITaRedPacketPersonService iTaRedPacketPersonService;
31
+
32
+
33
+    /**
34
+     * 分页查询列表
35
+     * @param pageNum
36
+     * @param pageSize
37
+     * @return
38
+     */
39
+    @RequestMapping(value="/admin/redPacket/person/list",method= RequestMethod.GET)
40
+    public ResponseBean taRedPacketPersonList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
41
+                                              @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize){
42
+        ResponseBean responseBean = new ResponseBean();
43
+        try {
44
+            //使用分页插件
45
+		    IPage<TaRedPacketPerson> pg = new Page<>(pageNum, pageSize);
46
+            QueryWrapper<TaRedPacketPerson> queryWrapper = new QueryWrapper<>();
47
+            queryWrapper.orderByDesc("create_date");
48
+
49
+            IPage<TaRedPacketPerson> result = iTaRedPacketPersonService.page(pg, queryWrapper);
50
+            responseBean.addSuccess(result);
51
+        }catch (Exception e){
52
+            e.printStackTrace();
53
+            logger.error("taRedPacketPersonList -=- {}",e.toString());
54
+            responseBean.addError(e.getMessage());
55
+        }
56
+        return responseBean;
57
+    }
58
+
59
+    /**
60
+     * 保存对象
61
+     * @param taRedPacketPerson 实体对象
62
+     * @return
63
+     */
64
+    @RequestMapping(value="/taRedPacketPerson",method= RequestMethod.POST)
65
+    public ResponseBean taRedPacketPersonAdd(@RequestBody TaRedPacketPerson taRedPacketPerson){
66
+        ResponseBean responseBean = new ResponseBean();
67
+        try {
68
+            if (iTaRedPacketPersonService.save(taRedPacketPerson)){
69
+                responseBean.addSuccess(taRedPacketPerson);
70
+            }else {
71
+                responseBean.addError("fail");
72
+            }
73
+        }catch (Exception e){
74
+            e.printStackTrace();
75
+            logger.error("taRedPacketPersonAdd -=- {}",e.toString());
76
+            responseBean.addError(e.getMessage());
77
+        }
78
+        return responseBean;
79
+    }
80
+
81
+    /**
82
+     * 根据id删除对象
83
+     * @param id  实体ID
84
+     */
85
+    @ResponseBody
86
+    @RequestMapping(value="/taRedPacketPerson/{id}", method= RequestMethod.DELETE)
87
+    public ResponseBean taRedPacketPersonDelete(@PathVariable Integer id){
88
+        ResponseBean responseBean = new ResponseBean();
89
+        try {
90
+            if(iTaRedPacketPersonService.removeById(id)){
91
+                responseBean.addSuccess("success");
92
+            }else {
93
+                responseBean.addError("fail");
94
+            }
95
+        }catch (Exception e){
96
+            e.printStackTrace();
97
+            logger.error("taRedPacketPersonDelete -=- {}",e.toString());
98
+            responseBean.addError(e.getMessage());
99
+        }
100
+        return responseBean;
101
+    }
102
+
103
+    /**
104
+     * 修改对象
105
+     * @param id  实体ID
106
+     * @param taRedPacketPerson 实体对象
107
+     * @return
108
+     */
109
+    @RequestMapping(value="/taRedPacketPerson/{id}",method= RequestMethod.PUT)
110
+    public ResponseBean taRedPacketPersonUpdate(@PathVariable Integer id,
111
+                                        @RequestBody TaRedPacketPerson taRedPacketPerson){
112
+        ResponseBean responseBean = new ResponseBean();
113
+        try {
114
+            if (iTaRedPacketPersonService.updateById(taRedPacketPerson)){
115
+                responseBean.addSuccess(taRedPacketPerson);
116
+            }else {
117
+                responseBean.addError("fail");
118
+            }
119
+        }catch (Exception e){
120
+            e.printStackTrace();
121
+            logger.error("taRedPacketPersonUpdate -=- {}",e.toString());
122
+            responseBean.addError(e.getMessage());
123
+        }
124
+        return responseBean;
125
+    }
126
+
127
+    /**
128
+     * 根据id查询对象
129
+     * @param id  实体ID
130
+     */
131
+    @RequestMapping(value="/taRedPacketPerson/{id}",method= RequestMethod.GET)
132
+    public ResponseBean taRedPacketPersonGet(@PathVariable Integer id){
133
+        ResponseBean responseBean = new ResponseBean();
134
+        try {
135
+            responseBean.addSuccess(iTaRedPacketPersonService.getById(id));
136
+        }catch (Exception e){
137
+            e.printStackTrace();
138
+            logger.error("taRedPacketPersonDelete -=- {}",e.toString());
139
+            responseBean.addError(e.getMessage());
140
+        }
141
+        return responseBean;
142
+    }
143
+}

+ 68
- 0
src/main/java/com/huiju/estateagents/redpack/entity/ConsumeOrder.java Просмотреть файл

@@ -0,0 +1,68 @@
1
+package com.huiju.estateagents.redpack.entity;
2
+
3
+import java.time.LocalDateTime;
4
+
5
+import com.alibaba.excel.annotation.ExcelProperty;
6
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
7
+
8
+import lombok.Data;
9
+
10
+@Data
11
+public class ConsumeOrder {
12
+    /**
13
+     * 订单编号
14
+     */
15
+    @ColumnWidth(15)
16
+    @ExcelProperty(value = "订单编号", index = 0)
17
+    private String tradeNo;
18
+
19
+    /**
20
+     * 消费组织
21
+     */
22
+    @ColumnWidth(15)
23
+    @ExcelProperty(value = "消费组织", index = 1)
24
+    private String miniAppName;
25
+
26
+    /**
27
+     * 消费金额
28
+     */
29
+    @ColumnWidth(15)
30
+    @ExcelProperty(value = "消费金额", index = 2)
31
+    private String amount;
32
+
33
+    /**
34
+     * 消费方式
35
+     */
36
+    @ColumnWidth(15)
37
+    @ExcelProperty(value = "消费方式", index = 3)
38
+    private String consumeType;
39
+
40
+    /**
41
+     * 活动名称
42
+     */
43
+    @ColumnWidth(15)
44
+    @ExcelProperty(value = "活动名称", index = 4)
45
+    private String activityName;
46
+
47
+    /**
48
+     * 消费下单时间
49
+     */
50
+    @ColumnWidth(15)
51
+    @ExcelProperty(value = "消费下单时间", index = 5)
52
+    private String createDate;
53
+
54
+    /**
55
+     * 接收人手机号
56
+     */
57
+    @ColumnWidth(15)
58
+    @ExcelProperty(value = "接收人手机号", index = 6)
59
+    private String phone;
60
+
61
+    /**
62
+     * 消费状态
63
+     */
64
+    @ColumnWidth(15)
65
+    @ExcelProperty(value = "消费状态", index = 7)
66
+    private String tradingStatus;
67
+
68
+}

+ 45
- 0
src/main/java/com/huiju/estateagents/redpack/entity/OrgAccountExport.java Просмотреть файл

@@ -0,0 +1,45 @@
1
+package com.huiju.estateagents.redpack.entity;
2
+
3
+import com.alibaba.excel.annotation.ExcelProperty;
4
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
5
+
6
+import lombok.Data;
7
+
8
+@Data
9
+public class OrgAccountExport {
10
+    /**
11
+     * 账户
12
+     */
13
+    @ColumnWidth(15)
14
+    @ExcelProperty(value = "账户", index = 0)
15
+    private String miniAppName;
16
+
17
+    /**
18
+     * 总充值金额
19
+     */
20
+    @ColumnWidth(15)
21
+    @ExcelProperty(value = "总充值金额", index = 1)
22
+    private String totalRecharge;
23
+
24
+    /**
25
+     * 消费金额
26
+     */
27
+    @ColumnWidth(15)
28
+    @ExcelProperty(value = "消费金额", index = 2)
29
+    private String consumeAmount;
30
+
31
+    /**
32
+     * 已退款金额
33
+     */
34
+    @ColumnWidth(15)
35
+    @ExcelProperty(value = "已退款金额", index = 3)
36
+    private String refundAmount;
37
+
38
+    /**
39
+     * 余额
40
+     */
41
+    @ColumnWidth(15)
42
+    @ExcelProperty(value = "余额", index = 4)
43
+    private String balance;
44
+
45
+}

+ 60
- 0
src/main/java/com/huiju/estateagents/redpack/entity/RechargeOrder.java Просмотреть файл

@@ -0,0 +1,60 @@
1
+package com.huiju.estateagents.redpack.entity;
2
+
3
+import java.time.LocalDateTime;
4
+
5
+import com.alibaba.excel.annotation.ExcelProperty;
6
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
7
+
8
+import lombok.Data;
9
+
10
+@Data
11
+public class RechargeOrder {
12
+    /**
13
+     * 订单编号
14
+     */
15
+    @ColumnWidth(15)
16
+    @ExcelProperty(value = "订单编号", index = 0)
17
+    private String tradeNo;
18
+
19
+    /**
20
+     * 充值组织
21
+     */
22
+    @ColumnWidth(15)
23
+    @ExcelProperty(value = "充值组织", index = 1)
24
+    private String miniAppName;
25
+
26
+    /**
27
+     * 充值金额
28
+     */
29
+    @ColumnWidth(15)
30
+    @ExcelProperty(value = "充值金额", index = 2)
31
+    private String amount;
32
+
33
+    /**
34
+     * 充值方式
35
+     */
36
+    @ColumnWidth(15)
37
+    @ExcelProperty(value = "充值方式", index = 3)
38
+    private String isOffline;
39
+
40
+    /**
41
+     * 下单时间
42
+     */
43
+    @ColumnWidth(15)
44
+    @ExcelProperty(value = "下单时间", index = 4)
45
+    private String createDate;
46
+
47
+    /**
48
+     * 充值状态
49
+     */
50
+    @ColumnWidth(15)
51
+    @ExcelProperty(value = "充值状态", index = 5)
52
+    private String tradingStatus;
53
+
54
+    /**
55
+     * 支付时间
56
+     */
57
+    @ColumnWidth(15)
58
+    @ExcelProperty(value = "支付时间", index = 6)
59
+    private String payDate;
60
+}

+ 54
- 0
src/main/java/com/huiju/estateagents/redpack/entity/RefundOrder.java Просмотреть файл

@@ -0,0 +1,54 @@
1
+package com.huiju.estateagents.redpack.entity;
2
+
3
+import java.time.LocalDateTime;
4
+
5
+import com.alibaba.excel.annotation.ExcelProperty;
6
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
7
+
8
+import lombok.Data;
9
+
10
+@Data
11
+public class RefundOrder {
12
+    /**
13
+     * 订单编号
14
+     */
15
+    @ColumnWidth(15)
16
+    @ExcelProperty(value = "订单编号", index = 0)
17
+    private String tradeNo;
18
+
19
+    /**
20
+     * 退款组织
21
+     */
22
+    @ColumnWidth(15)
23
+    @ExcelProperty(value = "退款组织", index = 1)
24
+    private String miniAppName;
25
+
26
+    /**
27
+     * 退款金额
28
+     */
29
+    @ColumnWidth(15)
30
+    @ExcelProperty(value = "退款金额", index = 2)
31
+    private String amount;
32
+
33
+    /**
34
+     * 退款创建时间
35
+     */
36
+    @ColumnWidth(15)
37
+    @ExcelProperty(value = "退款创建时间", index = 3)
38
+    private String createDate;
39
+
40
+    /**
41
+     * 退款状态
42
+     */
43
+    @ColumnWidth(15)
44
+    @ExcelProperty(value = "退款状态", index = 4)
45
+    private String auditStatus;
46
+
47
+    /**
48
+     * 驳回原因
49
+     */
50
+    @ColumnWidth(15)
51
+    @ExcelProperty(value = "驳回原因", index = 5)
52
+    private String auditResult;
53
+
54
+}

+ 63
- 0
src/main/java/com/huiju/estateagents/redpack/entity/TaH5Images.java Просмотреть файл

@@ -0,0 +1,63 @@
1
+package com.huiju.estateagents.redpack.entity;
2
+
3
+import com.baomidou.mybatisplus.annotation.IdType;
4
+import com.baomidou.mybatisplus.annotation.TableId;
5
+import java.time.LocalDateTime;
6
+import java.io.Serializable;
7
+import lombok.Data;
8
+import lombok.EqualsAndHashCode;
9
+import lombok.experimental.Accessors;
10
+
11
+/**
12
+ * <p>
13
+ * H5图片列表 
14
+ * </p>
15
+ *
16
+ * @author fxf
17
+ * @since 2020-06-03
18
+ */
19
+@Data
20
+@EqualsAndHashCode(callSuper = false)
21
+@Accessors(chain = true)
22
+public class TaH5Images implements Serializable {
23
+
24
+    private static final long serialVersionUID = 1L;
25
+
26
+    /**
27
+     * 序号
28
+     */
29
+    @TableId(value = "serial_no", type = IdType.AUTO)
30
+    private Integer serialNo;
31
+
32
+    /**
33
+     * 活动类型 RedPacket红包
34
+     */
35
+    private String activityType;
36
+
37
+    /**
38
+     * 活动ID
39
+     */
40
+    private String activityId;
41
+
42
+    /**
43
+     * 图片类型 活动类型+dot+图片类型
44
+     */
45
+    private String imageType;
46
+
47
+    /**
48
+     * 图片地址
49
+     */
50
+    private String imageUrl;
51
+
52
+    /**
53
+     * 排序
54
+     */
55
+    private Integer sortNo;
56
+
57
+    /**
58
+     * 创建时间
59
+     */
60
+    private LocalDateTime createDate;
61
+
62
+
63
+}

+ 65
- 0
src/main/java/com/huiju/estateagents/redpack/entity/TaH5Template.java Просмотреть файл

@@ -0,0 +1,65 @@
1
+package com.huiju.estateagents.redpack.entity;
2
+
3
+import java.time.LocalDateTime;
4
+import java.io.Serializable;
5
+import java.util.UUID;
6
+
7
+import com.baomidou.mybatisplus.annotation.IdType;
8
+import com.baomidou.mybatisplus.annotation.TableField;
9
+import com.baomidou.mybatisplus.annotation.TableId;
10
+
11
+import lombok.Data;
12
+import lombok.EqualsAndHashCode;
13
+import lombok.experimental.Accessors;
14
+
15
+/**
16
+ * <p>
17
+ * H5模板 
18
+ * </p>
19
+ *
20
+ * @author fxf
21
+ * @since 2020-06-03
22
+ */
23
+@Data
24
+@EqualsAndHashCode(callSuper = false)
25
+@Accessors(chain = true)
26
+public class TaH5Template implements Serializable {
27
+
28
+    private static final long serialVersionUID = 1L;
29
+
30
+    /**
31
+     * 模板ID
32
+     */
33
+    @TableId(value = "h5_template_id", type = IdType.UUID)
34
+    private String h5TemplateId;
35
+
36
+    /**
37
+     * 模板名称
38
+     */
39
+    private String name;
40
+
41
+    /**
42
+     * 活动类型 RedPacket红包
43
+     */
44
+    private String activityType;
45
+
46
+    /**
47
+     * 活动样例
48
+     */
49
+    private String activityId;
50
+
51
+    /**
52
+     * 创建时间
53
+     */
54
+    private LocalDateTime createDate;
55
+
56
+    /**
57
+     * 状态
58
+     */
59
+    private Integer status;
60
+
61
+    /**
62
+     * 活动地址
63
+     */
64
+    private String activityUrl;
65
+}

+ 35
- 0
src/main/java/com/huiju/estateagents/redpack/entity/TaMpMiniapp.java Просмотреть файл

@@ -0,0 +1,35 @@
1
+package com.huiju.estateagents.redpack.entity;
2
+
3
+import lombok.Data;
4
+import lombok.EqualsAndHashCode;
5
+import lombok.experimental.Accessors;
6
+
7
+import java.io.Serializable;
8
+
9
+/**
10
+ * <p>
11
+ * 公众号小程序账户映射 
12
+ * </p>
13
+ *
14
+ * @author fxf
15
+ * @since 2020-06-02
16
+ */
17
+@Data
18
+@EqualsAndHashCode(callSuper = false)
19
+@Accessors(chain = true)
20
+public class TaMpMiniapp implements Serializable {
21
+
22
+    private static final long serialVersionUID = 1L;
23
+
24
+    /**
25
+     * 公众号人员ID
26
+     */
27
+    private String mpPersonId;
28
+
29
+    /**
30
+     * 小程序人员ID
31
+     */
32
+    private String miniappPersonId;
33
+
34
+
35
+}

+ 89
- 0
src/main/java/com/huiju/estateagents/redpack/entity/TaMpPerson.java Просмотреть файл

@@ -0,0 +1,89 @@
1
+package com.huiju.estateagents.redpack.entity;
2
+
3
+import com.baomidou.mybatisplus.annotation.IdType;
4
+import com.baomidou.mybatisplus.annotation.TableId;
5
+import lombok.Data;
6
+import lombok.EqualsAndHashCode;
7
+import lombok.experimental.Accessors;
8
+
9
+import java.io.Serializable;
10
+import java.time.LocalDateTime;
11
+
12
+/**
13
+ * <p>
14
+ * 公众号用户表 
15
+ * </p>
16
+ *
17
+ * @author fxf
18
+ * @since 2020-06-02
19
+ */
20
+@Data
21
+@EqualsAndHashCode(callSuper = false)
22
+@Accessors(chain = true)
23
+public class TaMpPerson implements Serializable {
24
+
25
+    private static final long serialVersionUID = 1L;
26
+
27
+    /**
28
+     * 人员ID
29
+     */
30
+    @TableId(value = "mp_person_id", type = IdType.UUID)
31
+    private String mpPersonId;
32
+
33
+    /**
34
+     * openid
35
+     */
36
+    private String mpOpenid;
37
+
38
+    /**
39
+     * 昵称
40
+     */
41
+    private String nickname;
42
+
43
+    /**
44
+     * 头像
45
+     */
46
+    private String headimgurl;
47
+
48
+    /**
49
+     * 性别
50
+     */
51
+    private Integer sex;
52
+
53
+    /**
54
+     * 省份
55
+     */
56
+    private String province;
57
+
58
+    /**
59
+     * 城市
60
+     */
61
+    private String city;
62
+
63
+    /**
64
+     * 国家
65
+     */
66
+    private String country;
67
+
68
+    /**
69
+     * unionid
70
+     */
71
+    private String unionid;
72
+
73
+    /**
74
+     * 公众号ID
75
+     */
76
+    private String appid;
77
+
78
+    /**
79
+     * 创建时间
80
+     */
81
+    private LocalDateTime createDate;
82
+
83
+    /**
84
+     * 状态
85
+     */
86
+    private Integer status;
87
+
88
+
89
+}

+ 123
- 0
src/main/java/com/huiju/estateagents/redpack/entity/TaOrgAccount.java Просмотреть файл

@@ -0,0 +1,123 @@
1
+package com.huiju.estateagents.redpack.entity;
2
+
3
+import java.time.LocalDateTime;
4
+import java.io.Serializable;
5
+import java.util.List;
6
+
7
+import com.baomidou.mybatisplus.annotation.IdType;
8
+import com.baomidou.mybatisplus.annotation.TableField;
9
+import com.baomidou.mybatisplus.annotation.TableId;
10
+
11
+import lombok.Data;
12
+import lombok.EqualsAndHashCode;
13
+import lombok.experimental.Accessors;
14
+
15
+/**
16
+ * <p>
17
+ * 系统账户表 
18
+ * </p>
19
+ *
20
+ * @author fxf
21
+ * @since 2020-06-03
22
+ */
23
+@Data
24
+@EqualsAndHashCode(callSuper = false)
25
+@Accessors(chain = true)
26
+public class TaOrgAccount implements Serializable {
27
+
28
+    private static final long serialVersionUID = 1L;
29
+
30
+    /**
31
+     * 账户ID
32
+     */
33
+    @TableId(value = "account_id", type = IdType.UUID)
34
+    private String accountId;
35
+
36
+    /**
37
+     * 组织ID
38
+     */
39
+    private Integer orgId;
40
+
41
+    /**
42
+     * 可用余额 单位分
43
+     */
44
+    private Integer availableBalance;
45
+
46
+    /**
47
+     * 实际余额 单位分
48
+     */
49
+    private Integer realBalance;
50
+
51
+    /**
52
+     * 已消费 单位分
53
+     */
54
+    private Integer purchaseAmount;
55
+
56
+    /**
57
+     * 累计退费 单位分
58
+     */
59
+    private Integer totalRefund;
60
+
61
+    /**
62
+     * 创建时间
63
+     */
64
+    private LocalDateTime createDate;
65
+
66
+    /**
67
+     * 更新时间
68
+     */
69
+    private LocalDateTime modifyDate;
70
+
71
+    /**
72
+     * 状态
73
+     */
74
+    private Integer status;
75
+
76
+    /**
77
+     * 小程序名称
78
+     */
79
+    private String miniappName;
80
+
81
+
82
+    /**
83
+     * 充值凭证
84
+     */
85
+    @TableField(exist = false)
86
+    private List<String> certificateList;
87
+
88
+    /**
89
+     * 充值金额
90
+     */
91
+    @TableField(exist = false)
92
+    private String rechargeAmount;
93
+
94
+    /**
95
+     * 退费金额
96
+     */
97
+    @TableField(exist = false)
98
+    private String refundAmount;
99
+
100
+    /**
101
+     * 退款冻结金额
102
+     */
103
+    @TableField(exist = false)
104
+    private Integer refundBlockedAmount;
105
+
106
+    /**
107
+     * 代理商名称
108
+     */
109
+    @TableField(exist = false)
110
+    private String channelProxyName;
111
+
112
+    /**
113
+     * 总充值金额
114
+     */
115
+    @TableField(exist = false)
116
+    private Integer totalRechargeAmount;
117
+
118
+    /**
119
+     * 公司/组织名称
120
+     */
121
+    @TableField(exist = false)
122
+    private String orgName;
123
+}

+ 63
- 0
src/main/java/com/huiju/estateagents/redpack/entity/TaOrgAccountBlocked.java Просмотреть файл

@@ -0,0 +1,63 @@
1
+package com.huiju.estateagents.redpack.entity;
2
+
3
+import com.baomidou.mybatisplus.annotation.IdType;
4
+import com.baomidou.mybatisplus.annotation.TableId;
5
+import java.time.LocalDateTime;
6
+import java.io.Serializable;
7
+import lombok.Data;
8
+import lombok.EqualsAndHashCode;
9
+import lombok.experimental.Accessors;
10
+
11
+/**
12
+ * <p>
13
+ * 账户冻结记录 
14
+ * </p>
15
+ *
16
+ * @author fxf
17
+ * @since 2020-06-03
18
+ */
19
+@Data
20
+@EqualsAndHashCode(callSuper = false)
21
+@Accessors(chain = true)
22
+public class TaOrgAccountBlocked implements Serializable {
23
+
24
+    private static final long serialVersionUID = 1L;
25
+
26
+    /**
27
+     * 序号
28
+     */
29
+    @TableId(value = "serial_no", type = IdType.AUTO)
30
+    private Integer serialNo;
31
+
32
+    /**
33
+     * 账户ID
34
+     */
35
+    private String accountId;
36
+
37
+    /**
38
+     * 公司id
39
+     */
40
+    private Integer orgId;
41
+
42
+    /**
43
+     * 冻结金额 单位分
44
+     */
45
+    private Integer blockedBalance;
46
+
47
+    /**
48
+     * 冻结理由
49
+     */
50
+    private String blockedReason;
51
+
52
+    /**
53
+     * 冻结时间
54
+     */
55
+    private LocalDateTime createDate;
56
+
57
+    /**
58
+     * 状态
59
+     */
60
+    private Integer status;
61
+
62
+
63
+}

+ 88
- 0
src/main/java/com/huiju/estateagents/redpack/entity/TaOrgAccountCertificate.java Просмотреть файл

@@ -0,0 +1,88 @@
1
+package com.huiju.estateagents.redpack.entity;
2
+
3
+import com.baomidou.mybatisplus.annotation.IdType;
4
+import com.baomidou.mybatisplus.annotation.TableId;
5
+import java.time.LocalDateTime;
6
+import java.io.Serializable;
7
+import lombok.Data;
8
+import lombok.EqualsAndHashCode;
9
+import lombok.experimental.Accessors;
10
+
11
+/**
12
+ * <p>
13
+ * 账户相关凭证 
14
+ * </p>
15
+ *
16
+ * @author fxf
17
+ * @since 2020-06-03
18
+ */
19
+@Data
20
+@EqualsAndHashCode(callSuper = false)
21
+@Accessors(chain = true)
22
+public class TaOrgAccountCertificate implements Serializable {
23
+
24
+    private static final long serialVersionUID = 1L;
25
+
26
+    /**
27
+     * 凭证ID
28
+     */
29
+    @TableId(value = "serial_no", type = IdType.AUTO)
30
+    private Integer serialNo;
31
+
32
+    /**
33
+     * 公司id
34
+     */
35
+    private Integer orgId;
36
+
37
+    /**
38
+     * 账户ID
39
+     */
40
+    private String accountId;
41
+
42
+    /**
43
+     * 账户流水ID
44
+     */
45
+    private Integer accountSerialNo;
46
+
47
+    /**
48
+     * 订单ID
49
+     */
50
+    private String orderId;
51
+
52
+    /**
53
+     * 关联用处 充值,退费
54
+     */
55
+    private String consumptionType;
56
+
57
+    /**
58
+     * 凭证说明
59
+     */
60
+    private String remark;
61
+
62
+    /**
63
+     * 凭证地址
64
+     */
65
+    private String url;
66
+
67
+    /**
68
+     * 创建时间
69
+     */
70
+    private LocalDateTime createDate;
71
+
72
+    /**
73
+     * 上传人
74
+     */
75
+    private Integer userId;
76
+
77
+    /**
78
+     * 上传人名称
79
+     */
80
+    private String userName;
81
+
82
+    /**
83
+     * 状态
84
+     */
85
+    private Integer status;
86
+
87
+
88
+}

+ 83
- 0
src/main/java/com/huiju/estateagents/redpack/entity/TaOrgAccountDetailedList.java Просмотреть файл

@@ -0,0 +1,83 @@
1
+package com.huiju.estateagents.redpack.entity;
2
+
3
+import com.baomidou.mybatisplus.annotation.IdType;
4
+import com.baomidou.mybatisplus.annotation.TableId;
5
+import java.time.LocalDateTime;
6
+import java.io.Serializable;
7
+import lombok.Data;
8
+import lombok.EqualsAndHashCode;
9
+import lombok.experimental.Accessors;
10
+
11
+/**
12
+ * <p>
13
+ * 账户消费流水 
14
+ * </p>
15
+ *
16
+ * @author fxf
17
+ * @since 2020-06-03
18
+ */
19
+@Data
20
+@EqualsAndHashCode(callSuper = false)
21
+@Accessors(chain = true)
22
+public class TaOrgAccountDetailedList implements Serializable {
23
+
24
+    private static final long serialVersionUID = 1L;
25
+
26
+    /**
27
+     * 序号
28
+     */
29
+    @TableId(value = "serial_no", type = IdType.AUTO)
30
+    private Integer serialNo;
31
+
32
+    /**
33
+     * 账户ID
34
+     */
35
+    private String accountId;
36
+
37
+    /**
38
+     * 公司id
39
+     */
40
+    private Integer orgId;
41
+
42
+    /**
43
+     * 发生额 单位分
44
+     */
45
+    private Integer amount;
46
+
47
+    /**
48
+     * 发生类型 1收入,-1支出
49
+     */
50
+    private Integer signType;
51
+
52
+    /**
53
+     * 订单ID
54
+     */
55
+    private String orderId;
56
+
57
+    /**
58
+     * 说明
59
+     */
60
+    private String remark;
61
+
62
+    /**
63
+     * 消费时间
64
+     */
65
+    private LocalDateTime createDate;
66
+
67
+    /**
68
+     * 状态
69
+     */
70
+    private Integer status;
71
+
72
+    /**
73
+     * 操作人ID
74
+     */
75
+    private Integer userId;
76
+
77
+    /**
78
+     * 操作人名称
79
+     */
80
+    private String userName;
81
+
82
+
83
+}

+ 175
- 0
src/main/java/com/huiju/estateagents/redpack/entity/TaOrgOrder.java Просмотреть файл

@@ -0,0 +1,175 @@
1
+package com.huiju.estateagents.redpack.entity;
2
+
3
+import java.time.LocalDateTime;
4
+import java.io.Serializable;
5
+import java.util.List;
6
+
7
+import com.baomidou.mybatisplus.annotation.IdType;
8
+import com.baomidou.mybatisplus.annotation.TableField;
9
+import com.baomidou.mybatisplus.annotation.TableId;
10
+
11
+import lombok.Data;
12
+import lombok.EqualsAndHashCode;
13
+import lombok.experimental.Accessors;
14
+
15
+/**
16
+ * <p>
17
+ * 组织订单表
18
+ * </p>
19
+ *
20
+ * @author fxf
21
+ * @since 2020-06-03
22
+ */
23
+@Data
24
+@EqualsAndHashCode(callSuper = false)
25
+@Accessors(chain = true)
26
+public class TaOrgOrder implements Serializable {
27
+
28
+    private static final long serialVersionUID = 1L;
29
+
30
+    /**
31
+     * 订单ID
32
+     */
33
+    @TableId(value = "order_id", type = IdType.UUID)
34
+    private String orderId;
35
+
36
+    /**
37
+     * 公司id
38
+     */
39
+    private Integer orgId;
40
+
41
+    /**
42
+     * 交易号
43
+     */
44
+    private String tradeNo;
45
+
46
+    /**
47
+     * 发生金额 单位分
48
+     */
49
+    private Integer amount;
50
+
51
+    /**
52
+     * 发生时间
53
+     */
54
+    private LocalDateTime createDate;
55
+
56
+    /**
57
+     * 过期时间
58
+     */
59
+    private LocalDateTime expiryDate;
60
+
61
+    /**
62
+     * 支付时间
63
+     */
64
+    private LocalDateTime payDate;
65
+
66
+    /**
67
+     * 微信订单ID
68
+     */
69
+    private String wxOrderId;
70
+
71
+    /**
72
+     * 备注
73
+     */
74
+    private String remark;
75
+
76
+    /**
77
+     * 状态 记录是否有效
78
+     */
79
+    private Integer status;
80
+
81
+    /**
82
+     * 交易状态 进行中,成功,失败
83
+     */
84
+    private String tradingStatus;
85
+
86
+    /**
87
+     * 线下操作
88
+     */
89
+    private Boolean isOffline;
90
+
91
+    /**
92
+     * 下单人
93
+     */
94
+    private Integer userId;
95
+
96
+    /**
97
+     * 下单人名称
98
+     */
99
+    private String userName;
100
+
101
+    @TableField(exist = false)
102
+    private String miniAppName;
103
+
104
+    @TableField(exist = false)
105
+    private String certificateUrl;
106
+
107
+    @TableField(exist = false)
108
+    private List<String> certificateUrlList;
109
+
110
+    @TableField(exist = false)
111
+    private List<TaOrgAccountCertificate> certificateList;
112
+
113
+    @TableField(exist = false)
114
+    private String auditStatus;
115
+
116
+    @TableField(exist = false)
117
+    private String auditResult;
118
+
119
+    @TableField(exist = false)
120
+    private String phone;
121
+
122
+    /**
123
+     * 接收红包人昵称
124
+     */
125
+    @TableField(exist = false)
126
+    private String nickname;
127
+
128
+    /**
129
+     * 子订单金额
130
+     */
131
+    @TableField(exist = false)
132
+    private String detailAmount;
133
+
134
+    /**
135
+     * 接受红包人头像
136
+     */
137
+    @TableField(exist = false)
138
+    private String avatarurl;
139
+
140
+    /**
141
+     * 消费方式
142
+     */
143
+    @TableField(exist = false)
144
+    private String consumeType;
145
+
146
+    /**
147
+     * 活动名称
148
+     */
149
+    @TableField(exist = false)
150
+    private String activityName;
151
+
152
+    /**
153
+     * 账户实际余额
154
+     */
155
+    @TableField(exist = false)
156
+    private Integer realBalance;
157
+
158
+    /**
159
+     * 账户可用余额
160
+     */
161
+    @TableField(exist = false)
162
+    private Integer availableBalance;
163
+
164
+    /**
165
+     * 实付金额
166
+     */
167
+    private Integer realAmount;
168
+
169
+    /**
170
+     * 用户姓名
171
+     */
172
+    @TableField(exist = false)
173
+    private String name;
174
+
175
+}

+ 95
- 0
src/main/java/com/huiju/estateagents/redpack/entity/TaOrgOrderDetail.java Просмотреть файл

@@ -0,0 +1,95 @@
1
+package com.huiju.estateagents.redpack.entity;
2
+
3
+import com.baomidou.mybatisplus.annotation.IdType;
4
+import com.baomidou.mybatisplus.annotation.TableId;
5
+import java.io.Serializable;
6
+import lombok.Data;
7
+import lombok.EqualsAndHashCode;
8
+import lombok.experimental.Accessors;
9
+
10
+/**
11
+ * <p>
12
+ * 组织订单明细 
13
+ * </p>
14
+ *
15
+ * @author fxf
16
+ * @since 2020-06-03
17
+ */
18
+@Data
19
+@EqualsAndHashCode(callSuper = false)
20
+@Accessors(chain = true)
21
+public class TaOrgOrderDetail implements Serializable {
22
+
23
+    private static final long serialVersionUID = 1L;
24
+
25
+    /**
26
+     * 明细ID
27
+     */
28
+    @TableId(value = "serial_no", type = IdType.AUTO)
29
+    private Integer serialNo;
30
+
31
+    /**
32
+     * 订单ID
33
+     */
34
+    private String orderId;
35
+
36
+    /**
37
+     * 公司id
38
+     */
39
+    private Integer orgId;
40
+
41
+    /**
42
+     * 明细类型 充值,退费,红包
43
+     */
44
+    private String itemType;
45
+
46
+    /**
47
+     * 关联对象 比如活动
48
+     */
49
+    private String targetType;
50
+
51
+    /**
52
+     * 对象ID
53
+     */
54
+    private String targetId;
55
+
56
+    /**
57
+     * 单价 单位分
58
+     */
59
+    private Integer unitPrice;
60
+
61
+    /**
62
+     * 数量
63
+     */
64
+    private Integer quantity;
65
+
66
+    /**
67
+     * 金额 单位分
68
+     */
69
+    private Integer amount;
70
+
71
+    /**
72
+     * 状态
73
+     */
74
+    private Integer status;
75
+
76
+    /**
77
+     * 接收人(小程序) 红包接收人
78
+     */
79
+    private String receiverId;
80
+
81
+    /**
82
+     * 接收人名称
83
+     */
84
+    private String receiverName;
85
+
86
+    /**
87
+     * 接收人公众号
88
+     */
89
+    private String receiverMpId;
90
+
91
+    /**
92
+     * 实付金额
93
+     */
94
+    private Integer realAmount;
95
+}

+ 103
- 0
src/main/java/com/huiju/estateagents/redpack/entity/TaOrgRefundApplication.java Просмотреть файл

@@ -0,0 +1,103 @@
1
+package com.huiju.estateagents.redpack.entity;
2
+
3
+import java.time.LocalDateTime;
4
+import java.io.Serializable;
5
+import java.util.List;
6
+
7
+import com.baomidou.mybatisplus.annotation.IdType;
8
+import com.baomidou.mybatisplus.annotation.TableField;
9
+import com.baomidou.mybatisplus.annotation.TableId;
10
+
11
+import lombok.Data;
12
+import lombok.EqualsAndHashCode;
13
+import lombok.experimental.Accessors;
14
+
15
+/**
16
+ * <p>
17
+ * 账户退款申请 
18
+ * </p>
19
+ *
20
+ * @author fxf
21
+ * @since 2020-06-03
22
+ */
23
+@Data
24
+@EqualsAndHashCode(callSuper = false)
25
+@Accessors(chain = true)
26
+public class TaOrgRefundApplication implements Serializable {
27
+
28
+    private static final long serialVersionUID = 1L;
29
+
30
+    /**
31
+     * 申请ID
32
+     */
33
+    @TableId(value = "refund_id", type = IdType.UUID)
34
+    private String refundId;
35
+
36
+    /**
37
+     * 申请公司
38
+     */
39
+    private Integer orgId;
40
+
41
+    /**
42
+     * 申请人
43
+     */
44
+    private Integer userId;
45
+
46
+    /**
47
+     * 申请人名称
48
+     */
49
+    private String userName;
50
+
51
+    /**
52
+     * 申请原因
53
+     */
54
+    private String reason;
55
+
56
+    /**
57
+     * 退款金额
58
+     */
59
+    private Integer amount;
60
+
61
+    /**
62
+     * 审核人
63
+     */
64
+    private Integer auditorId;
65
+
66
+    /**
67
+     * 审核人名称
68
+     */
69
+    private String auditorName;
70
+
71
+    /**
72
+     * 审核状态 未审核,同意,不同意
73
+     */
74
+    private String auditStatus;
75
+
76
+    /**
77
+     * 审核意见
78
+     */
79
+    private String auditResult;
80
+
81
+    /**
82
+     * 订单ID
83
+     */
84
+    private String orderId;
85
+
86
+    /**
87
+     * 创建时间
88
+     */
89
+    private LocalDateTime createDate;
90
+
91
+    /**
92
+     * 冻结ID
93
+     */
94
+    private Integer blockedId;
95
+
96
+    /**
97
+     * 状态
98
+     */
99
+    private Integer status;
100
+
101
+    @TableField(exist = false)
102
+    private List<String> certificateList;
103
+}

+ 157
- 0
src/main/java/com/huiju/estateagents/redpack/entity/TaRedPacket.java Просмотреть файл

@@ -0,0 +1,157 @@
1
+package com.huiju.estateagents.redpack.entity;
2
+
3
+import com.baomidou.mybatisplus.annotation.IdType;
4
+import com.baomidou.mybatisplus.annotation.TableField;
5
+import com.baomidou.mybatisplus.annotation.TableId;
6
+import lombok.Data;
7
+import lombok.EqualsAndHashCode;
8
+import lombok.experimental.Accessors;
9
+
10
+import java.io.Serializable;
11
+import java.time.LocalDateTime;
12
+
13
+/**
14
+ * <p>
15
+ * 红包助力活动
16
+ * </p>
17
+ *
18
+ * @author fxf
19
+ * @since 2020-06-03
20
+ */
21
+@Data
22
+@EqualsAndHashCode(callSuper = false)
23
+@Accessors(chain = true)
24
+public class TaRedPacket implements Serializable {
25
+
26
+    private static final long serialVersionUID = 1L;
27
+
28
+    /**
29
+     * 活动ID
30
+     */
31
+    @TableId(value = "activity_id", type = IdType.UUID)
32
+    private String activityId;
33
+
34
+    /**
35
+     * 活动名称
36
+     */
37
+    private String name;
38
+
39
+    /**
40
+     * 活动开始时间
41
+     */
42
+    private LocalDateTime startDate;
43
+
44
+    /**
45
+     * 活动结束时间
46
+     */
47
+    private LocalDateTime endDate;
48
+
49
+    /**
50
+     * 活动结束提示
51
+     */
52
+    private String activityEndTip;
53
+
54
+    /**
55
+     * qrcode
56
+     */
57
+    private String qrcode;
58
+
59
+    /**
60
+     * 上榜人数限制
61
+     */
62
+    private Integer topLimitPersons;
63
+
64
+    /**
65
+     * 查看楼盘按钮位置 index首页,help助力页,rule规则页,多个逗号连接
66
+     */
67
+    private String buildingShowPos;
68
+
69
+    /**
70
+     * 关联楼盘
71
+     */
72
+    private String buildingId;
73
+
74
+    /**
75
+     * 楼盘名称
76
+     */
77
+    private String buildingName;
78
+
79
+    /**
80
+     * 生成海报按钮位置
81
+     */
82
+    private String posterShowPos;
83
+
84
+    /**
85
+     * 报名字段 json
86
+     */
87
+    private String joinFields;
88
+
89
+    /**
90
+     * 公司id
91
+     */
92
+    private Integer orgId;
93
+
94
+    /**
95
+     * 创建时间
96
+     */
97
+    private LocalDateTime createDate;
98
+
99
+    /**
100
+     * 状态
101
+     */
102
+    private Integer status;
103
+
104
+    /**
105
+     * 首页背景图
106
+     */
107
+    @TableField(exist = false)
108
+    private String indexBackgroundImg;
109
+
110
+    /**
111
+     * 分享海报图
112
+     */
113
+    @TableField(exist = false)
114
+    private String sharePosterImg;
115
+
116
+    /**
117
+     * 活动规则图
118
+     */
119
+    @TableField(exist = false)
120
+    private String activityRulesImg;
121
+
122
+    /**
123
+     * 助力页背景图
124
+     */
125
+    @TableField(exist = false)
126
+    private String helpBackgroundImg;
127
+
128
+    /**
129
+     * 排行榜背景图
130
+     */
131
+    @TableField(exist = false)
132
+    private String rankingBackgroundImg;
133
+
134
+    /**
135
+     * 红包助力配置
136
+     */
137
+    @TableField(exist = false)
138
+    private TaRedPacketHelp taRedPacketHelp;
139
+
140
+    /**
141
+     * 红包金额配置
142
+     */
143
+    @TableField(exist = false)
144
+    private TaRedPacketMoney taRedPacketMoney;
145
+
146
+    /**
147
+     * 红包客户端消息配置
148
+     */
149
+    @TableField(exist = false)
150
+    private TaRedPacketClient taRedPacketClient;
151
+
152
+    /**
153
+     * 模板表配置的活动ID
154
+     */
155
+    @TableField(exist = false)
156
+    private String templeActivityId;
157
+}

+ 0
- 0
src/main/java/com/huiju/estateagents/redpack/entity/TaRedPacketClient.java Просмотреть файл


Некоторые файлы не были показаны из-за большого количества измененных файлов