|
@@ -17,6 +17,7 @@ import com.qunzhixinxi.hnqz.admin.entity.SysUserSub;
|
|
|
import com.qunzhixinxi.hnqz.admin.enums.DelEnum;
|
|
|
import com.qunzhixinxi.hnqz.admin.enums.GigCallBackStatus;
|
|
|
import com.qunzhixinxi.hnqz.admin.enums.GigTypeEnum;
|
|
|
+import com.qunzhixinxi.hnqz.admin.enums.LangChaoCertStatus;
|
|
|
import com.qunzhixinxi.hnqz.admin.enums.LockEnum;
|
|
|
import com.qunzhixinxi.hnqz.admin.enums.OladingCertStatus;
|
|
|
import com.qunzhixinxi.hnqz.admin.enums.SubjectLocation;
|
|
@@ -136,6 +137,8 @@ public class GigSignCertReceiver extends BaseRabbiMqHandler<String> {
|
|
|
case ZHENG_QI_ZHI_XING:
|
|
|
this.zhengQiZhiXingHandler(user, dept, subjectResult);
|
|
|
break;
|
|
|
+ case LANG_CHAO:
|
|
|
+ this.langchaoHandler(user, dept, subjectResult);
|
|
|
default:
|
|
|
}
|
|
|
});
|
|
@@ -152,6 +155,47 @@ public class GigSignCertReceiver extends BaseRabbiMqHandler<String> {
|
|
|
});
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 浪潮回调状态处理
|
|
|
+ *
|
|
|
+ * @param user
|
|
|
+ * @param dept
|
|
|
+ * @param subjectResult
|
|
|
+ */
|
|
|
+ private void langchaoHandler(SysUser user, SysDept dept, JSONObject subjectResult) {
|
|
|
+ String code = subjectResult.getStr("code");
|
|
|
+ String certStatus = subjectResult.getStr("certStatus");
|
|
|
+ LocalDateTime now = LocalDateTime.now();
|
|
|
+ LangChaoCertStatus langChaoCertStatus = Enum.valueOf(LangChaoCertStatus.class, certStatus);
|
|
|
+
|
|
|
+ // 拼接更新条件
|
|
|
+ LambdaUpdateWrapper<SysUserSub> updateWrapper = Wrappers.<SysUserSub>lambdaUpdate()
|
|
|
+ .eq(SysUserSub::getUserId, user.getUserId())
|
|
|
+ .eq(SysUserSub::getDeptId, dept.getDeptId())
|
|
|
+ .eq(SysUserSub::getSubjectLocation, SubjectLocation.LANG_CHAO)
|
|
|
+ .eq(SysUserSub::getGigType, GigTypeEnum.LANG_CHAO)
|
|
|
+ .set(SysUserSub::getCallbackStatus, GigCallBackStatus.RETURNED)
|
|
|
+ .set(SysUserSub::getUpdateTime, now)
|
|
|
+ .set(SysUserSub::getUpdateUser, 0)
|
|
|
+ .set(SysUserSub::getCertRemark, JSONUtil.toJsonStr(subjectResult));
|
|
|
+
|
|
|
+ if (LangChaoCertStatus.SIGN.equals(langChaoCertStatus)) {
|
|
|
+ // 这里记为已认证(对应浪潮的已签约状态)
|
|
|
+ updateWrapper.set(SysUserSub::getCertStatus, LangChaoCertStatus.CERT.getCode());
|
|
|
+ }
|
|
|
+
|
|
|
+ sysUserSubService.update(updateWrapper);
|
|
|
+
|
|
|
+ // 结果放到redis
|
|
|
+ Map<String, Map<String, String>> resultMap = new HashMap<>(1);
|
|
|
+ Map<String, String> subMap = new HashMap<>(1);
|
|
|
+ subMap.put("certStatus", certStatus);
|
|
|
+ resultMap.put("LANG_CHAO", subMap);
|
|
|
+ String key = CacheConstants.USER_SIGN_CERT_RESPONSE_KEY + user.getUserId();
|
|
|
+ log.info("缓存认证结果到redis:{}", JSONUtil.toJsonStr(resultMap));
|
|
|
+ redisTemplate.opsForValue().set(key, JSONUtil.toJsonStr(resultMap), 1, TimeUnit.MINUTES);
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 正启之星结果处理
|
|
|
*
|