Kaynağa Gözat

新需求 小程序接口

傅行帆 5 yıl önce
ebeveyn
işleme
94120cc569

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

@@ -9,7 +9,11 @@ import com.huiju.estateagents.base.ResponseBean;
9 9
 import com.huiju.estateagents.bo.request.ContractRecordRequestBO;
10 10
 import com.huiju.estateagents.common.CommonUtils;
11 11
 import com.huiju.estateagents.eContract.entity.TaContract;
12
+import com.huiju.estateagents.eContract.entity.TaContractUser;
12 13
 import com.huiju.estateagents.eContract.service.ITaContractService;
14
+import com.huiju.estateagents.entity.TaPerson;
15
+import com.huiju.estateagents.entity.TaRaiseRecord;
16
+import com.huiju.estateagents.service.ITaPersonService;
13 17
 import org.apache.commons.lang3.StringUtils;
14 18
 import org.slf4j.Logger;
15 19
 import org.slf4j.LoggerFactory;
@@ -19,6 +23,7 @@ import org.springframework.web.bind.annotation.*;
19 23
 
20 24
 import javax.servlet.http.HttpServletRequest;
21 25
 import java.time.LocalDate;
26
+import java.util.List;
22 27
 
23 28
 
24 29
 /**
@@ -38,6 +43,10 @@ public class TaContractController extends BaseController {
38 43
     @Autowired
39 44
     public ITaContractService iTaContractService;
40 45
 
46
+
47
+    @Autowired
48
+    public ITaPersonService taPersonService;
49
+
41 50
     /**
42 51
      * 条件查询合同列表 -- admin端
43 52
      *
@@ -217,4 +226,27 @@ public class TaContractController extends BaseController {
217 226
         }
218 227
         return responseBean;
219 228
     }
229
+
230
+    /**
231
+     * 自动签署合同
232
+     */
233
+    @RequestMapping(value = "/wx/contract/auto", method = RequestMethod.POST)
234
+    public ResponseBean autoContract(@RequestBody TaRaiseRecord taRaiseRecord, HttpServletRequest request) {
235
+        ResponseBean responseBean = new ResponseBean();
236
+        try {
237
+            String openid = getOpenId(request);
238
+            List<TaPerson> taPersons = taPersonService.getPersonsByOpenId(openid);
239
+            if (null == taPersons || taPersons.size() != 1) {
240
+                return ResponseBean.error("验证人员信息失败", ResponseBean.ERROR_UNAVAILABLE);
241
+            }
242
+            TaPerson person = taPersons.get(0);
243
+            TaContract taContract = iTaContractService.autoContract(taRaiseRecord, person);
244
+            responseBean.addSuccess(taContract);
245
+        } catch (Exception e) {
246
+            e.printStackTrace();
247
+            logger.error("taCompanyList -=- {}", e.toString());
248
+            responseBean.addError(e.getMessage());
249
+        }
250
+        return responseBean;
251
+    }
220 252
 }

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

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

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

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

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

@@ -36,7 +36,7 @@ public class TaContract implements Serializable {
36 36
     /**
37 37
      * 企业id
38 38
      */
39
-    private String companyId;
39
+    private Integer companyId;
40 40
 
41 41
     /**
42 42
      * 公司id

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

@@ -110,4 +110,9 @@ public class TaContractBusiness implements Serializable {
110 110
      */
111 111
     private Integer status;
112 112
 
113
+    @TableField(exist = false)
114
+    private String contractTemplateAddress;
115
+
116
+    @TableField(exist = false)
117
+    private String signatrueId;
113 118
 }

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

@@ -1,9 +1,12 @@
1 1
 package com.huiju.estateagents.eContract.entity;
2 2
 
3 3
 import com.baomidou.mybatisplus.annotation.IdType;
4
+import com.baomidou.mybatisplus.annotation.TableField;
4 5
 import com.baomidou.mybatisplus.annotation.TableId;
5 6
 import java.time.LocalDateTime;
6 7
 import java.io.Serializable;
8
+
9
+import com.huiju.estateagents.entity.TaRaiseRecord;
7 10
 import lombok.Data;
8 11
 import lombok.EqualsAndHashCode;
9 12
 import lombok.experimental.Accessors;
