Browse Source

feat: 新零工签名认证查询

lixuesong 3 years ago
parent
commit
4e561f9921

+ 22 - 19
db/v2.0/220301.sql

@@ -1,21 +1,24 @@
 -- 用户签约认证主体信息表
-CREATE TABLE `sys_user_sub`
+create table if not exists sys_user_sub
 (
-    `id`                INT    NOT NULL AUTO_INCREMENT COMMENT '主键ID',
-    `user_id`           INT    NOT NULL COMMENT '用户ID',
-    `gig_type`          INT(2) NOT NULL COMMENT '零工平台类型(订单支付方式类型:0-人力家 1-税邦云 2-自由职家 3-易联数科)',
-    `cert_status`       INT    NOT NULL COMMENT '认证状态',
-    `cert_remark`       VARCHAR(255) DEFAULT NULL COMMENT '认证结果描述',
-    `user_type`         VARCHAR(2)   DEFAULT NULL COMMENT '人员类型',
-    `bank_card_number`  VARCHAR(19)  DEFAULT NULL COMMENT '银行卡号',
-    `bank_phone`        VARCHAR(11)  DEFAULT NULL comment '银行预留手机号',
-    `id_card_front_url` VARCHAR(255) DEFAULT NULL COMMENT '身份证照片-正面',
-    `id_card_back_url`  VARCHAR(255) DEFAULT NULL COMMENT '身份证照片-反面',
-    `agreement_url`     varchar(255) DEFAULT NULL comment '协议',
-    `create_time`       DATETIME     DEFAULT NULL COMMENT '创建时间',
-    `create_user`       INT          DEFAULT NULL COMMENT '创建人',
-    `update_time`       DATETIME     DEFAULT NULL COMMENT '更新时间',
-    `update_user`       INT          DEFAULT NULL COMMENT '更新人',
-    PRIMARY KEY (`id`)
-) ENGINE = INNODB
-  DEFAULT CHARSET = utf8mb4 COMMENT = '用户签约认证主体信息表';
+    id                int auto_increment comment '主键ID' primary key,
+    user_id           int            not null comment '用户ID',
+    gig_type          int(2)         not null comment '零工平台类型(订单支付方式类型:0-人力家 1-税邦云 2-自由职家 3-易联数科)',
+    gig_channel       int default 0  null comment '渠道',
+    cert_status       int default 10 not null comment '认证状态',
+    cert_remark       varchar(255)   null comment '认证结果描述',
+    user_type         varchar(2)     null comment '人员类型',
+    bank_card_number  varchar(19)    null comment '银行卡号',
+    bank_phone        varchar(11)    null comment '银行预留手机号',
+    id_card_front_url varchar(255)   null comment '身份证照片-正面',
+    id_card_back_url  varchar(255)   null comment '身份证照片-反面',
+    cert_video1_url   varchar(255)   null comment '认证视频1',
+    cert_video2_url   varchar(255)   null comment '认证视频1',
+    agreement_url     varchar(255)   null comment '协议',
+    create_time       datetime       null comment '创建时间',
+    create_user       int            null comment '创建人',
+    update_time       datetime       null comment '更新时间',
+    update_user       int            null comment '更新人'
+)
+    comment '用户签约认证主体信息表' charset = utf8mb4;
+

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

@@ -95,4 +95,9 @@ public interface CacheConstants {
 	 */
 	String TASK_CONTENT_DRAFT = " typeid%s:userid%s";
 
+	/**
+	 * 用户签约认证key
+	 */
+	String USER_SIGN_CERT_KEY = "USER::SIGN::CERT::KEY::";
+
 }

+ 7 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/ApiController.java

@@ -28,6 +28,7 @@ import com.qunzhixinxi.hnqz.admin.api.vo.UserVO;
 import com.qunzhixinxi.hnqz.admin.config.UpmsConfig;
 import com.qunzhixinxi.hnqz.admin.entity.SysCertResultRecord;
 import com.qunzhixinxi.hnqz.admin.entity.SysDeptSub;
+import com.qunzhixinxi.hnqz.admin.entity.SysUserSub;
 import com.qunzhixinxi.hnqz.admin.entity.WmDaAgent;
 import com.qunzhixinxi.hnqz.admin.entity.WmDaDistribution;
 import com.qunzhixinxi.hnqz.admin.entity.WmDaDrugEnt;
@@ -85,6 +86,7 @@ import com.qunzhixinxi.hnqz.admin.service.WmUserSignService;
 import com.qunzhixinxi.hnqz.admin.service.WmWkAlbumService;
 import com.qunzhixinxi.hnqz.admin.service.WmWkArticleService;
 import com.qunzhixinxi.hnqz.admin.service.WmWkArticleShareService;
+import com.qunzhixinxi.hnqz.admin.service.gig.SysUserSignCertService;
 import com.qunzhixinxi.hnqz.admin.util.GetOpenIDUtil;
 import com.qunzhixinxi.hnqz.admin.util.Html2ImageByJsWrapper;
 import com.qunzhixinxi.hnqz.admin.util.QRCodeGenerator;
