Your Name 4 年之前
父節點
當前提交
d2f275fb4a
共有 100 個文件被更改,包括 2202 次插入487 次删除
  1. 0
    114
      .mvn/wrapper/MavenWrapperDownloader.java
  2. 二進制
      .mvn/wrapper/maven-wrapper.jar
  3. 0
    1
      .mvn/wrapper/maven-wrapper.properties
  4. 6
    1
      pom.xml
  5. 0
    2
      src/main/java/com/huiju/estateagents/EstateagentsApplication.java
  6. 54
    26
      src/main/java/com/huiju/estateagents/center/taUser/controller/TaUserController.java
  7. 7
    0
      src/main/java/com/huiju/estateagents/center/taUser/entity/TaUser.java
  8. 8
    0
      src/main/java/com/huiju/estateagents/center/taUser/mapper/TaUserMapper.java
  9. 2
    0
      src/main/java/com/huiju/estateagents/center/taUser/service/ITaUserService.java
  10. 25
    0
      src/main/java/com/huiju/estateagents/center/taUser/service/impl/TaUserServiceImpl.java
  11. 91
    0
      src/main/java/com/huiju/estateagents/common/CaptchaUtils.java
  12. 3
    2
      src/main/java/com/huiju/estateagents/common/CommConstant.java
  13. 19
    0
      src/main/java/com/huiju/estateagents/common/DateUtils.java
  14. 75
    0
      src/main/java/com/huiju/estateagents/common/LoginLocker.java
  15. 15
    0
      src/main/java/com/huiju/estateagents/common/StringUtils.java
  16. 8
    8
      src/main/java/com/huiju/estateagents/common/smsService/Captcha.java
  17. 12
    6
      src/main/java/com/huiju/estateagents/controller/CommonController.java
  18. 45
    11
      src/main/java/com/huiju/estateagents/controller/TaPersonController.java
  19. 75
    1
      src/main/java/com/huiju/estateagents/controller/TaPointsExchangeController.java
  20. 6
    0
      src/main/java/com/huiju/estateagents/controller/TaPointsRecordsController.java
  21. 3
    1
      src/main/java/com/huiju/estateagents/controller/TpNewsController.java
  22. 1
    1
      src/main/java/com/huiju/estateagents/entity/TaPointsExchange.java
  23. 29
    0
      src/main/java/com/huiju/estateagents/excel/TaPersonExport.java
  24. 57
    0
      src/main/java/com/huiju/estateagents/excel/TaPointsExchangeExport.java
  25. 41
    0
      src/main/java/com/huiju/estateagents/excel/TpBuildingOwnerInfoExport.java
  26. 1
    0
      src/main/java/com/huiju/estateagents/interceptor/AccessInterceptor.java
  27. 3
    0
      src/main/java/com/huiju/estateagents/mapper/TaActivityDynamicEnlistMapper.java
  28. 3
    0
      src/main/java/com/huiju/estateagents/mapper/TaPersonMapper.java
  29. 4
    0
      src/main/java/com/huiju/estateagents/mapper/TaPointsExchangeMapper.java
  30. 5
    1
      src/main/java/com/huiju/estateagents/property/controller/AnnouncementTelController.java
  31. 26
    20
      src/main/java/com/huiju/estateagents/property/controller/BillController.java
  32. 6
    3
      src/main/java/com/huiju/estateagents/property/controller/BillInvoiceController.java
  33. 82
    6
      src/main/java/com/huiju/estateagents/property/controller/BuildingOwnerInfoController.java
  34. 20
    2
      src/main/java/com/huiju/estateagents/property/controller/BuildingTreeController.java
  35. 108
    10
      src/main/java/com/huiju/estateagents/property/controller/IndexCountController.java
  36. 160
    0
      src/main/java/com/huiju/estateagents/property/controller/TpCommunityController.java
  37. 45
    0
      src/main/java/com/huiju/estateagents/property/controller/TpRoomNoController.java
  38. 2
    2
      src/main/java/com/huiju/estateagents/property/controller/TpTicketController.java
  39. 4
    2
      src/main/java/com/huiju/estateagents/property/controller/UserVerifyController.java
  40. 6
    1
      src/main/java/com/huiju/estateagents/property/dao/TaUserVerifyMapper.java
  41. 3
    0
      src/main/java/com/huiju/estateagents/property/dao/TpBillOrderMapper.java
  42. 7
    0
      src/main/java/com/huiju/estateagents/property/dao/TpBuildingMapper.java
  43. 4
    0
      src/main/java/com/huiju/estateagents/property/dao/TpBuildingOwnerInfoMapper.java
  44. 13
    4
      src/main/java/com/huiju/estateagents/property/dao/TpLevelMapper.java
  45. 2
    0
      src/main/java/com/huiju/estateagents/property/dao/TpPhaseMapper.java
  46. 23
    2
      src/main/java/com/huiju/estateagents/property/dao/TpRoomNoMapper.java
  47. 6
    0
      src/main/java/com/huiju/estateagents/property/dao/TpTicketMapper.java
  48. 9
    4
      src/main/java/com/huiju/estateagents/property/dao/TpUnitMapper.java
  49. 44
    0
      src/main/java/com/huiju/estateagents/property/entity/TaUserCommunity.java
  50. 47
    0
      src/main/java/com/huiju/estateagents/property/entity/TpBillType.java
  51. 46
    0
      src/main/java/com/huiju/estateagents/property/entity/TpCommunity.java
  52. 18
    0
      src/main/java/com/huiju/estateagents/property/mapper/TaUserCommunityMapper.java
  53. 17
    0
      src/main/java/com/huiju/estateagents/property/mapper/TpBillTypeMapper.java
  54. 21
    0
      src/main/java/com/huiju/estateagents/property/mapper/TpCommunityMapper.java
  55. 3
    1
      src/main/java/com/huiju/estateagents/property/model/AnnouncementTel.java
  56. 14
    1
      src/main/java/com/huiju/estateagents/property/model/Bill.java
  57. 2
    3
      src/main/java/com/huiju/estateagents/property/model/BillInvoice.java
  58. 3
    1
      src/main/java/com/huiju/estateagents/property/model/TaUserVerify.java
  59. 9
    1
      src/main/java/com/huiju/estateagents/property/model/TpAnnouncement.java
  60. 9
    1
      src/main/java/com/huiju/estateagents/property/model/TpBillOrder.java
  61. 4
    1
      src/main/java/com/huiju/estateagents/property/model/TpBuilding.java
  62. 4
    2
      src/main/java/com/huiju/estateagents/property/model/TpBuildingOwnerInfo.java
  63. 4
    2
      src/main/java/com/huiju/estateagents/property/model/TpLevel.java
  64. 6
    4
      src/main/java/com/huiju/estateagents/property/model/TpPhase.java
  65. 5
    3
      src/main/java/com/huiju/estateagents/property/model/TpRoomNo.java
  66. 4
    1
      src/main/java/com/huiju/estateagents/property/model/TpTicket.java
  67. 4
    2
      src/main/java/com/huiju/estateagents/property/model/TpUnit.java
  68. 12
    2
      src/main/java/com/huiju/estateagents/property/service/BuildingTreeServiceI.java
  69. 9
    6
      src/main/java/com/huiju/estateagents/property/service/IBillService.java
  70. 12
    4
      src/main/java/com/huiju/estateagents/property/service/IBuildingOwnerInfoService.java
  71. 22
    0
      src/main/java/com/huiju/estateagents/property/service/ITaUserCommunityService.java
  72. 7
    1
      src/main/java/com/huiju/estateagents/property/service/ITaUserVerifyService.java
  73. 19
    0
      src/main/java/com/huiju/estateagents/property/service/ITpCommunityService.java
  74. 11
    2
      src/main/java/com/huiju/estateagents/property/service/TpTicketService.java
  75. 94
    39
      src/main/java/com/huiju/estateagents/property/service/impl/BillInvoiceServiceImpl.java
  76. 40
    41
      src/main/java/com/huiju/estateagents/property/service/impl/BillServiceImpl.java
  77. 19
    2
      src/main/java/com/huiju/estateagents/property/service/impl/BillStatementServiceImpl.java
  78. 47
    30
      src/main/java/com/huiju/estateagents/property/service/impl/BuildingOwnerInfoServiceImpl.java
  79. 154
    48
      src/main/java/com/huiju/estateagents/property/service/impl/BuildingTreeServiceImpl.java
  80. 63
    0
      src/main/java/com/huiju/estateagents/property/service/impl/TaUserCommunityServiceImpl.java
  81. 26
    14
      src/main/java/com/huiju/estateagents/property/service/impl/TaUserVerifyServiceImpl.java
  82. 5
    0
      src/main/java/com/huiju/estateagents/property/service/impl/TpAnnouncementServiceImpl.java
  83. 32
    0
      src/main/java/com/huiju/estateagents/property/service/impl/TpCommunityServiceImpl.java
  84. 157
    33
      src/main/java/com/huiju/estateagents/property/service/impl/TpTicketServiceImpl.java
  85. 2
    0
      src/main/java/com/huiju/estateagents/property/vo/TpTicketVO.java
  86. 3
    0
      src/main/java/com/huiju/estateagents/service/ITaBuildingDynamicService.java
  87. 2
    0
      src/main/java/com/huiju/estateagents/service/ITaPersonService.java
  88. 2
    0
      src/main/java/com/huiju/estateagents/service/ITaPointsExchangeService.java
  89. 1
    1
      src/main/java/com/huiju/estateagents/service/ITpNewsService.java
  90. 6
    4
      src/main/java/com/huiju/estateagents/service/impl/TaBuildingDynamicServiceImpl.java
  91. 6
    0
      src/main/java/com/huiju/estateagents/service/impl/TaPersonServiceImpl.java
  92. 5
    0
      src/main/java/com/huiju/estateagents/service/impl/TaPointsExchangeServiceImpl.java
  93. 4
    0
      src/main/java/com/huiju/estateagents/service/impl/TaPointsRecordsServiceImpl.java
  94. 4
    1
      src/main/java/com/huiju/estateagents/service/impl/TpNewsServiceImpl.java
  95. 1
    1
      src/main/resources/application-dev.yml
  96. 1
    1
      src/main/resources/application-prod.yml
  97. 3
    2
      src/main/resources/application.yml
  98. 21
    1
      src/main/resources/mapper/TaActivityDynamicEnlistMapper.xml
  99. 24
    0
      src/main/resources/mapper/TaPersonMapper.xml
  100. 0
    0
      src/main/resources/mapper/TaUserAuthMenuMapper.xml

+ 0
- 114
.mvn/wrapper/MavenWrapperDownloader.java 查看文件

1
-/*
2
-Licensed to the Apache Software Foundation (ASF) under one
3
-or more contributor license agreements.  See the NOTICE file
4
-distributed with this work for additional information
5
-regarding copyright ownership.  The ASF licenses this file
6
-to you under the Apache License, Version 2.0 (the
7
-"License"); you may not use this file except in compliance
8
-with the License.  You may obtain a copy of the License at
9
-
10
-  https://www.apache.org/licenses/LICENSE-2.0
11
-
12
-Unless required by applicable law or agreed to in writing,
13
-software distributed under the License is distributed on an
14
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15
-KIND, either express or implied.  See the License for the
16
-specific language governing permissions and limitations
17
-under the License.
18
-*/
19
-
20
-import java.io.File;
21
-import java.io.FileInputStream;
22
-import java.io.FileOutputStream;
23
-import java.io.IOException;
24
-import java.net.URL;
25
-import java.nio.channels.Channels;
26
-import java.nio.channels.ReadableByteChannel;
27
-import java.util.Properties;
28
-
29
-public class MavenWrapperDownloader {
30
-
31
-    /**
32
-     * Default URL to download the maven-wrapper.jar from, if no 'downloadUrl' is provided.
33
-     */
34
-    private static final String DEFAULT_DOWNLOAD_URL =
35
-            "https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.4.2/maven-wrapper-0.4.2.jar";
36
-
37
-    /**
38
-     * Path to the maven-wrapper.properties file, which might contain a downloadUrl property to
39
-     * use instead of the default one.
40
-     */
41
-    private static final String MAVEN_WRAPPER_PROPERTIES_PATH =
42
-            ".mvn/wrapper/maven-wrapper.properties";
43
-
44
-    /**
45
-     * Path where the maven-wrapper.jar will be saved to.
46
-     */
47
-    private static final String MAVEN_WRAPPER_JAR_PATH =
48
-            ".mvn/wrapper/maven-wrapper.jar";
49
-
50
-    /**
51
-     * Name of the property which should be used to override the default download url for the wrapper.
52
-     */
53
-    private static final String PROPERTY_NAME_WRAPPER_URL = "wrapperUrl";
54
-
55
-    public static void main(String args[]) {
56
-        System.out.println("- Downloader started");
57
-        File baseDirectory = new File(args[0]);
58
-        System.out.println("- Using base directory: " + baseDirectory.getAbsolutePath());
59
-
60
-        // If the maven-wrapper.properties exists, read it and check if it contains a custom
61
-        // wrapperUrl parameter.
62
-        File mavenWrapperPropertyFile = new File(baseDirectory, MAVEN_WRAPPER_PROPERTIES_PATH);
63
-        String url = DEFAULT_DOWNLOAD_URL;
64
-        if(mavenWrapperPropertyFile.exists()) {
65
-            FileInputStream mavenWrapperPropertyFileInputStream = null;
66
-            try {
67
-                mavenWrapperPropertyFileInputStream = new FileInputStream(mavenWrapperPropertyFile);
68
-                Properties mavenWrapperProperties = new Properties();
69
-                mavenWrapperProperties.load(mavenWrapperPropertyFileInputStream);
70
-                url = mavenWrapperProperties.getProperty(PROPERTY_NAME_WRAPPER_URL, url);
71
-            } catch (IOException e) {
72
-                System.out.println("- ERROR loading '" + MAVEN_WRAPPER_PROPERTIES_PATH + "'");
73
-            } finally {
74
-                try {
75
-                    if(mavenWrapperPropertyFileInputStream != null) {
76
-                        mavenWrapperPropertyFileInputStream.close();
77
-                    }
78
-                } catch (IOException e) {
79
-                    // Ignore ...
80
-                }
81
-            }
82
-        }
83
-        System.out.println("- Downloading from: : " + url);
84
-
85
-        File outputFile = new File(baseDirectory.getAbsolutePath(), MAVEN_WRAPPER_JAR_PATH);
86
-        if(!outputFile.getParentFile().exists()) {
87
-            if(!outputFile.getParentFile().mkdirs()) {
88
-                System.out.println(
89
-                        "- ERROR creating output direcrory '" + outputFile.getParentFile().getAbsolutePath() + "'");
90
-            }
91
-        }
92
-        System.out.println("- Downloading to: " + outputFile.getAbsolutePath());
93
-        try {
94
-            downloadFileFromURL(url, outputFile);
95
-            System.out.println("Done");
96
-            System.exit(0);
97
-        } catch (Throwable e) {
98
-            System.out.println("- Error downloading");
99
-            e.printStackTrace();
100
-            System.exit(1);
101
-        }
102
-    }
103
-
104
-    private static void downloadFileFromURL(String urlString, File destination) throws Exception {
105
-        URL website = new URL(urlString);
106
-        ReadableByteChannel rbc;
107
-        rbc = Channels.newChannel(website.openStream());
108
-        FileOutputStream fos = new FileOutputStream(destination);
109
-        fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);
110
-        fos.close();
111
-        rbc.close();
112
-    }
113
-
114
-}

二進制
.mvn/wrapper/maven-wrapper.jar 查看文件


+ 0
- 1
.mvn/wrapper/maven-wrapper.properties 查看文件

1
-distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.0/apache-maven-3.6.0-bin.zip

+ 6
- 1
pom.xml 查看文件

10
 	</parent>
10
 	</parent>
11
 	<groupId>com.huiju</groupId>
11
 	<groupId>com.huiju</groupId>
12
 	<artifactId>xiangsong</artifactId>
12
 	<artifactId>xiangsong</artifactId>
13
-	<version>1.0.46</version>
13
+	<version>1.0.59</version>
14
 	<name>xiangsong</name>
14
 	<name>xiangsong</name>
15
 	<description>香颂</description>
15
 	<description>香颂</description>
16
 
16
 
151
             <artifactId>spring-boot-starter-aop</artifactId>
151
             <artifactId>spring-boot-starter-aop</artifactId>
152
         </dependency>
152
         </dependency>
153
 
153
 
154
+		<dependency>
155
+			<groupId>com.github.whvcse</groupId>
156
+			<artifactId>easy-captcha</artifactId>
157
+			<version>1.6.2</version>
158
+		</dependency>
154
 
159
 
155
 		<dependency>
160
 		<dependency>
156
 			<groupId>fadada</groupId>
161
 			<groupId>fadada</groupId>

+ 0
- 2
src/main/java/com/huiju/estateagents/EstateagentsApplication.java 查看文件

1
 package com.huiju.estateagents;
1
 package com.huiju.estateagents;
2
 
2
 
3
-import com.huiju.estateagents.websocket.ChatServer;
4
 import org.springframework.boot.SpringApplication;
3
 import org.springframework.boot.SpringApplication;
5
 import org.springframework.boot.autoconfigure.SpringBootApplication;
4
 import org.springframework.boot.autoconfigure.SpringBootApplication;
6
 import org.springframework.context.ConfigurableApplicationContext;
5
 import org.springframework.context.ConfigurableApplicationContext;
15
 	public static void main(String[] args) {
14
 	public static void main(String[] args) {
16
 		SpringApplication springApplication = new SpringApplication(EstateagentsApplication.class);
15
 		SpringApplication springApplication = new SpringApplication(EstateagentsApplication.class);
17
 		ConfigurableApplicationContext configurableApplicationContext = springApplication.run(args);
16
 		ConfigurableApplicationContext configurableApplicationContext = springApplication.run(args);
18
-//		ChatServer.setApplicationContext(configurableApplicationContext);
19
 	}
17
 	}
20
 
18
 
21
 }
19
 }

+ 54
- 26
src/main/java/com/huiju/estateagents/center/taUser/controller/TaUserController.java 查看文件

11
 import com.huiju.estateagents.center.sysUser.service.ISysTokenService;
11
 import com.huiju.estateagents.center.sysUser.service.ISysTokenService;
12
 import com.huiju.estateagents.center.taUser.entity.*;
12
 import com.huiju.estateagents.center.taUser.entity.*;
13
 import com.huiju.estateagents.center.taUser.service.*;
13
 import com.huiju.estateagents.center.taUser.service.*;
14
-import com.huiju.estateagents.common.CommConstant;
15
-import com.huiju.estateagents.common.JWTUtils;
16
-import com.huiju.estateagents.common.MD5Utils;
17
-import com.huiju.estateagents.common.StringUtils;
14
+import com.huiju.estateagents.common.*;
18
 import com.huiju.estateagents.entity.*;
15
 import com.huiju.estateagents.entity.*;
19
 import com.huiju.estateagents.mapper.TaRoleMapper;
16
 import com.huiju.estateagents.mapper.TaRoleMapper;
17
+import com.huiju.estateagents.property.entity.TpCommunity;
18
+import com.huiju.estateagents.property.service.ITaUserCommunityService;
19
+import com.huiju.estateagents.property.service.ITpCommunityService;
20
 import com.huiju.estateagents.service.*;
20
 import com.huiju.estateagents.service.*;
21
 import io.swagger.annotations.ApiImplicitParam;
21
 import io.swagger.annotations.ApiImplicitParam;
22
 import io.swagger.annotations.ApiImplicitParams;
22
 import io.swagger.annotations.ApiImplicitParams;
23
 import io.swagger.annotations.ApiOperation;
23
 import io.swagger.annotations.ApiOperation;
24
+import org.checkerframework.checker.units.qual.A;
24
 import org.slf4j.Logger;
25
 import org.slf4j.Logger;
25
 import org.slf4j.LoggerFactory;
26
 import org.slf4j.LoggerFactory;
26
 import org.springframework.beans.factory.annotation.Autowired;
27
 import org.springframework.beans.factory.annotation.Autowired;
29
 import javax.servlet.http.HttpServletRequest;
30
 import javax.servlet.http.HttpServletRequest;
30
 
31
 
31
 import java.text.SimpleDateFormat;
32
 import java.text.SimpleDateFormat;
33
+import java.time.Duration;
32
 import java.time.LocalDateTime;
34
 import java.time.LocalDateTime;
33
 import java.util.*;
35
 import java.util.*;
34
 
36
 
85
     @Autowired
87
     @Autowired
86
     public ITpLifeConsultantEvaluateService iTpLifeConsultantEvaluateService;
88
     public ITpLifeConsultantEvaluateService iTpLifeConsultantEvaluateService;
87
 
89
 
90
+    @Autowired
91
+    public ITpCommunityService iTpCommunityService;
92
+
93
+    @Autowired
94
+    public ITaUserCommunityService iTaUserCommunityService;
95
+
96
+    @Autowired
97
+    public CaptchaUtils captchaUtils;
98
+
99
+    @Autowired
100
+    LoginLocker loginLocker;
101
+
88
     /**
102
     /**
89
      * 分页查询列表
103
      * 分页查询列表
90
      * @param pageNum
104
      * @param pageNum
307
             taUser.setOrgLogo(taOrg.getLogo());
321
             taUser.setOrgLogo(taOrg.getLogo());
308
             taUser.setOrgDesc(taOrg.getOrgDesc());
322
             taUser.setOrgDesc(taOrg.getOrgDesc());
309
             taUser.setBossDisplay(taOrg.getBossDisplay());
323
             taUser.setBossDisplay(taOrg.getBossDisplay());
324
+            //
325
+            taUser.setCommunityList(iTaUserCommunityService.getListBy(taUser.getOrgId(), taUser.getUserId()));
310
 
326
 
311
             //获取所有菜单
327
             //获取所有菜单
312
             List<SysMenu> allMenus = (List<SysMenu>) iTaUserAuthMenuService.getAllMenu(null, null,taUser.getOrgId(), roles).getData();
328
             List<SysMenu> allMenus = (List<SysMenu>) iTaUserAuthMenuService.getAllMenu(null, null,taUser.getOrgId(), roles).getData();
313
             List<SysButtonInMenu> allButtons = (List<SysButtonInMenu>) iTaUserAuthButtonService.getAllButton(null, null).getData();
329
             List<SysButtonInMenu> allButtons = (List<SysButtonInMenu>) iTaUserAuthButtonService.getAllButton(null, null).getData();
314
 
330
 
331
+            // 获取所有社区
332
+            List<TpCommunity> communityList = iTpCommunityService.getAllByOrg(taUser.getOrgId());
315
 
333
 
316
             userMap.put("taUser", taUser);
334
             userMap.put("taUser", taUser);
317
             userMap.put("menuList", allMenus);
335
             userMap.put("menuList", allMenus);
318
             userMap.put("buttonList", allButtons);
336
             userMap.put("buttonList", allButtons);
337
+            userMap.put("communityList", communityList);
319
             responseBean.addSuccess(userMap);
338
             responseBean.addSuccess(userMap);
320
         }catch (Exception e){
339
         }catch (Exception e){
321
             e.printStackTrace();
340
             e.printStackTrace();
339
     
358
     
340
         String userName = params.getString("loginName");
359
         String userName = params.getString("loginName");
341
         String userPassword = params.getString("loginPassword");
360
         String userPassword = params.getString("loginPassword");
342
-    
361
+        String captcha = params.getString("captcha");
362
+        String captchaKey = params.getString("captchaKey");
363
+
364
+        // 试错 3 次被锁定
365
+        int maxTryTimes = 3;
366
+        if (null != userName) {
367
+            LoginLocker.LogInfo logInfo = loginLocker.get("admin-" + userName);
368
+            if (null != logInfo) {
369
+                if (logInfo.getTimes() >= maxTryTimes) {
370
+                    String errMsg = String.format("该账号被锁定, 请 %d 分钟后重试", Duration.between(LocalDateTime.now(), logInfo.getExpire()).toMinutes() + 1);
371
+                    return ResponseBean.error(errMsg, ResponseBean.ERROR_UNAVAILABLE);
372
+                }
373
+            }
374
+        }
375
+
376
+        if (!captchaUtils.valid(captchaKey, captcha)) {
377
+            return ResponseBean.error("验证码不正确或者已过期", ResponseBean.ERROR_ILLEGAL_PARAMS);
378
+        }
379
+
343
         //验证用户名密码是否正确
380
         //验证用户名密码是否正确
344
         QueryWrapper<TaUser> sysUserQueryWrapper = new QueryWrapper<>();
381
         QueryWrapper<TaUser> sysUserQueryWrapper = new QueryWrapper<>();
345
         sysUserQueryWrapper.eq("login_name",userName);
382
         sysUserQueryWrapper.eq("login_name",userName);
346
         sysUserQueryWrapper.eq("login_password", MD5Utils.md5(userPassword));
383
         sysUserQueryWrapper.eq("login_password", MD5Utils.md5(userPassword));
347
         TaUser taUser = iTaUserService.getOne(sysUserQueryWrapper);
384
         TaUser taUser = iTaUserService.getOne(sysUserQueryWrapper);
348
         if (taUser == null) {
385
         if (taUser == null) {
349
-            return ResponseBean.error("用户名或密码错误", ResponseBean.ERROR_ILLEGAL_PARAMS);
386
+            LoginLocker.LogInfo logInfo = loginLocker.add("admin-" + userName);
387
+            String errMsg = String.format("用户名或密码错误, 您还有 %d 次机会", maxTryTimes - logInfo.getTimes());
388
+            return ResponseBean.error(errMsg, ResponseBean.ERROR_ILLEGAL_PARAMS);
350
         }
389
         }
351
 
390
 
391
+        // 解除锁定
392
+        loginLocker.remove("admin-"+userName);
393
+
352
         QueryWrapper<TaUser> taUserQueryWrapper = new QueryWrapper<>();
394
         QueryWrapper<TaUser> taUserQueryWrapper = new QueryWrapper<>();
353
         taUserQueryWrapper.eq("org_id", taUser.getOrgId());
395
         taUserQueryWrapper.eq("org_id", taUser.getOrgId());
354
         taUserQueryWrapper.eq("is_admin", 1);
396
         taUserQueryWrapper.eq("is_admin", 1);
496
                     taUser.setBuildingIds(buildings);
538
                     taUser.setBuildingIds(buildings);
497
                 }
539
                 }
498
             }
540
             }
541
+
542
+            taUser.setCommunityList(iTaUserCommunityService.getListBy(taUser.getOrgId(), taUser.getUserId()));
543
+
499
             responseBean.addSuccess(taUser);
544
             responseBean.addSuccess(taUser);
500
         }catch (Exception e){
545
         }catch (Exception e){
501
             e.printStackTrace();
546
             e.printStackTrace();
582
     public ResponseBean lifeConsultantList(@PathVariable String client,
627
     public ResponseBean lifeConsultantList(@PathVariable String client,
583
                                            @RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
628
                                            @RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
584
                                            @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
629
                                            @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
630
+                                           @RequestParam(value ="communityId") Integer communityId,
585
                                            @RequestParam(value ="userName", required = false) String userName,
631
                                            @RequestParam(value ="userName", required = false) String userName,
586
                                            @RequestParam(value ="phone", required = false) String phone,
632
                                            @RequestParam(value ="phone", required = false) String phone,
587
                                            HttpServletRequest request){
633
                                            HttpServletRequest request){
588
         ResponseBean responseBean = new ResponseBean();
634
         ResponseBean responseBean = new ResponseBean();
635
+        String month = new SimpleDateFormat("yyyyMM").format(new Date());
589
         try {
636
         try {
590
             //使用分页插件
637
             //使用分页插件
591
             IPage<TaUser> pg = new Page<TaUser>(pageNum, pageSize);
638
             IPage<TaUser> pg = new Page<TaUser>(pageNum, pageSize);
592
-            LambdaQueryWrapper<TaUser> queryWrapper = new LambdaQueryWrapper<>();
593
-            queryWrapper.eq(TaUser::getOrgId,getOrgId(request));
594
-            queryWrapper.eq(TaUser::getType,"life-consultant");
595
-            queryWrapper.like(!StringUtils.isEmpty(userName), TaUser::getUserName,"%"+ userName + "%");
596
-            queryWrapper.like(!StringUtils.isEmpty(phone), TaUser::getPhone,"%"+ phone + "%");
597
-            queryWrapper.orderByDesc(TaUser::getCreateDate);
598
-            IPage<TaUser> result = iTaUserService.page(pg,queryWrapper);
599
-            List<TaUser> records = result.getRecords();
600
-            records.forEach(e -> {
601
-                LambdaQueryWrapper<TpLifeConsultantEvaluate> evaluateQueryWrapper = new LambdaQueryWrapper<>();
602
-                evaluateQueryWrapper.eq(TpLifeConsultantEvaluate::getOrgId,getOrgId(request));
603
-                evaluateQueryWrapper.eq(TpLifeConsultantEvaluate::getUserId,e.getUserId());
604
-                evaluateQueryWrapper.eq(TpLifeConsultantEvaluate::getEvaluateTime,new SimpleDateFormat("yyyyMM").format(new Date()));
605
-                List<TpLifeConsultantEvaluate> list = iTpLifeConsultantEvaluateService.list(evaluateQueryWrapper);
606
-                if (list.size() > 0){
607
-                    double asDouble = list.stream().mapToInt(TpLifeConsultantEvaluate::getScore).average().getAsDouble();
608
-                    // 平均分
609
-                    e.setAverageScore(asDouble);
639
+            IPage<TaUser> result = iTaUserService.getLifeConsultants(pg, getOrgId(request), communityId, month, userName, phone);
610
 
640
 
611
-                }
612
-            });
613
             responseBean.addSuccess(result);
641
             responseBean.addSuccess(result);
614
         }catch (Exception e){
642
         }catch (Exception e){
615
             e.printStackTrace();
643
             e.printStackTrace();

+ 7
- 0
src/main/java/com/huiju/estateagents/center/taUser/entity/TaUser.java 查看文件

5
 import com.baomidou.mybatisplus.annotation.TableField;
5
 import com.baomidou.mybatisplus.annotation.TableField;
6
 import com.baomidou.mybatisplus.annotation.TableId;
6
 import com.baomidou.mybatisplus.annotation.TableId;
7
 import com.huiju.estateagents.entity.*;
7
 import com.huiju.estateagents.entity.*;
8
+import com.huiju.estateagents.property.entity.TpCommunity;
8
 import lombok.Data;
9
 import lombok.Data;
9
 import lombok.EqualsAndHashCode;
10
 import lombok.EqualsAndHashCode;
10
 import lombok.experimental.Accessors;
11
 import lombok.experimental.Accessors;
289
      */
290
      */
290
     @TableField(exist = false)
291
     @TableField(exist = false)
291
     private Double averageScore;
292
     private Double averageScore;
293
+
294
+    /**
295
+     * 授权的社区
296
+     */
297
+    @TableField(exist = false)
298
+    private List<TpCommunity> communityList;
292
 }
299
 }

+ 8
- 0
src/main/java/com/huiju/estateagents/center/taUser/mapper/TaUserMapper.java 查看文件

4
 import com.baomidou.mybatisplus.core.metadata.IPage;
4
 import com.baomidou.mybatisplus.core.metadata.IPage;
5
 import com.huiju.estateagents.center.taUser.entity.TaTags;
5
 import com.huiju.estateagents.center.taUser.entity.TaTags;
6
 import com.huiju.estateagents.center.taUser.entity.TaUser;
6
 import com.huiju.estateagents.center.taUser.entity.TaUser;
7
+import com.huiju.estateagents.entity.TaPerson;
7
 import com.huiju.estateagents.entity.TaPersonBuilding;
8
 import com.huiju.estateagents.entity.TaPersonBuilding;
8
 import org.apache.ibatis.annotations.Mapper;
9
 import org.apache.ibatis.annotations.Mapper;
9
 import org.apache.ibatis.annotations.Param;
10
 import org.apache.ibatis.annotations.Param;
37
     List<String> getBuildingIdsOf(@Param("userId") Integer userId,@Param("buildingId") String buildingId);
38
     List<String> getBuildingIdsOf(@Param("userId") Integer userId,@Param("buildingId") String buildingId);
38
 
39
 
39
     TaUser getUserByPerson(@Param("orgId") Integer orgId, @Param("personId") String personId);
40
     TaUser getUserByPerson(@Param("orgId") Integer orgId, @Param("personId") String personId);
41
+
42
+    IPage<TaUser> getLifeConsultants(IPage<TaUser> pg,
43
+                                     @Param("orgId")  Integer orgId,
44
+                                     @Param("communityId")  Integer communityId,
45
+                                     @Param("month")  String month,
46
+                                     @Param("userName")  String userName,
47
+                                     @Param("phone") String phone);
40
 }
48
 }

+ 2
- 0
src/main/java/com/huiju/estateagents/center/taUser/service/ITaUserService.java 查看文件

75
      * @return
75
      * @return
76
      */
76
      */
77
     TaUser getUserInfoById(Integer userId, Integer orgId);
77
     TaUser getUserInfoById(Integer userId, Integer orgId);
78
+
79
+    IPage<TaUser> getLifeConsultants(IPage<TaUser> pg, Integer orgId, Integer communityId, String month, String userName, String phone);
78
 }
80
 }

+ 25
- 0
src/main/java/com/huiju/estateagents/center/taUser/service/impl/TaUserServiceImpl.java 查看文件

22
 import com.huiju.estateagents.common.WxUtils;
22
 import com.huiju.estateagents.common.WxUtils;
23
 import com.huiju.estateagents.entity.*;
23
 import com.huiju.estateagents.entity.*;
24
 import com.huiju.estateagents.mapper.*;
24
 import com.huiju.estateagents.mapper.*;
25
+import com.huiju.estateagents.property.entity.TaUserCommunity;
26
+import com.huiju.estateagents.property.entity.TpCommunity;
27
+import com.huiju.estateagents.property.service.ITaUserCommunityService;
25
 import com.huiju.estateagents.service.*;
28
 import com.huiju.estateagents.service.*;
26
 import org.apache.commons.collections.CollectionUtils;
29
 import org.apache.commons.collections.CollectionUtils;
27
 import org.springframework.beans.factory.annotation.Autowired;
30
 import org.springframework.beans.factory.annotation.Autowired;
98
     @Autowired
101
     @Autowired
99
     private TaChannelProxyMapper taChannelProxyMapper;
102
     private TaChannelProxyMapper taChannelProxyMapper;
100
 
103
 
104
+    @Autowired
105
+    private ITaUserCommunityService iTaUserCommunityService;
106
+
101
     @Autowired
107
     @Autowired
102
     private WxUtils wxUtils;
108
     private WxUtils wxUtils;
103
 
109
 
495
             });
501
             });
496
         }
502
         }
497
 
503
 
504
+        // 保存授权小区
505
+        if (null == taUser.getCommunityList() || taUser.getCommunityList().size() < 1) {
506
+            throw new Exception("未授权小区");
507
+        }
508
+
509
+        iTaUserCommunityService.addUserCommunity(taUser.getOrgId(), taUser.getUserId(), taUser.getCommunityList());
510
+
498
         return taUser;
511
         return taUser;
499
     }
512
     }
500
 
513
 
588
             });
601
             });
589
         }
602
         }
590
 
603
 
604
+        // 保存授权小区
605
+        if (null == taUser.getCommunityList() || taUser.getCommunityList().size() < 1) {
606
+            throw new Exception("未授权小区");
607
+        }
608
+
609
+        iTaUserCommunityService.addUserCommunity(taUser.getOrgId(), taUser.getUserId(), taUser.getCommunityList());
610
+
591
         //更新person
611
         //更新person
592
         TaPerson taPerson = new TaPerson();
612
         TaPerson taPerson = new TaPerson();
593
         taPerson.setAvatarurl(taUser.getAvatar());
613
         taPerson.setAvatarurl(taUser.getAvatar());
697
         return getOne(userQueryWrapper);
717
         return getOne(userQueryWrapper);
698
     }
718
     }
699
 
719
 
