|
@@ -4,6 +4,8 @@ import cn.hutool.core.bean.BeanUtil;
|
|
import cn.hutool.core.collection.CollUtil;
|
|
import cn.hutool.core.collection.CollUtil;
|
|
import cn.hutool.core.map.MapUtil;
|
|
import cn.hutool.core.map.MapUtil;
|
|
import cn.hutool.core.util.StrUtil;
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
|
+import cn.hutool.http.HttpUtil;
|
|
|
|
+import cn.hutool.json.JSONObject;
|
|
import cn.hutool.json.JSONUtil;
|
|
import cn.hutool.json.JSONUtil;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
@@ -15,12 +17,14 @@ import com.qunzhixinxi.hnqz.admin.api.entity.SysUser;
|
|
import com.qunzhixinxi.hnqz.admin.config.TaxNotifyConfig;
|
|
import com.qunzhixinxi.hnqz.admin.config.TaxNotifyConfig;
|
|
import com.qunzhixinxi.hnqz.admin.config.UpmsConfig;
|
|
import com.qunzhixinxi.hnqz.admin.config.UpmsConfig;
|
|
import com.qunzhixinxi.hnqz.admin.entity.SysDeptSub;
|
|
import com.qunzhixinxi.hnqz.admin.entity.SysDeptSub;
|
|
|
|
+import com.qunzhixinxi.hnqz.admin.entity.SysUserExtRecord;
|
|
import com.qunzhixinxi.hnqz.admin.entity.SysUserSub;
|
|
import com.qunzhixinxi.hnqz.admin.entity.SysUserSub;
|
|
import com.qunzhixinxi.hnqz.admin.entity.dto.UserSignCertDTO;
|
|
import com.qunzhixinxi.hnqz.admin.entity.dto.UserSignCertDTO;
|
|
import com.qunzhixinxi.hnqz.admin.entity.model.GigBaseInfoModel;
|
|
import com.qunzhixinxi.hnqz.admin.entity.model.GigBaseInfoModel;
|
|
import com.qunzhixinxi.hnqz.admin.entity.model.GigInfoModel;
|
|
import com.qunzhixinxi.hnqz.admin.entity.model.GigInfoModel;
|
|
import com.qunzhixinxi.hnqz.admin.entity.model.GigUserInfoModel;
|
|
import com.qunzhixinxi.hnqz.admin.entity.model.GigUserInfoModel;
|
|
import com.qunzhixinxi.hnqz.admin.entity.vo.SysUserSubVO;
|
|
import com.qunzhixinxi.hnqz.admin.entity.vo.SysUserSubVO;
|
|
|
|
+import com.qunzhixinxi.hnqz.admin.enums.DelEnum;
|
|
import com.qunzhixinxi.hnqz.admin.enums.GigCallBackStatus;
|
|
import com.qunzhixinxi.hnqz.admin.enums.GigCallBackStatus;
|
|
import com.qunzhixinxi.hnqz.admin.enums.GigChannelEnum;
|
|
import com.qunzhixinxi.hnqz.admin.enums.GigChannelEnum;
|
|
import com.qunzhixinxi.hnqz.admin.enums.GigTypeEnum;
|
|
import com.qunzhixinxi.hnqz.admin.enums.GigTypeEnum;
|
|
@@ -30,14 +34,18 @@ import com.qunzhixinxi.hnqz.admin.enums.MemberType;
|
|
import com.qunzhixinxi.hnqz.admin.enums.OladingCertStatus;
|
|
import com.qunzhixinxi.hnqz.admin.enums.OladingCertStatus;
|
|
import com.qunzhixinxi.hnqz.admin.enums.PayChannel;
|
|
import com.qunzhixinxi.hnqz.admin.enums.PayChannel;
|
|
import com.qunzhixinxi.hnqz.admin.enums.RenlijiaCertStatus;
|
|
import com.qunzhixinxi.hnqz.admin.enums.RenlijiaCertStatus;
|
|
|
|
+import com.qunzhixinxi.hnqz.admin.enums.SubjectChannel1;
|
|
import com.qunzhixinxi.hnqz.admin.enums.SubjectTypeEnum;
|
|
import com.qunzhixinxi.hnqz.admin.enums.SubjectTypeEnum;
|
|
import com.qunzhixinxi.hnqz.admin.enums.YeeCertStatus;
|
|
import com.qunzhixinxi.hnqz.admin.enums.YeeCertStatus;
|
|
import com.qunzhixinxi.hnqz.admin.service.SysDeptService;
|
|
import com.qunzhixinxi.hnqz.admin.service.SysDeptService;
|
|
import com.qunzhixinxi.hnqz.admin.service.SysDeptSubService;
|
|
import com.qunzhixinxi.hnqz.admin.service.SysDeptSubService;
|
|
|
|
+import com.qunzhixinxi.hnqz.admin.service.SysUserExtRecordService;
|
|
import com.qunzhixinxi.hnqz.admin.service.SysUserService;
|
|
import com.qunzhixinxi.hnqz.admin.service.SysUserService;
|
|
import com.qunzhixinxi.hnqz.admin.service.SysUserSubService;
|
|
import com.qunzhixinxi.hnqz.admin.service.SysUserSubService;
|
|
import com.qunzhixinxi.hnqz.admin.service.gig.SysUserSignCertService;
|
|
import com.qunzhixinxi.hnqz.admin.service.gig.SysUserSignCertService;
|
|
|
|
+import com.qunzhixinxi.hnqz.common.core.constant.CommonConstants;
|
|
import com.qunzhixinxi.hnqz.common.core.entity.BaseMap;
|
|
import com.qunzhixinxi.hnqz.common.core.entity.BaseMap;
|
|
|
|
+import com.qunzhixinxi.hnqz.common.core.util.R;
|
|
import com.qunzhixinxi.hnqz.common.rabbitmq.client.RabbitMqClient;
|
|
import com.qunzhixinxi.hnqz.common.rabbitmq.client.RabbitMqClient;
|
|
import com.qunzhixinxi.hnqz.common.security.service.HnqzUser;
|
|
import com.qunzhixinxi.hnqz.common.security.service.HnqzUser;
|
|
import com.qunzhixinxi.hnqz.common.security.util.SecurityUtils;
|
|
import com.qunzhixinxi.hnqz.common.security.util.SecurityUtils;
|
|
@@ -79,6 +87,8 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
|
|
|
|
|
|
private final SysDeptService sysDeptService;
|
|
private final SysDeptService sysDeptService;
|
|
|
|
|
|
|
|
+ private final SysUserExtRecordService sysUserExtRecordService;
|
|
|
|
+
|
|
private final RabbitMqClient rabbitMqClient;
|
|
private final RabbitMqClient rabbitMqClient;
|
|
|
|
|
|
private final UpmsConfig upmsConfig;
|
|
private final UpmsConfig upmsConfig;
|
|
@@ -87,6 +97,11 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
|
|
|
|
|
|
private final RedisTemplate redisTemplate;
|
|
private final RedisTemplate redisTemplate;
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
+ * 查询会员认证结果接口url
|
|
|
|
+ */
|
|
|
|
+ private static final String GIG_CERT_STATE = "/gig/v2/operation/cert/state";
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* 查询用户签约认证信息
|
|
* 查询用户签约认证信息
|
|
*
|
|
*
|
|
@@ -107,6 +122,7 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
|
|
* @param gigTypeList
|
|
* @param gigTypeList
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
|
|
+ @Deprecated
|
|
@Override
|
|
@Override
|
|
public List<SysUserSub> listUserSignCert(Integer userId, List<GigTypeEnum> gigTypeList) {
|
|
public List<SysUserSub> listUserSignCert(Integer userId, List<GigTypeEnum> gigTypeList) {
|
|
List<SysUserSub> userSubList = sysUserSubService.list(Wrappers.<SysUserSub>lambdaQuery()
|
|
List<SysUserSub> userSubList = sysUserSubService.list(Wrappers.<SysUserSub>lambdaQuery()
|
|
@@ -121,6 +137,7 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
|
|
* @param userId
|
|
* @param userId
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
|
|
+ @Deprecated
|
|
@Override
|
|
@Override
|
|
public List<SysUserSubVO> listUserSignCertForApi(Integer userId) {
|
|
public List<SysUserSubVO> listUserSignCertForApi(Integer userId) {
|
|
List<SysUserSub> userSubList = sysUserSubService.list(Wrappers.<SysUserSub>lambdaQuery()
|
|
List<SysUserSub> userSubList = sysUserSubService.list(Wrappers.<SysUserSub>lambdaQuery()
|
|
@@ -160,6 +177,32 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
|
|
return new ArrayList<>();
|
|
return new ArrayList<>();
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
+ * 查询用户认证状态
|
|
|
|
+ *
|
|
|
|
+ * @param idCard 身份证号
|
|
|
|
+ * @param enterprisCode 税号
|
|
|
|
+ * @param subjectChannel 渠道类型
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ @Override
|
|
|
|
+ public Map<String, Object> listCertInfo(String idCard, String enterprisCode, List<SubjectChannel1> subjectChannel) {
|
|
|
|
+ Map<String, Object> params = new HashMap<>(3);
|
|
|
|
+ params.put("idCard", idCard);
|
|
|
|
+ params.put("enterprisCode", enterprisCode);
|
|
|
|
+ params.put("subjectChannel", subjectChannel);
|
|
|
|
+ String postResult = HttpUtil.post(upmsConfig.getGigServiceUrl() + GIG_CERT_STATE, JSONUtil.toJsonStr(params));
|
|
|
|
+ log.info("查询用户认证状态返回:{}", postResult);
|
|
|
|
+ if (JSONUtil.isJsonObj(postResult)) {
|
|
|
|
+ JSONObject jsonResult = JSONUtil.parseObj(postResult);
|
|
|
|
+ if (CommonConstants.SUCCESS.equals(jsonResult.getInt("code"))) {
|
|
|
|
+ return jsonResult.getJSONObject("data");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return null;
|
|
|
|
+ }
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* 保存用户基础信息
|
|
* 保存用户基础信息
|
|
*
|
|
*
|
|
@@ -168,10 +211,10 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
|
|
@Override
|
|
@Override
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
public void saveBaseInfo(UserSignCertDTO userSignCertDTO) {
|
|
public void saveBaseInfo(UserSignCertDTO userSignCertDTO) {
|
|
- HnqzUser user = SecurityUtils.getUser();
|
|
|
|
- Integer operateUserId = user.getId();
|
|
|
|
- // 查询user
|
|
|
|
- SysUser queryUser = sysUserService.getById(userSignCertDTO.getUserId());
|
|
|
|
|
|
+// HnqzUser user = SecurityUtils.getUser();
|
|
|
|
+// Integer operateUserId = user.getId();
|
|
|
|
+// // 查询user
|
|
|
|
+// SysUser queryUser = sysUserService.getById(userSignCertDTO.getUserId());
|
|
|
|
|
|
if (StrUtil.isNotBlank(userSignCertDTO.getIdCardNumber()) || StrUtil.isNotBlank(userSignCertDTO.getBankPhone())
|
|
if (StrUtil.isNotBlank(userSignCertDTO.getIdCardNumber()) || StrUtil.isNotBlank(userSignCertDTO.getBankPhone())
|
|
|| StrUtil.isNotBlank(userSignCertDTO.getBankCardNumber())) {
|
|
|| StrUtil.isNotBlank(userSignCertDTO.getBankCardNumber())) {
|
|
@@ -181,52 +224,77 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
|
|
updateUser.setIdCardNumber(userSignCertDTO.getIdCardNumber());
|
|
updateUser.setIdCardNumber(userSignCertDTO.getIdCardNumber());
|
|
updateUser.setBankPhone(userSignCertDTO.getBankPhone());
|
|
updateUser.setBankPhone(userSignCertDTO.getBankPhone());
|
|
updateUser.setBankCardNumber(userSignCertDTO.getBankCardNumber());
|
|
updateUser.setBankCardNumber(userSignCertDTO.getBankCardNumber());
|
|
|
|
+ updateUser.setUpdateTime(LocalDateTime.now());
|
|
sysUserService.updateById(updateUser);
|
|
sysUserService.updateById(updateUser);
|
|
}
|
|
}
|
|
- // 更新用户签约认证主体信息
|
|
|
|
- userSignCertDTO.getGigTypeList().forEach(gigType -> {
|
|
|
|
- // 税邦云单独设置渠道类型
|
|
|
|
- GigChannelEnum gigChannel;
|
|
|
|
- if (GigTypeEnum.TAX_HELPOR.equals(gigType)) {
|
|
|
|
- // 读取用户所认证的企业的结算渠道
|
|
|
|
- SysDeptSub deptSub = sysDeptSubService.getOne(Wrappers.<SysDeptSub>lambdaQuery()
|
|
|
|
- .eq(SysDeptSub::getDeptId, queryUser.getDeptId())
|
|
|
|
- .eq(SysDeptSub::getSubjectType, GigTypeEnum.TAX_HELPOR.getCode())
|
|
|
|
- .eq(SysDeptSub::getEnableFlag, SubjectTypeEnum.ENABLE_FLAG_TRUE.getCode()));
|
|
|
|
- if (deptSub != null) {
|
|
|
|
- gigChannel = GigChannelEnum.resolve(Integer.parseInt(deptSub.getSubjectType()));
|
|
|
|
- } else {
|
|
|
|
- gigChannel = GigChannelEnum.DEFAULT;
|
|
|
|
- }
|
|
|
|
- } else {
|
|
|
|
- gigChannel = GigChannelEnum.DEFAULT;
|
|
|
|
- }
|
|
|
|
- SysUserSub queryUserSub = sysUserSubService.getOne(Wrappers.<SysUserSub>lambdaQuery()
|
|
|
|
- .eq(SysUserSub::getUserId, userSignCertDTO.getUserId())
|
|
|
|
- .eq(SysUserSub::getGigType, gigType));
|
|
|
|
- if (queryUserSub != null) {
|
|
|
|
- SysUserSub updateUserSub = new SysUserSub();
|
|
|
|
- updateUserSub.setId(queryUserSub.getId());
|
|
|
|
- updateUserSub.setCallbackStatus(GigCallBackStatus.NOT_SUBMIT);
|
|
|
|
- updateUserSub.setGigChannel(gigChannel);
|
|
|
|
- updateUserSub.setBankCardNumber(userSignCertDTO.getBankCardNumber());
|
|
|
|
- updateUserSub.setUpdateTime(LocalDateTime.now());
|
|
|
|
- updateUserSub.setUpdateUser(operateUserId);
|
|
|
|
- sysUserSubService.updateById(updateUserSub);
|
|
|
|
- } else {
|
|
|
|
- SysUserSub userSub = new SysUserSub();
|
|
|
|
- userSub.setUserId(userSignCertDTO.getUserId());
|
|
|
|
- userSub.setDeptId(queryUser.getDeptId());
|
|
|
|
- userSub.setGigType(gigType);
|
|
|
|
- userSub.setGigChannel(gigChannel);
|
|
|
|
- userSub.setCallbackStatus(GigCallBackStatus.NOT_SUBMIT);
|
|
|
|
- userSub.setBankCardNumber(userSignCertDTO.getBankCardNumber());
|
|
|
|
- userSub.setBankPhone(userSignCertDTO.getBankPhone());
|
|
|
|
- userSub.setCreateUser(operateUserId);
|
|
|
|
- userSub.setCreateTime(LocalDateTime.now());
|
|
|
|
- sysUserSubService.save(userSub);
|
|
|
|
- }
|
|
|
|
- });
|
|
|
|
|
|
+// // 更新用户签约认证主体信息
|
|
|
|
+// userSignCertDTO.getGigTypeList().forEach(gigType -> {
|
|
|
|
+// // 税邦云单独设置渠道类型
|
|
|
|
+// GigChannelEnum gigChannel;
|
|
|
|
+// if (GigTypeEnum.TAX_HELPOR.equals(gigType)) {
|
|
|
|
+// // 读取用户所认证的企业的结算渠道
|
|
|
|
+// SysDeptSub deptSub = sysDeptSubService.getOne(Wrappers.<SysDeptSub>lambdaQuery()
|
|
|
|
+// .eq(SysDeptSub::getDeptId, queryUser.getDeptId())
|
|
|
|
+// .eq(SysDeptSub::getSubjectType, GigTypeEnum.TAX_HELPOR.getCode())
|
|
|
|
+// .eq(SysDeptSub::getEnableFlag, SubjectTypeEnum.ENABLE_FLAG_TRUE.getCode()));
|
|
|
|
+// if (deptSub != null) {
|
|
|
|
+// gigChannel = GigChannelEnum.resolve(Integer.parseInt(deptSub.getSubjectType()));
|
|
|
|
+// } else {
|
|
|
|
+// gigChannel = GigChannelEnum.DEFAULT;
|
|
|
|
+// }
|
|
|
|
+// } else {
|
|
|
|
+// gigChannel = GigChannelEnum.DEFAULT;
|
|
|
|
+// }
|
|
|
|
+// SysUserSub queryUserSub = sysUserSubService.getOne(Wrappers.<SysUserSub>lambdaQuery()
|
|
|
|
+// .eq(SysUserSub::getUserId, userSignCertDTO.getUserId())
|
|
|
|
+// .eq(SysUserSub::getGigType, gigType));
|
|
|
|
+// if (queryUserSub != null) {
|
|
|
|
+// SysUserSub updateUserSub = new SysUserSub();
|
|
|
|
+// updateUserSub.setId(queryUserSub.getId());
|
|
|
|
+// updateUserSub.setCallbackStatus(GigCallBackStatus.NOT_SUBMIT);
|
|
|
|
+// updateUserSub.setGigChannel(gigChannel);
|
|
|
|
+// updateUserSub.setBankCardNumber(userSignCertDTO.getBankCardNumber());
|
|
|
|
+// updateUserSub.setUpdateTime(LocalDateTime.now());
|
|
|
|
+// updateUserSub.setUpdateUser(operateUserId);
|
|
|
|
+// sysUserSubService.updateById(updateUserSub);
|
|
|
|
+// } else {
|
|
|
|
+// SysUserSub userSub = new SysUserSub();
|
|
|
|
+// userSub.setUserId(userSignCertDTO.getUserId());
|
|
|
|
+// userSub.setDeptId(queryUser.getDeptId());
|
|
|
|
+// userSub.setGigType(gigType);
|
|
|
|
+// userSub.setGigChannel(gigChannel);
|
|
|
|
+// userSub.setCallbackStatus(GigCallBackStatus.NOT_SUBMIT);
|
|
|
|
+// userSub.setBankCardNumber(userSignCertDTO.getBankCardNumber());
|
|
|
|
+// userSub.setBankPhone(userSignCertDTO.getBankPhone());
|
|
|
|
+// userSub.setCreateUser(operateUserId);
|
|
|
|
+// userSub.setCreateTime(LocalDateTime.now());
|
|
|
|
+// sysUserSubService.save(userSub);
|
|
|
|
+// }
|
|
|
|
+// });
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 保存E证通认证结果
|
|
|
|
+ *
|
|
|
|
+ * @param userExtRecord
|
|
|
|
+ */
|
|
|
|
+ @Override
|
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
|
+ public void saveEidResult(SysUserExtRecord userExtRecord) {
|
|
|
|
+ HnqzUser hnqzUser = SecurityUtils.getUser();
|
|
|
|
+
|
|
|
|
+ // 作废已有数据
|
|
|
|
+ sysUserExtRecordService.update(Wrappers.<SysUserExtRecord>lambdaUpdate()
|
|
|
|
+ .eq(SysUserExtRecord::getUserId, hnqzUser.getId())
|
|
|
|
+ .eq(SysUserExtRecord::getDelFlag, DelEnum.NOT_DEL.val())
|
|
|
|
+ .set(SysUserExtRecord::getDelFlag, DelEnum.DELETED.val()));
|
|
|
|
+ // 新增一条数据
|
|
|
|
+ SysUserExtRecord insertExtRecord = BeanUtil.copyProperties(userExtRecord, SysUserExtRecord.class);
|
|
|
|
+ insertExtRecord.setUserId(hnqzUser.getId());
|
|
|
|
+ insertExtRecord.setDeptId(hnqzUser.getDeptId());
|
|
|
|
+ insertExtRecord.setCreateTime(LocalDateTime.now());
|
|
|
|
+ insertExtRecord.setCreateUser(hnqzUser.getId());
|
|
|
|
+ sysUserExtRecordService.save(insertExtRecord);
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|