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

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

# Conflicts:
#	src/main/java/com/huiju/estateagents/eContract/entity/TaContractBusiness.java
魏超 5 лет назад
Родитель
Сommit
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
 package com.huiju.estateagents.bo.request;
1
 package com.huiju.estateagents.bo.request;
2
 
2
 
3
 import lombok.Data;
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
     /**
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
 import com.huiju.estateagents.base.BaseController;
7
 import com.huiju.estateagents.base.BaseController;
8
 import com.huiju.estateagents.base.ResponseBean;
8
 import com.huiju.estateagents.base.ResponseBean;
9
 import com.huiju.estateagents.common.CommConstant;
9
 import com.huiju.estateagents.common.CommConstant;
10
+import com.huiju.estateagents.common.StringUtils;
10
 import com.huiju.estateagents.entity.TaPersonBuilding;
11
 import com.huiju.estateagents.entity.TaPersonBuilding;
11
 import com.huiju.estateagents.entity.TaRaise;
12
 import com.huiju.estateagents.entity.TaRaise;
13
+import com.huiju.estateagents.entity.TaRaiseInvite;
12
 import com.huiju.estateagents.entity.TaSalesBatch;
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
 import io.swagger.models.auth.In;
17
 import io.swagger.models.auth.In;
18
 import org.slf4j.Logger;
18
 import org.slf4j.Logger;
19
 import org.slf4j.LoggerFactory;
19
 import org.slf4j.LoggerFactory;
21
 import org.springframework.web.bind.annotation.*;
21
 import org.springframework.web.bind.annotation.*;
22
 
22
 
23
 import javax.servlet.http.HttpServletRequest;
23
 import javax.servlet.http.HttpServletRequest;
24
+import java.lang.reflect.Array;
24
 import java.time.LocalDateTime;
25
 import java.time.LocalDateTime;
26
+import java.util.ArrayList;
25
 import java.util.List;
27
 import java.util.List;
26
 
28
 
27
 /**
29
 /**
47
     @Autowired
49
     @Autowired
48
     public ITaSalesBatchService iTaSalesBatchService;
50
     public ITaSalesBatchService iTaSalesBatchService;
49
 
51
 
52
+    @Autowired
53
+    private TaRaiseInviteServiceImpl iTaRaiseInviteService;
54
+
50
     /**
55
     /**
51
      * 获取认筹列表
56
      * 获取认筹列表
52
      *
57
      *
136
                 return responseBean;
141
                 return responseBean;
137
             }
142
             }
138
 
143
 
139
-            //获取销售批次状态
144
+            // 获取销售批次状态
140
             TaSalesBatch taSalesBatch = new TaSalesBatch();
145
             TaSalesBatch taSalesBatch = new TaSalesBatch();
141
-            if (taRaise.getSalesBatchId() != null){
146
+            if (taRaise.getSalesBatchId() != null) {
142
                 QueryWrapper<TaSalesBatch> taSalesBatchQueryWrapper = new QueryWrapper<>();
147
                 QueryWrapper<TaSalesBatch> taSalesBatchQueryWrapper = new QueryWrapper<>();
143
                 taSalesBatchQueryWrapper.eq("sales_batch_id", taRaise.getSalesBatchId());
148
                 taSalesBatchQueryWrapper.eq("sales_batch_id", taRaise.getSalesBatchId());
144
                 taSalesBatch = iTaSalesBatchService.getOne(taSalesBatchQueryWrapper);
149
                 taSalesBatch = iTaSalesBatchService.getOne(taSalesBatchQueryWrapper);
145
-
146
             }
150
             }
147
 
151
 
148
             taRaise.setOrgId(orgId);
152
             taRaise.setOrgId(orgId);
149
-            taRaise.setRaisePrice(taRaise.getRaisePrice() != null ? taRaise.getRaisePrice() : null );
153
+            taRaise.setRaisePrice(taRaise.getRaisePrice() != null ? taRaise.getRaisePrice() : null);
150
             taRaise.setStatus(taSalesBatch.getStatus());
154
             taRaise.setStatus(taSalesBatch.getStatus());
151
             taRaise.setCreateDate(LocalDateTime.now());
155
             taRaise.setCreateDate(LocalDateTime.now());
152
             if (iTaRaiseService.save(taRaise)) {
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
                 responseBean.addSuccess(taRaise);
176
                 responseBean.addSuccess(taRaise);
154
             } else {
177
             } else {
155
                 responseBean.addError("fail");
178
                 responseBean.addError("fail");

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

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
      * @param raiseRecord
163
      * @param raiseRecord
164
      * @return
164
      * @return
165
      */
165
      */