720
+    @Override
721
+    public IPage<TaUser> getLifeConsultants(IPage<TaUser> pg, Integer orgId, Integer communityId, String month, String userName, String phone) {
722
+        return taUserMapper.getLifeConsultants(pg, orgId, communityId, month, userName, phone);
723
+    }
724
+
700
     private boolean updateUserStatus(TaUser user) {
725
     private boolean updateUserStatus(TaUser user) {
701
         UpdateWrapper<TaUser> updateWrapper = new UpdateWrapper<>();
726
         UpdateWrapper<TaUser> updateWrapper = new UpdateWrapper<>();
702
         updateWrapper.eq("user_id", user.getUserId());
727
         updateWrapper.eq("user_id", user.getUserId());

+ 91
- 0
src/main/java/com/huiju/estateagents/common/CaptchaUtils.java 查看文件

1
+package com.huiju.estateagents.common;
2
+
3
+import com.wf.captcha.SpecCaptcha;
4
+import lombok.Data;
5
+import lombok.experimental.Accessors;
6
+import lombok.extern.slf4j.Slf4j;
7
+import org.springframework.scheduling.annotation.EnableScheduling;
8
+import org.springframework.scheduling.annotation.Scheduled;
9
+import org.springframework.stereotype.Component;
10
+
11
+import java.time.LocalDateTime;
12
+import java.util.Hashtable;
13
+import java.util.UUID;
14
+
15
+@Slf4j
16
+@Component
17
+@EnableScheduling
18
+public class CaptchaUtils {
19
+    Hashtable<String, Captcha> allCaptchas = new Hashtable<>();
20
+
21
+    public Captcha generate() {
22
+        SpecCaptcha specCaptcha = new SpecCaptcha(130, 48, 5);
23
+        Captcha cap = new Captcha()
24
+                .setKey(UUID.randomUUID().toString())
25
+                .setValue(specCaptcha.text().toLowerCase())
26
+                .setImage(specCaptcha.toBase64())
27
+                .setExpire(LocalDateTime.now().plusMinutes(15));
28
+        allCaptchas.put(cap.getKey(), cap);
29
+
30
+        // 返回的内容不包含 value
31
+        return copy(cap).setValue(null);
32
+    }
33
+
34
+    public boolean valid(String key, String captcha) {
35
+        if (null == captcha || null == key) {
36
+            return false;
37
+        }
38
+
39
+        // 没有对应键值
40
+        Captcha cap = allCaptchas.get(key);
41
+        if (null == cap) {
42
+            return false;
43
+        }
44
+
45
+        // 内容不匹配
46
+        if (!cap.getValue().equals(captcha.toLowerCase())) {
47
+            return false;
48
+        }
49
+
50
+        boolean res = checkExpire(cap);
51
+        if (res) {
52
+            // 过期清除
53
+            allCaptchas.remove(key);
54
+        }
55
+
56
+        return !res;
57
+    }
58
+
59
+    private Captcha copy(Captcha captcha) {
60
+        return new Captcha()
61
+                .setKey(captcha.getKey())
62
+                .setValue(captcha.getValue())
63
+                .setImage(captcha.getImage())
64
+                .setExpire(captcha.getExpire());
65
+    }
66
+
67
+    private boolean checkExpire(Captcha cap) {
68
+        return LocalDateTime.now().isAfter(cap.getExpire());
69
+    }
70
+
71
+    /**
72
+     * 定时任务 每半小时 清除一次不用的缓存
73
+     */
74
+    @Scheduled(fixedRate = 1000 * 60 * 30)
75
+    public void clearUnused() {
76
+        for (Captcha cap: allCaptchas.values()) {
77
+            if (checkExpire(cap)) {
78
+                allCaptchas.remove(cap.getKey());
79
+            }
80
+        }
81
+    }
82
+
83
+    @Data
84
+    @Accessors(chain = true)
85
+    public static class Captcha {
86
+        String key;
87
+        String value;
88
+        String image;
89
+        LocalDateTime expire;
90
+    }
91
+}

+ 3
- 2
src/main/java/com/huiju/estateagents/common/CommConstant.java 查看文件

936
     public static final String SMS_BIZ_REPAIRE_TICKET = "repaire-ticket";
936
     public static final String SMS_BIZ_REPAIRE_TICKET = "repaire-ticket";
937
 
937
 
938
     // 推送消息类型
938
     // 推送消息类型
939
-    public static final String TP_MESSAGE_BIRTHDAY = "birthday";
940
-    public static final String TP_MESSAGE_FESTIVAL= "festival";
939
+    public static final String TP_MESSAGE_BIRTHDAY = "birthday";    // 生日
940
+    public static final String TP_MESSAGE_FESTIVAL= "festival";     // 节日
941
+    public static final String TP_MESSAGE_TICKET= "ticket";         // 工单
941
 }
942
 }

+ 19
- 0
src/main/java/com/huiju/estateagents/common/DateUtils.java 查看文件

6
 import java.time.ZoneId;
6
 import java.time.ZoneId;
7
 import java.time.format.DateTimeFormatter;
7
 import java.time.format.DateTimeFormatter;
8
 import java.util.Date;
8
 import java.util.Date;
9
+import java.util.Locale;
9
 
10
 
10
 public class DateUtils {
11
 public class DateUtils {
11
     public static LocalDateTime date2LocalDateTime(Date date) {
12
     public static LocalDateTime date2LocalDateTime(Date date) {
60
         return false;
61
         return false;
61
     }
62
     }
62
 
63
 
64
+    public static String format(LocalDateTime dt, String formatStr) {
65
+        if (null == dt) {
66
+            return null;
67
+        }
68
+
69
+        DateTimeFormatter formatter = DateTimeFormatter.ofPattern(formatStr);
70
+        return dt.format(formatter);
71
+    }
72
+
63
     /**
73
     /**
64
      * 当前时间是否早于指定时间
74
      * 当前时间是否早于指定时间
65
      *
75
      *
114
         DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
124
         DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
115
         return LocalDateTime.parse(target, df);
125
         return LocalDateTime.parse(target, df);
116
     }
126
     }
127
+
128
+    public static LocalDateTime parse(String str, String format) {
129
+        if (null == str || "".equals(str) || "null".equals(str) || "undefined".equals(str)) {
130
+            return null;
131
+        }
132
+
133
+        DateTimeFormatter df = DateTimeFormatter.ofPattern(format, Locale.CHINA);
134
+        return LocalDateTime.parse(str, df);
135
+    }
117
 }
136
 }

+ 75
- 0
src/main/java/com/huiju/estateagents/common/LoginLocker.java 查看文件

1
+package com.huiju.estateagents.common;
2
+
3
+import lombok.Data;
4
+import lombok.experimental.Accessors;
5
+import lombok.extern.slf4j.Slf4j;
6
+import org.springframework.scheduling.annotation.EnableScheduling;
7
+import org.springframework.scheduling.annotation.Scheduled;
8
+import org.springframework.stereotype.Component;
9
+
10
+import java.time.LocalDateTime;
11
+import java.util.Hashtable;
12
+
13
+@Slf4j
14
+@Component
15
+@EnableScheduling
16
+public class LoginLocker {
17
+    // 锁定时长 分钟
18
+    public static final int lockTime = 5;
19
+
20
+    Hashtable<String, LogInfo> allLogs = new Hashtable<>();
21
+
22
+    public LogInfo get(String name) {
23
+        return allLogs.get(name);
24
+    }
25
+
26
+    public LogInfo add(String name) {
27
+        if (null == name) {
28
+            return null;
29
+        }
30
+
31
+        LogInfo logInfo = allLogs.get(name);
32
+        if (null == logInfo) {
33
+            logInfo = new LogInfo()
34
+                    .setKey(name)
35
+                    .setTimes(1)
36
+                    .setExpire(LocalDateTime.now().plusMinutes(lockTime));
37
+            allLogs.put(name, logInfo);
38
+        } else {
39
+            logInfo.setTimes(logInfo.getTimes() + 1)
40
+                    .setExpire(LocalDateTime.now().plusMinutes(lockTime));
41
+        }
42
+
43
+        return logInfo;
44
+    }
45
+
46
+    public void remove(String name) {
47
+        try {
48
+            allLogs.remove(name);
49
+        } catch (Exception e) {}
50
+    }
51
+
52
+    private boolean checkExpire(LogInfo log) {
53
+        return LocalDateTime.now().isAfter(log.getExpire());
54
+    }
55
+
56
+    /**
57
+     * 定时任务 每分钟 清除一次不用的缓存
58
+     */
59
+    @Scheduled(fixedRate = 1000 * 60)
60
+    public void clearUnused() {
61
+        for (LogInfo log: allLogs.values()) {
62
+            if (checkExpire(log)) {
63
+                allLogs.remove(log.getKey());
64
+            }
65
+        }
66
+    }
67
+
68
+    @Data
69
+    @Accessors(chain = true)
70
+    public static class LogInfo {
71
+        String key;
72
+        int times;
73
+        LocalDateTime expire;
74
+    }
75
+}

+ 15
- 0
src/main/java/com/huiju/estateagents/common/StringUtils.java 查看文件

145
             return null;
145
             return null;
146
         }
146
         }
147
     }
147
     }
148
+
149
+    /**
150
+     * 简易脱敏
151
+     * @param source
152
+     * @param regx
153
+     * @param repl
154
+     * @return
155
+     */
156
+    public static String simpleSensitive(String source, String regx, String repl) {
157
+        if (isEmpty(source)) {
158
+            return source;
159
+        }
160
+
161
+        return source.replaceAll(regx, repl);
162
+    }
148
 }
163
 }

+ 8
- 8
src/main/java/com/huiju/estateagents/common/smsService/Captcha.java 查看文件

84
      * @return
84
      * @return
85
      */
85
      */
86
     public boolean validate(String tel, String captcha) {
86
     public boolean validate(String tel, String captcha) {
87
-        Phone phone = fromCache(tel);
88
-        if (null == phone) {
89
-            return false;
90
-        }
91
-
92
         String universalCode = getUniversalCode();
87
         String universalCode = getUniversalCode();
93
         if (universalCode.equals(captcha)) {
88
         if (universalCode.equals(captcha)) {
94
             return true;
89
             return true;
95
         }
90
         }
96
 
91
 
92
+        Phone phone = fromCache(tel);
93
+        if (null == phone) {
94
+            return false;
95
+        }
96
+
97
         if (null == captcha || !captcha.equals(phone.getCaptcha())) {
97
         if (null == captcha || !captcha.equals(phone.getCaptcha())) {
98
             return false;
98
             return false;
99
         }
99
         }
101
         // 过期则清除缓存
101
         // 过期则清除缓存
102
         boolean res = checkExpire(phone);
102
         boolean res = checkExpire(phone);
103
         if (res) {
103
         if (res) {
104
-            clearCache(phone);
104
+            clearCache(tel);
105
         }
105
         }
106
 
106
 
107
         return !res;
107
         return !res;
137
     public void clearUnused() {
137
     public void clearUnused() {
138
         for (Phone phone: allPhones.values()) {
138
         for (Phone phone: allPhones.values()) {
139
             if (checkExpire(phone)) {
139
             if (checkExpire(phone)) {
140
-                clearCache(phone);
140
+                clearCache(phone.getNumber());
141
             }
141
             }
142
         }
142
         }
143
     }
143
     }
148
     private void toCache(Phone phone) {
148
     private void toCache(Phone phone) {
149
         allPhones.put(phone.getNumber(), phone);
149
         allPhones.put(phone.getNumber(), phone);
150
     }
150
     }
151
-    private void clearCache(Phone phone) { allPhones.remove(phone); }
151
+    private void clearCache(String key) { allPhones.remove(key); }
152
 
152
 
153
     private LocalDateTime expireTime() {
153
     private LocalDateTime expireTime() {
154
         return LocalDateTime.now().plusSeconds(expireSec);
154
         return LocalDateTime.now().plusSeconds(expireSec);

+ 12
- 6
src/main/java/com/huiju/estateagents/controller/CommonController.java 查看文件

4
 import com.alibaba.fastjson.JSONObject;
4
 import com.alibaba.fastjson.JSONObject;
5
 import com.huiju.estateagents.base.BaseController;
5
 import com.huiju.estateagents.base.BaseController;
6
 import com.huiju.estateagents.base.ResponseBean;
6
 import com.huiju.estateagents.base.ResponseBean;
7
-import com.huiju.estateagents.common.AliOSSUtils;
8
-import com.huiju.estateagents.common.CommConstant;
9
-import com.huiju.estateagents.common.SMSUtils;
10
-import com.huiju.estateagents.common.StringUtils;
7
+import com.huiju.estateagents.common.*;
11
 import com.huiju.estateagents.common.smsService.Captcha;
8
 import com.huiju.estateagents.common.smsService.Captcha;
12
 import com.huiju.estateagents.service.IMiniAppService;
9
 import com.huiju.estateagents.service.IMiniAppService;
13
 import com.huiju.estateagents.service.ITdMiniappTemplateTypeService;
10
 import com.huiju.estateagents.service.ITdMiniappTemplateTypeService;
14
 import io.swagger.annotations.Api;
11
 import io.swagger.annotations.Api;
15
 import io.swagger.annotations.ApiOperation;
12
 import io.swagger.annotations.ApiOperation;
16
-import org.apache.ibatis.annotations.Mapper;
17
 import org.springframework.beans.factory.annotation.Autowired;
13
 import org.springframework.beans.factory.annotation.Autowired;
18
 import org.springframework.web.bind.annotation.*;
14
 import org.springframework.web.bind.annotation.*;
19
 import org.springframework.web.multipart.MultipartFile;
15
 import org.springframework.web.multipart.MultipartFile;
20
 
16
 
21
 import javax.servlet.http.HttpServletRequest;
17
 import javax.servlet.http.HttpServletRequest;
18
+import javax.servlet.http.HttpServletResponse;
22
 import java.io.IOException;
19
 import java.io.IOException;
23
 import java.util.ArrayList;
20
 import java.util.ArrayList;
24
 import java.util.HashMap;
21
 import java.util.HashMap;
39
     IMiniAppService iMiniAppService;
36
     IMiniAppService iMiniAppService;
40
 
37
 
41
     @Autowired
38
     @Autowired
42
-    Captcha captchaServ;
39
+    Captcha captchaServ;    // 短信验证码
40
+
41
+    @Autowired
42
+    CaptchaUtils captchaUtils;  // 图片验证码
43
 
43
 
44
     /**
44
     /**
45
      * 图片
45
      * 图片
57
         }
57
         }
58
     }
58
     }
59
 
59
 
60
+    @ApiOperation("获取图片验证码")
61
+    @GetMapping("/admin/image-captcha")
62
+    public ResponseBean getCaptcha(HttpServletRequest request, HttpServletResponse response) {
63
+        return ResponseBean.success(captchaUtils.generate());
64
+    }
65
+
60
     @PostMapping("/admin/qrcode")
66
     @PostMapping("/admin/qrcode")
61
     public ResponseBean createQrCode(@RequestBody String jsonStr, HttpServletRequest request) {
67
     public ResponseBean createQrCode(@RequestBody String jsonStr, HttpServletRequest request) {
62
         Integer orgId = getOrgId(request);
68
         Integer orgId = getOrgId(request);

+ 45
- 11
src/main/java/com/huiju/estateagents/controller/TaPersonController.java 查看文件

9
 import com.huiju.estateagents.base.ResponseBean;
9
 import com.huiju.estateagents.base.ResponseBean;
10
 import com.huiju.estateagents.center.taUser.entity.TaUser;
10
 import com.huiju.estateagents.center.taUser.entity.TaUser;
11
 import com.huiju.estateagents.center.taUser.service.ITaUserService;
11
 import com.huiju.estateagents.center.taUser.service.ITaUserService;
12
-import com.huiju.estateagents.common.CommConstant;
13
-import com.huiju.estateagents.common.SMSUtils;
14
-import com.huiju.estateagents.common.StringUtils;
12
+import com.huiju.estateagents.common.*;
15
 import com.huiju.estateagents.common.smsService.Captcha;
13
 import com.huiju.estateagents.common.smsService.Captcha;
16
 import com.huiju.estateagents.entity.TaChannel;
14
 import com.huiju.estateagents.entity.TaChannel;
17
 import com.huiju.estateagents.entity.TaChannelPerson;
15
 import com.huiju.estateagents.entity.TaChannelPerson;
18
 import com.huiju.estateagents.entity.TaPerson;
16
 import com.huiju.estateagents.entity.TaPerson;
19
 import com.huiju.estateagents.entity.TaPersonBuilding;
17
 import com.huiju.estateagents.entity.TaPersonBuilding;
18
+import com.huiju.estateagents.excel.TaPersonExport;
20
 import com.huiju.estateagents.service.*;
19
 import com.huiju.estateagents.service.*;
21
 import com.huiju.estateagents.third.entity.TaThirdPartyMiniappConfig;
20
 import com.huiju.estateagents.third.entity.TaThirdPartyMiniappConfig;
22
 import com.huiju.estateagents.third.service.ITaThirdPartyMiniappConfigService;
21
 import com.huiju.estateagents.third.service.ITaThirdPartyMiniappConfigService;
28
 import org.springframework.web.client.RestTemplate;
27
 import org.springframework.web.client.RestTemplate;
29
 
28
 
30
 import javax.servlet.http.HttpServletRequest;
29
 import javax.servlet.http.HttpServletRequest;
30
+import javax.servlet.http.HttpServletResponse;
31
+import java.io.IOException;
31
 import java.time.LocalDateTime;
32
 import java.time.LocalDateTime;
32
 import java.util.ArrayList;
33
 import java.util.ArrayList;
33
 import java.util.HashMap;
34
 import java.util.HashMap;
816
                                       @RequestParam(defaultValue = "10") int pageSize,
817
                                       @RequestParam(defaultValue = "10") int pageSize,
817
                                       @RequestParam(value = "name", required = false) String name,
818
                                       @RequestParam(value = "name", required = false) String name,
818
                                       @RequestParam(value = "phone", required = false) String phone,
819
                                       @RequestParam(value = "phone", required = false) String phone,
820
+                                      @RequestParam(value = "recommended", required = false) String recommended,
819
                                       HttpServletRequest request) {
821
                                       HttpServletRequest request) {
820
         Integer orgId = getOrgId(request);
822
         Integer orgId = getOrgId(request);
821
 
823
 
822
-        QueryWrapper<TaPerson> queryWrapper = new QueryWrapper<>();
823
-        queryWrapper.eq("org_id", orgId);
824
-        queryWrapper.like(!StringUtils.isEmpty(name),"nickname", "%"+name+"%");
825
-        queryWrapper.eq(!StringUtils.isEmpty(phone),"phone", phone);
826
-        queryWrapper.isNotNull("avatarurl");
827
-        queryWrapper.eq("status", CommConstant.STATUS_NORMAL);
828
-
829
         IPage<TaPerson> page = new Page<>(pageNumber, pageSize);
824
         IPage<TaPerson> page = new Page<>(pageNumber, pageSize);
825
+        IPage<TaPerson> result = taPersonService.getPersonBy(page, orgId, name, phone, recommended);
826
+
827
+        return ResponseBean.success(result);
828
+    }
830
 
829
 
831
-        return ResponseBean.success(taPersonService.page(page, queryWrapper));
830
+    @GetMapping("/admin/person-list/export")
831
+    public ResponseBean getPersonListExport(@RequestParam(value = "name", required = false) String name,
832
+                                            @RequestParam(value = "phone", required = false) String phone,
833
+                                            @RequestParam(value = "recommended", required = false) String recommended,
834
+                                            HttpServletRequest request,
835
+                                            HttpServletResponse response) {
836
+        Integer orgId = getOrgId(request);
837
+
838
+        IPage<TaPerson> page = new Page<>(1, 9999);
839
+        IPage<TaPerson> result = taPersonService.getPersonBy(page, orgId, name, phone, recommended);
840
+
841
+        List<TaPerson> personList = result.getRecords();
842
+        List<TaPersonExport> data = new ArrayList<>();
843
+        if (null != personList) {
844
+//            String senRegx = "(\\\\d{3})\\\\d{4}(\\\\d{4})";
845
+//            String senRepl = "$1****$2";
846
+            for (TaPerson person: personList) {
847
+                TaPersonExport row = new TaPersonExport();
848
+                row.setNickname(person.getNickname());
849
+//                row.setPhone(StringUtils.simpleSensitive(person.getPhone(), senRegx, senRepl));
850
+                row.setPhone(person.getPhone());
851
+                row.setSharePersonName(person.getSharePersonName());
852
+                row.setPoints(person.getPoints());
853
+                row.setCreateDate(DateUtils.format(person.getCreateDate(), "yyyy-MM-dd HH:mm"));
854
+                data.add(row);
855
+            }
856
+        }
857
+
858
+        try {
859
+            ExcelUtils.flush(response, TaPersonExport.class, data, "会员列表");
860
+        } catch (IOException e) {
861
+            e.printStackTrace();
862
+            return ResponseBean.error(e.getMessage(), ResponseBean.ERROR_UNAVAILABLE);
863
+        }
864
+
865
+        return null;
832
     }
866
     }
833
 
867
 
834
 }
868
 }

+ 75
- 1
src/main/java/com/huiju/estateagents/controller/TaPointsExchangeController.java 查看文件

6
 import com.huiju.estateagents.base.BaseController;
6
 import com.huiju.estateagents.base.BaseController;
7
 import com.huiju.estateagents.base.ResponseBean;
7
 import com.huiju.estateagents.base.ResponseBean;
8
 import com.huiju.estateagents.common.CommConstant;
8
 import com.huiju.estateagents.common.CommConstant;
9
+import com.huiju.estateagents.common.DateUtils;
10
+import com.huiju.estateagents.common.ExcelUtils;
9
 import com.huiju.estateagents.entity.TaGoods;
11
 import com.huiju.estateagents.entity.TaGoods;
10
 import com.huiju.estateagents.entity.TaPointsExchange;
12
 import com.huiju.estateagents.entity.TaPointsExchange;
13
+import com.huiju.estateagents.excel.TaPointsExchangeExport;
11
 import com.huiju.estateagents.service.ITaGoodsService;
14
 import com.huiju.estateagents.service.ITaGoodsService;
12
 import com.huiju.estateagents.service.ITaPointsExchangeService;
15
 import com.huiju.estateagents.service.ITaPointsExchangeService;
13
 import io.swagger.annotations.Api;
16
 import io.swagger.annotations.Api;
26
 import org.springframework.web.bind.annotation.RestController;
29
 import org.springframework.web.bind.annotation.RestController;
27
 
30
 
28
 import javax.servlet.http.HttpServletRequest;
31
 import javax.servlet.http.HttpServletRequest;
32
+import javax.servlet.http.HttpServletResponse;
29
 import java.time.LocalDateTime;
33
 import java.time.LocalDateTime;
34
+import java.util.ArrayList;
30
 import java.util.List;
35
 import java.util.List;
31
 
36
 
32
 /**
37
 /**
94
         }
99
         }
95
         return responseBean;
100
         return responseBean;
96
     }
101
     }
102
+
103
+
104
+    /**
105
+     * 分页查询列表
106
+     * @param pageNum
107
+     * @param pageSize
108
+     * @return
109
+     */
110
+    @RequestMapping(value="/admin/taPointsExchange/export",method= RequestMethod.GET)
111
+    public ResponseBean taPointsExchangeExport(@RequestParam(value ="personName",required = false) String personName,
112
+                                               @RequestParam(value ="phone",required = false) String phone,
113
+                                               @RequestParam(value ="personType",required = false) String personType,
114
+                                               @RequestParam(value ="targetName",required = false) String targetName,
115
+                                               @RequestParam(value ="startCreateDate",required = false) String startCreateDate,
116
+                                               @RequestParam(value ="endCreateDate",required = false) String endCreateDate,
117
+                                               @RequestParam(value ="startVerifyDate",required = false) String startVerifyDate,
118
+                                               @RequestParam(value ="endVerifyDate",required = false) String endVerifyDate,
119
+                                               @RequestParam(value ="status",required = false) Integer status,
120
+                                               @RequestParam(value ="tel",required = false) String tel,
121
+                                               HttpServletRequest request,
122
+                                               HttpServletResponse response){
123
+        ResponseBean responseBean = new ResponseBean();
124
+        try {
125
+            //使用分页插件
126
+            TaPointsExchange taPointsExchange = new TaPointsExchange();
127
+            taPointsExchange.setPersonName(personName);
128
+            taPointsExchange.setPhone(phone);
129
+            taPointsExchange.setPersonType(personType);
130
+            taPointsExchange.setTargetName(targetName);
131
+            taPointsExchange.setStartCreateDate(startCreateDate);
132
+            taPointsExchange.setEndCreateDate(endCreateDate);
133
+            taPointsExchange.setStartVerifyDate(startVerifyDate);
134
+            taPointsExchange.setEndVerifyDate(endVerifyDate);
135
+            taPointsExchange.setStatus(status);
136
+            taPointsExchange.setTel(tel);
137
+            taPointsExchange.setOrgId(getOrgId(request));
138
+
139
+            responseBean = iTaPointsExchangeService.selectList(1, 9999,taPointsExchange,getTaPersonBuildingListByUserId(request));
140
+            List<TaPointsExchange> records = ((Page<TaPointsExchange>) responseBean.getData()).getRecords();
141
+
142
+            List<TaPointsExchangeExport> list = new ArrayList<>();
143
+            if (null != records) {
144
+                for (TaPointsExchange item: records) {
145
+                    TaPointsExchangeExport row = new TaPointsExchangeExport();
146
+                    row.setPersonName(item.getPersonName());
147
+                    row.setPhone(item.getPhone());
148
+                    row.setPersonType("prop".equals(item.getPersonType()) ? "物业相关" : ("life-consultant".equals(item.getPersonType()) ? "生活管家" : null));
149
+                    row.setTargetName(item.getTargetName());
150
+                    row.setStatus(1 == item.getStatus() ? "已领取" : "未领取");
151
+                    row.setCreateDate(DateUtils.format(item.getCreateDate(), "yyyy-MM-dd HH:mm"));
152
+                    row.setVerifyDate(DateUtils.format(item.getVerifyDate(), "yyyy-MM-dd HH:mm"));
153
+                    list.add(row);
154
+                }
155
+            }
156
+
157
+            ExcelUtils.flush(response, TaPointsExchangeExport.class, list, "积分兑换记录" + DateUtils.today());
158
+        }catch (Exception e){
159
+            e.printStackTrace();
160
+            logger.error("taPointsExchangeList -=- {}",e.toString());
161
+            responseBean.addError(e.getMessage());
162
+        }
163
+        return responseBean;
164
+    }
97
     
165
     
98
     /**
166
     /**
99
      * 修改对象
167
      * 修改对象
231
     public ResponseBean wxPointsExchangeList(@RequestParam(value ="pageNumber",defaultValue = "1") Integer pageNumber,
299
     public ResponseBean wxPointsExchangeList(@RequestParam(value ="pageNumber",defaultValue = "1") Integer pageNumber,
232
                                              @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
300
                                              @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
233
                                              @RequestParam(value = "buildingId", required = false) String buildingId,
301
                                              @RequestParam(value = "buildingId", required = false) String buildingId,
234
-                                             @RequestParam(value = "personId", required = false) String personId){
302
+                                             @RequestParam(value = "personId", required = false) String personId,
303
+                                             HttpServletRequest request){
304
+
305
+        if (null == personId) {
306
+            personId = getPersonId(request);
307
+        }
308
+
235
         ResponseBean responseBean = new ResponseBean();
309
         ResponseBean responseBean = new ResponseBean();
236
         try {
310
         try {
237
             //使用分页插件
311
             //使用分页插件

+ 6
- 0
src/main/java/com/huiju/estateagents/controller/TaPointsRecordsController.java 查看文件

144
                     case CommConstant.POINTS_CHANGE_DOCUMENT_VERIFY:
144
                     case CommConstant.POINTS_CHANGE_DOCUMENT_VERIFY:
145
                         result.getRecords().get(i).setRecordName("资料审核");
145
                         result.getRecords().get(i).setRecordName("资料审核");
146
                         break;
146
                         break;
147
+                    case CommConstant.POINTS_PAYMENT:
148
+                        result.getRecords().get(i).setRecordName("物业缴费");
149
+                        break;
150
+                    case CommConstant.POINTS_USER_VERIFY:
151
+                        result.getRecords().get(i).setRecordName("业主认证");
152
+                        break;
147
                 }
153
                 }
148
             }
154
             }
149
             responseBean.addSuccess(result);
155
             responseBean.addSuccess(result);

+ 3
- 1
src/main/java/com/huiju/estateagents/controller/TpNewsController.java 查看文件

49
                                  @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
49
                                  @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
50
                                  @RequestParam(value = "newsName", required = false) String newsName,
50
                                  @RequestParam(value = "newsName", required = false) String newsName,
51
                                  @RequestParam(value = "newsTypeId", required = false) String newsTypeId,
51
                                  @RequestParam(value = "newsTypeId", required = false) String newsTypeId,
52
+                                 @RequestParam(value ="startCreateDate",required = false) String startCreateDate,
53
+                                 @RequestParam(value ="endCreateDate",required = false) String endCreateDate,
52
                                  @PathVariable String client,
54
                                  @PathVariable String client,
53
                                  HttpServletRequest request) {
55
                                  HttpServletRequest request) {
54
         Integer orgId = getOrgId(request);
56
         Integer orgId = getOrgId(request);
59
         }
61
         }
60
 
62
 
61
         IPage<TpNews> page = new Page<>(pageNum, pageSize);
63
         IPage<TpNews> page = new Page<>(pageNum, pageSize);
62
-        IPage<TpNews> result = iTpNewsService.getListBy(page, orgId, newsName, status,newsTypeId);
64
+        IPage<TpNews> result = iTpNewsService.getListBy(page, orgId, newsName, status,newsTypeId,startCreateDate,endCreateDate);
63
 
65
 
64
         return ResponseBean.success(result);
66
         return ResponseBean.success(result);
65
     }
67
     }

+ 1
- 1
src/main/java/com/huiju/estateagents/entity/TaPointsExchange.java 查看文件

108
     
108
     
109
     @TableField(exist = false)
109
     @TableField(exist = false)
110
     private String personType;
110
     private String personType;
111
-    
111
+
112
     @TableField(exist = false)
112
     @TableField(exist = false)
113
     private String startCreateDate;
113
     private String startCreateDate;
114
     
114
     

+ 29
- 0
src/main/java/com/huiju/estateagents/excel/TaPersonExport.java 查看文件

1
+package com.huiju.estateagents.excel;
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 TaPersonExport {
9
+
10
+    @ColumnWidth(20)
11
+    @ExcelProperty(value = "姓名", index = 0)
12
+    private String nickname;
13
+
14
+    @ColumnWidth(15)
15
+    @ExcelProperty(value = "电话", index = 1)
16
+    private String phone;
17
+
18
+    @ColumnWidth(20)
19
+    @ExcelProperty(value = "推荐人", index = 2)
20
+    private String sharePersonName;
21
+
22
+    @ColumnWidth(10)
23
+    @ExcelProperty(value = "总积分", index = 3)
24
+    private Integer points;
25
+
26
+    @ColumnWidth(25)
27
+    @ExcelProperty(value = "创建时间", index = 4)
28
+    private String createDate;
29
+}

+ 57
- 0
src/main/java/com/huiju/estateagents/excel/TaPointsExchangeExport.java 查看文件

1
+package com.huiju.estateagents.excel;
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 TaPointsExchangeExport {
9
+
10
+    /**
11
+     * 兑换人姓名
12
+     */
13
+    @ColumnWidth(15)
14
+    @ExcelProperty(value = "用户姓名", index = 0)
15
+    private String personName;
16
+
17
+    /**
18
+     * 兑换人手机
19
+     */
20
+    @ColumnWidth(20)
21
+    @ExcelProperty(value = "手机号", index = 2)
22
+    private String phone;
23
+
24
+    /**
25
+     * 物品名称
26
+     */
27
+    @ColumnWidth(30)
28
+    @ExcelProperty(value = "商品名称", index = 3)
29
+    private String targetName;
30
+
31
+
32
+    /**
33
+     * 状态
34
+     */
35
+    @ColumnWidth(15)
36
+    @ExcelProperty(value = "状态", index = 6)
37
+    private String status;
38
+
39
+    /**
40
+     * 创建时间
41
+     */
42
+    @ColumnWidth(30)
43
+    @ExcelProperty(value = "兑换时间", index = 4)
44
+    private String createDate;
45
+
46
+    /**
47
+     * 领取时间
48
+     */
49
+    @ColumnWidth(30)
50
+    @ExcelProperty(value = "领取时间", index = 5)
51
+    private String verifyDate;
52
+
53
+    @ColumnWidth(15)
54
+    @ExcelProperty(value = "用户类型", index = 1)
55
+    private String personType;
56
+
57
+}

+ 41
- 0
src/main/java/com/huiju/estateagents/excel/TpBuildingOwnerInfoExport.java 查看文件

1
+package com.huiju.estateagents.excel;
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 TpBuildingOwnerInfoExport {
9
+
10
+    @ColumnWidth(15)
11
+    @ExcelProperty(value = "姓名", index = 0)
12
+    private String ownerName;
13
+
14
+    @ColumnWidth(15)
15
+    @ExcelProperty(value = "手机号", index = 1)
16
+    private String ownerTel;
17
+
18
+    @ColumnWidth(25)
19
+    @ExcelProperty(value = "身份证", index = 2)
20
+    private String idCard;
21
+
22
+    @ColumnWidth(10)
23
+    @ExcelProperty(value = "性别", index = 3)
24
+    private String sex;
25
+
26
+    @ColumnWidth(60)
27
+    @ExcelProperty(value = "房间号", index = 4)
28
+    private String roomNoName;
29
+
30
+    @ColumnWidth(10)
31
+    @ExcelProperty(value = "身份", index = 5)
32
+    private String roleName;
33
+
34
+    @ColumnWidth(15)
35
+    @ExcelProperty(value = "审核状态", index = 6)
36
+    private String verifyStatus;
37
+
38
+    @ColumnWidth(25)
39
+    @ExcelProperty(value = "操作时间", index = 7)
40
+    private String createDate;
41
+}

+ 1
- 0
src/main/java/com/huiju/estateagents/interceptor/AccessInterceptor.java 查看文件

67
 		    "/api/center/signin",
67
 		    "/api/center/signin",
68
             "/api/channel/signin",
68
             "/api/channel/signin",
69
 		    "/api/admin/taUser/signin",
69
 		    "/api/admin/taUser/signin",
70
+            "/api/admin/image-captcha",
70
             "/swagger-resources/configuration/ui",
71
             "/swagger-resources/configuration/ui",
71
             "/swagger-resources",
72
             "/swagger-resources",
72
             "/v2/api-docs",
73
             "/v2/api-docs",

+ 3
- 0
src/main/java/com/huiju/estateagents/mapper/TaActivityDynamicEnlistMapper.java 查看文件

8
 import org.apache.ibatis.annotations.Param;
8
 import org.apache.ibatis.annotations.Param;
9
 
9
 
10
 import java.util.List;
10
 import java.util.List;
11
+import java.util.Map;
11
 
12
 
12
 /**
13
 /**
13
  * <p>
14
  * <p>
46
      * @return
47
      * @return
47
      */
48
      */
48
     List<HelpInitiateRecordSucceed> getTaActivityDynamicEnlistExport(@Param("pageCode") int i, @Param("pageSize") Integer pageSize, @Param("dynamicId") String dynamicId, @Param("isCheckin") String isCheckin, @Param("name") String name, @Param("phone") String phone,@Param("orgId") Integer orgId);
49
     List<HelpInitiateRecordSucceed> getTaActivityDynamicEnlistExport(@Param("pageCode") int i, @Param("pageSize") Integer pageSize, @Param("dynamicId") String dynamicId, @Param("isCheckin") String isCheckin, @Param("name") String name, @Param("phone") String phone,@Param("orgId") Integer orgId);
50
+
51
+    Map<String, Integer> getLastActEnlistNum(Integer orgId);
49
 }
52
 }

+ 3
- 0
src/main/java/com/huiju/estateagents/mapper/TaPersonMapper.java 查看文件

258
     List<Map<String, Object>> selectCityPerson(@Param("orgId") Integer orgId);
258
     List<Map<String, Object>> selectCityPerson(@Param("orgId") Integer orgId);
259
 
259
 
260
     Integer cancelConsulatant(@Param("personId") String personId);
260
     Integer cancelConsulatant(@Param("personId") String personId);
261
+
262
+    IPage<TaPerson> getPersonBy(IPage<TaPerson> page, @Param("orgId") Integer orgId, @Param("name") String name,  @Param("phone") String phone, @Param("recommended") String recommended);
263
+
261
 }
264
 }

+ 4
- 0
src/main/java/com/huiju/estateagents/mapper/TaPointsExchangeMapper.java 查看文件

6
 import com.huiju.estateagents.entity.TaPointsExchange;
6
 import com.huiju.estateagents.entity.TaPointsExchange;
7
 import org.apache.ibatis.annotations.Mapper;
7
 import org.apache.ibatis.annotations.Mapper;
8
 import org.apache.ibatis.annotations.Param;
8
 import org.apache.ibatis.annotations.Param;
9
+import org.apache.ibatis.annotations.Select;
9
 
10
 
10
 import java.util.List;
11
 import java.util.List;
11
 
12
 