@@ -39,6 +42,11 @@ public class TaContractUser implements Serializable {
39 42
      */
40 43
     private String authStatus;
41 44
 
45
+    /**
46
+     * 状态
47
+     */
48
+    private Integer status;
49
+
42 50
     /**
43 51
      * 认证失败原因
44 52
      */
@@ -62,4 +70,21 @@ public class TaContractUser implements Serializable {
62 70
     /** 小程序用户id */
63 71
     private String personId;
64 72
 
73
+    /**
74
+     * 法大大客户编号
75
+     */
76
+    private String fadadaCode;
77
+
78
+    /**
79
+     * 个人认证地址
80
+     */
81
+    private String certifiedAddress;
82
+
83
+    /**
84
+     * 认证序列号
85
+     */
86
+    private String certifiedSerialNumber;
87
+
88
+    @TableField(exist = false)
89
+    private Integer raiseRecordId;
65 90
 }

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

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

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

@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.extension.service.IService;
4 4
 import com.huiju.estateagents.base.ResponseBean;
5 5
 import com.huiju.estateagents.bo.request.ContractRecordRequestBO;
6 6
 import com.huiju.estateagents.eContract.entity.TaContract;
7
+import com.huiju.estateagents.entity.TaPerson;
8
+import com.huiju.estateagents.entity.TaRaiseRecord;
7 9
 import org.springframework.format.annotation.DateTimeFormat;
8 10
 import org.springframework.web.bind.annotation.RequestParam;
9 11
 
@@ -46,4 +48,12 @@ public interface ITaContractService extends IService<TaContract> {
46 48
      * @return
47 49
      */
48 50
     ResponseBean listContractForChannel(ContractRecordRequestBO requestBO);
51
+
52
+    /**
53
+     * 企业自动签署合同
54
+     * @param taRaiseRecord
55
+     * @param person
56
+     * @return
57
+     */
58
+    TaContract autoContract(TaRaiseRecord taRaiseRecord, TaPerson person);
49 59
 }

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

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

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

@@ -109,7 +109,6 @@ public class TaCompanyServiceImpl extends ServiceImpl<TaCompanyMapper, TaCompany
109 109
         String certFlag = "1";
110 110
 
111 111
         String notify_url = "http://www.baidu.com";//必填
112
-//        String return_url = "http://www.baidu.com";//可填
113 112
         String result = comverify.invokeCompanyVerifyUrl(new CompanyInfoINO(), new BankInfoINO(),new LegalInfoINO()
114 113
                 ,new AgentInfoINO(), customer_id,verifyed_way,m_verified_way,page_modify,
115 114
                 companyPrincipalType,null,notify_url,resultType,certFlag);

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

@@ -3,17 +3,27 @@ package com.huiju.estateagents.eContract.service.impl;
3 3
 import com.alibaba.fastjson.JSONObject;
4 4
 import com.baomidou.mybatisplus.core.metadata.IPage;
5 5
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6
+import com.fadada.sdk.client.FddClientBase;
6 7
 import com.huiju.estateagents.base.ResponseBean;
7 8
 import com.huiju.estateagents.bo.request.ContractRecordRequestBO;
9
+import com.huiju.estateagents.config.FadadaProperties;
8 10
 import com.huiju.estateagents.eContract.entity.TaContract;
11
+import com.huiju.estateagents.eContract.entity.TaContractBusiness;
9 12
 import com.huiju.estateagents.eContract.mapper.TaContractMapper;
10 13
 import com.huiju.estateagents.eContract.service.ITaContractService;
11 14
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
15
+import com.huiju.estateagents.entity.TaPerson;
16
+import com.huiju.estateagents.entity.TaRaiseRecord;
17
+import com.huiju.estateagents.mapper.TaOrgMapper;
18
+import com.huiju.estateagents.mapper.TaRaiseRecordMapper;
12 19
 import lombok.extern.slf4j.Slf4j;
13 20
 import org.springframework.beans.factory.annotation.Autowired;
14 21
 import org.springframework.stereotype.Service;
22
+import org.springframework.transaction.annotation.Transactional;
15 23
 
16 24
 import java.time.LocalDate;
25
+import java.time.LocalDateTime;
26
+import java.util.Map;
17 27
 
18 28
 /**
19 29
  * <p>
@@ -27,9 +37,18 @@ import java.time.LocalDate;
27 37
 @Slf4j
28 38
 public class TaContractServiceImpl extends ServiceImpl<TaContractMapper, TaContract> implements ITaContractService {
29 39
 
40
+    @Autowired
41
+    private FadadaProperties fadadaProperties;
42
+
30 43
     @Autowired
31 44
     private TaContractMapper taContractMapper;
32 45
 
46
+    @Autowired
47
+    private TaRaiseRecordMapper taRaiseRecordMapper;
48
+
49
+    @Autowired
50
+    private TaOrgMapper taOrgMapper;
51
+
33 52
     @Override
34 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) {
35 54
 
@@ -51,4 +70,37 @@ public class TaContractServiceImpl extends ServiceImpl<TaContractMapper, TaContr
51 70
         responseBean.addSuccess(pg);
52 71
         return responseBean;
53 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
+    }
54 106
 }

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

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

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

@@ -105,4 +105,19 @@
105 105
         ORDER BY
106 106
             t.signatory_time DESC
107 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>
108 123
 </mapper>