Преглед на файлове

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

# Conflicts:
#	src/main/java/com/huiju/estateagents/eContract/entity/TaContractBusiness.java
魏超 преди 5 години
родител
ревизия
566338f56c
променени са 31 файла, в които са добавени 1056 реда и са изтрити 89 реда
  1. 11
    6
      src/main/java/com/huiju/estateagents/bo/request/ContractRecordRequestBO.java
  2. 31
    8
      src/main/java/com/huiju/estateagents/controller/TaRaiseController.java
  3. 149
    0
      src/main/java/com/huiju/estateagents/controller/TaRaiseInviteController.java
  4. 3
    3
      src/main/java/com/huiju/estateagents/controller/TaRaiseRecordController.java
  5. 62
    8
      src/main/java/com/huiju/estateagents/eContract/controller/TaCompanyController.java
  6. 102
    37
      src/main/java/com/huiju/estateagents/eContract/controller/TaContractController.java
  7. 37
    7
      src/main/java/com/huiju/estateagents/eContract/controller/TaContractTemplateController.java
  8. 59
    0
      src/main/java/com/huiju/estateagents/eContract/controller/TaContractUserController.java
  9. 1
    1
      src/main/java/com/huiju/estateagents/eContract/entity/TaCompany.java
  10. 5
    1
      src/main/java/com/huiju/estateagents/eContract/entity/TaCompanySeal.java
  11. 19
    5
      src/main/java/com/huiju/estateagents/eContract/entity/TaContract.java
  12. 5
    0
      src/main/java/com/huiju/estateagents/eContract/entity/TaContractBusiness.java
  13. 5
    1
      src/main/java/com/huiju/estateagents/eContract/entity/TaContractTemplate.java
  14. 25
    0
      src/main/java/com/huiju/estateagents/eContract/entity/TaContractUser.java
  15. 24
    0
      src/main/java/com/huiju/estateagents/eContract/mapper/TaContractMapper.java
  16. 7
    0
      src/main/java/com/huiju/estateagents/eContract/service/ITaCompanyService.java
  17. 32
    0
      src/main/java/com/huiju/estateagents/eContract/service/ITaContractService.java
  18. 16
    0
      src/main/java/com/huiju/estateagents/eContract/service/ITaContractUserService.java
  19. 56
    2
      src/main/java/com/huiju/estateagents/eContract/service/impl/TaCompanyServiceImpl.java
  20. 64
    0
      src/main/java/com/huiju/estateagents/eContract/service/impl/TaContractServiceImpl.java
  21. 132
    0
      src/main/java/com/huiju/estateagents/eContract/service/impl/TaContractUserServiceImpl.java
  22. 6
    0
      src/main/java/com/huiju/estateagents/entity/TaOrg.java
  23. 12
    0
      src/main/java/com/huiju/estateagents/entity/TaRaise.java
  24. 60
    0
      src/main/java/com/huiju/estateagents/entity/TaRaiseInvite.java
  25. 18
    0
      src/main/java/com/huiju/estateagents/mapper/TaRaiseInviteMapper.java
  26. 16
    0
      src/main/java/com/huiju/estateagents/service/ITaRaiseInviteService.java
  27. 20
    0
      src/main/java/com/huiju/estateagents/service/impl/TaRaiseInviteServiceImpl.java
  28. 6
    3
      src/main/resources/mapper/TaOrgMapper.xml
  29. 5
    0
      src/main/resources/mapper/TaRaiseInviteMapper.xml
  30. 0
    1
      src/main/resources/mapper/eContract/TaCompanyOrgMapper.xml
  31. 68
    6
      src/main/resources/mapper/eContract/TaContractMapper.xml

+ 11
- 6
src/main/java/com/huiju/estateagents/bo/request/ContractRecordRequestBO.java Целия файл

@@ -1,9 +1,9 @@
1 1
 package com.huiju.estateagents.bo.request;
2 2
 
3 3
 import lombok.Data;
4
-import org.springframework.web.bind.annotation.RequestParam;
4
+import org.springframework.format.annotation.DateTimeFormat;
5 5
 
6
-import java.time.LocalDateTime;
6
+import java.time.LocalDate;
7 7
 
8 8
 /**
9 9
  * 查询合同列表请求实体
@@ -64,20 +64,25 @@ public class ContractRecordRequestBO {
64 64
     /**
65 65
      * 甲方签署开始时间
66 66
      */
67
-    private LocalDateTime signatoryStartTime;
67
+    @DateTimeFormat(iso = DateTimeFormat.ISO.DATE)
68
+    private LocalDate signatoryStartTime;
68 69
 
69 70
     /**
70 71
      * 甲方签署结束时间
71 72
      */
72
-    private LocalDateTime signatoryEndTime;
73
+
74
+    @DateTimeFormat(iso = DateTimeFormat.ISO.DATE)
75
+    private LocalDate signatoryEndTime;
73 76
 
74 77
     /**
75 78
      * 结算开始时间
76 79
      */
77
-    private LocalDateTime settlementStartTime;
80
+    @DateTimeFormat(iso = DateTimeFormat.ISO.DATE)
81
+    private LocalDate settlementStartTime;
78 82
 
79 83
     /**
80 84
      * 结算结束时间
81 85
      */
82
-    private LocalDateTime settlementEndTime;
86
+    @DateTimeFormat(iso = DateTimeFormat.ISO.DATE)
87
+    private LocalDate settlementEndTime;
83 88
 }

+ 31
- 8
src/main/java/com/huiju/estateagents/controller/TaRaiseController.java Целия файл

@@ -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,20 +141,38 @@ 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
+                // 为邀请制,添加认筹被邀请清单
159
+                if (CommConstant.STATUS_NORMAL == taRaise.getIsInvite()) {
160
+                    TaRaiseInvite taRaiseInvite = new TaRaiseInvite();
161
+                    taRaiseInvite.setOrgId(orgId);
162
+                    taRaiseInvite.setRaiseId(taRaise.getRaiseId());
163
+                    taRaiseInvite.setBuildingId(taRaise.getBuildingId());
164
+                    taRaiseInvite.setSalesBatchId(taSalesBatch.getSalesBatchId());
165
+                    taRaiseInvite.setCreateDate(LocalDateTime.now());
166
+                    List<TaRaiseInvite> taRaiseInviteList = new ArrayList<>();
167
+                    String[] inviteTelArr = StringUtils.isEmpty(taRaise.getInviteTel()) ?
168
+                            new String[]{} : taRaise.getInviteTel().replace(",", ",").split(",");
169
+                    for (String inviteTel : inviteTelArr) {
170
+                        taRaiseInvite.setInviteTel(inviteTel);
171
+                        taRaiseInviteList.add(taRaiseInvite);
172
+                    }
173
+                    iTaRaiseInviteService.saveBatch(taRaiseInviteList);
174
+                }
175
+
153 176
                 responseBean.addSuccess(taRaise);
154 177
             } else {
155 178
                 responseBean.addError("fail");

+ 149
- 0
src/main/java/com/huiju/estateagents/controller/TaRaiseInviteController.java Целия файл

@@ -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
+}

+ 3
- 3
src/main/java/com/huiju/estateagents/controller/TaRaiseRecordController.java Целия файл