166
-    @RequestMapping(value = "/admin/raise/checkBeforeInvalidRecord", method = RequestMethod.GET)
166
+    @RequestMapping(value = "/admin/raise/checkBeforeInvalidRecord", method = RequestMethod.POST)
167
     public ResponseBean checkBeforeInvalidRecord(@RequestBody TaRaiseRecord raiseRecord) {
167
     public ResponseBean checkBeforeInvalidRecord(@RequestBody TaRaiseRecord raiseRecord) {
168
         ResponseBean responseBean = new ResponseBean();
168
         ResponseBean responseBean = new ResponseBean();
169
         try {
169
         try {
302
      * @param request
302
      * @param request
303
      * @return
303
      * @return
304
      */
304
      */
305
-    @RequestMapping(value = "/admin/raise/checkBeforePayOfflineRecord", method = RequestMethod.GET)
305
+    @RequestMapping(value = "/admin/raise/checkBeforePayOfflineRecord", method = RequestMethod.POST)
306
     public ResponseBean checkBeforePayOfflineRecord(@RequestBody TaRaiseRecord raiseRecord, HttpServletRequest request) {
306
     public ResponseBean checkBeforePayOfflineRecord(@RequestBody TaRaiseRecord raiseRecord, HttpServletRequest request) {
307
         ResponseBean responseBean = new ResponseBean();
307
         ResponseBean responseBean = new ResponseBean();
308
         try {
308
         try {
419
      * @param raiseRecord
419
      * @param raiseRecord
420
      * @return
420
      * @return
421
      */
421
      */
422
-    @RequestMapping(value = "/admin/raise/checkBeforeRefundOfflineRecord", method = RequestMethod.GET)
422
+    @RequestMapping(value = "/admin/raise/checkBeforeRefundOfflineRecord", method = RequestMethod.POST)
423
     public ResponseBean checkBeforeRefundOfflineRecord(@RequestBody TaRaiseRecord raiseRecord) {
423
     public ResponseBean checkBeforeRefundOfflineRecord(@RequestBody TaRaiseRecord raiseRecord) {
424
         ResponseBean responseBean = new ResponseBean();
424
         ResponseBean responseBean = new ResponseBean();
425
         try {
425
         try {

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

1
 package com.huiju.estateagents.eContract.controller;
1
 package com.huiju.estateagents.eContract.controller;
2
 
2
 
3
+import com.alibaba.fastjson.JSONArray;
3
 import com.alibaba.fastjson.JSONObject;
4
 import com.alibaba.fastjson.JSONObject;
4
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
5
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
5
 import com.baomidou.mybatisplus.core.metadata.IPage;
6
 import com.baomidou.mybatisplus.core.metadata.IPage;
10
 import com.huiju.estateagents.eContract.entity.TaCompanySeal;
11
 import com.huiju.estateagents.eContract.entity.TaCompanySeal;
11
 import com.huiju.estateagents.eContract.service.ITaCompanySealService;
12
 import com.huiju.estateagents.eContract.service.ITaCompanySealService;
12
 import com.huiju.estateagents.config.FadadaProperties;
13
 import com.huiju.estateagents.config.FadadaProperties;
14
+import com.huiju.estateagents.sample.entity.TaH5Demand;
13
 import org.apache.commons.lang3.StringUtils;
15
 import org.apache.commons.lang3.StringUtils;
14
 import org.slf4j.Logger;
16
 import org.slf4j.Logger;
15
 import org.slf4j.LoggerFactory;
17
 import org.slf4j.LoggerFactory;
25
 import org.springframework.web.bind.annotation.RestController;
27
 import org.springframework.web.bind.annotation.RestController;
26
 
28
 
27
 import javax.servlet.http.HttpServletRequest;
29
 import javax.servlet.http.HttpServletRequest;
30
+import java.util.HashMap;
28
 import java.util.List;
31
 import java.util.List;
32
+import java.util.Map;
29
 
33
 
30
 /**
34
 /**
31
  * <p>
35
  * <p>
60
      * @param certifiedStatus
64
      * @param certifiedStatus
61
      * @return
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
                                    @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
69
                                    @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
66
                                    String companyName, String companyCode, String certifiedStatus) {
70
                                    String companyName, String companyCode, String certifiedStatus) {
67
         ResponseBean responseBean = new ResponseBean();
71
         ResponseBean responseBean = new ResponseBean();
78
             IPage<TaCompany> result = iTaCompanyService.page(pg, queryWrapper);
82
             IPage<TaCompany> result = iTaCompanyService.page(pg, queryWrapper);
79
             responseBean.addSuccess(result);
83
             responseBean.addSuccess(result);
80
         } catch (Exception e) {
84
         } catch (Exception e) {
81
-            e.printStackTrace();
82
-            logger.error("taCompanyList -=- {}", e.toString());
85
+            logger.error("listCompany -=- {}", e);
83
             responseBean.addError(e.getMessage());
86
             responseBean.addError(e.getMessage());
84
         }
87
         }
85
         return responseBean;
88
         return responseBean;
262
      * @param pageSize
265
      * @param pageSize
263
      * @param companyName
266
      * @param companyName
264
      * @param companyCode
267
      * @param companyCode
265
-     * @param certifiedStatus
268
+     * @param status
266
      * @return
269
      * @return
267
      */
270
      */
268
     @RequestMapping(value = "/channel/company/list", method = RequestMethod.GET)
271
     @RequestMapping(value = "/channel/company/list", method = RequestMethod.GET)
270
                                        @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
273
                                        @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
271
                                        @RequestParam(value = "companyName", required = false) String companyName,
274
                                        @RequestParam(value = "companyName", required = false) String companyName,
272
                                        @RequestParam(value = "companyCode", required = false) String companyCode,
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
         ResponseBean responseBean = new ResponseBean();
277
         ResponseBean responseBean = new ResponseBean();
275
         try {
278
         try {
276
             //使用分页插件
279
             //使用分页插件
278
             QueryWrapper<TaCompany> queryWrapper = new QueryWrapper<>();
281
             QueryWrapper<TaCompany> queryWrapper = new QueryWrapper<>();
279
             queryWrapper.like(StringUtils.isNotBlank(companyName), "company_name", companyName);
282
             queryWrapper.like(StringUtils.isNotBlank(companyName), "company_name", companyName);
280
             queryWrapper.like(StringUtils.isNotBlank(companyCode), "company_code", companyCode);
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
             queryWrapper.orderByDesc("create_date");
286
             queryWrapper.orderByDesc("create_date");
284
 
287
 
285
             IPage<TaCompany> result = iTaCompanyService.page(pg, queryWrapper);
288
             IPage<TaCompany> result = iTaCompanyService.page(pg, queryWrapper);
346
         }
349
         }
347
         return responseBean;
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
 package com.huiju.estateagents.eContract.controller;
1
 package com.huiju.estateagents.eContract.controller;
2
 
2
 
3
 import com.alibaba.fastjson.JSONObject;
3
 import com.alibaba.fastjson.JSONObject;
4
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
5
 import com.huiju.estateagents.base.BaseController;
4
 import com.huiju.estateagents.base.BaseController;
6
 import com.huiju.estateagents.base.ResponseBean;
5
 import com.huiju.estateagents.base.ResponseBean;
7
 import com.huiju.estateagents.bo.request.ContractRecordRequestBO;
6
 import com.huiju.estateagents.bo.request.ContractRecordRequestBO;
8
 import com.huiju.estateagents.common.CommonUtils;
7
 import com.huiju.estateagents.common.CommonUtils;
9
 import com.huiju.estateagents.eContract.entity.TaContract;
8
 import com.huiju.estateagents.eContract.entity.TaContract;
9
+import com.huiju.estateagents.eContract.entity.TaContractUser;
10
 import com.huiju.estateagents.eContract.service.ITaContractService;
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
 import org.slf4j.Logger;
19
 import org.slf4j.Logger;
12
 import org.slf4j.LoggerFactory;
20
 import org.slf4j.LoggerFactory;
13
 import org.springframework.beans.factory.annotation.Autowired;
21
 import org.springframework.beans.factory.annotation.Autowired;
22
+import org.springframework.format.annotation.DateTimeFormat;
14
 import org.springframework.web.bind.annotation.*;
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
  * <p>
32
  * <p>
18
  * 合同列表  前端控制器
33
  * 合同列表  前端控制器
28
     private final Logger logger = LoggerFactory.getLogger(TaContractController.class);
43
     private final Logger logger = LoggerFactory.getLogger(TaContractController.class);
29
 
44
 
30
     @Autowired
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
      * @return
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
         ResponseBean responseBean = new ResponseBean();
82
         ResponseBean responseBean = new ResponseBean();
43
         try {
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
         } catch (Exception e) {
86
         } catch (Exception e) {
47
-            logger.error("TaContractController.listContractForChannel 异常:", e);
87
+            logger.error("TaContractController.listContractForAdmin 异常:", e);
48
             responseBean.addError(e.getMessage());
88
             responseBean.addError(e.getMessage());
49
         }
89
         }
50
         return responseBean;
90
         return responseBean;
51
     }
91
     }
52
 
92
 
93
+
53
     /**
94
     /**
54
-     * 批量结算前校验
95
+     * 条件查询合同列表 -- channel端
55
      *
96
      *
97
+     * @param requestBO
56
      * @return
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
         ResponseBean responseBean = new ResponseBean();
102
         ResponseBean responseBean = new ResponseBean();
61
-        Integer fitNum = 0;
62
-        Integer notFitNum = 0;
63
-        Integer totalNum = taContract.getTaContractList().size();
64
         try {
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
         } catch (Exception e) {
106
         } catch (Exception e) {
80
-            logger.error("TaContractController.checkBeforeBatchUpdatePrice 异常:", e);
107
+            logger.error("TaContractController.listContractForChannel 异常:", e);
81
             responseBean.addError(e.getMessage());
108
             responseBean.addError(e.getMessage());
82
         }
109
         }
83
         return responseBean;
110
         return responseBean;
93
         ResponseBean responseBean = new ResponseBean();
120
         ResponseBean responseBean = new ResponseBean();
94
         try {
121
         try {
95
             // 校验参数
122
             // 校验参数
96
-            if (taContract.getSettlementPrice() == null) {
123
+            if (taContract.getPrice() == null) {
97
                 responseBean.addError("请填写结算金额");
124
                 responseBean.addError("请填写结算金额");
98
                 return responseBean;
125
                 return responseBean;
99
             }
126
             }
100
 
127
 
101
             // 校验金额是否符合要求
128
             // 校验金额是否符合要求
102
-            if (!CommonUtils.isAmount(taContract.getSettlementPrice() + "")) {
129
+            if (!CommonUtils.isAmount(taContract.getPrice() + "")) {
103
                 responseBean.addError("结算金额不符合要求");
130
                 responseBean.addError("结算金额不符合要求");
104
                 return responseBean;
131
                 return responseBean;
105
             }
132
             }
106
 
133
 
107
             // 元转分
134
             // 元转分
108
-            Integer price = taContract.getSettlementPrice() * 100;
135
+            Double price = taContract.getPrice() * 100;
109
             taContract.getTaContractList().stream().forEach(record -> {
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
             responseBean.addSuccess(iTaContractService.updateBatchById(taContract.getTaContractList()));
141
             responseBean.addSuccess(iTaContractService.updateBatchById(taContract.getTaContractList()));
113
 
142
 
171
      * @param taContract 实体对象
200
      * @param taContract 实体对象
172
      * @return
201
      * @return
173
      */
202
      */
174
-    @RequestMapping(value = "/taContract/{id}", method = RequestMethod.PUT)
203
+    @RequestMapping(value = "/admin/contract/{id}", method = RequestMethod.PUT)
175
     public ResponseBean taContractUpdate(@PathVariable Integer id,
204
     public ResponseBean taContractUpdate(@PathVariable Integer id,
176
                                          @RequestBody TaContract taContract) {
205
                                          @RequestBody TaContract taContract) {
177
         ResponseBean responseBean = new ResponseBean();
206
         ResponseBean responseBean = new ResponseBean();
178
         try {
207
         try {
208
+            if (taContract.getArchives() != null && taContract.getArchives()) {
209
+                taContract.setArchivesTime(LocalDateTime.now());
210
+            }
179
             if (iTaContractService.updateById(taContract)) {
211
             if (iTaContractService.updateById(taContract)) {
180
                 responseBean.addSuccess(taContract);
212
                 responseBean.addSuccess(taContract);
181
             } else {
213
             } else {
194
      *
226
      *
195
      * @param id 实体ID
227
      * @param id 实体ID
196
      */
228
      */
197
-    @RequestMapping(value = "/taContract/{id}", method = RequestMethod.GET)
229
+    @RequestMapping(value = "/admin/contract/{id}", method = RequestMethod.GET)
198
     public ResponseBean taContractGet(@PathVariable Integer id) {
230
     public ResponseBean taContractGet(@PathVariable Integer id) {
199
         ResponseBean responseBean = new ResponseBean();
231
         ResponseBean responseBean = new ResponseBean();
200
         try {
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
         } catch (Exception e) {
244
         } catch (Exception e) {
203
             e.printStackTrace();
245
             e.printStackTrace();
204
             logger.error("taContractDelete -=- {}", e.toString());
246
             logger.error("taContractDelete -=- {}", e.toString());
206
         }
248
         }
207
         return responseBean;
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
 import com.huiju.estateagents.base.BaseController;
6
 import com.huiju.estateagents.base.BaseController;
7
 import com.huiju.estateagents.base.ResponseBean;
7
 import com.huiju.estateagents.base.ResponseBean;
8
 import com.huiju.estateagents.common.CommConstant;
8
 import com.huiju.estateagents.common.CommConstant;
9
-import com.huiju.estateagents.common.StringUtils;
9
+import com.huiju.estateagents.common.CommConstant;
10
 import com.huiju.estateagents.eContract.entity.TaContractTemplate;
10
 import com.huiju.estateagents.eContract.entity.TaContractTemplate;
11
 import com.huiju.estateagents.eContract.service.ITaContractTemplateService;
11
 import com.huiju.estateagents.eContract.service.ITaContractTemplateService;
12
+import org.apache.commons.lang3.StringUtils;
12
 import org.slf4j.Logger;
13
 import org.slf4j.Logger;
13
 import org.slf4j.LoggerFactory;
14
 import org.slf4j.LoggerFactory;
14
 import org.springframework.beans.factory.annotation.Autowired;
15
 import org.springframework.beans.factory.annotation.Autowired;
16
 
17
 
17
 import javax.servlet.http.HttpServletRequest;
18
 import javax.servlet.http.HttpServletRequest;
18
 
19
 
20
+import java.time.LocalDateTime;
21
+import java.util.List;
22
+
19
 /**
23
 /**
20
  * <p>
24
  * <p>
21
     * 合同模板  前端控制器
25
     * 合同模板  前端控制器
36
 
40
 
37
     /**
41
     /**
38
      * 分页查询列表
42
      * 分页查询列表
43
+     *
39
      * @param pageNum
44
      * @param pageNum
40
      * @param pageSize
45
      * @param pageSize
41
      * @return
46
      * @return
67
 
72
 
68
     /**
73
     /**
69
      * 保存对象
74
      * 保存对象
75
+     *
70
      * @param taContractTemplate 实体对象
76
      * @param taContractTemplate 实体对象
71
      * @return
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
         ResponseBean responseBean = new ResponseBean();
81
         ResponseBean responseBean = new ResponseBean();
76
         try {
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
                 responseBean.addSuccess(taContractTemplate);
87
                 responseBean.addSuccess(taContractTemplate);
79
-            }else {
88
+            } else {
80
                 responseBean.addError("fail");
89
                 responseBean.addError("fail");
81
             }
90
             }
82
-        }catch (Exception e){
91
+        } catch (Exception e) {
83
             e.printStackTrace();
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
             responseBean.addError(e.getMessage());
115
             responseBean.addError(e.getMessage());
86
         }
116
         }
87
         return responseBean;
117
         return responseBean;

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

5
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
5
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6
 import com.huiju.estateagents.base.BaseController;
6
 import com.huiju.estateagents.base.BaseController;
7
 import com.huiju.estateagents.base.ResponseBean;
7
 import com.huiju.estateagents.base.ResponseBean;
8
+import com.huiju.estateagents.eContract.entity.TaCompany;
8
 import com.huiju.estateagents.eContract.entity.TaContractUser;
9
 import com.huiju.estateagents.eContract.entity.TaContractUser;
9
 import com.huiju.estateagents.eContract.service.ITaContractUserService;
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
 import org.slf4j.Logger;
14
 import org.slf4j.Logger;
11
 import org.slf4j.LoggerFactory;
15
 import org.slf4j.LoggerFactory;
12
 import org.springframework.beans.factory.annotation.Autowired;
16
 import org.springframework.beans.factory.annotation.Autowired;
13
 import org.springframework.web.bind.annotation.*;
17
 import org.springframework.web.bind.annotation.*;
14
 
18
 
19
+import javax.servlet.http.HttpServletRequest;
20
+import java.util.List;
21
+
15
 /**
22
 /**
16
  * <p>
23
  * <p>
17
     * 电子合同注册用户表  前端控制器
24
     * 电子合同注册用户表  前端控制器
30
     public ITaContractUserService iTaContractUserService;
37
     public ITaContractUserService iTaContractUserService;
31
 
38
 
32
 
39
 
40
+    @Autowired
41
+    public ITaPersonService taPersonService;
42
+
33
     /**
43
     /**
34
      * 分页查询列表
44
      * 分页查询列表
35
      * @param pageNum
45
      * @param pageNum
140
         }
150
         }
141
         return responseBean;
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
     /**
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
 import lombok.Data;
7
 import lombok.Data;
8
 import lombok.EqualsAndHashCode;
8
 import lombok.EqualsAndHashCode;
9
 import lombok.experimental.Accessors;
9
 import lombok.experimental.Accessors;
10
+import org.springframework.beans.factory.annotation.Autowired;
10
 
11
 
11
 /**
12
 /**
12
  * <p>
13
  * <p>
54
      */
55
      */
55
     private Integer status;
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
 import com.baomidou.mybatisplus.annotation.IdType;
3
 import com.baomidou.mybatisplus.annotation.IdType;
4
 import com.baomidou.mybatisplus.annotation.TableField;
4
 import com.baomidou.mybatisplus.annotation.TableField;
5
 import com.baomidou.mybatisplus.annotation.TableId;
5
 import com.baomidou.mybatisplus.annotation.TableId;
6
+
6
 import java.time.LocalDateTime;
7
 import java.time.LocalDateTime;
7
 import java.io.Serializable;
8
 import java.io.Serializable;
8
 import java.util.List;
9
 import java.util.List;
13
 
14
 
14
 /**
15
 /**
15
  * <p>
16
  * <p>
16
- * 合同列表 
17
+ * 合同列表
17
  * </p>
18
  * </p>
18
  *
19
  *
19
  * @author fxf
20
  * @author fxf
35
     /**
36
     /**
36
      * 企业id
37
      * 企业id
37
      */
38
      */
38
-    private String companyId;
39
+    private Integer companyId;
39
 
40
 
40
     /**
41
     /**
41
      * 公司id
42
      * 公司id
42
      */
43
      */
43
     private Integer orgId;
44
     private Integer orgId;
44
-    /** 楼盘id */
45
+    /**
46
+     * 楼盘id
47
+     */
45
     private String buildingId;
48
     private String buildingId;
46
 
49
 
47
     /**
50
     /**
139
      */
142
      */
140
     private Integer settlementPrice;
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
     @TableField(exist = false)
177
     @TableField(exist = false)
173
     private String channelProxyName;
178
     private String channelProxyName;
174
 
179
 
180
+    /**
181
+     * 前端传的计算价格
182
+     */
183
+    @TableField(exist = false)
184
+    private Double price;
185
+
175
     @TableField(exist = false)
186
     @TableField(exist = false)
176
     private List<TaContract> taContractList;
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
 
114
 
115
     @TableField(exist = false)
115
     @TableField(exist = false)
116
     private List<TaContractBusiness> contractBusinessList;
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
 package com.huiju.estateagents.eContract.entity;
1
 package com.huiju.estateagents.eContract.entity;
2
 
2
 
3
 import com.baomidou.mybatisplus.annotation.IdType;
3
 import com.baomidou.mybatisplus.annotation.IdType;
4
+import com.baomidou.mybatisplus.annotation.TableField;
4
 import com.baomidou.mybatisplus.annotation.TableId;
5
 import com.baomidou.mybatisplus.annotation.TableId;
5
 import java.time.LocalDateTime;
6
 import java.time.LocalDateTime;
6
 import java.io.Serializable;
7
 import java.io.Serializable;
8
+import java.util.List;
9
+
7
 import lombok.Data;
10
 import lombok.Data;
8
 import lombok.EqualsAndHashCode;
11
 import lombok.EqualsAndHashCode;
9
 import lombok.experimental.Accessors;
12
 import lombok.experimental.Accessors;
54
      */
57
      */
55
     private Integer status;
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
 package com.huiju.estateagents.eContract.entity;
1
 package com.huiju.estateagents.eContract.entity;
2
 
2
 
3
 import com.baomidou.mybatisplus.annotation.IdType;
3
 import com.baomidou.mybatisplus.annotation.IdType;
4
+import com.baomidou.mybatisplus.annotation.TableField;
4
 import com.baomidou.mybatisplus.annotation.TableId;
5
 import com.baomidou.mybatisplus.annotation.TableId;
5
 import java.time.LocalDateTime;
6
 import java.time.LocalDateTime;
6
 import java.io.Serializable;
7
 import java.io.Serializable;
8
+
9
+import com.huiju.estateagents.entity.TaRaiseRecord;
7
 import lombok.Data;
10
 import lombok.Data;
8
 import lombok.EqualsAndHashCode;
11
 import lombok.EqualsAndHashCode;
9
 import lombok.experimental.Accessors;
12
 import lombok.experimental.Accessors;
39
      */
42
      */
40
     private String authStatus;
43
     private String authStatus;
41
 
44
 
45
+    /**
46
+     * 状态
47
+     */
48
+    private Integer status;
49
+
42
     /**
50
     /**
43
      * 认证失败原因
51
      * 认证失败原因
44
      */
52
      */
62
     /** 小程序用户id */
70
     /** 小程序用户id */
63
     private String personId;
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
 import com.huiju.estateagents.bo.request.ContractRecordRequestBO;
4
 import com.huiju.estateagents.bo.request.ContractRecordRequestBO;
5
 import com.huiju.estateagents.eContract.entity.TaContract;
5
 import com.huiju.estateagents.eContract.entity.TaContract;
6
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
6
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
7
+import com.huiju.estateagents.eContract.entity.TaContractBusiness;
7
 import org.apache.ibatis.annotations.Mapper;
8
 import org.apache.ibatis.annotations.Mapper;
8
 import org.apache.ibatis.annotations.Param;
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
  * <p>
16
  * <p>
16
  * @since 2020-03-26
21
  * @since 2020-03-26
17
  */
22
  */
18
 @Mapper
23
 @Mapper
24
+@Component
19
 public interface TaContractMapper extends BaseMapper<TaContract> {
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
     IPage<TaContract> listContractForChannel(IPage<TaContract> pg,
38
     IPage<TaContract> listContractForChannel(IPage<TaContract> pg,
22
                                              @Param("bo") ContractRecordRequestBO bo);
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
      * @return
26
      * @return
27
      */
27
      */
28
     TaCompany updateCompanyInfo(TaCompany taCompany) throws Exception;
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
 import com.huiju.estateagents.base.ResponseBean;
4
 import com.huiju.estateagents.base.ResponseBean;
5
 import com.huiju.estateagents.bo.request.ContractRecordRequestBO;
5
 import com.huiju.estateagents.bo.request.ContractRecordRequestBO;
6
 import com.huiju.estateagents.eContract.entity.TaContract;
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
 import java.time.LocalDateTime;
13
 import java.time.LocalDateTime;
9
 
14
 
10
 /**
15
 /**
17
  */
22
  */
18
 public interface ITaContractService extends IService<TaContract> {
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
      * @return
48
      * @return
25
      */
49
      */
26
     ResponseBean listContractForChannel(ContractRecordRequestBO requestBO);
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
 
2
 
3
 import com.huiju.estateagents.eContract.entity.TaContractUser;
3
 import com.huiju.estateagents.eContract.entity.TaContractUser;
4
 import com.baomidou.mybatisplus.extension.service.IService;
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
  * <p>
9
  * <p>
13
  */
15
  */
14
 public interface ITaContractUserService extends IService<TaContractUser> {
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
 import com.alibaba.fastjson.JSON;
3
 import com.alibaba.fastjson.JSON;
4
 import com.alibaba.fastjson.JSONObject;
4
 import com.alibaba.fastjson.JSONObject;
5
 import com.fadada.sdk.client.FddClientBase;
5
 import com.fadada.sdk.client.FddClientBase;
6
+import com.fadada.sdk.client.authForfadada.FindCertInfo;
6
 import com.fadada.sdk.client.authForfadada.GetCompanyVerifyUrl;
7
 import com.fadada.sdk.client.authForfadada.GetCompanyVerifyUrl;
7
 import com.fadada.sdk.client.authForfadada.model.AgentInfoINO;
8
 import com.fadada.sdk.client.authForfadada.model.AgentInfoINO;
8
 import com.fadada.sdk.client.authForfadada.model.BankInfoINO;
9
 import com.fadada.sdk.client.authForfadada.model.BankInfoINO;
10
 import com.fadada.sdk.client.authForfadada.model.LegalInfoINO;
11
 import com.fadada.sdk.client.authForfadada.model.LegalInfoINO;
11
 import com.fadada.sdk.util.http.HttpsUtil;
12
 import com.fadada.sdk.util.http.HttpsUtil;
12
 import com.huiju.estateagents.common.CommConstant;
13
 import com.huiju.estateagents.common.CommConstant;
14
+import com.huiju.estateagents.common.StringUtils;
13
 import com.huiju.estateagents.config.FadadaProperties;
15
 import com.huiju.estateagents.config.FadadaProperties;
14
 import com.huiju.estateagents.eContract.entity.TaCompany;
16
 import com.huiju.estateagents.eContract.entity.TaCompany;
15
 import com.huiju.estateagents.eContract.mapper.TaCompanyMapper;
17
 import com.huiju.estateagents.eContract.mapper.TaCompanyMapper;
66
         taCompany.setFadadaCode(jsonObject.getString("data"));
68
         taCompany.setFadadaCode(jsonObject.getString("data"));
67
         taCompany.setCertifiedStatus(CommConstant.CERTIFIED_STATUS_REGISTERED);
69
         taCompany.setCertifiedStatus(CommConstant.CERTIFIED_STATUS_REGISTERED);
68
         taCompany.setCreateDate(LocalDateTime.now());
70
         taCompany.setCreateDate(LocalDateTime.now());
69
-        taCompany.setStatus(CommConstant.STATUS_NORMAL);
71
+        taCompany.setStatus(CommConstant.STATUS_UNACCALIMED);
70
         taCompanyMapper.insert(taCompany);
72
         taCompanyMapper.insert(taCompany);
71
         return taCompany;
73
         return taCompany;
72
     }
74
     }
107
         String certFlag = "1";
109
         String certFlag = "1";
108
 
110
 
109
         String notify_url = "http://www.baidu.com";//必填
111
         String notify_url = "http://www.baidu.com";//必填
110
-//        String return_url = "http://www.baidu.com";//可填
111
         String result = comverify.invokeCompanyVerifyUrl(new CompanyInfoINO(), new BankInfoINO(),new LegalInfoINO()
112
         String result = comverify.invokeCompanyVerifyUrl(new CompanyInfoINO(), new BankInfoINO(),new LegalInfoINO()
112
                 ,new AgentInfoINO(), customer_id,verifyed_way,m_verified_way,page_modify,
113
                 ,new AgentInfoINO(), customer_id,verifyed_way,m_verified_way,page_modify,
113
                 companyPrincipalType,null,notify_url,resultType,certFlag);
114
                 companyPrincipalType,null,notify_url,resultType,certFlag);
128
         return taCompany;
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
      * url解码
186
      * url解码
133
      * @param bizContent
187
      * @param bizContent

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

3
 import com.alibaba.fastjson.JSONObject;
3
 import com.alibaba.fastjson.JSONObject;
4
 import com.baomidou.mybatisplus.core.metadata.IPage;
4
 import com.baomidou.mybatisplus.core.metadata.IPage;
5
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
5
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6
+import com.fadada.sdk.client.FddClientBase;
6
 import com.huiju.estateagents.base.ResponseBean;
7
 import com.huiju.estateagents.base.ResponseBean;
7
 import com.huiju.estateagents.bo.request.ContractRecordRequestBO;
8
 import com.huiju.estateagents.bo.request.ContractRecordRequestBO;
9
+import com.huiju.estateagents.config.FadadaProperties;
8
 import com.huiju.estateagents.eContract.entity.TaContract;
10
 import com.huiju.estateagents.eContract.entity.TaContract;
11
+import com.huiju.estateagents.eContract.entity.TaContractBusiness;
9
 import com.huiju.estateagents.eContract.mapper.TaContractMapper;
12
 import com.huiju.estateagents.eContract.mapper.TaContractMapper;
10
 import com.huiju.estateagents.eContract.service.ITaContractService;
13
 import com.huiju.estateagents.eContract.service.ITaContractService;
11
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
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
 import lombok.extern.slf4j.Slf4j;
19
 import lombok.extern.slf4j.Slf4j;
13
 import org.springframework.beans.factory.annotation.Autowired;
20
 import org.springframework.beans.factory.annotation.Autowired;
14
 import org.springframework.stereotype.Service;
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
  * <p>
29
  * <p>
25
 @Slf4j
37
 @Slf4j
26
 public class TaContractServiceImpl extends ServiceImpl<TaContractMapper, TaContract> implements ITaContractService {
38
 public class TaContractServiceImpl extends ServiceImpl<TaContractMapper, TaContract> implements ITaContractService {
27
 
39
 
40
+    @Autowired
41
+    private FadadaProperties fadadaProperties;
42
+
28
     @Autowired
43
     @Autowired
29
     private TaContractMapper taContractMapper;
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
     @Override
62
     @Override
32
     public ResponseBean listContractForChannel(ContractRecordRequestBO requestBO) {
63
     public ResponseBean listContractForChannel(ContractRecordRequestBO requestBO) {
33
         log.info("TaContractServiceImpl.listContractForChannel 接收参数:{}", JSONObject.toJSONString(requestBO));
64
         log.info("TaContractServiceImpl.listContractForChannel 接收参数:{}", JSONObject.toJSONString(requestBO));
39
         responseBean.addSuccess(pg);
70
         responseBean.addSuccess(pg);
40
         return responseBean;
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
 package com.huiju.estateagents.eContract.service.impl;
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
 import com.huiju.estateagents.eContract.entity.TaContractUser;
11
 import com.huiju.estateagents.eContract.entity.TaContractUser;
4
 import com.huiju.estateagents.eContract.mapper.TaContractUserMapper;
12
 import com.huiju.estateagents.eContract.mapper.TaContractUserMapper;
5
 import com.huiju.estateagents.eContract.service.ITaContractUserService;
13
 import com.huiju.estateagents.eContract.service.ITaContractUserService;
6
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
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
 import org.springframework.stereotype.Service;
21
 import org.springframework.stereotype.Service;
8
 
22
 
23
+import java.time.LocalDateTime;
24
+
9
 /**
25
 /**
10
  * <p>
26
  * <p>
11
  * 电子合同注册用户表  服务实现类
27
  * 电子合同注册用户表  服务实现类
14
  * @author fxf
30
  * @author fxf
15
  * @since 2020-03-26
31
  * @since 2020-03-26
16
  */
32
  */
33
+@Slf4j
17
 @Service
34
 @Service
18
 public class TaContractUserServiceImpl extends ServiceImpl<TaContractUserMapper, TaContractUser> implements ITaContractUserService {
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
      */
75
      */
76
     @TableField(exist = false)
76
     @TableField(exist = false)
77
     private String miniAppName;
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
      */
166
      */
167
     @TableField(exist = false)
167
     @TableField(exist = false)
168
     private Integer salesBatchStatus;
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 Просмотреть файл

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 Просмотреть файл

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 Просмотреть файл

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 Просмотреть файл

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

+ 5
- 0
src/main/resources/mapper/TaRaiseInviteMapper.xml Просмотреть файл

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
         SELECT
6
         SELECT
7
             t.*,
7
             t.*,
8
             t2.company_name,
8
             t2.company_name,
9
-            t2.company_id,
10
             t2.certified_status,
9
             t2.certified_status,
11
             t3.`name` orgName,
10
             t3.`name` orgName,
12
             t4.`name` miniAppName
11
             t4.`name` miniAppName

+ 68
- 6
src/main/resources/mapper/eContract/TaContractMapper.xml Просмотреть файл

2
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
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">
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
     <select id="listContractForChannel" resultType="com.huiju.estateagents.eContract.entity.TaContract">
52
     <select id="listContractForChannel" resultType="com.huiju.estateagents.eContract.entity.TaContract">
6
         SELECT
53
         SELECT
7
             t.*,
54
             t.*,
8
             t2.company_name,
55
             t2.company_name,
9
-            t2.company_number,
56
+            t2.company_code,
10
             t3.`name` orgName,
57
             t3.`name` orgName,
11
             t4.`name` miniAppName,
58
             t4.`name` miniAppName,
12
             t6.channel_proxy_name
59
             t6.channel_proxy_name
42
             <if test=" bo.channelProxyName != null and bo.channelProxyName != ''">
89
             <if test=" bo.channelProxyName != null and bo.channelProxyName != ''">
43
                 AND t6.channel_proxy_name like CONCAT('%',#{bo.channelProxyName} , '%')
90
                 AND t6.channel_proxy_name like CONCAT('%',#{bo.channelProxyName} , '%')
44
             </if>
91
             </if>
45
-            <if test=" bo.signatoryStartTime != null and bo.signatoryStartTime != ''">
92
+            <if test=" bo.signatoryStartTime != null">
46
                 AND t.signatory_time &gt;= #{bo.signatoryStartTime}
93
                 AND t.signatory_time &gt;= #{bo.signatoryStartTime}
47
             </if>
94
             </if>
48
-            <if test=" bo.signatoryEndTime != null and bo.signatoryEndTime != ''">
95
+            <if test=" bo.signatoryEndTime != null ">
49
                 AND t.signatory_time &lt;= #{bo.signatoryEndTime}
96
                 AND t.signatory_time &lt;= #{bo.signatoryEndTime}
50
             </if>
97
             </if>
51
-            <if test=" bo.settlementStartTime != null and bo.settlementStartTime != ''">
98
+            <if test=" bo.settlementStartTime != null">
52
                 AND t.settlement_time &gt;= #{bo.settlementStartTime}
99
                 AND t.settlement_time &gt;= #{bo.settlementStartTime}
53
             </if>
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
             </if>
103
             </if>
57
         </where>
104
         </where>
58
         ORDER BY
105
         ORDER BY
59
             t.signatory_time DESC
106
             t.signatory_time DESC
60
     </select>
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
 </mapper>
123
 </mapper>