Kaynağa Gözat

Merge branch 'dev'

# Conflicts:
#	src/main/java/com/huiju/estateagents/controller/TaRecommendCustomerController.java
魏超 5 yıl önce
ebeveyn
işleme
3aae8822bc
92 değiştirilmiş dosya ile 6106 ekleme ve 767 silme
  1. 31
    23
      pom.xml
  2. 88
    0
      src/main/java/com/huiju/estateagents/bo/request/ContractRecordRequestBO.java
  3. 81
    5
      src/main/java/com/huiju/estateagents/common/CommConstant.java
  4. 22
    0
      src/main/java/com/huiju/estateagents/common/CommonUtils.java
  5. 22
    0
      src/main/java/com/huiju/estateagents/config/FadadaProperties.java
  6. 1
    1
      src/main/java/com/huiju/estateagents/controller/TaBuildingController.java
  7. 35
    3
      src/main/java/com/huiju/estateagents/controller/TaHousingResourcesController.java
  8. 63
    33
      src/main/java/com/huiju/estateagents/controller/TaOrgController.java
  9. 23
    11
      src/main/java/com/huiju/estateagents/controller/TaRaiseController.java
  10. 149
    0
      src/main/java/com/huiju/estateagents/controller/TaRaiseInviteController.java
  11. 8
    70
      src/main/java/com/huiju/estateagents/controller/TaRaiseRecordController.java
  12. 634
    0
      src/main/java/com/huiju/estateagents/eContract/controller/TaCompanyController.java
  13. 204
    0
      src/main/java/com/huiju/estateagents/eContract/controller/TaCompanyOrgController.java
  14. 251
    0
      src/main/java/com/huiju/estateagents/eContract/controller/TaCompanySealController.java
  15. 243
    0
      src/main/java/com/huiju/estateagents/eContract/controller/TaContractBusinessController.java
  16. 331
    0
      src/main/java/com/huiju/estateagents/eContract/controller/TaContractController.java
  17. 182
    0
      src/main/java/com/huiju/estateagents/eContract/controller/TaContractTemplateController.java
  18. 206
    0
      src/main/java/com/huiju/estateagents/eContract/controller/TaContractUserController.java
  19. 173
    0
      src/main/java/com/huiju/estateagents/eContract/entity/TaCompany.java
  20. 86
    0
      src/main/java/com/huiju/estateagents/eContract/entity/TaCompanyOrg.java
  21. 67
    0
      src/main/java/com/huiju/estateagents/eContract/entity/TaCompanySeal.java
  22. 202
    0
      src/main/java/com/huiju/estateagents/eContract/entity/TaContract.java
  23. 126
    0
      src/main/java/com/huiju/estateagents/eContract/entity/TaContractBusiness.java
  24. 62
    0
      src/main/java/com/huiju/estateagents/eContract/entity/TaContractTemplate.java
  25. 90
    0
      src/main/java/com/huiju/estateagents/eContract/entity/TaContractUser.java
  26. 24
    0
      src/main/java/com/huiju/estateagents/eContract/mapper/TaCompanyMapper.java
  27. 39
    0
      src/main/java/com/huiju/estateagents/eContract/mapper/TaCompanyOrgMapper.java
  28. 18
    0
      src/main/java/com/huiju/estateagents/eContract/mapper/TaCompanySealMapper.java
  29. 18
    0
      src/main/java/com/huiju/estateagents/eContract/mapper/TaContractBusinessMapper.java
  30. 47
    0
      src/main/java/com/huiju/estateagents/eContract/mapper/TaContractMapper.java
  31. 18
    0
      src/main/java/com/huiju/estateagents/eContract/mapper/TaContractTemplateMapper.java
  32. 18
    0
      src/main/java/com/huiju/estateagents/eContract/mapper/TaContractUserMapper.java
  33. 31
    0
      src/main/java/com/huiju/estateagents/eContract/service/ITaCompanyOrgService.java
  34. 16
    0
      src/main/java/com/huiju/estateagents/eContract/service/ITaCompanySealService.java
  35. 45
    0
      src/main/java/com/huiju/estateagents/eContract/service/ITaCompanyService.java
  36. 16
    0
      src/main/java/com/huiju/estateagents/eContract/service/ITaContractBusinessService.java
  37. 75
    0
      src/main/java/com/huiju/estateagents/eContract/service/ITaContractService.java
  38. 16
    0
      src/main/java/com/huiju/estateagents/eContract/service/ITaContractTemplateService.java
  39. 32
    0
      src/main/java/com/huiju/estateagents/eContract/service/ITaContractUserService.java
  40. 37
    0
      src/main/java/com/huiju/estateagents/eContract/service/impl/TaCompanyOrgServiceImpl.java
  41. 20
    0
      src/main/java/com/huiju/estateagents/eContract/service/impl/TaCompanySealServiceImpl.java
  42. 160
    0
      src/main/java/com/huiju/estateagents/eContract/service/impl/TaCompanySealUtil.java
  43. 294
    0
      src/main/java/com/huiju/estateagents/eContract/service/impl/TaCompanyServiceImpl.java
  44. 20
    0
      src/main/java/com/huiju/estateagents/eContract/service/impl/TaContractBusinessServiceImpl.java
  45. 305
    0
      src/main/java/com/huiju/estateagents/eContract/service/impl/TaContractServiceImpl.java
  46. 20
    0
      src/main/java/com/huiju/estateagents/eContract/service/impl/TaContractTemplateServiceImpl.java
  47. 177
    0
      src/main/java/com/huiju/estateagents/eContract/service/impl/TaContractUserServiceImpl.java
  48. 10
    0
      src/main/java/com/huiju/estateagents/entity/TaMiniapp.java
  49. 14
    2
      src/main/java/com/huiju/estateagents/entity/TaOrg.java
  50. 11
    0
      src/main/java/com/huiju/estateagents/entity/TaRaise.java
  51. 60
    0
      src/main/java/com/huiju/estateagents/entity/TaRaiseInvite.java
  52. 6
    0
      src/main/java/com/huiju/estateagents/entity/TaRaiseRecord.java
  53. 1
    0
      src/main/java/com/huiju/estateagents/interceptor/AccessInterceptor.java
  54. 7
    0
      src/main/java/com/huiju/estateagents/mapper/TaOrgMapper.java
  55. 18
    0
      src/main/java/com/huiju/estateagents/mapper/TaRaiseInviteMapper.java
  56. 2
    1
      src/main/java/com/huiju/estateagents/service/ITaBuildingService.java
  57. 1
    1
      src/main/java/com/huiju/estateagents/service/ITaHousingResourcesService.java
  58. 11
    0
      src/main/java/com/huiju/estateagents/service/ITaOrgService.java
  59. 16
    0
      src/main/java/com/huiju/estateagents/service/ITaRaiseInviteService.java
  60. 9
    1
      src/main/java/com/huiju/estateagents/service/ITaRaiseRecordService.java
  61. 10
    2
      src/main/java/com/huiju/estateagents/service/ITaRaiseService.java
  62. 43
    0
      src/main/java/com/huiju/estateagents/service/impl/MiniAppServiceImpl.java
  63. 45
    4
      src/main/java/com/huiju/estateagents/service/impl/TaBuildingServiceImpl.java
  64. 19
    1
      src/main/java/com/huiju/estateagents/service/impl/TaHousingResourcesServiceImpl.java
  65. 16
    0
      src/main/java/com/huiju/estateagents/service/impl/TaOrgServiceImpl.java
  66. 8
    5
      src/main/java/com/huiju/estateagents/service/impl/TaPreselectionRecordServiceImpl.java
  67. 20
    0
      src/main/java/com/huiju/estateagents/service/impl/TaRaiseInviteServiceImpl.java
  68. 143
    3
      src/main/java/com/huiju/estateagents/service/impl/TaRaiseRecordServiceImpl.java
  69. 46
    3
      src/main/java/com/huiju/estateagents/service/impl/TaRaiseServiceImpl.java
  70. 13
    2
      src/main/java/com/huiju/estateagents/service/impl/WxPayServiceImpl.java
  71. 15
    2
      src/main/resources/application-blue.yml
  72. 0
    74
      src/main/resources/application-dev.yml
  73. 15
    2
      src/main/resources/application-green.yml
  74. 0
    129
      src/main/resources/application-gzysd.yml
  75. 0
    52
      src/main/resources/application-hj.yml
  76. 0
    52
      src/main/resources/application-jj.yml
  77. 0
    75
      src/main/resources/application-nj.yml
  78. 15
    2
      src/main/resources/application-prod-blue.yml
  79. 15
    2
      src/main/resources/application-prod-green.yml
  80. 0
    74
      src/main/resources/application-rc.yml
  81. 0
    58
      src/main/resources/application-v3.yml
  82. 0
    74
      src/main/resources/application-xs.yml
  83. 22
    0
      src/main/resources/mapper/TaOrgMapper.xml
  84. 5
    0
      src/main/resources/mapper/TaRaiseInviteMapper.xml
  85. 25
    0
      src/main/resources/mapper/eContract/TaCompanyMapper.xml
  86. 43
    0
      src/main/resources/mapper/eContract/TaCompanyOrgMapper.xml
  87. 5
    0
      src/main/resources/mapper/eContract/TaCompanySealMapper.xml
  88. 5
    0
      src/main/resources/mapper/eContract/TaContractBusinessMapper.xml
  89. 129
    0
      src/main/resources/mapper/eContract/TaContractMapper.xml
  90. 5
    0
      src/main/resources/mapper/eContract/TaContractTemplateMapper.xml
  91. 5
    0
      src/main/resources/mapper/eContract/TaContractUserMapper.xml
  92. 447
    0
      src/test/java/com/huiju/estateagents/FdadaTest.java

+ 31
- 23
pom.xml Dosyayı Görüntüle

@@ -10,7 +10,7 @@
10 10
 	</parent>
11 11
 	<groupId>com.huiju</groupId>
12 12
 	<artifactId>estateagents</artifactId>
13
-	<version>v3.5.18</version>
13
+	<version>v3.5.19</version>
14 14
 	<name>estateages</name>
15 15
 	<description>置业经纪人</description>
16 16
 
@@ -128,19 +128,19 @@
128 128
 			<artifactId>springfox-swagger-ui</artifactId>
129 129
 			<version>2.7.0</version>
130 130
 		</dependency>
131
+
132
+
133
+		<dependency>
134
+			<groupId>fadada</groupId>
135
+			<artifactId>fadada_api_sdk</artifactId>
136
+			<version>2.4.0</version>
137
+			<scope>system</scope>
138
+			<systemPath>${basedir}/src/main/resources/lib/fadada_api_sdk_2.4.0.jar</systemPath>
139
+		</dependency>
131 140
 	</dependencies>
132 141
 
133 142
 
134 143
 	<profiles>
135
-<!--		<profile>-->
136
-<!--			<id>dev</id>-->
137
-<!--			<activation>-->
138
-<!--				<activeByDefault>true</activeByDefault>-->
139
-<!--			</activation>-->
140
-<!--			<properties>-->
141
-<!--				<profiles.active>dev</profiles.active>-->
142
-<!--			</properties>-->
143
-<!--		</profile>-->
144 144
 		<profile>
145 145
 			<id>green</id>
146 146
 			<properties>
@@ -174,17 +174,25 @@
174 174
 			</plugin>
175 175
 		</plugins>
176 176
 		<resources>
177
-			<resource>
178
-				<directory>src/main/resources</directory>
179
-				<filtering>true</filtering>
180
-				<includes>
181
-					<include>application.yml</include>
182
-					<include>application-${profiles.active}.yml</include>
183
-					<include>mapper/**/*.xml</include>
184
-					<include>log/*.xml</include>
185
-				</includes>
186
-			</resource>
187
-		</resources>
188
-	</build>
177
+				<resource>
178
+					<directory>${basedir}/src/main/resources/lib</directory>
179
+					<targetPath>BOOT-INF/lib/</targetPath>
180
+					<includes>
181
+						<include>**/*.jar</include>
182
+					</includes>
183
+				</resource>
184
+                <resource>
185
+                    <directory>src/main/resources</directory>
186
+                    <filtering>true</filtering>
187
+                    <includes>
188
+                        <include>application.yml</include>
189
+                        <include>application-${profiles.active}.yml</include>
190
+                        <include>mapper/**/*.xml</include>
191
+                        <include>log/*.xml</include>
192
+                        <include>lib/*.jar</include>
193
+                    </includes>
194
+                </resource>
195
+            </resources>
196
+        </build>
189 197
 
190
-</project>
198
+    </project>

+ 88
- 0
src/main/java/com/huiju/estateagents/bo/request/ContractRecordRequestBO.java Dosyayı Görüntüle

@@ -0,0 +1,88 @@
1
+package com.huiju.estateagents.bo.request;
2
+
3
+import lombok.Data;
4
+import org.springframework.format.annotation.DateTimeFormat;
5
+
6
+import java.time.LocalDate;
7
+
8
+/**
9
+ * 查询合同列表请求实体
10
+ */
11
+@Data
12
+public class ContractRecordRequestBO {
13
+
14
+    /**
15
+     * 页码
16
+     */
17
+    private Integer pageNum = 1;
18
+
19
+    /**
20
+     * 分页大小
21
+     */
22
+    private Integer pageSize = 10;
23
+
24
+    /**
25
+     * 公司名
26
+     */
27
+    private String companyName;
28
+
29
+    /**
30
+     * 公司编码
31
+     */
32
+    private String companyCode;
33
+
34
+    /**
35
+     * 组织名
36
+     */
37
+    private String orgName;
38
+
39
+    /**
40
+     * 小程序名
41
+     */
42
+    private String miniAppName;
43
+
44
+    /**
45
+     * 合同编号
46
+     */
47
+    private Integer contractId;
48
+
49
+    /**
50
+     * 合同名
51
+     */
52
+    private String contractName;
53
+
54
+    /**
55
+     * 渠道代理商
56
+     */
57
+    private String channelProxyName;
58
+
59
+    /**
60
+     * 是否结算
61
+     */
62
+    private Boolean settlement;
63
+
64
+    /**
65
+     * 甲方签署开始时间
66
+     */
67
+    @DateTimeFormat(iso = DateTimeFormat.ISO.DATE)
68
+    private LocalDate signatoryStartTime;
69
+
70
+    /**
71
+     * 甲方签署结束时间
72
+     */
73
+
74
+    @DateTimeFormat(iso = DateTimeFormat.ISO.DATE)
75
+    private LocalDate signatoryEndTime;
76
+
77
+    /**
78
+     * 结算开始时间
79
+     */
80
+    @DateTimeFormat(iso = DateTimeFormat.ISO.DATE)
81
+    private LocalDate settlementStartTime;
82
+
83
+    /**
84
+     * 结算结束时间
85
+     */
86
+    @DateTimeFormat(iso = DateTimeFormat.ISO.DATE)
87
+    private LocalDate settlementEndTime;
88
+}

+ 81
- 5
src/main/java/com/huiju/estateagents/common/CommConstant.java Dosyayı Görüntüle

@@ -36,27 +36,27 @@ public class CommConstant {
36 36
     /**
37 37
      * 状态: 正常
38 38
      */
39
-    public final static int STATUS_NORMAL = 1;
39
+    public final static Integer STATUS_NORMAL = 1;
40 40
 
41 41
     /**
42 42
      * 状态: 删除
43 43
      */
44
-    public final static int STATUS_DELETE = -1;
44
+    public final static Integer STATUS_DELETE = -1;
45 45
 
46 46
     /**
47 47
      * 状态: 关闭、禁用
48 48
      */
49
-    public final static int STATUS_CLOSED = 9;
49
+    public final static Integer STATUS_CLOSED = 9;
50 50
 
51 51
     /**
52 52
      * 消息未读
53 53
      */
54
-    public final static int MESSAGE_UNREAD = 0;
54
+    public final static Integer MESSAGE_UNREAD = 0;
55 55
 
56 56
     /**
57 57
      * 消息已读
58 58
      */
59
-    public final static int MESSAGE_READED = 1;
59
+    public final static Integer MESSAGE_READED = 1;
60 60
 
61 61
     /**
62 62
      * 点赞置业卡片
@@ -473,6 +473,12 @@ public class CommConstant {
473 473
      */
474 474
     public static final String MESSAGE_CONTENT_OF_HOUSE = "house";
475 475
 
476
+    /**
477
+     * 合同签订通知
478
+     * 必须存在表   td_miniapp_template_type 中
479
+     */
480
+    public static final String MESSAGE_CONTRACT_SIGNING = "contract-signing";
481
+
476 482
     /**
477 483
      * 活动以结束
478 484
      */
@@ -738,4 +744,74 @@ public class CommConstant {
738 744
      * 样例类型H5
739 745
      */
740 746
     public static final String NOTICE_TYPE_H5 = "H5";
747
+
748
+    /**
749
+     * 法大大账户类型  2 企业
750
+     */
751
+    public static final String ACCOUNT_TYPE_COMPANY = "2";
752
+
753
+    /**
754
+     * 企业在法大大的状态  已注册
755
+     */
756
+    public static final String CERTIFIED_STATUS_REGISTERED = "registered";
757
+
758
+    /**
759
+     * 企业在法大大的状态  认证中
760
+     */
761
+    public static final String CERTIFIED_STATUS_CERTIFICATION = "certification";
762
+
763
+    /**
764
+     * 企业认证人员的身份 法人
765
+     */
766
+    public static final String COMPANY_MANAGER_TYPE_LEGAL = "legal";
767
+
768
+
769
+    /**
770
+     * 企业认证人员的身份 代理人
771
+     */
772
+    public static final String COMPANY_MANAGER_TYPE_AGENT = "agent";
773
+
774
+    /**
775
+     * 企业认证人员的身份 1 法人
776
+     */
777
+    public static final String COMPANY_PRINCIPAL_TYPE_LEGAL = "1";
778
+
779
+    /**
780
+     * 企业认证人员的身份 2 代理人
781
+     */
782
+    public static final String COMPANY_PRINCIPAL_TYPE_AGENT = "2";
783
+
784
+    /**
785
+     * 授权类型 1自动签
786
+     */
787
+    public static final Integer AUTH_TYPE = 1;
788
+
789
+    /**
790
+     * 合同关联业务类型
791
+     */
792
+    public static final String AUTH = "auth";
793
+
794
+    /**
795
+     * 接口线上授权
796
+     */
797
+    public static final String ONLINEAUTH = "onLine";
798
+
799
+    /**
800
+     * 企业实名状态
801
+     */
802
+    public static final Integer REAL_NAME_STATUS = 4;
803
+
804
+    /**
805
+     * 已授权自动签章
806
+     */
807
+    public static final String AUTO_AUTH_STATUS = "3000";
808
+
809
+    public static final String AUTO_UNAUTH_STATUS = "3001";
810
+
811
+    public static final String  AUTH_SUCCESS_DESC = "签章成功";
812
+
813
+    /**
814
+     * 审核通过
815
+     */
816
+    public static final Integer STATUS_VERIFY_PASS = 4;
741 817
 }

+ 22
- 0
src/main/java/com/huiju/estateagents/common/CommonUtils.java Dosyayı Görüntüle

@@ -0,0 +1,22 @@
1
+package com.huiju.estateagents.common;
2
+
3
+import java.util.regex.Matcher;
4
+import java.util.regex.Pattern;
5
+
6
+public class CommonUtils {
7
+    /**
8
+     * 金额校验
9
+     *
10
+     * @param str
11
+     * @return
12
+     */
13
+    public static boolean isAmount(String str) {
14
+        Pattern pattern = Pattern.compile("^(([1-9]{1}\\d*)|([0]{1}))(\\.(\\d){0,2})?$"); // 判断小数点后2位的数字的正则表达式
15
+        Matcher match = pattern.matcher(str);
16
+        if (match.matches() == false) {
17
+            return false;
18
+        } else {
19
+            return true;
20
+        }
21
+    }
22
+}

+ 22
- 0
src/main/java/com/huiju/estateagents/config/FadadaProperties.java Dosyayı Görüntüle

@@ -0,0 +1,22 @@
1
+package com.huiju.estateagents.config;
2
+
3
+
4
+import lombok.Data;
5
+import org.springframework.boot.context.properties.ConfigurationProperties;
6
+import org.springframework.stereotype.Component;
7
+
8
+@Component
9
+@Data
10
+@ConfigurationProperties(prefix = "fadada")
11
+public class FadadaProperties {
12
+    private String appId;
13
+    private String appSecret;
14
+    private String version;
15
+    private String authServeHost;
16
+    private String serveHost;
17
+    private String companyNotify;
18
+    private String authReturnUrl;
19
+    private String authNotifyUrl;
20
+    private String signNotify;
21
+    private String redirectUrl;
22
+}

+ 1
- 1
src/main/java/com/huiju/estateagents/controller/TaBuildingController.java Dosyayı Görüntüle

@@ -368,7 +368,7 @@ public class TaBuildingController extends BaseController {
368 368
             return ResponseBean.error("当前账户信息异常, 清除缓存重试", ResponseBean.ERROR_UNAVAILABLE);
369 369
         }
370 370
         TaPerson person = persons.get(0);
371
-        return taBuildingService.buildingAllSelectId(id, person.getPersonId(), orgId);
371
+        return taBuildingService.buildingAllSelectId(id, person, orgId);
372 372
     }
373 373
 
374 374
     /**

+ 35
- 3
src/main/java/com/huiju/estateagents/controller/TaHousingResourcesController.java Dosyayı Görüntüle

@@ -59,6 +59,15 @@ public class TaHousingResourcesController extends BaseController {
59 59
     @Autowired
60 60
     public ITaSalesBatchService taSalesBatchService;
61 61
 
62
+    @Autowired
63
+    private ITaRaiseService iTaRaiseService;
64
+
65
+    @Autowired
66
+    ITaPersonService iTaPersonService;
67
+
68
+    @Autowired
69
+    private ITaRaiseInviteService iTaRaiseInviteService;
70
+
62 71
     /**
63 72
      * 分页查询列表
64 73
      *
@@ -240,12 +249,35 @@ public class TaHousingResourcesController extends BaseController {
240 249
                                              HttpServletRequest request) {
241 250
         ResponseBean responseBean = new ResponseBean();
242 251
         Integer orgId = getOrgId(request);
252
+        String openid = getOpenId(request);
243 253
         String personId = getPersonId(request);
244
-
254
+        List<TaPerson> persons = iTaPersonService.getPersonsByOpenId(openid);
255
+        if (null == persons || persons.size() == 0) {
256
+            return ResponseBean.error("当前账户信息异常, 清除缓存重试", ResponseBean.ERROR_UNAVAILABLE);
257
+        }
258
+        TaPerson person = persons.get(0);
245 259
         logger.info("TaHouseingResourcesController.listHousingResources 接收参数:orgId:{},salesBatchId:{},startPrice:{},endPrice:{},apartmentId:{},source:{}",
246 260
                 orgId, salesBatchId, startPrice, endPrice, apartmentId, source);
247 261
 
248 262
         try {
263
+            // 查询批次下认筹是否开启邀请制
264
+            QueryWrapper<TaRaise> taRaiseQueryWrapper = new QueryWrapper<>();
265
+            taRaiseQueryWrapper.eq("org_id", orgId);
266
+            taRaiseQueryWrapper.eq("sales_batch_id", salesBatchId);
267
+            taRaiseQueryWrapper.eq("status", CommConstant.STATUS_NORMAL);
268
+            TaRaise taRaise = iTaRaiseService.getOne(taRaiseQueryWrapper);
269
+
270
+            if (null != taRaise && CommConstant.STATUS_NORMAL == taRaise.getInvite()) {
271
+                // 若开启邀请制,校验该用户是否在邀请列表中
272
+                QueryWrapper<TaRaiseInvite> taRaiseInviteQueryWrapper = new QueryWrapper<>();
273
+                taRaiseInviteQueryWrapper.eq("org_id", orgId);
274
+                taRaiseInviteQueryWrapper.eq("invite_tel", person.getPhone());
275
+                taRaiseInviteQueryWrapper.eq("sales_batch_id", salesBatchId);
276
+                TaRaiseInvite taRaiseInvite = iTaRaiseInviteService.getOne(taRaiseInviteQueryWrapper);
277
+                if (null == taRaiseInvite) {
278
+                    return ResponseBean.error("仅限被邀请用户查看房源",ResponseBean.ERROR_ILLEGAL_PARAMS);
279
+                }
280
+            }
249 281
             //获取所有楼房的预选热度和认筹热度
250 282
             List<TaHousingResourcesPO> taHousingResourcesPOList = iTaHousingResourcesService.listHousingResources(orgId, salesBatchId, startPrice, endPrice, apartmentId, personId, source);
251 283
             //此处处理我的预选,我的认筹,和我的锁定
@@ -378,8 +410,8 @@ public class TaHousingResourcesController extends BaseController {
378 410
             }
379 411
             responseBean.addError("当前房源已下架");
380 412
         } catch (Exception e) {
381
-            logger.error("getHousingDetailById -=- {}", e);
382
-            responseBean.addError(e.getMessage());
413
+            logger.error("根据房源ID获取房源详情 -=- {}", e);
414
+            return ResponseBean.error(e.getMessage(),ResponseBean.ERROR_ILLEGAL_PARAMS);
383 415
         }
384 416
         return responseBean;
385 417
     }

+ 63
- 33
src/main/java/com/huiju/estateagents/controller/TaOrgController.java Dosyayı Görüntüle

@@ -1,5 +1,6 @@
1 1
 package com.huiju.estateagents.controller;
2 2
 
3
+import com.alibaba.fastjson.JSONObject;
3 4
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4 5
 import com.baomidou.mybatisplus.core.metadata.IPage;
5 6
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -14,8 +15,8 @@ import org.springframework.web.bind.annotation.*;
14 15
 
15 16
 /**
16 17
  * <p>
17
-    * 公司表  前端控制器
18
-    * </p>
18
+ * 公司表  前端控制器
19
+ * </p>
19 20
  *
20 21
  * @author jobob
21 22
  * @since 2019-09-11
@@ -32,25 +33,26 @@ public class TaOrgController extends BaseController {
32 33
 
33 34
     /**
34 35
      * 分页查询列表
36
+     *
35 37
      * @param pageNum
36 38
      * @param pageSize
37 39
      * @return
38 40
      */
39
-    @RequestMapping(value="/center/taOrg",method= RequestMethod.GET)
40
-    public ResponseBean taOrgList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
41
-									 @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize){
41
+    @RequestMapping(value = "/center/taOrg", method = RequestMethod.GET)
42
+    public ResponseBean taOrgList(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
43
+                                  @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) {
42 44
         ResponseBean responseBean = new ResponseBean();
43 45
         try {
44 46
             //使用分页插件
45
-		    IPage<TaOrg> pg = new Page<>(pageNum, pageSize);
47
+            IPage<TaOrg> pg = new Page<>(pageNum, pageSize);
46 48
             QueryWrapper<TaOrg> queryWrapper = new QueryWrapper<>();
47 49
             queryWrapper.orderByDesc("create_date");
48 50
 
49 51
             IPage<TaOrg> result = iTaOrgService.page(pg, queryWrapper);
50 52
             responseBean.addSuccess(result);
51
-        }catch (Exception e){
53
+        } catch (Exception e) {
52 54
             e.printStackTrace();
53
-            logger.error("taOrgList -=- {}",e.toString());
55
+            logger.error("taOrgList -=- {}", e.toString());
54 56
             responseBean.addError(e.getMessage());
55 57
         }
56 58
         return responseBean;
@@ -58,21 +60,22 @@ public class TaOrgController extends BaseController {
58 60
 
59 61
     /**
60 62
      * 保存对象
63
+     *
61 64
      * @param taOrg 实体对象
62 65
      * @return
63 66
      */
64
-    @RequestMapping(value="/center/taOrg",method= RequestMethod.POST)
65
-    public ResponseBean taOrgAdd(@RequestBody TaOrg taOrg){
67
+    @RequestMapping(value = "/center/taOrg", method = RequestMethod.POST)
68
+    public ResponseBean taOrgAdd(@RequestBody TaOrg taOrg) {
66 69
         ResponseBean responseBean = new ResponseBean();
67 70
         try {
68
-            if (iTaOrgService.save(taOrg)){
71
+            if (iTaOrgService.save(taOrg)) {
69 72
                 responseBean.addSuccess(taOrg);
70
-            }else {
73
+            } else {
71 74
                 responseBean.addError("fail");
72 75
             }
73
-        }catch (Exception e){
76
+        } catch (Exception e) {
74 77
             e.printStackTrace();
75
-            logger.error("taOrgAdd -=- {}",e.toString());
78
+            logger.error("taOrgAdd -=- {}", e.toString());
76 79
             responseBean.addError(e.getMessage());
77 80
         }
78 81
         return responseBean;
@@ -80,21 +83,22 @@ public class TaOrgController extends BaseController {
80 83
 
81 84
     /**
82 85
      * 根据id删除对象
83
-     * @param id  实体ID
86
+     *
87
+     * @param id 实体ID
84 88
      */
85 89
     @ResponseBody
86
-    @RequestMapping(value="/taOrg/{id}", method= RequestMethod.DELETE)
87
-    public ResponseBean taOrgDelete(@PathVariable Integer id){
90
+    @RequestMapping(value = "/taOrg/{id}", method = RequestMethod.DELETE)
91
+    public ResponseBean taOrgDelete(@PathVariable Integer id) {
88 92
         ResponseBean responseBean = new ResponseBean();
89 93
         try {
90
-            if(iTaOrgService.removeById(id)){
94
+            if (iTaOrgService.removeById(id)) {
91 95
                 responseBean.addSuccess("success");
92
-            }else {
96
+            } else {
93 97
                 responseBean.addError("fail");
94 98
             }
95
-        }catch (Exception e){
99
+        } catch (Exception e) {
96 100
             e.printStackTrace();
97
-            logger.error("taOrgDelete -=- {}",e.toString());
101
+            logger.error("taOrgDelete -=- {}", e.toString());
98 102
             responseBean.addError(e.getMessage());
99 103
         }
100 104
         return responseBean;
@@ -102,24 +106,25 @@ public class TaOrgController extends BaseController {
102 106
 
103 107
     /**
104 108
      * 修改对象
105
-     * @param id  实体ID
109
+     *
110
+     * @param id    实体ID
106 111
      * @param taOrg 实体对象
107 112
      * @return
108 113
      */
109
-    @RequestMapping(value="/taOrg/{id}",method= RequestMethod.PUT)
114
+    @RequestMapping(value = "/taOrg/{id}", method = RequestMethod.PUT)
110 115
     public ResponseBean taOrgUpdate(@PathVariable Integer id,
111
-                                        @RequestBody TaOrg taOrg){
116
+                                    @RequestBody TaOrg taOrg) {
112 117
         ResponseBean responseBean = new ResponseBean();
113 118
         try {
114 119
             taOrg.setOrgId(id);
115
-            if (iTaOrgService.updateById(taOrg)){
120
+            if (iTaOrgService.updateById(taOrg)) {
116 121
                 responseBean.addSuccess(taOrg);
117
-            }else {
122
+            } else {
118 123
                 responseBean.addError("fail");
119 124
             }
120
-        }catch (Exception e){
125
+        } catch (Exception e) {
121 126
             e.printStackTrace();
122
-            logger.error("taOrgUpdate -=- {}",e.toString());
127
+            logger.error("taOrgUpdate -=- {}", e.toString());
123 128
             responseBean.addError(e.getMessage());
124 129
         }
125 130
         return responseBean;
@@ -127,16 +132,41 @@ public class TaOrgController extends BaseController {
127 132
 
128 133
     /**
129 134
      * 根据id查询对象
130
-     * @param id  实体ID
135
+     *
136
+     * @param id 实体ID
131 137
      */
132
-    @RequestMapping(value="/center/taOrg/{id}",method= RequestMethod.GET)
133
-    public ResponseBean taOrgGet(@PathVariable Integer id){
138
+    @RequestMapping(value = "/center/taOrg/{id}", method = RequestMethod.GET)
139
+    public ResponseBean taOrgGet(@PathVariable Integer id) {
134 140
         ResponseBean responseBean = new ResponseBean();
135 141
         try {
136 142
             responseBean.addSuccess(iTaOrgService.getById(id));
137
-        }catch (Exception e){
143
+        } catch (Exception e) {
138 144
             e.printStackTrace();
139
-            logger.error("taOrgDelete -=- {}",e.toString());
145
+            logger.error("taOrgDelete -=- {}", e.toString());
146
+            responseBean.addError(e.getMessage());
147
+        }
148
+        return responseBean;
149
+    }
150
+
151
+    /**
152
+     * 条件查询组织列表
153
+     *
154
+     * @param pageNum
155
+     * @param pageSize
156
+     * @param orgName
157
+     * @param miniAppName
158
+     * @return
159
+     */
160
+    @RequestMapping(value = "/api/channel/contract/listOrg", method = RequestMethod.GET)
161
+    public ResponseBean listOrgForContract(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
162
+                                           @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
163
+                                           String orgName, String miniAppName) {
164
+        ResponseBean responseBean = new ResponseBean();
165
+        try {
166
+            responseBean = iTaOrgService.listOrgForContract(pageNum, pageSize, orgName, miniAppName);
167
+            logger.info("TaOrgController.listOrgForContract 返回结果:", JSONObject.toJSONString(responseBean));
168
+        } catch (Exception e) {
169
+            logger.error("TaOrgController.listOrgForContract 异常:", e);
140 170
             responseBean.addError(e.getMessage());
141 171
         }
142 172
         return responseBean;

+ 23
- 11
src/main/java/com/huiju/estateagents/controller/TaRaiseController.java Dosyayı Görüntüle

@@ -7,13 +7,13 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
7 7
 import com.huiju.estateagents.base.BaseController;
8 8
 import com.huiju.estateagents.base.ResponseBean;
9 9
 import com.huiju.estateagents.common.CommConstant;
10
+import com.huiju.estateagents.common.StringUtils;
10 11
 import com.huiju.estateagents.entity.TaPersonBuilding;
11 12
 import com.huiju.estateagents.entity.TaRaise;
13
+import com.huiju.estateagents.entity.TaRaiseInvite;
12 14
 import com.huiju.estateagents.entity.TaSalesBatch;
13
-import com.huiju.estateagents.service.ITaRaiseService;
14
-import com.huiju.estateagents.service.ITaSalesBatchService;
15
-import com.huiju.estateagents.service.ITaSaveService;
16
-import com.huiju.estateagents.service.ITdCityService;
15
+import com.huiju.estateagents.service.*;
16
+import com.huiju.estateagents.service.impl.TaRaiseInviteServiceImpl;
17 17
 import io.swagger.models.auth.In;
18 18
 import org.slf4j.Logger;
19 19
 import org.slf4j.LoggerFactory;
@@ -21,7 +21,9 @@ import org.springframework.beans.factory.annotation.Autowired;
21 21
 import org.springframework.web.bind.annotation.*;
22 22
 
23 23
 import javax.servlet.http.HttpServletRequest;
24
+import java.lang.reflect.Array;
24 25
 import java.time.LocalDateTime;
26
+import java.util.ArrayList;
25 27
 import java.util.List;
26 28
 
27 29
 /**
@@ -47,6 +49,9 @@ public class TaRaiseController extends BaseController {
47 49
     @Autowired
48 50
     public ITaSalesBatchService iTaSalesBatchService;
49 51
 
52
+    @Autowired
53
+    private TaRaiseInviteServiceImpl iTaRaiseInviteService;
54
+
50 55
     /**
51 56
      * 获取认筹列表
52 57
      *
@@ -136,27 +141,29 @@ public class TaRaiseController extends BaseController {
136 141
                 return responseBean;
137 142
             }
138 143
 
139
-            //获取销售批次状态
144
+            // 获取销售批次状态
140 145
             TaSalesBatch taSalesBatch = new TaSalesBatch();
141
-            if (taRaise.getSalesBatchId() != null){
146
+            if (taRaise.getSalesBatchId() != null) {
142 147
                 QueryWrapper<TaSalesBatch> taSalesBatchQueryWrapper = new QueryWrapper<>();
143 148
                 taSalesBatchQueryWrapper.eq("sales_batch_id", taRaise.getSalesBatchId());
144 149
                 taSalesBatch = iTaSalesBatchService.getOne(taSalesBatchQueryWrapper);
145
-
146 150
             }
147 151
 
148 152
             taRaise.setOrgId(orgId);
149
-            taRaise.setRaisePrice(taRaise.getRaisePrice() != null ? taRaise.getRaisePrice() : null );
153
+            taRaise.setRaisePrice(taRaise.getRaisePrice() != null ? taRaise.getRaisePrice() : null);
150 154
             taRaise.setStatus(taSalesBatch.getStatus());
151 155
             taRaise.setCreateDate(LocalDateTime.now());
152 156
             if (iTaRaiseService.save(taRaise)) {
157
+                // 为邀请制,添加认筹被邀请清单
158
+                if (CommConstant.STATUS_NORMAL == taRaise.getInvite()) {
159
+                    iTaRaiseService.saveOrUpdateInvite(taRaise, getOrgId(request), true);
160
+                }
153 161
                 responseBean.addSuccess(taRaise);
154 162
             } else {
155 163
                 responseBean.addError("fail");
156 164
             }
157 165
         } catch (Exception e) {
158
-            e.printStackTrace();
159
-            logger.error("taRaiseAdd -=- {}", e.toString());
166
+            logger.error("taRaiseAdd -=- {}", e);
160 167
             responseBean.addError(e.getMessage());
161 168
         }
162 169
         return responseBean;
@@ -217,7 +224,8 @@ public class TaRaiseController extends BaseController {
217 224
      */
218 225
     @RequestMapping(value = "/admin/taRaise/{id}", method = RequestMethod.PUT)
219 226
     public ResponseBean taRaiseUpdate(@PathVariable Integer id,
220
-                                      @RequestBody TaRaise taRaise) {
227
+                                      @RequestBody TaRaise taRaise,
228
+                                      HttpServletRequest request) {
221 229
         ResponseBean responseBean = new ResponseBean();
222 230
         try {
223 231
             Integer raisePrice = taRaise.getRaisePrice();
@@ -229,6 +237,10 @@ public class TaRaiseController extends BaseController {
229 237
             taRaise.setRaiseId(id);
230 238
             taRaise.setRaisePrice(taRaise.getRaisePrice() != null ? taRaise.getRaisePrice() : null);
231 239
             if (iTaRaiseService.updateById(taRaise)) {
240
+                // 为邀请制,添加认筹被邀请清单
241
+                if (CommConstant.STATUS_NORMAL == taRaise.getInvite()) {
242
+                    iTaRaiseService.saveOrUpdateInvite(taRaise, getOrgId(request), false);
243
+                }
232 244
                 responseBean.addSuccess(taRaise);
233 245
             } else {
234 246
                 responseBean.addError("fail");

+ 149
- 0
src/main/java/com/huiju/estateagents/controller/TaRaiseInviteController.java Dosyayı Görüntüle

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

+ 8
- 70
src/main/java/com/huiju/estateagents/controller/TaRaiseRecordController.java Dosyayı Görüntüle

@@ -163,7 +163,7 @@ public class TaRaiseRecordController extends BaseController {
163 163
      * @param raiseRecord
164 164
      * @return
165 165
      */
166
-    @RequestMapping(value = "/admin/raise/checkBeforeInvalidRecord", method = RequestMethod.GET)
166
+    @RequestMapping(value = "/admin/raise/checkBeforeInvalidRecord", method = RequestMethod.POST)
167 167
     public ResponseBean checkBeforeInvalidRecord(@RequestBody TaRaiseRecord raiseRecord) {
168 168
         ResponseBean responseBean = new ResponseBean();
169 169
         try {
@@ -229,7 +229,7 @@ public class TaRaiseRecordController extends BaseController {
229 229
                 iTaRaiseRecordService.updateHouseLockingStatus(record.getRaiseRecordId(), CommConstant.HOUSE_LOCKING_STATUS_UNLOCKED, record.getPersonId());
230 230
 
231 231
                 // 发送订阅消息
232
-                iTaRaiseRecordService.sendRaiseMsg(record.getRaiseRecordId(), record.getRaiseId(), "认筹通知", "认筹单已作废", "点击详情查看认筹单", "具体原因查看详情", false);
232
+                iTaRaiseRecordService.sendRaiseMsg(record.getRaiseRecordId(), record.getPersonId(), "认筹通知", "认筹单已作废", "点击详情查看认筹单", "具体原因查看详情", false);
233 233
             });
234 234
 
235 235
             if (iTaRaiseRecordService.updateBatchById(raiseRecord.getTaRaiseRecords())) {
@@ -280,7 +280,7 @@ public class TaRaiseRecordController extends BaseController {
280 280
                 iTaRaiseRecordService.updateHouseLockingStatus(record.getRaiseRecordId(), CommConstant.HOUSE_LOCKING_STATUS_UNLOCKED, record.getPersonId());
281 281
 
282 282
                 // 发送订阅消息
283
-                iTaRaiseRecordService.sendRaiseMsg(record.getRaiseRecordId(), record.getRaiseId(), "认筹通知", "认筹单已作废", "点击详情查看认筹单", "具体原因查看详情", false);
283
+                iTaRaiseRecordService.sendRaiseMsg(record.getRaiseRecordId(), record.getPersonId(), "认筹通知", "认筹单已作废", "点击详情查看认筹单", "具体原因查看详情", false);
284 284
             });
285 285
 
286 286
             if (iTaRaiseRecordService.updateBatchById(raiseRecord.getTaRaiseRecords())) {
@@ -302,7 +302,7 @@ public class TaRaiseRecordController extends BaseController {
302 302
      * @param request
303 303
      * @return
304 304
      */
305
-    @RequestMapping(value = "/admin/raise/checkBeforePayOfflineRecord", method = RequestMethod.GET)
305
+    @RequestMapping(value = "/admin/raise/checkBeforePayOfflineRecord", method = RequestMethod.POST)
306 306
     public ResponseBean checkBeforePayOfflineRecord(@RequestBody TaRaiseRecord raiseRecord, HttpServletRequest request) {
307 307
         ResponseBean responseBean = new ResponseBean();
308 308
         try {
@@ -398,7 +398,7 @@ public class TaRaiseRecordController extends BaseController {
398 398
                 record.setPayStatus(CommConstant.PAY_STATUS_PAID);
399 399
                 record.setUpdateDate(LocalDateTime.now());
400 400
                 //发送订阅消息
401
-                iTaRaiseRecordService.sendRaiseMsg(record.getRaiseRecordId(), record.getRaiseId(), "认筹通知", "认筹已缴费", "点击详情查看认筹单", "您的认筹已成功缴费", false);
401
+                iTaRaiseRecordService.sendRaiseMsg(record.getRaiseRecordId(), record.getPersonId(), "认筹通知", "认筹已缴费", "点击详情查看认筹单", "您的认筹已成功缴费", false);
402 402
             });
403 403
 
404 404
             if (iTaRaiseRecordService.updateBatchById(raiseRecord.getTaRaiseRecords())) {
@@ -419,7 +419,7 @@ public class TaRaiseRecordController extends BaseController {
419 419
      * @param raiseRecord
420 420
      * @return
421 421
      */
422
-    @RequestMapping(value = "/admin/raise/checkBeforeRefundOfflineRecord", method = RequestMethod.GET)
422
+    @RequestMapping(value = "/admin/raise/checkBeforeRefundOfflineRecord", method = RequestMethod.POST)
423 423
     public ResponseBean checkBeforeRefundOfflineRecord(@RequestBody TaRaiseRecord raiseRecord) {
424 424
         ResponseBean responseBean = new ResponseBean();
425 425
         try {
@@ -506,7 +506,7 @@ public class TaRaiseRecordController extends BaseController {
506 506
                 record.setRefundReason(raiseRecord.getRefundReason());
507 507
                 record.setUpdateDate(LocalDateTime.now());
508 508
                 //发送订阅消息
509
-                iTaRaiseRecordService.sendRaiseMsg(record.getRaiseRecordId(), record.getRaiseId(), "认筹通知", "认筹已退费", "点击详情查看认筹单", "您的认筹已成功退费", false);
509
+                iTaRaiseRecordService.sendRaiseMsg(record.getRaiseRecordId(), record.getPersonId(), "认筹通知", "认筹已退费", "点击详情查看认筹单", "您的认筹已成功退费", false);
510 510
             });
511 511
 
512 512
             if (iTaRaiseRecordService.updateBatchById(raiseRecord.getTaRaiseRecords())) {
@@ -659,69 +659,7 @@ public class TaRaiseRecordController extends BaseController {
659 659
     public ResponseBean wxGetRaiseRecordById(@PathVariable Integer raiseRecordId, HttpServletRequest request) {
660 660
         ResponseBean responseBean = new ResponseBean();
661 661
         try {
662
-            //获取认筹单信息
663
-            TaRaiseRecord taRaiseRecord = iTaRaiseRecordService.getById(raiseRecordId);
664
-
665
-            String personId = getPersonId(request);
666
-            //认筹表数据
667
-            TaRaise taRaise = taRaiseService.getById(taRaiseRecord.getRaiseId());
668
-            taRaise.setRaisePrice(taRaise.getRaisePrice());
669
-            //置业顾问信息
670
-            TaUser consultantInfo = taUserService.getById(taRaiseRecord.getUserId());
671
-            if (null != consultantInfo) {
672
-                //职业顾问信息
673
-                TaPerson consultantPerson = taPersonService.getOne(new QueryWrapper<TaPerson>().eq("user_id", taRaiseRecord.getUserId()));
674
-                if (null != consultantPerson) {
675
-                    consultantInfo.setConsultantPersonId(consultantPerson.getPersonId());
676
-                }
677
-            }
678
-
679
-            taRaiseRecord.setConsultantInfo(consultantInfo);
680
-            //房源与认筹单关系图
681
-            List<TaRaiseHouse> taRaiseHouseList = taRaiseHouseService.list(new QueryWrapper<TaRaiseHouse>().eq("raise_record_id", taRaiseRecord.getRaiseRecordId()));
682
-
683
-            //房源信息
684
-            List<TaHousingResources> houseList = (List<TaHousingResources>) taHousingResourcesService.listByIds(taRaiseHouseList.stream().map(TaRaiseHouse::getHouseId).collect(Collectors.toList()));
685
-
686
-            //我的认筹和锁定
687
-            houseList.forEach(e -> {
688
-                taRaiseHouseList.forEach(r -> {
689
-                    //我的认筹
690
-                    if (e.getHouseId().equals(r.getHouseId()) && CommConstant.HOUSE_LOCKING_STATUS_LOCKED.equals(e.getHouseLockingStatus()) && personId.equals(e.getHouseLockingPerson())) {
691
-                        e.setMineLocked("mine");
692
-                    }
693
-                });
694
-
695
-                //塞入户型信息
696
-                if (!StringUtils.isEmpty(e.getApartmentId())) {
697
-                    TaBuildingApartment buildingApartment = taBuildingApartmentService.getById(e.getApartmentId());
698
-                    e.setApartmentName(buildingApartment.getApartmentName());
699
-                    e.setInsideArea(buildingApartment.getInsideArea());
700
-                    e.setBuildingArea(buildingApartment.getBuildingArea());
701
-                    //塞入户型图信息
702
-                    List<String> apartMentIds = new ArrayList<>();
703
-                    apartMentIds.add(e.getApartmentId());
704
-                    List<TaBuildingImg> apartMentList = taBuildingImgService.getAparemnetList(apartMentIds);
705
-                    e.setApartmentImgList(apartMentList);
706
-                }
707
-            });
708
-
709
-            Map<String, Object> map = new HashMap<>();
710
-            map.put("refundOrder", null);
711
-            //订单信息
712
-            TaOrder taOrder = taOrderService.getById(taRaiseRecord.getOrderId());
713
-            if (null != taOrder) {
714
-                //退费信息
715
-                TaOrder refundOrder = taOrderService.getOne(new QueryWrapper<TaOrder>().eq("parent_order_id", taOrder.getOrderId()));
716
-                map.put("refundOrder", refundOrder);
717
-            }
718
-            map.put("taRaiseRecord", taRaiseRecord);
719
-            map.put("taRaiseHouseList", taRaiseHouseList);
720
-            map.put("houseList", houseList);
721
-            map.put("taOrder", taOrder);
722
-
723
-            map.put("taRaise", taRaise);
724
-            responseBean.addSuccess(map);
662
+            responseBean = iTaRaiseRecordService.wxGetRaiseRecordById(raiseRecordId, getPersonId(request), getOrgId(request));
725 663
         } catch (Exception e) {
726 664
             e.printStackTrace();
727 665
             logger.error("微信端获取认筹单详细信息 -=- {}", e.toString());

+ 634
- 0
src/main/java/com/huiju/estateagents/eContract/controller/TaCompanyController.java Dosyayı Görüntüle

@@ -0,0 +1,634 @@
1
+package com.huiju.estateagents.eContract.controller;
2
+
3
+import com.alibaba.fastjson.JSONArray;
4
+import com.alibaba.fastjson.JSONObject;
5
+import com.baomidou.mybatisplus.core.conditions.query.Query;
6
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
7
+import com.baomidou.mybatisplus.core.metadata.IPage;
8
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
9
+import com.fadada.sdk.client.FddClientBase;
10
+import com.fadada.sdk.client.authForfadada.FindCertInfo;
11
+import com.huiju.estateagents.base.BaseController;
12
+import com.huiju.estateagents.base.ResponseBean;
13
+import com.huiju.estateagents.common.CommConstant;
14
+import com.huiju.estateagents.eContract.entity.TaCompanySeal;
15
+import com.huiju.estateagents.eContract.entity.TaContract;
16
+import com.huiju.estateagents.eContract.service.ITaCompanySealService;
17
+import com.huiju.estateagents.config.FadadaProperties;
18
+import com.huiju.estateagents.eContract.service.ITaContractService;
19
+import com.huiju.estateagents.eContract.entity.TaContractUser;
20
+import com.huiju.estateagents.eContract.service.ITaCompanySealService;
21
+import com.huiju.estateagents.config.FadadaProperties;
22
+import com.huiju.estateagents.eContract.service.ITaContractUserService;
23
+import com.huiju.estateagents.eContract.service.impl.TaCompanySealUtil;
24
+import com.huiju.estateagents.entity.TaMiniapp;
25
+import com.huiju.estateagents.sample.entity.TaH5Demand;
26
+import com.huiju.estateagents.service.impl.TaMiniappServiceImpl;
27
+import org.apache.commons.lang3.StringUtils;
28
+import org.slf4j.Logger;
29
+import org.slf4j.LoggerFactory;
30
+import org.springframework.beans.factory.annotation.Autowired;
31
+import org.springframework.web.bind.annotation.PathVariable;
32
+import org.springframework.web.bind.annotation.RequestBody;
33
+import org.springframework.web.bind.annotation.RequestMapping;
34
+import org.springframework.web.bind.annotation.RequestMethod;
35
+import org.springframework.web.bind.annotation.RequestParam;
36
+import org.springframework.web.bind.annotation.ResponseBody;
37
+import com.huiju.estateagents.eContract.service.ITaCompanyService;
38
+import com.huiju.estateagents.eContract.entity.TaCompany;
39
+import org.springframework.web.bind.annotation.RestController;
40
+
41
+import javax.servlet.http.HttpServletRequest;
42
+import javax.servlet.http.HttpServletResponse;
43
+import java.io.IOException;
44
+import java.io.PrintWriter;
45
+import java.time.LocalDateTime;
46
+import java.util.HashMap;
47
+import java.util.List;
48
+import java.util.Map;
49
+import java.util.ResourceBundle;
50
+
51
+/**
52
+ * <p>
53
+ * 企业认证表  前端控制器
54
+ * </p>
55
+ *
56
+ * @author fxf
57
+ * @since 2020-03-26
58
+ */
59
+@RestController
60
+@RequestMapping("/api")
61
+public class TaCompanyController extends BaseController {
62
+
63
+    private final Logger logger = LoggerFactory.getLogger(TaCompanyController.class);
64
+
65
+    @Autowired
66
+    private FadadaProperties fadadaProperties;
67
+
68
+    @Autowired
69
+    public ITaCompanyService iTaCompanyService;
70
+
71
+    @Autowired
72
+    private ITaCompanySealService iTaCompanySealService;
73
+
74
+    @Autowired
75
+    private ITaContractService iTaContractService;
76
+
77
+    @Autowired
78
+    public ITaContractUserService iTaContractUserService;
79
+
80
+    @Autowired
81
+    private TaMiniappServiceImpl taMiniappService;
82
+
83
+    @Autowired
84
+    private TaCompanySealUtil taCompanySealUtil;
85
+
86
+
87
+    /**
88
+     * 条件查询企业列表
89
+     *
90
+     * @param pageNum
91
+     * @param pageSize
92
+     * @param companyName
93
+     * @param companyCode
94
+     * @param certifiedStatus
95
+     * @return
96
+     */
97
+    @RequestMapping(value = "/channel/contract/listCompany", method = RequestMethod.GET)
98
+    public ResponseBean listCompany(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
99
+                                   @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
100
+                                   String companyName, String companyCode, String certifiedStatus) {
101
+        ResponseBean responseBean = new ResponseBean();
102
+        try {
103
+            //使用分页插件
104
+            IPage<TaCompany> pg = new Page<>(pageNum, pageSize);
105
+            QueryWrapper<TaCompany> queryWrapper = new QueryWrapper<>();
106
+            queryWrapper.like(StringUtils.isNotBlank(companyName), "company_name", companyName);
107
+            queryWrapper.like(StringUtils.isNotBlank(companyCode), "company_code", companyCode);
108
+            queryWrapper.eq(StringUtils.isNotBlank(certifiedStatus), "certified_status", certifiedStatus);
109
+            queryWrapper.eq("status", 4);
110
+            queryWrapper.orderByDesc("create_date");
111
+
112
+            IPage<TaCompany> result = iTaCompanyService.page(pg, queryWrapper);
113
+            responseBean.addSuccess(result);
114
+        } catch (Exception e) {
115
+            logger.error("listCompany -=- {}", e);
116
+            responseBean.addError(e.getMessage());
117
+        }
118
+        return responseBean;
119
+    }
120
+
121
+    /**
122
+     * 条件查询企业列表
123
+     *
124
+     * @param pageNum
125
+     * @param pageSize
126
+     * @param companyName
127
+     * @return
128
+     */
129
+    @RequestMapping(value = "/admin/taCompanyList", method = RequestMethod.GET)
130
+    public ResponseBean companyList(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
131
+                                   @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
132
+                                   String companyName, String companyCode, HttpServletRequest request) {
133
+        ResponseBean responseBean = new ResponseBean();
134
+        try {
135
+            //使用分页插件
136
+            IPage<TaCompany> pg = new Page<>(pageNum, pageSize);
137
+            IPage<TaCompany> result = iTaCompanyService.selectListByOrgId(pg, companyName, companyCode, getOrgId(request));
138
+            List<TaCompany> taCompanyList = result.getRecords();
139
+            for (TaCompany taCompany : taCompanyList){
140
+                QueryWrapper<TaCompanySeal> sealQueryWrapper = new QueryWrapper<>();
141
+                sealQueryWrapper.eq("company_id", taCompany.getCompanyId());
142
+                sealQueryWrapper.ne("status", CommConstant.STATUS_DELETE);
143
+                taCompany.setSealNum(iTaCompanySealService.count(sealQueryWrapper));
144
+            }
145
+            responseBean.addSuccess(result);
146
+        } catch (Exception e) {
147
+            e.printStackTrace();
148
+            logger.error("taCompanyList -=- {}", e.toString());
149
+            responseBean.addError(e.getMessage());
150
+        }
151
+        return responseBean;
152
+    }
153
+
154
+    /**
155
+     * 条件查询企业列表
156
+     *
157
+     * @param pageNum
158
+     * @param pageSize
159
+     * @param companyName
160
+     * @return
161
+     */
162
+    @RequestMapping(value = "/channel/taCompanyList", method = RequestMethod.GET)
163
+    public ResponseBean channelCompanyList(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
164
+                                           @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
165
+                                           @RequestParam(value = "companyName", required = false) String companyName,
166
+                                           @RequestParam(value = "companyCode", required = false)String companyCode,
167
+                                           @RequestParam(value = "status", required = false)String status,
168
+                                           @RequestParam(value = "authorizeStatus", required = false)String authorizeStatus) {
169
+        ResponseBean responseBean = new ResponseBean();
170
+        try {
171
+            //使用分页插件
172
+            IPage<TaCompany> pg = new Page<>(pageNum, pageSize);
173
+            QueryWrapper<TaCompany> queryWrapper = new QueryWrapper<>();
174
+            queryWrapper.like(StringUtils.isNotBlank(companyName), "company_name", companyName);
175
+            queryWrapper.like(StringUtils.isNotBlank(companyCode), "company_code", companyCode);
176
+            queryWrapper.eq(StringUtils.isNotBlank(status), "status", status);
177
+            if (CommConstant.AUTO_AUTH_STATUS.equals(authorizeStatus)){
178
+                queryWrapper.eq(StringUtils.isNotBlank(authorizeStatus), "authorize_status", authorizeStatus);
179
+            }
180
+            if (CommConstant.AUTO_UNAUTH_STATUS.equals(authorizeStatus)){
181
+                queryWrapper.nested(i -> i.eq("authorize_status", CommConstant.AUTO_UNAUTH_STATUS).or().isNull("authorize_status"));
182
+            }
183
+
184
+            queryWrapper.ne("status", CommConstant.STATUS_DELETE);
185
+            queryWrapper.orderByDesc("create_date");
186
+
187
+            IPage<TaCompany> result = iTaCompanyService.page(pg, queryWrapper);
188
+            List<TaCompany> taCompanyList = result.getRecords();
189
+            for (TaCompany taCompany : taCompanyList){
190
+                QueryWrapper<TaCompanySeal> sealQueryWrapper = new QueryWrapper<>();
191
+                sealQueryWrapper.eq("company_id", taCompany.getCompanyId());
192
+                sealQueryWrapper.ne("status", CommConstant.STATUS_DELETE);
193
+                taCompany.setSealNum(iTaCompanySealService.count(sealQueryWrapper));
194
+            }
195
+            responseBean.addSuccess(result);
196
+        } catch (Exception e) {
197
+            e.printStackTrace();
198
+            logger.error("taCompanyList -=- {}", e.toString());
199
+            responseBean.addError(e.getMessage());
200
+        }
201
+        return responseBean;
202
+    }
203
+
204
+    /**
205
+     * 保存对象
206
+     *
207
+     * @param taCompany 实体对象
208
+     * @return
209
+     */
210
+    @RequestMapping(value = "/taCompany", method = RequestMethod.POST)
211
+    public ResponseBean taCompanyAdd(@RequestBody TaCompany taCompany) {
212
+        ResponseBean responseBean = new ResponseBean();
213
+        try {
214
+            if (iTaCompanyService.save(taCompany)) {
215
+                responseBean.addSuccess(taCompany);
216
+            } else {
217
+                responseBean.addError("fail");
218
+            }
219
+        } catch (Exception e) {
220
+            e.printStackTrace();
221
+            logger.error("taCompanyAdd -=- {}", e.toString());
222
+            responseBean.addError(e.getMessage());
223
+        }
224
+        return responseBean;
225
+    }
226
+
227
+    /**
228
+     * 根据id删除对象
229
+     *
230
+     * @param id 实体ID
231
+     */
232
+    @ResponseBody
233
+    @RequestMapping(value = "/taCompany/{id}", method = RequestMethod.DELETE)
234
+    public ResponseBean taCompanyDelete(@PathVariable Integer id) {
235
+        ResponseBean responseBean = new ResponseBean();
236
+        try {
237
+            if (iTaCompanyService.removeById(id)) {
238
+                responseBean.addSuccess("success");
239
+            } else {
240
+                responseBean.addError("fail");
241
+            }
242
+        } catch (Exception e) {
243
+            e.printStackTrace();
244
+            logger.error("taCompanyDelete -=- {}", e.toString());
245
+            responseBean.addError(e.getMessage());
246
+        }
247
+        return responseBean;
248
+    }
249
+
250
+    /**
251
+     * 修改对象
252
+     *
253
+     * @param id        实体ID
254
+     * @param taCompany 实体对象
255
+     * @return
256
+     */
257
+    @RequestMapping(value = "/taCompany/{id}", method = RequestMethod.PUT)
258
+    public ResponseBean taCompanyUpdate(@PathVariable Integer id,
259
+                                        @RequestBody TaCompany taCompany) {
260
+        ResponseBean responseBean = new ResponseBean();
261
+        try {
262
+            if (iTaCompanyService.updateById(taCompany)) {
263
+                responseBean.addSuccess(taCompany);
264
+            } else {
265
+                responseBean.addError("fail");
266
+            }
267
+        } catch (Exception e) {
268
+            e.printStackTrace();
269
+            logger.error("taCompanyUpdate -=- {}", e.toString());
270
+            responseBean.addError(e.getMessage());
271
+        }
272
+        return responseBean;
273
+    }
274
+
275
+    /**
276
+     * 根据id查询对象
277
+     *
278
+     * @param id 实体ID
279
+     */
280
+    @RequestMapping(value = "/channel/taCompany/{id}", method = RequestMethod.GET)
281
+    public ResponseBean taCompanyGet(@PathVariable Integer id) {
282
+        ResponseBean responseBean = new ResponseBean();
283
+        try {
284
+            TaCompany taCompany = iTaCompanyService.getCompanyAndContractInfo(id);
285
+            responseBean.addSuccess(taCompany);
286
+        } catch (Exception e) {
287
+            e.printStackTrace();
288
+            logger.error("taCompanyDelete -=- {}", e.toString());
289
+            responseBean.addError(e.getMessage());
290
+        }
291
+        return responseBean;
292
+    }
293
+
294
+    /**
295
+     * 条件查询企业列表
296
+     *
297
+     * @param pageNum
298
+     * @param pageSize
299
+     * @param companyName
300
+     * @param companyCode
301
+     * @param status
302
+     * @return
303
+     */
304
+    @RequestMapping(value = "/channel/company/list", method = RequestMethod.GET)
305
+    public ResponseBean getCompanyList(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
306
+                                       @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
307
+                                       @RequestParam(value = "companyName", required = false) String companyName,
308
+                                       @RequestParam(value = "companyCode", required = false) String companyCode,
309
+                                       @RequestParam(value = "status", required = false) String status) {
310
+        ResponseBean responseBean = new ResponseBean();
311
+        try {
312
+            //使用分页插件
313
+            IPage<TaCompany> pg = new Page<>(pageNum, pageSize);
314
+            QueryWrapper<TaCompany> queryWrapper = new QueryWrapper<>();
315
+            queryWrapper.like(StringUtils.isNotBlank(companyName), "company_name", companyName);
316
+            queryWrapper.like(StringUtils.isNotBlank(companyCode), "company_code", companyCode);
317
+            queryWrapper.eq(StringUtils.isNotBlank(status), "status", status);
318
+            queryWrapper.gt("status", CommConstant.STATUS_DELETE);
319
+            queryWrapper.orderByDesc("create_date");
320
+
321
+            IPage<TaCompany> result = iTaCompanyService.page(pg, queryWrapper);
322
+            responseBean.addSuccess(result);
323
+        } catch (Exception e) {
324
+            e.printStackTrace();
325
+            logger.error("taCompanyList -=- {}", e.toString());
326
+            responseBean.addError(e.getMessage());
327
+        }
328
+        return responseBean;
329
+    }
330
+
331
+    /**
332
+     * 第一次自动创建企业信息
333
+     */
334
+    @RequestMapping(value = "/channel/company/add", method = RequestMethod.POST)
335
+    public ResponseBean addCompanyFirstInfo() {
336
+        ResponseBean responseBean = new ResponseBean();
337
+        try {
338
+            TaCompany taCompany = iTaCompanyService.newFirstCompanyInfo();
339
+            responseBean.addSuccess(taCompany);
340
+        } catch (Exception e) {
341
+            e.printStackTrace();
342
+            logger.error("taCompanyList -=- {}", e.toString());
343
+            responseBean.addError(e.getMessage());
344
+        }
345
+        return responseBean;
346
+    }
347
+
348
+    /**
349
+     * 根据id查询对象
350
+     *
351
+     * @param id 实体ID
352
+     */
353
+    @RequestMapping(value = "/channel/company/{id}", method = RequestMethod.GET)
354
+    public ResponseBean getCompanyInfo(@PathVariable Integer id) {
355
+        ResponseBean responseBean = new ResponseBean();
356
+        try {
357
+            responseBean.addSuccess(iTaCompanyService.getById(id));
358
+        } catch (Exception e) {
359
+            e.printStackTrace();
360
+            logger.error("taCompanyDelete -=- {}", e.toString());
361
+            responseBean.addError(e.getMessage());
362
+        }
363
+        return responseBean;
364
+    }
365
+
366
+    /**
367
+     * 根据id更新数据
368
+     *
369
+     * @param id 实体ID
370
+     */
371
+    @RequestMapping(value = "/channel/company/{id}", method = RequestMethod.PUT)
372
+    public ResponseBean updateCompanyInfo(@PathVariable Integer id,@RequestBody TaCompany taCompany) {
373
+        ResponseBean responseBean = new ResponseBean();
374
+        try {
375
+            taCompany.setCompanyId(id);
376
+            TaCompany newCompany = iTaCompanyService.updateCompanyInfo(taCompany);
377
+            responseBean.addSuccess(newCompany);
378
+        } catch (Exception e) {
379
+            e.printStackTrace();
380
+            logger.error("taCompanyDelete -=- {}", e.toString());
381
+            responseBean.addError(e.getMessage());
382
+        }
383
+        return responseBean;
384
+    }
385
+
386
+    /**
387
+     * 根据id去法大大那边拿最新数据然后更新
388
+     *
389
+     * @param id 实体ID
390
+     */
391
+    @RequestMapping(value = "/channel/company/fdd/{id}", method = RequestMethod.GET)
392
+    public ResponseBean updateCompanyInfoByFdd(@PathVariable Integer id) {
393
+        ResponseBean responseBean = new ResponseBean();
394
+        try {
395
+            TaCompany newCompany = iTaCompanyService.updateCompanyInfoByFdd(id);
396
+            responseBean.addSuccess(newCompany);
397
+        } catch (Exception e) {
398
+            e.printStackTrace();
399
+            logger.error("taCompanyDelete -=- {}", e.toString());
400
+            responseBean.addError(e.getMessage());
401
+        }
402
+        return responseBean;
403
+    }
404
+
405
+    /**
406
+     * 根据id更新数据
407
+     *
408
+     * @param
409
+     */
410
+    @RequestMapping(value = "/channel/company/delete", method = RequestMethod.DELETE)
411
+    public ResponseBean updateCompanyInfo(@RequestBody String ids) {
412
+        ResponseBean responseBean = new ResponseBean();
413
+        try {
414
+            int successNum = 0;
415
+            int failNum = 0;
416
+            JSONArray jsonArray = JSONObject.parseObject(ids).getJSONArray("ids");
417
+            for (Object id : jsonArray) {
418
+                TaCompany company = iTaCompanyService.getById((Integer) id);
419
+                if (!CommConstant.STATUS_VERIFY_PASS.equals(company.getStatus())){
420
+                    company.setStatus(CommConstant.STATUS_DELETE);
421
+                    iTaCompanyService.updateById(company);
422
+                    successNum++;
423
+                }else{
424
+                    failNum++;
425
+                }
426
+            }
427
+            Map<String,Object> map = new HashMap<>();
428
+            map.put("successNum",successNum);
429
+            map.put("failNum",failNum);
430
+            responseBean.addSuccess(map);
431
+        }catch (Exception e){
432
+            responseBean.addError(e.getMessage());
433
+        }
434
+        return responseBean;
435
+    }
436
+
437
+    /**
438
+     * 企业认证回调函数
439
+     *
440
+     */
441
+    @RequestMapping(value = "/fadd/company", method = RequestMethod.POST)
442
+    public void faddCompanyNotify(@RequestParam(value = "serialNo",required = false) String serialNo,
443
+                                  @RequestParam(value = "authenticationType",required = false) String authenticationType,
444
+                                  @RequestParam(value = "status",required = false) String status,
445
+                                  HttpServletRequest request) {
446
+        Map<String, String[]> parameterMap = request.getParameterMap();
447
+        logger.info("企业认证回调函数参数:交易号{},认证类型{},状态,{}, 人员名称{}",serialNo,authenticationType,status);
448
+        //企业认证
449
+        if ("2".equals(authenticationType)){
450
+            QueryWrapper<TaCompany> taCompanyQueryWrapper = new QueryWrapper<>();
451
+            taCompanyQueryWrapper.eq("certified_serial_number",serialNo);
452
+            TaCompany taCompany = iTaCompanyService.getOne(taCompanyQueryWrapper);
453
+
454
+            try {
455
+                //更新企业状态
456
+                iTaCompanyService.updateCompanyInfoByFdd(taCompany.getCompanyId());
457
+            } catch (Exception e) {
458
+                e.printStackTrace();
459
+            }
460
+        }else if ("1".equals(authenticationType)){
461
+            QueryWrapper<TaContractUser> taContractUserQueryWrapper = new QueryWrapper<>();
462
+            taContractUserQueryWrapper.eq("certified_serial_number",serialNo);
463
+            TaContractUser taContractUser = iTaContractUserService.getOne(taContractUserQueryWrapper);
464
+            taContractUser.setStatus(Integer.valueOf(status));
465
+//            //如果状态是失败的情况下就发送短信  先注释如果没问题就删除
466
+//            if (status.equals("1")){
467
+//                logger.info("发送短信");
468
+//                //获取个人信息
469
+//                logger.info("个人正在从法大大获取最新数据,企业编号是 {}", taContractUser.getFadadaCode());
470
+//                FindCertInfo personCertInfo = new FindCertInfo(fadadaProperties.getAppId(),fadadaProperties.getAppSecret(),fadadaProperties.getVersion(),fadadaProperties.getServeHost());
471
+//                String verified_serialno = taContractUser.getCertifiedSerialNumber();
472
+//                String result = personCertInfo.invokeFindPersonCert(verified_serialno,
473
+//                        "1");
474
+//                logger.info("个人最新数据结果 {}",result);
475
+//                JSONObject jsonObject = JSONObject.parseObject(result);
476
+//                //更新数据
477
+//                String data = jsonObject.getString("data");
478
+//                if (null !=data){
479
+//                    JSONObject dataJson = JSONObject.parseObject(data);
480
+//                    //个人信息
481
+//                    JSONObject personJson = dataJson.getJSONObject("person");
482
+//                    if (null != personJson){
483
+//                        taCompanySealUtil.sendFddSms(taContractUser.getCertifiedAddress(),personJson.getString("mobile"));
484
+//                    }
485
+//                }
486
+//
487
+//            }
488
+            taContractUser.setAuthStatus("autoSign");
489
+            iTaContractUserService.updateById(taContractUser);
490
+        }
491
+    }
492
+
493
+    /**
494
+     * 自动授权签章回调
495
+     */
496
+    @RequestMapping(value = "/fadd/autoAuthCompanySeal", method = RequestMethod.POST)
497
+    public void autoAuthCompanySealNotify(@RequestParam(value = "transaction_id",required = false) String transactionId,
498
+                                          @RequestParam(value = "contract_id",required = false) Integer contractId,
499
+                                          @RequestParam(value = "download_url",required = false) String downloadUrl,
500
+                                          @RequestParam(value = "viewpdf_url",required = false) String viewpdfUrl,
501
+                                          @RequestParam(value = "result_code",required = false) String resultCode,
502
+                                          @RequestParam(value = "result_desc",required = false) String resultDesc,
503
+                                          HttpServletRequest request){
504
+        TaContract taContract = new TaContract();
505
+        taContract.setContractId(contractId);
506
+        taContract.setContractDownloadUrl(downloadUrl);
507
+        taContract.setContractViewUrl(viewpdfUrl);
508
+        taContract.setStatus(CommConstant.STATUS_NORMAL);
509
+        iTaContractService.updateById(taContract);
510
+
511
+        if (CommConstant.AUTO_AUTH_STATUS.equals(resultCode) && CommConstant.AUTH_SUCCESS_DESC.equals(resultDesc)){
512
+            TaCompany taCompany = new TaCompany();
513
+            taCompany.setCompanyId(iTaContractService.getById(contractId).getCompanyId());
514
+            taCompany.setAuthorizeStatus(resultCode);
515
+            taCompany.setAuthorizeTransactionId(transactionId);
516
+            taCompany.setAuthorizeContractId(String.valueOf(contractId));
517
+            taCompany.setAuthorizeDownloadUrl(downloadUrl);
518
+            taCompany.setAuthorizeViewUrl(viewpdfUrl);
519
+            taCompany.setAuthorizeDescription(resultDesc);
520
+            taCompany.setAuthorizeType(CommConstant.ONLINEAUTH);
521
+            iTaCompanyService.updateById(taCompany);
522
+        }
523
+    }
524
+
525
+    /**
526
+     * 自动签章授权
527
+     */
528
+    @RequestMapping(value = "/channel/company/autoAuthCompany/{id}", method = RequestMethod.PUT)
529
+    public ResponseBean autoAuthCompanySeal(@PathVariable Integer id, HttpServletRequest request) throws Exception {
530
+        ResponseBean responseBean = new ResponseBean();
531
+        String res = iTaCompanyService.autoAuthCompanySeal(id, getOrgId(request));
532
+        TaCompany taCompany = new TaCompany();
533
+        taCompany.setCompanyId(id);
534
+        taCompany.setAuthorizeAddress(res);
535
+        iTaCompanyService.updateById(taCompany);
536
+        responseBean.addSuccess((Object)res);
537
+        return responseBean;
538
+    }
539
+
540
+    /**
541
+     * 设置默认章
542
+     */
543
+    @RequestMapping(value = "/channel/company/setDefaultSeal/{id}", method = RequestMethod.POST)
544
+    public ResponseBean setDefaultSeal(@PathVariable Integer id){
545
+        ResponseBean responseBean = new ResponseBean();
546
+        TaCompanySeal taCompanySeal = iTaCompanySealService.getById(id);
547
+        TaCompany taCompany = iTaCompanyService.getById(taCompanySeal.getCompanyId());
548
+        String res = taCompanySealUtil.setDefaultSeal(taCompanySeal.getSignatureId(), taCompany.getFadadaCode());
549
+        JSONObject result = JSONObject.parseObject(res);
550
+        if ((Integer) result.get("code") != 1){
551
+            responseBean.addError(result.getString("msg"));
552
+            return responseBean;
553
+        }
554
+        //更新旧的印章为否
555
+        QueryWrapper<TaCompanySeal> taCompanySealQueryWrapper = new QueryWrapper<>();
556
+        taCompanySealQueryWrapper.eq("company_id", taCompany.getCompanyId());
557
+        taCompanySealQueryWrapper.eq("default_seal", CommConstant.STATUS_NORMAL);
558
+        TaCompanySeal oldDefaultSeal = iTaCompanySealService.getOne(taCompanySealQueryWrapper);
559
+        if (oldDefaultSeal != null){
560
+            oldDefaultSeal.setDefaultSeal(CommConstant.STATUS_UNACCALIMED);
561
+            iTaCompanySealService.updateById(oldDefaultSeal);
562
+        }
563
+
564
+        //更新默认章
565
+        taCompanySeal.setDefaultSeal(CommConstant.STATUS_NORMAL);
566
+        iTaCompanySealService.updateById(taCompanySeal);
567
+
568
+
569
+        responseBean.addSuccess(result.getString("msg"));
570
+        return responseBean;
571
+    }
572
+
573
+
574
+    /**
575
+     * 手动签署回调函数
576
+     *
577
+     */
578
+    @RequestMapping(value = "/fadd/sign", method = {RequestMethod.GET,RequestMethod.POST})
579
+    public void faddSignNotify(@RequestParam(value = "transaction_id ",required = false) String transaction_id,
580
+                                  @RequestParam(value = "contract_id ",required = false) String contract_id,
581
+                                  @RequestParam(value = "result_code",required = false) String result_code,
582
+                                  @RequestParam(value = "result_desc",required = false) String result_desc,
583
+                                  @RequestParam(value = "download_url",required = false) String download_url,
584
+                                  @RequestParam(value = "viewpdf_url",required = false) String viewpdf_url,
585
+                                  @RequestParam(value = "timestamp",required = false) String timestamp,
586
+                                  @RequestParam(value = "msg_digest",required = false) String msg_digest,
587
+                                  HttpServletRequest request) {
588
+        logger.info("企业认证回调函数参数:交易号 {},合同编号 {},签章结果代码 {},签章结果描述 ,{}, 下载地址{}, 查看地址 {},请求时间 {}, 摘要 {} ",transaction_id,contract_id,result_code,result_desc,download_url,viewpdf_url,timestamp,msg_digest);
589
+        Map<String, String[]> parameterMap = request.getParameterMap();
590
+        if ("3000".equals(result_code)){
591
+            TaContract taContract = iTaContractService.getById(parameterMap.get("contract_id")[0]);
592
+            taContract.setContractDownloadUrl(download_url);
593
+            taContract.setContractViewUrl(viewpdf_url);
594
+            taContract.setStatus(CommConstant.STATUS_NORMAL);
595
+            taContract.setCustomerTime(LocalDateTime.now());
596
+            taContract.setReason(parameterMap.get("result_desc")[0]);
597
+
598
+            //自动归档
599
+            FddClientBase base = new FddClientBase(fadadaProperties.getAppId(),fadadaProperties.getAppSecret(),fadadaProperties.getVersion(),fadadaProperties.getServeHost());
600
+            String result = base.invokeContractFilling(taContract.getContractId().toString());
601
+            logger.info("合同归档结果{}",result);
602
+            taContract.setArchives(true);
603
+            taContract.setArchivesTime(LocalDateTime.now());
604
+            iTaContractService.updateById(taContract);
605
+        }else{
606
+            TaContract taContract = iTaContractService.getById(parameterMap.get("contract_id")[0]);
607
+            taContract.setContractDownloadUrl(download_url);
608
+            taContract.setContractViewUrl(viewpdf_url);
609
+            //签署失败
610
+            taContract.setStatus(2);
611
+            taContract.setReason(parameterMap.get("result_desc")[0]);
612
+            iTaContractService.updateById(taContract);
613
+        }
614
+    }
615
+
616
+    /**
617
+     * 查询授权状态接口
618
+     * @param id
619
+     * @return
620
+     */
621
+    @RequestMapping(value = "/channel/company/getAuthStatus/{id}", method = RequestMethod.GET)
622
+    public ResponseBean getAuthStatus(@PathVariable Integer id, HttpServletRequest request){
623
+        ResponseBean responseBean = new ResponseBean();
624
+        String res = iTaCompanyService.getAuthStatus(id);
625
+        JSONObject result = JSONObject.parseObject(res);
626
+
627
+        if ((Integer) result.get("code") != 1){
628
+            responseBean.addError(result.getString("msg"));
629
+            return responseBean;
630
+        }
631
+        responseBean.addSuccess(result.get("data"));
632
+        return responseBean;
633
+    }
634
+}

+ 204
- 0
src/main/java/com/huiju/estateagents/eContract/controller/TaCompanyOrgController.java Dosyayı Görüntüle

@@ -0,0 +1,204 @@
1
+package com.huiju.estateagents.eContract.controller;
2
+
3
+import com.alibaba.fastjson.JSONObject;
4
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
5
+import com.baomidou.mybatisplus.core.metadata.IPage;
6
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
7
+import com.huiju.estateagents.base.BaseController;
8
+import com.huiju.estateagents.base.ResponseBean;
9
+import com.huiju.estateagents.eContract.entity.TaCompanyOrg;
10
+import com.huiju.estateagents.eContract.service.ITaCompanyOrgService;
11
+import org.apache.commons.lang3.StringUtils;
12
+import org.slf4j.Logger;
13
+import org.slf4j.LoggerFactory;
14
+import org.springframework.beans.factory.annotation.Autowired;
15
+import org.springframework.web.bind.annotation.*;
16
+
17
+import javax.servlet.http.HttpServletRequest;
18
+import java.time.LocalDateTime;
19
+
20
+/**
21
+ * <p>
22
+ * 企业和组织关系表  前端控制器
23
+ * </p>
24
+ *
25
+ * @author fxf
26
+ * @since 2020-03-26
27
+ */
28
+@RestController
29
+@RequestMapping("/api")
30
+public class TaCompanyOrgController extends BaseController {
31
+
32
+    private final Logger logger = LoggerFactory.getLogger(TaCompanyOrgController.class);
33
+
34
+    @Autowired
35
+    public ITaCompanyOrgService iTaCompanyOrgService;
36
+
37
+
38
+    /**
39
+     * 分页查询列表
40
+     *
41
+     * @param pageNum
42
+     * @param pageSize
43
+     * @return
44
+     */
45
+    @RequestMapping(value = "/taCompanyOrg", method = RequestMethod.GET)
46
+    public ResponseBean taCompanyOrgList(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
47
+                                         @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) {
48
+        ResponseBean responseBean = new ResponseBean();
49
+        try {
50
+            //使用分页插件
51
+            IPage<TaCompanyOrg> pg = new Page<>(pageNum, pageSize);
52
+            QueryWrapper<TaCompanyOrg> queryWrapper = new QueryWrapper<>();
53
+            queryWrapper.orderByDesc("create_date");
54
+
55
+            IPage<TaCompanyOrg> result = iTaCompanyOrgService.page(pg, queryWrapper);
56
+            responseBean.addSuccess(result);
57
+        } catch (Exception e) {
58
+            e.printStackTrace();
59
+            logger.error("taCompanyOrgList -=- {}", e.toString());
60
+            responseBean.addError(e.getMessage());
61
+        }
62
+        return responseBean;
63
+    }
64
+
65
+    /**
66
+     * 保存对象
67
+     *
68
+     * @param taCompanyOrg 实体对象
69
+     * @return
70
+     */
71
+    @RequestMapping(value = "/channel/contract/taCompanyOrg", method = RequestMethod.POST)
72
+    public ResponseBean taCompanyOrgAdd(@RequestBody TaCompanyOrg taCompanyOrg) {
73
+        ResponseBean responseBean = new ResponseBean();
74
+        try {
75
+
76
+            // 校验参数
77
+            if (taCompanyOrg.getOrgId() == null || taCompanyOrg.getCompanyId() == null) {
78
+                responseBean.addError("参数错误");
79
+                return responseBean;
80
+            }
81
+
82
+            // 校验企业是否已经关联组织
83
+            QueryWrapper<TaCompanyOrg> queryWrapper = new QueryWrapper<>();
84
+            queryWrapper.eq("org_id",taCompanyOrg.getOrgId());
85
+            queryWrapper.eq("company_id",taCompanyOrg.getCompanyId());
86
+            TaCompanyOrg companyOrg = iTaCompanyOrgService.getOne(queryWrapper);
87
+            if(companyOrg != null){
88
+                responseBean.addError("所选企业已关联了所选组织,不能重复关联");
89
+                return responseBean;
90
+            }
91
+
92
+            taCompanyOrg.setCreateDate(LocalDateTime.now());
93
+            if (iTaCompanyOrgService.save(taCompanyOrg)) {
94
+                responseBean.addSuccess(taCompanyOrg);
95
+            } else {
96
+                responseBean.addError("fail");
97
+            }
98
+        } catch (Exception e) {
99
+            e.printStackTrace();
100
+            logger.error("taCompanyOrgAdd -=- {}", e.toString());
101
+            responseBean.addError(e.getMessage());
102
+        }
103
+        return responseBean;
104
+    }
105
+
106
+    /**
107
+     * 根据id删除对象
108
+     *
109
+     * @param id 实体ID
110
+     */
111
+    @ResponseBody
112
+    @RequestMapping(value = "/channel/taCompanyOrg/{id}", method = RequestMethod.DELETE)
113
+    public ResponseBean taCompanyOrgDelete(@PathVariable Integer id) {
114
+        ResponseBean responseBean = new ResponseBean();
115
+        try {
116
+            if (iTaCompanyOrgService.removeById(id)) {
117
+                responseBean.addSuccess("success");
118
+            } else {
119
+                responseBean.addError("fail");
120
+            }
121
+        } catch (Exception e) {
122
+            e.printStackTrace();
123
+            logger.error("taCompanyOrgDelete -=- {}", e.toString());
124
+            responseBean.addError(e.getMessage());
125
+        }
126
+        return responseBean;
127
+    }
128
+
129
+    /**
130
+     * 修改对象
131
+     *
132
+     * @param id           实体ID
133
+     * @param taCompanyOrg 实体对象
134
+     * @return
135
+     */
136
+    @RequestMapping(value = "/taCompanyOrg/{id}", method = RequestMethod.PUT)
137
+    public ResponseBean taCompanyOrgUpdate(@PathVariable Integer id,
138
+                                           @RequestBody TaCompanyOrg taCompanyOrg) {
139
+        ResponseBean responseBean = new ResponseBean();
140
+        try {
141
+            if (iTaCompanyOrgService.updateById(taCompanyOrg)) {
142
+                responseBean.addSuccess(taCompanyOrg);
143
+            } else {
144
+                responseBean.addError("fail");
145
+            }
146
+        } catch (Exception e) {
147
+            e.printStackTrace();
148
+            logger.error("taCompanyOrgUpdate -=- {}", e.toString());
149
+            responseBean.addError(e.getMessage());
150
+        }
151
+        return responseBean;
152
+    }
153
+
154
+    /**
155
+     * 根据id查询对象
156
+     *
157
+     * @param id 实体ID
158
+     */
159
+    @RequestMapping(value = "/taCompanyOrg/{id}", method = RequestMethod.GET)
160
+    public ResponseBean taCompanyOrgGet(@PathVariable Integer id) {
161
+        ResponseBean responseBean = new ResponseBean();
162
+        try {
163
+            responseBean.addSuccess(iTaCompanyOrgService.getById(id));
164
+        } catch (Exception e) {
165
+            e.printStackTrace();
166
+            logger.error("taCompanyOrgDelete -=- {}", e.toString());
167
+            responseBean.addError(e.getMessage());
168
+        }
169
+        return responseBean;
170
+    }
171
+
172
+
173
+    /**
174
+     * 条件查询公司组织列表
175
+     *
176
+     * @param pageNum
177
+     * @param pageSize
178
+     * @param companyName
179
+     * @param companyCode
180
+     * @param certifiedStatus
181
+     * @param orgName
182
+     * @param miniAppName
183
+     * @return
184
+     */
185
+    @RequestMapping(value = "/channel/contract/listCompanyOrg", method = RequestMethod.GET)
186
+    public ResponseBean listCompanyAndOrg(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
187
+                                          @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
188
+                                          String companyName,
189
+                                          String companyCode,
190
+                                          String certifiedStatus,
191
+                                          Integer companyStatus,
192
+                                          String orgName,
193
+                                          String miniAppName) {
194
+        ResponseBean responseBean = new ResponseBean();
195
+        try {
196
+            responseBean = iTaCompanyOrgService.listCompanyOrg(pageNum, pageSize, companyName, companyCode, certifiedStatus,companyStatus, orgName, miniAppName);
197
+            logger.info("TaCompanyOrgController.listCompanyOrg 返回结果:{}", JSONObject.toJSONString(responseBean));
198
+        } catch (Exception e) {
199
+            logger.error("TaCompanyOrgController.listCompanyOrg 异常:", e);
200
+            responseBean.addError(e.getMessage());
201
+        }
202
+        return responseBean;
203
+    }
204
+}

+ 251
- 0
src/main/java/com/huiju/estateagents/eContract/controller/TaCompanySealController.java Dosyayı Görüntüle

@@ -0,0 +1,251 @@
1
+package com.huiju.estateagents.eContract.controller;
2
+
3
+import com.alibaba.fastjson.JSONObject;
4
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
5
+import com.baomidou.mybatisplus.core.metadata.IPage;
6
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
7
+import com.huiju.estateagents.base.BaseController;
8
+import com.huiju.estateagents.base.ResponseBean;
9
+import com.huiju.estateagents.common.CommConstant;
10
+import com.huiju.estateagents.common.StringUtils;
11
+import com.huiju.estateagents.eContract.entity.TaCompany;
12
+import com.huiju.estateagents.eContract.entity.TaCompanySeal;
13
+import com.huiju.estateagents.eContract.service.ITaCompanySealService;
14
+import com.huiju.estateagents.eContract.service.ITaCompanyService;
15
+import com.huiju.estateagents.eContract.service.impl.TaCompanySealUtil;
16
+import com.huiju.estateagents.entity.TaMiniapp;
17
+import com.huiju.estateagents.service.impl.TaMiniappServiceImpl;
18
+import org.slf4j.Logger;
19
+import org.slf4j.LoggerFactory;
20
+import org.springframework.beans.factory.annotation.Autowired;
21
+import org.springframework.web.bind.annotation.*;
22
+
23
+import javax.servlet.http.HttpServletRequest;
24
+import java.time.LocalDateTime;
25
+
26
+/**
27
+ * <p>
28
+    * 公司印章  前端控制器
29
+    * </p>
30
+ *
31
+ * @author fxf
32
+ * @since 2020-03-26
33
+ */
34
+@RestController
35
+@RequestMapping("/api")
36
+public class TaCompanySealController extends BaseController {
37
+
38
+    private final Logger logger = LoggerFactory.getLogger(TaCompanySealController.class);
39
+
40
+    @Autowired
41
+    public ITaCompanySealService iTaCompanySealService;
42
+
43
+    @Autowired
44
+    private ITaCompanyService iTaCompanyService;
45
+
46
+    @Autowired
47
+    private TaCompanySealUtil taCompanySealUtil;
48
+
49
+    @Autowired
50
+    private TaMiniappServiceImpl taMiniappService;
51
+
52
+    /**
53
+     * 分页查询列表
54
+     * @param pageNum
55
+     * @param pageSize
56
+     * @return
57
+     */
58
+    @RequestMapping(value="/admin/taCompanySeal",method= RequestMethod.GET)
59
+    public ResponseBean taCompanySealList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
60
+                                          @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
61
+                                          @RequestParam(value ="sealName", required = false) String sealName,
62
+                                          @RequestParam(value ="companyId", required = false) String companyId){
63
+        ResponseBean responseBean = new ResponseBean();
64
+        try {
65
+            //使用分页插件
66
+		    IPage<TaCompanySeal> pg = new Page<>(pageNum, pageSize);
67
+            QueryWrapper<TaCompanySeal> queryWrapper = new QueryWrapper<>();
68
+            queryWrapper.like(!StringUtils.isEmpty(sealName), "seal_name", sealName);
69
+            queryWrapper.ne("status", CommConstant.STATUS_DELETE);
70
+            queryWrapper.eq(!StringUtils.isEmpty(companyId), "company_id", companyId);
71
+            queryWrapper.orderByDesc("create_date");
72
+
73
+            IPage<TaCompanySeal> result = iTaCompanySealService.page(pg, queryWrapper);
74
+            responseBean.addSuccess(result);
75
+        }catch (Exception e){
76
+            e.printStackTrace();
77
+            logger.error("taCompanySealList -=- {}",e.toString());
78
+            responseBean.addError(e.getMessage());
79
+        }
80
+        return responseBean;
81
+    }
82
+
83
+    /**
84
+     * 分页查询列表
85
+     * @param pageNum
86
+     * @param pageSize
87
+     * @return
88
+     */
89
+    @RequestMapping(value="/channel/taCompanySeal",method= RequestMethod.GET)
90
+    public ResponseBean channelCompanySealList(
91
+                                          @RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
92
+                                          @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
93
+                                          @RequestParam(value ="companyId", required = false) String companyId,
94
+                                          @RequestParam(value ="sealName", required = false) String sealName){
95
+        ResponseBean responseBean = new ResponseBean();
96
+        try {
97
+            //使用分页插件
98
+            IPage<TaCompanySeal> pg = new Page<>(pageNum, pageSize);
99
+            QueryWrapper<TaCompanySeal> queryWrapper = new QueryWrapper<>();
100
+            queryWrapper.eq("company_id", companyId);
101
+            queryWrapper.like(!StringUtils.isEmpty(sealName), "seal_name", sealName);
102
+            queryWrapper.ne("status", CommConstant.STATUS_DELETE);
103
+            queryWrapper.orderByDesc("create_date");
104
+
105
+            IPage<TaCompanySeal> result = iTaCompanySealService.page(pg, queryWrapper);
106
+            responseBean.addSuccess(result);
107
+        }catch (Exception e){
108
+            e.printStackTrace();
109
+            logger.error("taCompanySealList -=- {}",e.toString());
110
+            responseBean.addError(e.getMessage());
111
+        }
112
+        return responseBean;
113
+    }
114
+
115
+    /**
116
+     * 保存对象
117
+     * @param taCompanySeal 实体对象
118
+     * @return
119
+     */
120
+    @RequestMapping(value="/channel/taCompanySeal",method= RequestMethod.POST)
121
+    public ResponseBean taCompanySealAdd(@RequestBody TaCompanySeal taCompanySeal, HttpServletRequest request){
122
+        ResponseBean responseBean = new ResponseBean();
123
+        try {
124
+            TaCompany taCompany = iTaCompanyService.getById(taCompanySeal.getCompanyId());
125
+            String result = taCompanySealUtil.addSignaTure(taCompany.getFadadaCode(), taCompanySeal.getSealImg());
126
+            JSONObject params = JSONObject.parseObject(result);
127
+            if ((Integer) params.get("code") != 1){
128
+                responseBean.addError(params.get("msg").toString());
129
+                return responseBean;
130
+            }
131
+
132
+            String data = params.getString("data");
133
+            taCompanySeal.setCreateDate(LocalDateTime.now());
134
+            taCompanySeal.setStatus(CommConstant.STATUS_NORMAL);
135
+            taCompanySeal.setSignatureId(JSONObject.parseObject(data).getString("signature_id"));
136
+            if (iTaCompanySealService.save(taCompanySeal)){
137
+                responseBean.addSuccess(taCompanySeal);
138
+            }else {
139
+                responseBean.addError("fail");
140
+            }
141
+        }catch (Exception e){
142
+            e.printStackTrace();
143
+            logger.error("taCompanySealAdd -=- {}",e.toString());
144
+            responseBean.addError(e.getMessage());
145
+        }
146
+        return responseBean;
147
+    }
148
+
149
+    /**
150
+     * 根据id删除对象
151
+     * @param id  实体ID
152
+     */
153
+    @RequestMapping(value="/channel/deleteCompanySeal/{id}",method= RequestMethod.PUT)
154
+    public ResponseBean taCompanySealDelete(@PathVariable Integer id){
155
+        ResponseBean responseBean = new ResponseBean();
156
+        try {
157
+            TaCompanySeal taCompanySeal = iTaCompanySealService.getById(id);
158
+            TaCompany taCompany = iTaCompanyService.getById(taCompanySeal.getCompanyId());
159
+            iTaCompanyService.getById(taCompanySeal.getCompanyId());
160
+            String res = taCompanySealUtil.delSignature(taCompany.getFadadaCode(), taCompanySeal.getSignatureId());
161
+            JSONObject params = JSONObject.parseObject(res);
162
+            Integer code = (Integer) params.get("code");
163
+            if (code != 1){
164
+                responseBean.addError(params.getString("msg"));
165
+                return responseBean;
166
+            }
167
+
168
+            TaCompanySeal delInfo = new TaCompanySeal();
169
+            delInfo.setSealId(id);
170
+            delInfo.setStatus(CommConstant.STATUS_DELETE);
171
+            if(iTaCompanySealService.updateById(delInfo)){
172
+                responseBean.addSuccess("success");
173
+            }else {
174
+                responseBean.addError("fail");
175
+            }
176
+        }catch (Exception e){
177
+            e.printStackTrace();
178
+            logger.error("taCompanySealDelete -=- {}",e.toString());
179
+            responseBean.addError(e.getMessage());
180
+        }
181
+        return responseBean;
182
+    }
183
+
184
+    /**
185
+     * 修改对象
186
+     * @param id  实体ID
187
+     * @param taCompanySeal 实体对象
188
+     * @return
189
+     */
190
+    @RequestMapping(value="/channel/taCompanySeal/{id}",method= RequestMethod.PUT)
191
+    public ResponseBean taCompanySealUpdate(@PathVariable Integer id,
192
+                                        @RequestBody TaCompanySeal taCompanySeal, HttpServletRequest request){
193
+        ResponseBean responseBean = new ResponseBean();
194
+        try {
195
+            TaCompany taCompany = iTaCompanyService.getById(taCompanySeal.getCompanyId());
196
+            TaCompanySeal sealInfo = iTaCompanySealService.getById(id);
197
+            String res = taCompanySealUtil.replaceSignature(taCompany.getFadadaCode(), sealInfo.getSignatureId(), taCompanySeal.getSealImg());
198
+            JSONObject params = JSONObject.parseObject(res);
199
+            Integer code = (Integer) params.get("code");
200
+            if (code != 1){
201
+                responseBean.addError(params.getString("msg"));
202
+                return responseBean;
203
+            }
204
+            taCompanySeal.setSealId(id);
205
+            if (iTaCompanySealService.updateById(taCompanySeal)){
206
+                responseBean.addSuccess(taCompanySeal);
207
+            }else {
208
+                responseBean.addError("fail");
209
+            }
210
+        }catch (Exception e){
211
+            e.printStackTrace();
212
+            logger.error("taCompanySealUpdate -=- {}",e.toString());
213
+            responseBean.addError(e.getMessage());
214
+        }
215
+        return responseBean;
216
+    }
217
+
218
+    /**
219
+     * 根据id查询对象
220
+     * @param id  实体ID
221
+     */
222
+    @RequestMapping(value="/channel/taCompanySeal/{id}",method= RequestMethod.GET)
223
+    public ResponseBean taCompanySealGet(@PathVariable Integer id){
224
+        ResponseBean responseBean = new ResponseBean();
225
+        try {
226
+            responseBean.addSuccess(iTaCompanySealService.getById(id));
227
+        }catch (Exception e){
228
+            e.printStackTrace();
229
+            logger.error("taCompanySealDelete -=- {}",e.toString());
230
+            responseBean.addError(e.getMessage());
231
+        }
232
+        return responseBean;
233
+    }
234
+
235
+    /**
236
+     * 根据id查询公司授权对象信息
237
+     * @param id  实体ID
238
+     */
239
+    @RequestMapping(value = "/channel/companySignInfo/id")
240
+    public ResponseBean companySignInfoByCompanyId(@PathVariable Integer id){
241
+        ResponseBean responseBean = new ResponseBean();
242
+        try {
243
+            
244
+        }catch (Exception e){
245
+            e.printStackTrace();
246
+            logger.error("taCompanySealDelete -=- {}",e.toString());
247
+            responseBean.addError(e.getMessage());
248
+        }
249
+        return responseBean;
250
+    }
251
+}

+ 243
- 0
src/main/java/com/huiju/estateagents/eContract/controller/TaContractBusinessController.java Dosyayı Görüntüle

@@ -0,0 +1,243 @@
1
+package com.huiju.estateagents.eContract.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 com.huiju.estateagents.common.StringUtils;
10
+import com.huiju.estateagents.eContract.entity.TaCompany;
11
+import com.huiju.estateagents.eContract.entity.TaCompanySeal;
12
+import com.huiju.estateagents.eContract.entity.TaContractBusiness;
13
+import com.huiju.estateagents.eContract.entity.TaContractTemplate;
14
+import com.huiju.estateagents.eContract.service.ITaCompanySealService;
15
+import com.huiju.estateagents.eContract.service.ITaCompanyService;
16
+import com.huiju.estateagents.eContract.service.ITaContractBusinessService;
17
+import com.huiju.estateagents.eContract.service.ITaContractTemplateService;
18
+import com.huiju.estateagents.entity.TaRaise;
19
+import com.huiju.estateagents.mapper.TaRaiseMapper;
20
+import com.huiju.estateagents.sample.entity.TaContact;
21
+import com.huiju.estateagents.service.ITaRaiseService;
22
+import org.slf4j.Logger;
23
+import org.slf4j.LoggerFactory;
24
+import org.springframework.beans.factory.annotation.Autowired;
25
+import org.springframework.web.bind.annotation.*;
26
+import sun.util.locale.LocaleObjectCache;
27
+
28
+import javax.servlet.http.HttpServletRequest;
29
+import java.time.LocalDateTime;
30
+import java.util.List;
31
+
32
+/**
33
+ * <p>
34
+    * 合同与业务关系表  前端控制器
35
+    * </p>
36
+ *
37
+ * @author fxf
38
+ * @since 2020-03-26
39
+ */
40
+@RestController
41
+@RequestMapping("/api")
42
+public class TaContractBusinessController extends BaseController {
43
+
44
+    private final Logger logger = LoggerFactory.getLogger(TaContractBusinessController.class);
45
+
46
+    @Autowired
47
+    public ITaContractBusinessService iTaContractBusinessService;
48
+
49
+    @Autowired
50
+    private ITaContractTemplateService iTaContractTemplateService;
51
+
52
+    @Autowired
53
+    private TaRaiseMapper taRaiseMapper;
54
+
55
+    @Autowired
56
+    private ITaCompanyService iTaCompanyService;
57
+
58
+    @Autowired
59
+    private ITaCompanySealService iTaCompanySealService;
60
+
61
+    /**
62
+     * 分页查询列表
63
+     * @param pageNum
64
+     * @param pageSize
65
+     * @return
66
+     */
67
+    @RequestMapping(value="/admin/taContractBusiness",method= RequestMethod.GET)
68
+    public ResponseBean taContractBusinessList(@RequestParam(value ="contractName", required = false) String contractName,
69
+                                               @RequestParam(value ="targetType", required = false) String targetType,
70
+                                               @RequestParam(value ="targetName", required = false) String targetName,
71
+                                               @RequestParam(value ="companyName", required = false) String companyName,
72
+                                               @RequestParam(value ="status", required = false) Integer status,
73
+                                               @RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
74
+                                               @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
75
+                                               HttpServletRequest request){
76
+        ResponseBean responseBean = new ResponseBean();
77
+        try {
78
+            Integer orgId = getOrgId(request);
79
+            IPage<TaContractBusiness> pg = new Page<>(pageNum, pageSize);
80
+            QueryWrapper<TaContractBusiness> queryWrapper = new QueryWrapper<>();
81
+            queryWrapper.eq("org_id", orgId);
82
+            queryWrapper.like(!StringUtils.isEmpty(contractName), "contract_template_name", contractName);
83
+            queryWrapper.eq(!StringUtils.isEmpty(targetType), "target_type", targetType);
84
+            queryWrapper.like(!StringUtils.isEmpty(targetName), "target_name", targetName);
85
+            queryWrapper.like(!StringUtils.isEmpty(companyName), "company_name", companyName);
86
+            queryWrapper.eq(status != null, "status", status);
87
+            queryWrapper.ne("status", CommConstant.STATUS_DELETE);
88
+            queryWrapper.orderByDesc("create_date");
89
+            IPage<TaContractBusiness> result = iTaContractBusinessService.page(pg, queryWrapper);
90
+            responseBean.addSuccess(result);
91
+        }catch (Exception e){
92
+            e.printStackTrace();
93
+            logger.error("taContractBusinessList -=- {}",e.toString());
94
+            responseBean.addError(e.getMessage());
95
+        }
96
+        return responseBean;
97
+    }
98
+
99
+    /**
100
+     * 保存对象
101
+     * @param taContractBusiness 实体对象
102
+     * @return
103
+     */
104
+    @RequestMapping(value="/admin/taContractBusiness",method= RequestMethod.POST)
105
+    public ResponseBean taContractBusinessAdd(@RequestBody TaContractBusiness taContractBusiness, HttpServletRequest request){
106
+        ResponseBean responseBean = new ResponseBean();
107
+        try {
108
+            TaContractTemplate taContractTemplate = iTaContractTemplateService.getById(taContractBusiness.getContractTemplateId());
109
+            taContractBusiness.setContractTemplateName(taContractTemplate.getContractTemplateName());
110
+            Integer targetId = taContractBusiness.getTargetId();
111
+            QueryWrapper<TaContractBusiness> taContractBusinessQueryWrapper = new QueryWrapper<>();
112
+            taContractBusinessQueryWrapper.eq("org_id", getOrgId(request));
113
+            taContractBusinessQueryWrapper.eq("status", CommConstant.STATUS_NORMAL);
114
+            taContractBusinessQueryWrapper.eq("target_id", targetId);
115
+            Integer contractBusinessNum = iTaContractBusinessService.count(taContractBusinessQueryWrapper);
116
+            if (contractBusinessNum > 0 && CommConstant.STATUS_NORMAL.equals(taContractBusiness.getStatus())){
117
+                responseBean.addError("所选业务已有发布的业务配置,无法再新增已发布的业务配置");
118
+                return responseBean;
119
+            }
120
+
121
+            taContractBusiness.setOrgId(getOrgId(request));
122
+            taContractBusiness.setCreateDate(LocalDateTime.now());
123
+            taContractBusiness.setUpdateDate(LocalDateTime.now());
124
+            if (iTaContractBusinessService.save(taContractBusiness)){
125
+                responseBean.addSuccess(taContractBusiness);
126
+            }else {
127
+                responseBean.addError("fail");
128
+            }
129
+        }catch (Exception e){
130
+            e.printStackTrace();
131
+            logger.error("taContractBusinessAdd -=- {}",e.toString());
132
+            responseBean.addError(e.getMessage());
133
+        }
134
+        return responseBean;
135
+    }
136
+
137
+    /**
138
+     * 根据id删除对象
139
+     * @param id  实体ID
140
+     */
141
+    @ResponseBody
142
+    @RequestMapping(value="/taContractBusiness/{id}", method= RequestMethod.PUT)
143
+    public ResponseBean taContractBusinessDelete(@PathVariable Integer id){
144
+        ResponseBean responseBean = new ResponseBean();
145
+        try {
146
+            if(iTaContractBusinessService.removeById(id)){
147
+                responseBean.addSuccess("success");
148
+            }else {
149
+                responseBean.addError("fail");
150
+            }
151
+        }catch (Exception e){
152
+            e.printStackTrace();
153
+            logger.error("taContractBusinessDelete -=- {}",e.toString());
154
+            responseBean.addError(e.getMessage());
155
+        }
156
+        return responseBean;
157
+    }
158
+
159
+    /**
160
+     * 根据id批量删除对象
161
+     */
162
+    @ResponseBody
163
+    @RequestMapping(value="/admin/batchDelBusinessConfig", method= RequestMethod.PUT)
164
+    public ResponseBean batchDelBusinessConfig(@RequestBody TaContractBusiness contractBusinesses, HttpServletRequest request){
165
+        ResponseBean responseBean = new ResponseBean();
166
+        for (TaContractBusiness taContractBusiness : contractBusinesses.getContractBusinessList()){
167
+            taContractBusiness.setStatus(CommConstant.STATUS_DELETE);
168
+        }
169
+        try{
170
+            iTaContractBusinessService.updateBatchById(contractBusinesses.getContractBusinessList());
171
+            responseBean.addSuccess("success");
172
+        }catch (Exception e){
173
+            e.printStackTrace();
174
+            responseBean.addError("fail");
175
+        }
176
+
177
+        return responseBean;
178
+    }
179
+
180
+    /**
181
+     * 修改对象
182
+     * @param id  实体ID
183
+     * @param taContractBusiness 实体对象
184
+     * @return
185
+     */
186
+    @RequestMapping(value="/admin/taContractBusiness/{id}",method= RequestMethod.PUT)
187
+    public ResponseBean taContractBusinessUpdate(@PathVariable Integer id,
188
+                                        @RequestBody TaContractBusiness taContractBusiness, HttpServletRequest request){
189
+        ResponseBean responseBean = new ResponseBean();
190
+        try {
191
+            TaContractTemplate taContractTemplate = iTaContractTemplateService.getById(taContractBusiness.getContractTemplateId());
192
+            TaRaise taRaise = taRaiseMapper.getRaiseById(taContractBusiness.getTargetId(), getOrgId(request));
193
+            TaCompany taCompany = iTaCompanyService.getById(taContractBusiness.getCompanyId());
194
+
195
+            Integer targetId = taContractBusiness.getTargetId();
196
+            QueryWrapper<TaContractBusiness> taContractBusinessQueryWrapper = new QueryWrapper<>();
197
+            taContractBusinessQueryWrapper.eq("org_id", getOrgId(request));
198
+            taContractBusinessQueryWrapper.eq("status", CommConstant.STATUS_NORMAL);
199
+            taContractBusinessQueryWrapper.eq("target_id", targetId);
200
+            taContractBusinessQueryWrapper.ne("contract_business_id", id);
201
+
202
+
203
+            Integer contractBusinessNum = iTaContractBusinessService.count(taContractBusinessQueryWrapper);
204
+            if (contractBusinessNum > 0 && CommConstant.STATUS_NORMAL.equals(taContractBusiness.getStatus())){
205
+                responseBean.addError("所选业务已有发布的业务配置,无法再新增已发布的业务配置");
206
+                return responseBean;
207
+            }
208
+
209
+            taContractBusiness.setContractBusinessId(id);
210
+            taContractBusiness.setContractTemplateName(taContractTemplate.getContractTemplateName());
211
+            taContractBusiness.setTargetName(taRaise.getSalesBatchName());
212
+            taContractBusiness.setCompanyName(taCompany.getCompanyName());
213
+            taContractBusiness.setUpdateDate(LocalDateTime.now());
214
+            if (iTaContractBusinessService.updateById(taContractBusiness)){
215
+                responseBean.addSuccess(taContractBusiness);
216
+            }else {
217
+                responseBean.addError("fail");
218
+            }
219
+        }catch (Exception e){
220
+            e.printStackTrace();
221
+            logger.error("taContractBusinessUpdate -=- {}",e.toString());
222
+            responseBean.addError(e.getMessage());
223
+        }
224
+        return responseBean;
225
+    }
226
+
227
+    /**
228
+     * 根据id查询对象
229
+     * @param id  实体ID
230
+     */
231
+    @RequestMapping(value="/admin/taContractBusiness/{id}",method= RequestMethod.GET)
232
+    public ResponseBean taContractBusinessGet(@PathVariable Integer id){
233
+        ResponseBean responseBean = new ResponseBean();
234
+        try {
235
+            responseBean.addSuccess(iTaContractBusinessService.getById(id));
236
+        }catch (Exception e){
237
+            e.printStackTrace();
238
+            logger.error("taContractBusinessDelete -=- {}",e.toString());
239
+            responseBean.addError(e.getMessage());
240
+        }
241
+        return responseBean;
242
+    }
243
+}

+ 331
- 0
src/main/java/com/huiju/estateagents/eContract/controller/TaContractController.java Dosyayı Görüntüle

@@ -0,0 +1,331 @@
1
+package com.huiju.estateagents.eContract.controller;
2
+
3
+import com.alibaba.fastjson.JSONObject;
4
+import com.fadada.sdk.client.FddClientBase;
5
+import com.huiju.estateagents.base.BaseController;
6
+import com.huiju.estateagents.base.ResponseBean;
7
+import com.huiju.estateagents.bo.request.ContractRecordRequestBO;
8
+import com.huiju.estateagents.common.CommonUtils;
9
+import com.huiju.estateagents.config.FadadaProperties;
10
+import com.huiju.estateagents.eContract.entity.TaContract;
11
+import com.huiju.estateagents.eContract.entity.TaContractUser;
12
+import com.huiju.estateagents.eContract.service.ITaContractService;
13
+import com.huiju.estateagents.entity.TaPerson;
14
+import com.huiju.estateagents.entity.TaRaiseRecord;
15
+import com.huiju.estateagents.service.ITaPersonService;
16
+import org.apache.commons.lang3.StringUtils;
17
+import com.huiju.estateagents.entity.TaRaise;
18
+import com.huiju.estateagents.entity.TaSalesBatch;
19
+import com.huiju.estateagents.service.ITaRaiseService;
20
+import com.huiju.estateagents.service.ITaSalesBatchService;
21
+import org.slf4j.Logger;
22
+import org.slf4j.LoggerFactory;
23
+import org.springframework.beans.factory.annotation.Autowired;
24
+import org.springframework.format.annotation.DateTimeFormat;
25
+import org.springframework.web.bind.annotation.*;
26
+
27
+import javax.servlet.http.HttpServletRequest;
28
+import java.time.LocalDate;
29
+import java.util.List;
30
+import java.time.LocalDateTime;
31
+
32
+
33
+/**
34
+ * <p>
35
+ * 合同列表  前端控制器
36
+ * </p>
37
+ *
38
+ * @author fxf
39
+ * @since 2020-03-26
40
+ */
41
+@RestController
42
+@RequestMapping("/api")
43
+public class TaContractController extends BaseController {
44
+
45
+    private final Logger logger = LoggerFactory.getLogger(TaContractController.class);
46
+
47
+    @Autowired
48
+    private ITaContractService iTaContractService;
49
+
50
+    @Autowired
51
+    private ITaRaiseService iTaRaiseService;
52
+
53
+    @Autowired
54
+    private ITaSalesBatchService iTaSalesBatchService;
55
+
56
+
57
+    @Autowired
58
+    public ITaPersonService taPersonService;
59
+
60
+    @Autowired
61
+    private FadadaProperties fadadaProperties;
62
+
63
+    /**
64
+     * 条件查询合同列表 -- admin端
65
+     *
66
+     * @param pageNum
67
+     * @param pageSize
68
+     * @param contractName
69
+     * @param archives
70
+     * @param signatoryName
71
+     * @param signatoryStatus   甲方是否签署,1是,0否,2全部
72
+     * @param customerName
73
+     * @param customerStatus    乙方是否签署,1是,0否,2全部
74
+     * @param archivesStartDate
75
+     * @param archivesEndDate
76
+     * @return
77
+     */
78
+    @RequestMapping(value = "/admin/contract/list", method = RequestMethod.GET)
79
+    public ResponseBean listContractForAdmin(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
80
+                                             @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
81
+                                             String contractName, Boolean archives,
82
+                                             String signatoryName, Integer signatoryStatus,
83
+                                             String customerName, Integer customerStatus,
84
+                                             @RequestParam(value = "archivesStartDate", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) LocalDate archivesStartDate,
85
+                                             @RequestParam(value = "archivesEndDate", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) LocalDate archivesEndDate,
86
+                                             HttpServletRequest request) {
87
+        ResponseBean responseBean = new ResponseBean();
88
+        try {
89
+            responseBean = iTaContractService.listContractForAdmin(pageNum, pageSize, contractName, archives, signatoryName, signatoryStatus, customerName, customerStatus, archivesStartDate, archivesEndDate, getOrgId(request));
90
+            logger.info("TaContractController.listContractForAdmin 返回结果:{}", JSONObject.toJSONString(responseBean));
91
+        } catch (Exception e) {
92
+            logger.error("TaContractController.listContractForAdmin 异常:", e);
93
+            responseBean.addError(e.getMessage());
94
+        }
95
+        return responseBean;
96
+    }
97
+
98
+
99
+    /**
100
+     * 条件查询合同列表 -- channel端
101
+     *
102
+     * @param requestBO
103
+     * @return
104
+     */
105
+    @RequestMapping(value = "/channel/contract/list", method = RequestMethod.GET)
106
+    public ResponseBean listContractForChannel(ContractRecordRequestBO requestBO) {
107
+        ResponseBean responseBean = new ResponseBean();
108
+        try {
109
+            responseBean = iTaContractService.listContractForChannel(requestBO);
110
+            logger.info("TaContractController.listContractForChannel 返回结果:{}", JSONObject.toJSONString(responseBean));
111
+        } catch (Exception e) {
112
+            logger.error("TaContractController.listContractForChannel 异常:", e);
113
+            responseBean.addError(e.getMessage());
114
+        }
115
+        return responseBean;
116
+    }
117
+
118
+    /**
119
+     * 批量结算
120
+     *
121
+     * @return
122
+     */
123
+    @RequestMapping(value = "/channel/contract/batchUpdatePrice", method = RequestMethod.PUT)
124
+    public ResponseBean batchUpdateSettlementPrice(@RequestBody TaContract taContract) {
125
+        ResponseBean responseBean = new ResponseBean();
126
+        try {
127
+            // 校验参数
128
+            if (taContract.getPrice() == null) {
129
+                responseBean.addError("请填写结算金额");
130
+                return responseBean;
131
+            }
132
+
133
+            // 校验金额是否符合要求
134
+            if (!CommonUtils.isAmount(taContract.getPrice() + "")) {
135
+                responseBean.addError("结算金额不符合要求");
136
+                return responseBean;
137
+            }
138
+
139
+            // 元转分
140
+            Double price = taContract.getPrice() * 100;
141
+            taContract.getTaContractList().stream().forEach(record -> {
142
+                record.setSettlement(true);
143
+                record.setSettlementPrice(price.intValue());
144
+                record.setSettlementTime(LocalDateTime.now());
145
+            });
146
+            responseBean.addSuccess(iTaContractService.updateBatchById(taContract.getTaContractList()));
147
+
148
+        } catch (Exception e) {
149
+            logger.error("TaContractController.batchUpdateSettlementPrice 异常:", e);
150
+            responseBean.addError(e.getMessage());
151
+        }
152
+        return responseBean;
153
+    }
154
+
155
+    /**
156
+     * 保存对象
157
+     *
158
+     * @param taContract 实体对象
159
+     * @return
160
+     */
161
+    @RequestMapping(value = "/taContract", method = RequestMethod.POST)
162
+    public ResponseBean taContractAdd(@RequestBody TaContract taContract) {
163
+        ResponseBean responseBean = new ResponseBean();
164
+        try {
165
+            if (iTaContractService.save(taContract)) {
166
+                responseBean.addSuccess(taContract);
167
+            } else {
168
+                responseBean.addError("fail");
169
+            }
170
+        } catch (Exception e) {
171
+            e.printStackTrace();
172
+            logger.error("taContractAdd -=- {}", e.toString());
173
+            responseBean.addError(e.getMessage());
174
+        }
175
+        return responseBean;
176
+    }
177
+
178
+    /**
179
+     * 根据id删除对象
180
+     *
181
+     * @param id 实体ID
182
+     */
183
+    @ResponseBody
184
+    @RequestMapping(value = "/taContract/{id}", method = RequestMethod.DELETE)
185
+    public ResponseBean taContractDelete(@PathVariable Integer id) {
186
+        ResponseBean responseBean = new ResponseBean();
187
+        try {
188
+            if (iTaContractService.removeById(id)) {
189
+                responseBean.addSuccess("success");
190
+            } else {
191
+                responseBean.addError("fail");
192
+            }
193
+        } catch (Exception e) {
194
+            e.printStackTrace();
195
+            logger.error("taContractDelete -=- {}", e.toString());
196
+            responseBean.addError(e.getMessage());
197
+        }
198
+        return responseBean;
199
+    }
200
+
201
+    /**
202
+     * 修改对象
203
+     *
204
+     * @param id         实体ID
205
+     * @param taContract 实体对象
206
+     * @return
207
+     */
208
+    @RequestMapping(value = "/admin/contract/{id}", method = RequestMethod.PUT)
209
+    public ResponseBean taContractUpdate(@PathVariable Integer id,
210
+                                         @RequestBody TaContract taContract) {
211
+        ResponseBean responseBean = new ResponseBean();
212
+        try {
213
+            if (taContract.getArchives() != null && taContract.getArchives()) {
214
+                taContract.setArchivesTime(LocalDateTime.now());
215
+            }
216
+            if (iTaContractService.updateById(taContract)) {
217
+                FddClientBase base = new FddClientBase(fadadaProperties.getAppId(),fadadaProperties.getAppSecret(),fadadaProperties.getVersion(),fadadaProperties.getServeHost());
218
+                String contract_id = taContract.getContractId().toString();
219
+                String result = base.invokeContractFilling(contract_id);
220
+                logger.info("合同归档结果{}",result);
221
+                responseBean.addSuccess(iTaContractService.getById(taContract.getContractId()));
222
+            } else {
223
+                responseBean.addError("fail");
224
+            }
225
+        } catch (Exception e) {
226
+            e.printStackTrace();
227
+            logger.error("taContractUpdate -=- {}", e.toString());
228
+            responseBean.addError(e.getMessage());
229
+        }
230
+        return responseBean;
231
+    }
232
+
233
+    /**
234
+     * 根据id查询对象
235
+     *
236
+     * @param id 实体ID
237
+     */
238
+    @RequestMapping(value = "/admin/contract/{id}", method = RequestMethod.GET)
239
+    public ResponseBean taContractGet(@PathVariable Integer id) {
240
+        ResponseBean responseBean = new ResponseBean();
241
+        try {
242
+            TaContract taContract = iTaContractService.getById(id);
243
+            if(taContract != null){
244
+                TaRaise taRaise = iTaRaiseService.getById(taContract.getTargetId());
245
+                if(taRaise != null){
246
+                    TaSalesBatch taSalesBatch = iTaSalesBatchService.getById(taRaise.getSalesBatchId());
247
+                    if(taSalesBatch != null){
248
+                        taContract.setTargetName(taSalesBatch.getSalesBatchName());
249
+                    }
250
+                }
251
+            }
252
+            responseBean.addSuccess(taContract);
253
+        } catch (Exception e) {
254
+            e.printStackTrace();
255
+            logger.error("taContractDelete -=- {}", e.toString());
256
+            responseBean.addError(e.getMessage());
257
+        }
258
+        return responseBean;
259
+    }
260
+
261
+    /**
262
+     * 自动签署合同
263
+     */
264
+    @RequestMapping(value = "/wx/contract/auto", method = RequestMethod.POST)
265
+    public ResponseBean autoContract(@RequestBody TaRaiseRecord taRaiseRecord, HttpServletRequest request) {
266
+        ResponseBean responseBean = new ResponseBean();
267
+        try {
268
+            String openid = getOpenId(request);
269
+            List<TaPerson> taPersons = taPersonService.getPersonsByOpenId(openid);
270
+            if (null == taPersons || taPersons.size() != 1) {
271
+                return ResponseBean.error("验证人员信息失败", ResponseBean.ERROR_UNAVAILABLE);
272
+            }
273
+            TaPerson person = taPersons.get(0);
274
+            TaContract taContract = iTaContractService.autoContract(taRaiseRecord, person);
275
+            responseBean.addSuccess(taContract);
276
+        } catch (Exception e) {
277
+            e.printStackTrace();
278
+            logger.error("taCompanyList -=- {}", e.toString());
279
+            responseBean.addError(e.getMessage());
280
+        }
281
+        return responseBean;
282
+    }
283
+
284
+
285
+    /**
286
+     * 手动签署合同
287
+     */
288
+    @RequestMapping(value = "/wx/contract/manual", method = RequestMethod.POST)
289
+    public ResponseBean manualContract(@RequestBody TaContract taContract, HttpServletRequest request) {
290
+        ResponseBean responseBean = new ResponseBean();
291
+        try {
292
+            String openid = getOpenId(request);
293
+            List<TaPerson> taPersons = taPersonService.getPersonsByOpenId(openid);
294
+            if (null == taPersons || taPersons.size() != 1) {
295
+                return ResponseBean.error("验证人员信息失败", ResponseBean.ERROR_UNAVAILABLE);
296
+            }
297
+            TaPerson person = taPersons.get(0);
298
+            String signUrl = iTaContractService.manualContract(taContract, person);
299
+            return ResponseBean.success(signUrl);
300
+        } catch (Exception e) {
301
+            e.printStackTrace();
302
+            logger.error("taCompanyList -=- {}", e.toString());
303
+            responseBean.addError(e.getMessage());
304
+        }
305
+        return responseBean;
306
+    }
307
+
308
+
309
+    /**
310
+     * 自动签署合同
311
+     */
312
+    @RequestMapping(value = "/wx/contract/check", method = RequestMethod.POST)
313
+    public ResponseBean checkContract(@RequestBody TaRaiseRecord taRaiseRecord, HttpServletRequest request) {
314
+        ResponseBean responseBean = new ResponseBean();
315
+        try {
316
+            String openid = getOpenId(request);
317
+            List<TaPerson> taPersons = taPersonService.getPersonsByOpenId(openid);
318
+            if (null == taPersons || taPersons.size() != 1) {
319
+                return ResponseBean.error("验证人员信息失败", ResponseBean.ERROR_UNAVAILABLE);
320
+            }
321
+            TaPerson person = taPersons.get(0);
322
+            TaContract taContract = iTaContractService.checkContract(taRaiseRecord, person);
323
+            responseBean.addSuccess(taContract);
324
+        } catch (Exception e) {
325
+            e.printStackTrace();
326
+            logger.error("taCompanyList -=- {}", e.toString());
327
+            responseBean.addError(e.getMessage());
328
+        }
329
+        return responseBean;
330
+    }
331
+}

+ 182
- 0
src/main/java/com/huiju/estateagents/eContract/controller/TaContractTemplateController.java Dosyayı Görüntüle

@@ -0,0 +1,182 @@
1
+package com.huiju.estateagents.eContract.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 com.huiju.estateagents.common.CommConstant;
10
+import com.huiju.estateagents.eContract.entity.TaContractTemplate;
11
+import com.huiju.estateagents.eContract.service.ITaContractTemplateService;
12
+import org.apache.commons.lang3.StringUtils;
13
+import org.slf4j.Logger;
14
+import org.slf4j.LoggerFactory;
15
+import org.springframework.beans.factory.annotation.Autowired;
16
+import org.springframework.web.bind.annotation.*;
17
+
18
+import javax.servlet.http.HttpServletRequest;
19
+
20
+import java.time.LocalDateTime;
21
+import java.util.List;
22
+
23
+/**
24
+ * <p>
25
+    * 合同模板  前端控制器
26
+    * </p>
27
+ *
28
+ * @author fxf
29
+ * @since 2020-03-26
30
+ */
31
+@RestController
32
+@RequestMapping("/api")
33
+public class TaContractTemplateController extends BaseController {
34
+
35
+    private final Logger logger = LoggerFactory.getLogger(TaContractTemplateController.class);
36
+
37
+    @Autowired
38
+    public ITaContractTemplateService iTaContractTemplateService;
39
+
40
+
41
+    /**
42
+     * 分页查询列表
43
+     *
44
+     * @param pageNum
45
+     * @param pageSize
46
+     * @return
47
+     */
48
+    @RequestMapping(value="/admin/taContractTemplate",method= RequestMethod.GET)
49
+    public ResponseBean taContractTemplateList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
50
+                                               @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
51
+                                               @RequestParam(value ="contractTemplateName", required = false) String contractTemplateName,
52
+                                               HttpServletRequest request){
53
+        ResponseBean responseBean = new ResponseBean();
54
+        try {
55
+            //使用分页插件
56
+		    IPage<TaContractTemplate> pg = new Page<>(pageNum, pageSize);
57
+            QueryWrapper<TaContractTemplate> queryWrapper = new QueryWrapper<>();
58
+            queryWrapper.eq("org_id", getOrgId(request));
59
+            queryWrapper.eq("status", CommConstant.STATUS_NORMAL);
60
+            queryWrapper.like(!StringUtils.isEmpty(contractTemplateName),"contract_template_name", contractTemplateName);
61
+            queryWrapper.orderByDesc("create_date");
62
+
63
+            IPage<TaContractTemplate> result = iTaContractTemplateService.page(pg, queryWrapper);
64
+            responseBean.addSuccess(result);
65
+        }catch (Exception e){
66
+            e.printStackTrace();
67
+            logger.error("taContractTemplateList -=- {}",e.toString());
68
+            responseBean.addError(e.getMessage());
69
+        }
70
+        return responseBean;
71
+    }
72
+
73
+    /**
74
+     * 保存对象
75
+     *
76
+     * @param taContractTemplate 实体对象
77
+     * @return
78
+     */
79
+    @RequestMapping(value = "/admin/contract/template/add", method = RequestMethod.POST)
80
+    public ResponseBean taContractTemplateAdd(@RequestBody TaContractTemplate taContractTemplate,HttpServletRequest request) {
81
+        ResponseBean responseBean = new ResponseBean();
82
+        try {
83
+            taContractTemplate.setCreateDate(LocalDateTime.now());
84
+            taContractTemplate.setStatus(CommConstant.STATUS_NORMAL);
85
+            taContractTemplate.setOrgId(getOrgId(request));
86
+            if (iTaContractTemplateService.save(taContractTemplate)) {
87
+                responseBean.addSuccess(taContractTemplate);
88
+            } else {
89
+                responseBean.addError("fail");
90
+            }
91
+        } catch (Exception e) {
92
+            e.printStackTrace();
93
+            logger.error("taContractTemplateAdd -=- {}", e.toString());
94
+            responseBean.addError(e.getMessage());
95
+        }
96
+        return responseBean;
97
+    }
98
+
99
+    /**
100
+     * 批量删除合同模板
101
+     *
102
+     * @param taContractTemplateList
103
+     */
104
+    @ResponseBody
105
+    @RequestMapping(value = "/admin/contract/template/batchDelete", method = RequestMethod.PUT)
106
+    public ResponseBean batchDeleteContractTemplate(@RequestBody List<TaContractTemplate> taContractTemplateList) {
107
+        ResponseBean responseBean = new ResponseBean();
108
+        try {
109
+            taContractTemplateList.stream().forEach(record -> {
110
+                record.setStatus(CommConstant.STATUS_DELETE);
111
+            });
112
+            responseBean.addSuccess(iTaContractTemplateService.updateBatchById(taContractTemplateList));
113
+        } catch (Exception e) {
114
+            logger.error("batchDeleteContractTemplate -=- {}", e);
115
+            responseBean.addError(e.getMessage());
116
+        }
117
+        return responseBean;
118
+    }
119
+
120
+    /**
121
+     * 根据id删除对象
122
+     * @param id  实体ID
123
+     */
124
+    @ResponseBody
125
+    @RequestMapping(value="/taContractTemplate/{id}", method= RequestMethod.DELETE)
126
+    public ResponseBean taContractTemplateDelete(@PathVariable Integer id){
127
+        ResponseBean responseBean = new ResponseBean();
128
+        try {
129
+            if(iTaContractTemplateService.removeById(id)){
130
+                responseBean.addSuccess("success");
131
+            }else {
132
+                responseBean.addError("fail");
133
+            }
134
+        }catch (Exception e){
135
+            e.printStackTrace();
136
+            logger.error("taContractTemplateDelete -=- {}",e.toString());
137
+            responseBean.addError(e.getMessage());
138
+        }
139
+        return responseBean;
140
+    }
141
+
142
+    /**
143
+     * 修改对象
144
+     * @param id  实体ID
145
+     * @param taContractTemplate 实体对象
146
+     * @return
147
+     */
148
+    @RequestMapping(value="/taContractTemplate/{id}",method= RequestMethod.PUT)
149
+    public ResponseBean taContractTemplateUpdate(@PathVariable Integer id,
150
+                                        @RequestBody TaContractTemplate taContractTemplate){
151
+        ResponseBean responseBean = new ResponseBean();
152
+        try {
153
+            if (iTaContractTemplateService.updateById(taContractTemplate)){
154
+                responseBean.addSuccess(taContractTemplate);
155
+            }else {
156
+                responseBean.addError("fail");
157
+            }
158
+        }catch (Exception e){
159
+            e.printStackTrace();
160
+            logger.error("taContractTemplateUpdate -=- {}",e.toString());
161
+            responseBean.addError(e.getMessage());
162
+        }
163
+        return responseBean;
164
+    }
165
+
166
+    /**
167
+     * 根据id查询对象
168
+     * @param id  实体ID
169
+     */
170
+    @RequestMapping(value="/admin/taContractTemplate/{id}",method= RequestMethod.GET)
171
+    public ResponseBean taContractTemplateGet(@PathVariable String id){
172
+        ResponseBean responseBean = new ResponseBean();
173
+        try {
174
+            responseBean.addSuccess(iTaContractTemplateService.getById(id));
175
+        }catch (Exception e){
176
+            e.printStackTrace();
177
+            logger.error("taContractTemplateDelete -=- {}",e.toString());
178
+            responseBean.addError(e.getMessage());
179
+        }
180
+        return responseBean;
181
+    }
182
+}

+ 206
- 0
src/main/java/com/huiju/estateagents/eContract/controller/TaContractUserController.java Dosyayı Görüntüle

@@ -0,0 +1,206 @@
1
+package com.huiju.estateagents.eContract.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.eContract.entity.TaCompany;
9
+import com.huiju.estateagents.eContract.entity.TaContractUser;
10
+import com.huiju.estateagents.eContract.service.ITaContractUserService;
11
+import com.huiju.estateagents.entity.TaPerson;
12
+import com.huiju.estateagents.entity.TaRaiseRecord;
13
+import com.huiju.estateagents.service.ITaPersonService;
14
+import com.huiju.estateagents.service.ITaRaiseRecordService;
15
+import org.slf4j.Logger;
16
+import org.slf4j.LoggerFactory;
17
+import org.springframework.beans.factory.annotation.Autowired;
18
+import org.springframework.web.bind.annotation.*;
19
+
20
+import javax.servlet.http.HttpServletRequest;
21
+import java.util.List;
22
+
23
+/**
24
+ * <p>
25
+    * 电子合同注册用户表  前端控制器
26
+    * </p>
27
+ *
28
+ * @author fxf
29
+ * @since 2020-03-26
30
+ */
31
+@RestController
32
+@RequestMapping("/api")
33
+public class TaContractUserController extends BaseController {
34
+
35
+    private final Logger logger = LoggerFactory.getLogger(TaContractUserController.class);
36
+
37
+    @Autowired
38
+    public ITaContractUserService iTaContractUserService;
39
+
40
+
41
+    @Autowired
42
+    public ITaPersonService taPersonService;
43
+
44
+    @Autowired
45
+    private ITaRaiseRecordService taRaiseRecordService;
46
+
47
+    /**
48
+     * 分页查询列表
49
+     * @param pageNum
50
+     * @param pageSize
51
+     * @return
52
+     */
53
+    @RequestMapping(value="/taContractUser",method= RequestMethod.GET)
54
+    public ResponseBean taContractUserList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
55
+									 @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize){
56
+        ResponseBean responseBean = new ResponseBean();
57
+        try {
58
+            //使用分页插件
59
+		    IPage<TaContractUser> pg = new Page<>(pageNum, pageSize);
60
+            QueryWrapper<TaContractUser> queryWrapper = new QueryWrapper<>();
61
+            queryWrapper.orderByDesc("create_date");
62
+
63
+            IPage<TaContractUser> result = iTaContractUserService.page(pg, queryWrapper);
64
+            responseBean.addSuccess(result);
65
+        }catch (Exception e){
66
+            e.printStackTrace();
67
+            logger.error("taContractUserList -=- {}",e.toString());
68
+            responseBean.addError(e.getMessage());
69
+        }
70
+        return responseBean;
71
+    }
72
+
73
+    /**
74
+     * 保存对象
75
+     * @param taContractUser 实体对象
76
+     * @return
77
+     */
78
+    @RequestMapping(value="/taContractUser",method= RequestMethod.POST)
79
+    public ResponseBean taContractUserAdd(@RequestBody TaContractUser taContractUser){
80
+        ResponseBean responseBean = new ResponseBean();
81
+        try {
82
+            if (iTaContractUserService.save(taContractUser)){
83
+                responseBean.addSuccess(taContractUser);
84
+            }else {
85
+                responseBean.addError("fail");
86
+            }
87
+        }catch (Exception e){
88
+            e.printStackTrace();
89
+            logger.error("taContractUserAdd -=- {}",e.toString());
90
+            responseBean.addError(e.getMessage());
91
+        }
92
+        return responseBean;
93
+    }
94
+
95
+    /**
96
+     * 根据id删除对象
97
+     * @param id  实体ID
98
+     */
99
+    @ResponseBody
100
+    @RequestMapping(value="/taContractUser/{id}", method= RequestMethod.DELETE)
101
+    public ResponseBean taContractUserDelete(@PathVariable Integer id){
102
+        ResponseBean responseBean = new ResponseBean();
103
+        try {
104
+            if(iTaContractUserService.removeById(id)){
105
+                responseBean.addSuccess("success");
106
+            }else {
107
+                responseBean.addError("fail");
108
+            }
109
+        }catch (Exception e){
110
+            e.printStackTrace();
111
+            logger.error("taContractUserDelete -=- {}",e.toString());
112
+            responseBean.addError(e.getMessage());
113
+        }
114
+        return responseBean;
115
+    }
116
+
117
+    /**
118
+     * 修改对象
119
+     * @param id  实体ID
120
+     * @param taContractUser 实体对象
121
+     * @return
122
+     */
123
+    @RequestMapping(value="/taContractUser/{id}",method= RequestMethod.PUT)
124
+    public ResponseBean taContractUserUpdate(@PathVariable Integer id,
125
+                                        @RequestBody TaContractUser taContractUser){
126
+        ResponseBean responseBean = new ResponseBean();
127
+        try {
128
+            if (iTaContractUserService.updateById(taContractUser)){
129
+                responseBean.addSuccess(taContractUser);
130
+            }else {
131
+                responseBean.addError("fail");
132
+            }
133
+        }catch (Exception e){
134
+            e.printStackTrace();
135
+            logger.error("taContractUserUpdate -=- {}",e.toString());
136
+            responseBean.addError(e.getMessage());
137
+        }
138
+        return responseBean;
139
+    }
140
+
141
+    /**
142
+     * 根据id查询对象
143
+     * @param id  实体ID
144
+     */
145
+    @RequestMapping(value="/taContractUser/{id}",method= RequestMethod.GET)
146
+    public ResponseBean taContractUserGet(@PathVariable Integer id){
147
+        ResponseBean responseBean = new ResponseBean();
148
+        try {
149
+            responseBean.addSuccess(iTaContractUserService.getById(id));
150
+        }catch (Exception e){
151
+            e.printStackTrace();
152
+            logger.error("taContractUserDelete -=- {}",e.toString());
153
+            responseBean.addError(e.getMessage());
154
+        }
155
+        return responseBean;
156
+    }
157
+
158
+
159
+
160
+    /**
161
+     * 给用户在法大大注册账号
162
+     */
163
+    @RequestMapping(value = "/wx/contract/user/add", method = RequestMethod.POST)
164
+    public ResponseBean addCompanyFirstInfo(@RequestBody TaRaiseRecord taRaiseRecord,HttpServletRequest request) {
165
+        ResponseBean responseBean = new ResponseBean();
166
+        try {
167
+            String openid = getOpenId(request);
168
+            List<TaPerson> taPersons = taPersonService.getPersonsByOpenId(openid);
169
+            if (null == taPersons || taPersons.size() != 1) {
170
+                return ResponseBean.error("验证人员信息失败", ResponseBean.ERROR_UNAVAILABLE);
171
+            }
172
+            TaPerson person = taPersons.get(0);
173
+            TaContractUser taContractUser = iTaContractUserService.newFirstCustomerInfo(person,taRaiseRecordService.getById(taRaiseRecord.getRaiseRecordId()));
174
+            responseBean.addSuccess(taContractUser);
175
+        } catch (Exception e) {
176
+            e.printStackTrace();
177
+            logger.error("taCompanyList -=- {}", e.toString());
178
+            responseBean.addError(e.getMessage());
179
+        }
180
+        return responseBean;
181
+    }
182
+
183
+
184
+    /**
185
+     * 获取个人用户的最新状态
186
+     */
187
+    @RequestMapping(value = "/wx/contract/user/get", method = RequestMethod.GET)
188
+    public ResponseBean getCompanyFirstInfo(HttpServletRequest request) {
189
+        ResponseBean responseBean = new ResponseBean();
190
+        try {
191
+            String openid = getOpenId(request);
192
+            List<TaPerson> taPersons = taPersonService.getPersonsByOpenId(openid);
193
+            if (null == taPersons || taPersons.size() != 1) {
194
+                return ResponseBean.error("验证人员信息失败", ResponseBean.ERROR_UNAVAILABLE);
195
+            }
196
+            TaPerson person = taPersons.get(0);
197
+            TaContractUser taContractUser = iTaContractUserService.getFirstCustomerInfo(person);
198
+            responseBean.addSuccess(taContractUser);
199
+        } catch (Exception e) {
200
+            e.printStackTrace();
201
+            logger.error("taCompanyList -=- {}", e.toString());
202
+            responseBean.addError(e.getMessage());
203
+        }
204
+        return responseBean;
205
+    }
206
+}

+ 173
- 0
src/main/java/com/huiju/estateagents/eContract/entity/TaCompany.java Dosyayı Görüntüle

@@ -0,0 +1,173 @@
1
+package com.huiju.estateagents.eContract.entity;
2
+
3
+import com.baomidou.mybatisplus.annotation.IdType;
4
+import com.baomidou.mybatisplus.annotation.TableField;
5
+import com.baomidou.mybatisplus.annotation.TableId;
6
+import java.time.LocalDateTime;
7
+import java.io.Serializable;
8
+import lombok.Data;
9
+import lombok.EqualsAndHashCode;
10
+import lombok.experimental.Accessors;
11
+
12
+/**
13
+ * <p>
14
+ * 企业认证表 
15
+ * </p>
16
+ *
17
+ * @author fxf
18
+ * @since 2020-03-26
19
+ */
20
+@Data
21
+@EqualsAndHashCode(callSuper = false)
22
+@Accessors(chain = true)
23
+public class TaCompany implements Serializable {
24
+
25
+    private static final long serialVersionUID = 1L;
26
+
27
+    /**
28
+     * 企业id
29
+     */
30
+    @TableId(value = "company_id", type = IdType.AUTO)
31
+    private Integer companyId;
32
+
33
+    /**
34
+     * 企业名称
35
+     */
36
+    private String companyName;
37
+
38
+    /**
39
+     * 企业编号
40
+     */
41
+    private String companyCode;
42
+
43
+    /**
44
+     * 法大大客户编号
45
+     */
46
+    private String fadadaCode;
47
+
48
+    /**
49
+     * 认证企业人员的身份 legal法人agent代理人
50
+     */
51
+    private String companyManagerType;
52
+
53
+    /**
54
+     * 认证序列号 认证的序列号
55
+     */
56
+    private String certifiedSerialNumber;
57
+
58
+    /**
59
+     * 实名认证地址 实名认证地址
60
+     */
61
+    private String certifiedAddress;
62
+
63
+    /**
64
+     * 实名认证状态 实名认证状态
65
+     */
66
+    private String certifiedStatus;
67
+
68
+    /**
69
+     * 不通过原因
70
+     */
71
+    private String reason;
72
+
73
+    /**
74
+     * 审核时间
75
+     */
76
+    private LocalDateTime verifyTime;
77
+
78
+    /**
79
+     * 认证方式 认证方式
80
+     */
81
+    private Integer certifiedType;
82
+
83
+    /**
84
+     * 创建时间
85
+     */
86
+    private LocalDateTime createDate;
87
+
88
+    /**
89
+     * 状态 1有效0无效-1删除
90
+     */
91
+    private Integer status;
92
+
93
+    /**
94
+     * 统一社会信用代码
95
+     */
96
+    private String creditCode;
97
+
98
+    /**
99
+     * 银行名称
100
+     */
101
+    private String bankName;
102
+
103
+    /**
104
+     * 银行帐号
105
+     */
106
+    private String bankAccount;
107
+
108
+    /**
109
+     * 开户支行名称
110
+     */
111
+    private String subbranchName;
112
+
113
+    /**
114
+     * 姓名
115
+     */
116
+    private String userName;
117
+
118
+    /**
119
+     * 手机号
120
+     */
121
+    private String tel;
122
+
123
+    /**
124
+     * 身份证号码
125
+     */
126
+    private String idCard;
127
+
128
+    /**
129
+     * 自动签章授权状态
130
+     */
131
+    private String authorizeStatus;
132
+
133
+    /**
134
+     * 授权类型
135
+     */
136
+    private String authorizeType;
137
+
138
+    /**
139
+     * 授权流水号
140
+     */
141
+    private String authorizeTransactionId;
142
+
143
+    /**
144
+     * 授权签署地址
145
+     */
146
+    private String authorizeAddress;
147
+
148
+    /**
149
+     * 授权合同编号
150
+     */
151
+    private String authorizeContractId;
152
+
153
+    /**
154
+     * 自动签章授权结果描述
155
+     */
156
+    private String authorizeDescription;
157
+
158
+    /**
159
+     * 授权签署下载地址
160
+     */
161
+    private String authorizeDownloadUrl;
162
+
163
+    /**
164
+     * 授权签署查看地址
165
+     */
166
+    private String authorizeViewUrl;
167
+
168
+    @TableField(exist = false)
169
+    private Integer sealNum;
170
+
171
+    @TableField(exist = false)
172
+    private String contractId;
173
+}

+ 86
- 0
src/main/java/com/huiju/estateagents/eContract/entity/TaCompanyOrg.java Dosyayı Görüntüle

@@ -0,0 +1,86 @@
1
+package com.huiju.estateagents.eContract.entity;
2
+
3
+import com.baomidou.mybatisplus.annotation.IdType;
4
+import com.baomidou.mybatisplus.annotation.TableField;
5
+import com.baomidou.mybatisplus.annotation.TableId;
6
+
7
+import java.time.LocalDateTime;
8
+import java.io.Serializable;
9
+
10
+import lombok.Data;
11
+import lombok.EqualsAndHashCode;
12
+import lombok.experimental.Accessors;
13
+
14
+/**
15
+ * <p>
16
+ * 企业和组织关系表
17
+ * </p>
18
+ *
19
+ * @author fxf
20
+ * @since 2020-03-26
21
+ */
22
+@Data
23
+@EqualsAndHashCode(callSuper = false)
24
+@Accessors(chain = true)
25
+public class TaCompanyOrg implements Serializable {
26
+
27
+    private static final long serialVersionUID = 1L;
28
+
29
+    /**
30
+     * 企业和组织关系id
31
+     */
32
+    @TableId(value = "company_org_id", type = IdType.AUTO)
33
+    private Integer companyOrgId;
34
+
35
+    /**
36
+     * 创建时间
37
+     */
38
+    private LocalDateTime createDate;
39
+
40
+    /**
41
+     * 公司id
42
+     */
43
+    private Integer orgId;
44
+
45
+    /**
46
+     * 企业id
47
+     */
48
+    private Integer companyId;
49
+
50
+    /**
51
+     * 企业名称
52
+     */
53
+    @TableField(exist = false)
54
+    private String companyName;
55
+
56
+    /**
57
+     * 企业编号
58
+     */
59
+    @TableField(exist = false)
60
+    private String companyCode;
61
+
62
+    /**
63
+     * 实名认证状态 实名认证状态
64
+     */
65
+    @TableField(exist = false)
66
+    private String certifiedStatus;
67
+
68
+    /**
69
+     * 组织名称
70
+     */
71
+    @TableField(exist = false)
72
+    private String orgName;
73
+
74
+    /**
75
+     * 小程序名称
76
+     */
77
+    @TableField(exist = false)
78
+    private String miniAppName;
79
+
80
+    /**
81
+     * 认证公司状态
82
+     */
83
+    @TableField(exist = false)
84
+    private Integer companyStatus;
85
+
86
+}

+ 67
- 0
src/main/java/com/huiju/estateagents/eContract/entity/TaCompanySeal.java Dosyayı Görüntüle

@@ -0,0 +1,67 @@
1
+package com.huiju.estateagents.eContract.entity;
2
+
3
+import com.baomidou.mybatisplus.annotation.IdType;
4
+import com.baomidou.mybatisplus.annotation.TableId;
5
+import java.time.LocalDateTime;
6
+import java.io.Serializable;
7
+import lombok.Data;
8
+import lombok.EqualsAndHashCode;
9
+import lombok.experimental.Accessors;
10
+import org.springframework.beans.factory.annotation.Autowired;
11
+
12
+/**
13
+ * <p>
14
+ * 公司印章 
15
+ * </p>
16
+ *
17
+ * @author fxf
18
+ * @since 2020-03-26
19
+ */
20
+@Data
21
+@EqualsAndHashCode(callSuper = false)
22
+@Accessors(chain = true)
23
+public class TaCompanySeal implements Serializable {
24
+
25
+    private static final long serialVersionUID = 1L;
26
+
27
+    /**
28
+     * 印章id
29
+     */
30
+    @TableId(value = "seal_id", type = IdType.AUTO)
31
+    private Integer sealId;
32
+
33
+    /**
34
+     * 创建时间
35
+     */
36
+    private LocalDateTime createDate;
37
+
38
+    /**
39
+     * 企业id
40
+     */
41
+    private Integer companyId;
42
+
43
+    /**
44
+     * 印章名称
45
+     */
46
+    private String sealName;
47
+
48
+    /**
49
+     * 印章图
50
+     */
51
+    private String sealImg;
52
+
53
+    /**
54
+     * 状态 1是有效0是无效-1是删除
55
+     */
56
+    private Integer status;
57
+
58
+    /**
59
+     * 签章id
60
+     */
61
+    private String signatureId;
62
+
63
+    /**
64
+     * 默认章
65
+     */
66
+    private Integer defaultSeal;
67
+}

+ 202
- 0
src/main/java/com/huiju/estateagents/eContract/entity/TaContract.java Dosyayı Görüntüle

@@ -0,0 +1,202 @@
1
+package com.huiju.estateagents.eContract.entity;
2
+
3
+import com.baomidou.mybatisplus.annotation.IdType;
4
+import com.baomidou.mybatisplus.annotation.TableField;
5
+import com.baomidou.mybatisplus.annotation.TableId;
6
+
7
+import java.time.LocalDateTime;
8
+import java.io.Serializable;
9
+import java.util.List;
10
+
11
+import lombok.Data;
12
+import lombok.EqualsAndHashCode;
13
+import lombok.experimental.Accessors;
14
+
15
+/**
16
+ * <p>
17
+ * 合同列表
18
+ * </p>
19
+ *
20
+ * @author fxf
21
+ * @since 2020-03-26
22
+ */
23
+@Data
24
+@EqualsAndHashCode(callSuper = false)
25
+@Accessors(chain = true)
26
+public class TaContract implements Serializable {
27
+
28
+    private static final long serialVersionUID = 1L;
29
+
30
+    /**
31
+     * 合同id
32
+     */
33
+    @TableId(value = "contract_id", type = IdType.AUTO)
34
+    private Integer contractId;
35
+
36
+    /**
37
+     * 企业id
38
+     */
39
+    private Integer companyId;
40
+
41
+    /**
42
+     * 公司id
43
+     */
44
+    private Integer orgId;
45
+    /**
46
+     * 楼盘id
47
+     */
48
+    private String buildingId;
49
+
50
+    /**
51
+     * 合同标题
52
+     */
53
+    private String contractName;
54
+
55
+    /**
56
+     * 关联业务类型
57
+     */
58
+    private String targetType;
59
+
60
+    /**
61
+     * 关联业务
62
+     */
63
+    private Integer targetId;
64
+
65
+    /**
66
+     * 关联单据类型
67
+     */
68
+    private String invoiceTargetType;
69
+
70
+    /**
71
+     * 关联单据id
72
+     */
73
+    private Integer invoiceTargetId;
74
+
75
+    /**
76
+     * 甲方名称
77
+     */
78
+    private String signatoryName;
79
+
80
+    /**
81
+     * 甲方签署时间
82
+     */
83
+    private LocalDateTime signatoryTime;
84
+
85
+    /**
86
+     * 乙方名称
87
+     */
88
+    private String customerName;
89
+
90
+    /**
91
+     * 乙方手机号
92
+     */
93
+    private String customerTel;
94
+
95
+    /**
96
+     * 乙方身份证号
97
+     */
98
+    private String customerIdcard;
99
+
100
+    /**
101
+     * 乙方签署时间
102
+     */
103
+    private LocalDateTime customerTime;
104
+
105
+    /**
106
+     * 下载合同链接地址
107
+     */
108
+    private String contractDownloadUrl;
109
+
110
+    /**
111
+     * 查看合同链接地址
112
+     */
113
+    private String contractViewUrl;
114
+
115
+    /**
116
+     * 是否归档
117
+     */
118
+    private Boolean archives;
119
+
120
+    /**
121
+     * 归档时间
122
+     */
123
+    private LocalDateTime archivesTime;
124
+
125
+    /**
126
+     * 创建时间
127
+     */
128
+    private LocalDateTime createDate;
129
+
130
+    /**
131
+     * 是否结算
132
+     */
133
+    private Boolean settlement;
134
+
135
+    /**
136
+     * 结算时间
137
+     */
138
+    private LocalDateTime settlementTime;
139
+
140
+    /**
141
+     * 结算单价 分请做好转换
142
+     */
143
+    private Integer settlementPrice;
144
+
145
+    /**
146
+     * 小程序用户id
147
+     */
148
+    private String personId;
149
+
150
+    /**
151
+     * 原因
152
+     */
153
+    private String reason;
154
+
155
+    /**
156
+     * 状态
157
+     */
158
+    private Integer status;
159
+
160
+    /**
161
+     * 公司名
162
+     */
163
+    @TableField(exist = false)
164
+    private String companyName;
165
+
166
+    /**
167
+     * 公司编码
168
+     */
169
+    @TableField(exist = false)
170
+    private String companyCode;
171
+
172
+    /**
173
+     * 组织名
174
+     */
175
+    @TableField(exist = false)
176
+    private String orgName;
177
+
178
+    /**
179
+     * 小程序名
180
+     */
181
+    @TableField(exist = false)
182
+    private String miniAppName;
183
+
184
+    /**
185
+     * 代理商名称
186
+     */
187
+    @TableField(exist = false)
188
+    private String channelProxyName;
189
+
190
+    /**
191
+     * 前端传的计算价格
192
+     */
193
+    @TableField(exist = false)
194
+    private Double price;
195
+
196
+    @TableField(exist = false)
197
+    private List<TaContract> taContractList;
198
+
199
+    @TableField(exist = false)
200
+    private String targetName;
201
+
202
+}

+ 126
- 0
src/main/java/com/huiju/estateagents/eContract/entity/TaContractBusiness.java Dosyayı Görüntüle

@@ -0,0 +1,126 @@
1
+package com.huiju.estateagents.eContract.entity;
2
+
3
+import com.baomidou.mybatisplus.annotation.IdType;
4
+import com.baomidou.mybatisplus.annotation.TableField;
5
+import com.baomidou.mybatisplus.annotation.TableId;
6
+import java.time.LocalDateTime;
7
+import java.io.Serializable;
8
+import java.util.List;
9
+
10
+import lombok.Data;
11
+import lombok.EqualsAndHashCode;
12
+import lombok.experimental.Accessors;
13
+
14
+/**
15
+ * <p>
16
+ * 合同与业务关系表 
17
+ * </p>
18
+ *
19
+ * @author fxf
20
+ * @since 2020-03-26
21
+ */
22
+@Data
23
+@EqualsAndHashCode(callSuper = false)
24
+@Accessors(chain = true)
25
+public class TaContractBusiness implements Serializable {
26
+
27
+    private static final long serialVersionUID = 1L;
28
+
29
+    /**
30
+     * 合同与业务关系表
31
+     */
32
+    @TableId(value = "contract_business_id", type = IdType.AUTO)
33
+    private Integer contractBusinessId;
34
+
35
+    /**
36
+     * 合同模板id
37
+     */
38
+    private String contractTemplateId;
39
+
40
+    /**
41
+     * 合同模板名称
42
+     */
43
+    private String contractTemplateName;
44
+
45
+    /**
46
+     * 业务类型 raise房源认筹
47
+     */
48
+    private String targetType;
49
+
50
+    /**
51
+     * 业务id raise对应销售批次id
52
+     */
53
+    private Integer targetId;
54
+
55
+    /**
56
+     * 业务名称
57
+     */
58
+    private String targetName;
59
+
60
+    /**
61
+     * 企业id
62
+     */
63
+    private Integer companyId;
64
+
65
+    /**
66
+     * 企业标题
67
+     */
68
+    private String companyName;
69
+
70
+    /**
71
+     * 创建时间
72
+     */
73
+    private LocalDateTime createDate;
74
+
75
+    /**
76
+     * 更新时间
77
+     */
78
+    private LocalDateTime updateDate;
79
+
80
+    /**
81
+     * 公司id
82
+     */
83
+    private Integer orgId;
84
+
85
+    /**
86
+     * 印章id
87
+     */
88
+    private Integer sealId;
89
+
90
+    /**
91
+     * 甲方签章定位关键字
92
+     */
93
+    private String signatoryKeywords;
94
+
95
+    /**
96
+     * 甲方签章策略 与法大大一致就行
97
+     */
98
+    private String signatoryStrategy;
99
+
100
+    /**
101
+     * 乙方签章定位关键字
102
+     */
103
+    private String customerKeywords;
104
+
105
+    /**
106
+     * 乙方签章策略
107
+     */
108
+    private String customerStrategy;
109
+
110
+    /**
111
+     * 状态 1是有效0是无效-1是删除
112
+     */
113
+    private Integer status;
114
+
115
+    @TableField(exist = false)
116
+    private List<TaContractBusiness> contractBusinessList;
117
+
118
+    @TableField(exist = false)
119
+    private String contractTemplateAddress;
120
+
121
+    @TableField(exist = false)
122
+    private String signatureId;
123
+
124
+    @TableField(exist = false)
125
+    private String fadadaCode;
126
+}

+ 62
- 0
src/main/java/com/huiju/estateagents/eContract/entity/TaContractTemplate.java Dosyayı Görüntüle

@@ -0,0 +1,62 @@
1
+package com.huiju.estateagents.eContract.entity;
2
+
3
+import com.baomidou.mybatisplus.annotation.IdType;
4
+import com.baomidou.mybatisplus.annotation.TableField;
5
+import com.baomidou.mybatisplus.annotation.TableId;
6
+import java.time.LocalDateTime;
7
+import java.io.Serializable;
8
+import java.util.List;
9
+
10
+import lombok.Data;
11
+import lombok.EqualsAndHashCode;
12
+import lombok.experimental.Accessors;
13
+
14
+/**
15
+ * <p>
16
+ * 合同模板 
17
+ * </p>
18
+ *
19
+ * @author fxf
20
+ * @since 2020-03-26
21
+ */
22
+@Data
23
+@EqualsAndHashCode(callSuper = false)
24
+@Accessors(chain = true)
25
+public class TaContractTemplate implements Serializable {
26
+
27
+    private static final long serialVersionUID = 1L;
28
+
29
+    /**
30
+     * 合同模板id
31
+     */
32
+    @TableId(value = "contract_template_id", type = IdType.AUTO)
33
+    private Integer contractTemplateId;
34
+
35
+    /**
36
+     * 创建时间
37
+     */
38
+    private LocalDateTime createDate;
39
+
40
+    /**
41
+     * 公司id
42
+     */
43
+    private Integer orgId;
44
+
45
+    /**
46
+     * 合同模板标题
47
+     */
48
+    private String contractTemplateName;
49
+
50
+    /**
51
+     * 合同模板地址
52
+     */
53
+    private String contractTemplateAddress;
54
+
55
+    /**
56
+     * 状态 1有效0无效-1删除
57
+     */
58
+    private Integer status;
59
+
60
+    @TableField(exist = false)
61
+    private List<TaContractTemplate> taContractTemplateList;
62
+}

+ 90
- 0
src/main/java/com/huiju/estateagents/eContract/entity/TaContractUser.java Dosyayı Görüntüle

@@ -0,0 +1,90 @@
1
+package com.huiju.estateagents.eContract.entity;
2
+
3
+import com.baomidou.mybatisplus.annotation.IdType;
4
+import com.baomidou.mybatisplus.annotation.TableField;
5
+import com.baomidou.mybatisplus.annotation.TableId;
6
+import java.time.LocalDateTime;
7
+import java.io.Serializable;
8
+
9
+import com.huiju.estateagents.entity.TaRaiseRecord;
10
+import lombok.Data;
11
+import lombok.EqualsAndHashCode;
12
+import lombok.experimental.Accessors;
13
+
14
+/**
15
+ * <p>
16
+ * 电子合同注册用户表 
17
+ * </p>
18
+ *
19
+ * @author fxf
20
+ * @since 2020-03-26
21
+ */
22
+@Data
23
+@EqualsAndHashCode(callSuper = false)
24
+@Accessors(chain = true)
25
+public class TaContractUser implements Serializable {
26
+
27
+    private static final long serialVersionUID = 1L;
28
+
29
+    /**
30
+     * 电子合同用户id
31
+     */
32
+    @TableId(value = "contract_user_id", type = IdType.AUTO)
33
+    private Integer contractUserId;
34
+
35
+    /**
36
+     * 小程序端的openid
37
+     */
38
+    private String miniOpenid;
39
+
40
+    /**
41
+     * 认证状态 registered已注册unregistered未注册verify审核中legalize已认证unlegalize未认证
42
+     */
43
+    private String authStatus;
44
+
45
+    /**
46
+     * 状态
47
+     */
48
+    private Integer status;
49
+
50
+    /**
51
+     * 认证失败原因
52
+     */
53
+    private String reason;
54
+
55
+    /**
56
+     * 创建时间
57
+     */
58
+    private LocalDateTime createDate;
59
+
60
+    /**
61
+     * 公司id
62
+     */
63
+    private Integer orgId;
64
+
65
+    /** 身份证号 */
66
+    private String idCard;
67
+    /** 手机号 */
68
+    private String tel;
69
+
70
+    /** 小程序用户id */
71
+    private String personId;
72
+
73
+    /**
74
+     * 法大大客户编号
75
+     */
76
+    private String fadadaCode;
77
+
78
+    /**
79
+     * 个人认证地址
80
+     */
81
+    private String certifiedAddress;
82
+
83
+    /**
84
+     * 认证序列号
85
+     */
86
+    private String certifiedSerialNumber;
87
+
88
+    @TableField(exist = false)
89
+    private Integer raiseRecordId;
90
+}

+ 24
- 0
src/main/java/com/huiju/estateagents/eContract/mapper/TaCompanyMapper.java Dosyayı Görüntüle

@@ -0,0 +1,24 @@
1
+package com.huiju.estateagents.eContract.mapper;
2
+
3
+import com.baomidou.mybatisplus.core.metadata.IPage;
4
+import com.huiju.estateagents.eContract.entity.TaCompany;
5
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
6
+import org.apache.ibatis.annotations.Mapper;
7
+import org.apache.ibatis.annotations.Param;
8
+import org.springframework.stereotype.Component;
9
+
10
+/**
11
+ * <p>
12
+ * 企业认证表  Mapper 接口
13
+ * </p>
14
+ *
15
+ * @author fxf
16
+ * @since 2020-03-26
17
+ */
18
+@Mapper
19
+@Component
20
+public interface TaCompanyMapper extends BaseMapper<TaCompany> {
21
+    TaCompany getCompanyAndContractInfo(@Param("companyId") Integer companyId);
22
+
23
+    IPage<TaCompany> selectListByOrgId(IPage<TaCompany> iPage, @Param("companyName") String companyName, @Param("companyCode")String companyCode, @Param("orgId")Integer orgId);
24
+}

+ 39
- 0
src/main/java/com/huiju/estateagents/eContract/mapper/TaCompanyOrgMapper.java Dosyayı Görüntüle

@@ -0,0 +1,39 @@
1
+package com.huiju.estateagents.eContract.mapper;
2
+
3
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4
+import com.baomidou.mybatisplus.core.metadata.IPage;
5
+import com.huiju.estateagents.eContract.entity.TaCompanyOrg;
6
+import org.apache.ibatis.annotations.Mapper;
7
+import org.apache.ibatis.annotations.Param;
8
+import org.springframework.stereotype.Component;
9
+
10
+/**
11
+ * <p>
12
+ * 企业和组织关系表  Mapper 接口
13
+ * </p>
14
+ *
15
+ * @author fxf
16
+ * @since 2020-03-26
17
+ */
18
+@Mapper
19
+@Component
20
+public interface TaCompanyOrgMapper extends BaseMapper<TaCompanyOrg> {
21
+    /**
22
+     * 条件查询组织列表
23
+     *
24
+     * @param pg
25
+     * @param companyName
26
+     * @param companyCode
27
+     * @param certifiedStatus
28
+     * @param orgName
29
+     * @param miniAppName
30
+     * @return
31
+     */
32
+    IPage<TaCompanyOrg> listCompanyAndOrg(IPage<TaCompanyOrg> pg,
33
+                                          @Param("companyName") String companyName,
34
+                                          @Param("companyCode") String companyCode,
35
+                                          @Param("certifiedStatus") String certifiedStatus,
36
+                                          @Param("companyStatus") Integer companyStatus,
37
+                                          @Param("orgName") String orgName,
38
+                                          @Param("miniAppName") String miniAppName);
39
+}

+ 18
- 0
src/main/java/com/huiju/estateagents/eContract/mapper/TaCompanySealMapper.java Dosyayı Görüntüle

@@ -0,0 +1,18 @@
1
+package com.huiju.estateagents.eContract.mapper;
2
+
3
+import com.huiju.estateagents.eContract.entity.TaCompanySeal;
4
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
5
+import org.apache.ibatis.annotations.Mapper;
6
+
7
+/**
8
+ * <p>
9
+ * 公司印章  Mapper 接口
10
+ * </p>
11
+ *
12
+ * @author fxf
13
+ * @since 2020-03-26
14
+ */
15
+@Mapper
16
+public interface TaCompanySealMapper extends BaseMapper<TaCompanySeal> {
17
+
18
+}

+ 18
- 0
src/main/java/com/huiju/estateagents/eContract/mapper/TaContractBusinessMapper.java Dosyayı Görüntüle

@@ -0,0 +1,18 @@
1
+package com.huiju.estateagents.eContract.mapper;
2
+
3
+import com.huiju.estateagents.eContract.entity.TaContractBusiness;
4
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
5
+import org.apache.ibatis.annotations.Mapper;
6
+
7
+/**
8
+ * <p>
9
+ * 合同与业务关系表  Mapper 接口
10
+ * </p>
11
+ *
12
+ * @author fxf
13
+ * @since 2020-03-26
14
+ */
15
+@Mapper
16
+public interface TaContractBusinessMapper extends BaseMapper<TaContractBusiness> {
17
+
18
+}

+ 47
- 0
src/main/java/com/huiju/estateagents/eContract/mapper/TaContractMapper.java Dosyayı Görüntüle

@@ -0,0 +1,47 @@
1
+package com.huiju.estateagents.eContract.mapper;
2
+
3
+import com.baomidou.mybatisplus.core.metadata.IPage;
4
+import com.huiju.estateagents.bo.request.ContractRecordRequestBO;
5
+import com.huiju.estateagents.eContract.entity.TaContract;
6
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
7
+import com.huiju.estateagents.eContract.entity.TaContractBusiness;
8
+import org.apache.ibatis.annotations.Mapper;
9
+import org.apache.ibatis.annotations.Param;
10
+import org.springframework.stereotype.Component;
11
+
12
+import java.time.LocalDate;
13
+import java.util.Map;
14
+
15
+/**
16
+ * <p>
17
+ * 合同列表  Mapper 接口
18
+ * </p>
19
+ *
20
+ * @author fxf
21
+ * @since 2020-03-26
22
+ */
23
+@Mapper
24
+@Component
25
+public interface TaContractMapper extends BaseMapper<TaContract> {
26
+
27
+    IPage<TaContract> listContractForAdmin(IPage<TaContract> pg,
28
+                                           @Param("contractName") String contractName,
29
+                                           @Param("archives") Boolean archives,
30
+                                           @Param("signatoryName") String signatoryName,
31
+                                           @Param("signatoryStatus") Integer signatoryStatus,
32
+                                           @Param("customerName") String customerName,
33
+                                           @Param("customerStatus") Integer customerStatus,
34
+                                           @Param("archivesStartDate") LocalDate archivesStartDate,
35
+                                           @Param("archivesEndDate") LocalDate archivesEndDate,
36
+                                           @Param("orgId") Integer orgId);
37
+
38
+    IPage<TaContract> listContractForChannel(IPage<TaContract> pg,
39
+                                             @Param("bo") ContractRecordRequestBO bo);
40
+
41
+    /**
42
+     * 获取合同信息
43
+     * @param raiseId
44
+     * @return
45
+     */
46
+    TaContractBusiness selectContractInfoByRaiseId(@Param("raiseId") String raiseId);
47
+}

+ 18
- 0
src/main/java/com/huiju/estateagents/eContract/mapper/TaContractTemplateMapper.java Dosyayı Görüntüle

@@ -0,0 +1,18 @@
1
+package com.huiju.estateagents.eContract.mapper;
2
+
3
+import com.huiju.estateagents.eContract.entity.TaContractTemplate;
4
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
5
+import org.apache.ibatis.annotations.Mapper;
6
+
7
+/**
8
+ * <p>
9
+ * 合同模板  Mapper 接口
10
+ * </p>
11
+ *
12
+ * @author fxf
13
+ * @since 2020-03-26
14
+ */
15
+@Mapper
16
+public interface TaContractTemplateMapper extends BaseMapper<TaContractTemplate> {
17
+
18
+}

+ 18
- 0
src/main/java/com/huiju/estateagents/eContract/mapper/TaContractUserMapper.java Dosyayı Görüntüle

@@ -0,0 +1,18 @@
1
+package com.huiju.estateagents.eContract.mapper;
2
+
3
+import com.huiju.estateagents.eContract.entity.TaContractUser;
4
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
5
+import org.apache.ibatis.annotations.Mapper;
6
+
7
+/**
8
+ * <p>
9
+ * 电子合同注册用户表  Mapper 接口
10
+ * </p>
11
+ *
12
+ * @author fxf
13
+ * @since 2020-03-26
14
+ */
15
+@Mapper
16
+public interface TaContractUserMapper extends BaseMapper<TaContractUser> {
17
+
18
+}

+ 31
- 0
src/main/java/com/huiju/estateagents/eContract/service/ITaCompanyOrgService.java Dosyayı Görüntüle

@@ -0,0 +1,31 @@
1
+package com.huiju.estateagents.eContract.service;
2
+
3
+import com.huiju.estateagents.base.ResponseBean;
4
+import com.huiju.estateagents.eContract.entity.TaCompanyOrg;
5
+import com.baomidou.mybatisplus.extension.service.IService;
6
+
7
+/**
8
+ * <p>
9
+ * 企业和组织关系表  服务类
10
+ * </p>
11
+ *
12
+ * @author fxf
13
+ * @since 2020-03-26
14
+ */
15
+public interface ITaCompanyOrgService extends IService<TaCompanyOrg> {
16
+
17
+    /**
18
+     * 条件查询组织和公司关联信息
19
+     *
20
+     * @param pageNum
21
+     * @param pageSize
22
+     * @param companyName     企业名称
23
+     * @param companyCode     企业编号
24
+     * @param certifiedStatus 实名认证状态
25
+     * @param companyStatus   企业状态
26
+     * @param orgName         组织名称
27
+     * @param miniAppName     小程序名称
28
+     * @return
29
+     */
30
+    ResponseBean listCompanyOrg(Integer pageNum, Integer pageSize, String companyName, String companyCode, String certifiedStatus, Integer companyStatus, String orgName, String miniAppName);
31
+}

+ 16
- 0
src/main/java/com/huiju/estateagents/eContract/service/ITaCompanySealService.java Dosyayı Görüntüle

@@ -0,0 +1,16 @@
1
+package com.huiju.estateagents.eContract.service;
2
+
3
+import com.huiju.estateagents.eContract.entity.TaCompanySeal;
4
+import com.baomidou.mybatisplus.extension.service.IService;
5
+
6
+/**
7
+ * <p>
8
+ * 公司印章  服务类
9
+ * </p>
10
+ *
11
+ * @author fxf
12
+ * @since 2020-03-26
13
+ */
14
+public interface ITaCompanySealService extends IService<TaCompanySeal> {
15
+
16
+}

+ 45
- 0
src/main/java/com/huiju/estateagents/eContract/service/ITaCompanyService.java Dosyayı Görüntüle

@@ -0,0 +1,45 @@
1
+package com.huiju.estateagents.eContract.service;
2
+
3
+import com.baomidou.mybatisplus.core.metadata.IPage;
4
+import com.huiju.estateagents.eContract.entity.TaCompany;
5
+import com.baomidou.mybatisplus.extension.service.IService;
6
+import org.apache.poi.ss.formula.functions.T;
7
+
8
+/**
9
+ * <p>
10
+ * 企业认证表  服务类
11
+ * </p>
12
+ *
13
+ * @author fxf
14
+ * @since 2020-03-26
15
+ */
16
+public interface ITaCompanyService extends IService<TaCompany> {
17
+
18
+    /**
19
+     * 在法大大创建一个新的企业信息
20
+     * @return
21
+     */
22
+    TaCompany newFirstCompanyInfo() throws Exception;
23
+
24
+    /**
25
+     * 向法大大申请企业认证
26
+     * @param taCompany
27
+     * @return
28
+     */
29
+    TaCompany updateCompanyInfo(TaCompany taCompany) throws Exception;
30
+
31
+    /**
32
+     * 向法大大获取最新的企业认证数据
33
+     * @param id
34
+     * @return
35
+     */
36
+    TaCompany updateCompanyInfoByFdd(Integer id) throws Exception;
37
+
38
+    String autoAuthCompanySeal(Integer companyId, Integer orgId) throws Exception;
39
+
40
+    TaCompany getCompanyAndContractInfo(Integer companyId);
41
+
42
+    String getAuthStatus(Integer companyId);
43
+
44
+    IPage<TaCompany> selectListByOrgId(IPage<TaCompany> iPage, String companyName, String companyCode, Integer orgId);
45
+}

+ 16
- 0
src/main/java/com/huiju/estateagents/eContract/service/ITaContractBusinessService.java Dosyayı Görüntüle

@@ -0,0 +1,16 @@
1
+package com.huiju.estateagents.eContract.service;
2
+
3
+import com.huiju.estateagents.eContract.entity.TaContractBusiness;
4
+import com.baomidou.mybatisplus.extension.service.IService;
5
+
6
+/**
7
+ * <p>
8
+ * 合同与业务关系表  服务类
9
+ * </p>
10
+ *
11
+ * @author fxf
12
+ * @since 2020-03-26
13
+ */
14
+public interface ITaContractBusinessService extends IService<TaContractBusiness> {
15
+
16
+}

+ 75
- 0
src/main/java/com/huiju/estateagents/eContract/service/ITaContractService.java Dosyayı Görüntüle

@@ -0,0 +1,75 @@
1
+package com.huiju.estateagents.eContract.service;
2
+
3
+import com.baomidou.mybatisplus.extension.service.IService;
4
+import com.huiju.estateagents.base.ResponseBean;
5
+import com.huiju.estateagents.bo.request.ContractRecordRequestBO;
6
+import com.huiju.estateagents.eContract.entity.TaContract;
7
+import com.huiju.estateagents.entity.TaPerson;
8
+import com.huiju.estateagents.entity.TaRaiseRecord;
9
+import org.springframework.format.annotation.DateTimeFormat;
10
+import org.springframework.web.bind.annotation.RequestParam;
11
+
12
+import java.time.LocalDate;
13
+import java.time.LocalDateTime;
14
+
15
+/**
16
+ * <p>
17
+ * 合同列表  服务类
18
+ * </p>
19
+ *
20
+ * @author fxf
21
+ * @since 2020-03-26
22
+ */
23
+public interface ITaContractService extends IService<TaContract> {
24
+
25
+    /**
26
+     * 条件查询合同列表
27
+     *
28
+     * @param pageNum
29
+     * @param pageSize
30
+     * @param contractName
31
+     * @param archives
32
+     * @param signatoryName
33
+     * @param signatoryStatus
34
+     * @param customerName
35
+     * @param customerStatus
36
+     * @param archivesStartDate
37
+     * @param archivesEndDate
38
+     * @param orgId
39
+     * @return
40
+     */
41
+    ResponseBean listContractForAdmin(Integer pageNum, Integer pageSize, String contractName, Boolean archives, String signatoryName, Integer signatoryStatus,
42
+                                      String customerName, Integer customerStatus, LocalDate archivesStartDate, LocalDate archivesEndDate, Integer orgId);
43
+
44
+    /**
45
+     * 条件查询合同列表
46
+     *
47
+     * @param requestBO
48
+     * @return
49
+     */
50
+    ResponseBean listContractForChannel(ContractRecordRequestBO requestBO);
51
+
52
+    /**
53
+     * 企业自动签署合同
54
+     * @param taRaiseRecord
55
+     * @param person
56
+     * @return
57
+     */
58
+    TaContract autoContract(TaRaiseRecord taRaiseRecord, TaPerson person) throws Exception;
59
+
60
+    /**
61
+     * 手动签署合同
62
+     * @param taContract
63
+     * @param person
64
+     * @return
65
+     */
66
+    String manualContract(TaContract taContract, TaPerson person) throws Exception;
67
+
68
+    /**
69
+     * 检查签署合同状态
70
+     * @param taRaiseRecord
71
+     * @param person
72
+     * @return
73
+     */
74
+    TaContract checkContract(TaRaiseRecord taRaiseRecord, TaPerson person) throws Exception;
75
+}

+ 16
- 0
src/main/java/com/huiju/estateagents/eContract/service/ITaContractTemplateService.java Dosyayı Görüntüle

@@ -0,0 +1,16 @@
1
+package com.huiju.estateagents.eContract.service;
2
+
3
+import com.huiju.estateagents.eContract.entity.TaContractTemplate;
4
+import com.baomidou.mybatisplus.extension.service.IService;
5
+
6
+/**
7
+ * <p>
8
+ * 合同模板  服务类
9
+ * </p>
10
+ *
11
+ * @author fxf
12
+ * @since 2020-03-26
13
+ */
14
+public interface ITaContractTemplateService extends IService<TaContractTemplate> {
15
+
16
+}

+ 32
- 0
src/main/java/com/huiju/estateagents/eContract/service/ITaContractUserService.java Dosyayı Görüntüle

@@ -0,0 +1,32 @@
1
+package com.huiju.estateagents.eContract.service;
2
+
3
+import com.huiju.estateagents.eContract.entity.TaContractUser;
4
+import com.baomidou.mybatisplus.extension.service.IService;
5
+import com.huiju.estateagents.entity.TaPerson;
6
+import com.huiju.estateagents.entity.TaRaiseRecord;
7
+
8
+/**
9
+ * <p>
10
+ * 电子合同注册用户表  服务类
11
+ * </p>
12
+ *
13
+ * @author fxf
14
+ * @since 2020-03-26
15
+ */
16
+public interface ITaContractUserService extends IService<TaContractUser> {
17
+
18
+    /**
19
+     * 小程序端首次签署合同的是要在法大大处创建账号
20
+     * @param person
21
+     * @param taRaiseRecord
22
+     * @return
23
+     */
24
+    TaContractUser newFirstCustomerInfo(TaPerson person, TaRaiseRecord taRaiseRecord) throws Exception;
25
+
26
+    /**
27
+     * 去法大大处更新客户的状态
28
+     * @param person
29
+     * @return
30
+     */
31
+    TaContractUser getFirstCustomerInfo(TaPerson person) throws Exception;
32
+}

+ 37
- 0
src/main/java/com/huiju/estateagents/eContract/service/impl/TaCompanyOrgServiceImpl.java Dosyayı Görüntüle

@@ -0,0 +1,37 @@
1
+package com.huiju.estateagents.eContract.service.impl;
2
+
3
+import com.baomidou.mybatisplus.core.metadata.IPage;
4
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
5
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
6
+import com.huiju.estateagents.base.ResponseBean;
7
+import com.huiju.estateagents.eContract.entity.TaCompanyOrg;
8
+import com.huiju.estateagents.eContract.mapper.TaCompanyOrgMapper;
9
+import com.huiju.estateagents.eContract.service.ITaCompanyOrgService;
10
+import org.springframework.beans.factory.annotation.Autowired;
11
+import org.springframework.stereotype.Service;
12
+
13
+/**
14
+ * <p>
15
+ * 企业和组织关系表  服务实现类
16
+ * </p>
17
+ *
18
+ * @author fxf
19
+ * @since 2020-03-26
20
+ */
21
+@Service
22
+public class TaCompanyOrgServiceImpl extends ServiceImpl<TaCompanyOrgMapper, TaCompanyOrg> implements ITaCompanyOrgService {
23
+
24
+    @Autowired
25
+    private TaCompanyOrgMapper taCompanyOrgMapper;
26
+
27
+    public ResponseBean listCompanyOrg(Integer pageNum, Integer pageSize, String companyName, String companyCode, String certifiedStatus,
28
+                                       Integer companyStatus, String orgName, String miniAppName) {
29
+        ResponseBean responseBean = new ResponseBean();
30
+
31
+        // 组装分页
32
+        IPage<TaCompanyOrg> pg = new Page<>(pageNum, pageSize);
33
+        pg = taCompanyOrgMapper.listCompanyAndOrg(pg, companyName, companyCode, certifiedStatus, companyStatus, orgName, miniAppName);
34
+        responseBean.addSuccess(pg);
35
+        return responseBean;
36
+    }
37
+}

+ 20
- 0
src/main/java/com/huiju/estateagents/eContract/service/impl/TaCompanySealServiceImpl.java Dosyayı Görüntüle

@@ -0,0 +1,20 @@
1
+package com.huiju.estateagents.eContract.service.impl;
2
+
3
+import com.huiju.estateagents.eContract.entity.TaCompanySeal;
4
+import com.huiju.estateagents.eContract.mapper.TaCompanySealMapper;
5
+import com.huiju.estateagents.eContract.service.ITaCompanySealService;
6
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
7
+import org.springframework.stereotype.Service;
8
+
9
+/**
10
+ * <p>
11
+ * 公司印章  服务实现类
12
+ * </p>
13
+ *
14
+ * @author fxf
15
+ * @since 2020-03-26
16
+ */
17
+@Service
18
+public class TaCompanySealServiceImpl extends ServiceImpl<TaCompanySealMapper, TaCompanySeal> implements ITaCompanySealService {
19
+
20
+}

+ 160
- 0
src/main/java/com/huiju/estateagents/eContract/service/impl/TaCompanySealUtil.java Dosyayı Görüntüle

@@ -0,0 +1,160 @@
1
+package com.huiju.estateagents.eContract.service.impl;
2
+
3
+import com.fadada.sdk.client.FddClientBase;
4
+import com.fadada.sdk.util.crypt.FddEncryptTool;
5
+import com.fadada.sdk.util.http.HttpsUtil;
6
+import com.huiju.estateagents.common.StringUtils;
7
+import com.huiju.estateagents.config.FadadaProperties;
8
+import com.huiju.estateagents.entity.TaMiniapp;
9
+import com.huiju.estateagents.mapper.TaMiniappMapper;
10
+import org.apache.http.message.BasicNameValuePair;
11
+import org.springframework.beans.factory.annotation.Autowired;
12
+import org.springframework.stereotype.Component;
13
+
14
+import java.io.File;
15
+import java.net.URLEncoder;
16
+import java.util.ArrayList;
17
+import java.util.HashMap;
18
+import java.util.Map;
19
+
20
+@Component
21
+public class TaCompanySealUtil {
22
+
23
+    @Autowired
24
+    private FadadaProperties fadadaProperties;
25
+
26
+    @Autowired
27
+    private TaMiniappMapper taMiniappMapper;
28
+
29
+    public String addSignaTure(String customerId, String imgUrl) throws Exception {
30
+        FddClientBase base = new FddClientBase(fadadaProperties.getAppId(), fadadaProperties.getAppSecret(), fadadaProperties.getVersion(), fadadaProperties.getServeHost());
31
+        String base64Url = FddEncryptTool.ImageToBase64ByOnline(imgUrl);
32
+        return base.invokeaddSignature(customerId, base64Url);
33
+    }
34
+
35
+    public String replaceSignature(String customerId, String signatureId, String imgUrl){
36
+        String base64Url = FddEncryptTool.ImageToBase64ByOnline(imgUrl);
37
+        ArrayList params = new ArrayList();
38
+
39
+        try {
40
+            String timeStamp = HttpsUtil.getTimeStamp();
41
+            String sha1 = FddEncryptTool.sha1(fadadaProperties.getAppId() + FddEncryptTool.md5Digest(timeStamp) + FddEncryptTool.sha1(fadadaProperties.getAppSecret() + customerId + signatureId + base64Url));
42
+            String msgDigest = new String(FddEncryptTool.Base64Encode(sha1.getBytes()));
43
+            params.add(new BasicNameValuePair("customer_id", customerId));
44
+            params.add(new BasicNameValuePair("signature_img_base64", base64Url));
45
+            params.add(new BasicNameValuePair("app_id", fadadaProperties.getAppId()));
46
+            params.add(new BasicNameValuePair("signature_id", signatureId));
47
+            params.add(new BasicNameValuePair("timestamp", timeStamp));
48
+            params.add(new BasicNameValuePair("v", fadadaProperties.getVersion()));
49
+            params.add(new BasicNameValuePair("msg_digest", msgDigest));
50
+        } catch (Exception var7) {
51
+            var7.printStackTrace();
52
+            throw new RuntimeException(var7);
53
+        }
54
+
55
+        return HttpsUtil.doPost(fadadaProperties.getServeHost() + "replace_signature.api", params);
56
+    }
57
+
58
+    public String delSignature(String customerId, String signatureId){
59
+        ArrayList params = new ArrayList();
60
+
61
+        try {
62
+            String timeStamp = HttpsUtil.getTimeStamp();
63
+            String sha1 = FddEncryptTool.sha1(fadadaProperties.getAppId() + FddEncryptTool.md5Digest(timeStamp) + FddEncryptTool.sha1(fadadaProperties.getAppSecret() + customerId + signatureId));
64
+            String msgDigest = new String(FddEncryptTool.Base64Encode(sha1.getBytes()));
65
+            params.add(new BasicNameValuePair("customer_id", customerId));
66
+            params.add(new BasicNameValuePair("app_id", fadadaProperties.getAppId()));
67
+            params.add(new BasicNameValuePair("timestamp", timeStamp));
68
+            params.add(new BasicNameValuePair("v", fadadaProperties.getVersion()));
69
+            params.add(new BasicNameValuePair("signature_id", signatureId));
70
+            params.add(new BasicNameValuePair("msg_digest", msgDigest));
71
+        } catch (Exception var7) {
72
+            var7.printStackTrace();
73
+            throw new RuntimeException(var7);
74
+        }
75
+
76
+        return HttpsUtil.doPost(fadadaProperties.getServeHost() + "remove_signature.api", params);
77
+    }
78
+
79
+    public String autoAuthCompanySeal(String transactionId, Integer authType, String contractId, String customerId, String companyId) throws Exception {
80
+        String timeStamp = HttpsUtil.getTimeStamp();
81
+        String sha1 = FddEncryptTool.sha1(fadadaProperties.getAppId() + FddEncryptTool.md5Digest(transactionId + timeStamp) + FddEncryptTool.sha1(fadadaProperties.getAppSecret() + customerId));
82
+        String msgDigest = new String(FddEncryptTool.Base64Encode(sha1.getBytes()));
83
+        StringBuilder stringBuilder = new StringBuilder(fadadaProperties.getServeHost() + "before_authsign.api?");
84
+        stringBuilder.append("app_id="+fadadaProperties.getAppId()+"&");
85
+        stringBuilder.append("customer_id="+customerId+"&");
86
+        stringBuilder.append("timestamp="+timeStamp+"&");
87
+        stringBuilder.append("v="+fadadaProperties.getVersion()+"&");
88
+        stringBuilder.append("transaction_id="+transactionId+"&");
89
+        stringBuilder.append("auth_type="+authType+"&");
90
+        stringBuilder.append("contract_id="+contractId+"&");
91
+        stringBuilder.append("msg_digest="+msgDigest+"&");
92
+        stringBuilder.append("notify_url="+fadadaProperties.getAuthNotifyUrl()+"&");
93
+        stringBuilder.append("return_url="+ URLEncoder.encode(fadadaProperties.getAuthReturnUrl(), "UTF-8") + companyId);
94
+
95
+        return stringBuilder.toString();
96
+    }
97
+
98
+    public String getAuthStatus(String customerId){
99
+        ArrayList params = new ArrayList();
100
+
101
+        try {
102
+            String timeStamp = HttpsUtil.getTimeStamp();
103
+            String sha1 = FddEncryptTool.sha1(fadadaProperties.getAppId() + FddEncryptTool.md5Digest(timeStamp) + FddEncryptTool.sha1(fadadaProperties.getAppSecret() + customerId));
104
+            String msgDigest = new String(FddEncryptTool.Base64Encode(sha1.getBytes()));
105
+            params.add(new BasicNameValuePair("customer_id", customerId));
106
+            params.add(new BasicNameValuePair("app_id", fadadaProperties.getAppId()));
107
+            params.add(new BasicNameValuePair("timestamp", timeStamp));
108
+            params.add(new BasicNameValuePair("v", fadadaProperties.getVersion()));
109
+            params.add(new BasicNameValuePair("msg_digest", msgDigest));
110
+        } catch (Exception var7) {
111
+            var7.printStackTrace();
112
+            throw new RuntimeException(var7);
113
+        }
114
+
115
+        return HttpsUtil.doPost(fadadaProperties.getAuthServeHost() + "get_auth_status.api", params);
116
+    }
117
+
118
+    public String setDefaultSeal(String signatureId, String customerId){
119
+        ArrayList params = new ArrayList();
120
+
121
+        try {
122
+            String timeStamp = HttpsUtil.getTimeStamp();
123
+            String sha1 = FddEncryptTool.sha1(fadadaProperties.getAppId() + FddEncryptTool.md5Digest(timeStamp) + FddEncryptTool.sha1(fadadaProperties.getAppSecret() + customerId + signatureId));
124
+            String msgDigest = new String(FddEncryptTool.Base64Encode(sha1.getBytes()));
125
+            params.add(new BasicNameValuePair("customer_id", customerId));
126
+            params.add(new BasicNameValuePair("app_id", fadadaProperties.getAppId()));
127
+            params.add(new BasicNameValuePair("timestamp", timeStamp));
128
+            params.add(new BasicNameValuePair("v", fadadaProperties.getVersion()));
129
+            params.add(new BasicNameValuePair("msg_digest", msgDigest));
130
+            params.add(new BasicNameValuePair("signature_id", signatureId));
131
+        } catch (Exception var7) {
132
+            var7.printStackTrace();
133
+            throw new RuntimeException(var7);
134
+        }
135
+
136
+        return HttpsUtil.doPost(fadadaProperties.getAuthServeHost() + "default_signature.api", params);
137
+    }
138
+
139
+    public String sendFddSms(String sourceUrl, String mobile){
140
+        ArrayList params = new ArrayList();
141
+
142
+        try {
143
+            String timeStamp = HttpsUtil.getTimeStamp();
144
+            String messageContent = "[${platform}]因小程序不支持人脸识别认证,请点击下面的链接开始人脸识别认证,认证通过后请回到小程序重新开始签署合同!${shortUrl}";
145
+            String sha1 = FddEncryptTool.sha1(fadadaProperties.getAppId() + FddEncryptTool.md5Digest(timeStamp) + FddEncryptTool.sha1(fadadaProperties.getAppSecret() + "10080" + messageContent + "2" + mobile + "2" + sourceUrl));
146
+            String msgDigest = new String(FddEncryptTool.Base64Encode(sha1.getBytes()));
147
+            params.add(new BasicNameValuePair("source_url", sourceUrl));
148
+            params.add(new BasicNameValuePair("expire_time", "10080"));
149
+            params.add(new BasicNameValuePair("mobile", mobile));
150
+            params.add(new BasicNameValuePair("message_type", "2"));
151
+            params.add(new BasicNameValuePair("message_content", messageContent));
152
+            params.add(new BasicNameValuePair("sms_template_type", "2"));
153
+        } catch (Exception var7) {
154
+            var7.printStackTrace();
155
+            throw new RuntimeException(var7);
156
+        }
157
+
158
+        return HttpsUtil.doPost(fadadaProperties.getAuthServeHost() + "push_short_url_sms.api", params);
159
+    }
160
+}

+ 294
- 0
src/main/java/com/huiju/estateagents/eContract/service/impl/TaCompanyServiceImpl.java Dosyayı Görüntüle

@@ -0,0 +1,294 @@
1
+package com.huiju.estateagents.eContract.service.impl;
2
+
3
+import com.alibaba.fastjson.JSON;
4
+import com.alibaba.fastjson.JSONObject;
5
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
6
+import com.baomidou.mybatisplus.core.metadata.IPage;
7
+import com.fadada.sdk.client.FddClientBase;
8
+import com.fadada.sdk.client.authForfadada.FindCertInfo;
9
+import com.fadada.sdk.client.authForfadada.GetCompanyVerifyUrl;
10
+import com.fadada.sdk.client.authForfadada.model.AgentInfoINO;
11
+import com.fadada.sdk.client.authForfadada.model.BankInfoINO;
12
+import com.fadada.sdk.client.authForfadada.model.CompanyInfoINO;
13
+import com.fadada.sdk.client.authForfadada.model.LegalInfoINO;
14
+import com.fadada.sdk.util.http.HttpsUtil;
15
+import com.huiju.estateagents.common.CommConstant;
16
+import com.huiju.estateagents.common.StringUtils;
17
+import com.huiju.estateagents.config.FadadaProperties;
18
+import com.huiju.estateagents.controller.CommonController;
19
+import com.huiju.estateagents.eContract.entity.TaCompany;
20
+import com.huiju.estateagents.eContract.entity.TaContract;
21
+import com.huiju.estateagents.eContract.mapper.TaCompanyMapper;
22
+import com.huiju.estateagents.eContract.mapper.TaContractMapper;
23
+import com.huiju.estateagents.eContract.service.ITaCompanyService;
24
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
25
+import com.huiju.estateagents.entity.TaMiniapp;
26
+import com.huiju.estateagents.mapper.TaMiniappMapper;
27
+import com.huiju.estateagents.sample.entity.TaContact;
28
+import com.huiju.estateagents.sample.mapper.TaContactMapper;
29
+import jodd.util.URLDecoder;
30
+import lombok.extern.slf4j.Slf4j;
31
+import org.apache.commons.codec.binary.Base64;
32
+import org.springframework.beans.factory.annotation.Autowired;
33
+import org.springframework.stereotype.Service;
34
+
35
+import java.io.File;
36
+import java.time.LocalDateTime;
37
+import java.time.format.DateTimeFormatter;
38
+
39
+/**
40
+ * <p>
41
+ * 企业认证表  服务实现类
42
+ * </p>
43
+ *
44
+ * @author fxf
45
+ * @since 2020-03-26
46
+ */
47
+@Slf4j
48
+@Service
49
+public class TaCompanyServiceImpl extends ServiceImpl<TaCompanyMapper, TaCompany> implements ITaCompanyService {
50
+
51
+    @Autowired
52
+    private FadadaProperties fadadaProperties;
53
+
54
+    @Autowired
55
+    private TaCompanyMapper taCompanyMapper;
56
+
57
+    @Autowired
58
+    private TaContractMapper taContractMapper;
59
+
60
+    @Autowired
61
+    private TaCompanySealUtil taCompanySealUtil;
62
+
63
+    @Autowired
64
+    private TaMiniappMapper taMiniappMapper;
65
+
66
+    /**
67
+     * 在法大大创建一个新的企业信息
68
+     *
69
+     * @return
70
+     */
71
+    @Override
72
+    public TaCompany newFirstCompanyInfo() throws Exception {
73
+        log.info("========法大大企业注册=======");
74
+        //在法大大注册企业用户
75
+        FddClientBase base = new FddClientBase(fadadaProperties.getAppId(),fadadaProperties.getAppSecret(),fadadaProperties.getVersion(),fadadaProperties.getServeHost());
76
+        String open_id = "CJ_" + HttpsUtil.getTimeStamp();
77
+        String account_type = CommConstant.ACCOUNT_TYPE_COMPANY;
78
+        String result =base.invokeregisterAccount(open_id,account_type);
79
+        log.info("法大大注册信息{}", result);
80
+        JSONObject jsonObject = JSONObject.parseObject(result);
81
+        if (jsonObject.getInteger("code") != 1){
82
+            throw new Exception(jsonObject.getString("msg"));
83
+        }
84
+
85
+        //插入企业数据表
86
+        TaCompany taCompany = new TaCompany();
87
+        taCompany.setCompanyCode(open_id);
88
+        taCompany.setFadadaCode(jsonObject.getString("data"));
89
+        taCompany.setCertifiedStatus(CommConstant.CERTIFIED_STATUS_REGISTERED);
90
+        taCompany.setCreateDate(LocalDateTime.now());
91
+        taCompany.setStatus(CommConstant.STATUS_UNACCALIMED);
92
+        taCompanyMapper.insert(taCompany);
93
+        return taCompany;
94
+    }
95
+
96
+    /**
97
+     * 向法大大申请企业认证
98
+     *
99
+     * @param taCompany
100
+     * @return
101
+     */
102
+    @Override
103
+    public TaCompany updateCompanyInfo(TaCompany taCompany) throws Exception {
104
+        String companyPrincipalType = "1";
105
+        //法人
106
+        if (taCompany.getCompanyManagerType().equals(CommConstant.COMPANY_MANAGER_TYPE_LEGAL)){
107
+            companyPrincipalType = CommConstant.COMPANY_PRINCIPAL_TYPE_LEGAL;
108
+        }else if (taCompany.getCompanyManagerType().equals(CommConstant.COMPANY_MANAGER_TYPE_AGENT)){
109
+            companyPrincipalType = CommConstant.COMPANY_PRINCIPAL_TYPE_AGENT;
110
+        }
111
+        log.info("正在申请企业认证,客户编码是{}",taCompany.getFadadaCode());
112
+        //和法大大申请认证页面
113
+        GetCompanyVerifyUrl comverify = new GetCompanyVerifyUrl(fadadaProperties.getAppId(),fadadaProperties.getAppSecret(),fadadaProperties.getVersion(),fadadaProperties.getServeHost());
114
+        //客户编号必填
115
+        String customer_id = taCompany.getFadadaCode();
116
+        /**
117
+         * 实名认证套餐类型
118
+         * 0:标准方案(对公打款+纸质审核)默认0;
119
+         * 1:对公打款;
120
+         * 2:纸质审核',
121
+         */
122
+        String verifyed_way = "0";
123
+        //是否允许客户页面修改1允许
124
+        String page_modify = "1";
125
+        String m_verified_way = "1";
126
+        //跳转指定页面
127
+        String resultType = "1";
128
+        //自动申请证书
129
+        String certFlag = "1";
130
+
131
+        String notify_url = fadadaProperties.getCompanyNotify();
132
+        String result = comverify.invokeCompanyVerifyUrl(new CompanyInfoINO(), new BankInfoINO(),new LegalInfoINO()
133
+                ,new AgentInfoINO(), customer_id,verifyed_way,m_verified_way,page_modify,
134
+                companyPrincipalType,null,notify_url,resultType,certFlag);
135
+        log.info("企业认证结果通知{}",result);
136
+        JSONObject jsonObject = JSONObject.parseObject(result);
137
+        if (jsonObject.getInteger("code") != 1){
138
+            throw new Exception(jsonObject.getString("msg"));
139
+        }
140
+        String data = jsonObject.getString("data");
141
+        if (null !=data){
142
+            String url = JSON.parseObject(data).getString("url");
143
+            url = decode(url);
144
+            taCompany.setCertifiedAddress(url);
145
+            taCompany.setCertifiedSerialNumber(JSON.parseObject(data).getString("transactionNo"));
146
+        }
147
+        taCompany.setCertifiedStatus(CommConstant.CERTIFIED_STATUS_CERTIFICATION);
148
+        taCompanyMapper.updateById(taCompany);
149
+        return taCompany;
150
+    }
151
+
152
+    /**
153
+     * 向法大大获取最新的企业认证数据
154
+     *
155
+     * @param id
156
+     * @return
157
+     */
158
+    @Override
159
+    public TaCompany updateCompanyInfoByFdd(Integer id) throws Exception {
160
+        TaCompany taCompany = taCompanyMapper.selectById(id);
161
+        log.info("企业正在从法大大获取最新数据,企业编号是 {}", taCompany.getFadadaCode());
162
+        FindCertInfo personCertInfo = new FindCertInfo(fadadaProperties.getAppId(),fadadaProperties.getAppSecret(),fadadaProperties.getVersion(),fadadaProperties.getServeHost());
163
+        String verified_serialno = taCompany.getCertifiedSerialNumber();
164
+        String result = personCertInfo.invokeFindPersonCert(verified_serialno, CommConstant.ACCOUNT_TYPE_COMPANY);
165
+        log.info("企业最新数据结果 {}",result);
166
+        JSONObject jsonObject = JSONObject.parseObject(result);
167
+        if (jsonObject.getInteger("code") != 1){
168
+            throw new Exception(jsonObject.getString("msg"));
169
+        }
170
+        //更新数据
171
+        String data = jsonObject.getString("data");
172
+        if (null !=data){
173
+            JSONObject dataJson = JSONObject.parseObject(data);
174
+            //账户信息
175
+            JSONObject companyJson = dataJson.getJSONObject("company");
176
+            if (null != companyJson){
177
+                taCompany.setCompanyName(companyJson.getString("companyName"));
178
+                taCompany.setCertifiedType(companyJson.getInteger("verifyType"));
179
+                taCompany.setCreditCode(companyJson.getString("organization"));
180
+                taCompany.setStatus(companyJson.getInteger("status"));
181
+                taCompany.setReason(companyJson.getString("auditFailReason"));
182
+                taCompany.setVerifyTime(null);
183
+                DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
184
+                String auditorTime = companyJson.getString("auditorTime");
185
+                if (!StringUtils.isEmpty(auditorTime)){
186
+                    int index = auditorTime.lastIndexOf(".");
187
+                    String substringTime = auditorTime.substring(0, index);
188
+                    taCompany.setVerifyTime(LocalDateTime.parse(substringTime,df));
189
+                }
190
+
191
+            }
192
+
193
+            //银行卡信息
194
+            JSONObject bankJson = dataJson.getJSONObject("bankCard");
195
+            if (null != bankJson){
196
+                taCompany.setBankName(bankJson.getString("bankName"));
197
+                taCompany.setSubbranchName(bankJson.getString("bankDetailName"));
198
+                taCompany.setBankAccount(bankJson.getString("bankCardNo"));
199
+            }
200
+
201
+            //企业法人、代理人信息
202
+            JSONObject managerJson = dataJson.getJSONObject("manager");
203
+            if (null != managerJson){
204
+                //0:个人; 1:法人; 2:代理人,
205
+                if (managerJson.getString("type").equals("1")){
206
+                    taCompany.setCompanyManagerType("legal");
207
+                }else if (managerJson.getString("type").equals("2")){
208
+                    taCompany.setCompanyManagerType("agent");
209
+                }
210
+                taCompany.setUserName(managerJson.getString("personName"));
211
+                taCompany.setTel(managerJson.getString("mobile"));
212
+                taCompany.setIdCard(managerJson.getString("idCard"));
213
+            }
214
+        }
215
+        taCompanyMapper.updateById(taCompany);
216
+        return taCompany;
217
+    }
218
+
219
+    @Override
220
+    public String autoAuthCompanySeal(Integer companyId, Integer orgId) throws Exception {
221
+        QueryWrapper<TaContract> taContractQueryWrapper = new QueryWrapper<>();
222
+        taContractQueryWrapper.eq("target_type", CommConstant.AUTH);
223
+        taContractQueryWrapper.eq("company_id", companyId);
224
+        taContractQueryWrapper.eq("status", CommConstant.STATUS_NORMAL);
225
+        TaContract taContract = taContractMapper.selectOne(taContractQueryWrapper);
226
+
227
+        TaCompany taCompany = taCompanyMapper.selectById(companyId);
228
+        String timeStamp = HttpsUtil.getTimeStamp();
229
+        String transactionId = "TRAN" + timeStamp;
230
+        if (taContract == null){
231
+            taContract = new TaContract();
232
+            taContract.setCompanyId(companyId);
233
+            taContract.setOrgId(orgId);
234
+            taContract.setCreateDate(LocalDateTime.now());
235
+            taContract.setTargetType(CommConstant.AUTH);
236
+            taContract.setSignatoryName(taCompany.getCompanyName());
237
+            taContract.setCustomerName("法大大公司平台");
238
+            taContract.setSignatoryTime(LocalDateTime.now());
239
+            taContract.setCustomerTime(LocalDateTime.now());
240
+            taContract.setStatus(CommConstant.STATUS_UNACCALIMED);
241
+            taContract.setOrgId(orgId);
242
+            taContractMapper.insert(taContract);
243
+        }else{
244
+            taContract.setSignatoryTime(LocalDateTime.now());
245
+            taContract.setCustomerTime(LocalDateTime.now());
246
+            taContractMapper.updateById(taContract);
247
+        }
248
+
249
+        Integer contractId = taContract.getContractId();
250
+        String customerId = taCompany.getFadadaCode();
251
+        String res = taCompanySealUtil.autoAuthCompanySeal(transactionId, CommConstant.AUTH_TYPE, String.valueOf(contractId), customerId, String.valueOf(companyId));
252
+        return res;
253
+    }
254
+
255
+    @Override
256
+    public TaCompany getCompanyAndContractInfo(Integer companyId) {
257
+        return taCompanyMapper.getCompanyAndContractInfo(companyId);
258
+    }
259
+
260
+    @Override
261
+    public String getAuthStatus(Integer companyId) {
262
+        TaCompany taCompany = taCompanyMapper.selectById(companyId);
263
+        return taCompanySealUtil.getAuthStatus(taCompany.getFadadaCode());
264
+    }
265
+
266
+    @Override
267
+    public IPage<TaCompany> selectListByOrgId(IPage<TaCompany> iPage, String companyName, String companyCode, Integer orgId) {
268
+        return taCompanyMapper.selectListByOrgId(iPage, companyName, companyCode, orgId);
269
+    }
270
+
271
+    /**
272
+     * url解码
273
+     * @param bizContent
274
+     * @return
275
+     */
276
+    private String decode(String bizContent) {
277
+        bizContent = URLDecoder.decode(bizContent, "utf-8");
278
+        bizContent = new String(Base64.decodeBase64(bizContent.getBytes()));
279
+        return bizContent;
280
+    }
281
+
282
+    /**
283
+     * 替换法大大服务器地址
284
+     * @return
285
+     */
286
+    private String getFddServerHost(String miniappId,String subUrl) {
287
+        TaMiniapp taMiniapp = taMiniappMapper.selectById(miniappId);
288
+        int index = subUrl.indexOf("/");
289
+        int twoIndex = subUrl.indexOf("/",index+1);
290
+        int threeIndex = subUrl.indexOf("/",twoIndex+1);
291
+        String newUrl = StringUtils.isEmpty(taMiniapp.getFddServerHost()) ? subUrl : taMiniapp.getFddServerHost() + subUrl.substring(threeIndex);
292
+        return newUrl;
293
+    }
294
+}

+ 20
- 0
src/main/java/com/huiju/estateagents/eContract/service/impl/TaContractBusinessServiceImpl.java Dosyayı Görüntüle

@@ -0,0 +1,20 @@
1
+package com.huiju.estateagents.eContract.service.impl;
2
+
3
+import com.huiju.estateagents.eContract.entity.TaContractBusiness;
4
+import com.huiju.estateagents.eContract.mapper.TaContractBusinessMapper;
5
+import com.huiju.estateagents.eContract.service.ITaContractBusinessService;
6
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
7
+import org.springframework.stereotype.Service;
8
+
9
+/**
10
+ * <p>
11
+ * 合同与业务关系表  服务实现类
12
+ * </p>
13
+ *
14
+ * @author fxf
15
+ * @since 2020-03-26
16
+ */
17
+@Service
18
+public class TaContractBusinessServiceImpl extends ServiceImpl<TaContractBusinessMapper, TaContractBusiness> implements ITaContractBusinessService {
19
+
20
+}

+ 305
- 0
src/main/java/com/huiju/estateagents/eContract/service/impl/TaContractServiceImpl.java Dosyayı Görüntüle

@@ -0,0 +1,305 @@
1
+package com.huiju.estateagents.eContract.service.impl;
2
+
3
+import com.alibaba.fastjson.JSONObject;
4
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
5
+import com.baomidou.mybatisplus.core.metadata.IPage;
6
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
7
+import com.fadada.sdk.client.FddClientBase;
8
+import com.fadada.sdk.client.authForfadada.FindCertInfo;
9
+import com.fadada.sdk.client.request.ExtsignReq;
10
+import com.fadada.sdk.test.util.ConfigUtil;
11
+import com.fadada.sdk.util.http.HttpsUtil;
12
+import com.huiju.estateagents.base.ResponseBean;
13
+import com.huiju.estateagents.bo.request.ContractRecordRequestBO;
14
+import com.huiju.estateagents.common.MD5Utils;
15
+import com.huiju.estateagents.common.StringUtils;
16
+import com.huiju.estateagents.config.FadadaProperties;
17
+import com.huiju.estateagents.eContract.entity.TaContract;
18
+import com.huiju.estateagents.eContract.entity.TaContractBusiness;
19
+import com.huiju.estateagents.eContract.entity.TaContractUser;
20
+import com.huiju.estateagents.eContract.mapper.TaContractMapper;
21
+import com.huiju.estateagents.eContract.mapper.TaContractUserMapper;
22
+import com.huiju.estateagents.eContract.service.ITaContractService;
23
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
24
+import com.huiju.estateagents.entity.TaMiniapp;
25
+import com.huiju.estateagents.entity.TaPerson;
26
+import com.huiju.estateagents.entity.TaRaiseRecord;
27
+import com.huiju.estateagents.mapper.TaMiniappMapper;
28
+import com.huiju.estateagents.mapper.TaOrgMapper;
29
+import com.huiju.estateagents.mapper.TaRaiseRecordMapper;
30
+import lombok.extern.slf4j.Slf4j;
31
+import org.springframework.beans.factory.annotation.Autowired;
32
+import org.springframework.stereotype.Service;
33
+import org.springframework.transaction.annotation.Transactional;
34
+
35
+import java.io.File;
36
+import java.net.URLEncoder;
37
+import java.time.LocalDate;
38
+import java.time.LocalDateTime;
39
+import java.util.Map;
40
+
41
+/**
42
+ * <p>
43
+ * 合同列表  服务实现类
44
+ * </p>
45
+ *
46
+ * @author fxf
47
+ * @since 2020-03-26
48
+ */
49
+@Service
50
+@Slf4j
51
+public class TaContractServiceImpl extends ServiceImpl<TaContractMapper, TaContract> implements ITaContractService {
52
+
53
+    @Autowired
54
+    private FadadaProperties fadadaProperties;
55
+
56
+    @Autowired
57
+    private TaContractMapper taContractMapper;
58
+
59
+    @Autowired
60
+    private TaRaiseRecordMapper taRaiseRecordMapper;
61
+
62
+    @Autowired
63
+    private TaOrgMapper taOrgMapper;
64
+
65
+    @Autowired
66
+    private TaContractUserMapper taContractUserMapper;
67
+
68
+    @Autowired
69
+    private TaMiniappMapper taMiniappMapper;
70
+
71
+
72
+    @Override
73
+    public ResponseBean listContractForAdmin(Integer pageNum, Integer pageSize, String contractName, Boolean archives, String signatoryName, Integer signatoryStatus, String customerName, Integer customerStatus, LocalDate archivesStartDate, LocalDate archivesEndDate, Integer orgId) {
74
+
75
+        ResponseBean responseBean = new ResponseBean();
76
+        IPage<TaContract> pg = new Page<>(pageNum, pageSize);
77
+        pg = taContractMapper.listContractForAdmin(pg, contractName, archives, signatoryName, signatoryStatus, customerName, customerStatus, archivesStartDate, archivesEndDate, orgId);
78
+        responseBean.addSuccess(pg);
79
+        return responseBean;
80
+    }
81
+
82
+    @Override
83
+    public ResponseBean listContractForChannel(ContractRecordRequestBO requestBO) {
84
+        log.info("TaContractServiceImpl.listContractForChannel 接收参数:{}", JSONObject.toJSONString(requestBO));
85
+
86
+        ResponseBean responseBean = new ResponseBean();
87
+
88
+        IPage<TaContract> pg = new Page<>(requestBO.getPageNum(), requestBO.getPageSize());
89
+        pg = taContractMapper.listContractForChannel(pg, requestBO);
90
+        responseBean.addSuccess(pg);
91
+        return responseBean;
92
+    }
93
+
94
+    /**
95
+     * 企业自动签署合同
96
+     *
97
+     * @param taRaiseRecord
98
+     * @param person
99
+     * @return
100
+     */
101
+    @Override
102
+    @Transactional
103
+    public TaContract autoContract(TaRaiseRecord taRaiseRecord, TaPerson person) throws Exception {
104
+        taRaiseRecord = taRaiseRecordMapper.selectById(taRaiseRecord.getRaiseRecordId());
105
+
106
+
107
+
108
+        //根据raiseId获取合同的所有参数
109
+        TaContractBusiness taContractBusiness = taContractMapper.selectContractInfoByRaiseId(taRaiseRecord.getRaiseId());
110
+        if (null == taContractBusiness){
111
+            throw new Exception("无合同模板,请和置业顾问联系");
112
+        }
113
+
114
+        //检查是否签署过本合同
115
+        QueryWrapper<TaContract> queryWrapper = new QueryWrapper<>();
116
+         queryWrapper.eq("building_id",taRaiseRecord.getBuildingId());
117
+        queryWrapper.eq("org_id",taRaiseRecord.getOrgId());
118
+        queryWrapper.eq("target_type","raise");
119
+        queryWrapper.eq("target_id",Integer.valueOf(taRaiseRecord.getRaiseId()));
120
+        queryWrapper.eq("invoice_target_type","raise_record");
121
+        queryWrapper.eq("invoice_target_id",taRaiseRecord.getRaiseRecordId());
122
+        queryWrapper.eq("company_id",taContractBusiness.getCompanyId());
123
+        queryWrapper.eq("person_id",person.getPersonId());
124
+        TaContract oldContract = taContractMapper.selectOne(queryWrapper);
125
+        if (null != oldContract){
126
+            oldContract.setContractDownloadUrl(getFddDownServerHost(person.getMiniappId(),oldContract.getContractDownloadUrl()));
127
+            oldContract.setContractViewUrl(getFddDownServerHost(person.getMiniappId(),oldContract.getContractViewUrl()));
128
+            return oldContract;
129
+        }
130
+
131
+        //先入合同表
132
+        TaContract taContract = new TaContract();
133
+        taContract.setBuildingId(taRaiseRecord.getBuildingId());
134
+        taContract.setOrgId(taRaiseRecord.getOrgId());
135
+        taContract.setOrgName(taOrgMapper.selectById(taRaiseRecord.getOrgId()).getName());
136
+        taContract.setTargetType("raise");
137
+        taContract.setTargetId(Integer.valueOf(taRaiseRecord.getRaiseId()));
138
+        taContract.setInvoiceTargetType("raise_record");
139
+        taContract.setInvoiceTargetId(taRaiseRecord.getRaiseRecordId());
140
+        taContract.setCompanyId(taContractBusiness.getCompanyId());
141
+        taContract.setCreateDate(LocalDateTime.now());
142
+        taContract.setStatus(0);
143
+        taContract.setPersonId(person.getPersonId());
144
+        taContractMapper.insert(taContract);
145
+
146
+        //上传合同
147
+        FddClientBase base = new FddClientBase(fadadaProperties.getAppId(),fadadaProperties.getAppSecret(),fadadaProperties.getVersion(),fadadaProperties.getServeHost());
148
+        String result = base.invokeUploadDocs(taContract.getContractId().toString(), taContractBusiness.getContractTemplateName(), null, taContractBusiness.getContractTemplateAddress(), ".pdf");
149
+        JSONObject jsonObject = JSONObject.parseObject(result);
150
+        if (!jsonObject.getString("code").equals("1000")){
151
+            taContractMapper.deleteById(taContract.getContractId());
152
+            throw new Exception(jsonObject.getString("msg"));
153
+        }
154
+
155
+        //自动签署合同
156
+        String timeStamp = HttpsUtil.getTimeStamp();
157
+        String transaction_id = "TRAN_" + timeStamp;
158
+        ExtsignReq req = new ExtsignReq();
159
+        req.setCustomer_id(taContractBusiness.getFadadaCode());
160
+        req.setTransaction_id(transaction_id);
161
+        req.setContract_id(taContract.getContractId().toString());
162
+        req.setClient_role("1");
163
+        req.setSign_keyword(taContractBusiness.getSignatoryKeywords());
164
+        req.setKeyword_strategy(taContractBusiness.getSignatoryStrategy());
165
+        req.setDoc_title(taContractBusiness.getContractTemplateName());
166
+        String autoSignResult = base.invokeExtSignAuto(req);
167
+        JSONObject autoSignResultJson = JSONObject.parseObject(autoSignResult);
168
+        if (!autoSignResultJson.getString("code").equals("1000")){
169
+            throw new Exception(jsonObject.getString("msg"));
170
+        }
171
+
172
+        //反更新合同地址
173
+        taContract.setContractDownloadUrl(getFddDownServerHost(person.getMiniappId(),autoSignResultJson.getString("download_url")));
174
+        taContract.setContractViewUrl(getFddDownServerHost(person.getMiniappId(),autoSignResultJson.getString("viewpdf_url")));
175
+        taContract.setContractName(taContractBusiness.getContractTemplateName());
176
+        //合同详情
177
+        taContract.setCompanyName(taContractBusiness.getCompanyName());
178
+        taContract.setSignatoryName(taContractBusiness.getCompanyName());
179
+        taContract.setSignatoryTime(LocalDateTime.now());
180
+        taContract.setArchives(false);
181
+        taContractMapper.updateById(taContract);
182
+        return taContract;
183
+    }
184
+
185
+    /**
186
+     * 替换法大大服务器地址
187
+     * @return
188
+     */
189
+    private String getFddDownServerHost(String miniappId,String subUrl) {
190
+        if (StringUtils.isEmpty(subUrl)){
191
+            return subUrl;
192
+        }
193
+        TaMiniapp taMiniapp = taMiniappMapper.selectById(miniappId);
194
+        int index = subUrl.indexOf("/");
195
+        int twoIndex = subUrl.indexOf("/",index+1);
196
+        int threeIndex = subUrl.indexOf("/",twoIndex+1);
197
+        String newUrl = StringUtils.isEmpty(taMiniapp.getFddDownloadHost()) ? subUrl : taMiniapp.getFddDownloadHost() + subUrl.substring(threeIndex);
198
+        return newUrl;
199
+    }
200
+
201
+    /**
202
+     * 手动签署合同
203
+     *
204
+     * @param taContract
205
+     * @param person
206
+     * @return
207
+     */
208
+    @Override
209
+    public String manualContract(TaContract taContract, TaPerson person) throws Exception {
210
+        //获取客户信息
211
+        QueryWrapper<TaContractUser> queryWrapper = new QueryWrapper<>();
212
+        queryWrapper.eq("mini_openid", MD5Utils.md5(person.getMiniOpenid()));
213
+        TaContractUser taContractUser = taContractUserMapper.selectOne(queryWrapper);
214
+
215
+        if (taContract.getStatus() == 1){
216
+            throw new Exception("已经成功签署,无需再次签署");
217
+        }
218
+        //根据raiseId获取合同的所有参数
219
+        TaContractBusiness taContractBusiness = taContractMapper.selectContractInfoByRaiseId(taContract.getTargetId().toString());
220
+        if (null == taContractBusiness){
221
+            throw new Exception("无合同模板,请和置业顾问联系");
222
+        }
223
+
224
+        //手动签署合同
225
+        String timeStamp = HttpsUtil.getTimeStamp();
226
+        String transaction_id = "TRAN_" + timeStamp;
227
+
228
+        FddClientBase base = new FddClientBase(fadadaProperties.getAppId(),fadadaProperties.getAppSecret(),fadadaProperties.getVersion(),fadadaProperties.getServeHost());
229
+        ExtsignReq req = new ExtsignReq();
230
+        req.setCustomer_id(taContractUser.getFadadaCode());
231
+        req.setTransaction_id(transaction_id);
232
+        req.setContract_id(taContract.getContractId().toString());
233
+        req.setSign_keyword(taContractBusiness.getCustomerKeywords());
234
+        req.setKeyword_strategy(taContractBusiness.getCustomerStrategy());
235
+
236
+        req.setDoc_title(taContractBusiness.getContractTemplateName());
237
+        String redirectUrl = URLEncoder.encode(URLEncoder.encode(
238
+                "/onlineSelling/pages/raiseMoney/signResult?id=" + taContract.getInvoiceTargetId(), "utf-8"), "utf-8");
239
+        String return_url=  fadadaProperties.getRedirectUrl() + "?appid=123&redirect="+ redirectUrl;
240
+        req.setReturn_url(URLEncoder.encode(return_url, "utf-8"));
241
+        req.setNotify_url(fadadaProperties.getSignNotify());
242
+        String signUrl = base.invokeExtSignDIY(req,"1","0");
243
+
244
+        //更新乙方数据
245
+        //获取个人信息
246
+        log.info("个人正在从法大大获取最新数据,企业编号是 {}", taContractUser.getFadadaCode());
247
+        FindCertInfo personCertInfo = new FindCertInfo(fadadaProperties.getAppId(),fadadaProperties.getAppSecret(),fadadaProperties.getVersion(),fadadaProperties.getServeHost());
248
+        String verified_serialno = taContractUser.getCertifiedSerialNumber();
249
+        String result = personCertInfo.invokeFindPersonCert(verified_serialno,
250
+                "1");
251
+        log.info("个人最新数据结果 {}",result);
252
+        JSONObject jsonObject = JSONObject.parseObject(result);
253
+        if (jsonObject.getInteger("code") != 1){
254
+            throw new Exception(jsonObject.getString("msg"));
255
+        }
256
+        //更新数据
257
+        String data = jsonObject.getString("data");
258
+        if (null !=data){
259
+            JSONObject dataJson = JSONObject.parseObject(data);
260
+            //个人信息
261
+            JSONObject personJson = dataJson.getJSONObject("person");
262
+            if (null != personJson){
263
+                taContract.setCustomerName(personJson.getString("personName"));
264
+                taContract.setCustomerTel(personJson.getString("mobile"));
265
+                taContract.setCustomerIdcard(personJson.getString("idCard"));
266
+            }
267
+        }
268
+
269
+        taContractMapper.updateById(taContract);
270
+        return signUrl;
271
+    }
272
+
273
+    /**
274
+     * 检查签署合同状态
275
+     *
276
+     * @param taRaiseRecord
277
+     * @param person
278
+     * @return
279
+     */
280
+    @Override
281
+    public TaContract checkContract(TaRaiseRecord taRaiseRecord, TaPerson person) throws Exception {
282
+        taRaiseRecord = taRaiseRecordMapper.selectById(taRaiseRecord.getRaiseRecordId());
283
+
284
+        //根据raiseId获取合同的所有参数
285
+        TaContractBusiness taContractBusiness = taContractMapper.selectContractInfoByRaiseId(taRaiseRecord.getRaiseId());
286
+        if (null == taContractBusiness){
287
+            throw new Exception("无合同模板,请和置业顾问联系");
288
+        }
289
+
290
+        //检查是否签署过本合同
291
+        QueryWrapper<TaContract> queryWrapper = new QueryWrapper<>();
292
+        queryWrapper.eq("building_id",taRaiseRecord.getBuildingId());
293
+        queryWrapper.eq("org_id",taRaiseRecord.getOrgId());
294
+        queryWrapper.eq("target_type","raise");
295
+        queryWrapper.eq("target_id",Integer.valueOf(taRaiseRecord.getRaiseId()));
296
+        queryWrapper.eq("invoice_target_type","raise_record");
297
+        queryWrapper.eq("invoice_target_id",taRaiseRecord.getRaiseRecordId());
298
+        queryWrapper.eq("company_id",taContractBusiness.getCompanyId());
299
+        queryWrapper.eq("person_id",person.getPersonId());
300
+        TaContract oldContract = taContractMapper.selectOne(queryWrapper);
301
+        oldContract.setContractDownloadUrl(getFddDownServerHost(person.getMiniappId(),oldContract.getContractDownloadUrl()));
302
+        oldContract.setContractViewUrl(getFddDownServerHost(person.getMiniappId(),oldContract.getContractViewUrl()));
303
+        return oldContract;
304
+    }
305
+}

+ 20
- 0
src/main/java/com/huiju/estateagents/eContract/service/impl/TaContractTemplateServiceImpl.java Dosyayı Görüntüle

@@ -0,0 +1,20 @@
1
+package com.huiju.estateagents.eContract.service.impl;
2
+
3
+import com.huiju.estateagents.eContract.entity.TaContractTemplate;
4
+import com.huiju.estateagents.eContract.mapper.TaContractTemplateMapper;
5
+import com.huiju.estateagents.eContract.service.ITaContractTemplateService;
6
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
7
+import org.springframework.stereotype.Service;
8
+
9
+/**
10
+ * <p>
11
+ * 合同模板  服务实现类
12
+ * </p>
13
+ *
14
+ * @author fxf
15
+ * @since 2020-03-26
16
+ */
17
+@Service
18
+public class TaContractTemplateServiceImpl extends ServiceImpl<TaContractTemplateMapper, TaContractTemplate> implements ITaContractTemplateService {
19
+
20
+}

+ 177
- 0
src/main/java/com/huiju/estateagents/eContract/service/impl/TaContractUserServiceImpl.java Dosyayı Görüntüle

@@ -0,0 +1,177 @@
1
+package com.huiju.estateagents.eContract.service.impl;
2
+
3
+import com.alibaba.fastjson.JSON;
4
+import com.alibaba.fastjson.JSONObject;
5
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
6
+import com.fadada.sdk.client.FddClientBase;
7
+import com.fadada.sdk.client.authForfadada.FindCertInfo;
8
+import com.fadada.sdk.client.authForfadada.GetPersonVerifyUrl;
9
+import com.huiju.estateagents.common.CommConstant;
10
+import com.huiju.estateagents.common.MD5Utils;
11
+import com.huiju.estateagents.common.StringUtils;
12
+import com.huiju.estateagents.config.FadadaProperties;
13
+import com.huiju.estateagents.eContract.entity.TaContractUser;
14
+import com.huiju.estateagents.eContract.mapper.TaContractUserMapper;
15
+import com.huiju.estateagents.eContract.service.ITaContractUserService;
16
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
17
+import com.huiju.estateagents.entity.TaMiniapp;
18
+import com.huiju.estateagents.entity.TaPerson;
19
+import com.huiju.estateagents.entity.TaRaiseRecord;
20
+import com.huiju.estateagents.mapper.TaMiniappMapper;
21
+import jodd.util.URLDecoder;
22
+import lombok.extern.slf4j.Slf4j;
23
+import org.apache.commons.codec.binary.Base64;
24
+import org.springframework.beans.factory.annotation.Autowired;
25
+import org.springframework.stereotype.Service;
26
+
27
+import java.io.File;
28
+import java.net.URLEncoder;
29
+import java.time.LocalDateTime;
30
+
31
+/**
32
+ * <p>
33
+ * 电子合同注册用户表  服务实现类
34
+ * </p>
35
+ *
36
+ * @author fxf
37
+ * @since 2020-03-26
38
+ */
39
+@Slf4j
40
+@Service
41
+public class TaContractUserServiceImpl extends ServiceImpl<TaContractUserMapper, TaContractUser> implements ITaContractUserService {
42
+
43
+    @Autowired
44
+    private FadadaProperties fadadaProperties;
45
+
46
+    @Autowired
47
+    private TaContractUserMapper taContractUserMapper;
48
+
49
+    @Autowired
50
+    private TaMiniappMapper taMiniappMapper;
51
+    /**
52
+     * 小程序端首次签署合同的是要在法大大处创建账号
53
+     *
54
+     * @param person
55
+     * @param taRaiseRecord
56
+     * @return
57
+     */
58
+    @Override
59
+    public TaContractUser newFirstCustomerInfo(TaPerson person, TaRaiseRecord taRaiseRecord) throws Exception {
60
+        //首先判断是否注册过账号
61
+        QueryWrapper<TaContractUser> queryWrapper = new QueryWrapper<>();
62
+        queryWrapper.eq("mini_openid",MD5Utils.md5(person.getMiniOpenid()));
63
+        TaContractUser taContractUser = taContractUserMapper.selectOne(queryWrapper);
64
+        if (null != taContractUser) {
65
+            taContractUser.setRaiseRecordId(taRaiseRecord.getRaiseRecordId());
66
+            taContractUser.setCertifiedAddress(getFddServerHost(person.getMiniappId(),taContractUser.getCertifiedAddress()));
67
+            return taContractUser;
68
+        }
69
+        //没有法大大账号的先注册
70
+        log.info("========法大大个人注册=======");
71
+        //在法大大注册个人用户
72
+        FddClientBase base = new FddClientBase(fadadaProperties.getAppId(),fadadaProperties.getAppSecret(),fadadaProperties.getVersion(),fadadaProperties.getServeHost());
73
+        //小程序open——id为注册账号
74
+        String open_id = MD5Utils.md5(person.getMiniOpenid());
75
+        //account_type 1是个人注册
76
+        String result =base.invokeregisterAccount(open_id,"1");
77
+        log.info("法大大注册信息{}", result);
78
+        JSONObject jsonObject = JSONObject.parseObject(result);
79
+        if (jsonObject.getInteger("code") != 1){
80
+            throw new Exception(jsonObject.getString("msg"));
81
+        }
82
+
83
+        //插入个人用户数据
84
+        TaContractUser newContractUser = new TaContractUser();
85
+        newContractUser.setMiniOpenid(open_id);
86
+        newContractUser.setFadadaCode(jsonObject.getString("data"));
87
+        newContractUser.setPersonId(person.getPersonId());
88
+        newContractUser.setAuthStatus(CommConstant.CERTIFIED_STATUS_REGISTERED);
89
+        newContractUser.setCreateDate(LocalDateTime.now());
90
+        newContractUser.setOrgId(person.getOrgId());
91
+
92
+        log.info("正在申请个人认证,客户编码是{}",jsonObject.getString("data"));
93
+        GetPersonVerifyUrl personverify = new GetPersonVerifyUrl(fadadaProperties.getAppId(),fadadaProperties.getAppSecret(),fadadaProperties.getVersion(),fadadaProperties.getServeHost());
94
+        String customer_id = jsonObject.getString("data");
95
+        //0:三要素标准方案; 1:三要素补充方案 4 纯三要素方案;
96
+        String verifyed_way = "4";
97
+        String page_modify = "1";
98
+        String notify_url = fadadaProperties.getCompanyNotify();
99
+        String redirectUrl = URLEncoder.encode("/onlineSelling/pages/raiseMoney/Certification", "utf-8");
100
+        String return_url=  fadadaProperties.getRedirectUrl() + "?appid=123&redirect="+ redirectUrl;
101
+        String customer_ident_type = "0";
102
+        String personResult = personverify.invokePersonVerifyUrl(customer_id,verifyed_way,
103
+                page_modify,notify_url,return_url,null,customer_ident_type,
104
+                taRaiseRecord.getIdcard(),taRaiseRecord.getTel(),null,"1","1");
105
+
106
+        String data = JSON.parseObject(personResult).getString("data");
107
+        if (null !=data){
108
+            String url = JSON.parseObject(data).getString("url");
109
+            url = decode(url);
110
+            newContractUser.setCertifiedAddress(getFddServerHost(person.getMiniappId(),url));
111
+            newContractUser.setCertifiedSerialNumber(JSON.parseObject(data).getString("transactionNo"));
112
+        }
113
+        newContractUser.setStatus(0);
114
+        newContractUser.setAuthStatus(CommConstant.CERTIFIED_STATUS_CERTIFICATION);
115
+        newContractUser.setRaiseRecordId(taRaiseRecord.getRaiseRecordId());
116
+        taContractUserMapper.insert(newContractUser);
117
+        return newContractUser;
118
+    }
119
+
120
+    /**
121
+     * 替换法大大服务器地址
122
+     * @return
123
+     */
124
+    private String getFddServerHost(String miniappId,String subUrl) {
125
+        TaMiniapp taMiniapp = taMiniappMapper.selectById(miniappId);
126
+        int index = subUrl.indexOf("/");
127
+        int twoIndex = subUrl.indexOf("/",index+1);
128
+        int threeIndex = subUrl.indexOf("/",twoIndex+1);
129
+        String newUrl = StringUtils.isEmpty(taMiniapp.getFddServerHost()) ? subUrl : taMiniapp.getFddServerHost() + subUrl.substring(threeIndex);
130
+        return newUrl;
131
+    }
132
+
133
+    /**
134
+     * 去法大大处更新客户的状态
135
+     *
136
+     * @param person
137
+     * @return
138
+     */
139
+    @Override
140
+    public TaContractUser getFirstCustomerInfo(TaPerson person) throws Exception {
141
+        //注册账号信息
142
+        QueryWrapper<TaContractUser> queryWrapper = new QueryWrapper<>();
143
+        queryWrapper.eq("mini_openid",MD5Utils.md5(person.getMiniOpenid()));
144
+        TaContractUser taContractUser = taContractUserMapper.selectOne(queryWrapper);
145
+        log.info("个人正在从法大大获取最新数据,企业编号是 {}", taContractUser.getFadadaCode());
146
+        FindCertInfo personCertInfo = new FindCertInfo(fadadaProperties.getAppId(),fadadaProperties.getAppSecret(),fadadaProperties.getVersion(),fadadaProperties.getServeHost());
147
+        String verified_serialno = taContractUser.getCertifiedSerialNumber();
148
+        String result = personCertInfo.invokeFindPersonCert(verified_serialno,
149
+                "1");
150
+        log.info("个人最新数据结果 {}",result);
151
+        JSONObject jsonObject = JSONObject.parseObject(result);
152
+        if (jsonObject.getInteger("code") != 1){
153
+            throw new Exception(jsonObject.getString("msg"));
154
+        }
155
+        //更新数据
156
+        String data = jsonObject.getString("data");
157
+        if (null !=data){
158
+            JSONObject dataJson = JSONObject.parseObject(data);
159
+            //企业法人、代理人信息
160
+            JSONObject personJson = dataJson.getJSONObject("person");
161
+            if (null != personJson){
162
+                taContractUser.setStatus(personJson.getInteger("status"));
163
+                taContractUser.setTel(personJson.getString("mobile"));
164
+                taContractUser.setIdCard(personJson.getString("idCard"));
165
+                taContractUser.setReason(personJson.getString("auditFailReason"));
166
+            }
167
+        }
168
+        taContractUserMapper.updateById(taContractUser);
169
+        return taContractUser;
170
+    }
171
+
172
+    private String decode(String bizContent) {
173
+        bizContent = URLDecoder.decode(bizContent, "utf-8");
174
+        bizContent = new String(Base64.decodeBase64(bizContent.getBytes()));
175
+        return bizContent;
176
+    }
177
+}

+ 10
- 0
src/main/java/com/huiju/estateagents/entity/TaMiniapp.java Dosyayı Görüntüle

@@ -59,6 +59,16 @@ public class TaMiniapp implements Serializable {
59 59
 
60 60
     private String aesKey;
61 61
 
62
+    /**
63
+     * 法大大服务地址
64
+     */
65
+    private String fddServerHost;
66
+
67
+    /**
68
+     * 法大大下载地址
69
+     */
70
+    private String fddDownloadHost;
71
+
62 72
     @TableField(exist = false)
63 73
     private List<TaMiniappTemplate> tpls;
64 74
 }

+ 14
- 2
src/main/java/com/huiju/estateagents/entity/TaOrg.java Dosyayı Görüntüle

@@ -13,7 +13,7 @@ import java.time.LocalDateTime;
13 13
 
14 14
 /**
15 15
  * <p>
16
- * 公司表 
16
+ * 公司表
17 17
  * </p>
18 18
  *
19 19
  * @author jobob
@@ -57,7 +57,7 @@ public class TaOrg implements Serializable {
57 57
      */
58 58
     private LocalDateTime createDate;
59 59
 
60
-    @TableField(strategy= FieldStrategy.IGNORED)
60
+    @TableField(strategy = FieldStrategy.IGNORED)
61 61
     private String waterMark;
62 62
 
63 63
     /**
@@ -69,4 +69,16 @@ public class TaOrg implements Serializable {
69 69
      * 默认城市
70 70
      */
71 71
     private Integer defaultCityId;
72
+
73
+    /**
74
+     * 小程序名称
75
+     */
76
+    @TableField(exist = false)
77
+    private String miniAppName;
78
+
79
+    /**
80
+     * 代理商名称
81
+     */
82
+    @TableField(exist = false)
83
+    private String channelProxyName;
72 84
 }

+ 11
- 0
src/main/java/com/huiju/estateagents/entity/TaRaise.java Dosyayı Görüntüle

@@ -166,4 +166,15 @@ public class TaRaise implements Serializable {
166 166
      */
167 167
     @TableField(exist = false)
168 168
     private Integer salesBatchStatus;
169
+
170
+    /**
171
+     * 是否邀请制 1是 0否
172
+     */
173
+    private Integer invite;
174
+
175
+    /**
176
+     * 被邀请电话号码
177
+     */
178
+    @TableField(exist = false)
179
+    private String inviteTel;
169 180
 }

+ 60
- 0
src/main/java/com/huiju/estateagents/entity/TaRaiseInvite.java Dosyayı Görüntüle

@@ -0,0 +1,60 @@
1
+package com.huiju.estateagents.entity;
2
+
3
+import java.time.LocalDateTime;
4
+import java.io.Serializable;
5
+import lombok.Data;
6
+import lombok.EqualsAndHashCode;
7
+import lombok.experimental.Accessors;
8
+
9
+/**
10
+ * <p>
11
+ * 认筹被邀请清单 
12
+ * </p>
13
+ *
14
+ * @author fxf
15
+ * @since 2020-03-30
16
+ */
17
+@Data
18
+@EqualsAndHashCode(callSuper = false)
19
+@Accessors(chain = true)
20
+public class TaRaiseInvite implements Serializable {
21
+
22
+    private static final long serialVersionUID = 1L;
23
+
24
+    /**
25
+     * 认筹被邀请id
26
+     */
27
+    private String raiseInviteId;
28
+
29
+    /**
30
+     * 创建时间
31
+     */
32
+    private LocalDateTime createDate;
33
+
34
+    /**
35
+     * 公司id
36
+     */
37
+    private Integer orgId;
38
+
39
+    /**
40
+     * 认筹id
41
+     */
42
+    private Integer raiseId;
43
+
44
+    /**
45
+     * 销售批次id
46
+     */
47
+    private Integer salesBatchId;
48
+
49
+    /**
50
+     * 项目id
51
+     */
52
+    private String buildingId;
53
+
54
+    /**
55
+     * 被邀请电话号码
56
+     */
57
+    private String inviteTel;
58
+
59
+
60
+}

+ 6
- 0
src/main/java/com/huiju/estateagents/entity/TaRaiseRecord.java Dosyayı Görüntüle

@@ -251,4 +251,10 @@ public class TaRaiseRecord implements Serializable {
251 251
      */
252 252
     @TableField(exist = false)
253 253
     private Integer refundedOrderId;
254
+
255
+    /**
256
+     * 是否展示签署合同 1是 0否
257
+     */
258
+    @TableField(exist = false)
259
+    private Integer showContract;
254 260
 }

+ 1
- 0
src/main/java/com/huiju/estateagents/interceptor/AccessInterceptor.java Dosyayı Görüntüle

@@ -72,6 +72,7 @@ public class AccessInterceptor implements HandlerInterceptor {
72 72
             "/api/admin/taPersonFromRecord",
73 73
             "/api/notify",//微信支付所有回调放过
74 74
             "/api/refund/",//微信退款所有回调放过
75
+            "/api/fadd/",//所有的法大大回调放过
75 76
     };
76 77
 
77 78
     /*

+ 7
- 0
src/main/java/com/huiju/estateagents/mapper/TaOrgMapper.java Dosyayı Görüntüle

@@ -1,8 +1,11 @@
1 1
 package com.huiju.estateagents.mapper;
2 2
 
3 3
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4
+import com.baomidou.mybatisplus.core.metadata.IPage;
4 5
 import com.huiju.estateagents.entity.TaOrg;
5 6
 import org.apache.ibatis.annotations.Mapper;
7
+import org.apache.ibatis.annotations.Param;
8
+import org.springframework.stereotype.Component;
6 9
 
7 10
 /**
8 11
  * <p>
@@ -13,6 +16,10 @@ import org.apache.ibatis.annotations.Mapper;
13 16
  * @since 2019-09-11
14 17
  */
15 18
 @Mapper
19
+@Component
16 20
 public interface TaOrgMapper extends BaseMapper<TaOrg> {
17 21
 
22
+    IPage<TaOrg> listOrgForContract(IPage<TaOrg> pg,
23
+                                    @Param("orgName") String orgName,
24
+                                    @Param("miniAppName") String miniAppName);
18 25
 }

+ 18
- 0
src/main/java/com/huiju/estateagents/mapper/TaRaiseInviteMapper.java Dosyayı Görüntüle

@@ -0,0 +1,18 @@
1
+package com.huiju.estateagents.mapper;
2
+
3
+import com.huiju.estateagents.entity.TaRaiseInvite;
4
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
5
+import org.apache.ibatis.annotations.Mapper;
6
+
7
+/**
8
+ * <p>
9
+ * 认筹被邀请清单  Mapper 接口
10
+ * </p>
11
+ *
12
+ * @author fxf
13
+ * @since 2020-03-30
14
+ */
15
+@Mapper
16
+public interface TaRaiseInviteMapper extends BaseMapper<TaRaiseInvite> {
17
+
18
+}

+ 2
- 1
src/main/java/com/huiju/estateagents/service/ITaBuildingService.java Dosyayı Görüntüle

@@ -3,6 +3,7 @@ package com.huiju.estateagents.service;
3 3
 import com.huiju.estateagents.base.ResponseBean;
4 4
 import com.huiju.estateagents.entity.TaBuilding;
5 5
 import com.baomidou.mybatisplus.extension.service.IService;
6
+import com.huiju.estateagents.entity.TaPerson;
6 7
 import com.huiju.estateagents.entity.TaPersonBuilding;
7 8
 
8 9
 import java.time.LocalDateTime;
@@ -46,7 +47,7 @@ public interface ITaBuildingService extends IService<TaBuilding> {
46 47
      * @param id
47 48
      * @return
48 49
      */
49
-    ResponseBean buildingAllSelectId(String id,String personId, Integer orgId);
50
+    ResponseBean buildingAllSelectId(String id, TaPerson person, Integer orgId);
50 51
 
51 52
 
52 53
     /**

+ 1
- 1
src/main/java/com/huiju/estateagents/service/ITaHousingResourcesService.java Dosyayı Görüntüle

@@ -57,7 +57,7 @@ public interface ITaHousingResourcesService extends IService<TaHousingResources>
57 57
      * @param houseId  房源ID
58 58
      * @return
59 59
      */
60
-    TaHousingResourcesPO getHousingDetailById(String personId, Integer houseId);
60
+    TaHousingResourcesPO getHousingDetailById(String personId, Integer houseId) throws Exception;
61 61
 
62 62
     /**
63 63
      * 校验楼栋信息存不存在

+ 11
- 0
src/main/java/com/huiju/estateagents/service/ITaOrgService.java Dosyayı Görüntüle

@@ -1,6 +1,7 @@
1 1
 package com.huiju.estateagents.service;
2 2
 
3 3
 import com.baomidou.mybatisplus.extension.service.IService;
4
+import com.huiju.estateagents.base.ResponseBean;
4 5
 import com.huiju.estateagents.entity.TaOrg;
5 6
 
6 7
 /**
@@ -13,4 +14,14 @@ import com.huiju.estateagents.entity.TaOrg;
13 14
  */
14 15
 public interface ITaOrgService extends IService<TaOrg> {
15 16
 
17
+    /**
18
+     * channel端-电子合同-获取组织列表
19
+     *
20
+     * @param pageNum
21
+     * @param pageSize
22
+     * @param orgName
23
+     * @param miniAppName
24
+     * @return
25
+     */
26
+    ResponseBean listOrgForContract(Integer pageNum, Integer pageSize, String orgName, String miniAppName);
16 27
 }

+ 16
- 0
src/main/java/com/huiju/estateagents/service/ITaRaiseInviteService.java Dosyayı Görüntüle

@@ -0,0 +1,16 @@
1
+package com.huiju.estateagents.service;
2
+
3
+import com.huiju.estateagents.entity.TaRaiseInvite;
4
+import com.baomidou.mybatisplus.extension.service.IService;
5
+
6
+/**
7
+ * <p>
8
+ * 认筹被邀请清单  服务类
9
+ * </p>
10
+ *
11
+ * @author fxf
12
+ * @since 2020-03-30
13
+ */
14
+public interface ITaRaiseInviteService extends IService<TaRaiseInvite> {
15
+
16
+}

+ 9
- 1
src/main/java/com/huiju/estateagents/service/ITaRaiseRecordService.java Dosyayı Görüntüle

@@ -101,5 +101,13 @@ public interface ITaRaiseRecordService extends IService<TaRaiseRecord> {
101 101
      * @param houseLockingStatus
102 102
      * @return
103 103
      */
104
-    Boolean updateHouseLockingStatus(Integer raiseRecordId, String houseLockingStatus,String personId);
104
+    Boolean updateHouseLockingStatus(Integer raiseRecordId, String houseLockingStatus, String personId);
105
+
106
+    /**
107
+     * 获取认筹单详情-微信端
108
+     *
109
+     * @param raiseRecordId
110
+     * @return
111
+     */
112
+    ResponseBean wxGetRaiseRecordById(Integer raiseRecordId, String personId,Integer orgId);
105 113
 }

+ 10
- 2
src/main/java/com/huiju/estateagents/service/ITaRaiseService.java Dosyayı Görüntüle

@@ -5,7 +5,6 @@ import com.huiju.estateagents.base.ResponseBean;
5 5
 import com.huiju.estateagents.entity.TaPersonBuilding;
6 6
 import com.huiju.estateagents.entity.TaRaise;
7 7
 
8
-import javax.servlet.http.HttpServletRequest;
9 8
 import java.util.List;
10 9
 
11 10
 /**
@@ -49,11 +48,20 @@ public interface ITaRaiseService extends IService<TaRaise> {
49 48
     ResponseBean getRaiseById(Integer id, Integer orgId);
50 49
 
51 50
     /**
52
-     *
53 51
      * @param raiseId
54 52
      * @param raiseRecordId
55 53
      * @param salesBatchId
56 54
      * @return
57 55
      */
58 56
     TaRaise getRaiseProfile(Integer raiseId, Integer raiseRecordId, Integer salesBatchId);
57
+
58
+    /**
59
+     * 新增或添加被邀请人表
60
+     *
61
+     * @param taRaise
62
+     * @param orgId
63
+     * @param isAdd   是否新增 1是 0否,为新增则直接保存 不用校验是否已经添加过该邀请手机号
64
+     * @return
65
+     */
66
+    Boolean saveOrUpdateInvite(TaRaise taRaise, Integer orgId, Boolean isAdd);
59 67
 }

+ 43
- 0
src/main/java/com/huiju/estateagents/service/impl/MiniAppServiceImpl.java Dosyayı Görüntüle

@@ -548,4 +548,47 @@ public class MiniAppServiceImpl implements IMiniAppService {
548 548
 
549 549
         return taMiniappMapper.selectOne(queryWrapper);
550 550
     }
551
+
552
+    public void sendContractMessage(TaPerson toUser, String link, String name, String result, String programName,
553
+                                    String failReason, String remark, LocalDateTime dt, Boolean isSuccess) {
554
+
555
+        TaMiniapp miniapp = taMiniappMapper.selectById(toUser.getMiniappId());
556
+        if (null == miniapp) {
557
+            log.error("小程序 {} 不存在", toUser.getMiniappId());
558
+            return;
559
+        }
560
+
561
+        // 消息内容类型
562
+        String contentType = CommConstant.MESSAGE_CONTENT_OF_HOUSE;
563
+        TaMiniappTemplate tpl = getTplByType(contentType, toUser.getMiniappId());
564
+        boolean isSubscribe = null != tpl && (null == tpl.getIsSubscribe() ? false : tpl.getIsSubscribe());
565
+        // 消息发送类型
566
+        String messageType = null == tpl ? CommConstant.MESSAGE_TYPE_OF_SMS :
567
+                isSubscribe ? CommConstant.MESSAGE_TYPE_OF_MINIAPP_SUBSCRIBE : CommConstant.MESSAGE_TYPE_OF_MINIAPP_TEMPLATE;
568
+
569
+        String[] smsParams = {programName, "电子合同待签署"};
570
+
571
+        if (null == tpl) {
572
+            if (isSuccess) {
573
+                log.error("小程序 {} 无通知消息模板 {}", toUser.getMiniappId(), contentType);
574
+                // 短信发送
575
+                sendSmsMessage(StringUtils.ifNull(toUser.getTel(), toUser.getPhone()), "contract", smsParams);
576
+            }
577
+        } else {
578
+            if (isSubscribe) {
579
+                String[] data = new String[]{name, result, programName, remark, failReason, DateUtils.cutSecond(dt)};
580
+                ResponseBean res = sendSubscribeMessage(tpl, toUser, link, data);
581
+                if (res.getCode() != ResponseBean.CODE_SUCCESS) {
582
+                    // 使用短信发送
583
+                    sendSmsMessage(StringUtils.ifNull(toUser.getTel(), toUser.getPhone()), "contract", smsParams);
584
+                    messageType = CommConstant.MESSAGE_TYPE_OF_SMS;
585
+                }
586
+            } else {
587
+                log.info("发送模板消息");
588
+            }
589
+        }
590
+        // TODO 写消息发送日志
591
+        // 更新消息发送时间
592
+        iTaPersonMessageRuleService.saveOrUpdateByPersonAndMessage(toUser.getPersonId(), messageType, "contract", toUser.getOrgId());
593
+    }
551 594
 }

+ 45
- 4
src/main/java/com/huiju/estateagents/service/impl/TaBuildingServiceImpl.java Dosyayı Görüntüle

@@ -117,6 +117,15 @@ public class TaBuildingServiceImpl extends ServiceImpl<TaBuildingMapper, TaBuild
117 117
     @Autowired
118 118
     private TaPersonBuildingMapper taPersonBuildingMapper;
119 119
 
120
+    @Autowired
121
+    private ITaRaiseService iTaRaiseService;
122
+
123
+    @Autowired
124
+    private ITaPersonService iTaPersonService;
125
+
126
+    @Autowired
127
+    private ITaRaiseInviteService iTaRaiseInviteService;
128
+
120 129
     @Override
121 130
     public ResponseBean buildingList(Integer pageNum, Integer pageSize, String name, String code, LocalDateTime startDate, String buildingStatus, String marketStatus, Integer cityId, Integer isMain, Integer orgId, List<TaPersonBuilding> taPersonBuildingList) {
122 131
         Page<TaBuilding> page = new Page<>();
@@ -221,7 +230,7 @@ public class TaBuildingServiceImpl extends ServiceImpl<TaBuildingMapper, TaBuild
221 230
     }
222 231
 
223 232
     @Override
224
-    public ResponseBean buildingAllSelectId(String id, String personId, Integer orgId) {
233
+    public ResponseBean buildingAllSelectId(String id, TaPerson person, Integer orgId) {
225 234
         // 查询基础信息
226 235
         QueryWrapper<TaBuilding> buildingtWrapper = new QueryWrapper<>();
227 236
         buildingtWrapper.lambda().gt(TaBuilding::getStatus, -1);
@@ -271,7 +280,7 @@ public class TaBuildingServiceImpl extends ServiceImpl<TaBuildingMapper, TaBuild
271 280
         getBuildingAttaches(building);
272 281
         QueryWrapper<TaSave> saveQueryWrapper = new QueryWrapper<>();
273 282
         saveQueryWrapper.eq("tagert_type", CommConstant.FAVOR_PROJECT);
274
-        saveQueryWrapper.eq("person_id", personId);
283
+        saveQueryWrapper.eq("person_id", person.getPersonId());
275 284
         saveQueryWrapper.eq("saved_target", building.getBuildingId());
276 285
         Integer num = taSaveMapper.selectCount(saveQueryWrapper);
277 286
         if (num > 0) {
@@ -308,7 +317,7 @@ public class TaBuildingServiceImpl extends ServiceImpl<TaBuildingMapper, TaBuild
308 317
         List<TaShareActivity> shareActivityList = taShareActivityMapper.selectList(shareActivityQueryWrapper);
309 318
         building.setShareActivityList(shareActivityList);
310 319
 
311
-        // TODO 直播活动
320
+        // 直播活动
312 321
         QueryWrapper<TaLiveActivity> liveActivityQueryWrapper = new QueryWrapper<>();
313 322
         liveActivityQueryWrapper.eq("building_id", id);
314 323
         liveActivityQueryWrapper.eq("status", 1);
@@ -336,8 +345,40 @@ public class TaBuildingServiceImpl extends ServiceImpl<TaBuildingMapper, TaBuild
336 345
         salesBatchQueryWrapper.lambda().eq(TaSalesBatch::getBuildingId, id);
337 346
         salesBatchQueryWrapper.lambda().eq(TaSalesBatch::getStatus, CommConstant.STATUS_NORMAL);
338 347
         List<TaSalesBatch> taSalesBatch = iTaSalesBatchService.list(salesBatchQueryWrapper);
339
-        building.setSalesBatch(taSalesBatch);
340 348
 
349
+        List<TaSalesBatch> resultSalesBatchList = new ArrayList<>();
350
+        taSalesBatch.stream().forEach(record -> {
351
+            // 查询批次下认筹是否开启邀请制
352
+            QueryWrapper<TaRaise> taRaiseQueryWrapper = new QueryWrapper<>();
353
+            taRaiseQueryWrapper.eq("org_id", orgId);
354
+            taRaiseQueryWrapper.eq("sales_batch_id", record.getSalesBatchId());
355
+            taRaiseQueryWrapper.eq("status", CommConstant.STATUS_NORMAL);
356
+            TaRaise taRaise = iTaRaiseService.getOne(taRaiseQueryWrapper);
357
+            if (taRaise == null) {
358
+                resultSalesBatchList.add(record);
359
+                return;
360
+            }
361
+
362
+            // 未开启邀请制
363
+            if (CommConstant.STATUS_NORMAL != taRaise.getInvite()) {
364
+                resultSalesBatchList.add(record);
365
+                return;
366
+            }
367
+
368
+            if (CommConstant.STATUS_NORMAL == taRaise.getInvite()) {
369
+                // 若开启邀请制,校验该用户是否在邀请列表中
370
+                QueryWrapper<TaRaiseInvite> taRaiseInviteQueryWrapper = new QueryWrapper<>();
371
+                taRaiseInviteQueryWrapper.eq("org_id", orgId);
372
+                taRaiseInviteQueryWrapper.eq("invite_tel", person.getPhone());
373
+                taRaiseInviteQueryWrapper.eq("sales_batch_id", record.getSalesBatchId());
374
+                TaRaiseInvite taRaiseInvite = iTaRaiseInviteService.getOne(taRaiseInviteQueryWrapper);
375
+                if (taRaiseInvite != null) {
376
+                    resultSalesBatchList.add(record);
377
+                }
378
+            }
379
+        });
380
+
381
+        building.setSalesBatch(resultSalesBatchList);
341 382
         return ResponseBean.success(building);
342 383
     }
343 384
 

+ 19
- 1
src/main/java/com/huiju/estateagents/service/impl/TaHousingResourcesServiceImpl.java Dosyayı Görüntüle

@@ -14,6 +14,7 @@ import com.huiju.estateagents.mapper.*;
14 14
 import com.huiju.estateagents.po.BuildingImgPO;
15 15
 import com.huiju.estateagents.po.TaHousingResourcesPO;
16 16
 import com.huiju.estateagents.service.ITaHousingResourcesService;
17
+import com.huiju.estateagents.service.ITaRaiseInviteService;
17 18
 import org.apache.commons.collections.CollectionUtils;
18 19
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
19 20
 import org.apache.poi.ss.usermodel.Row;
@@ -102,6 +103,9 @@ public class TaHousingResourcesServiceImpl extends ServiceImpl<TaHousingResource
102 103
     @Autowired
103 104
     private TaUserServiceImpl taUserService;
104 105
 
106
+    @Autowired
107
+    private ITaRaiseInviteService iTaRaiseInviteService;
108
+
105 109
     /**
106 110
      * 分页获取房源列表
107 111
      *
@@ -197,7 +201,7 @@ public class TaHousingResourcesServiceImpl extends ServiceImpl<TaHousingResource
197 201
      * @return
198 202
      */
199 203
     @Override
200
-    public TaHousingResourcesPO getHousingDetailById(String personId, Integer houseId) {
204
+    public TaHousingResourcesPO getHousingDetailById(String personId, Integer houseId) throws Exception {
201 205
         logger.info("getHousingDetailById 接收参数:personId:{},houseId:{}", personId, houseId);
202 206
 
203 207
         // 查询房源详情
@@ -287,6 +291,20 @@ public class TaHousingResourcesServiceImpl extends ServiceImpl<TaHousingResource
287 291
             resourcesPO.setTaRaise(taRaise);
288 292
         }
289 293
 
294
+        // 查询批次下认筹是否开启邀请制
295
+        TaPerson person = taPersonService.getById(personId);
296
+        if (null != taRaise && CommConstant.STATUS_NORMAL == taRaise.getInvite()) {
297
+            // 若开启邀请制,校验该用户是否在邀请列表中
298
+            QueryWrapper<TaRaiseInvite> taRaiseInviteQueryWrapper = new QueryWrapper<>();
299
+            taRaiseInviteQueryWrapper.eq("org_id", orgId);
300
+            taRaiseInviteQueryWrapper.eq("invite_tel", person.getPhone());
301
+            taRaiseInviteQueryWrapper.eq("sales_batch_id", salesBatchId);
302
+            TaRaiseInvite taRaiseInvite = iTaRaiseInviteService.getOne(taRaiseInviteQueryWrapper);
303
+            if (null == taRaiseInvite) {
304
+                throw new Exception("仅限被邀请用户查看房源");
305
+            }
306
+        }
307
+
290 308
         return resourcesPO;
291 309
     }
292 310
 

+ 16
- 0
src/main/java/com/huiju/estateagents/service/impl/TaOrgServiceImpl.java Dosyayı Görüntüle

@@ -1,9 +1,13 @@
1 1
 package com.huiju.estateagents.service.impl;
2 2
 
3
+import com.baomidou.mybatisplus.core.metadata.IPage;
4
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
3 5
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
6
+import com.huiju.estateagents.base.ResponseBean;
4 7
 import com.huiju.estateagents.entity.TaOrg;
5 8
 import com.huiju.estateagents.mapper.TaOrgMapper;
6 9
 import com.huiju.estateagents.service.ITaOrgService;
10
+import org.springframework.beans.factory.annotation.Autowired;
7 11
 import org.springframework.stereotype.Service;
8 12
 
9 13
 /**
@@ -17,4 +21,16 @@ import org.springframework.stereotype.Service;
17 21
 @Service
18 22
 public class TaOrgServiceImpl extends ServiceImpl<TaOrgMapper, TaOrg> implements ITaOrgService {
19 23
 
24
+    @Autowired
25
+    private TaOrgMapper taOrgMapper;
26
+
27
+    @Override
28
+    public ResponseBean listOrgForContract(Integer pageNum, Integer pageSize, String orgName, String miniAppName) {
29
+        ResponseBean responseBean = new ResponseBean();
30
+
31
+        IPage<TaOrg> pg = new Page<>(pageNum, pageSize);
32
+        pg = taOrgMapper.listOrgForContract(pg,orgName,miniAppName);
33
+        responseBean.addSuccess(pg);
34
+        return responseBean;
35
+    }
20 36
 }

+ 8
- 5
src/main/java/com/huiju/estateagents/service/impl/TaPreselectionRecordServiceImpl.java Dosyayı Görüntüle

@@ -113,12 +113,15 @@ public class TaPreselectionRecordServiceImpl extends ServiceImpl<TaPreselectionR
113 113
             housingQueryWrapper.ne("status", -1);
114 114
             TaHousingResources housingResources = taHousingResourcesService.getOne(housingQueryWrapper);
115 115
             //户型图name
116
-            TaBuildingApartment buildingApartment = taBuildingApartmentService.getById(housingResources.getApartmentId());
117
-            if (null != buildingApartment){
118
-                housingResources.setApartmentName(buildingApartment.getApartmentName());
119
-                housingResources.setBuildingArea(buildingApartment.getBuildingArea());
120
-                housingResources.setInsideArea(buildingApartment.getInsideArea());
116
+            if (null != housingResources){
117
+                TaBuildingApartment buildingApartment = taBuildingApartmentService.getById(housingResources.getApartmentId());
118
+                if (null != buildingApartment){
119
+                    housingResources.setApartmentName(buildingApartment.getApartmentName());
120
+                    housingResources.setBuildingArea(buildingApartment.getBuildingArea());
121
+                    housingResources.setInsideArea(buildingApartment.getInsideArea());
122
+                }
121 123
             }
124
+
122 125
             record.setHousingInfo(housingResources);
123 126
         });
124 127
 

+ 20
- 0
src/main/java/com/huiju/estateagents/service/impl/TaRaiseInviteServiceImpl.java Dosyayı Görüntüle

@@ -0,0 +1,20 @@
1
+package com.huiju.estateagents.service.impl;
2
+
3
+import com.huiju.estateagents.entity.TaRaiseInvite;
4
+import com.huiju.estateagents.mapper.TaRaiseInviteMapper;
5
+import com.huiju.estateagents.service.ITaRaiseInviteService;
6
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
7
+import org.springframework.stereotype.Service;
8
+
9
+/**
10
+ * <p>
11
+ * 认筹被邀请清单  服务实现类
12
+ * </p>
13
+ *
14
+ * @author fxf
15
+ * @since 2020-03-30
16
+ */
17
+@Service
18
+public class TaRaiseInviteServiceImpl extends ServiceImpl<TaRaiseInviteMapper, TaRaiseInvite> implements ITaRaiseInviteService {
19
+
20
+}

+ 143
- 3
src/main/java/com/huiju/estateagents/service/impl/TaRaiseRecordServiceImpl.java Dosyayı Görüntüle

@@ -13,11 +13,13 @@ import com.huiju.estateagents.center.taUser.entity.TaUser;
13 13
 import com.huiju.estateagents.center.taUser.service.impl.TaUserServiceImpl;
14 14
 import com.huiju.estateagents.common.CommConstant;
15 15
 import com.huiju.estateagents.common.SMSUtils;
16
+import com.huiju.estateagents.eContract.entity.TaContract;
17
+import com.huiju.estateagents.eContract.entity.TaContractBusiness;
18
+import com.huiju.estateagents.eContract.service.ITaContractBusinessService;
19
+import com.huiju.estateagents.eContract.service.ITaContractService;
16 20
 import com.huiju.estateagents.entity.*;
17 21
 import com.huiju.estateagents.mapper.*;
18
-import com.huiju.estateagents.po.TaHousingResourcesPO;
19
-import com.huiju.estateagents.service.ITaRaiseRecordService;
20
-import com.huiju.estateagents.service.ITaUvService;
22
+import com.huiju.estateagents.service.*;
21 23
 import jodd.util.StringUtil;
22 24
 import org.apache.commons.lang3.StringUtils;
23 25
 import org.slf4j.Logger;
@@ -26,9 +28,13 @@ import org.springframework.beans.factory.annotation.Autowired;
26 28
 import org.springframework.stereotype.Service;
27 29
 
28 30
 import java.time.LocalDateTime;
31
+import java.util.ArrayList;
32
+import java.util.HashMap;
29 33
 import java.util.List;
34
+import java.util.Map;
30 35
 import java.util.concurrent.ExecutorService;
31 36
 import java.util.concurrent.Executors;
37
+import java.util.stream.Collectors;
32 38
 
33 39
 /**
34 40
  * <p>
@@ -76,6 +82,30 @@ public class TaRaiseRecordServiceImpl extends ServiceImpl<TaRaiseRecordMapper, T
76 82
     @Autowired
77 83
     SMSUtils smsUtils;
78 84
 
85
+    @Autowired
86
+    private ITaRaiseService taRaiseService;
87
+
88
+    @Autowired
89
+    private ITaOrderService taOrderService;
90
+
91
+    @Autowired
92
+    private ITaBuildingImgService taBuildingImgService;
93
+
94
+    @Autowired
95
+    private ITaRaiseHouseService taRaiseHouseService;
96
+
97
+    @Autowired
98
+    private ITaHousingResourcesService taHousingResourcesService;
99
+
100
+    @Autowired
101
+    private ITaBuildingApartmentService taBuildingApartmentService;
102
+
103
+    @Autowired
104
+    private ITaContractService iTaContractService;
105
+
106
+    @Autowired
107
+    private ITaContractBusinessService iTaContractBusinessService;
108
+
79 109
     @Override
80 110
     public ResponseBean listHousingRaiseByCondition(HousingRaiseRequestBO requestBO, Integer pageNumber, Integer pageSize) {
81 111
         logger.info("TaRaiseRecordServiceImpl.listRaiseRecordByCondition 接收参数:bo:{},pageNumber:{},pageSize:{}", JSONObject.toJSONString(requestBO), pageNumber, pageSize);
@@ -305,6 +335,9 @@ public class TaRaiseRecordServiceImpl extends ServiceImpl<TaRaiseRecordMapper, T
305 335
             String link = String.format(CommConstant.RAISE_DETAIL_PATH, raiseRecordId);
306 336
 
307 337
             miniAppService.sendCheckMessage(toUser, link, title, result, taBuilding.getBuildingName(), reason, remark, LocalDateTime.now(), isSuccess);
338
+            if(title.equals("电子合同")){
339
+                miniAppService.sendContractMessage(toUser, link, title, result, taBuilding.getBuildingName(), reason, remark, LocalDateTime.now(), isSuccess);
340
+            }
308 341
             logger.info("sendSubscribeMsg 结束");
309 342
         });
310 343
     }
@@ -320,4 +353,111 @@ public class TaRaiseRecordServiceImpl extends ServiceImpl<TaRaiseRecordMapper, T
320 353
         logger.info("TaRaiseRecordServiceImpl.updateHouseLockingStatus 接收参数:raiseRecordId:{},houseLockingStatus:{}", raiseRecordId, houseLockingStatus);
321 354
         return taHousingResourcesMapper.updateHouseLockingStatus(raiseRecordId, houseLockingStatus, personId);
322 355
     }
356
+
357
+    @Override
358
+    public ResponseBean wxGetRaiseRecordById(Integer raiseRecordId, String personId, Integer orgId) {
359
+        ResponseBean responseBean = new ResponseBean();
360
+
361
+        //获取认筹单信息
362
+        TaRaiseRecord taRaiseRecord = getById(raiseRecordId);
363
+
364
+        //认筹表数据
365
+        TaRaise taRaise = taRaiseService.getById(taRaiseRecord.getRaiseId());
366
+        taRaise.setRaisePrice(taRaise.getRaisePrice());
367
+        //置业顾问信息
368
+        TaUser consultantInfo = taUserService.getById(taRaiseRecord.getUserId());
369
+        if (null != consultantInfo) {
370
+            //职业顾问信息
371
+            TaPerson consultantPerson = taPersonService.getOne(new QueryWrapper<TaPerson>().eq("user_id", taRaiseRecord.getUserId()));
372
+            if (null != consultantPerson) {
373
+                consultantInfo.setConsultantPersonId(consultantPerson.getPersonId());
374
+            }
375
+        }
376
+
377
+        taRaiseRecord.setConsultantInfo(consultantInfo);
378
+        //房源与认筹单关系图
379
+        List<TaRaiseHouse> taRaiseHouseList = taRaiseHouseService.list(new QueryWrapper<TaRaiseHouse>().eq("raise_record_id", taRaiseRecord.getRaiseRecordId()));
380
+
381
+        //房源信息
382
+        List<TaHousingResources> houseList = (List<TaHousingResources>) taHousingResourcesService.listByIds(taRaiseHouseList.stream().map(TaRaiseHouse::getHouseId).collect(Collectors.toList()));
383
+
384
+        //我的认筹和锁定
385
+        houseList.forEach(e -> {
386
+            taRaiseHouseList.forEach(r -> {
387
+                //我的认筹
388
+                if (e.getHouseId().equals(r.getHouseId()) && CommConstant.HOUSE_LOCKING_STATUS_LOCKED.equals(e.getHouseLockingStatus()) && personId.equals(e.getHouseLockingPerson())) {
389
+                    e.setMineLocked("mine");
390
+                }
391
+            });
392
+
393
+            //塞入户型信息
394
+            if (!StringUtils.isEmpty(e.getApartmentId())) {
395
+                TaBuildingApartment buildingApartment = taBuildingApartmentService.getById(e.getApartmentId());
396
+                e.setApartmentName(buildingApartment.getApartmentName());
397
+                e.setInsideArea(buildingApartment.getInsideArea());
398
+                e.setBuildingArea(buildingApartment.getBuildingArea());
399
+                //塞入户型图信息
400
+                List<String> apartMentIds = new ArrayList<>();
401
+                apartMentIds.add(e.getApartmentId());
402
+                List<TaBuildingImg> apartMentList = taBuildingImgService.getAparemnetList(apartMentIds);
403
+                e.setApartmentImgList(apartMentList);
404
+            }
405
+        });
406
+
407
+        Map<String, Object> map = new HashMap<>();
408
+        map.put("refundOrder", null);
409
+        //订单信息
410
+        TaOrder taOrder = taOrderService.getById(taRaiseRecord.getOrderId());
411
+        if (null != taOrder) {
412
+            //退费信息
413
+            TaOrder refundOrder = taOrderService.getOne(new QueryWrapper<TaOrder>().eq("parent_order_id", taOrder.getOrderId()));
414
+            map.put("refundOrder", refundOrder);
415
+        }
416
+
417
+        // 是否展示签署合同入口
418
+        if (CommConstant.STATUS_NORMAL == taRaiseRecord.getStatus() && CommConstant.PAY_STATUS_PAID.equals(taRaiseRecord.getPayStatus())) {
419
+            // 是否有认筹业务合同配置
420
+            QueryWrapper<TaContractBusiness> taContractBusinessQueryWrapper = new QueryWrapper<>();
421
+            taContractBusinessQueryWrapper.eq("target_id", taRaiseRecord.getRaiseId());
422
+            taContractBusinessQueryWrapper.eq("org_id", orgId);
423
+            taContractBusinessQueryWrapper.eq("status", CommConstant.STATUS_NORMAL);
424
+            TaContractBusiness taContractBusiness = iTaContractBusinessService.getOne(taContractBusinessQueryWrapper);
425
+            if (taContractBusiness != null) {
426
+                // 是否有有关联的认筹合同
427
+                QueryWrapper<TaContract> taContractQueryWrapper = new QueryWrapper<>();
428
+                taContractQueryWrapper.eq("org_id", orgId);
429
+                taContractQueryWrapper.eq("target_type", "raise");
430
+                taContractQueryWrapper.eq("target_id", taRaiseRecord.getRaiseId());
431
+                taContractQueryWrapper.eq("invoice_target_type", "raise_record");
432
+                taContractQueryWrapper.eq("invoice_target_id", taRaiseRecord.getRaiseRecordId());
433
+                taContractQueryWrapper.eq("company_id", taContractBusiness.getCompanyId());
434
+                taContractQueryWrapper.eq("building_id", taRaiseRecord.getBuildingId());
435
+                taContractQueryWrapper.eq("person_id", personId);
436
+                TaContract taContract = iTaContractService.getOne(taContractQueryWrapper);
437
+                if (taContract != null) {
438
+                    // 合同状态正常
439
+                    if (CommConstant.STATUS_NORMAL == taContract.getStatus()) {
440
+                        taRaiseRecord.setShowContract(0);
441
+                        map.put("taContract", taContract);
442
+                    } else {
443
+                        taRaiseRecord.setShowContract(1);
444
+                    }
445
+                } else {
446
+                    taRaiseRecord.setShowContract(1);
447
+                }
448
+            } else {
449
+                taRaiseRecord.setShowContract(0);
450
+            }
451
+        } else {
452
+            taRaiseRecord.setShowContract(0);
453
+        }
454
+
455
+        map.put("taRaiseRecord", taRaiseRecord);
456
+        map.put("taRaiseHouseList", taRaiseHouseList);
457
+        map.put("houseList", houseList);
458
+        map.put("taOrder", taOrder);
459
+        map.put("taRaise", taRaise);
460
+        responseBean.addSuccess(map);
461
+        return responseBean;
462
+    }
323 463
 }

+ 46
- 3
src/main/java/com/huiju/estateagents/service/impl/TaRaiseServiceImpl.java Dosyayı Görüntüle

@@ -9,20 +9,22 @@ import com.huiju.estateagents.base.ResponseBean;
9 9
 import com.huiju.estateagents.common.CommConstant;
10 10
 import com.huiju.estateagents.common.StringUtils;
11 11
 import com.huiju.estateagents.entity.*;
12
-import com.huiju.estateagents.mapper.TaHousingResourcesMapper;
13 12
 import com.huiju.estateagents.mapper.TaRaiseHouseMapper;
14 13
 import com.huiju.estateagents.mapper.TaRaiseMapper;
15 14
 import com.huiju.estateagents.mapper.TaRaiseRecordMapper;
16 15
 import com.huiju.estateagents.service.ITaHousingResourcesService;
16
+import com.huiju.estateagents.service.ITaRaiseInviteService;
17 17
 import com.huiju.estateagents.service.ITaRaiseService;
18 18
 import org.apache.commons.collections.CollectionUtils;
19
-import org.apache.commons.collections4.QueueUtils;
20 19
 import org.slf4j.Logger;
21 20
 import org.slf4j.LoggerFactory;
22 21
 import org.springframework.beans.factory.annotation.Autowired;
23 22
 import org.springframework.stereotype.Service;
24 23
 
25
-import javax.servlet.http.HttpServletRequest;
24
+import java.lang.reflect.Array;
25
+import java.time.LocalDateTime;
26
+import java.util.ArrayList;
27
+import java.util.Arrays;
26 28
 import java.util.List;
27 29
 import java.util.stream.Collectors;
28 30
 
@@ -51,6 +53,9 @@ public class TaRaiseServiceImpl extends ServiceImpl<TaRaiseMapper, TaRaise> impl
51 53
     @Autowired
52 54
     private ITaHousingResourcesService taHousingResourcesService;
53 55
 
56
+    @Autowired
57
+    private ITaRaiseInviteService taRaiseInviteService;
58
+
54 59
     @Override
55 60
     public ResponseBean listRaiseByCondition(Integer pageSize, Integer pageNum, String salesBatchName, String buildingId, Integer orgId, Integer status, List<TaPersonBuilding> taPersonBuildingListByUserId) {
56 61
         logger.info("listSalesBatchForRaise 接收参数:pageSize:{},pageNum:{},salesBatchName:{},buildilgId:{},orgId:{},status:{},taPersonBuildingListByUserId:{}",
@@ -109,6 +114,20 @@ public class TaRaiseServiceImpl extends ServiceImpl<TaRaiseMapper, TaRaise> impl
109 114
             return responseBean;
110 115
         }
111 116
 
117
+        if (taRaise.getInvite() != null && CommConstant.STATUS_NORMAL == taRaise.getInvite()) {
118
+            // 获取邀请人数据
119
+            QueryWrapper<TaRaiseInvite> taRaiseInviteQueryWrapper = new QueryWrapper<>();
120
+            taRaiseInviteQueryWrapper.eq("org_id", orgId);
121
+            taRaiseInviteQueryWrapper.eq("raise_id", taRaise.getRaiseId());
122
+            taRaiseInviteQueryWrapper.orderByAsc("create_date");
123
+            List<TaRaiseInvite> taRaiseInviteList = taRaiseInviteService.list(taRaiseInviteQueryWrapper);
124
+            StringBuilder inviteTelSb = new StringBuilder();
125
+            taRaiseInviteList.stream().forEach(record -> {
126
+                inviteTelSb.append(record.getInviteTel() + "\n");
127
+            });
128
+            taRaise.setInviteTel(inviteTelSb.toString());
129
+        }
130
+
112 131
         taRaise.setRaisePrice(taRaise.getRaisePrice() == null ? null : taRaise.getRaisePrice());
113 132
         responseBean.addSuccess(taRaise);
114 133
         return responseBean;
@@ -160,4 +179,28 @@ public class TaRaiseServiceImpl extends ServiceImpl<TaRaiseMapper, TaRaise> impl
160 179
 
161 180
         return taRaise;
162 181
     }
182
+
183
+    @Override
184
+    public Boolean saveOrUpdateInvite(TaRaise taRaise, Integer orgId, Boolean isAdd) {
185
+        List<TaRaiseInvite> taRaiseInviteList = new ArrayList<>();
186
+        String[] inviteTelArr = StringUtils.isEmpty(taRaise.getInviteTel()) ?
187
+                new String[]{} : taRaise.getInviteTel().split("\n");
188
+
189
+        QueryWrapper<TaRaiseInvite> taRaiseInviteQueryWrapper = new QueryWrapper<>();
190
+        taRaiseInviteQueryWrapper.eq("org_id", orgId);
191
+        taRaiseInviteQueryWrapper.eq("raise_id", taRaise.getRaiseId());
192
+        taRaiseInviteService.remove(taRaiseInviteQueryWrapper);
193
+
194
+        Arrays.asList(inviteTelArr).stream().distinct().forEach(record -> {
195
+            TaRaiseInvite taRaiseInvite = new TaRaiseInvite();
196
+            taRaiseInvite.setOrgId(orgId);
197
+            taRaiseInvite.setRaiseId(taRaise.getRaiseId());
198
+            taRaiseInvite.setBuildingId(taRaise.getBuildingId());
199
+            taRaiseInvite.setSalesBatchId(taRaise.getSalesBatchId());
200
+            taRaiseInvite.setCreateDate(LocalDateTime.now());
201
+            taRaiseInvite.setInviteTel(record);
202
+            taRaiseInviteList.add(taRaiseInvite);
203
+        });
204
+        return taRaiseInviteService.saveBatch(taRaiseInviteList);
205
+    }
163 206
 }

+ 13
- 2
src/main/java/com/huiju/estateagents/service/impl/WxPayServiceImpl.java Dosyayı Görüntüle

@@ -5,6 +5,8 @@ import com.huiju.estateagents.base.ResponseBean;
5 5
 import com.huiju.estateagents.common.CommConstant;
6 6
 import com.huiju.estateagents.common.StringUtils;
7 7
 import com.huiju.estateagents.common.wxpay.*;
8
+import com.huiju.estateagents.eContract.entity.TaContractBusiness;
9
+import com.huiju.estateagents.eContract.mapper.TaContractMapper;
8 10
 import com.huiju.estateagents.entity.*;
9 11
 import com.huiju.estateagents.mapper.*;
10 12
 import com.huiju.estateagents.service.ITaRaiseRecordService;
@@ -60,6 +62,9 @@ public class WxPayServiceImpl implements IWxPayService {
60 62
     @Autowired
61 63
     private ITaRaiseRecordService taRaiseRecordService;
62 64
 
65
+    @Autowired
66
+    private TaContractMapper taContractMapper;
67
+
63 68
     /**
64 69
      * 微信支付-统一下单
65 70
      *
@@ -295,7 +300,7 @@ public class WxPayServiceImpl implements IWxPayService {
295 300
         taRaiseRecord.setRefundReason(taOrder.getRefundReason());
296 301
         taRaiseRecordMapper.updateById(taRaiseRecord);
297 302
         //发送订阅消息
298
-        taRaiseRecordService.sendRaiseMsg(taRaiseRecord.getRaiseRecordId(),taRaiseRecord.getRaiseId(),"认筹通知","认筹正在退费","点击详情查看认筹单","正在等待微信或银行到账",false);
303
+        taRaiseRecordService.sendRaiseMsg(taRaiseRecord.getRaiseRecordId(),taRaiseRecord.getPersonId(),"认筹通知","认筹正在退费","点击详情查看认筹单","正在等待微信或银行到账",false);
299 304
     }
300 305
 
301 306
     /**
@@ -353,7 +358,13 @@ public class WxPayServiceImpl implements IWxPayService {
353 358
         taRaiseRecordMapper.updateById(taRaiseRecord);
354 359
 
355 360
         //发送订阅消息
356
-        taRaiseRecordService.sendRaiseMsg(taRaiseRecord.getRaiseRecordId(),taRaiseRecord.getRaiseId(),"认筹通知","认筹支付成功","点击详情查看认筹单","已付款成功",false);
361
+        taRaiseRecordService.sendRaiseMsg(taRaiseRecord.getRaiseRecordId(),taRaiseRecord.getPersonId(),"认筹通知","认筹支付成功","点击详情查看认筹单","已付款成功",false);
362
+        //根据raiseId获取合同的所有参数
363
+        TaContractBusiness taContractBusiness = taContractMapper.selectContractInfoByRaiseId(taRaiseRecord.getRaiseId());
364
+        if (null != taContractBusiness){
365
+            //发送订阅消息
366
+            taRaiseRecordService.sendRaiseMsg(taRaiseRecord.getRaiseRecordId(),taRaiseRecord.getPersonId(),"电子合同","待签署","点击签署认筹合同,若已签署请忽略",taContractBusiness.getContractTemplateName(),false);
367
+        }
357 368
     }
358 369
 
359 370
     /**

+ 15
- 2
src/main/resources/application-blue.yml Dosyayı Görüntüle

@@ -74,6 +74,19 @@ sms:
74 74
     code: "0501"
75 75
 
76 76
 # 支付回调
77
-pay-notify: https://dev.pawoma.cn/api/notify/
77
+pay-notify: https://dev.fangdeal.cn/api/notify/
78 78
 #退款回调
79
-pay-refund: https://dev.pawoma.cn/api/refund/
79
+pay-refund: https://dev.fangdeal.cn/api/refund/
80
+
81
+#法大大服务器地址
82
+fadada:
83
+  appId: "403057"
84
+  appSecret: "xcIaK36Vc09yXXRdinXYcXhW"
85
+  version: "2.0"
86
+  authServeHost: "http://test.api.fabigbig.com:8888/api/"
87
+  serveHost: "https://testapi08.fadada.com/api/"
88
+  companyNotify: "https://dev.fangdeal.cn/api/fadd/company"
89
+  authReturnUrl: "https://dev.fangdeal.cn/channel/#/eContract/seal/detail?id="
90
+  authNotifyUrl: "https://dev.fangdeal.cn/api/fadd/autoAuthCompanySeal"
91
+  signNotify: "https://dev.fangdeal.cn/api/fadd/sign"
92
+  redirectUrl: "https://dev.fangdeal.cn/other/redirect.html"

+ 0
- 74
src/main/resources/application-dev.yml Dosyayı Görüntüle

@@ -1,74 +0,0 @@
1
-server:
2
-  port: 8080
3
-spring:
4
-  application:
5
-    name: estateagents
6
-  datasource:
7
-    username: estateagents
8
-    password: estateagents
9
-    url: jdbc:mysql://47.101.36.130:3306/estateagents_3.5.1_test?useUnicode=true&serverTimezone=GMT%2B8&characterEncoding=utf8&allowMultiQueries=true&autoReconnect=true&zeroDateTimeBehavior=convertToNull
10
-    driver-class-name: com.mysql.cj.jdbc.Driver
11
-    initial-size: 10 # 初始化连接数
12
-    max-active: 20 # 最大连接数
13
-    min-idle: 8 # 最小空闲数
14
-    max-idle: 8 # 最大空闲数
15
-  servlet:
16
-    multipart:
17
-      max-file-size: 10MB
18
-      max-request-size: 50MB
19
-
20
-##mybatis-plus
21
-mybatis-plus:
22
-  configuration:
23
-    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
24
-    call-setters-on-nulls: true
25
-  mapper-locations: classpath:mapper/**/*.xml
26
-wx:
27
-  miniapp:
28
-    appid: wxd6f47a9bb3052175
29
-    secret: 28f33b6bbc0f778c11a0bb234a7d6d4e
30
-    token:
31
-    aesKey:
32
-    msgDataFormat: JSON
33
-  tpls:
34
-    - name: notice
35
-      id: 6hWKexNlaVpAOvrcWxHHQ_Duz1gRIkg2-Clsktp2-Os
36
-      keywords: 4
37
-    - name: newCustomer
38
-      id: WiBYjqkE9KvwDv1WSq5vnuv5A6FSaOB8ETFcrVmtCEI
39
-      keywords: 4
40
-    - name: mainbiz
41
-      id: WiBYjqkE9KvwDv1WSq5vniGU4P0gvwlat-5ENYKpfxg
42
-      keywords: 6
43
-ali:
44
-  accessKeyId: LTAI4FdMQNh1xUoiqqbKJ15J
45
-  accessKeySecret: F7vmuXBu8IrhouQYYhFMLRhIRivIzb
46
-  oss:
47
-    endpoint: oss-cn-shanghai.aliyuncs.com
48
-    bucketName: njcj
49
-    bucketURL: https://njcj.oss-cn-shanghai.aliyuncs.com
50
-
51
-# 手机短信服务
52
-sms:
53
-  url: http://micservice.ycjcjy.com/sms
54
-  method: POST
55
-  contentType: "application/json;charset=UTF-8"
56
-  template:
57
-    code:
58
-    tel:
59
-    params:
60
-
61
-  # 以下为各模板 code
62
-  # 验证码
63
-  captcha:
64
-    # 模板 code
65
-    code: "0301"
66
-    # 有效时间 秒
67
-    expire: 120
68
-    # 验证码长度
69
-    size: 4
70
-    # 短信签名
71
-    sign: 营销云
72
-
73
-  visitor:
74
-    code: "0501"

+ 15
- 2
src/main/resources/application-green.yml Dosyayı Görüntüle

@@ -74,6 +74,19 @@ sms:
74 74
     code: "0501"
75 75
 
76 76
 # 支付回调
77
-pay-notify: https://dev.pawoma.cn/api/notify/
77
+pay-notify: https://dev.fangdeal.cn/api/notify/
78 78
 #退款回调
79
-pay-refund: https://dev.pawoma.cn/api/refund/
79
+pay-refund: https://dev.fangdeal.cn/api/refund/
80
+
81
+#法大大服务器地址
82
+fadada:
83
+  appId: "403057"
84
+  appSecret: "xcIaK36Vc09yXXRdinXYcXhW"
85
+  version: "2.0"
86
+  authServeHost: "http://test.api.fabigbig.com:8888/api/"
87
+  serveHost: "https://testapi08.fadada.com/api/"
88
+  companyNotify: "https://dev.fangdeal.cn/api/fadd/company"
89
+  authReturnUrl: "https://dev.fangdeal.cn/channel/#/eContract/seal/detail?id="
90
+  authNotifyUrl: "https://dev.fangdeal.cn/api/fadd/autoAuthCompanySeal"
91
+  signNotify: "https://dev.fangdeal.cn/api/fadd/sign"
92
+  redirectUrl: "https://dev.fangdeal.cn/other/redirect.html"

+ 0
- 129
src/main/resources/application-gzysd.yml Dosyayı Görüntüle

@@ -1,129 +0,0 @@
1
-<<<<<<< HEAD
2
-server:
3
-  port: 8009
4
-spring:
5
-  application:
6
-    name: estateagents
7
-  datasource:
8
-    username: estateagents
9
-    password: DQ@0lW##kBb2+-jPZ
10
-    url: jdbc:mysql://rm-uf6z3z6jq11x653d77o.mysql.rds.aliyuncs.com:3306/estateagents_17?useUnicode=true&serverTimezone=CTT&characterEncoding=utf8&allowMultiQueries=true&autoReconnect=true&zeroDateTimeBehavior=convertToNull
11
-    driver-class-name: com.mysql.cj.jdbc.Driver
12
-    initial-size: 10 # 初始化连接数
13
-    max-active: 20 # 最大连接数
14
-    min-idle: 8 # 最小空闲数
15
-    max-idle: 8 # 最大空闲数
16
-  servlet:
17
-    multipart:
18
-      max-file-size: 10MB
19
-      max-request-size: 50MB
20
-
21
-##mybatis-plus
22
-mybatis-plus:
23
-  configuration:
24
-    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
25
-    call-setters-on-nulls: true
26
-  mapper-locations: classpath:mapper/**/*.xml
27
-wx:
28
-  miniapp:
29
-    appid: wxe3b1e683853800b5
30
-    secret: 207dd6d0f807b2dd0d41b57a8184365f
31
-    token:
32
-    aesKey:
33
-    msgDataFormat: JSON
34
-  tpls:
35
-    - name: notice
36
-      id: 6hWKexNlaVpAOvrcWxHHQ_Duz1gRIkg2-Clsktp2-Os
37
-      keywords: 4
38
-    - name: newCustomer
39
-      id: WiBYjqkE9KvwDv1WSq5vnuv5A6FSaOB8ETFcrVmtCEI
40
-      keywords: 4
41
-    - name: mainbiz
42
-      id: IywdSfNPegeg5GB3Q-TVieSYD9DA0im8eI-hF_u0i-4
43
-      keywords: 6
44
-ali:
45
-  accessKeyId: LTAIkc75dpkJw8Lb
46
-  accessKeySecret: v4bvXCaix6vSDTCFfwSAdqV53iFEQw
47
-  oss:
48
-    endpoint: oss-cn-shanghai.aliyuncs.com
49
-    bucketName: estateagents
50
-    bucketURL: https://estateagents.oss-cn-shanghai.aliyuncs.com
51
-
52
-# 手机短信服务
53
-sms:
54
-  url: http://micservice.ycjcjy.com/sms
55
-  method: POST
56
-  contentType: "application/json;charset=UTF-8"
57
-  template:
58
-    code:
59
-    tel:
60
-    params:
61
-
62
-  # 以下为各模板 code
63
-  # 验证码
64
-  captcha:
65
-    # 模板 code
66
-    code: "0301"
67
-    # 有效时间 秒
68
-    expire: 120
69
-    # 验证码长度
70
-    size: 4
71
-    # 短信签名
72
-    sign: AI智慧案场
73
-
74
-  visitor:
75
-    code: "0501"
76
-=======
77
-server:
78
-  port: 8009
79
-spring:
80
-  application:
81
-    name: estateagents
82
-  datasource:
83
-    username: estateagents
84
-    password: DQ@0lW##kBb2+-jPZ
85
-    url: jdbc:mysql://rm-uf6z3z6jq11x653d77o.mysql.rds.aliyuncs.com:3306/estateagents_gzysd?useUnicode=true&serverTimezone=CTT&characterEncoding=utf8&allowMultiQueries=true&autoReconnect=true&zeroDateTimeBehavior=convertToNull
86
-    driver-class-name: com.mysql.cj.jdbc.Driver
87
-    initial-size: 10 # 初始化连接数
88
-    max-active: 20 # 最大连接数
89
-    min-idle: 8 # 最小空闲数
90
-    max-idle: 8 # 最大空闲数
91
-  servlet:
92
-    multipart:
93
-      max-file-size: 10MB
94
-      max-request-size: 50MB
95
-
96
-##mybatis-plus
97
-mybatis-plus:
98
-  configuration:
99
-    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
100
-    call-setters-on-nulls: true
101
-  mapper-locations: classpath:mapper/*.xml
102
-wx:
103
-  miniapp:
104
-    appid: wxe3b1e683853800b5
105
-    secret: 207dd6d0f807b2dd0d41b57a8184365f
106
-    token:
107
-    aesKey:
108
-    msgDataFormat: JSON
109
-  tpls:
110
-    - name: notice
111
-      id: IVWM-wpzSNV6CyXeSBGBgRku2lRrZ-3x4vXRILQpHM0
112
-      keywords: 4
113
-    - name: newCustomer
114
-      id: WiBYjqkE9KvwDv1WSq5vnuv5A6FSaOB8ETFcrVmtCEI
115
-      keywords: 4
116
-    - name: mainbiz
117
-      id: IywdSfNPegeg5GB3Q-TVieSYD9DA0im8eI-hF_u0i-4
118
-
119
-      keywords: 6
120
-ali:
121
-  accessKeyId: LTAI4FdMQNh1xUoiqqbKJ15J
122
-  accessKeySecret: F7vmuXBu8IrhouQYYhFMLRhIRivIzb
123
-  oss:
124
-    endpoint: oss-cn-shanghai.aliyuncs.com
125
-    bucketName: njcj
126
-    bucketURL: https://njcj.oss-cn-shanghai.aliyuncs.com
127
-
128
-
129
->>>>>>> ac499f2ddc4d4469098e59fff8bbe310779f7be3

+ 0
- 52
src/main/resources/application-hj.yml Dosyayı Görüntüle

@@ -1,52 +0,0 @@
1
-server:
2
-  port: 8011
3
-spring:
4
-  application:
5
-    name: estateagents
6
-  datasource:
7
-    username: estateagents
8
-    password: DQ@0lW##kBb2+-jPZ
9
-    url: jdbc:mysql://rm-uf6z3z6jq11x653d77o.mysql.rds.aliyuncs.com:3306/estateagents_hj?useUnicode=true&serverTimezone=CTT&characterEncoding=utf8&allowMultiQueries=true&autoReconnect=true&zeroDateTimeBehavior=convertToNull
10
-    driver-class-name: com.mysql.cj.jdbc.Driver
11
-    initial-size: 10 # 初始化连接数
12
-    max-active: 20 # 最大连接数
13
-    min-idle: 8 # 最小空闲数
14
-    max-idle: 8 # 最大空闲数
15
-  servlet:
16
-    multipart:
17
-      max-file-size: 10MB
18
-      max-request-size: 50MB
19
-
20
-##mybatis-plus
21
-mybatis-plus:
22
-  configuration:
23
-    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
24
-    call-setters-on-nulls: true
25
-  mapper-locations: classpath:mapper/*.xml
26
-wx:
27
-  miniapp:
28
-    appid: wx03aca9d7d9b0b7f1
29
-    secret: f85aa21010204969b0f9a16f81de8a4b
30
-    token:
31
-    aesKey:
32
-    msgDataFormat: JSON
33
-  tpls:
34
-    - name: notice
35
-      id: Dflyeuyy76tCpam6OfVMblBaiog9fBt4NGAxbLPQ6AI
36
-      keywords: 4
37
-    - name: newCustomer
38
-      id: WiBYjqkE9KvwDv1WSq5vnuv5A6FSaOB8ETFcrVmtCEI
39
-      keywords: 4
40
-    - name: mainbiz
41
-      id: BDrgtJK9zul0gtHhHwY31x7kDH8BWGJxKvkj1wPzB4E
42
-
43
-      keywords: 6
44
-ali:
45
-  accessKeyId: LTAI4FdMQNh1xUoiqqbKJ15J
46
-  accessKeySecret: F7vmuXBu8IrhouQYYhFMLRhIRivIzb
47
-  oss:
48
-    endpoint: oss-cn-shanghai.aliyuncs.com
49
-    bucketName: njcj
50
-    bucketURL: https://njcj.oss-cn-shanghai.aliyuncs.com
51
-
52
-

+ 0
- 52
src/main/resources/application-jj.yml Dosyayı Görüntüle

@@ -1,52 +0,0 @@
1
-server:
2
-  port: 8013
3
-spring:
4
-  application:
5
-    name: estateagents
6
-  datasource:
7
-    username: estateagents
8
-    password: DQ@0lW##kBb2+-jPZ
9
-    url: jdbc:mysql://rm-uf6z3z6jq11x653d77o.mysql.rds.aliyuncs.com:3306/estateagents_jj?useUnicode=true&serverTimezone=CTT&characterEncoding=utf8&allowMultiQueries=true&autoReconnect=true&zeroDateTimeBehavior=convertToNull
10
-    driver-class-name: com.mysql.cj.jdbc.Driver
11
-    initial-size: 10 # 初始化连接数
12
-    max-active: 20 # 最大连接数
13
-    min-idle: 8 # 最小空闲数
14
-    max-idle: 8 # 最大空闲数
15
-  servlet:
16
-    multipart:
17
-      max-file-size: 10MB
18
-      max-request-size: 50MB
19
-
20
-##mybatis-plus
21
-mybatis-plus:
22
-  configuration:
23
-    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
24
-    call-setters-on-nulls: true
25
-  mapper-locations: classpath:mapper/*.xml
26
-wx:
27
-  miniapp:
28
-    appid: wx7183d7d918a426d3
29
-    secret: d06320d36d0b706f981da20b796c5875
30
-    token:
31
-    aesKey:
32
-    msgDataFormat: JSON
33
-  tpls:
34
-    - name: notice
35
-      id: 80jdxzuPITEffVNC1KD1IGvbOxGkipTJlrxPosQrz0s
36
-      keywords: 4
37
-    - name: newCustomer
38
-      id: WiBYjqkE9KvwDv1WSq5vnuv5A6FSaOB8ETFcrVmtCEI
39
-      keywords: 4
40
-    - name: mainbiz
41
-      id: UbuzqEqULHf_NAZHay_3RJPGHm1g11YYU2R66ASq5Uw
42
-
43
-      keywords: 6
44
-ali:
45
-  accessKeyId: LTAI4FdMQNh1xUoiqqbKJ15J
46
-  accessKeySecret: F7vmuXBu8IrhouQYYhFMLRhIRivIzb
47
-  oss:
48
-    endpoint: oss-cn-shanghai.aliyuncs.com
49
-    bucketName: njcj
50
-    bucketURL: https://njcj.oss-cn-shanghai.aliyuncs.com
51
-
52
-

+ 0
- 75
src/main/resources/application-nj.yml Dosyayı Görüntüle

@@ -1,75 +0,0 @@
1
-server:
2
-  port: 8007
3
-spring:
4
-  application:
5
-    name: estateagents
6
-  datasource:
7
-    username: estateagents
8
-    password: DQ@0lW##kBb2+-jPZ
9
-    url: jdbc:mysql://rm-uf6z3z6jq11x653d77o.mysql.rds.aliyuncs.com:3306/estateagents_nj?useUnicode=true&serverTimezone=CTT&characterEncoding=utf8&allowMultiQueries=true&autoReconnect=true&zeroDateTimeBehavior=convertToNull
10
-    driver-class-name: com.mysql.cj.jdbc.Driver
11
-    initial-size: 10 # 初始化连接数
12
-    max-active: 20 # 最大连接数
13
-    min-idle: 8 # 最小空闲数
14
-    max-idle: 8 # 最大空闲数
15
-  servlet:
16
-    multipart:
17
-      max-file-size: 10MB
18
-      max-request-size: 50MB
19
-
20
-##mybatis-plus
21
-mybatis-plus:
22
-  configuration:
23
-    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
24
-    call-setters-on-nulls: true
25
-  mapper-locations: classpath:mapper/**/*.xml
26
-wx:
27
-  miniapp:
28
-    appid: wx1a3e5f7d0139285e
29
-    secret: 06d3db7f27ea08481effd509aa4dcb57
30
-    token:
31
-    aesKey:
32
-    msgDataFormat: JSON
33
-  tpls:
34
-    - name: notice
35
-      id: wO59V2ARIEXsoYaX1AlB9HK_SqUlnJzZq_X-xeYS1rU
36
-      keywords: 4
37
-    - name: newCustomer
38
-      id: WiBYjqkE9KvwDv1WSq5vnuv5A6FSaOB8ETFcrVmtCEI
39
-      keywords: 4
40
-    - name: mainbiz
41
-      id: wO59V2ARIEXsoYaX1AlB9HK_SqUlnJzZq_X-xeYS1rU
42
-
43
-      keywords: 6
44
-ali:
45
-  accessKeyId: LTAI4FdMQNh1xUoiqqbKJ15J
46
-  accessKeySecret: F7vmuXBu8IrhouQYYhFMLRhIRivIzb
47
-  oss:
48
-    endpoint: oss-cn-shanghai.aliyuncs.com
49
-    bucketName: njcj
50
-    bucketURL: https://njcj.oss-cn-shanghai.aliyuncs.com
51
-
52
-# 手机短信服务
53
-sms:
54
-  url: http://micservice.ycjcjy.com/sms
55
-  method: POST
56
-  contentType: "application/json;charset=UTF-8"
57
-  template:
58
-    code:
59
-    tel:
60
-    params:
61
-
62
-  # 以下为各模板 code
63
-  # 验证码
64
-  captcha:
65
-    # 模板 code
66
-    code: "0301"
67
-    # 有效时间 秒
68
-    expire: 120
69
-    # 验证码长度
70
-    size: 4
71
-    # 短信签名
72
-    sign: AI智慧案场
73
-
74
-  visitor:
75
-    code: "0501"

+ 15
- 2
src/main/resources/application-prod-blue.yml Dosyayı Görüntüle

@@ -79,6 +79,19 @@ logging:
79 79
   debug: true
80 80
 
81 81
 # 支付回调
82
-pay-notify: https://lt.pawoma.cn/api/notify/
82
+pay-notify: https://wx.fangdeal.cn/api/notify/
83 83
 #退款回调
84
-pay-refund: https://lt.pawoma.cn/api/refund/
84
+pay-refund: https://wx.fangdeal.cn/api/refund/
85
+
86
+#法大大服务器地址
87
+fadada:
88
+  appId: "500261"
89
+  appSecret: "go9yihmg7abS2lIBZpZ2yLSW"
90
+  version: "2.0"
91
+  authServeHost: "https://textapi.fadada.com/api2/"
92
+  serveHost: "https://textapi.fadada.com/api2/"
93
+  companyNotify: "https://wx.fangdeal.cn/api/fadd/company"
94
+  authReturnUrl: "http://admin.fangdeal.cn/#/eContract/seal/detail?id="
95
+  authNotifyUrl: "https://wx.fangdeal.cn/api/fadd/autoAuthCompanySeal"
96
+  signNotify: "https://wx.fangdeal.cn/api/fadd/sign"
97
+  redirectUrl: "https://wx.fangdeal.cn/other/redirect.html"

+ 15
- 2
src/main/resources/application-prod-green.yml Dosyayı Görüntüle

@@ -79,6 +79,19 @@ logging:
79 79
   debug: true
80 80
 
81 81
 # 支付回调
82
-pay-notify: https://lt.pawoma.cn/api/notify/
82
+pay-notify: https://wx.fangdeal.cn/api/notify/
83 83
 #退款回调
84
-pay-refund: https://lt.pawoma.cn/api/refund/
84
+pay-refund: https://wx.fangdeal.cn/api/refund/
85
+
86
+#法大大服务器地址
87
+fadada:
88
+  appId: "500261"
89
+  appSecret: "go9yihmg7abS2lIBZpZ2yLSW"
90
+  version: "2.0"
91
+  authServeHost: "https://textapi.fadada.com/api2/"
92
+  serveHost: "https://textapi.fadada.com/api2/"
93
+  companyNotify: "https://wx.fangdeal.cn/api/fadd/company"
94
+  authReturnUrl: "http://admin.fangdeal.cn/#/eContract/seal/detail?id="
95
+  authNotifyUrl: "https://wx.fangdeal.cn/api/fadd/autoAuthCompanySeal"
96
+  signNotify: "https://wx.fangdeal.cn/api/fadd/sign"
97
+  redirectUrl: "https://wx.fangdeal.cn/other/redirect.html"

+ 0
- 74
src/main/resources/application-rc.yml Dosyayı Görüntüle

@@ -1,74 +0,0 @@
1
-server:
2
-  port: 8005
3
-spring:
4
-  application:
5
-    name: estateagents
6
-  datasource:
7
-    username: estateagents
8
-    password: DQ@0lW##kBb2+-jPZ
9
-    url: jdbc:mysql://rm-uf6z3z6jq11x653d77o.mysql.rds.aliyuncs.com:3306/estateagents_test?useUnicode=true&serverTimezone=CTT&characterEncoding=utf8&allowMultiQueries=true&autoReconnect=true&zeroDateTimeBehavior=convertToNull
10
-    driver-class-name: com.mysql.cj.jdbc.Driver
11
-    initial-size: 10 # 初始化连接数
12
-    max-active: 20 # 最大连接数
13
-    min-idle: 8 # 最小空闲数
14
-    max-idle: 8 # 最大空闲数
15
-  servlet:
16
-    multipart:
17
-      max-file-size: 10MB
18
-      max-request-size: 50MB
19
-
20
-##mybatis-plus
21
-mybatis-plus:
22
-  configuration:
23
-    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
24
-    call-setters-on-nulls: true
25
-  mapper-locations: classpath:mapper/**/*.xml
26
-wx:
27
-  miniapp:
28
-    appid: wxe9e01aa4a3568f52
29
-    secret: f1d70000e55f221976b95a43084042b0
30
-    token:
31
-    aesKey:
32
-    msgDataFormat: JSON
33
-  tpls:
34
-    - name: notice
35
-      id: FikibBOSwA_v0Ud80o9t_06kAUjn5TRd60
36
-      keywords: 4
37
-    - name: newCustomer
38
-      id: WiBYjqkE9KvwDv1WSq5vnuv5A6FSaOB8ETFcrVmtCEI
39
-      keywords: 4
40
-    - name: mainbiz
41
-      id: 8b0kuLCKzPeu1MUBfpLT9DhysqMl2LSWNYqluycvGm8
42
-      keywords: 6
43
-ali:
44
-  accessKeyId: LTAI4FdMQNh1xUoiqqbKJ15J
45
-  accessKeySecret: F7vmuXBu8IrhouQYYhFMLRhIRivIzb
46
-  oss:
47
-    endpoint: oss-cn-shanghai.aliyuncs.com
48
-    bucketName: njcj
49
-    bucketURL: https://njcj.oss-cn-shanghai.aliyuncs.com
50
-
51
-# 手机短信服务
52
-sms:
53
-  url: http://micservice.ycjcjy.com/sms
54
-  method: POST
55
-  contentType: "application/json;charset=UTF-8"
56
-  template:
57
-    code:
58
-    tel:
59
-    params:
60
-
61
-  # 以下为各模板 code
62
-  # 验证码
63
-  captcha:
64
-    # 模板 code
65
-    code: "0301"
66
-    # 有效时间 秒
67
-    expire: 120
68
-    # 验证码长度
69
-    size: 4
70
-    # 短信签名
71
-    sign: AI智慧案场
72
-
73
-  visitor:
74
-    code: "0501"

+ 0
- 58
src/main/resources/application-v3.yml Dosyayı Görüntüle

@@ -1,58 +0,0 @@
1
-server:
2
-  port: 8080
3
-spring:
4
-  application:
5
-    name: estateagents
6
-  datasource:
7
-   username: estateagents
8
-   password: DQ@0lW##kBb2+-jPZ
9
-   url: jdbc:mysql://rm-uf6z3z6jq11x653d77o.mysql.rds.aliyuncs.com:3306/estateagents3.0?useUnicode=true&serverTimezone=CTT&characterEncoding=utf8&allowMultiQueries=true&autoReconnect=true&zeroDateTimeBehavior=convertToNull
10
-   driver-class-name: com.mysql.cj.jdbc.Driver
11
-   initial-size: 10 # 初始化连接数
12
-   max-active: 20 # 最大连接数
13
-   min-idle: 8 # 最小空闲数
14
-   max-idle: 8 # 最大空闲数
15
-  servlet:
16
-    multipart:
17
-      max-file-size: 10MB
18
-      max-request-size: 50MB
19
-
20
-##mybatis-plus
21
-mybatis-plus:
22
-  configuration:
23
-    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
24
-    call-setters-on-nulls: true
25
-  mapper-locations: classpath:mapper/**/*.xml
26
-
27
-ali:
28
-  accessKeyId: LTAI4FdMQNh1xUoiqqbKJ15J
29
-  accessKeySecret: F7vmuXBu8IrhouQYYhFMLRhIRivIzb
30
-  oss:
31
-    endpoint: oss-cn-shanghai.aliyuncs.com
32
-    bucketName: njcj
33
-    bucketURL: https://njcj.oss-cn-shanghai.aliyuncs.com
34
-
35
-# 手机短信服务
36
-sms:
37
-  url: http://micservice.ycjcjy.com/sms
38
-  method: POST
39
-  contentType: "application/json;charset=UTF-8"
40
-  template:
41
-    code:
42
-    tel:
43
-    params:
44
-
45
-  # 以下为各模板 code
46
-  # 验证码
47
-  captcha:
48
-    # 模板 code
49
-    code: "0301"
50
-    # 有效时间 秒
51
-    expire: 120
52
-    # 验证码长度
53
-    size: 4
54
-    # 短信签名
55
-    sign: 营销云
56
-
57
-  visitor:
58
-    code: "0501"

+ 0
- 74
src/main/resources/application-xs.yml Dosyayı Görüntüle

@@ -1,74 +0,0 @@
1
-server:
2
-  port: 8003
3
-spring:
4
-  application:
5
-    name: estateagents
6
-  datasource:
7
-    username: estateagents
8
-    password: DQ@0lW##kBb2+-jPZ
9
-    url: jdbc:mysql://rm-uf6z3z6jq11x653d77o.mysql.rds.aliyuncs.com:3306/estateagents2?useUnicode=true&serverTimezone=CTT&characterEncoding=utf8&allowMultiQueries=true&autoReconnect=true&zeroDateTimeBehavior=convertToNull
10
-    driver-class-name: com.mysql.cj.jdbc.Driver
11
-    initial-size: 10 # 初始化连接数
12
-    max-active: 20 # 最大连接数
13
-    min-idle: 8 # 最小空闲数
14
-    max-idle: 8 # 最大空闲数
15
-  servlet:
16
-    multipart:
17
-      max-file-size: 10MB
18
-      max-request-size: 50MB
19
-
20
-##mybatis-plus
21
-mybatis-plus:
22
-  configuration:
23
-    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
24
-    call-setters-on-nulls: true
25
-  mapper-locations: classpath:mapper/**/*.xml
26
-wx:
27
-  miniapp:
28
-    appid: wx09cd665abf378db7
29
-    secret: a6cbd778272c87426952b5a1f8449698
30
-    token:
31
-    aesKey:
32
-    msgDataFormat: JSON
33
-  tpls:
34
-    - name: notice
35
-      id: thSzcSAhIHiZZuCdydBsoB-dSa_g72vHgqo9e_CltNM
36
-      keywords: 4
37
-    - name: newCustomer
38
-      id: WiBYjqkE9KvwDv1WSq5vnuv5A6FSaOB8ETFcrVmtCEI
39
-      keywords: 4
40
-    - name: mainbiz
41
-      id: iJLceA_zp1fq9xnL4yV8IOwWGeFHebCO-HxNtcPYLoA
42
-      keywords: 6
43
-ali:
44
-  accessKeyId: LTAI4FdMQNh1xUoiqqbKJ15J
45
-  accessKeySecret: F7vmuXBu8IrhouQYYhFMLRhIRivIzb
46
-  oss:
47
-    endpoint: oss-cn-shanghai.aliyuncs.com
48
-    bucketName: njcj
49
-    bucketURL: https://njcj.oss-cn-shanghai.aliyuncs.com
50
-
51
-# 手机短信服务
52
-sms:
53
-  url: http://micservice.ycjcjy.com/sms
54
-  method: POST
55
-  contentType: "application/json;charset=UTF-8"
56
-  template:
57
-    code:
58
-    tel:
59
-    params:
60
-
61
-  # 以下为各模板 code
62
-  # 验证码
63
-  captcha:
64
-    # 模板 code
65
-    code: "0301"
66
-    # 有效时间 秒
67
-    expire: 120
68
-    # 验证码长度
69
-    size: 4
70
-    # 短信签名
71
-    sign: AI智慧案场
72
-
73
-  visitor:
74
-    code: "0501"

+ 22
- 0
src/main/resources/mapper/TaOrgMapper.xml Dosyayı Görüntüle

@@ -2,4 +2,26 @@
2 2
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3 3
 <mapper namespace="com.huiju.estateagents.mapper.TaOrgMapper">
4 4
 
5
+    <select id="listOrgForContract" resultType="com.huiju.estateagents.entity.TaOrg">
6
+        SELECT
7
+            *,
8
+            t2.`name` miniAppName,
9
+            t4.channel_proxy_name
10
+        FROM
11
+            ta_org t
12
+            LEFT JOIN ta_miniapp t2 ON t.org_id = t2.org_id
13
+            left join ta_channel_app_relation t3 on t.org_id =t3.org_id
14
+            left join ta_channel_proxy t4 on t3.channel_id = t4.channel_id
15
+        <where>
16
+            <if test = "orgName != null and orgName != ''">
17
+                t.`name` like concat('%',#{orgName},'%')
18
+            </if>
19
+            <if test = "miniAppName != null and miniAppName != ''">
20
+                AND t2.`name` like concat('%',#{miniAppName},'%')
21
+            </if>
22
+        </where>
23
+        ORDER BY
24
+            t.create_date DESC
25
+    </select>
26
+
5 27
 </mapper>

+ 5
- 0
src/main/resources/mapper/TaRaiseInviteMapper.xml Dosyayı Görüntüle

@@ -0,0 +1,5 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3
+<mapper namespace="com.huiju.estateagents.mapper.TaRaiseInviteMapper">
4
+
5
+</mapper>

+ 25
- 0
src/main/resources/mapper/eContract/TaCompanyMapper.xml Dosyayı Görüntüle

@@ -0,0 +1,25 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3
+<mapper namespace="com.huiju.estateagents.eContract.mapper.TaCompanyMapper">
4
+
5
+    <select id="getCompanyAndContractInfo" resultType="com.huiju.estateagents.eContract.entity.TaCompany">
6
+        select *,a.contract_id From ta_company t
7
+        left join ta_contract a on t.company_id = a.company_id and a.target_type = 'auth' and a.status = 1
8
+        where t.company_id = #{companyId}
9
+    </select>
10
+
11
+    <select id="selectListByOrgId" resultType="com.huiju.estateagents.eContract.entity.TaCompany">
12
+        select t.* From ta_company t
13
+        left join ta_company_org a on t.company_id = a.company_id
14
+        where a.org_id = #{orgId}
15
+        <if test="companyCode != null and companyCode!=''">
16
+            and t.company_code like CONCAT('%', #{companyCode}, '%')
17
+        </if>
18
+        <if test="companyName != null and companyName!=''">
19
+            and t.company_name like CONCAT('%', #{companyName}, '%')
20
+        </if>
21
+        and t.status = 4
22
+        order by t.create_date desc
23
+    </select>
24
+
25
+</mapper>

+ 43
- 0
src/main/resources/mapper/eContract/TaCompanyOrgMapper.xml Dosyayı Görüntüle

@@ -0,0 +1,43 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3
+<mapper namespace="com.huiju.estateagents.eContract.mapper.TaCompanyOrgMapper">
4
+
5
+    <select id="listCompanyAndOrg" resultType="com.huiju.estateagents.eContract.entity.TaCompanyOrg">
6
+        SELECT
7
+            t.*,
8
+            t2.company_name,
9
+            t2.company_code,
10
+            t2.certified_status,
11
+            t2.status companyStatus,
12
+            t3.`name` orgName,
13
+            t4.`name` miniAppName
14
+        FROM
15
+            ta_company_org t
16
+            LEFT JOIN ta_company t2 ON t.company_id = t2.company_id
17
+            LEFT JOIN ta_org t3 ON t.org_id = t3.org_id
18
+            LEFT JOIN ta_miniapp t4 ON t3.org_id = t4.org_id
19
+        WHERE
20
+            t2.`status` != -1
21
+            <if test = "companyName != null and companyName != ''">
22
+                AND t2.company_name like CONCAT('%',#{companyName} , '%')
23
+            </if>
24
+            <if test = "companyStatus != null ">
25
+                AND t2.`status` = #{companyStatus}
26
+            </if>
27
+            <if test = "companyCode != null and companyCode != ''">
28
+                AND t2.company_code like CONCAT('%',#{companyCode} , '%')
29
+            </if>
30
+            <if test = "certifiedStatus != null and certifiedStatus != ''">
31
+                AND t2.certified_status = #{certifiedStatus}
32
+            </if>
33
+            <if test = "orgName != null and orgName != ''">
34
+                AND t3.`name` like CONCAT('%',#{orgName} , '%')
35
+            </if>
36
+            <if test = "miniAppName != null and miniAppName != ''">
37
+                AND t4.`name` like CONCAT('%',#{miniAppName} , '%')
38
+            </if>
39
+        ORDER BY
40
+            t.create_date DESC
41
+    </select>
42
+
43
+</mapper>

+ 5
- 0
src/main/resources/mapper/eContract/TaCompanySealMapper.xml Dosyayı Görüntüle

@@ -0,0 +1,5 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3
+<mapper namespace="com.huiju.estateagents.eContract.mapper.TaCompanySealMapper">
4
+
5
+</mapper>

+ 5
- 0
src/main/resources/mapper/eContract/TaContractBusinessMapper.xml Dosyayı Görüntüle

@@ -0,0 +1,5 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3
+<mapper namespace="com.huiju.estateagents.eContract.mapper.TaContractBusinessMapper">
4
+
5
+</mapper>

+ 129
- 0
src/main/resources/mapper/eContract/TaContractMapper.xml Dosyayı Görüntüle

@@ -0,0 +1,129 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3
+<mapper namespace="com.huiju.estateagents.eContract.mapper.TaContractMapper">
4
+
5
+    <select id="listContractForAdmin" resultType="com.huiju.estateagents.eContract.entity.TaContract">
6
+        SELECT
7
+            *
8
+        FROM
9
+            ta_contract t
10
+        where
11
+            t.org_id = #{orgId}
12
+            <if test="contractName != null and contractName != ''">
13
+                AND t.contract_name LIKE CONCAT( '%', #{contractName}, '%' )
14
+            </if>
15
+            <if test="signatoryName != null and signatoryName != ''">
16
+                AND t.signatory_name LIKE CONCAT( '%', #{signatoryName}, '%' )
17
+            </if>
18
+            <if test="customerName != null and customerName != ''">
19
+                AND t.customer_name LIKE CONCAT( '%', #{customerName}, '%' )
20
+            </if>
21
+            <if test="archives != null">
22
+                AND t.archives = #{archives}
23
+            </if>
24
+            <if test="archivesStartDate != null">
25
+                AND t.archives_time &gt;= #{archivesStartDate}
26
+            </if>
27
+            <if test="archivesEndDate != null">
28
+                AND t.archives_time &lt;= #{archivesEndDate}
29
+            </if>
30
+            <choose>
31
+                <when test="signatoryStatus == 0">
32
+                    AND t.signatory_time is NULL
33
+                </when>
34
+                <when test="signatoryStatus == 1">
35
+                    AND t.signatory_time is not NULL
36
+                </when>
37
+                <otherwise></otherwise>
38
+            </choose>
39
+            <choose>
40
+                <when test="customerStatus == 0">
41
+                    AND t.customer_time is NULL
42
+                </when>
43
+                <when test="customerStatus == 1">
44
+                    AND t.customer_time is not NULL
45
+                </when>
46
+                <otherwise></otherwise>
47
+            </choose>
48
+        ORDER BY
49
+        t.signatory_time DESC
50
+    </select>
51
+
52
+    <select id="listContractForChannel" resultType="com.huiju.estateagents.eContract.entity.TaContract">
53
+        SELECT
54
+            t.*,
55
+            t2.company_name,
56
+            t2.company_code,
57
+            t3.`name` orgName,
58
+            t4.`name` miniAppName,
59
+            t6.channel_proxy_name
60
+        FROM
61
+            ta_contract t
62
+            LEFT JOIN ta_company t2 ON t.company_id = t2.company_id
63
+            LEFT JOIN ta_org t3 ON t.org_id = t3.org_id
64
+            LEFT JOIN ta_miniapp t4 ON t.org_id = t4.org_id
65
+            LEFT JOIN ta_channel_app_relation t5 ON t.org_id = t5.org_id
66
+            LEFT JOIN ta_channel_proxy t6 ON t5.channel_id = t6.channel_id
67
+        <where>
68
+            t.target_type != 'auth'
69
+            <if test=" bo.companyName != null and bo.companyName != ''">
70
+                AND t2.company_name like CONCAT('%',#{bo.companyName} , '%')
71
+            </if>
72
+            <if test=" bo.settlement != null and bo.settlement ">
73
+                AND t.settlement = #{bo.settlement}
74
+            </if>
75
+            <if test=" bo.settlement != null and bo.settlement == false ">
76
+                AND (t.settlement = #{bo.settlement} or t.settlement is null)
77
+            </if>
78
+            <if test=" bo.companyCode != null and bo.companyCode != ''">
79
+                AND t2.company_code like CONCAT('%',#{bo.companyCode} , '%')
80
+            </if>
81
+            <if test=" bo.orgName != null and bo.orgName != ''">
82
+                AND t3.`name` like CONCAT('%',#{bo.orgName} , '%')
83
+            </if>
84
+            <if test=" bo.miniAppName != null and bo.miniAppName != ''">
85
+                AND t4.`name` like CONCAT('%',#{bo.miniAppName} , '%')
86
+            </if>
87
+            <if test=" bo.contractId != null">
88
+                AND t.contract_id like CONCAT('%',#{bo.contractId} , '%')
89
+            </if>
90
+            <if test=" bo.contractName != null and bo.contractName != ''">
91
+                AND t.contract_name like CONCAT('%',#{bo.contractName} , '%')
92
+            </if>
93
+            <if test=" bo.channelProxyName != null and bo.channelProxyName != ''">
94
+                AND t6.channel_proxy_name like CONCAT('%',#{bo.channelProxyName} , '%')
95
+            </if>
96
+            <if test=" bo.signatoryStartTime != null">
97
+                AND t.signatory_time &gt;= #{bo.signatoryStartTime}
98
+            </if>
99
+            <if test=" bo.signatoryEndTime != null ">
100
+                AND t.signatory_time &lt;= #{bo.signatoryEndTime}
101
+            </if>
102
+            <if test=" bo.settlementStartTime != null">
103
+                AND t.settlement_time &gt;= #{bo.settlementStartTime}
104
+            </if>
105
+            <if test=" bo.settlementEndTime != null">
106
+                AND t.settlement_time &lt;= #{bo.settlementEndTime}
107
+            </if>
108
+        </where>
109
+        ORDER BY
110
+            t.signatory_time DESC
111
+    </select>
112
+
113
+    <select id="selectContractInfoByRaiseId" resultType="com.huiju.estateagents.eContract.entity.TaContractBusiness">
114
+        SELECT
115
+            t.*,
116
+            c.contract_template_address,
117
+            s.signature_id,
118
+            d.fadada_code
119
+        FROM
120
+            ta_contract_business t
121
+        LEFT JOIN ta_contract_template c ON t.contract_template_id = c.contract_template_id
122
+        LEFT JOIN ta_company_seal s ON t.seal_id = s.seal_id
123
+        left JOIN ta_company d on t.company_id = d.company_id
124
+        WHERE
125
+        t.target_type = "raise"
126
+        AND t.target_id = #{raiseId}
127
+        AND t.`status` = 1
128
+    </select>
129
+</mapper>

+ 5
- 0
src/main/resources/mapper/eContract/TaContractTemplateMapper.xml Dosyayı Görüntüle

@@ -0,0 +1,5 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3
+<mapper namespace="com.huiju.estateagents.eContract.mapper.TaContractTemplateMapper">
4
+
5
+</mapper>

+ 5
- 0
src/main/resources/mapper/eContract/TaContractUserMapper.xml Dosyayı Görüntüle

@@ -0,0 +1,5 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3
+<mapper namespace="com.huiju.estateagents.eContract.mapper.TaContractUserMapper">
4
+
5
+</mapper>

+ 447
- 0
src/test/java/com/huiju/estateagents/FdadaTest.java
Dosya farkı çok büyük olduğundan ihmal edildi
Dosyayı Görüntüle