21
 public interface TaPointsExchangeMapper extends BaseMapper<TaPointsExchange> {
22
 public interface TaPointsExchangeMapper extends BaseMapper<TaPointsExchange> {
22
 	
23
 	
23
 	List<TaPointsExchange> selectListByParams(Page page,@Param("taPointsExchange") TaPointsExchange taPointsExchange, @Param("personBuildingList") List<TaPersonBuilding> personBuildingList);
24
 	List<TaPointsExchange> selectListByParams(Page page,@Param("taPointsExchange") TaPointsExchange taPointsExchange, @Param("personBuildingList") List<TaPersonBuilding> personBuildingList);
25
+
26
+	@Select("select count(*) from ta_points_exchange t where t.org_id = #{orgId}")
27
+    int getTotalNum(Integer orgId);
24
 }
28
 }

+ 5
- 1
src/main/java/com/huiju/estateagents/property/controller/AnnouncementTelController.java 查看文件

48
 
48
 
49
 	})
49
 	})
50
 	@RequestMapping(value = "/admin/announcement-tels",method = RequestMethod.GET)
50
 	@RequestMapping(value = "/admin/announcement-tels",method = RequestMethod.GET)
51
-	public ResponseBean getList(@RequestParam(value = "name", required = false) String name,
51
+	public ResponseBean getList(@RequestParam(value = "type") String type,
52
+								@RequestParam(value = "communityId", required = false) Integer communityId,
53
+								@RequestParam(value = "name", required = false) String name,
52
                                 @RequestParam(value = "tel", required = false) String tel,
54
                                 @RequestParam(value = "tel", required = false) String tel,
53
                                 @RequestParam(value = "remark", required = false) String remark,
55
                                 @RequestParam(value = "remark", required = false) String remark,
54
                                 @RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
56
                                 @RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
59
 		announcementTel.setOrgId(userElement.getOrgId());
61
 		announcementTel.setOrgId(userElement.getOrgId());
60
 		announcementTel.setName(name);
62
 		announcementTel.setName(name);
61
 		announcementTel.setTel(tel);
63
 		announcementTel.setTel(tel);
64
+		announcementTel.setType(type);
62
 		announcementTel.setRemark(remark);
65
 		announcementTel.setRemark(remark);
66
+		announcementTel.setCommunityId(communityId);
63
 		responseBean = announcementTelService.getTelList(announcementTel,pageNum,pageSize);
67
 		responseBean = announcementTelService.getTelList(announcementTel,pageNum,pageSize);
64
 		return responseBean;
68
 		return responseBean;
65
 	}
69
 	}

+ 26
- 20
src/main/java/com/huiju/estateagents/property/controller/BillController.java 查看文件

4
 import com.huiju.estateagents.base.BaseController;
4
 import com.huiju.estateagents.base.BaseController;
5
 import com.huiju.estateagents.base.ResponseBean;
5
 import com.huiju.estateagents.base.ResponseBean;
6
 import com.huiju.estateagents.center.taUser.entity.TaUser;
6
 import com.huiju.estateagents.center.taUser.entity.TaUser;
7
-import com.huiju.estateagents.property.common.UserElement;
7
+import com.huiju.estateagents.common.DateUtils;
8
+import com.huiju.estateagents.common.StringUtils;
8
 import com.huiju.estateagents.property.model.Bill;
9
 import com.huiju.estateagents.property.model.Bill;
9
 import com.huiju.estateagents.property.service.IBillService;
10
 import com.huiju.estateagents.property.service.IBillService;
10
 import io.swagger.annotations.Api;
11
 import io.swagger.annotations.Api;
20
 import javax.servlet.http.HttpServletResponse;
21
 import javax.servlet.http.HttpServletResponse;
21
 import javax.servlet.http.HttpSession;
22
 import javax.servlet.http.HttpSession;
22
 import java.io.OutputStream;
23
 import java.io.OutputStream;
23
-import java.text.ParseException;
24
-import java.text.SimpleDateFormat;
25
-import java.util.Date;
24
+import java.time.LocalDateTime;
26
 import java.util.List;
25
 import java.util.List;
27
 import java.util.Map;
26
 import java.util.Map;
28
 
27
 
52
             @ApiImplicitParam(paramType = "query", dataType = "integer", name = "pageSize", value = "分页每页长度")
51
             @ApiImplicitParam(paramType = "query", dataType = "integer", name = "pageSize", value = "分页每页长度")
53
     })
52
     })
54
     @RequestMapping(value = "/admin/bills",method = RequestMethod.GET)
53
     @RequestMapping(value = "/admin/bills",method = RequestMethod.GET)
55
-    public ResponseBean getList(@RequestParam(value = "billId", required = false) Integer billId,
54
+    public ResponseBean getList(@RequestParam("communityId") Integer communityId,
55
+                                @RequestParam(value = "billId", required = false) Integer billId,
56
                                 @RequestParam(value = "billName", required = false) String billName,
56
                                 @RequestParam(value = "billName", required = false) String billName,
57
-                                @RequestParam(value = "billExplain", required = false) String billExplain,
57
+                                @RequestParam(value = "startDate", required = false) String startDate,
58
+                                @RequestParam(value = "endDate", required = false) String endDate,
59
+                                @RequestParam(value = "isTicket", required = false) Boolean isTicket,
58
                                 @RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
60
                                 @RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
59
                                 @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize, HttpServletRequest request){
61
                                 @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize, HttpServletRequest request){
60
         ResponseBean responseBean = new ResponseBean();
62
         ResponseBean responseBean = new ResponseBean();
61
         TaUser userElement = getTaUser(request);
63
         TaUser userElement = getTaUser(request);
62
         Bill bill = new Bill();
64
         Bill bill = new Bill();
63
         bill.setId(billId);
65
         bill.setId(billId);
66
+        bill.setCommunityId(communityId);
64
         bill.setBillName(billName);
67
         bill.setBillName(billName);
65
-        bill.setBillExplain(billExplain);
68
+        bill.setIsTicket(isTicket);
69
+        bill.setStartDate(!StringUtils.isEmpty(startDate) ? DateUtils.parse(startDate + " 00:00:00", "yyyy-MM-dd HH:mm:ss") : null);
70
+        bill.setEndDate(!StringUtils.isEmpty(startDate) ? DateUtils.parse(endDate + " 23:59:59", "yyyy-MM-dd HH:mm:ss") : null);
66
         bill.setOrgId(userElement.getOrgId());
71
         bill.setOrgId(userElement.getOrgId());
67
         responseBean = iBillService.getBillList(bill,pageNum,pageSize);
72
         responseBean = iBillService.getBillList(bill,pageNum,pageSize);
68
         return responseBean;
73
         return responseBean;
91
     // @ApiOperation(value = "上传缴费项接口, 保存/修改", notes = "上传缴费项接口, 保存/修改")
96
     // @ApiOperation(value = "上传缴费项接口, 保存/修改", notes = "上传缴费项接口, 保存/修改")
92
     @PostMapping(value = "/admin/bill/uploadExcel/add", consumes = "multipart/*", headers = "content-type=multipart/form-data")
97
     @PostMapping(value = "/admin/bill/uploadExcel/add", consumes = "multipart/*", headers = "content-type=multipart/form-data")
93
     public ResponseBean addUploadExcel(HttpServletRequest request,
98
     public ResponseBean addUploadExcel(HttpServletRequest request,
99
+                                       @RequestParam("communityId") Integer communityId,
94
                                        @RequestParam(value = "billId", required = false) Integer billId,
100
                                        @RequestParam(value = "billId", required = false) Integer billId,
95
                                        @RequestParam(value = "file", required = false) MultipartFile file,
101
                                        @RequestParam(value = "file", required = false) MultipartFile file,
96
-                                       @RequestParam("billExplain") String billExplain,
102
+//                                       @RequestParam("billExplain") String billExplain,
97
                                        @RequestParam("billName") String billName,
103
                                        @RequestParam("billName") String billName,
98
-                                       @RequestParam("endDate") Date endDate,
104
+                                       @RequestParam("startDate") String startDate,
105
+                                       @RequestParam("endDate") String endDate,
99
                                        @RequestParam("billStatus") String billStatus) {
106
                                        @RequestParam("billStatus") String billStatus) {
100
         ResponseBean responseBean = new ResponseBean();
107
         ResponseBean responseBean = new ResponseBean();
101
         TaUser userElement = getTaUser(request);
108
         TaUser userElement = getTaUser(request);
102
-        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
103
-//        Date date = null;
104
-//        try {
105
-//            String d = simpleDateFormat.format(new Long(endDate));
106
-//            date = simpleDateFormat.parse(d);
107
-//        } catch (ParseException e) {
108
-//            e.printStackTrace();
109
-//        }
110
-        responseBean = iBillService.getExcelData(billId, file, billExplain, billName, endDate, billStatus, userElement);
109
+
110
+        LocalDateTime stDate = DateUtils.parse(startDate + " 00:00:00", "yyyy-MM-dd HH:mm:ss");
111
+        LocalDateTime edDate = DateUtils.parse(endDate + " 23:59:59", "yyyy-MM-dd HH:mm:ss");
112
+
113
+        responseBean = iBillService.saveExcelData(billId, file, communityId, billName, stDate, edDate, billStatus, userElement);
111
         return responseBean;
114
         return responseBean;
112
     }
115
     }
113
 
116
 
149
 
152
 
150
     })
153
     })
151
     @RequestMapping(value = "/admin/bill/downloadExcel", method = RequestMethod.GET)
154
     @RequestMapping(value = "/admin/bill/downloadExcel", method = RequestMethod.GET)
152
-    public void exportExcel(HttpServletResponse response, HttpServletRequest request) {
155
+    public void exportExcel(@RequestParam(value = "communityId") Integer communityId,
156
+                            @RequestParam(value = "phaseId",required = false) String phaseId,
157
+                            @RequestParam(value = "buildingId",required = false) String buildingId,
158
+                            HttpServletResponse response, HttpServletRequest request) {
153
         TaUser userElement = getTaUser(request);
159
         TaUser userElement = getTaUser(request);
154
-        HSSFWorkbook workbook = (HSSFWorkbook) iBillService.downloadExcel(userElement).getData();
160
+        HSSFWorkbook workbook = (HSSFWorkbook) iBillService.downloadExcel(userElement,communityId, phaseId,buildingId).getData();
155
 //        this.setResponseHeader(response, "缴费单模板.xls");
161
 //        this.setResponseHeader(response, "缴费单模板.xls");
156
         response.setContentType("application/octet-stream");
162
         response.setContentType("application/octet-stream");
157
         response.setCharacterEncoding("utf-8");
163
         response.setCharacterEncoding("utf-8");

+ 6
- 3
src/main/java/com/huiju/estateagents/property/controller/BillInvoiceController.java 查看文件

6
 import com.huiju.estateagents.base.ResponseBean;
6
 import com.huiju.estateagents.base.ResponseBean;
7
 import com.huiju.estateagents.center.taUser.entity.TaUser;
7
 import com.huiju.estateagents.center.taUser.entity.TaUser;
8
 import com.huiju.estateagents.property.common.UserElement;
8
 import com.huiju.estateagents.property.common.UserElement;
9
+import com.huiju.estateagents.property.model.Bill;
9
 import com.huiju.estateagents.property.model.BillInvoice;
10
 import com.huiju.estateagents.property.model.BillInvoice;
10
 import com.huiju.estateagents.property.service.IBillInvoiceService;
11
 import com.huiju.estateagents.property.service.IBillInvoiceService;
11
 import com.huiju.estateagents.property.service.IBillService;
12
 import com.huiju.estateagents.property.service.IBillService;
64
 
65
 
65
     })
66
     })
66
     @RequestMapping(value = "/admin/bill/invoice/updateBill", method = RequestMethod.PUT)
67
     @RequestMapping(value = "/admin/bill/invoice/updateBill", method = RequestMethod.PUT)
67
-    public ResponseBean updateBill(HttpServletRequest request, @RequestBody String parameter) {
68
+    public ResponseBean updateBill(HttpServletRequest request, @RequestBody Bill bill) {
68
         ResponseBean responseBean = new ResponseBean();
69
         ResponseBean responseBean = new ResponseBean();
69
 
70
 
70
         TaUser userElement = getTaUser(request);
71
         TaUser userElement = getTaUser(request);
71
-        responseBean = iBillService.updateBillNameAndBillExplainAndEndDate(userElement, parameter);
72
+        responseBean = iBillService.updateBillNameAndBillExplainAndEndDate(userElement, bill);
72
         return responseBean;
73
         return responseBean;
73
     }
74
     }
74
 
75
 
204
         ResponseBean responseBean = new ResponseBean();
205
         ResponseBean responseBean = new ResponseBean();
205
         TaUser userElement = getTaUser(request);
206
         TaUser userElement = getTaUser(request);
206
         HSSFWorkbook workbook = (HSSFWorkbook) iBillInvoiceService.exportExcel(userElement, billId).getData();
207
         HSSFWorkbook workbook = (HSSFWorkbook) iBillInvoiceService.exportExcel(userElement, billId).getData();
207
-        this.setResponseHeader(response, "缴费单.xls");
208
         //响应到客户端
208
         //响应到客户端
209
         try {
209
         try {
210
+            response.setContentType("application/octet-stream");
211
+            response.setCharacterEncoding("utf-8");
212
+            response.setHeader("Content-disposition", "attachment;filename=缴费单.xlsx");
210
              OutputStream os = response.getOutputStream();
213
              OutputStream os = response.getOutputStream();
211
              workbook.write(os);
214
              workbook.write(os);
212
              os.flush();
215
              os.flush();

+ 82
- 6
src/main/java/com/huiju/estateagents/property/controller/BuildingOwnerInfoController.java 查看文件

2
 
2
 
3
 
3
 
4
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
5
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
5
 import com.huiju.estateagents.base.BaseController;
6
 import com.huiju.estateagents.base.BaseController;
6
 import com.huiju.estateagents.base.ResponseBean;
7
 import com.huiju.estateagents.base.ResponseBean;
7
 import com.huiju.estateagents.center.taUser.entity.TaUser;
8
 import com.huiju.estateagents.center.taUser.entity.TaUser;
9
+import com.huiju.estateagents.common.DateUtils;
10
+import com.huiju.estateagents.common.ExcelUtils;
11
+import com.huiju.estateagents.common.StringUtils;
12
+import com.huiju.estateagents.excel.TpBuildingOwnerInfoExport;
8
 import com.huiju.estateagents.property.common.UserElement;
13
 import com.huiju.estateagents.property.common.UserElement;
9
 import com.huiju.estateagents.property.model.TaFace;
14
 import com.huiju.estateagents.property.model.TaFace;
10
 import com.huiju.estateagents.property.model.TaUserVerify;
15
 import com.huiju.estateagents.property.model.TaUserVerify;
16
+import com.huiju.estateagents.property.model.TpBuildingOwnerInfo;
11
 import com.huiju.estateagents.property.service.IBuildingOwnerInfoService;
17
 import com.huiju.estateagents.property.service.IBuildingOwnerInfoService;
12
 import com.huiju.estateagents.property.service.ITaFaceService;
18
 import com.huiju.estateagents.property.service.ITaFaceService;
13
 import com.huiju.estateagents.property.service.ITaUserVerifyService;
19
 import com.huiju.estateagents.property.service.ITaUserVerifyService;
24
 import javax.servlet.http.HttpServletRequest;
30
 import javax.servlet.http.HttpServletRequest;
25
 import javax.servlet.http.HttpServletResponse;
31
 import javax.servlet.http.HttpServletResponse;
26
 import javax.servlet.http.HttpSession;
32
 import javax.servlet.http.HttpSession;
33
+import java.io.IOException;
27
 import java.io.OutputStream;
34
 import java.io.OutputStream;
35
+import java.util.ArrayList;
28
 import java.util.List;
36
 import java.util.List;
29
 import java.util.Map;
37
 import java.util.Map;
30
 
38
 
66
         return responseBean;
74
         return responseBean;
67
     }
75
     }
68
 
76
 
77
+    /**
78
+     * 业主导出
79
+     * @param parameter
80
+     * @param request
81
+     * @return
82
+     */
83
+    @RequestMapping(value = "/admin/buildingInfo/list/export", method = RequestMethod.POST)
84
+    public ResponseBean getListExport(@RequestBody String parameter,
85
+                                      HttpServletRequest request,
86
+                                      HttpServletResponse response){
87
+        ResponseBean responseBean = new ResponseBean();
88
+        TaUser userElement = getTaUser(request);
89
+        responseBean = iBuildingOwnerInfoService.listQuery(parameter, userElement);
90
+
91
+        List<TpBuildingOwnerInfo> records = (List<TpBuildingOwnerInfo>) ((Map<String, Object>) responseBean.getData()).get("list");
92
+
93
+        if (null != records) {
94
+            List<TpBuildingOwnerInfoExport> list = new ArrayList<>();
95
+            for (TpBuildingOwnerInfo item: records) {
96
+                TpBuildingOwnerInfoExport ownerInfo = new TpBuildingOwnerInfoExport();
97
+                ownerInfo.setOwnerName(item.getOwnerName());
98
+                ownerInfo.setIdCard(item.getIdCard());
99
+                ownerInfo.setOwnerTel(item.getOwnerTel());
100
+                ownerInfo.setSex(getSexFromIdCard(item.getIdCard()));
101
+                ownerInfo.setRoomNoName(item.getPhaseName()+item.getBuildingName()+item.getUnitName()+item.getLevelName()+item.getRoomNoName());
102
+                ownerInfo.setRoleName(item.getRoleName());
103
+                ownerInfo.setVerifyStatus("0".equals(item.getVerifyStatus()) ? "未审核" : ("1".equals(item.getVerifyStatus()) ? "审核通过" : ("1".equals(item.getVerifyStatus()) ? "审核不通过": "") ));
104
+                ownerInfo.setCreateDate(DateUtils.format(item.getCreateDate(), "yyyy-MM-dd HH:mm"));
105
+                list.add(ownerInfo);
106
+            }
107
+
108
+            try {
109
+                ExcelUtils.flush(response, TpBuildingOwnerInfoExport.class, list, "业主记录.xlsx");
110
+                return null;
111
+            } catch (IOException e) {
112
+                return ResponseBean.error("导出 Excel 失败 "+ e.getMessage(), ResponseBean.ERROR_UNAVAILABLE);
113
+            }
114
+        }
115
+
116
+        return responseBean;
117
+    }
118
+
119
+    private String getSexFromIdCard(String idCard) {
120
+        if (StringUtils.isEmpty(idCard) || idCard.length() != 18) {
121
+            return null;
122
+        }
123
+
124
+        String sign = idCard.split("")[16];
125
+
126
+        return Integer.parseInt(sign) % 2 == 1 ? "男" : "女";
127
+    }
128
+
129
+
69
     // @ApiOperation(value = "获取楼栋业主审核详情", notes = "获取楼栋业主审核详情")
130
     // @ApiOperation(value = "获取楼栋业主审核详情", notes = "获取楼栋业主审核详情")
