|
@@ -261,7 +261,15 @@ public class GigSignCertReceiver extends BaseRabbiMqHandler<String> {
|
|
|
* @param subjectResult
|
|
|
*/
|
|
|
private void oladingHandler(SysUser user, SysDept dept, JSONObject subjectResult) {
|
|
|
+ String certStatus = subjectResult.getStr("certStatus");
|
|
|
+ String uploadTaxPayerAgreementStatus = subjectResult.getStr("uploadTaxPayerAgreementStatus");
|
|
|
LocalDateTime now = LocalDateTime.now();
|
|
|
+
|
|
|
+ // 查询当前认证状态
|
|
|
+ SysUserSub userSub = sysUserSubService.getOne(Wrappers.<SysUserSub>lambdaQuery()
|
|
|
+ .eq(SysUserSub::getDeptId, dept.getDeptId())
|
|
|
+ .eq(SysUserSub::getUserId, user.getUserId())
|
|
|
+ .eq(SysUserSub::getGigType, GigTypeEnum.OLADING));
|
|
|
// 拼接更新条件
|
|
|
LambdaUpdateWrapper<SysUserSub> updateWrapper = Wrappers.<SysUserSub>lambdaUpdate()
|
|
|
.eq(SysUserSub::getUserId, user.getUserId())
|
|
@@ -270,6 +278,30 @@ public class GigSignCertReceiver extends BaseRabbiMqHandler<String> {
|
|
|
.set(SysUserSub::getUpdateTime, now)
|
|
|
.set(SysUserSub::getUpdateUser, 0)
|
|
|
.set(SysUserSub::getCertRemark, JSONUtil.toJsonStr(subjectResult));
|
|
|
+ // 如果是已签约并且当前不是已认证,则设置一下状态(处理阿拉丁没有回调的情况)
|
|
|
+ if (OladingCommonRequest.SignUpStatus.SIGN.name().equals(certStatus)
|
|
|
+ && !OladingCertStatus.CERT.getCode().equals(String.valueOf(userSub.getCertStatus()))) {
|
|
|
+ // 如果是已上传协议成功,则设置为已认证,否则还是已签约
|
|
|
+ SysUser updateUser = new SysUser();
|
|
|
+ Map<String, String> subMap = new HashMap<>();
|
|
|
+ if (OladingCommonRequest.UploadTaxpayerAgreementStatus.SUCCESS.name().equals(uploadTaxPayerAgreementStatus)) {
|
|
|
+ updateWrapper.set(SysUserSub::getCertStatus, Integer.parseInt(OladingCertStatus.CERT.getCode()));
|
|
|
+ subMap.put("certStatus", OladingCertStatus.CERT.name());
|
|
|
+ } else {
|
|
|
+ updateWrapper.set(SysUserSub::getCertStatus, Integer.parseInt(OladingCertStatus.SIGNED.getCode()));
|
|
|
+ subMap.put("certStatus", OladingCertStatus.SIGNED.name());
|
|
|
+ }
|
|
|
+ updateWrapper.set(SysUserSub::getCallbackStatus, GigCallBackStatus.RETURNED);
|
|
|
+ // 修改步进状态
|
|
|
+ updateUser.setUserId(user.getUserId());
|
|
|
+ updateUser.setUpdateTime(now);
|
|
|
+ sysUserService.updateById(updateUser);
|
|
|
+ // 结果放到redis
|
|
|
+ String key = CacheConstants.USER_SIGN_CERT_RESPONSE_KEY + userSub.getUserId();
|
|
|
+ Map<String, Object> result = MapUtil.newHashMap(1);
|
|
|
+ result.put("OLADING", subMap);
|
|
|
+ redisTemplate.opsForValue().set(key, JSONUtil.toJsonStr(result), 1, TimeUnit.MINUTES);
|
|
|
+ }
|
|
|
sysUserSubService.update(updateWrapper);
|
|
|
}
|
|
|
|