瀏覽代碼

feat: redis查询签约认证结果

lixuesong 3 年之前
父節點
當前提交
b8972ca93e

+ 2 - 2
hnqz-upms/hnqz-upms-api/src/main/java/com/qunzhixinxi/hnqz/admin/api/constant/CacheConstants.java

@@ -96,8 +96,8 @@ public interface CacheConstants {
 	String TASK_CONTENT_DRAFT = " typeid%s:userid%s";
 
 	/**
-	 * 用户签约认证key
+	 * 用户签约认证响应结果key
 	 */
-	String USER_SIGN_CERT_KEY = "USER::SIGN::CERT::KEY::";
+	String USER_SIGN_CERT_RESPONSE_KEY = "USER::SIGN::CERT::RESPONSE::KEY::";
 
 }

+ 2 - 2
hnqz-upms/hnqz-upms-api/src/main/java/com/qunzhixinxi/hnqz/admin/api/vo/UserVO.java

@@ -251,8 +251,8 @@ public class UserVO implements Serializable {
 	private Map<String, Integer> subjectTypeAndChannel;
 
 	/**
-	 * 用户签约认证主体信息列表
+	 * 不同渠道的认证状态
 	 */
-	private List<Map> userSubList;
+	private Map<String, String> certStatusMap;
 
 }

+ 27 - 1
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/SysUserController.java

@@ -45,7 +45,9 @@ import com.qunzhixinxi.hnqz.admin.entity.SysUserSub;
 import com.qunzhixinxi.hnqz.admin.entity.dto.CommonUserDTO;
 import com.qunzhixinxi.hnqz.admin.entity.input.UserCertificationInput;
 import com.qunzhixinxi.hnqz.admin.entity.model.excel.CommonUserExcelModel;
+import com.qunzhixinxi.hnqz.admin.enums.RenlijiaCertStatus;
 import com.qunzhixinxi.hnqz.admin.enums.SubjectTypeEnum;
+import com.qunzhixinxi.hnqz.admin.enums.YeeCertStatus;
 import com.qunzhixinxi.hnqz.admin.mapper.*;
 import com.qunzhixinxi.hnqz.admin.service.SysDeptService;
 import com.qunzhixinxi.hnqz.admin.service.SysDeptSubService;
@@ -1462,7 +1464,31 @@ public class SysUserController {
 		userVosPage.getRecords().forEach(userVO -> {
 			List<SysUserSub> userSubList = sysUserSubService.list(Wrappers.<SysUserSub>lambdaQuery()
 					.eq(SysUserSub::getUserId, userVO.getUserId()));
-			userVO.setUserSubList(BeanUtil.copyToList(userSubList, Map.class));
+			if (CollUtil.isNotEmpty(userSubList)) {
+				Map<String, String> certStatusMap = userSubList.stream()
+						.collect(Collectors.toMap(sysUserSub -> sysUserSub.getGigType().getDesc(),
+								sysUserSub -> {
+									String certStatuName = "";
+									switch (sysUserSub.getGigType()) {
+										case TAX_HELPOR:
+											certStatuName = TaxHelperCertStatus.resolve(sysUserSub.getCertStatus()).getDesc();
+											break;
+										case YEE:
+											certStatuName = YeeCertStatus.resolve(String.valueOf(sysUserSub.getCertStatus())).getMessage();
+											break;
+										case REN_LI_JIA:
+											certStatuName = RenlijiaCertStatus.resolve(sysUserSub.getCertStatus()).getMessage();
+											break;
+										case OLADING:
+											certStatuName = YeeCertStatus.resolve(String.valueOf(sysUserSub.getCertStatus())).getMessage();
+											break;
+										default:
+											certStatuName = String.valueOf(sysUserSub.getCertStatus());
+									}
+									return certStatuName;
+								}));
+				userVO.setCertStatusMap(certStatusMap);
+			}
 		});
 
 		return R.ok(userVosPage);

+ 23 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/SysUserSignCertController.java

@@ -2,6 +2,9 @@ package com.qunzhixinxi.hnqz.admin.controller;
 
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.StrUtil;
+import cn.hutool.json.JSONObject;
+import cn.hutool.json.JSONUtil;
+import com.qunzhixinxi.hnqz.admin.api.constant.CacheConstants;
 import com.qunzhixinxi.hnqz.admin.entity.SysUserSub;
 import com.qunzhixinxi.hnqz.admin.entity.dto.UserSignCertDTO;
 import com.qunzhixinxi.hnqz.admin.service.gig.SysUserSignCertService;
@@ -10,6 +13,8 @@ import com.qunzhixinxi.hnqz.common.log.annotation.SysLog;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -31,6 +36,8 @@ public class SysUserSignCertController {
 
 	private final SysUserSignCertService sysUserSignCertService;
 
+	private final RedisTemplate redisTemplate;
+
 	/**
 	 * 保存用户基础信息
 	 *
@@ -175,4 +182,20 @@ public class SysUserSignCertController {
 
 		return R.ok();
 	}
+
+	/**
+	 * 查询签约认证结果
+	 *
+	 * @param userId
+	 * @return
+	 */
+	@GetMapping("/sign-cert-result/{userId}")
+	public R<?> getSignCertResult(@PathVariable("userId") Integer userId) {
+		String key = CacheConstants.USER_SIGN_CERT_RESPONSE_KEY + userId;
+		JSONObject response = (JSONObject) redisTemplate.opsForValue().get(key);
+		if (response == null) {
+			return R.failed("没有结果");
+		}
+		return R.ok(response);
+	}
 }

+ 1 - 1
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/enums/YeeCertStatus.java

@@ -16,7 +16,7 @@ import lombok.Getter;
 @AllArgsConstructor
 public enum YeeCertStatus {
 
-    UN_SIGNED("0", "未签约(待审核)"),
+    UN_SIGNED("0", "未签约"),
     SIGNED("1", "已签约"),
     TERMINATED("2", "已解约");
 

+ 4 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/mq/GigSignCertReceiver.java

@@ -6,6 +6,7 @@ import cn.hutool.json.JSONObject;
 import cn.hutool.json.JSONUtil;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.qunzhixinxi.hnqz.admin.api.constant.CacheConstants;
 import com.qunzhixinxi.hnqz.admin.api.constant.MqConstants;
 import com.qunzhixinxi.hnqz.admin.api.entity.SysDept;
 import com.qunzhixinxi.hnqz.admin.api.entity.SysUser;
@@ -120,6 +121,9 @@ public class GigSignCertReceiver extends BaseRabbiMqHandler<String> {
 							// 更新
 							sysUserSubService.update(updateWrapper);
 						});
+
+						// 本次结果存入redis
+						redisTemplate.opsForValue().set(CacheConstants.USER_SIGN_CERT_RESPONSE_KEY + user.getUserId(), subjectTypes);
 					}
 				}
 			}