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

feat: 阿拉钉多渠道发起和回调修改

lixuesong преди 3 години
родител
ревизия
07fca3e48e

+ 23 - 1
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/mq/GigSignCertReceiver.java

@@ -284,10 +284,32 @@ public class GigSignCertReceiver extends BaseRabbiMqHandler<String> {
 		}
 		if (CollUtil.isNotEmpty(resultMap)) {
 			String key = CacheConstants.USER_SIGN_CERT_RESPONSE_KEY + user.getUserId();
-			redisTemplate.opsForValue().set(key, JSONUtil.toJsonStr(resultMap), 1, TimeUnit.MINUTES);
+			if (redisTemplate.hasKey(key)) {
+				// key已存在,则追加写入新的渠道的状态
+				String qResult = (String) redisTemplate.opsForValue().get(key);
+				JSONObject qResultObj = JSONUtil.parseObj(qResult);
+				if (o1Map != null) {
+					qResultObj.append(GigTypeEnum.OLADING.name(), o1Map);
+				}
+				if (o2Map != null) {
+					qResultObj.append(GigTypeEnum.JIN_YUAN.name(), o2Map);
+				}
+				redisTemplate.opsForValue().set(key, JSONUtil.toJsonStr(qResultObj), 1, TimeUnit.MINUTES);
+			} else {
+				redisTemplate.opsForValue().set(key, JSONUtil.toJsonStr(resultMap), 1, TimeUnit.MINUTES);
+			}
 		}
 	}
 
+	/**
+	 * 自由职家渠道的数据处理
+	 *
+	 * @param user
+	 * @param dept
+	 * @param subjectResult
+	 * @param gigType
+	 * @return
+	 */
 	private Map<String, String> oladingChannelHandler(SysUser user, SysDept dept, JSONObject subjectResult, GigTypeEnum gigType) {
 		String certStatus = subjectResult.getStr("certStatus");
 		String uploadTaxPayerAgreementStatus = subjectResult.getStr("uploadTaxPayerAgreementStatus");

+ 3 - 3
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/gig/impl/GigThirdApiServiceImpl.java

@@ -281,7 +281,7 @@ public class GigThirdApiServiceImpl implements GigThirdApiService {
 		if (redisTemplate.hasKey(key)) {
 			String qResult = (String) redisTemplate.opsForValue().get(key);
 			JSONObject qResultObj = JSONUtil.parseObj(qResult);
-			qResultObj.append(userSub.getGigType().name(), currentCertStatus.name());
+			qResultObj.append(userSub.getGigType().name(), MapUtil.builder("certStatus", currentCertStatus.name()).build());
 			redisTemplate.opsForValue().set(key, JSONUtil.toJsonStr(qResultObj), 1, TimeUnit.MINUTES);
 		} else {
 			Map<String, Object> result = MapUtil.newHashMap(2);
@@ -365,7 +365,7 @@ public class GigThirdApiServiceImpl implements GigThirdApiService {
 		if (redisTemplate.hasKey(key)) {
 			String qResult = (String) redisTemplate.opsForValue().get(key);
 			JSONObject qResultObj = JSONUtil.parseObj(qResult);
-			qResultObj.append(userSub.getGigType().name(), currentCertStatus.name());
+			qResultObj.append(userSub.getGigType().name(), MapUtil.builder("certStatus", currentCertStatus.name()).build());
 			redisTemplate.opsForValue().set(key, JSONUtil.toJsonStr(qResultObj), 1, TimeUnit.MINUTES);
 		} else {
 			Map<String, Object> result = MapUtil.newHashMap(2);
@@ -447,7 +447,7 @@ public class GigThirdApiServiceImpl implements GigThirdApiService {
 		if (redisTemplate.hasKey(key)) {
 			String qResult = (String) redisTemplate.opsForValue().get(key);
 			JSONObject qResultObj = JSONUtil.parseObj(qResult);
-			qResultObj.append(userSub.getGigType().name(), currentCertStatus.name());
+			qResultObj.append(userSub.getGigType().name(), MapUtil.builder("certStatus", currentCertStatus.name()).build());
 			redisTemplate.opsForValue().set(key, JSONUtil.toJsonStr(qResultObj), 1, TimeUnit.MINUTES);
 		} else {
 			Map<String, Object> result = MapUtil.newHashMap(2);

+ 1 - 3
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/gig/impl/SysUserSignCertServiceImpl.java

@@ -377,9 +377,7 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
 //				}
 
 				// 如果同时包含阿拉钉金园数科、海南飞亿,则只选海南飞亿发起
-				if (userSignCertDTO.getGigTypeList().containsAll(CollUtil.toList(GigTypeEnum.OLADING, GigTypeEnum.JIN_YUAN))
-						&& GigTypeEnum.JIN_YUAN.equals(userSub.getGigType())) {
-					userSignCertDTO.setGigTypeList(Collections.singletonList(GigTypeEnum.OLADING));
+				if (userSignCertDTO.getGigTypeList().containsAll(CollUtil.toList(GigTypeEnum.OLADING, GigTypeEnum.JIN_YUAN))) {
 					// 更新金园数科为签约中
 					SysUserSub jyUserSub = new SysUserSub();
 					jyUserSub.setId(userSub.getId());