|
|
@@ -3,6 +3,7 @@ package com.ydtech.modules.admin.service.impl;
|
|
|
import cn.dev33.satoken.session.SaSession;
|
|
|
import cn.dev33.satoken.stp.StpUtil;
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
+import cn.hutool.core.collection.CollUtil;
|
|
|
import cn.hutool.extra.spring.SpringUtil;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
@@ -19,29 +20,37 @@ import com.ydtech.core.page.HttpResult;
|
|
|
import com.ydtech.core.page.PageResult;
|
|
|
import com.ydtech.exception.SystemException;
|
|
|
import com.ydtech.handler.CreateAndUpdateMetaObjectHandler;
|
|
|
-import com.ydtech.modules.admin.constants.QuMarks;
|
|
|
-import com.ydtech.modules.admin.constants.RoleConstants;
|
|
|
-import com.ydtech.modules.admin.constants.UserWorkStatus;
|
|
|
+import com.ydtech.modules.admin.components.UnionPayRequestApiComponent;
|
|
|
+import com.ydtech.modules.admin.components.request.UnionPayRequest;
|
|
|
+import com.ydtech.modules.admin.components.response.UnionPayResponse;
|
|
|
+import com.ydtech.modules.admin.constants.*;
|
|
|
import com.ydtech.modules.admin.dao.SysDeptMapper;
|
|
|
import com.ydtech.modules.admin.dao.SysPartnerMapper;
|
|
|
import com.ydtech.modules.admin.dao.SysUserLinkAreaMapper;
|
|
|
import com.ydtech.modules.admin.dao.SysUserMapper;
|
|
|
import com.ydtech.modules.admin.model.*;
|
|
|
import com.ydtech.modules.admin.model.dto.*;
|
|
|
+import com.ydtech.modules.admin.model.po.SysUserAgentTrack;
|
|
|
import com.ydtech.modules.admin.model.po.SysUserIsDial;
|
|
|
import com.ydtech.modules.admin.model.po.SysUserTreeShowLevel;
|
|
|
import com.ydtech.modules.admin.model.vo.*;
|
|
|
import com.ydtech.modules.admin.service.*;
|
|
|
import com.ydtech.modules.admin.utils.RecordUserUtils;
|
|
|
+import com.ydtech.modules.admin.utils.UserAgentTrackUtils;
|
|
|
import com.ydtech.modules.base.controller.BaseController;
|
|
|
import com.ydtech.modules.base.model.dto.PageDto;
|
|
|
import com.ydtech.modules.base.model.vo.PageVo;
|
|
|
import com.ydtech.modules.esm.model.EsmUserImage;
|
|
|
import com.ydtech.modules.esm.model.EsmUserReferrer;
|
|
|
+import com.ydtech.modules.esm.model.vo.EsmUserImageQueryVo;
|
|
|
import com.ydtech.modules.esm.model.vo.EsmUserImageVo;
|
|
|
import com.ydtech.modules.esm.service.EsmUserImageService;
|
|
|
import com.ydtech.modules.esm.service.EsmUserReferrerService;
|
|
|
+import com.ydtech.modules.message.constants.MessageTypeConstants;
|
|
|
+import com.ydtech.modules.message.service.MessageSecretaryService;
|
|
|
+import com.ydtech.modules.protocol.utils.AssertionUtils;
|
|
|
import com.ydtech.security.utils.PasswordUtils;
|
|
|
+import com.ydtech.utils.IDCardUtils;
|
|
|
import com.ydtech.utils.StringUtils;
|
|
|
import com.ydtech.utils.idgen.IdGenerate;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
@@ -128,8 +137,21 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
@Resource
|
|
|
private SysPartnerMapper sysPartnerMapper;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private MessageSecretaryService messageSecretaryService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private UnionPayRequestApiComponent unionPayRequestApiComponent;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private SysUserAgentTrackService sysUserAgentTrackService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private SysUserBankCardService bankCardService;
|
|
|
+
|
|
|
@Value("${httpUrl}")
|
|
|
private String httpUrl;
|
|
|
+
|
|
|
@Override
|
|
|
public IPage<SysUserBaseVO> findUserList(PageDto<SysUserDto> pageDto) {
|
|
|
PageVo<SysUserBaseVO> pageVo = new PageVo();
|
|
|
@@ -302,15 +324,15 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
return HttpResult.error("手机号不能为空");
|
|
|
}
|
|
|
// if ("0".equals(type)) { // 0 登录 1 注册
|
|
|
- SysUser sysUser = this.findByPhone(phone);
|
|
|
- if (sysUser == null) {
|
|
|
- return HttpResult.error("手机号不存在!");
|
|
|
- }
|
|
|
+ SysUser sysUser = this.findByPhone(phone);
|
|
|
+ if (sysUser == null) {
|
|
|
+ return HttpResult.error("手机号不存在!");
|
|
|
+ }
|
|
|
// }
|
|
|
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
String timeCreate = simpleDateFormat.format(sysUser.getCreateTime());
|
|
|
String userId = sysUser.getId();
|
|
|
- List<SysUserTrack> sysUserTracks = sysUserTrackService.list(new LambdaQueryWrapper<SysUserTrack>().eq(SysUserTrack::getUserId,userId).orderByDesc(SysUserTrack::getApproveTime));
|
|
|
+ List<SysUserTrack> sysUserTracks = sysUserTrackService.list(new LambdaQueryWrapper<SysUserTrack>().eq(SysUserTrack::getUserId, userId).orderByDesc(SysUserTrack::getApproveTime));
|
|
|
SysUserTrack sysUserTrack = sysUserTracks.get(0);
|
|
|
|
|
|
Integer type = sysUser.getType();
|
|
|
@@ -342,7 +364,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
Map params = new HashMap();//请求参数
|
|
|
params.put("mobile", phone);//接收短信的手机号码
|
|
|
params.put("tpl_id", "265910");//短信模板ID,请参考个人中心短信模板设置
|
|
|
- params.put("vars",varsJson);
|
|
|
+ params.put("vars", varsJson);
|
|
|
params.put("key", "fbe7b165e9e13e52f3b1f2654eab9c0e");//应用APPKEY(应用详细页查询)
|
|
|
params.put("dtype", "json");//返回数据的格式,xml或json,默认json
|
|
|
|
|
|
@@ -944,14 +966,14 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
esmUserImageService.saveBatch(esmUserImages);
|
|
|
}
|
|
|
SpringUtil.getBean(RecordUserUtils.class).addRecord(userId, userId);
|
|
|
- return HttpResult.ok("新增成功",sysUserMapper.selectById(userId));
|
|
|
+ return HttpResult.ok("新增成功", sysUserMapper.selectById(userId));
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public HttpResult saveUserInfo1(SysUser2Vo sysUserVo) {
|
|
|
|
|
|
- log.info("添加团队入参:{}",sysUserVo);
|
|
|
+ log.info("添加团队入参:{}", sysUserVo);
|
|
|
SysUser sysUser = sysUserVo.getSysUser();
|
|
|
sysUser.setType(3);
|
|
|
sysUser.setCreateTime(new Date());
|
|
|
@@ -1107,7 +1129,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
esmUserImageService.saveBatch(esmUserImages);
|
|
|
}
|
|
|
SpringUtil.getBean(RecordUserUtils.class).addRecord(userId, userId);
|
|
|
- return HttpResult.ok("新增成功",sysUserMapper.selectById(userId));
|
|
|
+ return HttpResult.ok("新增成功", sysUserMapper.selectById(userId));
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -1211,6 +1233,14 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
userId = sysUser.getId();
|
|
|
updateById(sysUser);
|
|
|
}
|
|
|
+
|
|
|
+ if(StringUtils.isEmpty(sysUser.getLeaderId())){
|
|
|
+ SysUser leaderUser = baseMapper.getByRoleIdAndDeptId("21", sysUser.getDeptId());
|
|
|
+ sysUser.setLeaderId(leaderUser.getLeaderId());
|
|
|
+ sysUser.setLeaderName(leaderUser.getLeaderName());
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
SysUserInfo sysUserInfo = sysUserVo.getSysUserInfo();
|
|
|
sysUserInfo.setId(userId);
|
|
|
sysUserInfoService.saveOrUpdate(sysUserInfo);
|
|
|
@@ -1218,6 +1248,17 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
sysUser.setStatus(sysUserVo.getSysUser().getStatus());
|
|
|
updateById(sysUser);
|
|
|
|
|
|
+ SysDept sysDept = sysDeptService.getById(sysUser.getDeptId());
|
|
|
+ // 渠道负责人更新数据
|
|
|
+ if (ManagementSource.MS_01.getCode().equals(sysDept.getManagementSource()) && "21".equals(sysUser.getRoleId())) {
|
|
|
+ boolean update = lambdaUpdate()
|
|
|
+ .set(SysUser::getLeaderId, sysUser.getLeaderId())
|
|
|
+ .set(SysUser::getLeaderName, sysUser.getLeaderName())
|
|
|
+ .eq(SysUser::getDeptId, sysDept.getId())
|
|
|
+ .update();
|
|
|
+ AssertionUtils.isSucceed(update, "出单员数据更新失败");
|
|
|
+ }
|
|
|
+
|
|
|
//角色配置
|
|
|
SysUserRole sysUserRole = sysUserRoleService.selectByUserId(userId);
|
|
|
sysUserRole.setRoleId(StringUtils.toLong(sysUser.getRoleId()));
|
|
|
@@ -1338,10 +1379,29 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
userId = sysUser.getId();
|
|
|
updateById(sysUser);
|
|
|
}
|
|
|
+
|
|
|
+ if(StringUtils.isEmpty(sysUser.getLeaderId())){
|
|
|
+ SysUser leaderUser = baseMapper.getByRoleIdAndDeptId("21", sysUser.getDeptId());
|
|
|
+ sysUser.setLeaderId(leaderUser.getLeaderId());
|
|
|
+ sysUser.setLeaderName(leaderUser.getLeaderName());
|
|
|
+ }
|
|
|
+
|
|
|
SysUserInfo sysUserInfo = sysUserVo.getSysUserInfo();
|
|
|
sysUserInfo.setId(userId);
|
|
|
sysUserInfoService.saveOrUpdate(sysUserInfo);
|
|
|
} else {
|
|
|
+
|
|
|
+ SysDept sysDept = sysDeptService.getById(sysUser.getDeptId());
|
|
|
+ // 渠道负责人更新数据
|
|
|
+ if (ManagementSource.MS_01.getCode().equals(sysDept.getManagementSource()) && "21".equals(sysUser.getRoleId())) {
|
|
|
+ boolean update = lambdaUpdate()
|
|
|
+ .set(SysUser::getLeaderId, sysUser.getLeaderId())
|
|
|
+ .set(SysUser::getLeaderName, sysUser.getLeaderName())
|
|
|
+ .eq(SysUser::getDeptId, sysDept.getId())
|
|
|
+ .update();
|
|
|
+ AssertionUtils.isSucceed(update, "出单员数据更新失败");
|
|
|
+ }
|
|
|
+
|
|
|
sysUser.setStatus(sysUserVo.getSysUser().getStatus());
|
|
|
// 设置跳过填充
|
|
|
CreateAndUpdateMetaObjectHandler.setSkipFill(true);
|
|
|
@@ -2268,7 +2328,6 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
}
|
|
|
|
|
|
|
|
|
-
|
|
|
@Override
|
|
|
public HttpResult updateManagementPersonnel(UpdateManagementDto managementDto) {
|
|
|
try {
|
|
|
@@ -2301,11 +2360,12 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
public List<SysUser> findDxUserList() {
|
|
|
return sysUserMapper.findDxUserList();
|
|
|
}
|
|
|
+
|
|
|
/**
|
|
|
- * @version
|
|
|
- * @author: hxl
|
|
|
- * @Date: 2024/9/25 19:23
|
|
|
- * @Description: 查询用户管理的电销组员
|
|
|
+ * @version
|
|
|
+ * @author: hxl
|
|
|
+ * @Date: 2024/9/25 19:23
|
|
|
+ * @Description: 查询用户管理的电销组员
|
|
|
*/
|
|
|
@Override
|
|
|
public List<String> getGroupByUserId(String userId) {
|
|
|
@@ -2330,11 +2390,11 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
List<SysDeptTreeVo> sysDeptTreeVos = BeanUtil.copyToList(sysDeptList, SysDeptTreeVo.class);
|
|
|
Map<String, List<SysDeptTreeVo>> map = sysDeptTreeVos.stream().sorted(Comparator.comparing(SysDeptTreeVo::getId)).collect(Collectors.groupingBy(SysDeptTreeVo::getParentId));
|
|
|
sysDeptTreeVos.forEach(i -> {
|
|
|
- if(map.get(i.getId()) ==null ){
|
|
|
+ if (map.get(i.getId()) == null) {
|
|
|
List<SysUser> orDefault = groupedByDeptId.getOrDefault(i.getId(), new ArrayList<>());
|
|
|
List<SysDeptTreeVo> sysDeptTreeVos1 = BeanUtil.copyToList(orDefault, SysDeptTreeVo.class);
|
|
|
i.setChildren(sysDeptTreeVos1);
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
i.setChildren(map.getOrDefault(i.getId(), new ArrayList<>()));
|
|
|
i.setDeptCount(i.getChildren().size());
|
|
|
}
|
|
|
@@ -2343,8 +2403,10 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
|
|
|
return sysDeptTreeVos;
|
|
|
}
|
|
|
+
|
|
|
/**
|
|
|
* 获取人员数
|
|
|
+ *
|
|
|
* @return
|
|
|
*/
|
|
|
@Override
|
|
|
@@ -2364,10 +2426,8 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
- public boolean addInfo(SysUser sysUser) {
|
|
|
- SysUserTrack sysUserTrack = new SysUserTrack(sysUser);
|
|
|
+ public void addInfo(SysUser sysUser) {
|
|
|
|
|
|
- sysUserTrackService.save(sysUserTrack);
|
|
|
Integer type = sysUser.getType();
|
|
|
if (type == 1) {
|
|
|
SysPartner sysPartner = sysPartnerMapper.selectOne(new LambdaQueryWrapper<SysPartner>().eq(SysPartner::getUserId, sysUser.getId()));
|
|
|
@@ -2382,7 +2442,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
sysPartnerDto.setLevel(sysUser.getLevel());
|
|
|
sysPartnerService.insert(sysPartnerDto);
|
|
|
}
|
|
|
- } else if (type == 2){
|
|
|
+ } else if (type == 2) {
|
|
|
SysDept sysDept = sysDeptService.getById(sysUser.getDeptId());
|
|
|
SysDept sysDeptParent = sysDeptService.getById(sysDept.getParentId());
|
|
|
SysUser sysUserReferrerId = this.getById(sysUser.getReferrerId());
|
|
|
@@ -2416,9 +2476,191 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
sysAgencyLeaderService.insert(sysAgencyLeaderDto);
|
|
|
}
|
|
|
|
|
|
- return this.updateById(sysUser);
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
+ @Override
|
|
|
+ @Transactional
|
|
|
+ public String agentRegist(AgentUserNewDto dto, SysUser recommender) {
|
|
|
+ int noCount = 3;
|
|
|
+ //根据机构号获取userid最大值,不需要加人员类型判断 从sys_user获取
|
|
|
+ String maxId = this.findMaxId(recommender.getDeptId());
|
|
|
+ String nextPK = StringUtils.isNullOrEmpty(maxId) ? recommender.getDeptId() + "001"
|
|
|
+ : IdGenerate.nextCode(maxId, noCount);
|
|
|
+ SysUser sysUser = new SysUser();
|
|
|
+ sysUser.setId(nextPK);
|
|
|
+ sysUser.setName(dto.getName());
|
|
|
+ sysUser.setMobile(dto.getMobile());
|
|
|
+ sysUser.setDeptId(recommender.getDeptId());
|
|
|
+ //密码加密
|
|
|
+ String salt = PasswordUtils.getSalt();
|
|
|
+ sysUser.setSalt(salt);
|
|
|
+ String password = PasswordUtils.encode(dto.getPassword(), salt);
|
|
|
+ sysUser.setPassword(password);
|
|
|
+ sysUser.setStatus(UserWorkStatus.UWS_0.getCode());
|
|
|
+ sysUser.setCreateBy("admin");
|
|
|
+ sysUser.setCreateTime(new Date());
|
|
|
+ sysUser.setFactorVerify(0); // 未认证状态
|
|
|
+ sysUser.setUpdateTime(new Date());
|
|
|
+ sysUser.setUpdateBy("admin");
|
|
|
+ this.save(sysUser);
|
|
|
+ //角色配置
|
|
|
+ SysUserRole userRole = new SysUserRole();
|
|
|
+ userRole.setUserId(nextPK);
|
|
|
+ userRole.setRoleId(20l);
|
|
|
+ sysUserRoleService.save(userRole);
|
|
|
+ //添加增员服务消息
|
|
|
+ //添加订单消息
|
|
|
+ messageSecretaryService.addMessage(MessageTypeConstants.M_6, dto.getReferrerId(),
|
|
|
+ dto.getMobile() + "(" + dto.getName() + ")" + "进行注册,请立即认证审核.");
|
|
|
+ esmUserReferrerService.addReferrer(dto.getReferrerId(), nextPK);
|
|
|
+
|
|
|
+ // 保存个代认证轨迹
|
|
|
+ SpringUtil.getBean(UserAgentTrackUtils.class).addTrack(
|
|
|
+ sysUser.getId(), UserAgentStatus.UAS_0.getCode(),
|
|
|
+ "admin");
|
|
|
+ return sysUser.getId();
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @Transactional
|
|
|
+ public SysUserAgentVo agentAuth(SysUser sysUser, AgentAuthDto dto) {
|
|
|
+ SysUser user = this.getById(sysUser.getId());
|
|
|
+ String msg;
|
|
|
+ Integer status;
|
|
|
+ SysUserAgentVo userAgentVo = new SysUserAgentVo();
|
|
|
+ // 三要素认证
|
|
|
+ UnionPayRequest request = new UnionPayRequest();
|
|
|
+ request.setName(dto.getName());
|
|
|
+ request.setPhoneNo(dto.getMobile());
|
|
|
+ request.setCertNo(dto.getIdentity());
|
|
|
+ UnionPayResponse response = unionPayRequestApiComponent.threeFactorVerifyRequest(request);
|
|
|
+ if (response != null && !"00".equals(response.getRespCode())) {
|
|
|
+ msg = "认证信息不一致:" + response.getDetailRespMsg();
|
|
|
+ status = UserAgentStatus.UAS_2.getCode();
|
|
|
+ user.setFactorVerify(2); // 认证失败 即未认证状态
|
|
|
+ userAgentVo.setStatus(status);
|
|
|
+ userAgentVo.setDesc(msg);
|
|
|
+ } else {
|
|
|
+ msg = "认证成功";
|
|
|
+ status = UserAgentStatus.UAS_1.getCode();
|
|
|
+ user.setFactorVerify(1);
|
|
|
+ user.setStatus(UserWorkStatus.UWS_8.getCode());
|
|
|
+ userAgentVo.setStatus(status);
|
|
|
+ }
|
|
|
+ user.setName(dto.getName());
|
|
|
+ user.setMobile(dto.getMobile());
|
|
|
+ user.setIdentity(dto.getIdentity());
|
|
|
+ user.setIdentityTime(dto.getIdentityTime());
|
|
|
+ user.setUpdateBy("admin");
|
|
|
+ user.setUpdateTime(new Date());
|
|
|
+ this.saveOrUpdate(user);
|
|
|
+
|
|
|
+ SysUserInfo sysUserInfo = new SysUserInfo();
|
|
|
+ sysUserInfo.setId(user.getId());
|
|
|
+ // 根据身份证获取出生日期和性别
|
|
|
+ sysUserInfo.setBirthday(LocalDate.parse(IDCardUtils.GetBirthday(dto.getIdentity())));
|
|
|
+ sysUserInfo.setSex(IDCardUtils.GetSex(dto.getIdentity()).equalsIgnoreCase("FEMALE") ? "F" : "M");
|
|
|
+ sysUserInfo.setBankName(dto.getBankName());
|
|
|
+ sysUserInfo.setAccountno(dto.getAccountno());
|
|
|
+ sysUserInfoService.saveOrUpdate(sysUserInfo);
|
|
|
+ // 影像资料
|
|
|
+ LambdaQueryWrapper<EsmUserImage> wrapper = new LambdaQueryWrapper<>();
|
|
|
+ wrapper.eq(EsmUserImage::getUserId, user.getId());
|
|
|
+ esmUserImageService.remove(wrapper);
|
|
|
+
|
|
|
+ List<EsmUserImageVo> esmUserImageVo = dto.getEsmUserImageVo();
|
|
|
+ String finalUserId = user.getId();
|
|
|
+ List<EsmUserImage> esmUserImages = esmUserImageVo.stream().map(x -> new EsmUserImage(x, finalUserId)).collect(Collectors.toList());
|
|
|
+ esmUserImageService.saveBatch(esmUserImages);
|
|
|
+ // 保存个代认证轨迹
|
|
|
+ SpringUtil.getBean(UserAgentTrackUtils.class).addTrack(
|
|
|
+ user.getId(), status,
|
|
|
+ BaseController.getUserName(),
|
|
|
+ null, msg);
|
|
|
+ return userAgentVo;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public SysUserAgentVo getAuthResult(SysUser sysUser, AgentAuthResultDto dto) {
|
|
|
+ SysUser user = this.getById(sysUser.getId());
|
|
|
+ SysUserInfo info = sysUserInfoService.getById(sysUser.getId());
|
|
|
+ SysUserAgentVo userAgentVo = new SysUserAgentVo();
|
|
|
+ userAgentVo.setSysUser(user);
|
|
|
+ if (Objects.nonNull(info)) {
|
|
|
+ userAgentVo.setSysUserInfo(info);
|
|
|
+ }
|
|
|
+
|
|
|
+ if (UserWorkStatus.UWS_0.getCode().equals(user.getStatus()) && user.getFactorVerify().equals(2)) {
|
|
|
+ SysUserAgentTrack track = sysUserAgentTrackService.queryTrack(sysUser.getId(),
|
|
|
+ UserAgentStatus.UAS_2.getCode());
|
|
|
+ if (Objects.nonNull(track)) {
|
|
|
+ userAgentVo.setDesc(track.getApproveMess());
|
|
|
+ }
|
|
|
+ } else if (UserWorkStatus.UWS_3.getCode().equals(user.getStatus())) {
|
|
|
+ userAgentVo.setDesc(sysUserTrackService.getApproveMessByUserId(sysUser.getId(), "1"));
|
|
|
+ }
|
|
|
+ List<EsmUserImageQueryVo> esmUserImageQueryVo = esmUserImageService.getEsmUserImageQueryVo(sysUser.getId());
|
|
|
+ if (CollUtil.isNotEmpty(esmUserImageQueryVo)) {
|
|
|
+ userAgentVo.setEsmUserImageVo(esmUserImageQueryVo);
|
|
|
+ }
|
|
|
+ return userAgentVo;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ @Transactional
|
|
|
+ public void agentSubmit(SysUser user, AgentSubmitDto dto) {
|
|
|
+ SysUserInfo info = sysUserInfoService.getById(user.getId());
|
|
|
+ // 银行卡认证
|
|
|
+ UnionPayRequest request = new UnionPayRequest();
|
|
|
+ request.setName(user.getName());
|
|
|
+ request.setPhoneNo(user.getMobile());
|
|
|
+ request.setCertNo(user.getIdentity());
|
|
|
+ request.setCardNo(dto.getBankName());
|
|
|
+ UnionPayResponse response = unionPayRequestApiComponent.bankCardVerifyRequest(request);
|
|
|
+ String msg;
|
|
|
+ Integer status;
|
|
|
+ if (response != null && !"00".equals(response.getRespCode())) {
|
|
|
+ msg = "认证信息不一致:" + response.getDetailRespMsg();
|
|
|
+ status = UserAgentStatus.UAS_4.getCode();
|
|
|
+ } else {
|
|
|
+ msg = "银行卡认证成功";
|
|
|
+ status = UserAgentStatus.UAS_3.getCode();
|
|
|
+ SysUserBankCardVO sysUserBankCardVO = new SysUserBankCardVO();
|
|
|
+ sysUserBankCardVO.setUserId(dto.getUserId());
|
|
|
+ sysUserBankCardVO.setBankNumber(dto.getBankName());
|
|
|
+ sysUserBankCardVO.setBankAccount(dto.getAccountno());
|
|
|
+ sysUserBankCardVO.setPhoneNo(user.getMobile());
|
|
|
+ sysUserBankCardVO.setRealUserName(user.getName());
|
|
|
+ sysUserBankCardVO.setUserName(user.getName());
|
|
|
+ bankCardService.insertByBankNumber(sysUserBankCardVO);
|
|
|
+ }
|
|
|
+ // 保存个代银行卡认证轨迹
|
|
|
+ SpringUtil.getBean(UserAgentTrackUtils.class).addTrack(
|
|
|
+ user.getId(), status,
|
|
|
+ BaseController.getUserName(),
|
|
|
+ null, msg);
|
|
|
+
|
|
|
+ user.setStatus(UserWorkStatus.UWS_2.getCode());
|
|
|
+ user.setUpdateBy("admin");
|
|
|
+ user.setUpdateTime(new Date());
|
|
|
+ this.saveOrUpdate(user);
|
|
|
+ info.setBankName(dto.getBankName());
|
|
|
+ info.setAccountno(dto.getAccountno());
|
|
|
+ sysUserInfoService.saveOrUpdate(info);
|
|
|
+ // 影像资料
|
|
|
+ LambdaQueryWrapper<EsmUserImage> wrapper = new LambdaQueryWrapper<>();
|
|
|
+ wrapper.eq(EsmUserImage::getUserId, user.getId());
|
|
|
+ esmUserImageService.remove(wrapper);
|
|
|
+
|
|
|
+ List<EsmUserImageVo> esmUserImageVo = dto.getEsmUserImageVo();
|
|
|
+ String finalUserId = user.getId();
|
|
|
+ List<EsmUserImage> esmUserImages = esmUserImageVo.stream().map(x -> new EsmUserImage(x, finalUserId)).collect(Collectors.toList());
|
|
|
+ esmUserImageService.saveBatch(esmUserImages);
|
|
|
+ }
|
|
|
|
|
|
+ @Override
|
|
|
+ public SysUser getByRoleIdAndDeptId(String roleId, String deptId) {
|
|
|
+ return baseMapper.getByRoleIdAndDeptId(roleId, deptId);
|
|
|
+ }
|
|
|
}
|