70
     @ApiImplicitParams({
131
     @ApiImplicitParams({
71
             @ApiImplicitParam(paramType = "query", dataTypeClass = Integer.class, name = "userVerifyId",value = "审核Id")
132
             @ApiImplicitParam(paramType = "query", dataTypeClass = Integer.class, name = "userVerifyId",value = "审核Id")
159
         return responseBean;
220
         return responseBean;
160
     }
221
     }
161
 
222
 
223
+    private List<Integer> getCommunityIdsBy(String communityIds) {
224
+        List<Integer> communityIdList = new ArrayList<>();
225
+        String[] parts = communityIds.split(",");
226
+        for (String id : parts) {
227
+            communityIdList.add(Integer.parseInt(id));
228
+        }
229
+        return communityIdList;
230
+    }
231
+
162
     // @ApiOperation(value = "查询 期区", notes = "查询 期区")
232
     // @ApiOperation(value = "查询 期区", notes = "查询 期区")
163
     @ApiImplicitParams({
233
     @ApiImplicitParams({
164
     })
234
     })
165
     @RequestMapping(value = "/admin/buildingInfo/phase",method = RequestMethod.GET)
235
     @RequestMapping(value = "/admin/buildingInfo/phase",method = RequestMethod.GET)
166
-    public ResponseBean getPhaseList(HttpServletRequest request){
236
+    public ResponseBean getPhaseList(@RequestParam Integer communityId,
237
+                                     HttpServletRequest request){
167
         ResponseBean responseBean = new ResponseBean();
238
         ResponseBean responseBean = new ResponseBean();
239
+
168
         TaUser userElement = getTaUser(request);
240
         TaUser userElement = getTaUser(request);
169
-        responseBean = iBuildingOwnerInfoService.getPhaseList(userElement.getOrgId());
241
+        responseBean = iBuildingOwnerInfoService.getPhaseList(userElement.getOrgId(), communityId);
170
         return responseBean;
242
         return responseBean;
171
     }
243
     }
172
     
244
     
228
  
300
  
229
     // @ApiOperation(value = "上传楼栋信息并入库", notes = "上传楼栋信息并入库")
301
     // @ApiOperation(value = "上传楼栋信息并入库", notes = "上传楼栋信息并入库")
230
     @PostMapping(value = "/admin/buildingInfo/submitExcel", consumes = "multipart/*", headers = "content-type=multipart/form-data")
302
     @PostMapping(value = "/admin/buildingInfo/submitExcel", consumes = "multipart/*", headers = "content-type=multipart/form-data")
231
-    public ResponseBean submitExcel(@RequestParam("file") MultipartFile file, HttpServletRequest request) {
303
+    public ResponseBean submitExcel(@RequestParam("file") MultipartFile file,
304
+                                    @RequestParam("communityId") Integer communityId,
305
+                                    HttpServletRequest request) {
232
         ResponseBean responseBean = new ResponseBean();
306
         ResponseBean responseBean = new ResponseBean();
233
         TaUser userElement = getTaUser(request);
307
         TaUser userElement = getTaUser(request);
234
         try {
308
         try {
235
-            responseBean = iBuildingOwnerInfoService.submitExcelData(file,userElement);
309
+            responseBean = iBuildingOwnerInfoService.submitExcelData(file, communityId, userElement);
236
         }catch (Exception e){
310
         }catch (Exception e){
237
             responseBean.addError("导入数据失败" + e.getMessage());
311
             responseBean.addError("导入数据失败" + e.getMessage());
238
             e.printStackTrace();
312
             e.printStackTrace();
303
 
377
 
304
     })
378
     })
305
     @RequestMapping(value = "/admin/buildingInfo/downloadExcel", method = RequestMethod.GET)
379
     @RequestMapping(value = "/admin/buildingInfo/downloadExcel", method = RequestMethod.GET)
306
-    public void exportExcel(HttpServletResponse response, HttpServletRequest request) {
380
+    public void exportExcel(@RequestParam Integer communityId,
381
+                            HttpServletResponse response,
382
+                            HttpServletRequest request) {
307
         TaUser userElement = getTaUser(request);
383
         TaUser userElement = getTaUser(request);
308
-        XSSFWorkbook workbook = (XSSFWorkbook) iBuildingOwnerInfoService.downloadExcel(userElement).getData();
384
+        XSSFWorkbook workbook = (XSSFWorkbook) iBuildingOwnerInfoService.downloadExcel(communityId, userElement).getData();
309
 //        this.setResponseHeader(response, "业主资料库.xlsx");
385
 //        this.setResponseHeader(response, "业主资料库.xlsx");
310
         response.setContentType("application/octet-stream");
386
         response.setContentType("application/octet-stream");
311
         response.setCharacterEncoding("utf-8");
387
         response.setCharacterEncoding("utf-8");

+ 20
- 2
src/main/java/com/huiju/estateagents/property/controller/BuildingTreeController.java 查看文件

15
 
15
 
16
 import javax.servlet.http.HttpServletRequest;
16
 import javax.servlet.http.HttpServletRequest;
17
 import javax.servlet.http.HttpSession;
17
 import javax.servlet.http.HttpSession;
18
+import java.util.Map;
18
 
19
 
19
 /**
20
 /**
20
  * @author FXF
21
  * @author FXF
39
 	
40
 	
40
 	// @ApiOperation(value = "上传楼栋信息并入库", notes = "上传楼栋信息并入库")
41
 	// @ApiOperation(value = "上传楼栋信息并入库", notes = "上传楼栋信息并入库")
41
 	@PostMapping(value = "/admin/buildingInfo/tree/submitExcel", consumes = "multipart/*", headers = "content-type=multipart/form-data")
42
 	@PostMapping(value = "/admin/buildingInfo/tree/submitExcel", consumes = "multipart/*", headers = "content-type=multipart/form-data")
42
-	public ResponseBean submitExcel(@RequestParam("file") MultipartFile file, HttpServletRequest request) {
43
+	public ResponseBean submitExcel(@RequestParam("file") MultipartFile file,
44
+									@RequestParam("communityId") Integer communityId,
45
+									HttpServletRequest request) {
46
+		if (null == communityId || communityId < 1) {
47
+			return ResponseBean.error("请设置上传小区", ResponseBean.ERROR_MISSING_PARAMS);
48
+		}
49
+
43
 		ResponseBean responseBean = new ResponseBean();
50
 		ResponseBean responseBean = new ResponseBean();
44
 		TaUser userElement = getTaUser(request);
51
 		TaUser userElement = getTaUser(request);
45
-		responseBean = buildingTreeService.submitExcelData(file,userElement);
52
+		responseBean = buildingTreeService.submitExcelData(file, communityId, userElement);
46
 		return responseBean;
53
 		return responseBean;
47
 	}
54
 	}
48
 	
55
 	
72
 		return responseBean;
79
 		return responseBean;
73
 	}
80
 	}
74
 
81
 
82
+	// @ApiOperation(value = "添加当前节点", notes = "添加当前节点")
83
+	@ApiImplicitParams({
84
+			@ApiImplicitParam(paramType = "body", dataTypeClass = String.class, name = "parameter", value = "id:当前节点;" +
85
+					"name:节点名称;type:(phase:(期),building:(栋),unit:(单元),level:(楼层),roomNo:(房间号)), roomNonodeNumber:输入的节点")
86
+	})
87
+	@RequestMapping(value = "/admin/buildingInfo/updatenode",method = RequestMethod.POST)
88
+	public ResponseBean editNode(@RequestBody Map<String, Object> parameter, HttpServletRequest request){
89
+		TaUser userElement = getTaUser(request);
90
+		return buildingTreeService.editNode(parameter, userElement.getOrgId());
91
+	}
92
+
75
 	// @ApiOperation(value = "删除当前节点", notes = "删除当前节点")
93
 	// @ApiOperation(value = "删除当前节点", notes = "删除当前节点")
76
 	@ApiImplicitParams({
94
 	@ApiImplicitParams({
77
 			@ApiImplicitParam(paramType = "body", dataTypeClass = String.class, name = "parameter", value = "id:当前节点;type:(end:(房间),roomNo:(楼层),level:(单元),unit:(楼栋),building:(期))")
95
 			@ApiImplicitParam(paramType = "body", dataTypeClass = String.class, name = "parameter", value = "id:当前节点;type:(end:(房间),roomNo:(楼层),level:(单元),unit:(楼栋),building:(期))")

+ 108
- 10
src/main/java/com/huiju/estateagents/property/controller/IndexCountController.java 查看文件

3
 import com.huiju.estateagents.base.BaseController;
3
 import com.huiju.estateagents.base.BaseController;
4
 import com.huiju.estateagents.base.ResponseBean;
4
 import com.huiju.estateagents.base.ResponseBean;
5
 import com.huiju.estateagents.center.taUser.entity.TaUser;
5
 import com.huiju.estateagents.center.taUser.entity.TaUser;
6
-import com.huiju.estateagents.property.common.UserElement;
7
-import com.huiju.estateagents.property.service.IndexCountServiceI;
6
+import com.huiju.estateagents.property.service.*;
8
 import com.google.common.collect.Maps;
7
 import com.google.common.collect.Maps;
9
-import io.swagger.annotations.ApiImplicitParam;
8
+import com.huiju.estateagents.service.ITaBuildingDynamicService;
9
+import com.huiju.estateagents.service.ITaPointsExchangeService;
10
 import io.swagger.annotations.ApiImplicitParams;
10
 import io.swagger.annotations.ApiImplicitParams;
11
-import io.swagger.annotations.ApiOperation;
12
 import org.springframework.beans.factory.annotation.Autowired;
11
 import org.springframework.beans.factory.annotation.Autowired;
13
-import org.springframework.web.bind.annotation.RequestMapping;
14
-import org.springframework.web.bind.annotation.RequestMethod;
15
-import org.springframework.web.bind.annotation.RestController;
12
+import org.springframework.web.bind.annotation.*;
16
 
13
 
17
 import javax.servlet.http.HttpServletRequest;
14
 import javax.servlet.http.HttpServletRequest;
18
-import javax.servlet.http.HttpSession;
15
+import java.util.HashMap;
16
+import java.util.List;
19
 import java.util.Map;
17
 import java.util.Map;
20
 
18
 
21
 /**
19
 /**
23
  * @date 2019-05-28
21
  * @date 2019-05-28
24
  */
22
  */
25
 @RestController
23
 @RestController
26
-@RequestMapping("/")
24
+@RequestMapping("/api")
27
 public class IndexCountController extends BaseController {
25
 public class IndexCountController extends BaseController {
28
 	
26
 	
29
 	@Autowired
27
 	@Autowired
30
 	private IndexCountServiceI indexCountService;
28
 	private IndexCountServiceI indexCountService;
31
-	
29
+
30
+	@Autowired
31
+	BuildingTreeServiceI buildingTreeService;
32
+
33
+	@Autowired
34
+	IBuildingOwnerInfoService iBuildingOwnerInfoService;
35
+
36
+	@Autowired
37
+	IBillService iBillService;
38
+
39
+	@Autowired
40
+	TpTicketService tpTicketService;
41
+
42
+	@Autowired
43
+	ITaUserVerifyService iTaUserVerifyService;
44
+
45
+	@Autowired
46
+	ITaPointsExchangeService iTaPointsExchangeService;
47
+
48
+	@Autowired
49
+	ITaBuildingDynamicService iTaBuildingDynamicService;
50
+
32
 	// @ApiOperation(value = "获取物业端首页所有统计数据", notes = "获取物业端首页所有统计数据")
51
 	// @ApiOperation(value = "获取物业端首页所有统计数据", notes = "获取物业端首页所有统计数据")
33
 	@ApiImplicitParams({
52
 	@ApiImplicitParams({
34
 
53
 
47
 		responseBean.addSuccess(indexCountMap);
66
 		responseBean.addSuccess(indexCountMap);
48
 		return responseBean;
67
 		return responseBean;
49
 	}
68
 	}
69
+
70
+	@GetMapping("/admin/dashboard/statis")
71
+	public ResponseBean getDashboardStatis(@RequestParam("startDate") String startDate,
72
+										   @RequestParam("endDate") String endDate,
73
+										   HttpServletRequest request) {
74
+		Integer orgId = getOrgId(request);
75
+
76
+		// 楼栋
77
+		int buildingNum = buildingTreeService.getRoomNum(orgId);
78
+		// 业主
79
+		int propNum = iBuildingOwnerInfoService.getAvailableProp(orgId);
80
+		// 缴费
81
+		int houseNum = iBillService.getBillHouse(orgId, startDate, endDate);
82
+		// 工单
83
+		int ticketNum = tpTicketService.getTicketNum(orgId, startDate, endDate);
84
+
85
+		Map<String, Object> res = new HashMap<>();
86
+		res.put("buildingNum", buildingNum);
87
+		res.put("propNum", propNum);
88
+		res.put("houseNum", houseNum);
89
+		res.put("ticketNum", ticketNum);
90
+
91
+		return ResponseBean.success(res);
92
+	}
93
+
94
+	@GetMapping("/admin/dashboard/dynamic")
95
+	public ResponseBean getDashboardDynamic(@RequestParam("startDate") String startDate,
96
+										   @RequestParam("endDate") String endDate,
97
+										   HttpServletRequest request) {
98
+		Integer orgId = getOrgId(request);
99
+
100
+		// 工单
101
+		List<Map<String, Object>> ticketList = tpTicketService.getTicketMapList(orgId, startDate, endDate);
102
+
103
+		// 业主
104
+		List<Map<String, Object>> propList = iTaUserVerifyService.getVerifyMapList(orgId, startDate, endDate);
105
+
106
+		// 缴费
107
+		List<Map<String, Object>> billList = iBillService.getBillMapList(orgId, startDate, endDate);
108
+
109
+		Map<String, Object> res = new HashMap<>();
110
+		res.put("ticketList", ticketList);
111
+		res.put("propList", propList);
112
+		res.put("billList", billList);
113
+
114
+		return ResponseBean.success(res);
115
+	}
116
+
117
+
118
+	@GetMapping("/admin/dashboard/house-verified")
119
+	public ResponseBean getDashboardHouseVerified(HttpServletRequest request) {
120
+		Integer orgId = getOrgId(request);
121
+
122
+		Map<String, Object> houseList = iBuildingOwnerInfoService.getVerifyNum(orgId);
123
+
124
+		return ResponseBean.success(houseList);
125
+	}
126
+
127
+	@GetMapping("/admin/dashboard/tips")
128
+	public ResponseBean getDashboardTips(HttpServletRequest request) {
129
+		Integer orgId = getOrgId(request);
130
+
131
+		// 待处理工单
132
+		int ticketNum = tpTicketService.getStartNum(orgId);
133
+		// 待审核业主
134
+		int verifyNum = iTaUserVerifyService.getNoVerifyNum(orgId);
135
+		// 兑换列表
136
+		int exchangeNum = iTaPointsExchangeService.getTotalNum(orgId);
137
+		// 近期在进行的活动
138
+		Map<String, Integer> enlistNum = iTaBuildingDynamicService.getLastActEnlistNum(orgId);
139
+
140
+		Map<String, Object> res = new HashMap<>();
141
+		res.put("ticketNum", ticketNum);
142
+		res.put("verifyNum", verifyNum);
143
+		res.put("exchangeNum", exchangeNum);
144
+		res.put("enlistNum", enlistNum);
145
+
146
+		return ResponseBean.success(res);
147
+	}
50
 }
148
 }

+ 160
- 0
src/main/java/com/huiju/estateagents/property/controller/TpCommunityController.java 查看文件

1
+package com.huiju.estateagents.property.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.common.CommConstant;
9
+import io.swagger.annotations.Api;
10
+import io.swagger.annotations.ApiOperation;
11
+import io.swagger.annotations.ApiParam;
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.PathVariable;
16
+import org.springframework.web.bind.annotation.RequestBody;
17
+import org.springframework.web.bind.annotation.RequestMapping;
18
+import org.springframework.web.bind.annotation.RequestMethod;
19
+import org.springframework.web.bind.annotation.RequestParam;
20
+import com.huiju.estateagents.property.service.ITpCommunityService;
21
+import com.huiju.estateagents.property.entity.TpCommunity;
22
+import org.springframework.web.bind.annotation.RestController;
23
+
24
+import javax.servlet.http.HttpServletRequest;
25
+
26
+/**
27
+ * <p>
28
+    *  前端控制器
29
+    * </p>
30
+ *
31
+ * @author yansen
32
+ * @since 2021-01-19
33
+ */
34
+
35
+@Api(tags = "")
36
+@RestController
37
+@RequestMapping("/api")
38
+public class TpCommunityController extends BaseController {
39
+
40
+    private final Logger logger = LoggerFactory.getLogger(TpCommunityController.class);
41
+
42
+    @Autowired
43
+    public ITpCommunityService iTpCommunityService;
44
+
45
+
46
+    /**
47
+     * 分页查询列表
48
+     * @param pageNum
49
+     * @param pageSize
50
+     * @return
51
+     */
52
+    @RequestMapping(value="/{client}/tpCommunity",method= RequestMethod.GET)
53
+    @ApiOperation(value="列表", notes = "列表", httpMethod = "GET", response = ResponseBean.class)
54
+    public ResponseBean tpCommunityList(@ApiParam(value = "客户端", allowableValues = "wx,admin") @PathVariable("client") String client,
55
+                                        @ApiParam("页码") @RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
56
+                                        @ApiParam("单页数据量") @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
57
+                                        HttpServletRequest request) throws Exception{
58
+
59
+		    IPage<TpCommunity> pg = new Page<>(pageNum, pageSize);
60
+            QueryWrapper<TpCommunity> queryWrapper = new QueryWrapper<>();
61
+            queryWrapper.eq("org_id", getOrgId(request));
62
+            queryWrapper.eq("wx".equals(client), "status", CommConstant.STATUS_NORMAL);
63
+            queryWrapper.gt("admin".equals(client), "status", CommConstant.STATUS_DELETE);
64
+            queryWrapper.orderByDesc("create_date");
65
+
66
+            IPage<TpCommunity> result = iTpCommunityService.page(pg, queryWrapper);
67
+            return ResponseBean.success(result);
68
+    }
69
+
70
+    /**
71
+     * 保存对象
72
+     * @param tpCommunity 实体对象
73
+     * @return
74
+     */
75
+    @RequestMapping(value="/admin/tpCommunity",method= RequestMethod.POST)
76
+    @ApiOperation(value="保存", notes = "保存", httpMethod = "POST", response = ResponseBean.class)
77
+    public ResponseBean tpCommunityAdd(@ApiParam("保存内容") @RequestBody TpCommunity tpCommunity,
78
+                                       HttpServletRequest request) throws Exception{
79
+
80
+        tpCommunity.setOrgId(getOrgId(request));
81
+
82
+        if (iTpCommunityService.save(tpCommunity)){
83
+            return ResponseBean.success(tpCommunity);
84
+        }else {
85
+            return ResponseBean.error("保存失败, 请重试", ResponseBean.ERROR_UNAVAILABLE);
86
+        }
87
+    }
88
+
89
+    /**
90
+     * 根据id删除对象
91
+     * @param id  实体ID
92
+     */
93
+    @RequestMapping(value="/admin/tpCommunity/{id}", method= RequestMethod.DELETE)
94
+    @ApiOperation(value="删除", notes = "删除", httpMethod = "DELETE", response = ResponseBean.class)
95
+    public ResponseBean tpCommunityDelete(@ApiParam("对象ID") @PathVariable Integer id,
96
+                                          HttpServletRequest request) throws Exception{
97
+
98
+        TpCommunity tpCommunity = iTpCommunityService.getById(id);
99
+        if (null == tpCommunity || CommConstant.STATUS_DELETE.equals(tpCommunity.getStatus())) {
100
+            return ResponseBean.error("没有找到对应的社区信息", ResponseBean.ERROR_ILLEGAL_PARAMS);
101
+        }
102
+
103
+        Integer orgId = getOrgId(request);
104
+        if (!orgId.equals(tpCommunity.getOrgId())) {
105
+            return ResponseBean.error("暂无操作权限", ResponseBean.ERROR_ILLEGAL_PARAMS);
106
+        }
107
+
108
+        tpCommunity.setStatus(CommConstant.STATUS_DELETE);
109
+
110
+        return tpCommunityUpdate(id, tpCommunity, request);
111
+    }
112
+
113
+    /**
114
+     * 修改对象
115
+     * @param id  实体ID
116
+     * @param tpCommunity 实体对象
117
+     * @return
118
+     */
119
+    @RequestMapping(value="/admin/tpCommunity/{id}",method= RequestMethod.PUT)
120
+    @ApiOperation(value="更新", notes = "更新", httpMethod = "PUT", response = ResponseBean.class)
121
+    public ResponseBean tpCommunityUpdate(@ApiParam("对象ID") @PathVariable Integer id,
122
+                                          @ApiParam("更新内容") @RequestBody TpCommunity tpCommunity,
123
+                                          HttpServletRequest request) throws Exception{
124
+        tpCommunity.setId(id);
125
+
126
+        Integer orgId = getOrgId(request);
127
+        if (!orgId.equals(tpCommunity.getOrgId())) {
128
+            return ResponseBean.error("暂无操作权限", ResponseBean.ERROR_ILLEGAL_PARAMS);
129
+        }
130
+
131
+        if (iTpCommunityService.updateById(tpCommunity)){
132
+            return ResponseBean.success(iTpCommunityService.getById(id));
133
+        }else {
134
+            return ResponseBean.error("修改失败, 请重试", ResponseBean.ERROR_UNAVAILABLE);
135
+        }
136
+    }
137
+
138
+    /**
139
+     * 根据id查询对象
140
+     * @param id  实体ID
141
+     */
142
+    @RequestMapping(value="/{client}/tpCommunity/{id}",method= RequestMethod.GET)
143
+    @ApiOperation(value="详情", notes = "详情", httpMethod = "GET", response = ResponseBean.class)
144
+    public ResponseBean tpCommunityGet(@ApiParam(value = "客户端", allowableValues = "wx,admin") @PathVariable("client") String client,
145
+                                       @ApiParam("对象ID") @PathVariable Integer id,
146
+                                       HttpServletRequest request) throws Exception{
147
+
148
+        TpCommunity tpCommunity = iTpCommunityService.getById(id);
149
+        if (null == tpCommunity || CommConstant.STATUS_DELETE.equals(tpCommunity.getStatus())) {
150
+            return ResponseBean.error("没有找到对应的社区信息", ResponseBean.ERROR_ILLEGAL_PARAMS);
151
+        }
152
+
153
+        Integer orgId = getOrgId(request);
154
+        if (!orgId.equals(tpCommunity.getOrgId())) {
155
+            return ResponseBean.error("暂无操作权限", ResponseBean.ERROR_ILLEGAL_PARAMS);
156
+        }
157
+
158
+        return ResponseBean.success(tpCommunity);
159
+    }
160
+}

+ 45
- 0
src/main/java/com/huiju/estateagents/property/controller/TpRoomNoController.java 查看文件

1
+package com.huiju.estateagents.property.controller;
2
+
3
+import com.baomidou.mybatisplus.core.metadata.IPage;
4
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
5
+import com.huiju.estateagents.base.BaseController;
6
+import com.huiju.estateagents.base.ResponseBean;
7
+import com.huiju.estateagents.property.model.TpRoomNo;
8
+import com.huiju.estateagents.property.service.BuildingTreeServiceI;
9
+import io.swagger.annotations.Api;
10
+import io.swagger.annotations.ApiOperation;
11
+import io.swagger.annotations.ApiParam;
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
+@Api(tags = "楼栋房源信息表 ")
19
+@RestController
20
+@RequestMapping("/api/{client}/buildingInfo/building-room")
21
+public class TpRoomNoController extends BaseController {
22
+
23
+    @Autowired
24
+    BuildingTreeServiceI buildingTreeService;
25
+
26
+    @ApiOperation(value="列表", notes = "列表", httpMethod = "GET", response = ResponseBean.class)
27
+    @GetMapping("/list")
28
+    public ResponseBean getList(@ApiParam(value = "客户端", allowableValues = "admin") @PathVariable String client,
29
+                                @ApiParam("页码") @RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
30
+                                @ApiParam("单页数据量") @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
31
+                                @ApiParam("期数ID") @RequestParam(value ="phaseId", required = false) Integer phaseId,
32
+                                @ApiParam("楼栋ID") @RequestParam(value ="buildingId", required = false) Integer buildingId,
33
+                                @ApiParam("单元ID") @RequestParam(value ="unitId", required = false) Integer unitId,
34
+                                @ApiParam("楼层ID") @RequestParam(value ="levelId", required = false) Integer levelId,
35
+                                @ApiParam("户号ID") @RequestParam(value ="roomNoId", required = false) Integer roomNoId,
36
+                                HttpServletRequest request) {
37
+        Integer orgId = getOrgId(request);
38
+        IPage<TpRoomNo> page = new Page<>(pageNum, pageSize);
39
+
40
+        IPage<TpRoomNo> result = buildingTreeService.getRoomList(page, orgId, phaseId, buildingId, unitId, levelId, roomNoId);
41
+
42
+        return ResponseBean.success(result);
43
+    }
44
+
45
+}

+ 2
- 2
src/main/java/com/huiju/estateagents/property/controller/TpTicketController.java 查看文件

153
     @RequestMapping(value = "/admin/updateTicketStatus", method = RequestMethod.POST)
153
     @RequestMapping(value = "/admin/updateTicketStatus", method = RequestMethod.POST)
154
     public ResponseBean updateTicketStatus(@RequestBody String parameter, HttpServletRequest request){
154
     public ResponseBean updateTicketStatus(@RequestBody String parameter, HttpServletRequest request){
155
         TaUser userElement = getTaUser(request);
155
         TaUser userElement = getTaUser(request);
156
-        ResponseBean  responseBean = tpTicketService.updateTicketStatus(parameter,userElement.getUserId(),userElement.getOrgId(),userElement.getUserName(),userElement.getLoginName());
156
+        ResponseBean  responseBean = tpTicketService.updateTicketStatus(parameter,userElement.getUserId(),userElement.getOrgId(),userElement.getUserName(),userElement.getPhone());
157
         return responseBean;
157
         return responseBean;
158
     }
158
     }
159
 
159
 
165
     @RequestMapping(value = "/admin/updateTicket", method = RequestMethod.POST)
165
     @RequestMapping(value = "/admin/updateTicket", method = RequestMethod.POST)
166
     public ResponseBean updateTicket(@RequestBody String parameter, HttpServletRequest request){
166
     public ResponseBean updateTicket(@RequestBody String parameter, HttpServletRequest request){
167
         TaUser userElement = getTaUser(request);
167
         TaUser userElement = getTaUser(request);
168
-        ResponseBean  responseBean = tpTicketService.updateTicket(parameter,userElement.getUserId(),userElement.getOrgId(),userElement.getUserName(),userElement.getLoginName());
168
+        ResponseBean  responseBean = tpTicketService.updateTicket(parameter,userElement.getUserId(),userElement.getOrgId(),userElement.getUserName(),userElement.getPhone());
169
         return responseBean;
169
         return responseBean;
170
     }
170
     }
171
 
171
 

+ 4
- 2
src/main/java/com/huiju/estateagents/property/controller/UserVerifyController.java 查看文件

34
     @RequestMapping(value = "/admin/prop-user/verify/all", method = RequestMethod.GET)
34
     @RequestMapping(value = "/admin/prop-user/verify/all", method = RequestMethod.GET)
35
     // @ApiOperation(value = "获取待审核的用户列表", notes = "获取待审核的用户列表")
35
     // @ApiOperation(value = "获取待审核的用户列表", notes = "获取待审核的用户列表")
36
     @ApiImplicitParams({
36
     @ApiImplicitParams({
37
+            @ApiImplicitParam(paramType = "query", dataTypeClass = String.class, name = "communityId", value = "小区ID"),
37
             @ApiImplicitParam(paramType = "query", dataTypeClass = String.class, name = "phone", value = "手机号"),
38
             @ApiImplicitParam(paramType = "query", dataTypeClass = String.class, name = "phone", value = "手机号"),
38
             @ApiImplicitParam(paramType = "query", dataTypeClass = String.class, name = "userName", value = "用户名"),
39
             @ApiImplicitParam(paramType = "query", dataTypeClass = String.class, name = "userName", value = "用户名"),
39
             @ApiImplicitParam(paramType = "query", dataTypeClass = String.class, name = "idCard", value = "身份证"),
40
             @ApiImplicitParam(paramType = "query", dataTypeClass = String.class, name = "idCard", value = "身份证"),
40
             @ApiImplicitParam(paramType = "query", dataTypeClass = String.class, name = "pageNum", value = "第几页"),
41
             @ApiImplicitParam(paramType = "query", dataTypeClass = String.class, name = "pageNum", value = "第几页"),
41
             @ApiImplicitParam(paramType = "query", dataTypeClass = String.class, name = "pageSize", value = "一页多少行"),
42
             @ApiImplicitParam(paramType = "query", dataTypeClass = String.class, name = "pageSize", value = "一页多少行"),
42
     })
43
     })
43
-    public ResponseBean getAll(@RequestParam(value = "phone", required = false) String phone,
44
+    public ResponseBean getAll(@RequestParam(value = "communityId") Integer communityId,
45
+                               @RequestParam(value = "phone", required = false) String phone,
44
                                @RequestParam(value = "userName", required = false) String userName,
46
                                @RequestParam(value = "userName", required = false) String userName,
45
                                @RequestParam(value = "idCard", required = false) String idCard,
47
                                @RequestParam(value = "idCard", required = false) String idCard,
46
                                @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
48
                                @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
49
 
51
 
50
         ResponseBean responseBean = new ResponseBean();
52
         ResponseBean responseBean = new ResponseBean();
51
         TaUser userElement = getTaUser(request);
53
         TaUser userElement = getTaUser(request);
52
-        responseBean = iTaUserVerifyService.selectAll(phone, userName, idCard, pageNum, pageSize, userElement);
54
+        responseBean = iTaUserVerifyService.selectAll(communityId, phone, userName, idCard, pageNum, pageSize, userElement);
53
         return responseBean;
55
         return responseBean;
54
     }
56
     }
55
 
57
 

+ 6
- 1
src/main/java/com/huiju/estateagents/property/dao/TaUserVerifyMapper.java 查看文件

23
     /**
23
     /**
24
      * 根据 手机号 、用户名、身份证
24
      * 根据 手机号 、用户名、身份证
25
      * @param page
25
      * @param page
26
+     * @param communityId
26
      * @param phone
27
      * @param phone
27
      * @param userName
28
      * @param userName
28
      * @param idCard
29
      * @param idCard
29
      * @return
30
      * @return
30
      */
31
      */
31
-    IPage<TaUserVerify> selectAllByPhoneAndUserNameAndIdCard(Page page, @Param("phone") String phone, @Param("userName") String userName, @Param("idCard") String idCard, @Param("orgId") Integer orgId);
32
+    IPage<TaUserVerify> selectAllByPhoneAndUserNameAndIdCard(Page page, Integer communityId, @Param("phone") String phone, @Param("userName") String userName, @Param("idCard") String idCard, @Param("orgId") Integer orgId);
32
 
33
 
33
     /**
34
     /**
34
      * 根据 小区id 、 小区、期、栋、单元、楼层、户号 进行条件查询出 已审核通过的并且是业主
35
      * 根据 小区id 、 小区、期、栋、单元、楼层、户号 进行条件查询出 已审核通过的并且是业主
167
     Page<Map<String, String>> getPropUserByPaged(Page<Map<String, String>> page, @Param("orgId") Integer orgId);
168
     Page<Map<String, String>> getPropUserByPaged(Page<Map<String, String>> page, @Param("orgId") Integer orgId);
168
 
169
 
169
     Page<Map<String, String>> getPropUserByBirday(Page<Map<String, String>> page, @Param("orgId") Integer orgId, @Param("birthday") String birthday);
170
     Page<Map<String, String>> getPropUserByBirday(Page<Map<String, String>> page, @Param("orgId") Integer orgId, @Param("birthday") String birthday);
171
+
172
+    List<Map<String, Object>> getVerifyMapList(@Param("orgId") Integer orgId, @Param("startDate") String startDate,@Param("endDate") String endDate);
173
+
174
+    int getNoVerifyNum(Integer orgId);
170
 }
175
 }

+ 3
- 0
src/main/java/com/huiju/estateagents/property/dao/TpBillOrderMapper.java 查看文件

84
     List<TpBillOrder> selectByOrderBumber(@Param("orderNumber") String orderNumber);
84
     List<TpBillOrder> selectByOrderBumber(@Param("orderNumber") String orderNumber);
85
 
85
 
86
 
86
 
87
+    int getBillHouse(@Param("orgId") Integer orgId, @Param("startDate") String startDate, @Param("endDate") String endDate);
88
+
89
+    List<Map<String, Object>> getBillMapList(@Param("orgId") Integer orgId, @Param("startDate") String startDate, @Param("endDate") String endDate);
87
 }
90
 }

+ 7
- 0
src/main/java/com/huiju/estateagents/property/dao/TpBuildingMapper.java 查看文件

27
     @ResultType(TpBuilding.class)
27
     @ResultType(TpBuilding.class)
28
     @Select("select * from tp_building where org_id=#{orgId} and phase_id=#{phaseId}")
28
     @Select("select * from tp_building where org_id=#{orgId} and phase_id=#{phaseId}")
29
     List<TpBuilding> selectByAddress(@Param("orgId") Integer orgId, @Param("phaseId") Integer phaseId);
29
     List<TpBuilding> selectByAddress(@Param("orgId") Integer orgId, @Param("phaseId") Integer phaseId);
30
+
31
+    @Update("update tp_building set `name` = #{name} where id = #{id}")
32
+    int updateName(@Param("orgId") Integer orgId, @Param("id") Integer id, @Param("name") String name);
33
+
34
+    @Update("update tp_building set phase_name = #{phaseName} where org_id=#{orgId} and phase_id=#{phaseId}")
35
+    int updatePhaseName(@Param("orgId") Integer orgId,  @Param("phaseId") Integer phaseId, @Param("phaseName") String phaseName);
36
+
30
 }
37
 }

+ 4
- 0
src/main/java/com/huiju/estateagents/property/dao/TpBuildingOwnerInfoMapper.java 查看文件

10
 import org.apache.ibatis.annotations.Select;
10
 import org.apache.ibatis.annotations.Select;
11
 
11
 
12
 import java.util.List;
12
 import java.util.List;
13
+import java.util.Map;
13
 
14
 
14
 /**
15
 /**
15
  * <p>
16
  * <p>
80
     TpBuildingOwnerInfo selectCommunityIdAndAddressName(@Param("orgId") Integer orgId, @Param("phaseName") String phaseName, @Param("buildingName") Integer buildingName, @Param("unitName") Integer unitName, @Param("levelName") Integer levelName, @Param("roomNoName") Integer roomNoName, @Param("ownerTel") String ownerTel);
81
     TpBuildingOwnerInfo selectCommunityIdAndAddressName(@Param("orgId") Integer orgId, @Param("phaseName") String phaseName, @Param("buildingName") Integer buildingName, @Param("unitName") Integer unitName, @Param("levelName") Integer levelName, @Param("roomNoName") Integer roomNoName, @Param("ownerTel") String ownerTel);
81
 
82
 
82
 
83
 
84
+    int getAvailableProp(Integer orgId);
85
+
86
+    Map<String, Object> getVerifyNum(Integer orgId);
83
 }
87
 }

+ 13
- 4
src/main/java/com/huiju/estateagents/property/dao/TpLevelMapper.java 查看文件

2
 
2
 
3
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
3
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4
 import com.huiju.estateagents.property.model.TpLevel;
4
 import com.huiju.estateagents.property.model.TpLevel;
5
-import org.apache.ibatis.annotations.Mapper;
6
-import org.apache.ibatis.annotations.ResultMap;
7
-import org.apache.ibatis.annotations.ResultType;
8
-import org.apache.ibatis.annotations.Select;
5
+import org.apache.ibatis.annotations.*;
9
 
6
 
10
 import java.util.List;
7
 import java.util.List;
11
 
8
 
30
     @ResultType(TpLevel.class)
27
     @ResultType(TpLevel.class)
31
     @Select("select * from tp_level where org_id=#{orgId} and phase_id=#{phaseId} and building_id=#{buildingId} and unit_id=#{unitId}")
28
     @Select("select * from tp_level where org_id=#{orgId} and phase_id=#{phaseId} and building_id=#{buildingId} and unit_id=#{unitId}")
32
     List<TpLevel> selectByAddress(Integer orgId, Integer phaseId, Integer buildingId, Integer unitId);
29
     List<TpLevel> selectByAddress(Integer orgId, Integer phaseId, Integer buildingId, Integer unitId);
30
+
31
+    @Update("update tp_level set `name` = #{name} where id = #{id}")
32
+    int updateName(@Param("orgId") Integer orgId, @Param("id") Integer id, @Param("name") String name);
33
+
34
+    @Update("update tp_level set phase_name = #{phaseName} where org_id=#{orgId} and phase_id=#{phaseId}")
35
+    int updatePhaseName(@Param("orgId") Integer orgId,  @Param("phaseId") Integer phaseId, @Param("phaseName") String phaseName);
36
+
37
+    @Update("update tp_level set building_name = #{buildingName} where org_id=#{orgId} and building_id=#{buildingId}")
38
+    int updateBuildingName(@Param("orgId") Integer orgId, @Param("buildingId") Integer buildingId, @Param("buildingName") String buildingName);
39
+
40
+    @Update("update tp_level set unit_name = #{unitName} where org_id=#{orgId} and unit_id=#{unitId}")
41
+    int updateUnitName(@Param("orgId") Integer orgId, @Param("unitId") Integer unitId, @Param("unitName") String unitName);
33
 }
42
 }

+ 2
- 0
src/main/java/com/huiju/estateagents/property/dao/TpPhaseMapper.java 查看文件

26
     @Select("select * from tp_phase where org_id = #{orgId}")
26
     @Select("select * from tp_phase where org_id = #{orgId}")
27
     List<TpPhase> selectByAddress(@Param("orgId") Integer orgId);
27
     List<TpPhase> selectByAddress(@Param("orgId") Integer orgId);
28
 
28
 
29
+    @Update("update tp_phase set `name` = #{name} where id = #{id}")
30
+    int updateName(@Param("orgId") Integer orgId, @Param("id") Integer id, @Param("name") String name);
29
 }
31
 }

+ 23
- 2
src/main/java/com/huiju/estateagents/property/dao/TpRoomNoMapper.java 查看文件

1
 package com.huiju.estateagents.property.dao;
1
 package com.huiju.estateagents.property.dao;
2
 
2
 
3
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
3
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4
+import com.baomidou.mybatisplus.core.metadata.IPage;
4
 import com.huiju.estateagents.property.model.TpRoomNo;
5
 import com.huiju.estateagents.property.model.TpRoomNo;
5
 import org.apache.ibatis.annotations.*;
6
 import org.apache.ibatis.annotations.*;
6
 
7
 
46
      */
47
      */
47
     @ResultType(TpRoomNo.class)
48
     @ResultType(TpRoomNo.class)
48
 //    @Select("select * from tp_room_no where org_id = #{orgId} limit #{pageNum},#{pageSize}")
49
 //    @Select("select * from tp_room_no where org_id = #{orgId} limit #{pageNum},#{pageSize}")
49
-    List<TpRoomNo> selectCommunityIdList(@Param("orgId") Integer orgId, @Param("pageNum") Integer pageNum, @Param("pageSize") Integer pageSize);
50
+    List<TpRoomNo> selectCommunityIdList(@Param("orgId") Integer orgId, @Param("communityId") Integer communityId, @Param("pageNum") Integer pageNum, @Param("pageSize") Integer pageSize);
50
 
51
 
51
     /**
52
     /**
52
      * 查询数据,分页
53
      * 查询数据,分页
55
      */
56
      */
56
     @ResultType(Long.class)
57
     @ResultType(Long.class)
57
 //    @Select("select count(1) from tp_room_no where org_id = #{orgId}")
58
 //    @Select("select count(1) from tp_room_no where org_id = #{orgId}")
58
-    Long selectCommunityIdCount(@Param("orgId") Integer orgId);
59
+    Long selectCommunityIdCount(@Param("orgId") Integer orgId, @Param("communityId") Integer communityId);
59
 
60
 
60
     @ResultType(TpRoomNo.class)
61
     @ResultType(TpRoomNo.class)
61
 //    @Select("select * from tp_room_no where org_id=#{orgId} " +
62
 //    @Select("select * from tp_room_no where org_id=#{orgId} " +
65
 //            "and level_id=#{levelId}")
66
 //            "and level_id=#{levelId}")
66
     List<TpRoomNo> selectByAddress(Integer orgId, Integer phaseId, Integer buildingId, Integer unitId, Integer levelId);
67
     List<TpRoomNo> selectByAddress(Integer orgId, Integer phaseId, Integer buildingId, Integer unitId, Integer levelId);
67
 
68
 
69
+    List<TpRoomNo> selectComunityList(@Param("orgId") Integer orgId, @Param("communityId") Integer communityId, @Param("phaseId") String phaseId, @Param("buildingId") String buildingId, @Param("pageNum") Integer pageNum, @Param("pageSize") Integer pageSize);
70
+
71
+    IPage<TpRoomNo> getRoomList(IPage<TpRoomNo> page, @Param("orgId") Integer orgId,@Param("phaseId") Integer phaseId,@Param("buildingId") Integer buildingId,@Param("unitId") Integer unitId,@Param("levelId") Integer levelId,@Param("roomNoId") Integer roomNoId);
72
+
73
+    @Update("update tp_room_no set `name` = #{name} where id = #{id}")
74
+    int updateName(@Param("orgId") Integer orgId, @Param("id") Integer id, @Param("name") String name);
75
+
76
+    @Update("update tp_room_no set phase_name = #{phaseName} where org_id=#{orgId} and phase_id=#{phaseId}")
77
+    int updatePhaseName(@Param("orgId") Integer orgId,  @Param("phaseId") Integer phaseId, @Param("phaseName") String phaseName);
78
+
79
+    @Update("update tp_room_no set building_name = #{buildingName} where org_id=#{orgId} and building_id=#{buildingId}")
80
+    int updateBuildingName(@Param("orgId") Integer orgId, @Param("buildingId") Integer buildingId, @Param("buildingName") String buildingName);
81
+
82
+    @Update("update tp_room_no set unit_name = #{unitName} where org_id=#{orgId} and unit_id=#{unitId}")
83
+    int updateUnitName(@Param("orgId") Integer orgId, @Param("unitId") Integer unitId, @Param("unitName") String unitName);
84
+
85
+    @Update("update tp_room_no set level_name = #{levelName} where org_id=#{orgId} and level_id=#{levelId}")
86
+    int updateLevelName(@Param("orgId") Integer orgId, @Param("levelId") Integer levelId, @Param("levelName") String levelName);
87
+
88
+    int getRoomNum(Integer orgId);
68
 }
89
 }

+ 6
- 0
src/main/java/com/huiju/estateagents/property/dao/TpTicketMapper.java 查看文件

35
     TpTicket selectTpTicketName(@Param("orgId")Integer orgId, @Param("type")String type, @Param("ticketTitle")String ticketTitle);
35
     TpTicket selectTpTicketName(@Param("orgId")Integer orgId, @Param("type")String type, @Param("ticketTitle")String ticketTitle);
36
 
36
 
37
     void updateTpUserId(@Param("ticketId") Integer ticketId);
37
     void updateTpUserId(@Param("ticketId") Integer ticketId);
38
+
39
+    int getTicketNum(@Param("orgId") Integer orgId, @Param("startDate") String startDate, @Param("endDate") String endDate);
40
+
41
+    List<Map<String, Object>> getTicketMapList(@Param("orgId") Integer orgId, @Param("startDate") String startDate,  @Param("endDate") String endDate);
42
+
43
+    int getStartNum(Integer orgId);
38
 }
44
 }

+ 9
- 4
src/main/java/com/huiju/estateagents/property/dao/TpUnitMapper.java 查看文件

2
 
2
 
3
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
3
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4
 import com.huiju.estateagents.property.model.TpUnit;
4
 import com.huiju.estateagents.property.model.TpUnit;
5
-import org.apache.ibatis.annotations.Mapper;
6
-import org.apache.ibatis.annotations.ResultMap;
7
-import org.apache.ibatis.annotations.ResultType;
8
-import org.apache.ibatis.annotations.Select;
5
+import org.apache.ibatis.annotations.*;
9
 
6
 
10
 import java.util.List;
7
 import java.util.List;
11
 
8
 
31
     @Select("select * from tp_unit where org_id =#{orgId} and phase_id=#{phaseId} and building_id=#{buildingId}")
28
     @Select("select * from tp_unit where org_id =#{orgId} and phase_id=#{phaseId} and building_id=#{buildingId}")
32
     List<TpUnit> selectByAddress(Integer orgId, Integer phaseId, Integer buildingId);
29
     List<TpUnit> selectByAddress(Integer orgId, Integer phaseId, Integer buildingId);
33
 
30
 
31
+    @Update("update tp_unit set `name` = #{name} where id = #{id}")
32
+    int updateName(@Param("orgId") Integer orgId, @Param("id") Integer id, @Param("name") String name);
33
+
34
+    @Update("update tp_unit set phase_name = #{phaseName} where org_id=#{orgId} and phase_id=#{phaseId}")
35
+    int updatePhaseName(@Param("orgId") Integer orgId,  @Param("phaseId") Integer phaseId, @Param("phaseName") String phaseName);
36
+
37
+    @Update("update tp_unit set building_name = #{buildingName} where org_id=#{orgId} and building_id=#{buildingId}")
38
+    int updateBuildingName(@Param("orgId") Integer orgId, @Param("buildingId") Integer buildingId, @Param("buildingName") String buildingName);
34
 }
39
 }

+ 44
- 0
src/main/java/com/huiju/estateagents/property/entity/TaUserCommunity.java 查看文件

1
+package com.huiju.estateagents.property.entity;
2
+
3
+import com.baomidou.mybatisplus.annotation.IdType;
4
+import com.baomidou.mybatisplus.annotation.TableId;
5
+import io.swagger.annotations.ApiModel;
6
+import io.swagger.annotations.ApiModelProperty;
7
+import lombok.Data;
8
+import lombok.EqualsAndHashCode;
9
+import lombok.experimental.Accessors;
10
+
11
+import java.io.Serializable;
12
+import java.time.LocalDateTime;
13
+
14
+/**
15
+ * <p>
16
+ * 
17
+ * </p>
18
+ *
19
+ * @author yansen
20
+ * @since 2021-01-19
21
+ */
22
+@Data
23
+@EqualsAndHashCode(callSuper = false)
24
+@Accessors(chain = true)
25
+@ApiModel(value="TaUserCommunity对象", description="")
26
+public class TaUserCommunity implements Serializable {
27
+
28
+    private static final long serialVersionUID = 1L;
29
+
30
+    @ApiModelProperty(value = "主键")
31
+    @TableId(value = "serial_no", type = IdType.AUTO)
32
+    private Integer serialNo;
33
+
34
+    @ApiModelProperty(value = "用户ID")
35
+    private Integer userId;
36
+
37
+    @ApiModelProperty(value = "小区ID")
38
+    private Integer communityId;
39
+
40
+    @ApiModelProperty(value = "所属机构")
41
+    private Integer orgId;
42
+
43
+
44
+}

+ 47
- 0
src/main/java/com/huiju/estateagents/property/entity/TpBillType.java 查看文件

1
+package com.huiju.estateagents.property.entity;
2
+
3
+import com.baomidou.mybatisplus.annotation.IdType;
4
+import com.baomidou.mybatisplus.annotation.TableId;
5
+import io.swagger.annotations.ApiModel;
6
+import io.swagger.annotations.ApiModelProperty;
7
+import lombok.Data;
8
+import lombok.EqualsAndHashCode;
9
+import lombok.experimental.Accessors;
10
+
11
+import java.io.Serializable;
12
+import java.time.LocalDateTime;
13
+
14
+/**
15
+ * <p>
16
+ * 
17
+ * </p>
18
+ *
19
+ * @author yansen
20
+ * @since 2021-01-19
21
+ */
22
+@Data
23
+@EqualsAndHashCode(callSuper = false)
24
+@Accessors(chain = true)
25
+@ApiModel(value="TpBillType 对象", description="")
26
+public class TpBillType implements Serializable {
27
+
28
+    private static final long serialVersionUID = 1L;
29
+
30
+    @ApiModelProperty(value = "ID")
31
+    @TableId(value = "id", type = IdType.AUTO)
32
+    private Integer id;
33
+
34
+    @ApiModelProperty(value = "名称")
35
+    private String name;
36
+
37
+    @ApiModelProperty(value = "状态")
38
+    private Integer status;
39
+
40
+    @ApiModelProperty(value = "创建时间")
41
+    private LocalDateTime createDate;
42
+
43
+    @ApiModelProperty(value = "所属机构")
44
+    private Integer orgId;
45
+
46
+
47
+}

+ 46
- 0
src/main/java/com/huiju/estateagents/property/entity/TpCommunity.java 查看文件

1
+package com.huiju.estateagents.property.entity;
2
+
3
+import com.baomidou.mybatisplus.annotation.IdType;
4
+import java.time.LocalDateTime;
5
+import com.baomidou.mybatisplus.annotation.TableId;
6
+import java.io.Serializable;
7
+import io.swagger.annotations.ApiModel;
8
+import io.swagger.annotations.ApiModelProperty;
9
+import lombok.Data;
10
+import lombok.EqualsAndHashCode;
11
+import lombok.experimental.Accessors;
12
+
13
+/**
14
+ * <p>
15
+ * 
16
+ * </p>
17
+ *
18
+ * @author yansen
19
+ * @since 2021-01-19
20
+ */
21
+@Data
22
+@EqualsAndHashCode(callSuper = false)
23
+@Accessors(chain = true)
24
+@ApiModel(value="TpCommunity对象", description="")
25
+public class TpCommunity implements Serializable {
26
+
27
+    private static final long serialVersionUID = 1L;
28
+
29
+    @ApiModelProperty(value = "小区ID")
30
+    @TableId(value = "id", type = IdType.AUTO)
31
+    private Integer id;
32
+
33
+    @ApiModelProperty(value = "小区名称")
34
+    private String name;
35
+
36
+    @ApiModelProperty(value = "状态")
37
+    private Integer status;
38
+
39
+    @ApiModelProperty(value = "创建时间")
40
+    private LocalDateTime createDate;
41
+
42
+    @ApiModelProperty(value = "所属机构")
43
+    private Integer orgId;
44
+
45
+
46
+}

+ 18
- 0
src/main/java/com/huiju/estateagents/property/mapper/TaUserCommunityMapper.java 查看文件

1
+package com.huiju.estateagents.property.mapper;
2
+
3
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4
+import com.huiju.estateagents.property.entity.TaUserCommunity;
5
+import org.apache.ibatis.annotations.Mapper;
6
+
7
+/**
8
+ * <p>
9
+ *  Mapper 接口
10
+ * </p>
11
+ *
12
+ * @author yansen
13
+ * @since 2021-01-19
14
+ */
15
+@Mapper
16
+public interface TaUserCommunityMapper extends BaseMapper<TaUserCommunity> {
17
+
18
+}

+ 17
- 0
src/main/java/com/huiju/estateagents/property/mapper/TpBillTypeMapper.java 查看文件

1
+package com.huiju.estateagents.property.mapper;
2
+
3
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4
+import com.huiju.estateagents.property.entity.TpBillType;
5
+import org.apache.ibatis.annotations.Mapper;
6
+
7
+/**
8
+ * <p>
9
+ *  Mapper 接口
10
+ * </p>
11
+ *
12
+ * @author yansen
13
+ * @since 2021-01-19
14
+ */
15
+@Mapper
16
+public interface TpBillTypeMapper extends BaseMapper<TpBillType> {
17
+}

+ 21
- 0
src/main/java/com/huiju/estateagents/property/mapper/TpCommunityMapper.java 查看文件

1
+package com.huiju.estateagents.property.mapper;
2
+
3
+import com.huiju.estateagents.property.entity.TpCommunity;
4
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
5
+import org.apache.ibatis.annotations.Mapper;
6
+
7
+import java.util.List;
8
+
9
+/**
10
+ * <p>
11
+ *  Mapper 接口
12
+ * </p>
13
+ *
14
+ * @author yansen
15
+ * @since 2021-01-19
16
+ */
17
+@Mapper
18
+public interface TpCommunityMapper extends BaseMapper<TpCommunity> {
19
+
20
+    List<TpCommunity> getListOfUser(Integer orgId, Integer userId);
21
+}

+ 3
- 1
src/main/java/com/huiju/estateagents/property/model/AnnouncementTel.java 查看文件

31
     @TableId(value = "id", type = IdType.AUTO)
31
     @TableId(value = "id", type = IdType.AUTO)
32
     private Integer id;
32
     private Integer id;
33
 
33
 
34
+    private Integer orgId;
35
+
34
     /**
36
     /**
35
      * 小区id
37
      * 小区id
36
      */
38
      */
37
-    private Integer orgId;
39
+    private Integer communityId;
38
 
40
 
39
     /**
41
     /**
40
      * 电话名称
42
      * 电话名称

+ 14
- 1
src/main/java/com/huiju/estateagents/property/model/Bill.java 查看文件

8
 import lombok.experimental.Accessors;
8
 import lombok.experimental.Accessors;
9
 
9
 
10
 import java.io.Serializable;
10
 import java.io.Serializable;
11
+import java.time.LocalDateTime;
11
 import java.util.Date;
12
 import java.util.Date;
12
 
13
 
13
 /**
14
 /**
32
     /**
33
     /**
33
      * 小区id
34
      * 小区id
34
      */
35
      */
36
+    private Integer communityId;
37
+
35
     private Integer orgId;
38
     private Integer orgId;
36
 
39
 
37
     /**
40
     /**
66
      */
69
      */
67
     private String billStatus;
70
     private String billStatus;
68
 
71
 
72
+    private LocalDateTime startDate;
73
+
69
     /**
74
     /**
70
      * 截止时间
75
      * 截止时间
71
      */
76
      */
72
-    private Date endDate;
77
+    private LocalDateTime endDate;
73
 
78
 
74
     /**
79
     /**
75
      * 创建人
80
      * 创建人
91
      */
96
      */
92
     private Date updateDate;
97
     private Date updateDate;
93
 
98
 
99
+    /**
100
+     * 收费类型
101
+     */
102
+    private Integer typeId;
94
 
103
 
104
+    /**
105
+     * 是否工单费用
106
+     */
107
+    private Boolean isTicket;
95
 }
108
 }

+ 2
- 3
src/main/java/com/huiju/estateagents/property/model/BillInvoice.java 查看文件

30
     @TableId(value = "id", type = IdType.AUTO)
30
     @TableId(value = "id", type = IdType.AUTO)
31
     private Integer id;
31
     private Integer id;
32
 
32
 
33
-    /**
34
-     * 小区id
35
-     */
36
     private Integer orgId;