@@ -198,6 +200,7 @@ public class ApiController {
 	private final WmWkAlbumService wmWkAlbumService;
 	private final WmDeptTaskTypeTemplateService wmDeptTaskTypeTemplateService;
 	private final WmUserSignDetailService wmUserSignDetailService;
+	private final SysUserSignCertService sysUserSignCertService;
 
 	@SysLog("通过任务类型获取表单配置")
 	@ApiOperation(value = "任务类型表单配置-通过任务类型获取表单配置", notes = "根据任务类型获取表单配置")
@@ -743,6 +746,10 @@ public class ApiController {
 						.collect(Collectors.toMap(SysDeptSub::getSubjectType, SysDeptSub::getSubjectChannel));
 				mapOne.put("subjectTypeAndChannel", collect);
 
+				// 认证服务信息回显
+				List<SysUserSub> userSignCertList = sysUserSignCertService.listUserSignCert(sysU.getUserId());
+				mapOne.put("certList", userSignCertList);
+
 				list.add(mapOne);
 
 				roleList.addAll(roleIdList);

+ 17 - 1
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/SysUserSignCertController.java

@@ -2,17 +2,21 @@ package com.qunzhixinxi.hnqz.admin.controller;
 
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.StrUtil;
+import com.qunzhixinxi.hnqz.admin.api.constant.CacheConstants;
 import com.qunzhixinxi.hnqz.admin.entity.dto.UserSignCertDTO;
 import com.qunzhixinxi.hnqz.admin.service.gig.SysUserSignCertService;
 import com.qunzhixinxi.hnqz.common.core.util.R;
 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.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.concurrent.TimeUnit;
+
 /**
  * 用户签约认证
  *
@@ -27,6 +31,8 @@ public class SysUserSignCertController {
 
 	private final SysUserSignCertService sysUserSignCertService;
 
+	private final RedisTemplate redisTemplate;
+
 	/**
 	 * 保存用户基础信息
 	 *
@@ -101,7 +107,17 @@ public class SysUserSignCertController {
 		if (userSignCertDTO.getUserId() == null) {
 			return R.failed("userId不能为空");
 		}
-		sysUserSignCertService.batchChannelCert(userSignCertDTO);
+		String cacheKey = CacheConstants.USER_SIGN_CERT_KEY + userSignCertDTO.getUserId();
+		Boolean absent = redisTemplate.opsForValue().setIfAbsent(cacheKey, userSignCertDTO.getUserId(), 5, TimeUnit.SECONDS);
+		if (!absent) {
+			log.error("当前用户:{},正在处理", userSignCertDTO.getUserId());
+			return R.failed("正在处理,请勿重复操作");
+		}
+		try {
+			sysUserSignCertService.batchChannelCert(userSignCertDTO);
+		} finally {
+			redisTemplate.delete(cacheKey);
+		}
 
 		return R.ok();
 	}

+ 0 - 2
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/enums/GigChannelEnum.java

@@ -1,7 +1,6 @@
 package com.qunzhixinxi.hnqz.admin.enums;
 
 import com.baomidou.mybatisplus.annotation.EnumValue;
-import com.fasterxml.jackson.annotation.JsonValue;
 import lombok.AllArgsConstructor;
 import lombok.Getter;
 
@@ -23,6 +22,5 @@ public enum GigChannelEnum {
 	@EnumValue
 	private int code;
 
-	@JsonValue
 	private String desc;
 }

+ 11 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/gig/SysUserSignCertService.java

@@ -1,7 +1,10 @@
 package com.qunzhixinxi.hnqz.admin.service.gig;
 
+import com.qunzhixinxi.hnqz.admin.entity.SysUserSub;
 import com.qunzhixinxi.hnqz.admin.entity.dto.UserSignCertDTO;
 
+import java.util.List;
+
 /**
  * 用户签约认证服务
  *
@@ -10,6 +13,14 @@ import com.qunzhixinxi.hnqz.admin.entity.dto.UserSignCertDTO;
  */
 public interface SysUserSignCertService {
 
+	/**
+	 * 查询用户签约认证信息
+	 *
+	 * @param userId
+	 * @return
+	 */
+	List<SysUserSub> listUserSignCert(Integer userId);
+
 	/**
 	 * 保存用户基础信息
 	 *

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

@@ -26,7 +26,6 @@ import com.qunzhixinxi.hnqz.common.rabbitmq.client.RabbitMqClient;
 import com.qunzhixinxi.hnqz.common.security.util.SecurityUtils;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Service;
 
 import java.time.LocalDateTime;
@@ -49,10 +48,21 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
 
 	private final RabbitMqClient rabbitMqClient;
 
-	private final RedisTemplate redisTemplate;
-
 	private final UpmsConfig upmsConfig;
 
+	/**
+	 * 查询用户签约认证信息
+	 *
+	 * @param userId
+	 * @return
+	 */
+	@Override
+	public List<SysUserSub> listUserSignCert(Integer userId) {
+		List<SysUserSub> userSubList = sysUserSubService.list(Wrappers.<SysUserSub>lambdaQuery()
+				.eq(SysUserSub::getUserId, userId));
+		return userSubList;
+	}
+
 	/**
 	 * 保存用户基础信息
 	 *