@@ -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 {
@@ -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 {
@@ -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 {

+ 62
- 8
src/main/java/com/huiju/estateagents/eContract/controller/TaCompanyController.java Целия файл

@@ -1,5 +1,6 @@
1 1
 package com.huiju.estateagents.eContract.controller;
2 2
 
3
+import com.alibaba.fastjson.JSONArray;
3 4
 import com.alibaba.fastjson.JSONObject;
4 5
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
5 6
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -10,6 +11,7 @@ import com.huiju.estateagents.common.CommConstant;
10 11
 import com.huiju.estateagents.eContract.entity.TaCompanySeal;
11 12
 import com.huiju.estateagents.eContract.service.ITaCompanySealService;
12 13
 import com.huiju.estateagents.config.FadadaProperties;
14
+import com.huiju.estateagents.sample.entity.TaH5Demand;
13 15
 import org.apache.commons.lang3.StringUtils;
14 16
 import org.slf4j.Logger;
15 17
 import org.slf4j.LoggerFactory;
@@ -25,7 +27,9 @@ import com.huiju.estateagents.eContract.entity.TaCompany;
25 27
 import org.springframework.web.bind.annotation.RestController;
26 28
 
27 29
 import javax.servlet.http.HttpServletRequest;
30
+import java.util.HashMap;
28 31
 import java.util.List;
32
+import java.util.Map;
29 33
 
30 34
 /**
31 35
  * <p>
@@ -60,8 +64,8 @@ public class TaCompanyController extends BaseController {
60 64
      * @param certifiedStatus
61 65
      * @return
62 66
      */
63
-    @RequestMapping(value = "/channel/contract/lisCompany", method = RequestMethod.GET)
64
-    public ResponseBean lisCompany(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
67
+    @RequestMapping(value = "/channel/contract/listCompany", method = RequestMethod.GET)
68
+    public ResponseBean listCompany(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
65 69
                                    @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
66 70
                                    String companyName, String companyCode, String certifiedStatus) {
67 71
         ResponseBean responseBean = new ResponseBean();
@@ -78,8 +82,7 @@ public class TaCompanyController extends BaseController {
78 82
             IPage<TaCompany> result = iTaCompanyService.page(pg, queryWrapper);
79 83
             responseBean.addSuccess(result);
80 84
         } catch (Exception e) {
81
-            e.printStackTrace();
82
-            logger.error("taCompanyList -=- {}", e.toString());
85
+            logger.error("listCompany -=- {}", e);
83 86
             responseBean.addError(e.getMessage());
84 87
         }
85 88
         return responseBean;
@@ -262,7 +265,7 @@ public class TaCompanyController extends BaseController {
262 265
      * @param pageSize
263 266
      * @param companyName
264 267
      * @param companyCode
265
-     * @param certifiedStatus
268
+     * @param status
266 269
      * @return
267 270
      */
268 271
     @RequestMapping(value = "/channel/company/list", method = RequestMethod.GET)
@@ -270,7 +273,7 @@ public class TaCompanyController extends BaseController {
270 273
                                        @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
271 274
                                        @RequestParam(value = "companyName", required = false) String companyName,
272 275
                                        @RequestParam(value = "companyCode", required = false) String companyCode,
273
-                                       @RequestParam(value = "certifiedStatus", required = false) String certifiedStatus) {
276
+                                       @RequestParam(value = "certifiedStatus", required = false) String status) {
274 277
         ResponseBean responseBean = new ResponseBean();
275 278
         try {
276 279
             //使用分页插件
@@ -278,8 +281,8 @@ public class TaCompanyController extends BaseController {
278 281
             QueryWrapper<TaCompany> queryWrapper = new QueryWrapper<>();
279 282
             queryWrapper.like(StringUtils.isNotBlank(companyName), "company_name", companyName);
280 283
             queryWrapper.like(StringUtils.isNotBlank(companyCode), "company_code", companyCode);
281
-            queryWrapper.eq(StringUtils.isNotBlank(certifiedStatus), "certified_status", certifiedStatus);
282
-            queryWrapper.eq("status", CommConstant.STATUS_NORMAL);
284
+            queryWrapper.eq(StringUtils.isNotBlank(status), "status", status);
285
+            queryWrapper.gt("status", CommConstant.STATUS_DELETE);
283 286
             queryWrapper.orderByDesc("create_date");
284 287
 
285 288
             IPage<TaCompany> result = iTaCompanyService.page(pg, queryWrapper);
@@ -346,4 +349,55 @@ public class TaCompanyController extends BaseController {
346 349
         }
347 350
         return responseBean;
348 351
     }
352
+
353
+    /**
354
+     * 根据id去法大大那边拿最新数据然后更新
355
+     *
356
+     * @param id 实体ID
357
+     */
358
+    @RequestMapping(value = "/channel/company/fdd/{id}", method = RequestMethod.GET)
359
+    public ResponseBean updateCompanyInfoByFdd(@PathVariable Integer id) {
360
+        ResponseBean responseBean = new ResponseBean();
361
+        try {
362
+            TaCompany newCompany = iTaCompanyService.updateCompanyInfoByFdd(id);
363
+            responseBean.addSuccess(newCompany);
364
+        } catch (Exception e) {
365
+            e.printStackTrace();
366
+            logger.error("taCompanyDelete -=- {}", e.toString());
367
+            responseBean.addError(e.getMessage());
368
+        }
369
+        return responseBean;
370
+    }
371
+
372
+    /**
373
+     * 根据id更新数据
374
+     *
375
+     * @param
376
+     */
377
+    @RequestMapping(value = "/channel/company/delete", method = RequestMethod.DELETE)
378
+    public ResponseBean updateCompanyInfo(@RequestBody String ids) {
379
+        ResponseBean responseBean = new ResponseBean();
380
+        try {
381
+            int successNum = 0;
382
+            int failNum = 0;
383
+            JSONArray jsonArray = JSONObject.parseObject(ids).getJSONArray("ids");
384
+            for (Object id : jsonArray) {
385
+                TaCompany company = iTaCompanyService.getById((Integer) id);
386
+                if (CommConstant.STATUS_UNACCALIMED.equals(company.getStatus())){
387
+                    company.setStatus(CommConstant.STATUS_DELETE);
388
+                    iTaCompanyService.updateById(company);
389
+                    successNum++;
390
+                }else{
391
+                    failNum++;
392
+                }
393
+            }
394
+            Map<String,Object> map = new HashMap<>();
395
+            map.put("successNum",successNum);
396
+            map.put("failNum",failNum);
397
+            responseBean.addSuccess(map);
398
+        }catch (Exception e){
399
+            responseBean.addError(e.getMessage());
400
+        }
401
+        return responseBean;
402
+    }
349 403
 }

+ 102
- 37
src/main/java/com/huiju/estateagents/eContract/controller/TaContractController.java Целия файл

@@ -1,18 +1,33 @@
1 1
 package com.huiju.estateagents.eContract.controller;
2 2
 
3 3
 import com.alibaba.fastjson.JSONObject;
4
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
5 4
 import com.huiju.estateagents.base.BaseController;
6 5
 import com.huiju.estateagents.base.ResponseBean;
7 6
 import com.huiju.estateagents.bo.request.ContractRecordRequestBO;
8 7
 import com.huiju.estateagents.common.CommonUtils;
9 8
 import com.huiju.estateagents.eContract.entity.TaContract;
9
+import com.huiju.estateagents.eContract.entity.TaContractUser;
10 10
 import com.huiju.estateagents.eContract.service.ITaContractService;
11
+import com.huiju.estateagents.entity.TaPerson;
12
+import com.huiju.estateagents.entity.TaRaiseRecord;
13
+import com.huiju.estateagents.service.ITaPersonService;
14
+import org.apache.commons.lang3.StringUtils;
15
+import com.huiju.estateagents.entity.TaRaise;
16
+import com.huiju.estateagents.entity.TaSalesBatch;
17
+import com.huiju.estateagents.service.ITaRaiseService;
18
+import com.huiju.estateagents.service.ITaSalesBatchService;
11 19
 import org.slf4j.Logger;
12 20
 import org.slf4j.LoggerFactory;
13 21
 import org.springframework.beans.factory.annotation.Autowired;
22
+import org.springframework.format.annotation.DateTimeFormat;
14 23
 import org.springframework.web.bind.annotation.*;
15 24
 
25
+import javax.servlet.http.HttpServletRequest;
26
+import java.time.LocalDate;
27
+import java.util.List;
28
+import java.time.LocalDateTime;
29
+
30
+
16 31
 /**
17 32
  * <p>
18 33
  * 合同列表  前端控制器
@@ -28,56 +43,68 @@ public class TaContractController extends BaseController {
28 43
     private final Logger logger = LoggerFactory.getLogger(TaContractController.class);
29 44
 
30 45
     @Autowired
31
-    public ITaContractService iTaContractService;
46
+    private ITaContractService iTaContractService;
47
+
48
+    @Autowired
49
+    private ITaRaiseService iTaRaiseService;
50
+
51
+    @Autowired
52
+    private ITaSalesBatchService iTaSalesBatchService;
53
+
32 54
 
55
+    @Autowired
56
+    public ITaPersonService taPersonService;
33 57
 
34 58
     /**
35
-     * 条件查询合同列表
59
+     * 条件查询合同列表 -- admin端
36 60
      *
37
-     * @param requestBO
61
+     * @param pageNum
62
+     * @param pageSize
63
+     * @param contractName
64
+     * @param archives
65
+     * @param signatoryName
66
+     * @param signatoryStatus   甲方是否签署,1是,0否,2全部
67
+     * @param customerName
68
+     * @param customerStatus    乙方是否签署,1是,0否,2全部
69
+     * @param archivesStartDate
70
+     * @param archivesEndDate
38 71
      * @return
39 72
      */
40
-    @RequestMapping(value = "/channel/contract/list", method = RequestMethod.GET)
41
-    public ResponseBean listContractForChannel(ContractRecordRequestBO requestBO) {
73
+    @RequestMapping(value = "/admin/contract/list", method = RequestMethod.GET)
74
+    public ResponseBean listContractForAdmin(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
75
+                                             @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
76
+                                             String contractName, Boolean archives,
77
+                                             String signatoryName, Integer signatoryStatus,
78
+                                             String customerName, Integer customerStatus,
79
+                                             @RequestParam(value = "archivesStartDate", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) LocalDate archivesStartDate,
80
+                                             @RequestParam(value = "archivesEndDate", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) LocalDate archivesEndDate,
81
+                                             HttpServletRequest request) {
42 82
         ResponseBean responseBean = new ResponseBean();
43 83
         try {
44
-            responseBean = iTaContractService.listContractForChannel(requestBO);
45
-            logger.info("TaContractController.listContractForChannel 返回结果:{}", JSONObject.toJSONString(responseBean));
84
+            responseBean = iTaContractService.listContractForAdmin(pageNum, pageSize, contractName, archives, signatoryName, signatoryStatus, customerName, customerStatus, archivesStartDate, archivesEndDate, getOrgId(request));
85
+            logger.info("TaContractController.listContractForAdmin 返回结果:{}", JSONObject.toJSONString(responseBean));
46 86
         } catch (Exception e) {
47
-            logger.error("TaContractController.listContractForChannel 异常:", e);
87
+            logger.error("TaContractController.listContractForAdmin 异常:", e);
48 88
             responseBean.addError(e.getMessage());
49 89
         }
50 90
         return responseBean;
51 91
     }
52 92
 
93
+
53 94
     /**
54
-     * 批量结算前校验
95
+     * 条件查询合同列表 -- channel端
55 96
      *
97
+     * @param requestBO
56 98
      * @return
57 99
      */
58
-    @RequestMapping(value = "/channel/contract/checkBeforeBatchUpdatePrice", method = RequestMethod.GET)
59
-    public ResponseBean checkBeforeBatchUpdatePrice(@RequestBody TaContract taContract) {
100
+    @RequestMapping(value = "/channel/contract/list", method = RequestMethod.GET)
101
+    public ResponseBean listContractForChannel(ContractRecordRequestBO requestBO) {
60 102
         ResponseBean responseBean = new ResponseBean();
61
-        Integer fitNum = 0;
62
-        Integer notFitNum = 0;
63
-        Integer totalNum = taContract.getTaContractList().size();
64 103
         try {
65
-            for (TaContract record : taContract.getTaContractList()) {
66
-                TaContract contract = iTaContractService.getById(record.getContractId());
67
-                if (contract == null) {
68
-                    fitNum++;
69
-                } else {
70
-                    notFitNum++;
71
-                }
72
-            }
73
-
74
-            JSONObject obj = new JSONObject();
75
-            obj.put("fitNum", fitNum);
76
-            obj.put("notFitNum", notFitNum);
77
-            obj.put("totalNum", totalNum);
78
-            responseBean.addSuccess(obj);
104
+            responseBean = iTaContractService.listContractForChannel(requestBO);
105
+            logger.info("TaContractController.listContractForChannel 返回结果:{}", JSONObject.toJSONString(responseBean));
79 106
         } catch (Exception e) {
80
-            logger.error("TaContractController.checkBeforeBatchUpdatePrice 异常:", e);
107
+            logger.error("TaContractController.listContractForChannel 异常:", e);
81 108
             responseBean.addError(e.getMessage());
82 109
         }
83 110
         return responseBean;
@@ -93,21 +120,23 @@ public class TaContractController extends BaseController {
93 120
         ResponseBean responseBean = new ResponseBean();
94 121
         try {
95 122
             // 校验参数
96
-            if (taContract.getSettlementPrice() == null) {
123
+            if (taContract.getPrice() == null) {
97 124
                 responseBean.addError("请填写结算金额");
98 125
                 return responseBean;
99 126
             }
100 127
 
101 128
             // 校验金额是否符合要求
102
-            if (!CommonUtils.isAmount(taContract.getSettlementPrice() + "")) {
129
+            if (!CommonUtils.isAmount(taContract.getPrice() + "")) {
103 130
                 responseBean.addError("结算金额不符合要求");
104 131
                 return responseBean;
105 132
             }
106 133
 
107 134
             // 元转分
108
-            Integer price = taContract.getSettlementPrice() * 100;
135
+            Double price = taContract.getPrice() * 100;
109 136
             taContract.getTaContractList().stream().forEach(record -> {
110
-                record.setSettlementPrice(price);
137
+                record.setSettlement(true);
138
+                record.setSettlementPrice(price.intValue());
139
+                record.setSettlementTime(LocalDateTime.now());
111 140
             });
112 141
             responseBean.addSuccess(iTaContractService.updateBatchById(taContract.getTaContractList()));
113 142
 
@@ -171,11 +200,14 @@ public class TaContractController extends BaseController {
171 200
      * @param taContract 实体对象
172 201
      * @return
173 202
      */
174
-    @RequestMapping(value = "/taContract/{id}", method = RequestMethod.PUT)
203
+    @RequestMapping(value = "/admin/contract/{id}", method = RequestMethod.PUT)
175 204
     public ResponseBean taContractUpdate(@PathVariable Integer id,
176 205
                                          @RequestBody TaContract taContract) {
177 206
         ResponseBean responseBean = new ResponseBean();
178 207
         try {
208
+            if (taContract.getArchives() != null && taContract.getArchives()) {
209
+                taContract.setArchivesTime(LocalDateTime.now());
210
+            }
179 211
             if (iTaContractService.updateById(taContract)) {
180 212
                 responseBean.addSuccess(taContract);
181 213
             } else {
@@ -194,11 +226,21 @@ public class TaContractController extends BaseController {
194 226
      *
195 227
      * @param id 实体ID
196 228
      */
197
-    @RequestMapping(value = "/taContract/{id}", method = RequestMethod.GET)
229
+    @RequestMapping(value = "/admin/contract/{id}", method = RequestMethod.GET)
198 230
     public ResponseBean taContractGet(@PathVariable Integer id) {
199 231
         ResponseBean responseBean = new ResponseBean();
200 232
         try {
201
-            responseBean.addSuccess(iTaContractService.getById(id));
233
+            TaContract taContract = iTaContractService.getById(id);
234
+            if(taContract != null){
235
+                TaRaise taRaise = iTaRaiseService.getById(taContract.getTargetId());
236
+                if(taRaise != null){
237
+                    TaSalesBatch taSalesBatch = iTaSalesBatchService.getById(taRaise.getSalesBatchId());
238
+                    if(taSalesBatch != null){
239
+                        taContract.setTargetName(taSalesBatch.getSalesBatchName());
240
+                    }
241
+                }
242
+            }
243
+            responseBean.addSuccess(taContract);
202 244
         } catch (Exception e) {
203 245
             e.printStackTrace();
204 246
             logger.error("taContractDelete -=- {}", e.toString());
@@ -206,4 +248,27 @@ public class TaContractController extends BaseController {
206 248
         }
207 249
         return responseBean;
208 250
     }
251
+
252
+    /**
253
+     * 自动签署合同
254
+     */
255
+    @RequestMapping(value = "/wx/contract/auto", method = RequestMethod.POST)
256
+    public ResponseBean autoContract(@RequestBody TaRaiseRecord taRaiseRecord, HttpServletRequest request) {
257
+        ResponseBean responseBean = new ResponseBean();
258
+        try {
259
+            String openid = getOpenId(request);
260
+            List<TaPerson> taPersons = taPersonService.getPersonsByOpenId(openid);
261
+            if (null == taPersons || taPersons.size() != 1) {
262
+                return ResponseBean.error("验证人员信息失败", ResponseBean.ERROR_UNAVAILABLE);
263
+            }
264
+            TaPerson person = taPersons.get(0);
265
+            TaContract taContract = iTaContractService.autoContract(taRaiseRecord, person);
266
+            responseBean.addSuccess(taContract);
267
+        } catch (Exception e) {
268
+            e.printStackTrace();
269
+            logger.error("taCompanyList -=- {}", e.toString());
270
+            responseBean.addError(e.getMessage());
271
+        }
272
+        return responseBean;
273
+    }
209 274
 }

+ 37
- 7
src/main/java/com/huiju/estateagents/eContract/controller/TaContractTemplateController.java Целия файл

@@ -6,9 +6,10 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6 6
 import com.huiju.estateagents.base.BaseController;
7 7
 import com.huiju.estateagents.base.ResponseBean;
8 8
 import com.huiju.estateagents.common.CommConstant;
9
-import com.huiju.estateagents.common.StringUtils;
9
+import com.huiju.estateagents.common.CommConstant;
10 10
 import com.huiju.estateagents.eContract.entity.TaContractTemplate;
11 11
 import com.huiju.estateagents.eContract.service.ITaContractTemplateService;
12
+import org.apache.commons.lang3.StringUtils;
12 13
 import org.slf4j.Logger;
13 14
 import org.slf4j.LoggerFactory;
14 15
 import org.springframework.beans.factory.annotation.Autowired;
@@ -16,6 +17,9 @@ import org.springframework.web.bind.annotation.*;
16 17
 
17 18
 import javax.servlet.http.HttpServletRequest;
18 19
 
20
+import java.time.LocalDateTime;
21
+import java.util.List;
22
+
19 23
 /**
20 24
  * <p>
21 25
     * 合同模板  前端控制器
@@ -36,6 +40,7 @@ public class TaContractTemplateController extends BaseController {
36 40
 
37 41
     /**
38 42
      * 分页查询列表
43
+     *
39 44
      * @param pageNum
40 45
      * @param pageSize
41 46
      * @return
@@ -67,21 +72,46 @@ public class TaContractTemplateController extends BaseController {
67 72
 
68 73
     /**
69 74
      * 保存对象
75
+     *
70 76
      * @param taContractTemplate 实体对象
71 77
      * @return
72 78
      */
73
-    @RequestMapping(value="/taContractTemplate",method= RequestMethod.POST)
74
-    public ResponseBean taContractTemplateAdd(@RequestBody TaContractTemplate taContractTemplate){
79
+    @RequestMapping(value = "/admin/contract/template/add", method = RequestMethod.POST)
80
+    public ResponseBean taContractTemplateAdd(@RequestBody TaContractTemplate taContractTemplate,HttpServletRequest request) {
75 81
         ResponseBean responseBean = new ResponseBean();
76 82
         try {
77
-            if (iTaContractTemplateService.save(taContractTemplate)){
83
+            taContractTemplate.setCreateDate(LocalDateTime.now());
84
+            taContractTemplate.setStatus(CommConstant.STATUS_NORMAL);
85
+            taContractTemplate.setOrgId(getOrgId(request));
86
+            if (iTaContractTemplateService.save(taContractTemplate)) {
78 87
                 responseBean.addSuccess(taContractTemplate);
79
-            }else {
88
+            } else {
80 89
                 responseBean.addError("fail");
81 90
             }
82
-        }catch (Exception e){
91
+        } catch (Exception e) {
83 92
             e.printStackTrace();
84
-            logger.error("taContractTemplateAdd -=- {}",e.toString());
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);
85 115
             responseBean.addError(e.getMessage());
86 116
         }
87 117
         return responseBean;

+ 59
- 0
src/main/java/com/huiju/estateagents/eContract/controller/TaContractUserController.java Целия файл

@@ -5,13 +5,20 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
5 5
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6 6
 import com.huiju.estateagents.base.BaseController;
7 7
 import com.huiju.estateagents.base.ResponseBean;
8
+import com.huiju.estateagents.eContract.entity.TaCompany;
8 9
 import com.huiju.estateagents.eContract.entity.TaContractUser;
9 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;
10 14
 import org.slf4j.Logger;
11 15
 import org.slf4j.LoggerFactory;
12 16
 import org.springframework.beans.factory.annotation.Autowired;
13 17
 import org.springframework.web.bind.annotation.*;
14 18
 
19
+import javax.servlet.http.HttpServletRequest;
20
+import java.util.List;
21
+
15 22
 /**
16 23
  * <p>
17 24
     * 电子合同注册用户表  前端控制器
@@ -30,6 +37,9 @@ public class TaContractUserController extends BaseController {
30 37
     public ITaContractUserService iTaContractUserService;
31 38
 
32 39
 
40
+    @Autowired
41
+    public ITaPersonService taPersonService;
42
+
33 43
     /**
34 44
      * 分页查询列表
35 45
      * @param pageNum
@@ -140,4 +150,53 @@ public class TaContractUserController extends BaseController {
140 150
         }
141 151
         return responseBean;
142 152
     }
153
+
154
+
155
+
156
+    /**
157
+     * 给用户在法大大注册账号
158
+     */
159
+    @RequestMapping(value = "/wx/contract/user/add", method = RequestMethod.POST)
160
+    public ResponseBean addCompanyFirstInfo(@RequestBody TaRaiseRecord taRaiseRecord,HttpServletRequest request) {
161
+        ResponseBean responseBean = new ResponseBean();
162
+        try {
163
+            String openid = getOpenId(request);
164
+            List<TaPerson> taPersons = taPersonService.getPersonsByOpenId(openid);
165
+            if (null == taPersons || taPersons.size() != 1) {
166
+                return ResponseBean.error("验证人员信息失败", ResponseBean.ERROR_UNAVAILABLE);
167
+            }
168
+            TaPerson person = taPersons.get(0);
169
+            TaContractUser taContractUser = iTaContractUserService.newFirstCustomerInfo(person,taRaiseRecord);
170
+            responseBean.addSuccess(taContractUser);
171
+        } catch (Exception e) {
172
+            e.printStackTrace();
173
+            logger.error("taCompanyList -=- {}", e.toString());
174
+            responseBean.addError(e.getMessage());
175
+        }
176
+        return responseBean;
177
+    }
178
+
179
+
180
+    /**
181
+     * 获取个人用户的最新状态
182
+     */
183
+    @RequestMapping(value = "/wx/contract/user/get", method = RequestMethod.GET)
184
+    public ResponseBean getCompanyFirstInfo(HttpServletRequest request) {
185
+        ResponseBean responseBean = new ResponseBean();
186
+        try {
187
+            String openid = getOpenId(request);
188
+            List<TaPerson> taPersons = taPersonService.getPersonsByOpenId(openid);
189
+            if (null == taPersons || taPersons.size() != 1) {
190
+                return ResponseBean.error("验证人员信息失败", ResponseBean.ERROR_UNAVAILABLE);
191
+            }
192
+            TaPerson person = taPersons.get(0);
193
+            TaContractUser taContractUser = iTaContractUserService.getFirstCustomerInfo(person);
194
+            responseBean.addSuccess(taContractUser);
195
+        } catch (Exception e) {
196
+            e.printStackTrace();
197
+            logger.error("taCompanyList -=- {}", e.toString());
198
+            responseBean.addError(e.getMessage());
199
+        }
200
+        return responseBean;
201
+    }
143 202
 }

+ 1
- 1
src/main/java/com/huiju/estateagents/eContract/entity/TaCompany.java Целия файл

@@ -78,7 +78,7 @@ public class TaCompany implements Serializable {
78 78
     /**
79 79
      * 认证方式 认证方式
80 80
      */
81
-    private String certifiedType;
81
+    private Integer certifiedType;
82 82
 
83 83
     /**
84 84
      * 创建时间

+ 5
- 1
src/main/java/com/huiju/estateagents/eContract/entity/TaCompanySeal.java Целия файл

@@ -7,6 +7,7 @@ import java.io.Serializable;
7 7
 import lombok.Data;
8 8
 import lombok.EqualsAndHashCode;
9 9
 import lombok.experimental.Accessors;
10
+import org.springframework.beans.factory.annotation.Autowired;
10 11
 
11 12
 /**
12 13
  * <p>
@@ -54,5 +55,8 @@ public class TaCompanySeal implements Serializable {
54 55
      */
55 56
     private Integer status;
56 57
 
57
-
58
+    /**
59
+     * 签章id
60
+     */
61
+    private String signatureId;
58 62
 }

+ 19
- 5
src/main/java/com/huiju/estateagents/eContract/entity/TaContract.java Целия файл

@@ -3,6 +3,7 @@ package com.huiju.estateagents.eContract.entity;
3 3
 import com.baomidou.mybatisplus.annotation.IdType;
4 4
 import com.baomidou.mybatisplus.annotation.TableField;
5 5
 import com.baomidou.mybatisplus.annotation.TableId;
6
+
6 7
 import java.time.LocalDateTime;
7 8
 import java.io.Serializable;
8 9
 import java.util.List;
@@ -13,7 +14,7 @@ import lombok.experimental.Accessors;
13 14
 
14 15
 /**
15 16
  * <p>
16
- * 合同列表 
17
+ * 合同列表
17 18
  * </p>
18 19
  *
19 20
  * @author fxf
@@ -35,13 +36,15 @@ public class TaContract implements Serializable {
35 36
     /**
36 37
      * 企业id
37 38
      */
38
-    private String companyId;
39
+    private Integer companyId;
39 40
 
40 41
     /**
41 42
      * 公司id
42 43
      */
43 44
     private Integer orgId;
44
-    /** 楼盘id */
45
+    /**
46
+     * 楼盘id
47
+     */
45 48
     private String buildingId;
46 49
 
47 50
     /**
@@ -139,8 +142,10 @@ public class TaContract implements Serializable {
139 142
      */
140 143
     private Integer settlementPrice;
141 144
 
142
-    /** 小程序用户id */
143
-    private String personId ;
145
+    /**
146
+     * 小程序用户id
147
+     */
148
+    private String personId;
144 149
 
145 150
     /**
146 151
      * 公司名
@@ -172,7 +177,16 @@ public class TaContract implements Serializable {
172 177
     @TableField(exist = false)
173 178
     private String channelProxyName;
174 179
 
180
+    /**
181
+     * 前端传的计算价格
182
+     */
183
+    @TableField(exist = false)
184
+    private Double price;
185
+
175 186
     @TableField(exist = false)
176 187
     private List<TaContract> taContractList;
177 188
 
189
+    @TableField(exist = false)
190
+    private String targetName;
191
+
178 192
 }

+ 5
- 0
src/main/java/com/huiju/estateagents/eContract/entity/TaContractBusiness.java Целия файл

@@ -114,4 +114,9 @@ public class TaContractBusiness implements Serializable {
114 114
 
115 115
     @TableField(exist = false)
116 116
     private List<TaContractBusiness> contractBusinessList;
117
+
118
+    private String contractTemplateAddress;
119
+
120
+    @TableField(exist = false)
121
+    private String signatrueId;
117 122
 }

+ 5
- 1
src/main/java/com/huiju/estateagents/eContract/entity/TaContractTemplate.java Целия файл

@@ -1,9 +1,12 @@
1 1
 package com.huiju.estateagents.eContract.entity;
2 2
 
3 3
 import com.baomidou.mybatisplus.annotation.IdType;
4
+import com.baomidou.mybatisplus.annotation.TableField;
4 5
 import com.baomidou.mybatisplus.annotation.TableId;
5 6
 import java.time.LocalDateTime;
6 7
 import java.io.Serializable;
8
+import java.util.List;
9
+
7 10
 import lombok.Data;
8 11
 import lombok.EqualsAndHashCode;
9 12
 import lombok.experimental.Accessors;
@@ -54,5 +57,6 @@ public class TaContractTemplate implements Serializable {
54 57
      */
55 58
     private Integer status;
56 59
 
57
-
60
+    @TableField(exist = false)
61
+    private List<TaContractTemplate> taContractTemplateList;
58 62
 }

+ 25
- 0
src/main/java/com/huiju/estateagents/eContract/entity/TaContractUser.java Целия файл

@@ -1,9 +1,12 @@
1 1
 package com.huiju.estateagents.eContract.entity;
2 2
 
3 3
 import com.baomidou.mybatisplus.annotation.IdType;
4
+import com.baomidou.mybatisplus.annotation.TableField;
4 5
 import com.baomidou.mybatisplus.annotation.TableId;
5 6
 import java.time.LocalDateTime;
6 7
 import java.io.Serializable;
8
+
9
+import com.huiju.estateagents.entity.TaRaiseRecord;
7 10
 import lombok.Data;
8 11
 import lombok.EqualsAndHashCode;
9 12
 import lombok.experimental.Accessors;
@@ -39,6 +42,11 @@ public class TaContractUser implements Serializable {
39 42
      */
40 43
     private String authStatus;
41 44
 
45
+    /**
46
+     * 状态
47
+     */
48
+    private Integer status;
49
+
42 50
     /**
43 51
      * 认证失败原因
44 52
      */
@@ -62,4 +70,21 @@ public class TaContractUser implements Serializable {
62 70
     /** 小程序用户id */
63 71
     private String personId;
64 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;
65 90
 }

+ 24
- 0
src/main/java/com/huiju/estateagents/eContract/mapper/TaContractMapper.java Целия файл

@@ -4,8 +4,13 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
4 4
 import com.huiju.estateagents.bo.request.ContractRecordRequestBO;
5 5
 import com.huiju.estateagents.eContract.entity.TaContract;
6 6
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
7
+import com.huiju.estateagents.eContract.entity.TaContractBusiness;
7 8
 import org.apache.ibatis.annotations.Mapper;
8 9
 import org.apache.ibatis.annotations.Param;
10
+import org.springframework.stereotype.Component;
11
+
12
+import java.time.LocalDate;
13
+import java.util.Map;
9 14
 
10 15
 /**
11 16
  * <p>
@@ -16,8 +21,27 @@ import org.apache.ibatis.annotations.Param;
16 21
  * @since 2020-03-26
17 22
  */
18 23
 @Mapper
24
+@Component
19 25
 public interface TaContractMapper extends BaseMapper<TaContract> {
20 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
+
21 38
     IPage<TaContract> listContractForChannel(IPage<TaContract> pg,
22 39
                                              @Param("bo") ContractRecordRequestBO bo);
40
+
41
+    /**
42
+     * 获取合同信息
43
+     * @param raiseId
44
+     * @return
45
+     */
46
+    TaContractBusiness selectContractInfoByRaiseId(@Param("raiseId") String raiseId);
23 47
 }

+ 7
- 0
src/main/java/com/huiju/estateagents/eContract/service/ITaCompanyService.java Целия файл

@@ -26,4 +26,11 @@ public interface ITaCompanyService extends IService<TaCompany> {
26 26
      * @return
27 27
      */
28 28
     TaCompany updateCompanyInfo(TaCompany taCompany) throws Exception;
29
+
30
+    /**
31
+     * 向法大大获取最新的企业认证数据
32
+     * @param id
33
+     * @return
34
+     */
35
+    TaCompany updateCompanyInfoByFdd(Integer id) throws Exception;
29 36
 }

+ 32
- 0
src/main/java/com/huiju/estateagents/eContract/service/ITaContractService.java Целия файл

@@ -4,7 +4,12 @@ import com.baomidou.mybatisplus.extension.service.IService;
4 4
 import com.huiju.estateagents.base.ResponseBean;
5 5
 import com.huiju.estateagents.bo.request.ContractRecordRequestBO;
6 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;
7 11
 
12
+import java.time.LocalDate;
8 13
 import java.time.LocalDateTime;
9 14
 
10 15
 /**
@@ -17,6 +22,25 @@ import java.time.LocalDateTime;
17 22
  */
18 23
 public interface ITaContractService extends IService<TaContract> {
19 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
+
20 44
     /**
21 45
      * 条件查询合同列表
22 46
      *
@@ -24,4 +48,12 @@ public interface ITaContractService extends IService<TaContract> {
24 48
      * @return
25 49
      */
26 50
     ResponseBean listContractForChannel(ContractRecordRequestBO requestBO);
51
+
52
+    /**
53
+     * 企业自动签署合同
54
+     * @param taRaiseRecord
55
+     * @param person
56
+     * @return
57
+     */
58
+    TaContract autoContract(TaRaiseRecord taRaiseRecord, TaPerson person);
27 59
 }

+ 16
- 0
src/main/java/com/huiju/estateagents/eContract/service/ITaContractUserService.java Целия файл

@@ -2,6 +2,8 @@ package com.huiju.estateagents.eContract.service;
2 2
 
3 3
 import com.huiju.estateagents.eContract.entity.TaContractUser;
4 4
 import com.baomidou.mybatisplus.extension.service.IService;
5
+import com.huiju.estateagents.entity.TaPerson;
6
+import com.huiju.estateagents.entity.TaRaiseRecord;
5 7
 
6 8
 /**
7 9
  * <p>
@@ -13,4 +15,18 @@ import com.baomidou.mybatisplus.extension.service.IService;
13 15
  */
14 16
 public interface ITaContractUserService extends IService<TaContractUser> {
15 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;
16 32
 }

+ 56
- 2
src/main/java/com/huiju/estateagents/eContract/service/impl/TaCompanyServiceImpl.java Целия файл

@@ -3,6 +3,7 @@ package com.huiju.estateagents.eContract.service.impl;
3 3
 import com.alibaba.fastjson.JSON;
4 4
 import com.alibaba.fastjson.JSONObject;
5 5
 import com.fadada.sdk.client.FddClientBase;
6
+import com.fadada.sdk.client.authForfadada.FindCertInfo;
6 7
 import com.fadada.sdk.client.authForfadada.GetCompanyVerifyUrl;
7 8
 import com.fadada.sdk.client.authForfadada.model.AgentInfoINO;
8 9
 import com.fadada.sdk.client.authForfadada.model.BankInfoINO;
@@ -10,6 +11,7 @@ import com.fadada.sdk.client.authForfadada.model.CompanyInfoINO;
10 11
 import com.fadada.sdk.client.authForfadada.model.LegalInfoINO;
11 12
 import com.fadada.sdk.util.http.HttpsUtil;
12 13
 import com.huiju.estateagents.common.CommConstant;
14
+import com.huiju.estateagents.common.StringUtils;
13 15
 import com.huiju.estateagents.config.FadadaProperties;
14 16
 import com.huiju.estateagents.eContract.entity.TaCompany;
15 17
 import com.huiju.estateagents.eContract.mapper.TaCompanyMapper;
@@ -66,7 +68,7 @@ public class TaCompanyServiceImpl extends ServiceImpl<TaCompanyMapper, TaCompany
66 68
         taCompany.setFadadaCode(jsonObject.getString("data"));
67 69
         taCompany.setCertifiedStatus(CommConstant.CERTIFIED_STATUS_REGISTERED);
68 70
         taCompany.setCreateDate(LocalDateTime.now());
69
-        taCompany.setStatus(CommConstant.STATUS_NORMAL);
71
+        taCompany.setStatus(CommConstant.STATUS_UNACCALIMED);
70 72
         taCompanyMapper.insert(taCompany);
71 73
         return taCompany;
72 74
     }
@@ -107,7 +109,6 @@ public class TaCompanyServiceImpl extends ServiceImpl<TaCompanyMapper, TaCompany
107 109
         String certFlag = "1";
108 110
 
109 111
         String notify_url = "http://www.baidu.com";//必填
110
-//        String return_url = "http://www.baidu.com";//可填
111 112
         String result = comverify.invokeCompanyVerifyUrl(new CompanyInfoINO(), new BankInfoINO(),new LegalInfoINO()
112 113
                 ,new AgentInfoINO(), customer_id,verifyed_way,m_verified_way,page_modify,
113 114
                 companyPrincipalType,null,notify_url,resultType,certFlag);
@@ -128,6 +129,59 @@ public class TaCompanyServiceImpl extends ServiceImpl<TaCompanyMapper, TaCompany
128 129
         return taCompany;
129 130
     }
130 131
 
132
+    /**
133
+     * 向法大大获取最新的企业认证数据
134
+     *
135
+     * @param id
136
+     * @return
137
+     */
138
+    @Override
139
+    public TaCompany updateCompanyInfoByFdd(Integer id) throws Exception {
140
+        TaCompany taCompany = taCompanyMapper.selectById(id);
141
+        log.info("企业正在从法大大获取最新数据,企业编号是 {}", taCompany.getFadadaCode());
142
+        FindCertInfo personCertInfo = new FindCertInfo(fadadaProperties.getAppId(),fadadaProperties.getAppSecret(),fadadaProperties.getVersion(),fadadaProperties.getServeHost());
143
+        String verified_serialno = taCompany.getCertifiedSerialNumber();
144
+        String result = personCertInfo.invokeFindPersonCert(verified_serialno, CommConstant.ACCOUNT_TYPE_COMPANY);
145
+        log.info("企业最新数据结果 {}",result);
146
+        JSONObject jsonObject = JSONObject.parseObject(result);
147
+        if (jsonObject.getInteger("code") != 1){
148
+            throw new Exception(jsonObject.getString("msg"));
149
+        }
150
+        //更新数据
151
+        String data = jsonObject.getString("data");
152
+        if (null !=data){
153
+            JSONObject dataJson = JSONObject.parseObject(data);
154
+            //账户信息
155
+            JSONObject companyJson = dataJson.getJSONObject("company");
156
+            if (null != companyJson){
157
+                taCompany.setCompanyName(companyJson.getString("companyName"));
158
+                taCompany.setCertifiedType(companyJson.getInteger("verifyType"));
159
+                taCompany.setCreditCode(companyJson.getString("organization"));
160
+                taCompany.setStatus(companyJson.getInteger("status"));
161
+                taCompany.setReason(companyJson.getString("auditFailReason"));
162
+                taCompany.setVerifyTime(StringUtils.isEmpty(companyJson.getString("auditorTime")) ? null : LocalDateTime.parse(companyJson.getString("auditorTime")));
163
+            }
164
+
165
+            //银行卡信息
166
+            JSONObject bankJson = dataJson.getJSONObject("company");
167
+            if (null != bankJson){
168
+                taCompany.setBankName(bankJson.getString("BankName"));
169
+                taCompany.setSubbranchName(bankJson.getString("bankDetailName"));
170
+                taCompany.setBankAccount(bankJson.getString("bankCardNo"));
171
+            }
172
+
173
+            //企业法人、代理人信息
174
+            JSONObject managerJson = dataJson.getJSONObject("manager");
175
+            if (null != managerJson){
176
+                taCompany.setUserName(managerJson.getString("personName"));
177
+                taCompany.setTel(managerJson.getString("mobile"));
178
+                taCompany.setIdCard(managerJson.getString("idCard"));
179
+            }
180
+        }
181
+        taCompanyMapper.updateById(taCompany);
182
+        return taCompany;
183
+    }
184
+
131 185
     /**
132 186
      * url解码
133 187
      * @param bizContent

+ 64
- 0
src/main/java/com/huiju/estateagents/eContract/service/impl/TaContractServiceImpl.java Целия файл

@@ -3,15 +3,27 @@ package com.huiju.estateagents.eContract.service.impl;
3 3
 import com.alibaba.fastjson.JSONObject;
4 4
 import com.baomidou.mybatisplus.core.metadata.IPage;
5 5
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6
+import com.fadada.sdk.client.FddClientBase;
6 7
 import com.huiju.estateagents.base.ResponseBean;
7 8
 import com.huiju.estateagents.bo.request.ContractRecordRequestBO;
9
+import com.huiju.estateagents.config.FadadaProperties;
8 10
 import com.huiju.estateagents.eContract.entity.TaContract;
11
+import com.huiju.estateagents.eContract.entity.TaContractBusiness;
9 12
 import com.huiju.estateagents.eContract.mapper.TaContractMapper;
10 13
 import com.huiju.estateagents.eContract.service.ITaContractService;
11 14
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
15
+import com.huiju.estateagents.entity.TaPerson;
16
+import com.huiju.estateagents.entity.TaRaiseRecord;
17
+import com.huiju.estateagents.mapper.TaOrgMapper;
18
+import com.huiju.estateagents.mapper.TaRaiseRecordMapper;
12 19
 import lombok.extern.slf4j.Slf4j;
13 20
 import org.springframework.beans.factory.annotation.Autowired;
14 21
 import org.springframework.stereotype.Service;
22
+import org.springframework.transaction.annotation.Transactional;
23
+
24
+import java.time.LocalDate;
25
+import java.time.LocalDateTime;
26
+import java.util.Map;
15 27
 
16 28
 /**
17 29
  * <p>
@@ -25,9 +37,28 @@ import org.springframework.stereotype.Service;
25 37
 @Slf4j
26 38
 public class TaContractServiceImpl extends ServiceImpl<TaContractMapper, TaContract> implements ITaContractService {
27 39
 
40
+    @Autowired
41
+    private FadadaProperties fadadaProperties;
42
+
28 43
     @Autowired
29 44
     private TaContractMapper taContractMapper;
30 45
 
46
+    @Autowired
47
+    private TaRaiseRecordMapper taRaiseRecordMapper;
48
+
49
+    @Autowired
50
+    private TaOrgMapper taOrgMapper;
51
+
52
+    @Override
53
+    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) {
54
+
55
+        ResponseBean responseBean = new ResponseBean();
56
+        IPage<TaContract> pg = new Page<>(pageNum, pageSize);
57
+        pg = taContractMapper.listContractForAdmin(pg, contractName, archives, signatoryName, signatoryStatus, customerName, customerStatus, archivesStartDate, archivesEndDate, orgId);
58
+        responseBean.addSuccess(pg);
59
+        return responseBean;
60
+    }
61
+
31 62
     @Override
32 63
     public ResponseBean listContractForChannel(ContractRecordRequestBO requestBO) {
33 64
         log.info("TaContractServiceImpl.listContractForChannel 接收参数:{}", JSONObject.toJSONString(requestBO));
@@ -39,4 +70,37 @@ public class TaContractServiceImpl extends ServiceImpl<TaContractMapper, TaContr
39 70
         responseBean.addSuccess(pg);
40 71
         return responseBean;
41 72
     }
73
+
74
+    /**
75
+     * 企业自动签署合同
76
+     *
77
+     * @param taRaiseRecord
78
+     * @param person
79
+     * @return
80
+     */
81
+    @Override
82
+    @Transactional
83
+    public TaContract autoContract(TaRaiseRecord taRaiseRecord, TaPerson person) {
84
+        taRaiseRecord = taRaiseRecordMapper.selectById(taRaiseRecord.getRaiseRecordId());
85
+
86
+        //根据raiseId获取合同的所有参数
87
+        TaContractBusiness taContractBusiness = taContractMapper.selectContractInfoByRaiseId(taRaiseRecord.getRaiseId());
88
+
89
+        //先入合同表
90
+        TaContract taContract = new TaContract();
91
+        taContract.setBuildingId(taRaiseRecord.getBuildingId());
92
+        taContract.setOrgId(taRaiseRecord.getOrgId());
93
+        taContract.setOrgName(taOrgMapper.selectById(taRaiseRecord.getOrgId()).getName());
94
+        taContract.setTargetType("raise");
95
+        taContract.setTargetId(Integer.valueOf(taRaiseRecord.getRaiseId()));
96
+        taContract.setInvoiceTargetType("raise_record");
97
+        taContract.setInvoiceTargetId(taRaiseRecord.getRaiseRecordId());
98
+        taContract.setCompanyId(taContractBusiness.getCompanyId());
99
+        taContract.setCreateDate(LocalDateTime.now());
100
+        taContractMapper.insert(taContract);
101
+
102
+        FddClientBase base = new FddClientBase(fadadaProperties.getAppId(),fadadaProperties.getAppSecret(),fadadaProperties.getVersion(),fadadaProperties.getServeHost());
103
+        String result = base.invokeUploadDocs(taContract.getContractId().toString(), taContractBusiness.getContractTemplateName(), null, taContractBusiness.getContractTemplateAddress(), ".pdf");
104
+        return null;
105
+    }
42 106
 }

+ 132
- 0
src/main/java/com/huiju/estateagents/eContract/service/impl/TaContractUserServiceImpl.java Целия файл

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

+ 6
- 0
src/main/java/com/huiju/estateagents/entity/TaOrg.java Целия файл

@@ -75,4 +75,10 @@ public class TaOrg implements Serializable {
75 75
      */
76 76
     @TableField(exist = false)
77 77
     private String miniAppName;
78
+
79
+    /**
80
+     * 代理商名称
81
+     */
82
+    @TableField(exist = false)
83
+    private String channelProxyName;
78 84
 }

+ 12
- 0
src/main/java/com/huiju/estateagents/entity/TaRaise.java Целия файл

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

+ 60
- 0
src/main/java/com/huiju/estateagents/entity/TaRaiseInvite.java Целия файл

@@ -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
+}

+ 18
- 0
src/main/java/com/huiju/estateagents/mapper/TaRaiseInviteMapper.java Целия файл

@@ -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
+}

+ 16
- 0
src/main/java/com/huiju/estateagents/service/ITaRaiseInviteService.java Целия файл

@@ -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
+}

+ 20
- 0
src/main/java/com/huiju/estateagents/service/impl/TaRaiseInviteServiceImpl.java Целия файл

@@ -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
+}

+ 6
- 3
src/main/resources/mapper/TaOrgMapper.xml Целия файл

@@ -5,16 +5,19 @@
5 5
     <select id="listOrgForContract" resultType="com.huiju.estateagents.entity.TaOrg">
6 6
         SELECT
7 7
             *,
8
-            t2.`name` miniAppName
8
+            t2.`name` miniAppName,
9
+            t4.channel_proxy_name
9 10
         FROM
10 11
             ta_org t
11 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
12 15
         <where>
13 16
             <if test = "orgName != null and orgName != ''">
14
-                t.`name` = #{orgName}
17
+                t.`name` like concat('%',#{orgName},'%')
15 18
             </if>
16 19
             <if test = "miniAppName != null and miniAppName != ''">
17
-                AND t2.`name` = #{miniAppName}
20
+                AND t2.`name` like concat('%',#{miniAppName},'%')
18 21
             </if>
19 22
         </where>
20 23
         ORDER BY

+ 5
- 0
src/main/resources/mapper/TaRaiseInviteMapper.xml Целия файл

@@ -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>

+ 0
- 1
src/main/resources/mapper/eContract/TaCompanyOrgMapper.xml Целия файл

@@ -6,7 +6,6 @@
6 6
         SELECT
7 7
             t.*,
8 8
             t2.company_name,
9
-            t2.company_id,
10 9
             t2.certified_status,
11 10
             t3.`name` orgName,
12 11
             t4.`name` miniAppName

+ 68
- 6
src/main/resources/mapper/eContract/TaContractMapper.xml Целия файл

@@ -2,11 +2,58 @@
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.eContract.mapper.TaContractMapper">
4 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 = NULL
33
+                </when>
34
+                <when test="signatoryStatus == 1">
35
+                    AND t.signatory_time &lt;&gt; NULL
36
+                </when>
37
+                <otherwise></otherwise>
38
+            </choose>
39
+            <choose>
40
+                <when test="signatoryStatus == 0">
41
+                    AND t.customer_time = NULL
42
+                </when>
43
+                <when test="signatoryStatus == 1">
44
+                    AND t.customer_time &lt;&gt; NULL
45
+                </when>
46
+                <otherwise></otherwise>
47
+            </choose>
48
+        ORDER BY
49
+        t.signatory_time DESC
50
+    </select>
51
+
5 52
     <select id="listContractForChannel" resultType="com.huiju.estateagents.eContract.entity.TaContract">
6 53
         SELECT
7 54
             t.*,
8 55
             t2.company_name,
9
-            t2.company_number,
56
+            t2.company_code,
10 57
             t3.`name` orgName,
11 58
             t4.`name` miniAppName,
12 59
             t6.channel_proxy_name
@@ -42,20 +89,35 @@
42 89
             <if test=" bo.channelProxyName != null and bo.channelProxyName != ''">
43 90
                 AND t6.channel_proxy_name like CONCAT('%',#{bo.channelProxyName} , '%')
44 91
             </if>
45
-            <if test=" bo.signatoryStartTime != null and bo.signatoryStartTime != ''">
92
+            <if test=" bo.signatoryStartTime != null">
46 93
                 AND t.signatory_time &gt;= #{bo.signatoryStartTime}
47 94
             </if>
48
-            <if test=" bo.signatoryEndTime != null and bo.signatoryEndTime != ''">
95
+            <if test=" bo.signatoryEndTime != null ">
49 96
                 AND t.signatory_time &lt;= #{bo.signatoryEndTime}
50 97
             </if>
51
-            <if test=" bo.settlementStartTime != null and bo.settlementStartTime != ''">
98
+            <if test=" bo.settlementStartTime != null">
52 99
                 AND t.settlement_time &gt;= #{bo.settlementStartTime}
53 100
             </if>
54
-            <if test=" bo.settlementEndTime != null and bo.settlementEndTime != ''">
55
-                AND t.settlement_time &lt;= #{bosettlementEndTime.}
101
+            <if test=" bo.settlementEndTime != null">
102
+                AND t.settlement_time &lt;= #{bo.settlementEndTime.}
56 103
             </if>
57 104
         </where>
58 105
         ORDER BY
59 106
             t.signatory_time DESC
60 107
     </select>
108
+
109
+    <select id="selectContractInfoByRaiseId" resultType="com.huiju.estateagents.eContract.entity.TaContractBusiness">
110
+        SELECT
111
+            t.*,
112
+            c.contract_template_address,
113
+            s.signatrue_id
114
+        FROM
115
+            ta_contract_business t
116
+        LEFT JOIN ta_contract_template c ON t.contract_template_id = c.contract_template_id
117
+        LEFT JOIN ta_company_seal s ON t.seal_id = s.seal_id
118
+        WHERE
119
+        t.target_type = "raise"
120
+        AND t.target_id = #{raiseId}
121
+        AND t.`status` = 1
122
+    </select>
61 123
 </mapper>