33
     private Integer orgId;
37
 
34
 
35
+    private Integer communityId;
36
+
38
     /**
37
     /**
39
      * 收费项id
38
      * 收费项id
40
      */
39
      */

+ 3
- 1
src/main/java/com/huiju/estateagents/property/model/TaUserVerify.java 查看文件

33
      */
33
      */
34
     private String personId;
34
     private String personId;
35
 
35
 
36
+    private Integer orgId;
37
+
36
     /**
38
     /**
37
      * 小区id
39
      * 小区id
38
      */
40
      */
39
-    private Integer orgId;
41
+    private Integer communityId;
40
 
42
 
41
     /**
43
     /**
42
      * 角色ID
44
      * 角色ID

+ 9
- 1
src/main/java/com/huiju/estateagents/property/model/TpAnnouncement.java 查看文件

22
     @TableId(value = "id", type = IdType.AUTO)
22
     @TableId(value = "id", type = IdType.AUTO)
23
     private Integer id;
23
     private Integer id;
24
 
24
 
25
-    /** 小区id**/
26
     private Integer orgId;
25
     private Integer orgId;
27
 
26
 
27
+    /** 小区id**/
28
+    private Integer communityId;
29
+
28
     /**公告标题**/
30
     /**公告标题**/
29
     private String announcementTitle;
31
     private String announcementTitle;
30
 
32
 
79
     @TableField(exist = false)
81
     @TableField(exist = false)
80
     private List<String> imgList;
82
     private List<String> imgList;
81
 
83
 
84
+    @TableField(exist = false)
85
+    private String startCreateDate;
86
+
87
+    @TableField(exist = false)
88
+    private String endCreateDate;
89
+
82
 }
90
 }

+ 9
- 1
src/main/java/com/huiju/estateagents/property/model/TpBillOrder.java 查看文件

31
     @TableId(value = "id", type = IdType.AUTO)
31
     @TableId(value = "id", type = IdType.AUTO)
32
     private Integer id;
32
     private Integer id;
33
 
33
 
34
+    private Integer orgId;
35
+
34
     /**
36
     /**
35
      * 小区ID
37
      * 小区ID
36
      */
38
      */
37
-    private Integer orgId;
39
+    private Integer communityId;
38
 
40
 
39
     /**
41
     /**
40
      * 缴费项ID
42
      * 缴费项ID
124
      */
126
      */
125
     @TableField(exist = false)
127
     @TableField(exist = false)
126
     private List<BillInvoice> billList;
128
     private List<BillInvoice> billList;
129
+
130
+    /**
131
+     * 缴费时间
132
+     */
133
+    @TableField(exist = false)
134
+    private LocalDateTime createTime;
127
 }
135
 }

+ 4
- 1
src/main/java/com/huiju/estateagents/property/model/TpBuilding.java 查看文件

16
 	
16
 	
17
 	@TableId(value = "id", type = IdType.AUTO)
17
 	@TableId(value = "id", type = IdType.AUTO)
18
     private Integer id;
18
     private Integer id;
19
+
20
+    private Integer orgId;
21
+
19
     /**
22
     /**
20
      * 小区ID
23
      * 小区ID
21
      */
24
      */
22
-    private Integer orgId;
25
+    private Integer communityId;
23
     
26
     
24
     /**
27
     /**
25
      * 期区id
28
      * 期区id

+ 4
- 2
src/main/java/com/huiju/estateagents/property/model/TpBuildingOwnerInfo.java 查看文件

32
      */
32
      */
33
     @TableId(value = "id", type = IdType.AUTO)
33
     @TableId(value = "id", type = IdType.AUTO)
34
     private Integer id;
34
     private Integer id;
35
-    
35
+
36
+    private Integer orgId;
37
+
36
     /**
38
     /**
37
      * 小区id
39
      * 小区id
38
      */
40
      */
39
-    private Integer orgId;
41
+    private Integer communityId;
40
     
42
     
41
     /**
43
     /**
42
      * 身份证号码
44
      * 身份证号码

+ 4
- 2
src/main/java/com/huiju/estateagents/property/model/TpLevel.java 查看文件

28
     
28
     
29
     @TableId(value = "id", type = IdType.AUTO)
29
     @TableId(value = "id", type = IdType.AUTO)
30
     private Integer id;
30
     private Integer id;
31
-    
31
+
32
+    private Integer orgId;
33
+
32
     /**
34
     /**
33
      * 小区ID
35
      * 小区ID
34
      */
36
      */
35
-    private Integer orgId;
37
+    private Integer communityId;
36
 
38
 
37
     /**
39
     /**
38
      * 期区ID
40
      * 期区ID

+ 6
- 4
src/main/java/com/huiju/estateagents/property/model/TpPhase.java 查看文件

28
     
28
     
29
     @TableId(value = "id", type = IdType.AUTO)
29
     @TableId(value = "id", type = IdType.AUTO)
30
     private Integer id;
30
     private Integer id;
31
-    
32
-    /**
33
-     * 小区ID
34
-     */
31
+
35
     private Integer orgId;
32
     private Integer orgId;
36
 
33
 
37
     /**
34
     /**
43
      * 创建时间
40
      * 创建时间
44
      */
41
      */
45
     private LocalDateTime createDate;
42
     private LocalDateTime createDate;
43
+
44
+    /**
45
+     * 小区ID
46
+     */
47
+    private Integer communityId;
46
 }
48
 }

+ 5
- 3
src/main/java/com/huiju/estateagents/property/model/TpRoomNo.java 查看文件

28
     
28
     
29
     @TableId(value = "id", type = IdType.AUTO)
29
     @TableId(value = "id", type = IdType.AUTO)
30
     private Integer id;
30
     private Integer id;
31
-    
31
+
32
+    private Integer orgId;
33
+
32
     /**
34
     /**
33
-     * 小区id
35
+     * 小区ID
34
      */
36
      */
35
-    private Integer orgId;
37
+    private Integer communityId;
36
 
38
 
37
     /**
39
     /**
38
      * 期区ID
40
      * 期区ID

+ 4
- 1
src/main/java/com/huiju/estateagents/property/model/TpTicket.java 查看文件

33
      */
33
      */
34
     @TableId(value = "id", type = IdType.AUTO)
34
     @TableId(value = "id", type = IdType.AUTO)
35
     private Integer id;
35
     private Integer id;
36
+
37
+    private Integer orgId;
38
+
36
     /**
39
     /**
37
      * 小区id
40
      * 小区id
38
      */
41
      */
39
-    private Integer orgId;
42
+    private Integer communityId;
40
 
43
 
41
     /**
44
     /**
42
      * 住户app的id
45
      * 住户app的id

+ 4
- 2
src/main/java/com/huiju/estateagents/property/model/TpUnit.java 查看文件

28
     
28
     
29
     @TableId(value = "id", type = IdType.AUTO)
29
     @TableId(value = "id", type = IdType.AUTO)
30
     private Integer id;
30
     private Integer id;
31
-    
31
+
32
+    private Integer orgId;
33
+
32
     /**
34
     /**
33
      * 小区ID
35
      * 小区ID
34
      */
36
      */
35
-    private Integer orgId;
37
+    private Integer communityId;
36
 
38
 
37
     /**
39
     /**
38
      * 期区ID
40
      * 期区ID

+ 12
- 2
src/main/java/com/huiju/estateagents/property/service/BuildingTreeServiceI.java 查看文件

1
 package com.huiju.estateagents.property.service;
1
 package com.huiju.estateagents.property.service;
2
 
2
 
3
+import com.baomidou.mybatisplus.core.metadata.IPage;
3
 import com.huiju.estateagents.base.ResponseBean;
4
 import com.huiju.estateagents.base.ResponseBean;
4
 import com.huiju.estateagents.center.taUser.entity.TaUser;
5
 import com.huiju.estateagents.center.taUser.entity.TaUser;
5
-import com.huiju.estateagents.property.common.UserElement;
6
+import com.huiju.estateagents.property.model.TpRoomNo;
6
 import org.springframework.web.multipart.MultipartFile;
7
 import org.springframework.web.multipart.MultipartFile;
7
 
8
 
9
+import java.util.Map;
10
+
8
 public interface BuildingTreeServiceI {
11
 public interface BuildingTreeServiceI {
9
 	
12
 	
10
 	/**
13
 	/**
17
 	/**
20
 	/**
18
 	 * 上传小区的基础数据
21
 	 * 上传小区的基础数据
19
 	 * @param file
22
 	 * @param file
23
+	 * @param communityId
20
 	 * @param userElement
24
 	 * @param userElement
21
 	 * @return
25
 	 * @return
22
 	 */
26
 	 */
23
-	ResponseBean submitExcelData(MultipartFile file, TaUser userElement);
27
+	ResponseBean submitExcelData(MultipartFile file, Integer communityId, TaUser userElement);
24
 	
28
 	
25
 	/**
29
 	/**
26
 	 * 获取树形数据
30
 	 * 获取树形数据
46
 	 * @return
50
 	 * @return
47
 	 */
51
 	 */
48
 	ResponseBean deleteNode(String parameter, Integer orgId);
52
 	ResponseBean deleteNode(String parameter, Integer orgId);
53
+
54
+	IPage<TpRoomNo> getRoomList(IPage<TpRoomNo> page, Integer orgId, Integer phaseId, Integer buildingId, Integer unitId, Integer levelId, Integer roomNoId);
55
+
56
+	ResponseBean editNode(Map<String, Object> parameter, Integer orgId);
57
+
58
+    int getRoomNum(Integer orgId);
49
 }
59
 }

+ 9
- 6
src/main/java/com/huiju/estateagents/property/service/IBillService.java 查看文件

3
 import com.baomidou.mybatisplus.extension.service.IService;
3
 import com.baomidou.mybatisplus.extension.service.IService;
4
 import com.huiju.estateagents.base.ResponseBean;
4
 import com.huiju.estateagents.base.ResponseBean;
5
 import com.huiju.estateagents.center.taUser.entity.TaUser;
5
 import com.huiju.estateagents.center.taUser.entity.TaUser;
6
-import com.huiju.estateagents.property.common.UserElement;
7
 import com.huiju.estateagents.property.model.Bill;
6
 import com.huiju.estateagents.property.model.Bill;
8
 import org.springframework.web.multipart.MultipartFile;
7
 import org.springframework.web.multipart.MultipartFile;
9
 
8
 
10
-import java.util.Date;
9
+import java.time.LocalDateTime;
11
 import java.util.List;
10
 import java.util.List;
12
 import java.util.Map;
11
 import java.util.Map;
13
 
12
 
28
      * @param userElement
27
      * @param userElement
29
      * @return
28
      * @return
30
      */
29
      */
31
-    ResponseBean updateBillNameAndBillExplainAndEndDate(TaUser userElement, String parameter);
30
+    ResponseBean updateBillNameAndBillExplainAndEndDate(TaUser userElement, Bill bill);
32
 
31
 
33
     /**
32
     /**
34
      * 根据ID查询 缴费项
33
      * 根据ID查询 缴费项
48
 
47
 
49
 	/**
48
 	/**
50
 	 * 上传excel, 解析, 但不入库
49
 	 * 上传excel, 解析, 但不入库
50
+	 *
51
 	 * @param file
51
 	 * @param file
52
 	 * @return
52
 	 * @return
53
 	 */
53
 	 */
57
 	 * 上传excel, 解析 入库
57
 	 * 上传excel, 解析 入库
58
 	 * @param billId
58
 	 * @param billId
59
 	 * @param file
59
 	 * @param file
60
-	 * @param billExplain
61
 	 * @param billName
60
 	 * @param billName
62
 	 * @param endDate
61
 	 * @param endDate
63
 	 * @param billStatus
62
 	 * @param billStatus
64
 	 * @return
63
 	 * @return
65
 	 */
64
 	 */
66
-	ResponseBean getExcelData(Integer billId, MultipartFile file, String billExplain, String billName, Date endDate, String billStatus, TaUser userElement);
65
+	ResponseBean saveExcelData(Integer billId, MultipartFile file, Integer communityId, String billName, LocalDateTime startDate, LocalDateTime endDate, String billStatus, TaUser userElement);
67
 
66
 
68
 	/**
67
 	/**
69
 	 * 修改 缴费项状态
68
 	 * 修改 缴费项状态
86
 	 * @param userElement
85
 	 * @param userElement
87
 	 * @return
86
 	 * @return
88
 	 */
87
 	 */
89
-	ResponseBean downloadExcel(TaUser userElement);
88
+	ResponseBean downloadExcel(TaUser userElement, Integer communityId, String phaseId,String buildingId);
90
 
89
 
91
 	/**
90
 	/**
92
 	 * 根据payType分页获取缴费或未缴费的数据
91
 	 * 根据payType分页获取缴费或未缴费的数据
119
 	 * @return
118
 	 * @return
120
 	 */
119
 	 */
121
 	ResponseBean getOrderInfo(String orderNumber);
120
 	ResponseBean getOrderInfo(String orderNumber);
121
+
122
+    int getBillHouse(Integer orgId, String startDate, String endDate);
123
+
124
+    List<Map<String, Object>> getBillMapList(Integer orgId, String startDate, String endDate);
122
 }
125
 }

+ 12
- 4
src/main/java/com/huiju/estateagents/property/service/IBuildingOwnerInfoService.java 查看文件

3
 import com.baomidou.mybatisplus.extension.service.IService;
3
 import com.baomidou.mybatisplus.extension.service.IService;
4
 import com.huiju.estateagents.base.ResponseBean;
4
 import com.huiju.estateagents.base.ResponseBean;
5
 import com.huiju.estateagents.center.taUser.entity.TaUser;
5
 import com.huiju.estateagents.center.taUser.entity.TaUser;
6
-import com.huiju.estateagents.property.common.UserElement;
7
 import com.huiju.estateagents.property.model.TpBuildingOwnerInfo;
6
 import com.huiju.estateagents.property.model.TpBuildingOwnerInfo;
8
 import org.springframework.web.multipart.MultipartFile;
7
 import org.springframework.web.multipart.MultipartFile;
9
 
8
 
10
 import java.util.List;
9
 import java.util.List;
10
+import java.util.Map;
11
 
11
 
12
 /**
12
 /**
13
  * <p>
13
  * <p>
61
      *   楼栋是根据 小区ID查询
61
      *   楼栋是根据 小区ID查询
62
      *
62
      *
63
      * @param orgId
63
      * @param orgId
64
+     * @param communityId
64
      * @return
65
      * @return
65
      */
66
      */
66
-    ResponseBean getPhaseList(Integer orgId);
67
+    ResponseBean getPhaseList(Integer orgId, Integer communityId);
67
     
68
     
68
     /**
69
     /**
69
      * 上传excel里面的内容
70
      * 上传excel里面的内容
70
      * @param file
71
      * @param file
72
+     * @param communityId
71
      * @param userElement
73
      * @param userElement
72
      * @return
74
      * @return
73
      */
75
      */
74
-    ResponseBean submitExcelData(MultipartFile file, TaUser userElement);
76
+    ResponseBean submitExcelData(MultipartFile file, Integer communityId, TaUser userElement);
75
 
77
 
76
     /**
78
     /**
77
      * 认证用户是否停用
79
      * 认证用户是否停用
114
 
116
 
115
     /**
117
     /**
116
      * 下载Excel模板(小区楼栋信息)
118
      * 下载Excel模板(小区楼栋信息)
119
+     *
120
+     * @param communityId
117
      * @param userElement
121
      * @param userElement
118
      * @return
122
      * @return
119
      */
123
      */
120
-    ResponseBean downloadExcel(TaUser userElement);
124
+    ResponseBean downloadExcel(Integer communityId, TaUser userElement);
121
     
125
     
122
     /**
126
     /**
123
      * 获取楼栋信息
127
      * 获取楼栋信息
181
      * @return
185
      * @return
182
      */
186
      */
183
     ResponseBean hasBuild(String personId, Integer orgId ,Integer phaseId, Integer buildingId, Integer unitId, Integer levelId, Integer roomNoId);
187
     ResponseBean hasBuild(String personId, Integer orgId ,Integer phaseId, Integer buildingId, Integer unitId, Integer levelId, Integer roomNoId);
188
+
189
+    int getAvailableProp(Integer orgId);
190
+
191
+    Map<String, Object> getVerifyNum(Integer orgId);
184
 }
192
 }

+ 22
- 0
src/main/java/com/huiju/estateagents/property/service/ITaUserCommunityService.java 查看文件

1
+package com.huiju.estateagents.property.service;
2
+
3
+import com.baomidou.mybatisplus.extension.service.IService;
4
+import com.huiju.estateagents.property.entity.TaUserCommunity;
5
+import com.huiju.estateagents.property.entity.TpCommunity;
6
+
7
+import java.util.List;
8
+
9
+/**
10
+ * <p>
11
+ *  服务类
12
+ * </p>
13
+ *
14
+ * @author yansen
15
+ * @since 2021-01-19
16
+ */
17
+public interface ITaUserCommunityService extends IService<TaUserCommunity> {
18
+
19
+    List<TpCommunity> getListBy(Integer orgId, Integer userId);
20
+
21
+    boolean addUserCommunity(Integer orgId, Integer userId, List<TpCommunity> communityList) throws Exception;
22
+}

+ 7
- 1
src/main/java/com/huiju/estateagents/property/service/ITaUserVerifyService.java 查看文件

6
 import com.huiju.estateagents.center.taUser.entity.TaUser;
6
 import com.huiju.estateagents.center.taUser.entity.TaUser;
7
 import com.huiju.estateagents.property.model.TaUserVerify;
7
 import com.huiju.estateagents.property.model.TaUserVerify;
8
 
8
 
9
+import java.util.List;
9
 import java.util.Map;
10
 import java.util.Map;
10
 
11
 
11
 /**
12
 /**
15
 
16
 
16
     /**
17
     /**
17
      * 查询 所有审核数据
18
      * 查询 所有审核数据
19
+     *
20
+     * @param communityId
18
      * @param phone
21
      * @param phone
19
      * @param userName
22
      * @param userName
20
      * @param idCard
23
      * @param idCard
23
      * @param userElement
26
      * @param userElement
24
      * @return
27
      * @return
25
      */
28
      */
26
-    ResponseBean selectAll(String phone, String userName, String idCard, Integer pageNum, Integer pageSize, TaUser userElement);
29
+    ResponseBean selectAll(Integer communityId, String phone, String userName, String idCard, Integer pageNum, Integer pageSize, TaUser userElement);
27
 
30
 
28
     /**
31
     /**
29
      * 审核 用户
32
      * 审核 用户
97
      */
100
      */
98
     Page<Map<String, String>> getPropUserByBirday(Page<Map<String, String>> page, Integer orgId, String birthday);
101
     Page<Map<String, String>> getPropUserByBirday(Page<Map<String, String>> page, Integer orgId, String birthday);
99
 
102
 
103
+    List<Map<String, Object>> getVerifyMapList(Integer orgId, String startDate, String endDate);
104
+
105
+    int getNoVerifyNum(Integer orgId);
100
 }
106
 }

+ 19
- 0
src/main/java/com/huiju/estateagents/property/service/ITpCommunityService.java 查看文件

1
+package com.huiju.estateagents.property.service;
2
+
3
+import com.huiju.estateagents.property.entity.TpCommunity;
4
+import com.baomidou.mybatisplus.extension.service.IService;
5
+
6
+import java.util.List;
7
+
8
+/**
9
+ * <p>
10
+ *  服务类
11
+ * </p>
12
+ *
13
+ * @author yansen
14
+ * @since 2021-01-19
15
+ */
16
+public interface ITpCommunityService extends IService<TpCommunity> {
17
+
18
+    List<TpCommunity> getAllByOrg(Integer orgId);
19
+}

+ 11
- 2
src/main/java/com/huiju/estateagents/property/service/TpTicketService.java 查看文件

5
 import com.huiju.estateagents.center.taUser.entity.TaUser;
5
 import com.huiju.estateagents.center.taUser.entity.TaUser;
6
 import com.huiju.estateagents.property.model.TpTicket;
6
 import com.huiju.estateagents.property.model.TpTicket;
7
 import com.huiju.estateagents.property.model.TpTicketRecordComment;
7
 import com.huiju.estateagents.property.model.TpTicketRecordComment;
8
+import org.apache.ibatis.annotations.Param;
8
 
9
 
9
 import java.io.IOException;
10
 import java.io.IOException;
11
+import java.util.List;
12
+import java.util.Map;
10
 
13
 
11
 /**
14
 /**
12
  * <p>
15
  * <p>
67
      * @param id
70
      * @param id
68
      * @return
71
      * @return
69
      */
72
      */
70
-    ResponseBean updateTicketStatus(String parameter, Integer id, Integer orgId, String userNmae, String LoginName);
73
+    ResponseBean updateTicketStatus(String parameter, Integer id, Integer orgId, String userNmae, String phone);
71
 
74
 
72
     /**
75
     /**
73
      * 修改当前状态为待评价
76
      * 修改当前状态为待评价
77
      * @param userName
80
      * @param userName
78
      * @return
81
      * @return
79
      */
82
      */
80
-    ResponseBean updateTicket(String parameter, Integer id, Integer orgId, String userName, String longName);
83
+    ResponseBean updateTicket(String parameter, Integer id, Integer orgId, String userName, String phone);
81
 
84
 
82
 
85
 
83
     /**
86
     /**
178
      * @return
181
      * @return
179
      */
182
      */
180
     ResponseBean getWorkerList(Integer pageNum, Integer pageSize, Integer userId, Integer orgId);
183
     ResponseBean getWorkerList(Integer pageNum, Integer pageSize, Integer userId, Integer orgId);
184
+
185
+    int getTicketNum(@Param("orgId") Integer orgId,@Param("startDate") String startDate,@Param("endDate") String endDate);
186
+
187
+    List<Map<String, Object>> getTicketMapList(Integer orgId, String startDate, String endDate);
188
+
189
+    int getStartNum(Integer orgId);
181
 }
190
 }

+ 94
- 39
src/main/java/com/huiju/estateagents/property/service/impl/BillInvoiceServiceImpl.java 查看文件

8
 import com.huiju.estateagents.base.ResponseBean;
8
 import com.huiju.estateagents.base.ResponseBean;
9
 import com.huiju.estateagents.center.taUser.entity.TaUser;
9
 import com.huiju.estateagents.center.taUser.entity.TaUser;
10
 import com.huiju.estateagents.center.taUser.mapper.TaUserMapper;
10
 import com.huiju.estateagents.center.taUser.mapper.TaUserMapper;
11
+import com.huiju.estateagents.common.DateUtils;
12
+import com.huiju.estateagents.common.StringUtils;
11
 import com.huiju.estateagents.property.common.UserElement;
13
 import com.huiju.estateagents.property.common.UserElement;
12
 import com.huiju.estateagents.property.dao.*;
14
 import com.huiju.estateagents.property.dao.*;
13
 import com.huiju.estateagents.property.exception.WisdomException;
15
 import com.huiju.estateagents.property.exception.WisdomException;
120
         respMap.put("list", invoiceIPage.getRecords());
122
         respMap.put("list", invoiceIPage.getRecords());
121
         respMap.put("billName", bill.getBillName());
123
         respMap.put("billName", bill.getBillName());
122
         respMap.put("billExplain", bill.getBillExplain());
124
         respMap.put("billExplain", bill.getBillExplain());
125
+        respMap.put("startDate", bill.getStartDate());
123
         respMap.put("endDate", bill.getEndDate());
126
         respMap.put("endDate", bill.getEndDate());
127
+        respMap.put("communityId", bill.getCommunityId());
128
+
124
 
129
 
125
         responseBean.addSuccess(respMap);
130
         responseBean.addSuccess(respMap);
126
 
131
 
262
         JSONObject jsonObject = JSONObject.parseObject(parameter);
267
         JSONObject jsonObject = JSONObject.parseObject(parameter);
263
         // 收费项ID
268
         // 收费项ID
264
         Integer billId = jsonObject.getInteger("billId");
269
         Integer billId = jsonObject.getInteger("billId");
270
+        //
271
+        Integer communityId = jsonObject.getInteger("communityId");
272
+
273
+        if (null == billId || null == communityId) {
274
+            return ResponseBean.error("收费ID或者小区不能为空", ResponseBean.ERROR_MISSING_PARAMS);
275
+        }
276
+
265
         // 区/期
277
         // 区/期
266
         Integer phase = jsonObject.getInteger("phaseId");
278
         Integer phase = jsonObject.getInteger("phaseId");
267
         // 栋
279
         // 栋
290
         // 校验 期/区/栋/单元/楼层/户号
302
         // 校验 期/区/栋/单元/楼层/户号
291
         QueryWrapper<TpRoomNo> roomNoQueryWrapper = new QueryWrapper<>();
303
         QueryWrapper<TpRoomNo> roomNoQueryWrapper = new QueryWrapper<>();
292
         roomNoQueryWrapper.eq("org_id", userElement.getOrgId());
304
         roomNoQueryWrapper.eq("org_id", userElement.getOrgId());
305
+        roomNoQueryWrapper.eq("community_id", communityId);
293
         roomNoQueryWrapper.eq("phase_id", phase);
306
         roomNoQueryWrapper.eq("phase_id", phase);
294
         roomNoQueryWrapper.eq("building_id", building);
307
         roomNoQueryWrapper.eq("building_id", building);
295
         roomNoQueryWrapper.eq("unit_id", unit);
308
         roomNoQueryWrapper.eq("unit_id", unit);
386
         map.put("billId", billId);
399
         map.put("billId", billId);
387
         map.put("orgId", userElement.getOrgId());
400
         map.put("orgId", userElement.getOrgId());
388
 
401
 
402
+        Bill bill = billMapper.selectById(billId);
403
+
389
         List<BillInvoice> billInvoices = billInvoiceMapper.selectBillInvoiceTemp(map);
404
         List<BillInvoice> billInvoices = billInvoiceMapper.selectBillInvoiceTemp(map);
405
+        billInvoices.stream().forEach(e -> e.setCommunityId(bill.getCommunityId()));
390
 
406
 
391
         responseBean.addSuccess(billInvoices);
407
         responseBean.addSuccess(billInvoices);
392
         return responseBean;
408
         return responseBean;
439
     @Override
455
     @Override
440
     public ResponseBean exportExcel(TaUser userElement, Integer billId) {
456
     public ResponseBean exportExcel(TaUser userElement, Integer billId) {
441
         ResponseBean responseBean = new ResponseBean();
457
         ResponseBean responseBean = new ResponseBean();
442
-        String [] title = new String[] { "收费单号","房屋信息","收费单说明","金额(元)","流水","缴费状态","缴费人","缴费时间","新建时间","新建人","修改人","修改时间" };
458
+        String [] title = new String[] {"序号", "收费名称", "开始时间", "结束时间", "类别", "收费单号","期/区","楼栋","单元","房室","金额(元)","订单流水","缴费状态","缴费人","缴费时间" };
443
 
459
 
444
         HSSFWorkbook excel = excel(title, userElement, billId,null);
460
         HSSFWorkbook excel = excel(title, userElement, billId,null);
445
         responseBean.addSuccess(excel);
461
         responseBean.addSuccess(excel);
488
         IPage<BillInvoice> billInvoiceIPage = billInvoiceMapper.selectBillInvoiceEffective(page, map);
504
         IPage<BillInvoice> billInvoiceIPage = billInvoiceMapper.selectBillInvoiceEffective(page, map);
489
         List<BillInvoice> records = billInvoiceIPage.getRecords();
505
         List<BillInvoice> records = billInvoiceIPage.getRecords();
490
 
506
 
507
+        Bill bill = billMapper.selectById(billId);
508
+        if (null == bill) {
509
+            return workbook;
510
+        }
491
 
511
 
492
         // 写入内容
512
         // 写入内容
513
+        int line = 0;
493
         for (int i = 1; i<= billInvoiceIPage.getPages(); i++) {
514
         for (int i = 1; i<= billInvoiceIPage.getPages(); i++) {
494
             for (int t = 0; t<records.size(); t++) {
515
             for (int t = 0; t<records.size(); t++) {
516
+                line ++;
517
+                BillInvoice billInvoice = records.get(t);
495
                 row = sheet.createRow(++rowNum);
518
                 row = sheet.createRow(++rowNum);
496
-                // 收费单号
519
+
520
+                // 序号
497
                 cell = row.createCell(0);
521
                 cell = row.createCell(0);
498
-                cell.setCellValue(records.get(t).getId());
522
+                cell.setCellValue(line);
499
                 cell.setCellStyle(style);
523
                 cell.setCellStyle(style);
500
-                // 房屋信息
524
+
525
+                // 收费名称
501
                 cell = row.createCell(1);
526
                 cell = row.createCell(1);
502
-                cell.setCellValue(records.get(t).getPhase() + records.get(t).getBuilding() + records.get(t).getUnit() + records.get(t).getRoomNo());
527
+                cell.setCellValue(StringUtils.ifNull(billInvoice.getBillInvoiceExplain(), bill.getBillName()));
503
                 cell.setCellStyle(style);
528
                 cell.setCellStyle(style);
504
-                // 业主姓名
505
-//                cell = row.createCell(2);
506
-//                cell.setCellValue(records.get(t).getOwnerName());
507
-//                cell.setCellStyle(style);
508
-                // 收费单说明
529
+
530
+                // 开始时间
509
                 cell = row.createCell(2);
531
                 cell = row.createCell(2);
510
-                cell.setCellValue(records.get(t).getBillInvoiceExplain());
532
+                cell.setCellValue(DateUtils.format(bill.getStartDate(), "yyyy-MM-dd"));
511
                 cell.setCellStyle(style);
533
                 cell.setCellStyle(style);
512
-                // 金额(元)
534
+
535
+                // 结束时间
513
                 cell = row.createCell(3);
536
                 cell = row.createCell(3);
514
-                double price = Double.valueOf(records.get(t).getPayPrice()) / 100.00;
515
-                cell.setCellValue(price);
537
+                cell.setCellValue(DateUtils.format(bill.getEndDate(), "yyyy-MM-dd"));
516
                 cell.setCellStyle(style);
538
                 cell.setCellStyle(style);
517
-                if (null != records.get(t).getBillStatementId()) {
518
-                    // 流水
519
-                    cell = row.createCell(4);
520
-                    cell.setCellValue(records.get(t).getBillStatementId());
521
-                    cell.setCellStyle(style);
522
-                }
523
-                // 缴费状态
539
+
540
+                // 类别
541
+                cell = row.createCell(4);
542
+                cell.setCellValue(bill.getIsTicket() ? "维修" : "物业");
543
+                cell.setCellStyle(style);
544
+
545
+                // 收费单号
524
                 cell = row.createCell(5);
546
                 cell = row.createCell(5);
525
-                cell.setCellValue("0".equals(records.get(t).getBillStatus()) ? "未交费" : "1".equals(records.get(t).getBillStatus()) ? "已线上缴费" : "已线下缴费");
547
+                cell.setCellValue(billInvoice.getId());
526
                 cell.setCellStyle(style);
548
                 cell.setCellStyle(style);
527
-                // 缴费人
549
+
550
+                // 房屋信息
528
                 cell = row.createCell(6);
551
                 cell = row.createCell(6);
529
-                cell.setCellValue(records.get(t).getPayName());
552
+                cell.setCellValue(billInvoice.getPhase());
530
                 cell.setCellStyle(style);
553
                 cell.setCellStyle(style);
531
-                if (null != records.get(t).getPayDate()) {
532
-                    // 缴费时间
533
-                    cell = row.createCell(7);
534
-                    cell.setCellValue(dateFormat.format(records.get(t).getPayDate()));
535
-                    cell.setCellStyle(style);
536
-                }
537
-                // 新建时间
554
+
555
+                cell = row.createCell(7);
556
+                cell.setCellValue(billInvoice.getBuilding());
557
+                cell.setCellStyle(style);
558
+
538
                 cell = row.createCell(8);
559
                 cell = row.createCell(8);
539
-                cell.setCellValue(dateFormat.format(records.get(t).getCreateDate()));
560
+                cell.setCellValue(billInvoice.getUnit());
540
                 cell.setCellStyle(style);
561
                 cell.setCellStyle(style);
541
-                // 新建人
562
+
542
                 cell = row.createCell(9);
563
                 cell = row.createCell(9);
543
-                cell.setCellValue(records.get(t).getCreateUserName());
564
+                cell.setCellValue(billInvoice.getRoomNo());
544
                 cell.setCellStyle(style);
565
                 cell.setCellStyle(style);
545
-                // 修改人
566
+
567
+                // 金额(元)
546
                 cell = row.createCell(10);
568
                 cell = row.createCell(10);
547
-                cell.setCellValue(records.get(t).getUpdateUserName());
569
+                double price = Double.valueOf(billInvoice.getPayPrice()) / 100.00;
570
+                cell.setCellValue(price);
548
                 cell.setCellStyle(style);
571
                 cell.setCellStyle(style);
549
-                if (null != records.get(t).getUpdateDate()) {
550
-                    // 修改时间
572
+                if (null != billInvoice.getBillStatementId()) {
573
+                    // 流水
551
                     cell = row.createCell(11);
574
                     cell = row.createCell(11);
552
-                    cell.setCellValue(dateFormat.format(records.get(t).getUpdateDate()));
575
+                    cell.setCellValue(billInvoice.getBillStatementId());
576
+                    cell.setCellStyle(style);
577
+                }
578
+                // 缴费状态
579
+                cell = row.createCell(12);
580
+                cell.setCellValue("0".equals(billInvoice.getBillStatus()) ? "未交费" : "1".equals(billInvoice.getBillStatus()) ? "已线上缴费" : "已线下缴费");
581
+                cell.setCellStyle(style);
582
+                // 缴费人
583
+                cell = row.createCell(13);
584
+                cell.setCellValue(billInvoice.getPayName());
585
+                cell.setCellStyle(style);
586
+                if (null != billInvoice.getPayDate()) {
587
+                    // 缴费时间
588
+                    cell = row.createCell(14);
589
+                    cell.setCellValue(dateFormat.format(billInvoice.getPayDate()));
553
                     cell.setCellStyle(style);
590
                     cell.setCellStyle(style);
554
                 }
591
                 }
592
+//                // 新建时间
593
+//                cell = row.createCell(8);
594
+//                cell.setCellValue(dateFormat.format(billInvoice.getCreateDate()));
595
+//                cell.setCellStyle(style);
596
+//                // 新建人
597
+//                cell = row.createCell(9);
598
+//                cell.setCellValue(billInvoice.getCreateUserName());
599
+//                cell.setCellStyle(style);
600
+//                // 修改人
601
+//                cell = row.createCell(10);
602
+//                cell.setCellValue(billInvoice.getUpdateUserName());
603
+//                cell.setCellStyle(style);
604
+//                if (null != billInvoice.getUpdateDate()) {
605
+//                    // 修改时间
606
+//                    cell = row.createCell(11);
607
+//                    cell.setCellValue(dateFormat.format(billInvoice.getUpdateDate()));
608
+//                    cell.setCellStyle(style);
609
+//                }
555
             }
610
             }
556
             page.setCurrent(i);
611
             page.setCurrent(i);
557
             page.setSize(500);
612
             page.setSize(500);

+ 40
- 41
src/main/java/com/huiju/estateagents/property/service/impl/BillServiceImpl.java 查看文件

1
 package com.huiju.estateagents.property.service.impl;
1
 package com.huiju.estateagents.property.service.impl;
2
 
2
 
3
-import com.alibaba.fastjson.JSONObject;
4
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
3
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
5
 import com.baomidou.mybatisplus.core.metadata.IPage;
4
 import com.baomidou.mybatisplus.core.metadata.IPage;
6
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
5
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
38
 
37
 
39
 import java.io.IOException;
38
 import java.io.IOException;
40
 import java.io.InputStream;
39
 import java.io.InputStream;
41
-import java.text.ParseException;
42
 import java.text.SimpleDateFormat;
40
 import java.text.SimpleDateFormat;
43
 import java.time.LocalDateTime;
41
 import java.time.LocalDateTime;
44
 import java.util.Date;
42
 import java.util.Date;
106
 
104
 
107
     @Override
105
     @Override
108
     @Transactional(rollbackFor = Exception.class)
106
     @Transactional(rollbackFor = Exception.class)
109
-    public ResponseBean updateBillNameAndBillExplainAndEndDate(TaUser userElement, String parameter) {
107
+    public ResponseBean updateBillNameAndBillExplainAndEndDate(TaUser userElement, Bill bill) {
110
         ResponseBean responseBean = new ResponseBean();
108
         ResponseBean responseBean = new ResponseBean();
111
-        Bill bill = JSONObject.parseObject(parameter, Bill.class);
109
+//        Bill bill = JSONObject.parseObject(parameter, Bill.class);
112
         if (StringUtils.isEmpty(bill.getBillName())) {
110
         if (StringUtils.isEmpty(bill.getBillName())) {
113
             responseBean.addError("收费项名称不能为空");
111
             responseBean.addError("收费项名称不能为空");
114
             return responseBean;
112
             return responseBean;
115
         }
113
         }
116
-        if (StringUtils.isEmpty(bill.getBillExplain())) {
117
-            responseBean.addError("缴费项说明");
114
+//        if (StringUtils.isEmpty(bill.getBillExplain())) {
115
+//            responseBean.addError("缴费项说明");
116
+//            return responseBean;
117
+//        }
118
+
119
+        if (bill.getStartDate() == null) {
120
+            responseBean.addError("截止时间不能为空");
118
             return responseBean;
121
             return responseBean;
119
         }
122
         }
120
         if (bill.getEndDate() == null) {
123
         if (bill.getEndDate() == null) {
187
 
190
 
188
     @Override
191
     @Override
189
     @Transactional(rollbackFor = Exception.class)
192
     @Transactional(rollbackFor = Exception.class)
190
-    public ResponseBean getExcelData(Integer billId, MultipartFile file, String billExplain, String billName, Date endDate, String billStatus, TaUser userElement) {
193
+    public ResponseBean saveExcelData(Integer billId, MultipartFile file, Integer communityId, String billName, LocalDateTime startDate, LocalDateTime endDate, String billStatus, TaUser userElement) {
191
         ResponseBean responseBean = new ResponseBean();
194
         ResponseBean responseBean = new ResponseBean();
192
 
195
 
193
-        // 获取本地时间
194
-        Date date = new Date();
195
-        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
196
-        String formatDate = simpleDateFormat.format(date);
197
-        Date parse = null;
198
-        try {
199
-            parse = simpleDateFormat.parse(formatDate);
200
-        } catch (ParseException e) {
201
-            e.printStackTrace();
202
-        }
203
-
204
-        if (endDate.getTime() < parse.getTime()) {
205
-            responseBean.addError("不能小于当前时间!");
206
-            return responseBean;
207
-        }
208
-
209
-
210
         List<BillInvoice> records = null;
196
         List<BillInvoice> records = null;
211
         if (billId != null) {
197
         if (billId != null) {
212
             // 查询出这个收费单, 存在的缴费单数据
198
             // 查询出这个收费单, 存在的缴费单数据
240
 
226
 
241
         // 存入缴费项表
227
         // 存入缴费项表
242
         Bill bill = new Bill();
228
         Bill bill = new Bill();
229
+        bill.setCommunityId(communityId);
243
         bill.setBillName(billName);
230
         bill.setBillName(billName);
244
-        bill.setBillExplain(billExplain);
231
+//        bill.setBillExplain(billExplain);
232
+        bill.setStartDate(startDate);
245
         bill.setEndDate(endDate);
233
         bill.setEndDate(endDate);
246
         if (StringUtils.isNotBlank(strSumDouble)) {
234
         if (StringUtils.isNotBlank(strSumDouble)) {
247
             strSumDouble = strSumDouble.substring(0, strSumDouble.lastIndexOf("."));
235
             strSumDouble = strSumDouble.substring(0, strSumDouble.lastIndexOf("."));
344
             List<BillInvoice> billInvoices = tempBills.stream().map(e -> {
332
             List<BillInvoice> billInvoices = tempBills.stream().map(e -> {
345
                 BillInvoice billInvoice = new BillInvoice();
333
                 BillInvoice billInvoice = new BillInvoice();
346
                 billInvoice.setOrgId(userElement.getOrgId());
334
                 billInvoice.setOrgId(userElement.getOrgId());
335
+                billInvoice.setCommunityId(communityId);
347
                 billInvoice.setBillId(bill.getId());
336
                 billInvoice.setBillId(bill.getId());
348
 
337
 
349
                 /**
338
                 /**
354
                     throw new WisdomException("房产:" + e.getPhase() + e.getBuilding() + e.getUnit() + e.getLevel() + e.getRoomNo() + " 不存在!请核对!");
343
                     throw new WisdomException("房产:" + e.getPhase() + e.getBuilding() + e.getUnit() + e.getLevel() + e.getRoomNo() + " 不存在!请核对!");
355
                 }
344
                 }
356
                 billInvoice.setRoomNoId(tpRoomNo.getId());
345
                 billInvoice.setRoomNoId(tpRoomNo.getId());
357
-                billInvoice.setBillInvoiceExplain(e.getBillExplain());
346
+                billInvoice.setBillInvoiceExplain(billName);
358
                 billInvoice.setPayPrice(e.getPayPrice());
347
                 billInvoice.setPayPrice(e.getPayPrice());
359
                 billInvoice.setBillStatus("0");
348
                 billInvoice.setBillStatus("0");
360
                 billInvoice.setCreateUser(userElement.getUserId());
349
                 billInvoice.setCreateUser(userElement.getUserId());
472
             String roomNo = cell.getStringCellValue().trim();
461
             String roomNo = cell.getStringCellValue().trim();
473
 
462
 
474
 
463
 
475
-            // 收费说明可以为空
476
-            cell = getCell(row.getCell(6));
477
-            String billExplain = null;
478
-            if (null != cell) {
479
-                billExplain = cell.getStringCellValue().trim();
480
-                if (billExplain.length() > 100) {
481
-                    throw new WisdomException("第" + currentRow + "行 收费说明超出100字,请精简到100字以内");
482
-                }
483
-            }
464
+//            // 收费说明可以为空
465
+//            cell = getCell(row.getCell(6));
466
+//            String billExplain = null;
467
+//            if (null != cell) {
468
+//                billExplain = cell.getStringCellValue().trim();
469
+//                if (billExplain.length() > 100) {
470
+//                    throw new WisdomException("第" + currentRow + "行 收费说明超出100字,请精简到100字以内");
471
+//                }
472
+//            }
484
 
473
 
485
-            cell = getCell(row.getCell(7));
474
+            cell = getCell(row.getCell(6));
486
             if (null == cell) {
475
             if (null == cell) {
487
                 throw new WisdomException("第" + currentRow + "行 金额 不能为空");
476
                 throw new WisdomException("第" + currentRow + "行 金额 不能为空");
488
             }
477
             }
496
             temp.setUnit(unit);
485
             temp.setUnit(unit);
497
             temp.setRoomNo(roomNo);
486
             temp.setRoomNo(roomNo);
498
             // temp.setOwnerName(ownerName);
487
             // temp.setOwnerName(ownerName);
499
-            temp.setBillExplain(billExplain);
488
+//            temp.setBillExplain(billExplain);
500
 
489
 
501
 
490
 
502
             if (StringUtils.isNotBlank(money)) {
491
             if (StringUtils.isNotBlank(money)) {
608
     }
597
     }
609
 
598
 
610
     @Override
599
     @Override
611
-    public ResponseBean downloadExcel(TaUser userElement) {
600
+    public ResponseBean downloadExcel(TaUser userElement, Integer communityId, String phaseId,String buildingId) {
612
         ResponseBean responseBean = new ResponseBean();
601
         ResponseBean responseBean = new ResponseBean();
613
 
602
 
614
         InputStream inputStream = null;
603
         InputStream inputStream = null;
631
         Integer pageSize = 10;
620
         Integer pageSize = 10;
632
         // 分页查询
621
         // 分页查询
633
 
622
 
634
-        List<TpRoomNo> records = tpRoomNoMapper.selectCommunityIdList(userElement.getOrgId(), pageNum * pageSize, pageSize);
623
+        List<TpRoomNo> records = tpRoomNoMapper.selectComunityList(userElement.getOrgId(), communityId, phaseId,buildingId,pageNum * pageSize, pageSize);
635
         // 总页数
624
         // 总页数
636
-        Long pages = tpRoomNoMapper.selectCommunityIdCount(userElement.getOrgId());
625
+        Long pages = tpRoomNoMapper.selectCommunityIdCount(userElement.getOrgId(), communityId);
637
 
626
 
638
 
627
 
639
         // 行数 默认从 第 6 行开始
628
         // 行数 默认从 第 6 行开始
662
                 if (index == records.size()) {
651
                 if (index == records.size()) {
663
                     index = 0;
652
                     index = 0;
664
                     pageNum ++;
653
                     pageNum ++;
665
-                    records = tpRoomNoMapper.selectCommunityIdList(userElement.getOrgId(), pageNum * pageSize, pageSize);
654
+                    records = tpRoomNoMapper.selectComunityList(userElement.getOrgId(), communityId, phaseId,buildingId, pageNum * pageSize, pageSize);
666
                 }
655
                 }
667
                 if (records.isEmpty()) {
656
                 if (records.isEmpty()) {
668
                     break;
657
                     break;
806
         return responseBean;
795
         return responseBean;
807
     }
796
     }
808
 
797
 
798
+    @Override
799
+    public int getBillHouse(Integer orgId, String startDate, String endDate) {
800
+        return tpBillOrderMapper.getBillHouse(orgId, startDate, endDate);
801
+    }
802
+
803
+    @Override
804
+    public List<Map<String, Object>> getBillMapList(Integer orgId, String startDate, String endDate) {
805
+        return tpBillOrderMapper.getBillMapList(orgId, startDate, endDate);
806
+    }
807
+
809
 }
808
 }

+ 19
- 2
src/main/java/com/huiju/estateagents/property/service/impl/BillStatementServiceImpl.java 查看文件

52
 
52
 
53
         Integer pageNum = jsonObject.getInteger("pageNum");
53
         Integer pageNum = jsonObject.getInteger("pageNum");
54
         Integer pageSize = jsonObject.getInteger("pageSize");
54
         Integer pageSize = jsonObject.getInteger("pageSize");
55
+        // 小区ID
56
+        Integer communityId = jsonObject.getInteger("communityId");
55
         // 订单号 orderBumber
57
         // 订单号 orderBumber
56
         String orderBumber = jsonObject.getString("orderBumber");
58
         String orderBumber = jsonObject.getString("orderBumber");
57
         // 缴费项 id
59
         // 缴费项 id
62
         Integer billInvoiceId = jsonObject.getInteger("billInvoiceId");
64
         Integer billInvoiceId = jsonObject.getInteger("billInvoiceId");
63
         // 缴费人手机号
65
         // 缴费人手机号
64
         String payPhone = jsonObject.getString("payPhone");
66
         String payPhone = jsonObject.getString("payPhone");
67
+        // 订单状态
68
+        String orderStatus = jsonObject.getString("orderStatus");
69
+        // 缴费方式
70
+        String payType = jsonObject.getString("payType");
71
+        String startCreateDate = jsonObject.getString("startCreateDate");
72
+        String endCreateDate = jsonObject.getString("endCreateDate");
65
 
73
 
66
         // 参数
74
         // 参数
67
         Map<String, Object> map = Maps.newHashMap();
75
         Map<String, Object> map = Maps.newHashMap();
76
+        map.put("communityId", communityId);
68
         map.put("orderBumber", orderBumber);
77
         map.put("orderBumber", orderBumber);
69
         map.put("billId", billId);
78
         map.put("billId", billId);
70
         map.put("billName", billName);
79
         map.put("billName", billName);
71
         map.put("billInvoiceId", billInvoiceId);
80
         map.put("billInvoiceId", billInvoiceId);
72
         map.put("payPhone", payPhone);
81
         map.put("payPhone", payPhone);
73
         map.put("orgId", userElement.getOrgId());
82
         map.put("orgId", userElement.getOrgId());
83
+        map.put("orderStatus", orderStatus);
84
+        map.put("payType", payType);
85
+        map.put("startCreateDate", startCreateDate);
86
+        map.put("endCreateDate", endCreateDate);
74
 
87
 
75
         Page<TpBillOrder> page = new Page<>();
88
         Page<TpBillOrder> page = new Page<>();
76
         page.setCurrent(pageNum);
89
         page.setCurrent(pageNum);
99
             // 总金额
112
             // 总金额
100
             Long sumPrice = childBillOrderList.stream().mapToLong(billOrder -> {
113
             Long sumPrice = childBillOrderList.stream().mapToLong(billOrder -> {
101
                 BillInvoice billInvoice = billInvoiceMapper.selectById(billOrder.getTpBillInvoiceId());
114
                 BillInvoice billInvoice = billInvoiceMapper.selectById(billOrder.getTpBillInvoiceId());
102
-                return billInvoice.getPayPrice();
115
+                Integer payPrice = 0;
116
+                if (null != billInvoice){
117
+                    payPrice = billInvoice.getPayPrice();
118
+                }
119
+                return payPrice;
103
             }).sum();
120
             }).sum();
104
 
121
 
105
             e.setBillIdList(billIdCollect);
122
             e.setBillIdList(billIdCollect);
164
 
181
 
165
         Page<BillStatement> page = new Page<>();
182
         Page<BillStatement> page = new Page<>();
166
         page.setCurrent(1);
183
         page.setCurrent(1);
167
-        page.setSize(500);
184
+        page.setSize(9999);
168
         IPage<BillStatement> billInvoiceIPage = billStatementMapper.getBillStatementAll(page, map);
185
         IPage<BillStatement> billInvoiceIPage = billStatementMapper.getBillStatementAll(page, map);
169
         List<BillStatement> records = billInvoiceIPage.getRecords();
186
         List<BillStatement> records = billInvoiceIPage.getRecords();
170
 
187
 

+ 47
- 30
src/main/java/com/huiju/estateagents/property/service/impl/BuildingOwnerInfoServiceImpl.java 查看文件

13
 import com.huiju.estateagents.entity.TaPerson;
13
 import com.huiju.estateagents.entity.TaPerson;
14
 import com.huiju.estateagents.mapper.TaPersonMapper;
14
 import com.huiju.estateagents.mapper.TaPersonMapper;
15
 import com.huiju.estateagents.property.common.Constant;
15
 import com.huiju.estateagents.property.common.Constant;
16
-import com.huiju.estateagents.property.common.UserElement;
17
-import com.huiju.estateagents.property.common.base.messagePush;
18
 import com.huiju.estateagents.property.dao.*;
16
 import com.huiju.estateagents.property.dao.*;
19
 import com.huiju.estateagents.property.exception.WisdomException;
17
 import com.huiju.estateagents.property.exception.WisdomException;
20
 import com.huiju.estateagents.property.model.*;
18
 import com.huiju.estateagents.property.model.*;
24
 import lombok.extern.slf4j.Slf4j;
22
 import lombok.extern.slf4j.Slf4j;
25
 import org.apache.commons.collections.CollectionUtils;
23
 import org.apache.commons.collections.CollectionUtils;
26
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
24
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
27
-import org.apache.poi.poifs.filesystem.POIFSFileSystem;
28
 import org.apache.poi.ss.usermodel.*;
25
 import org.apache.poi.ss.usermodel.*;
29
 import org.apache.poi.xssf.usermodel.*;
26
 import org.apache.poi.xssf.usermodel.*;
30
 import org.slf4j.Logger;
27
 import org.slf4j.Logger;
31
 import org.slf4j.LoggerFactory;
28
 import org.slf4j.LoggerFactory;
32
 import org.springframework.beans.factory.annotation.Autowired;
29
 import org.springframework.beans.factory.annotation.Autowired;
33
-import org.springframework.beans.factory.annotation.Qualifier;
34
 import org.springframework.stereotype.Service;
30
 import org.springframework.stereotype.Service;
35
 import org.springframework.transaction.annotation.Transactional;
31
 import org.springframework.transaction.annotation.Transactional;
36
 import org.springframework.web.multipart.MultipartFile;
32
 import org.springframework.web.multipart.MultipartFile;
115
         tpBuildingOwnerInfo.setOrgId(userElement.getOrgId());
111
         tpBuildingOwnerInfo.setOrgId(userElement.getOrgId());
116
         Long pageNum = jsonObject.getLong("pageNum") == null ? 1 : jsonObject.getLong("pageNum");
112
         Long pageNum = jsonObject.getLong("pageNum") == null ? 1 : jsonObject.getLong("pageNum");
117
         Long pageSize = jsonObject.getLong("pageSize") == null ? 10 : jsonObject.getLong("pageSize");
113
         Long pageSize = jsonObject.getLong("pageSize") == null ? 10 : jsonObject.getLong("pageSize");
114
+        tpBuildingOwnerInfo.setVerifyStatus(jsonObject.getString("verifyStatus"));
118
 
115
 
119
         Page page = new Page(pageNum,pageSize);
116
         Page page = new Page(pageNum,pageSize);
120
 
117
 
129
                 }
126
                 }
130
             }
127
             }
131
 
128
 
129
+            TaUser taUser = taUserMapper.selectById(e.getUpdateName());
130
+            if (null != taUser){
131
+                e.setUpdateName(taUser.getUserName());
132
+            }
133
+
132
         });
134
         });
133
 
135
 
134
         Map<String, Object> retMap = Maps.newHashMap();
136
         Map<String, Object> retMap = Maps.newHashMap();
182
         taUserVerifyMapper.updateById(userVerify);
184
         taUserVerifyMapper.updateById(userVerify);
183
 
185
 
184
         // app 用户信息
186
         // app 用户信息
185
-        TaPerson person = taPersonMapper.selectById(userVerify.getPersonId());
187
+//        TaPerson person = taPersonMapper.selectById(userVerify.getPersonId());
186
 
188
 
187
 //         审核通过后,往楼栋资料库添加数据
189
 //         审核通过后,往楼栋资料库添加数据
188
         if ("1".equals(verify)) {
190
         if ("1".equals(verify)) {
189
-            TpBuildingOwnerInfo tpBuildingOwnerInfo = insertTpBuildingOwnerInfo(userVerify.getPhaseId(), userVerify.getBuildingId(), userVerify.getUnitId(),
191
+            TpBuildingOwnerInfo tpBuildingOwnerInfo = insertTpBuildingOwnerInfo(userVerify.getCommunityId(), userVerify.getPhaseId(), userVerify.getBuildingId(), userVerify.getUnitId(),
190
                     userVerify.getLevelId(), userVerify.getRoomNoId(), userElement.getOrgId(), userElement.getUserId(),
192
                     userVerify.getLevelId(), userVerify.getRoomNoId(), userElement.getOrgId(), userElement.getUserId(),
191
-                    userVerify.getGender(), person.getNickname(), person.getPhone());
193
+                    userVerify.getGender(), userVerify.getOwnerName(), userVerify.getPhone(), userVerify.getIdCard());
192
 
194
 
193
             // 设置审核id
195
             // 设置审核id
194
             tpBuildingOwnerInfo.setTaUserVerifyId(userVerify.getId());
196
             tpBuildingOwnerInfo.setTaUserVerifyId(userVerify.getId());
251
 //        tpBuildingOwnerInfo.setOwnerName(appUser.getUserName());
253
 //        tpBuildingOwnerInfo.setOwnerName(appUser.getUserName());
252
 
254
 
253
         // 插入楼栋资料库
255
         // 插入楼栋资料库
254
-        tpBuildingOwnerInfo = insertTpBuildingOwnerInfo(tpBuildingOwnerInfo.getPhaseId(), tpBuildingOwnerInfo.getBuildingId(), tpBuildingOwnerInfo.getUnitId(),
256
+        tpBuildingOwnerInfo = insertTpBuildingOwnerInfo(tpBuildingOwnerInfo.getCommunityId(), tpBuildingOwnerInfo.getPhaseId(), tpBuildingOwnerInfo.getBuildingId(), tpBuildingOwnerInfo.getUnitId(),
255
                 tpBuildingOwnerInfo.getLevelId(), tpBuildingOwnerInfo.getRoomNoId(), userElement.getOrgId(), userElement.getUserId(),
257
                 tpBuildingOwnerInfo.getLevelId(), tpBuildingOwnerInfo.getRoomNoId(), userElement.getOrgId(), userElement.getUserId(),
256
-                tpBuildingOwnerInfo.getGender(), tpBuildingOwnerInfo.getOwnerName(), tpBuildingOwnerInfo.getOwnerTel());
258
+                tpBuildingOwnerInfo.getGender(), tpBuildingOwnerInfo.getOwnerName(), tpBuildingOwnerInfo.getOwnerTel(), tpBuildingOwnerInfo.getIdCard());
257
 
259
 
258
         // 更新 APP 端用户姓名
260
         // 更新 APP 端用户姓名
259
 //        appUser.setUserName(tpBuildingOwnerInfo.getOwnerName());
261
 //        appUser.setUserName(tpBuildingOwnerInfo.getOwnerName());
345
 
347
 
346
     /**
348
     /**
347
      * 插入 楼栋资料库
349
      * 插入 楼栋资料库
350
+     * @param communityId
348
      * @param phaseId
351
      * @param phaseId
349
      * @param buildingId
352
      * @param buildingId
350
      * @param unitId
353
      * @param unitId
356
      * @param ownerName
359
      * @param ownerName
357
      * @param ownerTel
360
      * @param ownerTel
358
      */
361
      */
359
-    private TpBuildingOwnerInfo insertTpBuildingOwnerInfo (Integer phaseId, Integer buildingId, Integer unitId,
360
-                                                           Integer levelId, Integer roomNoId, Integer orgId,
361
-                                                           Integer userId, String gender, String ownerName, String ownerTel) {
362
+    private TpBuildingOwnerInfo insertTpBuildingOwnerInfo(Integer communityId, Integer phaseId, Integer buildingId, Integer unitId,
363
+                                                          Integer levelId, Integer roomNoId, Integer orgId,
364
+                                                          Integer userId, String gender, String ownerName, String ownerTel, String idCard) {
362
         TpBuildingOwnerInfo tpBuildingOwnerInfo = new TpBuildingOwnerInfo();
365
         TpBuildingOwnerInfo tpBuildingOwnerInfo = new TpBuildingOwnerInfo();
363
 
366
 
364
         // 查询 期/楼栋/单元/层/户号
367
         // 查询 期/楼栋/单元/层/户号
370
 
373
 
371
         // 主键是自增的, 所以设置为 null
374
         // 主键是自增的, 所以设置为 null
372
         tpBuildingOwnerInfo.setId(null);
375
         tpBuildingOwnerInfo.setId(null);
376
+        tpBuildingOwnerInfo.setCommunityId(communityId);
373
         tpBuildingOwnerInfo.setPhaseId(phaseId);
377
         tpBuildingOwnerInfo.setPhaseId(phaseId);
374
         tpBuildingOwnerInfo.setPhaseName(phase.getName());
378
         tpBuildingOwnerInfo.setPhaseName(phase.getName());
375
         tpBuildingOwnerInfo.setBuildingId(buildingId);
379
         tpBuildingOwnerInfo.setBuildingId(buildingId);
382
         tpBuildingOwnerInfo.setRoomNoName(roomNo.getName());
386
         tpBuildingOwnerInfo.setRoomNoName(roomNo.getName());
383
         tpBuildingOwnerInfo.setOwnerName(ownerName);
387
         tpBuildingOwnerInfo.setOwnerName(ownerName);
384
         tpBuildingOwnerInfo.setOwnerTel(ownerTel);
388
         tpBuildingOwnerInfo.setOwnerTel(ownerTel);
389
+        tpBuildingOwnerInfo.setIdCard(idCard);
385
         tpBuildingOwnerInfo.setGender(gender);
390
         tpBuildingOwnerInfo.setGender(gender);
386
         tpBuildingOwnerInfo.setUpdateUser(userId);
391
         tpBuildingOwnerInfo.setUpdateUser(userId);
387
         tpBuildingOwnerInfo.setUpdateDate(LocalDateTime.now());
392
         tpBuildingOwnerInfo.setUpdateDate(LocalDateTime.now());
389
         tpBuildingOwnerInfo.setCreateUser(userId);
394
         tpBuildingOwnerInfo.setCreateUser(userId);
390
         tpBuildingOwnerInfo.setVerifyStatus("0");
395
         tpBuildingOwnerInfo.setVerifyStatus("0");
391
         tpBuildingOwnerInfo.setPairStatus("0");
396
         tpBuildingOwnerInfo.setPairStatus("0");
392
-
393
-        // 添加的时候, 默认是当前操作的小区
394
         tpBuildingOwnerInfo.setOrgId(orgId);
397
         tpBuildingOwnerInfo.setOrgId(orgId);
395
 
398
 
396
         int row = tpBuildingOwnerInfoMapper.insert(tpBuildingOwnerInfo);
399
         int row = tpBuildingOwnerInfoMapper.insert(tpBuildingOwnerInfo);
419
 
422
 
420
 
423
 
421
     @Override
424
     @Override
422
-    public ResponseBean getPhaseList(Integer orgId) {
425
+    public ResponseBean getPhaseList(Integer orgId, Integer communityId) {
423
 
426
 
424
         ResponseBean responseBean = new ResponseBean();
427
         ResponseBean responseBean = new ResponseBean();
425
         if (null == orgId || "".equals(orgId)) {
428
         if (null == orgId || "".equals(orgId)) {
429
         Map<String, Object> map = Maps.newHashMap();
432
         Map<String, Object> map = Maps.newHashMap();
430
         // 小区
433
         // 小区
431
         map.put("org_id", orgId);
434
         map.put("org_id", orgId);
435
+        map.put("community_id", communityId);
432
         QueryWrapper<TpPhase> queryWrapper = new QueryWrapper<>();
436
         QueryWrapper<TpPhase> queryWrapper = new QueryWrapper<>();
433
         queryWrapper.allEq(map, false);
437
         queryWrapper.allEq(map, false);
434
     
438
     
442
      * 上传excel里面的内容
446
      * 上传excel里面的内容
443
      *
447
      *
444
      * @param file
448
      * @param file
449
+     * @param communityId
445
      * @param userElement
450
      * @param userElement
446
      * @return
451
      * @return
447
      */
452
      */
448
     @Override
453
     @Override
449
     @Transactional(rollbackFor = Exception.class)
454
     @Transactional(rollbackFor = Exception.class)
450
-    public ResponseBean submitExcelData(MultipartFile file, TaUser userElement) {
455
+    public ResponseBean submitExcelData(MultipartFile file, Integer communityId, TaUser userElement) {
451
         ResponseBean responseBean = new ResponseBean();
456
         ResponseBean responseBean = new ResponseBean();
452
         responseBean = getExcelData(file);
457
         responseBean = getExcelData(file);
453
 
458
 
464
             e.setOrgId(userElement.getOrgId());
469
             e.setOrgId(userElement.getOrgId());
465
             e.setVerifyStatus("0");
470
             e.setVerifyStatus("0");
466
             e.setPairStatus("0");
471
             e.setPairStatus("0");
472
+            e.setCommunityId(communityId);
467
             e.setCreateUser(userElement.getUserId());
473
             e.setCreateUser(userElement.getUserId());
468
             e.setCreateDate(LocalDateTime.now());
474
             e.setCreateDate(LocalDateTime.now());
469
         });
475
         });
685
                 cell = row.getCell(3);
691
                 cell = row.getCell(3);
686
                 cell.setCellType(Cell.CELL_TYPE_STRING);
692
                 cell.setCellType(Cell.CELL_TYPE_STRING);
687
                 String ownerTel = cell.getStringCellValue().trim();
693
                 String ownerTel = cell.getStringCellValue().trim();
688
-                cell = row.getCell(4);
689
-                cell.setCellType(Cell.CELL_TYPE_STRING);
690
-                String ownerRole = cell.getStringCellValue().trim();
694
+//                cell = row.getCell(4);
695
+//                cell.setCellType(Cell.CELL_TYPE_STRING);
696
+//                String ownerRole = cell.getStringCellValue().trim();
691
                 int currentRow = j+1;
697
                 int currentRow = j+1;
692
                 if (StringUtils.isEmpty(buildingInfo)){
698
                 if (StringUtils.isEmpty(buildingInfo)){
693
                     responseBean.addError("第" + currentRow + "行" + "房产信息不能为空!");
699
                     responseBean.addError("第" + currentRow + "行" + "房产信息不能为空!");
712
                     return responseBean;
718
                     return responseBean;
713
                 }
719
                 }
714
 
720
 
715
-                if (StringUtils.isEmpty(ownerRole)){
716
-                    responseBean.addError("第" + currentRow + "行" + "身份不能为空!");
717
-                    return responseBean;
718
-                }
721
+//                if (StringUtils.isEmpty(ownerRole)){
722
+//                    responseBean.addError("第" + currentRow + "行" + "身份不能为空!");
723
+//                    return responseBean;
724
+//                }
719
                 LambdaQueryWrapper<TpBuildingOwnerInfo> ownerInfoQueryWrapper = new LambdaQueryWrapper<>();
725
                 LambdaQueryWrapper<TpBuildingOwnerInfo> ownerInfoQueryWrapper = new LambdaQueryWrapper<>();
720
                 ownerInfoQueryWrapper.eq(TpBuildingOwnerInfo::getOwnerTel,ownerTel);
726
                 ownerInfoQueryWrapper.eq(TpBuildingOwnerInfo::getOwnerTel,ownerTel);
721
                 ownerInfoQueryWrapper.eq(TpBuildingOwnerInfo::getRoomNoId,roomNoId);
727
                 ownerInfoQueryWrapper.eq(TpBuildingOwnerInfo::getRoomNoId,roomNoId);
736
                 //构建数据
742
                 //构建数据
737
                 TpBuildingOwnerInfo checkOwnerInfo = new TpBuildingOwnerInfo();
743
                 TpBuildingOwnerInfo checkOwnerInfo = new TpBuildingOwnerInfo();
738
                 checkOwnerInfo.setId(null);
744
                 checkOwnerInfo.setId(null);
739
-                checkOwnerInfo.setRoleName(ownerRole);
745
+//                checkOwnerInfo.setRoleName(ownerRole);
740
                 checkOwnerInfo.setOwnerName(ownerName);
746
                 checkOwnerInfo.setOwnerName(ownerName);
741
                 checkOwnerInfo.setOwnerTel(ownerTel);
747
                 checkOwnerInfo.setOwnerTel(ownerTel);
742
                 checkOwnerInfo.setPhaseId(tpRoomNo.getPhaseId());
748
                 checkOwnerInfo.setPhaseId(tpRoomNo.getPhaseId());
976
     }
982
     }
977
 
983
 
978
     @Override
984
     @Override
979
-    public ResponseBean downloadExcel(TaUser userElement) {
985
+    public ResponseBean downloadExcel(Integer communityId, TaUser userElement) {
980
         ResponseBean responseBean = new ResponseBean();
986
         ResponseBean responseBean = new ResponseBean();
981
 
987
 
982
         InputStream inputStream = null;
988
         InputStream inputStream = null;
999
         Integer pageSize = 10;
1005
         Integer pageSize = 10;
1000
 
1006
 
1001
         // 分页查询
1007
         // 分页查询
1002
-        List<TpRoomNo> records = tpRoomNoMapper.selectCommunityIdList(userElement.getOrgId(),pageNum * pageSize, pageSize);
1008
+        List<TpRoomNo> records = tpRoomNoMapper.selectCommunityIdList(userElement.getOrgId(), communityId,pageNum * pageSize, pageSize);
1003
         // 总页数
1009
         // 总页数
1004
-        Long pages = tpRoomNoMapper.selectCommunityIdCount(userElement.getOrgId());
1010
+        Long pages = tpRoomNoMapper.selectCommunityIdCount(userElement.getOrgId(), communityId);
1005
 
1011
 
1006
 
1012
 
1007
         // 行数 默认从 第 3 行开始
1013
         // 行数 默认从 第 3 行开始
1050
                 if (index == records.size()) {
1056
                 if (index == records.size()) {
1051
                     index = 0;
1057
                     index = 0;
1052
                     pageNum ++;
1058
                     pageNum ++;
1053
-                    records = tpRoomNoMapper.selectCommunityIdList(userElement.getOrgId(),pageNum * pageSize, pageSize);
1059
+                    records = tpRoomNoMapper.selectCommunityIdList(userElement.getOrgId(), communityId, pageNum * pageSize, pageSize);
1054
                 }
1060
                 }
1055
                 if (records.isEmpty()) {
1061
                 if (records.isEmpty()) {
1056
                     break;
1062
                     break;
1233
     @Override
1239
     @Override
1234
     public ResponseBean hasBuild(String personId, Integer orgId ,Integer phaseId, Integer buildingId, Integer unitId, Integer levelId, Integer roomNoId) {
1240
     public ResponseBean hasBuild(String personId, Integer orgId ,Integer phaseId, Integer buildingId, Integer unitId, Integer levelId, Integer roomNoId) {
1235
         ResponseBean responseBean = new ResponseBean();
1241
         ResponseBean responseBean = new ResponseBean();
1242
+        TaPerson taPerson = taPersonMapper.selectById(personId);
1236
         // 1.检验该用户关联有没有这个 户号,审核通过的
1243
         // 1.检验该用户关联有没有这个 户号,审核通过的
1237
-        List<TaUserVerify> taUserVerifyEqVerifyStatus1 = taUserVerifyMapper.selectWxCommunityAndAddress(personId,1, phaseId, buildingId, unitId, levelId, roomNoId, 1);
1244
+        List<TaUserVerify> taUserVerifyEqVerifyStatus1 = taUserVerifyMapper.selectWxCommunityAndAddress(personId,taPerson.getOrgId(), phaseId, buildingId, unitId, levelId, roomNoId, 1);
1238
         // List<TaUserVerify> taUserVerify = taUserVerifyMapper.selectCommunityAndAddressAndNotVerifyStatus2(userElement.getId(),userElement.getCommunityId(), phaseId, buildingId, unitId, levelId, roomNoId);
1245
         // List<TaUserVerify> taUserVerify = taUserVerifyMapper.selectCommunityAndAddressAndNotVerifyStatus2(userElement.getId(),userElement.getCommunityId(), phaseId, buildingId, unitId, levelId, roomNoId);
1239
         if (null != taUserVerifyEqVerifyStatus1 && taUserVerifyEqVerifyStatus1.size() > 0) {
1246
         if (null != taUserVerifyEqVerifyStatus1 && taUserVerifyEqVerifyStatus1.size() > 0) {
1240
             responseBean.addError("你已关联此房间,无法再次关联!");
1247
             responseBean.addError("你已关联此房间,无法再次关联!");
1242
         }
1249
         }
1243
 
1250
 
1244
         // 1.检验该用户关联有没有这个 户号,待审核
1251
         // 1.检验该用户关联有没有这个 户号,待审核
1245
-        List<TaUserVerify> taUserVerifyEqVerifyStatus0 = taUserVerifyMapper.selectWxCommunityAndAddress(personId,1, phaseId, buildingId, unitId, levelId, roomNoId, 0);
1252
+        List<TaUserVerify> taUserVerifyEqVerifyStatus0 = taUserVerifyMapper.selectWxCommunityAndAddress(personId,taPerson.getOrgId(), phaseId, buildingId, unitId, levelId, roomNoId, 0);
1246
         if (null != taUserVerifyEqVerifyStatus0 && taUserVerifyEqVerifyStatus0.size() > 0) {
1253
         if (null != taUserVerifyEqVerifyStatus0 && taUserVerifyEqVerifyStatus0.size() > 0) {
1247
             responseBean.addError("您已提交了这个房产的审核!请等待户主或者物业审核后,再进行下一步操作!");
1254
             responseBean.addError("您已提交了这个房产的审核!请等待户主或者物业审核后,再进行下一步操作!");
1248
             return responseBean;
1255
             return responseBean;
1266
         responseBean.addSuccess(result);
1273
         responseBean.addSuccess(result);
1267
         return responseBean;
1274
         return responseBean;
1268
     }
1275
     }
1276
+
1277
+    @Override
1278
+    public int getAvailableProp(Integer orgId) {
1279
+        return tpBuildingOwnerInfoMapper.getAvailableProp(orgId);
1280
+    }
1281
+
1282
+    @Override
1283
+    public Map<String, Object> getVerifyNum(Integer orgId) {
1284
+        return tpBuildingOwnerInfoMapper.getVerifyNum(orgId);
1285
+    }
1269
 }
1286
 }

+ 154
- 48
src/main/java/com/huiju/estateagents/property/service/impl/BuildingTreeServiceImpl.java 查看文件

2
 
2
 
3
 import com.alibaba.fastjson.JSONObject;
3
 import com.alibaba.fastjson.JSONObject;
4
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
5
+import com.baomidou.mybatisplus.core.metadata.IPage;
5
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
6
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
6
 import com.huiju.estateagents.base.ResponseBean;
7
 import com.huiju.estateagents.base.ResponseBean;
7
 import com.huiju.estateagents.center.taUser.entity.TaUser;
8
 import com.huiju.estateagents.center.taUser.entity.TaUser;
8
 import com.huiju.estateagents.property.common.Constant;
9
 import com.huiju.estateagents.property.common.Constant;
9
-import com.huiju.estateagents.property.common.UserElement;
10
 import com.huiju.estateagents.property.dao.*;
10
 import com.huiju.estateagents.property.dao.*;
11
 import com.huiju.estateagents.property.model.*;
11
 import com.huiju.estateagents.property.model.*;
12
 import com.huiju.estateagents.property.service.BuildingTreeServiceI;
12
 import com.huiju.estateagents.property.service.BuildingTreeServiceI;
13
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
13
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
14
-import org.apache.poi.ss.usermodel.Row;
15
-import org.apache.poi.ss.usermodel.Sheet;
16
-import org.apache.poi.ss.usermodel.Workbook;
14
+import org.apache.poi.ss.usermodel.*;
17
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
15
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
18
 import org.slf4j.Logger;
16
 import org.slf4j.Logger;
19
 import org.slf4j.LoggerFactory;
17
 import org.slf4j.LoggerFactory;
100
 			for (int j = 3; j <= lastRowNum; j++) {
98
 			for (int j = 3; j <= lastRowNum; j++) {
101
 				Row row = sheet.getRow(j);
99
 				Row row = sheet.getRow(j);
102
 				TpBuildingOwnerInfo tpBuildingOwnerInfo = new TpBuildingOwnerInfo();
100
 				TpBuildingOwnerInfo tpBuildingOwnerInfo = new TpBuildingOwnerInfo();
103
-				String phase = row.getCell(0).getStringCellValue().trim();
104
-				String building = row.getCell(1).getStringCellValue().trim();
105
-				String unit = row.getCell(2).getStringCellValue().trim();
106
-				String level = row.getCell(3).getStringCellValue().trim();
107
-				String roomNo = row.getCell(4).getStringCellValue().trim();
108
-				
101
+				String phase = null;
102
+				String building = null;
103
+				String unit = null;
104
+				String level = null;
105
+				String roomNo = null;
109
 				int currentRow = j+1;
106
 				int currentRow = j+1;
107
+				try {
108
+					phase = getStringOfCell(row.getCell(0));
109
+					building = getStringOfCell(row.getCell(1));
110
+					unit = getStringOfCell(row.getCell(2));
111
+					level = getStringOfCell(row.getCell(3));
112
+					roomNo = getStringOfCell(row.getCell(4));
113
+				} catch (Exception e) {
114
+					e.printStackTrace();
115
+					responseBean.addError(String.format("第 %d 行, 格式错误, 数据只能为字符或数字格式", currentRow));
116
+					return responseBean;
117
+				}
118
+
110
 				if (StringUtils.isEmpty(phase)){
119
 				if (StringUtils.isEmpty(phase)){
111
 					responseBean.addError("第" + currentRow + "行" + "期/区不能为空!");
120
 					responseBean.addError("第" + currentRow + "行" + "期/区不能为空!");
112
 					return responseBean;
121
 					return responseBean;
154
 		responseBean.addSuccess(data);
163
 		responseBean.addSuccess(data);
155
 		return responseBean;
164
 		return responseBean;
156
 	}
165
 	}
166
+
167
+	private String getStringOfCell(Cell cell) throws Exception {
168
+		CellType cellTypeEnum = cell.getCellTypeEnum();
169
+		if (cellTypeEnum.equals(CellType.STRING)) {
170
+			return cell.getStringCellValue().trim();
171
+		} else if (cellTypeEnum.equals(CellType.NUMERIC)) {
172
+			return String.valueOf((int) cell.getNumericCellValue()).trim();
173
+		} else {
174
+			throw new Exception("数据内容格式错误");
175
+		}
176
+	}
157
 	
177
 	
158
 	/**
178
 	/**
159
 	 * 上传小区的基础数据
179
 	 * 上传小区的基础数据
160
 	 *
180
 	 *
161
 	 * @param file
181
 	 * @param file
182
+	 * @param communityId
162
 	 * @param userElement
183
 	 * @param userElement
163
 	 * @return
184
 	 * @return
164
 	 */
185
 	 */
165
 	@Override
186
 	@Override
166
-	public ResponseBean submitExcelData(MultipartFile file, TaUser userElement) {
187
+	public ResponseBean submitExcelData(MultipartFile file, Integer communityId, TaUser userElement) {
167
 		ResponseBean responseBean = new ResponseBean();
188
 		ResponseBean responseBean = new ResponseBean();
168
 		responseBean = getExcelData(file);
189
 		responseBean = getExcelData(file);
169
 //		if (!responseBean.getCode().equals(Constant.RESPONSE_SUCCESS)){
190
 //		if (!responseBean.getCode().equals(Constant.RESPONSE_SUCCESS)){
177
 		Integer orgId = userElement.getOrgId();
198
 		Integer orgId = userElement.getOrgId();
178
 		
199
 		
179
 		//保存数据到表中--拆分数据
200
 		//保存数据到表中--拆分数据
180
-		saveBuildingTreeData(orgId,list);
201
+		saveBuildingTreeData(orgId, communityId, list);
181
 		responseBean.addSuccess("success");
202
 		responseBean.addSuccess("success");
182
 		return responseBean;
203
 		return responseBean;
183
 	}
204
 	}
275
 		 String type= object.getString("type");
296
 		 String type= object.getString("type");
276
 		 //当前输入的节点内容
297
 		 //当前输入的节点内容
277
 		 String nodeNumber= object.getString("nodeNumber");
298
 		 String nodeNumber= object.getString("nodeNumber");
299
+		 // 小区
300
+		Integer communityId = object.getInteger("communityId");
278
 
301
 
279
 		/*查询出期*/
302
 		/*查询出期*/
280
 		if(type.equals("phase")) {
303
 		if(type.equals("phase")) {
290
 			TpPhase tpPhase= new TpPhase();
313
 			TpPhase tpPhase= new TpPhase();
291
 					tpPhase.setOrgId(orgId);
314
 					tpPhase.setOrgId(orgId);
292
 					tpPhase.setName(nodeNumber);
315
 					tpPhase.setName(nodeNumber);
316
+					tpPhase.setCommunityId(communityId);
293
 					tpPhase.setCreateDate(LocalDateTime.now());
317
 					tpPhase.setCreateDate(LocalDateTime.now());
294
 					tpPhaseMapper.insert(tpPhase);
318
 					tpPhaseMapper.insert(tpPhase);
319
+			return ResponseBean.success(tpPhase);
295
 		}
320
 		}
296
 		TpPhase	tpPhase= tpPhaseMapper.selectById(id);
321
 		TpPhase	tpPhase= tpPhaseMapper.selectById(id);
297
 		if(type.equals("building")){
322
 		if(type.equals("building")){
311
 						 .setPhaseId(tpPhase.getId())
336
 						 .setPhaseId(tpPhase.getId())
312
 						 .setPhaseName(tpPhase.getName())
337
 						 .setPhaseName(tpPhase.getName())
313
 						 .setName(nodeNumber)
338
 						 .setName(nodeNumber)
339
+							.setCommunityId(communityId)
314
 						 .setCreateDate(LocalDateTime.now());
340
 						 .setCreateDate(LocalDateTime.now());
315
 			tpBuildingMapper.insert(tpBuilding);
341
 			tpBuildingMapper.insert(tpBuilding);
342
+			return ResponseBean.success(tpBuilding);
316
 		}
343
 		}
317
 		//查询栋,维护单元
344
 		//查询栋,维护单元
318
 		 TpBuilding selectTpBuilding= tpBuildingMapper.selectById(id);
345
 		 TpBuilding selectTpBuilding= tpBuildingMapper.selectById(id);
335
 						.setBuildingName(selectTpBuilding.getName())
362
 						.setBuildingName(selectTpBuilding.getName())
336
 						.setBuildingId(selectTpBuilding.getId())
363
 						.setBuildingId(selectTpBuilding.getId())
337
 						.setName(nodeNumber)
364
 						.setName(nodeNumber)
365
+						.setCommunityId(communityId)
338
 						.setCreateDate(LocalDateTime.now());
366
 						.setCreateDate(LocalDateTime.now());
339
 		 	 tpUnitMapper.insert(tpUnit);
367
 		 	 tpUnitMapper.insert(tpUnit);
368
+			return ResponseBean.success(tpUnit);
340
 		 }
369
 		 }
341
 
370
 
342
 		//查询单元,维护楼层
371
 		//查询单元,维护楼层
364
 				.setUnitId(selectTpUnit.getId())
393
 				.setUnitId(selectTpUnit.getId())
365
 				.setUnitName(selectTpUnit.getName())
394
 				.setUnitName(selectTpUnit.getName())
366
 				.setName(nodeNumber)
395
 				.setName(nodeNumber)
396
+				.setCommunityId(communityId)
367
 				.setCreateDate(LocalDateTime.now());
397
 				.setCreateDate(LocalDateTime.now());
368
 			 tpLevelMapper.insert(tpLevel);
398
 			 tpLevelMapper.insert(tpLevel);
399
+			return ResponseBean.success(tpLevel);
369
 			}
400
 			}
370
 		 //房间号
401
 		 //房间号
371
 	 	TpLevel selectTpLevel= tpLevelMapper.selectById(id);
402
 	 	TpLevel selectTpLevel= tpLevelMapper.selectById(id);
392
 							.setLevelId(selectTpLevel.getId())
423
 							.setLevelId(selectTpLevel.getId())
393
 							.setLevelName(selectTpLevel.getName())
424
 							.setLevelName(selectTpLevel.getName())
394
 							.setName(nodeNumber)
425
 							.setName(nodeNumber)
426
+					.setCommunityId(communityId)
395
 							.setCreateDate(LocalDateTime.now());
427
 							.setCreateDate(LocalDateTime.now());
396
 			tpRoomNoMapper.insert(tpRoomNo);
428
 			tpRoomNoMapper.insert(tpRoomNo);
429
+			return ResponseBean.success(tpRoomNo);
397
 		}
430
 		}
398
 		responseBean.addSuccess("成功");
431
 		responseBean.addSuccess("成功");
399
 		return responseBean;
432
 		return responseBean;
497
 							tpRoomNoMapper.delete(tpRoomNoQueryWrapper);
530
 							tpRoomNoMapper.delete(tpRoomNoQueryWrapper);
498
 						}
531
 						}
499
 				}
532
 				}
533
+
534
+					//删除所有楼层
535
+					tpLevelMapper.delete(tpLevel);
500
 			  }
536
 			  }
501
 			}
537
 			}
502
-			//删除所有楼层
503
-			tpLevelMapper.delete(tpLevel);
504
 			//删除此单元
538
 			//删除此单元
505
 			tpUnitMapper.delete(tpUnit);
539
 			tpUnitMapper.delete(tpUnit);
506
 			//删除栋
540
 			//删除栋
515
 			building.eq("name", phase.getName());
549
 			building.eq("name", phase.getName());
516
 			List<TpBuilding> tpBuildingList= tpBuildingMapper.selectList(building);
550
 			List<TpBuilding> tpBuildingList= tpBuildingMapper.selectList(building);
517
 			for (TpBuilding tpBuilding:tpBuildingList){
551
 			for (TpBuilding tpBuilding:tpBuildingList){
518
-			//删除单元-楼层-房间
519
-			QueryWrapper<TpUnit> tpUnit = new QueryWrapper<>();
520
-			List<TpUnit> unitList=null;
521
-			if (null!=tpBuilding) {
552
+				//删除单元-楼层-房间
553
+				QueryWrapper<TpUnit> tpUnit = new QueryWrapper<>();
522
 				tpUnit.eq("org_id", tpBuilding.getOrgId());
554
 				tpUnit.eq("org_id", tpBuilding.getOrgId());
523
 				tpUnit.eq("phase_id", tpBuilding.getPhaseId());
555
 				tpUnit.eq("phase_id", tpBuilding.getPhaseId());
524
 				tpUnit.eq("building_id", tpBuilding.getId());
556
 				tpUnit.eq("building_id", tpBuilding.getId());
525
 				tpUnit.eq("building_name", tpBuilding.getName());
557
 				tpUnit.eq("building_name", tpBuilding.getName());
526
-				unitList= tpUnitMapper.selectList(tpUnit);
527
-			}
528
-			//先查询楼层
529
-			QueryWrapper<TpLevel> tpLevel = new QueryWrapper<>();
530
-			if (null!=unitList) {
531
-				for (TpUnit unit : unitList) {
532
-					tpLevel.eq("phase_id", unit.getPhaseId());
533
-					tpLevel.eq("org_id", unit.getOrgId());
534
-					tpLevel.eq("building_id", unit.getBuildingId());
535
-					tpLevel.eq("unit_id", unit.getId());
536
-					tpLevel.eq("unit_name", unit.getName());
537
-					//查询房间
538
-					List<TpLevel> levelList = tpLevelMapper.selectList(tpLevel);
539
-					if (null != levelList) {
540
-						for (TpLevel level : levelList) {
541
-							QueryWrapper<TpRoomNo> tpRoomNoQueryWrapper = new QueryWrapper<>();
542
-							tpRoomNoQueryWrapper.eq("phase_id", level.getPhaseId());
543
-							tpRoomNoQueryWrapper.eq("org_id", level.getOrgId());
544
-							tpRoomNoQueryWrapper.eq("building_id", level.getBuildingId());
545
-							tpRoomNoQueryWrapper.eq("unit_id", level.getUnitId());
546
-							tpRoomNoQueryWrapper.eq("level_id", level.getId());
547
-							tpRoomNoQueryWrapper.eq("level_name", level.getName());
548
-							//先删除所有房间
549
-							tpRoomNoMapper.delete(tpRoomNoQueryWrapper);
558
+
559
+				List<TpUnit> unitList = tpUnitMapper.selectList(tpUnit);
560
+
561
+				//先查询楼层
562
+				QueryWrapper<TpLevel> tpLevel = new QueryWrapper<>();
563
+				if (null!=unitList) {
564
+					for (TpUnit unit : unitList) {
565
+						tpLevel.eq("phase_id", unit.getPhaseId());
566
+						tpLevel.eq("org_id", unit.getOrgId());
567
+						tpLevel.eq("building_id", unit.getBuildingId());
568
+						tpLevel.eq("unit_id", unit.getId());
569
+						tpLevel.eq("unit_name", unit.getName());
570
+						//查询房间
571
+						List<TpLevel> levelList = tpLevelMapper.selectList(tpLevel);
572
+						if (null != levelList) {
573
+							for (TpLevel level : levelList) {
574
+								QueryWrapper<TpRoomNo> tpRoomNoQueryWrapper = new QueryWrapper<>();
575
+								tpRoomNoQueryWrapper.eq("phase_id", level.getPhaseId());
576
+								tpRoomNoQueryWrapper.eq("org_id", level.getOrgId());
577
+								tpRoomNoQueryWrapper.eq("building_id", level.getBuildingId());
578
+								tpRoomNoQueryWrapper.eq("unit_id", level.getUnitId());
579
+								tpRoomNoQueryWrapper.eq("level_id", level.getId());
580
+								tpRoomNoQueryWrapper.eq("level_name", level.getName());
581
+								//先删除所有房间
582
+								tpRoomNoMapper.delete(tpRoomNoQueryWrapper);
583
+							}
550
 						}
584
 						}
585
+						//再删除所有楼层
586
+						tpLevelMapper.delete(tpLevel);
551
 					}
587
 					}
552
-					//再删除所有楼层
553
-					tpLevelMapper.delete(tpLevel);
554
 				}
588
 				}
589
+				//删除此单元
590
+				tpUnitMapper.delete(tpUnit);
555
 			}
591
 			}
556
-			//删除此单元
557
-			tpUnitMapper.delete(tpUnit);
558
-	}
559
 			//删除栋
592
 			//删除栋
560
 			tpBuildingMapper.delete(building);
593
 			tpBuildingMapper.delete(building);
561
 			//删除整个期
594
 			//删除整个期
565
 		return responseBean;
598
 		return responseBean;
566
 	}
599
 	}
567
 
600
 
568
-	private void saveBuildingTreeData(Integer orgId, List<TpBuildingOwnerInfo> list) {
601
+	@Override
602
+	public IPage<TpRoomNo> getRoomList(IPage<TpRoomNo> page, Integer orgId, Integer phaseId, Integer buildingId, Integer unitId, Integer levelId, Integer roomNoId) {
603
+		return tpRoomNoMapper.getRoomList(page, orgId, phaseId, buildingId, unitId, levelId, roomNoId);
604
+	}
605
+
606
+	@Override
607
+	public ResponseBean editNode(Map<String, Object> parameter, Integer orgId) {
608
+		if (null == parameter) {
609
+			return ResponseBean.error("编辑内容不能为空", ResponseBean.ERROR_MISSING_PARAMS);
610
+		}
611
+
612
+		Integer id = (Integer) parameter.get("id");
613
+		String type = (String) parameter.get("type");
614
+		String name = (String) parameter.get("name");
615
+
616
+		if (null == id || StringUtils.isEmpty(type) || StringUtils.isEmpty(name)) {
617
+			return ResponseBean.error("部分编辑内容不能为空", ResponseBean.ERROR_MISSING_PARAMS);
618
+		}
619
+
620
+		// 如果是期数
621
+		if ("phase".equals(type)) {
622
+			tpPhaseMapper.updateName(orgId, id, name);
623
+			tpBuildingMapper.updatePhaseName(orgId, id, name);
624
+			tpUnitMapper.updatePhaseName(orgId, id, name);
625
+			tpLevelMapper.updatePhaseName(orgId, id, name);
626
+			tpRoomNoMapper.updatePhaseName(orgId, id, name);
627
+			return ResponseBean.success("success");
628
+		}
629
+
630
+		// 如果是楼栋
631
+		if ("building".equals(type)) {
632
+			tpBuildingMapper.updateName(orgId, id, name);
633
+			tpUnitMapper.updateBuildingName(orgId, id, name);
634
+			tpLevelMapper.updateBuildingName(orgId, id, name);
635
+			tpRoomNoMapper.updateBuildingName(orgId, id, name);
636
+			return ResponseBean.success("success");
637
+		}
638
+
639
+		// 如果是单元
640
+		if ("unit".equals(type)) {
641
+			tpUnitMapper.updateName(orgId, id, name);
642
+			tpLevelMapper.updateUnitName(orgId, id, name);
643
+			tpRoomNoMapper.updateUnitName(orgId, id, name);
644
+			return ResponseBean.success("success");
645
+		}
646
+
647
+		// 如果是楼层
648
+		if ("level".equals(type)) {
649
+			tpLevelMapper.updateName(orgId, id, name);
650
+			tpRoomNoMapper.updateLevelName(orgId, id, name);
651
+			return ResponseBean.success("success");
652
+		}
653
+
654
+		// 如果是房间
655
+		if ("roomNo".equals(type)) {
656
+			tpRoomNoMapper.updateName(orgId, id, name);
657
+			return ResponseBean.success("success");
658
+		}
659
+
660
+		return ResponseBean.error("数据类型不正确", ResponseBean.ERROR_ILLEGAL_PARAMS);
661
+	}
662
+
663
+	@Override
664
+	public int getRoomNum(Integer orgId) {
665
+		return tpRoomNoMapper.getRoomNum(orgId);
666
+	}
667
+
668
+	private void saveBuildingTreeData(Integer orgId, Integer communityId, List<TpBuildingOwnerInfo> list) {
569
 		String lastPhaseName = "";
669
 		String lastPhaseName = "";
570
 		String lastBuildingName = "";
670
 		String lastBuildingName = "";
571
 		String lastUnitName = "";
671
 		String lastUnitName = "";
583
 				tpPhase.setName(tpBuildingOwnerInfo.getPhaseName());
683
 				tpPhase.setName(tpBuildingOwnerInfo.getPhaseName());
584
 				tpPhase.setOrgId(orgId);
684
 				tpPhase.setOrgId(orgId);
585
 				tpPhase.setCreateDate(LocalDateTime.now());
685
 				tpPhase.setCreateDate(LocalDateTime.now());
686
+			tpPhase.setCommunityId(communityId);
586
 
687
 
587
 				QueryWrapper<TpPhase> phaseQueryWrapper = new QueryWrapper<>();
688
 				QueryWrapper<TpPhase> phaseQueryWrapper = new QueryWrapper<>();
588
 				phaseQueryWrapper.eq("org_id", orgId);
689
 				phaseQueryWrapper.eq("org_id", orgId);
690
+			phaseQueryWrapper.eq("community_id", communityId);
589
 				phaseQueryWrapper.eq("`NAME`", tpBuildingOwnerInfo.getPhaseName());
691
 				phaseQueryWrapper.eq("`NAME`", tpBuildingOwnerInfo.getPhaseName());
590
 				TpPhase selectPhase = tpPhaseMapper.selectOne(phaseQueryWrapper);
692
 				TpPhase selectPhase = tpPhaseMapper.selectOne(phaseQueryWrapper);
591
 				// 判断是否存在库里
693
 				// 判断是否存在库里
609
 				tpBuilding.setPhaseName(lastPhaseName);
711
 				tpBuilding.setPhaseName(lastPhaseName);
610
 				tpBuilding.setName(tpBuildingOwnerInfo.getBuildingName());
712
 				tpBuilding.setName(tpBuildingOwnerInfo.getBuildingName());
611
 				tpBuilding.setCreateDate(LocalDateTime.now());
713
 				tpBuilding.setCreateDate(LocalDateTime.now());
714
+				tpBuilding.setCommunityId(communityId);
612
 
715
 
613
 				QueryWrapper<TpBuilding> buildingQueryWrapper = new QueryWrapper<>();
716
 				QueryWrapper<TpBuilding> buildingQueryWrapper = new QueryWrapper<>();
614
 				buildingQueryWrapper.eq("org_id", orgId);
717
 				buildingQueryWrapper.eq("org_id", orgId);
633
 				tpUnit.setBuildingName(lastBuildingName);
736
 				tpUnit.setBuildingName(lastBuildingName);
634
 				tpUnit.setName(tpBuildingOwnerInfo.getUnitName());
737
 				tpUnit.setName(tpBuildingOwnerInfo.getUnitName());
635
 				tpUnit.setCreateDate(LocalDateTime.now());
738
 				tpUnit.setCreateDate(LocalDateTime.now());
739
+				tpUnit.setCommunityId(communityId);
636
 
740
 
637
 				QueryWrapper<TpUnit> unitQueryWrapper = new QueryWrapper<>();
741
 				QueryWrapper<TpUnit> unitQueryWrapper = new QueryWrapper<>();
638
 				unitQueryWrapper.eq("org_id", orgId);
742
 				unitQueryWrapper.eq("org_id", orgId);
662
 				tpLevel.setUnitName(lastUnitName);
766
 				tpLevel.setUnitName(lastUnitName);
663
 				tpLevel.setName(tpBuildingOwnerInfo.getLevelName());
767
 				tpLevel.setName(tpBuildingOwnerInfo.getLevelName());
664
 				tpLevel.setCreateDate(LocalDateTime.now());
768
 				tpLevel.setCreateDate(LocalDateTime.now());
769
+				tpLevel.setCommunityId(communityId);
665
 
770
 
666
 				QueryWrapper<TpLevel> levelQueryWrapper = new QueryWrapper<>();
771
 				QueryWrapper<TpLevel> levelQueryWrapper = new QueryWrapper<>();
667
 				levelQueryWrapper.eq("org_id", orgId);
772
 				levelQueryWrapper.eq("org_id", orgId);
693
 				tpRoomNo.setLevelName(lastLevelName);
798
 				tpRoomNo.setLevelName(lastLevelName);
694
 				tpRoomNo.setName(tpBuildingOwnerInfo.getRoomNoName());
799
 				tpRoomNo.setName(tpBuildingOwnerInfo.getRoomNoName());
695
 				tpRoomNo.setCreateDate(LocalDateTime.now());
800
 				tpRoomNo.setCreateDate(LocalDateTime.now());
801
+				tpRoomNo.setCommunityId(communityId);
696
 
802
 
697
 				QueryWrapper<TpRoomNo> roomNoQueryWrapper = new QueryWrapper<>();
803
 				QueryWrapper<TpRoomNo> roomNoQueryWrapper = new QueryWrapper<>();
698
 				roomNoQueryWrapper.eq("org_id", orgId);
804
 				roomNoQueryWrapper.eq("org_id", orgId);

+ 63
- 0
src/main/java/com/huiju/estateagents/property/service/impl/TaUserCommunityServiceImpl.java 查看文件

1
+package com.huiju.estateagents.property.service.impl;
2
+
3
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
5
+import com.huiju.estateagents.property.entity.TaUserCommunity;
6
+import com.huiju.estateagents.property.entity.TpCommunity;
7
+import com.huiju.estateagents.property.mapper.TaUserCommunityMapper;
8
+import com.huiju.estateagents.property.mapper.TpCommunityMapper;
9
+import com.huiju.estateagents.property.service.ITaUserCommunityService;
10
+import org.springframework.beans.factory.annotation.Autowired;
11
+import org.springframework.stereotype.Service;
12
+
13
+import java.util.ArrayList;
14
+import java.util.List;
15
+
16
+
17
+/**
18
+ * <p>
19
+ *  服务实现类
20
+ * </p>
21
+ *
22
+ * @author yansen
23
+ * @since 2021-01-19
24
+ */
25
+@Service
26
+public class TaUserCommunityServiceImpl extends ServiceImpl<TaUserCommunityMapper, TaUserCommunity> implements ITaUserCommunityService {
27
+
28
+    @Autowired
29
+    TaUserCommunityMapper taUserCommunityMapper;
30
+
31
+    @Autowired
32
+    TpCommunityMapper tpCommunityMapper;
33
+
34
+    @Override
35
+    public List<TpCommunity> getListBy(Integer orgId, Integer userId) {
36
+        return tpCommunityMapper.getListOfUser(orgId, userId);
37
+    }
38
+
39
+    @Override
40
+    public boolean addUserCommunity(Integer orgId, Integer userId, List<TpCommunity> communityList) throws Exception {
41
+        if (null == orgId || null == userId || null == communityList) {
42
+            throw new Exception("未找到授权小区需要操作的记录");
43
+        }
44
+
45
+        // 先删除原有授权记录
46
+        QueryWrapper<TaUserCommunity> deleteQuery = new QueryWrapper<>();
47
+        deleteQuery.eq("org_id", orgId);
48
+        deleteQuery.eq("user_id", userId);
49
+        remove(deleteQuery);
50
+
51
+        // 新增记录
52
+        List<TaUserCommunity> list = new ArrayList<>();
53
+        for (TpCommunity community: communityList) {
54
+            TaUserCommunity userCommunity = new TaUserCommunity();
55
+            userCommunity.setOrgId(orgId);
56
+            userCommunity.setUserId(userId);
57
+            userCommunity.setCommunityId(community.getId());
58
+            list.add(userCommunity);
59
+        }
60
+
61
+        return saveBatch(list);
62
+    }
63
+}

+ 26
- 14
src/main/java/com/huiju/estateagents/property/service/impl/TaUserVerifyServiceImpl.java 查看文件

12
 import com.huiju.estateagents.event.EventBus;
12
 import com.huiju.estateagents.event.EventBus;
13
 import com.huiju.estateagents.mapper.TaPersonMapper;
13
 import com.huiju.estateagents.mapper.TaPersonMapper;
14
 import com.huiju.estateagents.property.common.Constant;
14
 import com.huiju.estateagents.property.common.Constant;
15
-import com.huiju.estateagents.property.common.UserElement;
16
 import com.huiju.estateagents.property.common.base.messagePush;
15
 import com.huiju.estateagents.property.common.base.messagePush;
17
 import com.huiju.estateagents.property.dao.*;
16
 import com.huiju.estateagents.property.dao.*;
18
 import com.huiju.estateagents.property.exception.WisdomException;
17
 import com.huiju.estateagents.property.exception.WisdomException;
20
 import com.huiju.estateagents.property.service.ITaUserVerifyService;
19
 import com.huiju.estateagents.property.service.ITaUserVerifyService;
21
 import lombok.extern.slf4j.Slf4j;
20
 import lombok.extern.slf4j.Slf4j;
22
 import org.apache.commons.lang3.StringUtils;
21
 import org.apache.commons.lang3.StringUtils;
23
-import org.apache.poi.ss.formula.functions.T;
24
 import org.springframework.beans.factory.annotation.Autowired;
22
 import org.springframework.beans.factory.annotation.Autowired;
25
 import org.springframework.context.ApplicationContext;
23
 import org.springframework.context.ApplicationContext;
26
 import org.springframework.stereotype.Service;
24
 import org.springframework.stereotype.Service;
27
 import org.springframework.transaction.annotation.Transactional;
25
 import org.springframework.transaction.annotation.Transactional;
28
 
26
 
29
 import java.time.LocalDateTime;
27
 import java.time.LocalDateTime;
30
-import java.util.Date;
31
-import java.util.HashMap;
32
 import java.util.List;
28
 import java.util.List;
33
 import java.util.Map;
29
 import java.util.Map;
34
 
30
 
78
     private ApplicationContext applicationContext;
74
     private ApplicationContext applicationContext;
79
 
75
 
80
     @Override
76
     @Override
81
-    public ResponseBean selectAll(String phone, String userName, String idCard, Integer pageNum, Integer pageSize, TaUser userElement) {
77
+    public ResponseBean selectAll(Integer communityId, String phone, String userName, String idCard, Integer pageNum, Integer pageSize, TaUser userElement) {
82
         ResponseBean responseBean = new ResponseBean();
78
         ResponseBean responseBean = new ResponseBean();
83
 
79
 
84
         Page<TaUserVerify> page = new Page<>();
80
         Page<TaUserVerify> page = new Page<>();
85
         page.setCurrent(pageNum);
81
         page.setCurrent(pageNum);
86
         page.setSize(pageSize);
82
         page.setSize(pageSize);
87
 
83
 
88
-        IPage<TaUserVerify> userVerifyIPage = taUserVerifyMapper.selectAllByPhoneAndUserNameAndIdCard(page, phone, userName, idCard, userElement.getOrgId());
84
+        IPage<TaUserVerify> userVerifyIPage = taUserVerifyMapper.selectAllByPhoneAndUserNameAndIdCard(page, communityId, phone, userName, idCard, userElement.getOrgId());
89
         responseBean.addSuccess(userVerifyIPage);
85
         responseBean.addSuccess(userVerifyIPage);
90
 
86
 
91
         return responseBean;
87
         return responseBean;
111
         userVerify.setVerifyStatus(status);
107
         userVerify.setVerifyStatus(status);
112
 
108
 
113
         // 校验房产
109
         // 校验房产
114
-        hasUserVerify(userElement, userVerify, true);
110
+//        hasUserVerify(userElement, userVerify, true);
111
+        // 2020年12月31日 yansen
112
+        hasUserVerify(userElement, userVerify, Integer.valueOf(1).equals(userVerify.getRoleId()));
113
+
115
 
114
 
116
         TaUser user = taUserMapper.selectById(userElement.getUserId());
115
         TaUser user = taUserMapper.selectById(userElement.getUserId());
117
 
116
 
248
         userVerify.setVerifyStatus(verifyStatus);
247
         userVerify.setVerifyStatus(verifyStatus);
249
 
248
 
250
         //判断审核数据是否冲突
249
         //判断审核数据是否冲突
251
-        hasUserVerify(userElement,  userVerify,  true);
250
+//        hasUserVerify(userElement,  userVerify,  true);
251
+        // 2020年12月31日 yansen
252
+        hasUserVerify(userElement,  userVerify,  Integer.valueOf(1).equals(userVerify.getRoleId()));
252
 
253
 
253
         // 被审核的用户
254
         // 被审核的用户
254
         TaPerson taPerson = taPersonMapper.selectById(userVerify.getPersonId());
255
         TaPerson taPerson = taPersonMapper.selectById(userVerify.getPersonId());
335
             return responseBean;
336
             return responseBean;
336
         }
337
         }
337
 
338
 
338
-        // 校验是否有审核通过的业主
339
-        TaUserVerify hasUserVerify = taUserVerifyMapper.selectWxCommunityAndAddressAndRoleId(taUserVerify.getOrgId(), taUserVerify.getPhaseId(), taUserVerify.getBuildingId(), taUserVerify.getUnitId(), taUserVerify.getLevelId(), taUserVerify.getRoomNoId());
340
-        if (null != hasUserVerify) {
341
-            responseBean.addError("此房产已存在户主!");
342
-            return responseBean;
339
+        if (Constant.OWNER.equals(roleName)){
340
+            // 校验是否有审核通过的业主
341
+            TaUserVerify hasUserVerify = taUserVerifyMapper.selectWxCommunityAndAddressAndRoleId(taUserVerify.getOrgId(), taUserVerify.getPhaseId(), taUserVerify.getBuildingId(), taUserVerify.getUnitId(), taUserVerify.getLevelId(), taUserVerify.getRoomNoId());
342
+            if (null != hasUserVerify) {
343
+                responseBean.addError("此房产已存在户主!");
344
+                return responseBean;
345
+            }
343
         }
346
         }
344
 
347
 
345
-
346
         // 校验该用户是否已经提交了一个当前房产的审核, 包含 待审核和已审核通过
348
         // 校验该用户是否已经提交了一个当前房产的审核, 包含 待审核和已审核通过
347
         List<TaUserVerify> userVerifyList = taUserVerifyMapper.selectCommunityAndAddressAndNotVerifyStatus2(taUserVerify.getPersonId(), taUserVerify.getOrgId(),
349
         List<TaUserVerify> userVerifyList = taUserVerifyMapper.selectCommunityAndAddressAndNotVerifyStatus2(taUserVerify.getPersonId(), taUserVerify.getOrgId(),
348
                 taUserVerify.getPhaseId(), taUserVerify.getBuildingId(), taUserVerify.getUnitId(),
350
                 taUserVerify.getPhaseId(), taUserVerify.getBuildingId(), taUserVerify.getUnitId(),
494
     public Page<Map<String, String>> getPropUserByBirday(Page<Map<String, String>> page, Integer orgId, String birthday) {
496
     public Page<Map<String, String>> getPropUserByBirday(Page<Map<String, String>> page, Integer orgId, String birthday) {
495
         return taUserVerifyMapper.getPropUserByBirday(page, orgId, birthday);
497
         return taUserVerifyMapper.getPropUserByBirday(page, orgId, birthday);
496
     }
498
     }
499
+
500
+    @Override
501
+    public List<Map<String, Object>> getVerifyMapList(Integer orgId, String startDate, String endDate) {
502
+        return taUserVerifyMapper.getVerifyMapList(orgId, startDate, endDate);
503
+    }
504
+
505
+    @Override
506
+    public int getNoVerifyNum(Integer orgId) {
507
+        return taUserVerifyMapper.getNoVerifyNum(orgId);
508
+    }
497
 }
509
 }

+ 5
- 0
src/main/java/com/huiju/estateagents/property/service/impl/TpAnnouncementServiceImpl.java 查看文件

65
         Integer announcementNumber = jsonobject.getInteger("announcementNumber");
65
         Integer announcementNumber = jsonobject.getInteger("announcementNumber");
66
         Integer pageSize = jsonobject.getInteger("pageSize");
66
         Integer pageSize = jsonobject.getInteger("pageSize");
67
         String announcementTitle = jsonobject.getString("announcementTitle");
67
         String announcementTitle = jsonobject.getString("announcementTitle");
68
+
68
         tpAnnouncement.setId(announcementNumber);
69
         tpAnnouncement.setId(announcementNumber);
69
         if (!StringUtils.isEmpty(announcementTitle)) {
70
         if (!StringUtils.isEmpty(announcementTitle)) {
70
             tpAnnouncement.setAnnouncementTitle(announcementTitle);
71
             tpAnnouncement.setAnnouncementTitle(announcementTitle);
74
             tpAnnouncement.setAnnType(annType);
75
             tpAnnouncement.setAnnType(annType);
75
         }
76
         }
76
 
77
 
78
+        tpAnnouncement.setStatus(jsonobject.getString("status"));
79
+        tpAnnouncement.setStartCreateDate(jsonobject.getString("startCreateDate"));
80
+        tpAnnouncement.setEndCreateDate(jsonobject.getString("endCreateDate"));
81
+
77
         // 分页
82
         // 分页
78
         Page<TpBuildingOwnerInfo> page = new Page<>();
83
         Page<TpBuildingOwnerInfo> page = new Page<>();
79
         page.setSize(pageSize == null ? 10 : pageSize);
84
         page.setSize(pageSize == null ? 10 : pageSize);

+ 32
- 0
src/main/java/com/huiju/estateagents/property/service/impl/TpCommunityServiceImpl.java 查看文件

1
+package com.huiju.estateagents.property.service.impl;
2
+
3
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4
+import com.huiju.estateagents.common.CommConstant;
5
+import com.huiju.estateagents.property.entity.TpCommunity;
6
+import com.huiju.estateagents.property.mapper.TpCommunityMapper;
7
+import com.huiju.estateagents.property.service.ITpCommunityService;
8
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
9
+import org.springframework.stereotype.Service;
10
+
11
+import java.util.List;
12
+
13
+/**
14
+ * <p>
15
+ *  服务实现类
16
+ * </p>
17
+ *
18
+ * @author yansen
19
+ * @since 2021-01-19
20
+ */
21
+@Service
22
+public class TpCommunityServiceImpl extends ServiceImpl<TpCommunityMapper, TpCommunity> implements ITpCommunityService {
23
+
24
+    @Override
25
+    public List<TpCommunity> getAllByOrg(Integer orgId) {
26
+        QueryWrapper<TpCommunity> queryWrapper = new QueryWrapper<>();
27
+        queryWrapper.eq("org_id", orgId);
28
+        queryWrapper.eq("status", CommConstant.STATUS_NORMAL);
29
+
30
+        return list(queryWrapper);
31
+    }
32
+}

+ 157
- 33
src/main/java/com/huiju/estateagents/property/service/impl/TpTicketServiceImpl.java 查看文件

11
 import com.huiju.estateagents.base.ResponseBean;
11
 import com.huiju.estateagents.base.ResponseBean;
12
 import com.huiju.estateagents.center.taUser.entity.TaUser;
12
 import com.huiju.estateagents.center.taUser.entity.TaUser;
13
 import com.huiju.estateagents.center.taUser.mapper.TaUserMapper;
13
 import com.huiju.estateagents.center.taUser.mapper.TaUserMapper;
14
+import com.huiju.estateagents.common.CommConstant;
15
+import com.huiju.estateagents.common.DateUtils;
16
+import com.huiju.estateagents.common.WxUtils;
17
+import com.huiju.estateagents.entity.TaMiniapp;
18
+import com.huiju.estateagents.entity.TaMpTemplate;
14
 import com.huiju.estateagents.entity.TaPerson;
19
 import com.huiju.estateagents.entity.TaPerson;
20
+import com.huiju.estateagents.mapper.TaMiniappMapper;
15
 import com.huiju.estateagents.mapper.TaPersonMapper;
21
 import com.huiju.estateagents.mapper.TaPersonMapper;
16
 import com.huiju.estateagents.property.common.Constant;
22
 import com.huiju.estateagents.property.common.Constant;
17
 import com.huiju.estateagents.property.dao.*;
23
 import com.huiju.estateagents.property.dao.*;
21
 import com.huiju.estateagents.property.model.*;
27
 import com.huiju.estateagents.property.model.*;
22
 import com.huiju.estateagents.property.service.TpTicketService;
28
 import com.huiju.estateagents.property.service.TpTicketService;
23
 import com.huiju.estateagents.property.vo.TpTicketVO;
29
 import com.huiju.estateagents.property.vo.TpTicketVO;
30
+import com.huiju.estateagents.redpack.entity.TaMpMiniapp;
31
+import com.huiju.estateagents.redpack.entity.TaMpPerson;
32
+import com.huiju.estateagents.redpack.mapper.TaMpMiniappMapper;
33
+import com.huiju.estateagents.redpack.mapper.TaMpPersonMapper;
34
+import com.huiju.estateagents.redpack.service.ITaMpPersonService;
35
+import com.huiju.estateagents.service.IMiniAppService;
24
 import com.huiju.estateagents.service.ISysSmsEventService;
36
 import com.huiju.estateagents.service.ISysSmsEventService;
37
+import com.huiju.estateagents.service.ITaMpTemplateService;
38
+import com.huiju.estateagents.service.ITaPersonService;
39
+import com.huiju.estateagents.third.entity.TaMpInfo;
40
+import com.huiju.estateagents.third.service.ITaMpInfoService;
41
+import me.chanjar.weixin.common.error.WxErrorException;
42
+import me.chanjar.weixin.mp.api.WxMpService;
43
+import me.chanjar.weixin.mp.bean.kefu.WxMpKefuMessage;
44
+import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage;
45
+import me.chanjar.weixin.mp.bean.template.WxMpTemplateData;
25
 import org.apache.commons.lang3.StringUtils;
46
 import org.apache.commons.lang3.StringUtils;
26
 import org.checkerframework.checker.units.qual.A;
47
 import org.checkerframework.checker.units.qual.A;
27
 import org.springframework.beans.BeanUtils;
48
 import org.springframework.beans.BeanUtils;
28
 import org.springframework.beans.factory.annotation.Autowired;
49
 import org.springframework.beans.factory.annotation.Autowired;
50
+import org.springframework.beans.factory.annotation.Value;
29
 import org.springframework.stereotype.Service;
51
 import org.springframework.stereotype.Service;
30
 import org.springframework.transaction.annotation.Transactional;
52
 import org.springframework.transaction.annotation.Transactional;
31
 
53
 
33
 import java.time.LocalDateTime;
55
 import java.time.LocalDateTime;
34
 import java.time.ZoneId;
56
 import java.time.ZoneId;
35
 import java.time.ZoneOffset;
57
 import java.time.ZoneOffset;
58
+import java.time.temporal.TemporalAdjusters;
36
 import java.util.*;
59
 import java.util.*;
37
 
60
 
38
 /**
61
 /**
83
     @Autowired
106
     @Autowired
84
     private ISysSmsEventService sysSmsEventService;
107
     private ISysSmsEventService sysSmsEventService;
85
 
108
 
109
+    @Autowired
110
+    ITaMpInfoService iTaMpInfoService;
111
+
112
+    @Autowired
113
+    ITaMpPersonService iTaMpPersonService;
114
+
115
+    @Autowired
116
+    ITaPersonService iTaPersonService;
117
+
118
+    @Autowired
119
+    private IMiniAppService iMiniAppService;
120
+
121
+    @Autowired
122
+    private ITaMpTemplateService iTaMpTemplateService;
123
+
124
+    @Autowired
125
+    WxUtils wxUtils;
126
+
127
+    @Value("${wx.miniapp.ticket}")
128
+    String miniAppTicket;
129
+
130
+    @Autowired
131
+    private TaMpMiniappMapper taMpMiniappMapper;
132
+
133
+    @Autowired
134
+    private TaMpPersonMapper taMpPersonMapper;
135
+
86
     @Override
136
     @Override
87
     public ResponseBean ticketLiset(String parameter,Integer orgId) {
137
     public ResponseBean ticketLiset(String parameter,Integer orgId) {
88
          ResponseBean response= new ResponseBean<>();
138
          ResponseBean response= new ResponseBean<>();
118
 
168
 
119
             TaPerson person =taPersonMapper.selectById(tpTicket.getCreateUser());
169
             TaPerson person =taPersonMapper.selectById(tpTicket.getCreateUser());
120
             tpTicketVO.setCreateUserNmae(StringUtils.isNotEmpty(person.getName()) ? person.getName() : person.getNickname());
170
             tpTicketVO.setCreateUserNmae(StringUtils.isNotEmpty(person.getName()) ? person.getName() : person.getNickname());
171
+
172
+            // 获取房产信息
173
+            LambdaQueryWrapper<TaUserVerify> userVerifyLambdaQueryWrapper = new LambdaQueryWrapper<>();
174
+            userVerifyLambdaQueryWrapper.eq(TaUserVerify::getPersonId,person.getPersonId());
175
+            List<TaUserVerify> taUserVerifies = taUserVerifyMapper.selectList(userVerifyLambdaQueryWrapper);
176
+            if (taUserVerifies.size() > 0){
177
+                TaUserVerify taUserVerify = taUserVerifies.get(0);
178
+                tpTicketVO.setAddress(taUserVerify.getPhaseName()+taUserVerify.getBuildingName()+taUserVerify.getUnitName()+taUserVerify.getLevelName()+taUserVerify.getRoomNoName());
179
+            }
180
+
121
             tpTicketArrayList.add(tpTicketVO);
181
             tpTicketArrayList.add(tpTicketVO);
122
         }
182
         }
123
         HashMap map=new HashMap<>();
183
         HashMap map=new HashMap<>();
298
         TpTicketRecord tpTicketRecord= new TpTicketRecord();
358
         TpTicketRecord tpTicketRecord= new TpTicketRecord();
299
         tpTicketRecord.setOrgId(orgId);
359
         tpTicketRecord.setOrgId(orgId);
300
         tpTicketRecord.setTicketId(ticketId);
360
         tpTicketRecord.setTicketId(ticketId);
301
-        tpTicketRecord.setContent("您的联系单已经分配给物业处理人员" + taUser.getUserName()+",联系方式:" + taUser.getLoginName());
361
+        tpTicketRecord.setContent("您的联系单已经分配给物业处理人员" + taUser.getUserName()+",联系方式:" + taUser.getPhone());
302
         tpTicketRecord.setStatus("3");
362
         tpTicketRecord.setStatus("3");
303
         tpTicketRecord.setCreateUser(user.toString());
363
         tpTicketRecord.setCreateUser(user.toString());
304
         tpTicketRecord.setCreateDate(LocalDateTime.now());
364
         tpTicketRecord.setCreateDate(LocalDateTime.now());
309
         queryWrapper.eq("id", ticketId);
369
         queryWrapper.eq("id", ticketId);
310
         queryWrapper.eq("org_id", orgId);
370
         queryWrapper.eq("org_id", orgId);
311
         TpTicket ticket = tpTicketMapper.selectOne(queryWrapper);
371
         TpTicket ticket = tpTicketMapper.selectOne(queryWrapper);
312
-        Message message = new Message();
313
-        message.setOrgId(orgId);
314
-        message.setMessageType(ticket.getType());
315
-        message.setTicketId(ticket.getId());
316
-        message.setAdviceType("4");
317
-        message.setUuid(userID.toString());
318
-        message.setModelType("2");
319
-        message.setUuidType("2");
320
-        message.setSource("2");
321
-        message.setMessageContent("工单“" + ticket.getTicketTitle() + "”已被分配给您,点击查看并处理");
322
-        message.setStatus("1");
323
-        message.setReadStatus("0");
324
-        message.setCreateUser(user.toString());
325
-        message.setCreateDate(LocalDateTime.now());
326
-        message.setTicketId(ticketId);
327
-//        messageMapper.insert(message);
328
-        //如果分配给本人维护消息模板
329
-        if (null!=userID&userID.equals(user)){
330
-            message.setModelType("1");
331
-//            messageMapper.insert(message);
372
+        // 发送消息给管家的公众号
373
+        LambdaQueryWrapper<TaPerson> taPersonLambdaQueryWrapper = new LambdaQueryWrapper<>();
374
+        taPersonLambdaQueryWrapper.eq(TaPerson::getOrgId,orgId);
375
+        taPersonLambdaQueryWrapper.eq(TaPerson::getUserId,taUser.getUserId());
376
+        TaPerson taPerson = taPersonMapper.selectOne(taPersonLambdaQueryWrapper);
377
+        if (null != taPerson){
378
+            LambdaQueryWrapper<TaMpMiniapp> taMpMiniappLambdaQueryWrapper = new LambdaQueryWrapper<>();
379
+            taMpMiniappLambdaQueryWrapper.eq(TaMpMiniapp::getMiniappPersonId,taPerson.getPersonId());
380
+            TaMpMiniapp taMpMiniapp = taMpMiniappMapper.selectOne(taMpMiniappLambdaQueryWrapper);
381
+            if (null != taMpMiniapp){
382
+                TaMpPerson taMpPerson = taMpPersonMapper.selectById(taMpMiniapp.getMpPersonId());
383
+                sendMpTicketMessage(ticket,taMpPerson);
384
+            }
385
+
332
         }
386
         }
333
-        //分配成功后推送app
334
-        message.setUuidType("1");
335
-        message.setUuid(ticket.getCreateUser());
336
-        message.setMessageContent("工单“" + ticket.getTicketTitle() + "”已被分配给:"+taUser.getUserName());
337
-        message.setAdviceType("1");
338
-//        messageMapper.insert(message);
387
+
339
         response.addSuccess("成功");
388
         response.addSuccess("成功");
340
         return response;
389
         return response;
341
     }
390
     }
342
 
391
 
392
+    /**
393
+     * 发送消息给管家
394
+     * @param ticket
395
+     * @param person
396
+     */
397
+    private void sendMpTicketMessage(TpTicket ticket,TaMpPerson person) {
398
+        WxMpService mpService = wxUtils.getMpService(ticket.getOrgId());
399
+
400
+        // 对应表数据
401
+        TaMpInfo mpInfo = iTaMpInfoService.getByOrgId(ticket.getOrgId());
402
+
403
+        TaMiniapp taMiniapp = iMiniAppService.getAppByOrg(mpInfo.getOrgId());
404
+
405
+        WxMpKefuMessage kefuMessage = WxMpKefuMessage.MINIPROGRAMPAGE().appId(taMiniapp.getMiniappId())
406
+                .toUser(person.getMpOpenid())
407
+                .title("您有一个新的工单待处理")
408
+                .pagePath(miniAppTicket + ticket.getId())
409
+                .thumbMediaId(mpInfo.getMiniappMedia())
410
+                .build();
411
+
412
+        try {
413
+            mpService.getKefuService().sendKefuMessage(kefuMessage);
414
+        } catch (WxErrorException e) {
415
+            e.printStackTrace();
416
+
417
+            // 如果客服消息发送失败, 则发送普通模板消息
418
+            List<TaMpTemplate> mpTemplateList = iTaMpTemplateService.getAvailableList(ticket.getOrgId(), CommConstant.TP_MESSAGE_TICKET);
419
+            if (null == mpTemplateList || mpTemplateList.size() < 1) {
420
+                return;
421
+            }
422
+            TaMpTemplate mpTemplate = mpTemplateList.get(0);
423
+
424
+            try {
425
+                TaPerson propOwner = iTaPersonService.getById(ticket.getPersonId());
426
+                String message = String.format("业主电话: %s ; 报修内容: %s", propOwner.getPhone(), ticket.getTicketTitle());
427
+                String remark = String.format("请及时进入【%s】小程序进行处理", taMiniapp.getName());
428
+
429
+                WxUtils.sendTemplateMessage(mpService,
430
+                        person.getMpOpenid(),
431
+                        mpTemplate.getTemplateCode(),
432
+                        null,
433
+                        new ArrayList<WxMpTemplateData>(){{
434
+                            add(new WxMpTemplateData("first", "工单提醒"));
435
+                            add(new WxMpTemplateData("keyword1", "您有一个新的工单"));
436
+                            add(new WxMpTemplateData("keyword2", DateUtils.today()));
437
+                            add(new WxMpTemplateData("keyword3", message));
438
+                            add(new WxMpTemplateData("remark", remark));
439
+                        }}
440
+                );
441
+            } catch (Exception e2) {
442
+                e2.printStackTrace();
443
+            }
444
+
445
+        }
446
+    }
447
+
343
     @Override
448
     @Override
344
     public ResponseBean addWxRecord(String parameter, Integer user, Integer orgId) {
449
     public ResponseBean addWxRecord(String parameter, Integer user, Integer orgId) {
345
         ResponseBean response=new ResponseBean();
450
         ResponseBean response=new ResponseBean();
362
         TpTicketRecord tpTicketRecord= new TpTicketRecord();
467
         TpTicketRecord tpTicketRecord= new TpTicketRecord();
363
         tpTicketRecord.setOrgId(orgId);
468
         tpTicketRecord.setOrgId(orgId);
364
         tpTicketRecord.setTicketId(ticketId);
469
         tpTicketRecord.setTicketId(ticketId);
365
-//        tpTicketRecord.setContent("您的联系单已经分配给物业处理人员" + userName.getUserName()+",联系方式:" + userName.getLoginName());
470
+//        tpTicketRecord.setContent("您的联系单已经分配给物业处理人员" + userName.getUserName()+",联系方式:" + userName.getPhone());
366
         tpTicketRecord.setContent("您的联系单已经分配给维修人员" + taUser.getUserName()+",联系方式:" + taUser.getPhone());
471
         tpTicketRecord.setContent("您的联系单已经分配给维修人员" + taUser.getUserName()+",联系方式:" + taUser.getPhone());
367
         tpTicketRecord.setStatus("3");
472
         tpTicketRecord.setStatus("3");
368
         tpTicketRecord.setCreateUser(user.toString());
473
         tpTicketRecord.setCreateUser(user.toString());
412
     }
517
     }
413
 
518
 
414
     @Override
519
     @Override
415
-    public ResponseBean updateTicketStatus(String parameter, Integer id,Integer orgId,String userName,String LoginName) {
520
+    public ResponseBean updateTicketStatus(String parameter, Integer id,Integer orgId,String userName,String phone) {
416
         /*拒绝处理仅在待分配的情况下修改,由前台控制拒绝处理的按钮是否显示*/
521
         /*拒绝处理仅在待分配的情况下修改,由前台控制拒绝处理的按钮是否显示*/
417
         ResponseBean response=  new ResponseBean();
522
         ResponseBean response=  new ResponseBean();
418
         JSONObject object= JSONObject.parseObject(parameter);
523
         JSONObject object= JSONObject.parseObject(parameter);
428
 
533
 
429
         TpTicketRecord tpTicketRecord= new TpTicketRecord();
534
         TpTicketRecord tpTicketRecord= new TpTicketRecord();
430
         tpTicketRecord.setTicketId(ticketId);
535
         tpTicketRecord.setTicketId(ticketId);
431
-        tpTicketRecord.setContent("您的报修被物业人员"+userName+"拒绝接受理,原因:"+textContent+",有问题可以联系"+userName+":联系方式:"+LoginName);
536
+        tpTicketRecord.setContent("您的报修被物业人员"+userName+"拒绝接受理,原因:"+textContent+",有问题可以联系"+userName+":联系方式:"+phone);
432
         tpTicketRecord.setOrgId(orgId);
537
         tpTicketRecord.setOrgId(orgId);
433
         tpTicketRecord.setStatus("1");
538
         tpTicketRecord.setStatus("1");
434
         tpTicketRecord.setCreateUser(id.toString());
539
         tpTicketRecord.setCreateUser(id.toString());
478
     }
583
     }
479
 
584
 
480
     @Override
585
     @Override
481
-    public ResponseBean updateTicket(String parameter, Integer id, Integer orgId, String userName,String longName) {
586
+    public ResponseBean updateTicket(String parameter, Integer id, Integer orgId, String userName,String phone) {
482
         ResponseBean response=new ResponseBean();
587
         ResponseBean response=new ResponseBean();
483
         JSONObject object= JSONObject.parseObject(parameter);
588
         JSONObject object= JSONObject.parseObject(parameter);
484
         String  content = object.getString("content");
589
         String  content = object.getString("content");
495
        TpTicket tpTicketUserID= tpTicketMapper.selectById(ticketId);
600
        TpTicket tpTicketUserID= tpTicketMapper.selectById(ticketId);
496
 //        User userNameTpUserId= userMapper.selectById(tpTicketUserID.getTpUserId());
601
 //        User userNameTpUserId= userMapper.selectById(tpTicketUserID.getTpUserId());
497
 //        TaUser taUser = taUserMapper.selectById(tpTicketUserID.getTaUserId());
602
 //        TaUser taUser = taUserMapper.selectById(tpTicketUserID.getTaUserId());
498
-        tpTicketRecord.setContent("物业工作人员"+userName+"已经处理结束,如果没有问题请给好评,联系方式:"+longName);
603
+        tpTicketRecord.setContent("物业工作人员"+userName+"已经处理结束,如果没有问题请给好评,联系方式:"+phone);
499
         tpTicketRecord.setStatus("4");
604
         tpTicketRecord.setStatus("4");
500
         tpTicketRecord.setCreateUser(id.toString());
605
         tpTicketRecord.setCreateUser(id.toString());
501
         tpTicketRecord.setCreateDate(LocalDateTime.now());
606
         tpTicketRecord.setCreateDate(LocalDateTime.now());
1119
 
1224
 
1120
         // 新建缴费项
1225
         // 新建缴费项
1121
         Bill bill = new Bill();
1226
         Bill bill = new Bill();
1227
+        bill.setIsTicket(true);
1122
         bill.setBillName(tpTicket.getTicketTitle());
1228
         bill.setBillName(tpTicket.getTicketTitle());
1123
         bill.setBillExplain(ticket.getPriceExplain());
1229
         bill.setBillExplain(ticket.getPriceExplain());
1124
-        bill.setEndDate(Date.from(LocalDateTime.now().plusMonths(1).atZone( ZoneId.systemDefault()).toInstant()));
1230
+        // 当前时间的下个月初 - 1秒 = 本月月末的最后时间
1231
+        bill.setEndDate(LocalDateTime.now().plusMonths(1).with(TemporalAdjusters.firstDayOfMonth()).minusSeconds(1));
1125
         bill.setPayPrice(ticket.getPrice().toString());
1232
         bill.setPayPrice(ticket.getPrice().toString());
1126
 
1233
 
1127
         bill.setPayedNum(0);
1234
         bill.setPayedNum(0);
1129
         bill.setCreateDate(new Date());
1236
         bill.setCreateDate(new Date());
1130
         bill.setCreateUser(userId);
1237
         bill.setCreateUser(userId);
1131
         bill.setOrgId(orgId);
1238
         bill.setOrgId(orgId);
1239
+        bill.setCommunityId(tpTicket.getCommunityId());
1132
         bill.setPayTotalNum(1);
1240
         bill.setPayTotalNum(1);
1133
         bill.setUnpayedNum(1);
1241
         bill.setUnpayedNum(1);
1134
         billMapper.insert(bill);
1242
         billMapper.insert(bill);
1136
         // 新增缴费单
1244
         // 新增缴费单
1137
         BillInvoice billInvoice = new BillInvoice();
1245
         BillInvoice billInvoice = new BillInvoice();
1138
         billInvoice.setOrgId(orgId);
1246
         billInvoice.setOrgId(orgId);
1247
+        billInvoice.setCommunityId(tpTicket.getCommunityId());
1139
         billInvoice.setBillId(bill.getId());
1248
         billInvoice.setBillId(bill.getId());
1140
 
1249
 
1141
         // 获取房间号
1250
         // 获取房间号
1222
 
1331
 
1223
         return ResponseBean.success(map);
1332
         return ResponseBean.success(map);
1224
     }
1333
     }
1334
+
1335
+    @Override
1336
+    public int getTicketNum(Integer orgId, String startDate, String endDate) {
1337
+        return tpTicketMapper.getTicketNum(orgId, startDate, endDate);
1338
+    }
1339
+
1340
+    @Override
1341
+    public List<Map<String, Object>> getTicketMapList(Integer orgId, String startDate, String endDate) {
1342
+        return tpTicketMapper.getTicketMapList(orgId, startDate, endDate);
1343
+    }
1344
+
1345
+    @Override
1346
+    public int getStartNum(Integer orgId) {
1347
+        return tpTicketMapper.getStartNum(orgId);
1348
+    }
1225
 }
1349
 }

+ 2
- 0
src/main/java/com/huiju/estateagents/property/vo/TpTicketVO.java 查看文件

87
     private Boolean isPay;
87
     private Boolean isPay;
88
 
88
 
89
     private List<TaUserVerify> userVerifyList;
89
     private List<TaUserVerify> userVerifyList;
90
+
91
+    private String address;
90
 }
92
 }

+ 3
- 0
src/main/java/com/huiju/estateagents/service/ITaBuildingDynamicService.java 查看文件

13
 import java.time.LocalDateTime;
13
 import java.time.LocalDateTime;
14
 import java.util.HashMap;
14
 import java.util.HashMap;
15
 import java.util.List;
15
 import java.util.List;
16
+import java.util.Map;
16
 
17
 
17
 /**
18
 /**
18
  * <p>
19
  * <p>
140
      * @return
141
      * @return
141
      */
142
      */
142
     ResponseBean iBuildingDynamicSelectedList(Integer pageNum, Integer pageSize, String name, String buildingId, Integer cityId, String isEnlist, LocalDateTime time, String title, Integer orgId, String activityStatus,List<TaPersonBuilding> personBuildingList);
143
     ResponseBean iBuildingDynamicSelectedList(Integer pageNum, Integer pageSize, String name, String buildingId, Integer cityId, String isEnlist, LocalDateTime time, String title, Integer orgId, String activityStatus,List<TaPersonBuilding> personBuildingList);
144
+
145
+    Map<String, Integer> getLastActEnlistNum(Integer orgId);
143
 }
146
 }

+ 2
- 0
src/main/java/com/huiju/estateagents/service/ITaPersonService.java 查看文件

118
                    TaCustomerFrom customerFrom) throws Exception;
118
                    TaCustomerFrom customerFrom) throws Exception;
119
 
119
 
120
     ResponseBean updateUserPhoto(String photoUrl, String openId);
120
     ResponseBean updateUserPhoto(String photoUrl, String openId);
121
+
122
+    IPage<TaPerson> getPersonBy(IPage<TaPerson> page, Integer orgId, String name, String phone, String recommended);
121
 }
123
 }

+ 2
- 0
src/main/java/com/huiju/estateagents/service/ITaPointsExchangeService.java 查看文件

19
 public interface ITaPointsExchangeService extends IService<TaPointsExchange> {
19
 public interface ITaPointsExchangeService extends IService<TaPointsExchange> {
20
 	
20
 	
21
 	ResponseBean selectList(Integer pageNum, Integer pageSize, TaPointsExchange taPointsExchange, List<TaPersonBuilding> taPersonBuildingList);
21
 	ResponseBean selectList(Integer pageNum, Integer pageSize, TaPointsExchange taPointsExchange, List<TaPersonBuilding> taPersonBuildingList);
22
+
23
+    int getTotalNum(Integer orgId);
22
 }
24
 }

+ 1
- 1
src/main/java/com/huiju/estateagents/service/ITpNewsService.java 查看文件

15
  */
15
  */
16
 public interface ITpNewsService extends IService<TpNews> {
16
 public interface ITpNewsService extends IService<TpNews> {
17
 
17
 
18
-    IPage<TpNews> getListBy(IPage<TpNews> page, Integer orgId, String newsName, Integer status,String newsTypeId);
18
+    IPage<TpNews> getListBy(IPage<TpNews> page, Integer orgId, String newsName, Integer status, String newsTypeId, String startCreateDate, String endCreateDate);
19
 }
19
 }

+ 6
- 4
src/main/java/com/huiju/estateagents/service/impl/TaBuildingDynamicServiceImpl.java 查看文件

31
 import java.time.LocalDateTime;
31
 import java.time.LocalDateTime;
32
 import java.time.ZoneId;
32
 import java.time.ZoneId;
33
 import java.time.ZoneOffset;
33
 import java.time.ZoneOffset;
34
-import java.util.ArrayList;
35
-import java.util.Date;
36
-import java.util.HashMap;
37
-import java.util.List;
34
+import java.util.*;
38
 
35
 
39
 /**
36
 /**
40
  * <p>
37
  * <p>
399
         return ResponseBean.success(hashMap);
396
         return ResponseBean.success(hashMap);
400
     }
397
     }
401
 
398
 
399
+    @Override
400
+    public Map<String, Integer> getLastActEnlistNum(Integer orgId) {
401
+        return taActivityDynamicEnlistMapper.getLastActEnlistNum(orgId);
402
+    }
403
+
402
     /**
404
     /**
403
      * 获取我的活动列表
405
      * 获取我的活动列表
404
      * @param pageNumber
406
      * @param pageNumber

+ 6
- 0
src/main/java/com/huiju/estateagents/service/impl/TaPersonServiceImpl.java 查看文件

950
         if (userList.size() > 0){
950
         if (userList.size() > 0){
951
             TaUser taUser = userList.get(0);
951
             TaUser taUser = userList.get(0);
952
             person.setPersonType(taUser.getType());
952
             person.setPersonType(taUser.getType());
953
+            person.setUserId(taUser.getUserId());
953
         }
954
         }
954
         updateById(person);
955
         updateById(person);
955
 
956
 
1322
         responseBean.addSuccess("修改成功");
1323
         responseBean.addSuccess("修改成功");
1323
         return responseBean;
1324
         return responseBean;
1324
     }
1325
     }
1326
+
1327
+    @Override
1328
+    public IPage<TaPerson> getPersonBy(IPage<TaPerson> page, Integer orgId, String name, String phone, String recommended) {
1329
+        return taPersonMapper.getPersonBy(page, orgId, name, phone, recommended);
1330
+    }
1325
 }
1331
 }

+ 5
- 0
src/main/java/com/huiju/estateagents/service/impl/TaPointsExchangeServiceImpl.java 查看文件

42
 		page.setRecords(list);
42
 		page.setRecords(list);
43
 		return ResponseBean.success(page);
43
 		return ResponseBean.success(page);
44
 	}
44
 	}
45
+
46
+	@Override
47
+	public int getTotalNum(Integer orgId) {
48
+		return taPointsExchangeMapper.getTotalNum(orgId);
49
+	}
45
 }
50
 }

+ 4
- 0
src/main/java/com/huiju/estateagents/service/impl/TaPointsRecordsServiceImpl.java 查看文件

523
         // 缴费金额乘以积分加积分
523
         // 缴费金额乘以积分加积分
524
         BillInvoice tpBillInvoice = tpBillInvoiceMapper.selectById(source.getTpBillInvoiceId());
524
         BillInvoice tpBillInvoice = tpBillInvoiceMapper.selectById(source.getTpBillInvoiceId());
525
         int money = tpBillInvoice.getPayPrice() / 100;
525
         int money = tpBillInvoice.getPayPrice() / 100;
526
+        if (money == 0) {
527
+            return;
528
+        }
529
+
526
         // 发放积分
530
         // 发放积分
527
         TaPerson person = taPersonMapper.selectById(source.getCreateUser());
531
         TaPerson person = taPersonMapper.selectById(source.getCreateUser());
528
         if (savePoints(person, changeType, null, pointsAmount * money, orgId)) {
532
         if (savePoints(person, changeType, null, pointsAmount * money, orgId)) {

+ 4
- 1
src/main/java/com/huiju/estateagents/service/impl/TpNewsServiceImpl.java 查看文件

22
 public class TpNewsServiceImpl extends ServiceImpl<TpNewsMapper, TpNews> implements ITpNewsService {
22
 public class TpNewsServiceImpl extends ServiceImpl<TpNewsMapper, TpNews> implements ITpNewsService {
23
 
23
 
24
     @Override
24
     @Override
25
-    public IPage<TpNews> getListBy(IPage<TpNews> page, Integer orgId, String newsName, Integer status,String newsTypeId) {
25
+    public IPage<TpNews> getListBy(IPage<TpNews> page, Integer orgId, String newsName, Integer status, String newsTypeId, String startCreateDate, String endCreateDate) {
26
         QueryWrapper<TpNews> queryWrapper = new QueryWrapper<>();
26
         QueryWrapper<TpNews> queryWrapper = new QueryWrapper<>();
27
         queryWrapper.eq("org_id", orgId);
27
         queryWrapper.eq("org_id", orgId);
28
         queryWrapper.eq(!StringUtils.isEmpty(newsTypeId),"news_type_id", newsTypeId);
28
         queryWrapper.eq(!StringUtils.isEmpty(newsTypeId),"news_type_id", newsTypeId);
29
         queryWrapper.eq(status != null, "status", status);
29
         queryWrapper.eq(status != null, "status", status);
30
         queryWrapper.gt(status == null, "status", CommConstant.STATUS_DELETE);
30
         queryWrapper.gt(status == null, "status", CommConstant.STATUS_DELETE);
31
         queryWrapper.like(!StringUtils.isEmpty(newsName), "news_name", "%" + newsName + "%");
31
         queryWrapper.like(!StringUtils.isEmpty(newsName), "news_name", "%" + newsName + "%");
32
+        if (!StringUtils.isEmpty(startCreateDate)){
33
+            queryWrapper.between("create_date",startCreateDate,endCreateDate);
34
+        }
32
         queryWrapper.orderByDesc("weight");
35
         queryWrapper.orderByDesc("weight");
33
         queryWrapper.orderByDesc("create_date");
36
         queryWrapper.orderByDesc("create_date");
34
 
37
 

+ 1
- 1
src/main/resources/application-dev.yml 查看文件

80
 
80
 
81
 # 支付回调
81
 # 支付回调
82
 pay-new-notify:
82
 pay-new-notify:
83
-  wx-bill-notify: https://a.t.njyunzhi.com/api/wxBillNotify
83
+  wx-bill-notify: https://xs.njyunzhi.com/api/wxBillNotify
84
   ali-bill-notify:
84
   ali-bill-notify:
85
   wx-car-notify:
85
   wx-car-notify:
86
   ali-car-notify:
86
   ali-car-notify:

+ 1
- 1
src/main/resources/application-prod.yml 查看文件

86
 
86
 
87
 # 支付回调
87
 # 支付回调
88
 pay-new-notify:
88
 pay-new-notify:
89
-  wx-bill-notify: https://a.t.njyunzhi.com/api/wxBillNotify
89
+  wx-bill-notify: https://xs.njyunzhi.com/api/wxBillNotify
90
   ali-bill-notify:
90
   ali-bill-notify:
91
   wx-car-notify:
91
   wx-car-notify:
92
   ali-car-notify:
92
   ali-car-notify:

+ 3
- 2
src/main/resources/application.yml 查看文件

14
 wx:
14
 wx:
15
   miniapp:
15
   miniapp:
16
     index: /pages/ShouYe/index
16
     index: /pages/ShouYe/index
17
+    ticket: /pages/WoDe/YeZhuBaoXiu/index?id=
17
   mp:
18
   mp:
18
-    festivalH5: https://xs.ycjcjy.com/jierih5.html
19
-    birthdayH5: https://xs.ycjcjy.com/shengrih5.html
19
+    festivalH5: https://xs.njyunzhi.com/jierih5.html
20
+    birthdayH5: https://xs.njyunzhi.com/shengrih5.html

+ 21
- 1
src/main/resources/mapper/TaActivityDynamicEnlistMapper.xml 查看文件

37
             select ifnull(sum( attend_num ), 0) from ta_activity_dynamic_enlist where dynamic_id = #{dynamicId} and org_id = #{orgId}
37
             select ifnull(sum( attend_num ), 0) from ta_activity_dynamic_enlist where dynamic_id = #{dynamicId} and org_id = #{orgId}
38
         </select>
38
         </select>
39
 
39
 
40
-    <select id="getTaActivityDynamicEnlistExport" resultType="com.huiju.estateagents.excel.TaActivityDynamicEnlistExport">
40
+    <select id="getTaActivityDynamicEnlistExport" resultType="com.huiju.estateagents.excel.HelpInitiateRecordSucceed">
41
 
41
 
42
         SELECT
42
         SELECT
43
         tade.*,
43
         tade.*,
66
         group by tade.person_id
66
         group by tade.person_id
67
         limit #{pageCode}, #{pageSize}
67
         limit #{pageCode}, #{pageSize}
68
     </select>
68
     </select>
69
+    <select id="getLastActEnlistNum" resultType="java.util.Map">
70
+        SELECT
71
+            t.dynamic_id as dynamicId,
72
+            t.title,
73
+            count( IFNULL( s.attend_num, 0 ) ) as num
74
+        FROM
75
+            ta_building_dynamic t
76
+            LEFT JOIN ta_activity_dynamic_enlist s ON s.dynamic_id = t.dynamic_id
77
+        WHERE
78
+            t.org_id = #{orgId}
79
+            AND t.end_date &gt;= now( )
80
+            AND t.start_date &lt;= now( )
81
+            AND t.`status` = 1
82
+            AND t.is_enlist = 1
83
+        GROUP BY
84
+            t.dynamic_id
85
+        ORDER BY
86
+            t.end_date DESC
87
+        LIMIT 1
88
+    </select>
69
 </mapper>
89
 </mapper>

+ 24
- 0
src/main/resources/mapper/TaPersonMapper.xml 查看文件

639
             INNER JOIN td_city b ON b.citycode = a.citycode
639
             INNER JOIN td_city b ON b.citycode = a.citycode
640
             AND b.leveltype = 2
640
             AND b.leveltype = 2
641
     </select>
641
     </select>
642
+    <select id="getPersonBy" resultType="com.huiju.estateagents.entity.TaPerson">
643
+        SELECT
644
+            t.*,
645
+            s.nickname AS share_person_name
646
+        FROM
647
+            ta_person t
648
+            LEFT JOIN ta_person s ON s.org_id = t.org_id
649
+            AND t.recommend_person = s.person_id
650
+        WHERE
651
+            t.org_id = #{orgId}
652
+        <if test="name != null and '' != name">
653
+            AND t.nickname LIKE CONCAT( '%', #{name}, '%' )
654
+        </if>
655
+        <if test="phone != null and '' != phone">
656
+            AND t.phone = 123
657
+        </if>
658
+        <if test="recommended != null and '' != recommended">
659
+            AND s.nickname LIKE CONCAT( '%', #{recommended}, '%' )
660
+        </if>
661
+            AND IFNULL( t.avatarurl, '' ) > ''
662
+            AND t.`status` > - 1
663
+        ORDER BY
664
+            t.create_date DESC
665
+    </select>
642
 
666
 
643
     <insert id="savePersonPosition" parameterType="com.huiju.estateagents.entity.TaPersonPositon">
667
     <insert id="savePersonPosition" parameterType="com.huiju.estateagents.entity.TaPersonPositon">
644
         insert into ta_person_position
668
         insert into ta_person_position

+ 0
- 0
src/main/resources/mapper/TaUserAuthMenuMapper.xml 查看文件


部分文件因文件數量過多而無法顯示