|
|
@@ -4,13 +4,14 @@ import cn.hutool.core.collection.CollUtil;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
-import com.jzg.commons.entity.dto.AuthInfoAddParam;
|
|
|
-import com.jzg.commons.entity.dto.BusinessInfoAddParam;
|
|
|
-import com.jzg.commons.entity.po.SysUser;
|
|
|
-import com.jzg.commons.entity.po.SysUserJzgApp;
|
|
|
-import com.jzg.commons.entity.po.SysUserJzgInfo;
|
|
|
-import com.jzg.commons.entity.po.SysUserJzgInfoFile;
|
|
|
+import com.jzg.commons.entity.dto.*;
|
|
|
+import com.jzg.commons.entity.po.*;
|
|
|
import com.jzg.commons.entity.vo.AuthInfoVo;
|
|
|
+import com.jzg.commons.entity.vo.SystemListVo;
|
|
|
+import com.jzg.commons.entity.vo.UserInfoVo;
|
|
|
+import com.jzg.commons.util.AssertionUtils;
|
|
|
+import com.jzg.commons.util.MinioUtils;
|
|
|
+import com.jzg.commons.util.StringUtils;
|
|
|
import com.jzg.organization.component.UnionPayRequestApiComponent;
|
|
|
import com.jzg.organization.component.request.UnionPayRequest;
|
|
|
import com.jzg.organization.component.response.UnionPayResponse;
|
|
|
@@ -18,14 +19,15 @@ import com.jzg.organization.mapper.SysUploadFilesMapper;
|
|
|
import com.jzg.organization.mapper.SysUserJzgAppMapper;
|
|
|
import com.jzg.organization.mapper.SysUserJzgInfoFileMapper;
|
|
|
import com.jzg.organization.mapper.SysUserMapper;
|
|
|
-import com.jzg.organization.service.SysUserJzgAppService;
|
|
|
-import com.jzg.organization.service.SysUserJzgInfoFileService;
|
|
|
+import com.jzg.organization.service.*;
|
|
|
+import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import java.awt.*;
|
|
|
import java.util.List;
|
|
|
import java.util.Objects;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
@Service
|
|
|
public class SysUserJzgAppServiceImpl extends ServiceImpl<SysUserJzgAppMapper, SysUserJzgApp> implements SysUserJzgAppService {
|
|
|
@@ -37,12 +39,36 @@ public class SysUserJzgAppServiceImpl extends ServiceImpl<SysUserJzgAppMapper, S
|
|
|
private SysUserMapper sysUserMapper;
|
|
|
|
|
|
@Autowired
|
|
|
- private SysUserJzgInfoFileService userJzgInfoFileService;
|
|
|
+ private SysUserService sysUserService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private SysRelationPersonService relationPersonService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private SysUserJzgInfoService sysUserJzgInfoService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private SysUserJzgInfoFileService userJzgInfoFileService;
|
|
|
|
|
|
@Autowired
|
|
|
private UnionPayRequestApiComponent unionPayRequestApiComponent;
|
|
|
|
|
|
+ @Override
|
|
|
+ public UserInfoVo userInfoGet(String id) {
|
|
|
+ UserInfoVo infoVo = sysUserJzgAppMapper.userInfoGet(id);
|
|
|
+ infoVo.setHeadSculpture(MinioUtils.getPresignedObjectUrl("jzg", infoVo.getHeadSculpture()));
|
|
|
+ // 获取身份信息
|
|
|
+ LambdaQueryWrapper<SysUserJzgInfo> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ queryWrapper.select(SysUserJzgInfo::getTypeAttr)
|
|
|
+ .eq(SysUserJzgInfo::getUserId, infoVo.getUserId())
|
|
|
+ .eq(SysUserJzgInfo::getIsDelete, 0)
|
|
|
+ .eq(SysUserJzgInfo::getIsEnable, 0);
|
|
|
+ List<SysUserJzgInfo> infos = sysUserJzgInfoService.list(queryWrapper);
|
|
|
+ List<String> typeAttrs = infos.stream().map(SysUserJzgInfo::getTypeAttr).collect(Collectors.toList());
|
|
|
+ infoVo.setTypeNames(typeAttrs);
|
|
|
+ return infoVo;
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public AuthInfoVo authInfoGet(String id) {
|
|
|
AuthInfoVo infoVo = sysUserJzgAppMapper.authInfoGet(id);
|
|
|
@@ -107,4 +133,104 @@ public class SysUserJzgAppServiceImpl extends ServiceImpl<SysUserJzgAppMapper, S
|
|
|
}
|
|
|
userJzgInfoFileService.save(param.getFile());
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void userInfoEdit(UserInfoEditParam param) {
|
|
|
+ SysUserJzgApp userJzgApp = new SysUserJzgApp();
|
|
|
+ BeanUtils.copyProperties(param, userJzgApp);
|
|
|
+ this.updateById(userJzgApp);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void replaceMobile(ValidateCodeParam param) {
|
|
|
+ LambdaQueryWrapper<SysUser> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ queryWrapper.eq(SysUser::getMobile, param.getMobile())
|
|
|
+ .eq(SysUser::getIsDelete, 0);
|
|
|
+ SysUser user = sysUserMapper.selectOne(queryWrapper);
|
|
|
+ AssertionUtils.isFail(Objects.isNull(user),"手机号已存在请重新输入");
|
|
|
+
|
|
|
+ AssertionUtils.isFail(!sysUserService.validateSmsCode(param.getMobile(), param.getSmsCode())
|
|
|
+ ,"验证码验证失败");
|
|
|
+
|
|
|
+ user.setMobile(param.getMobile());
|
|
|
+ sysUserService.updateById(user);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Boolean invitationRegister(InvitationAddParam param) {
|
|
|
+ Boolean isFlag = true;
|
|
|
+ // 获取邀请人信息
|
|
|
+ SysUserJzgApp yqrAppUser = sysUserJzgAppMapper.selectById(param.getUserId());
|
|
|
+ AssertionUtils.isFail(Objects.isNull(yqrAppUser),"邀请人不存在");
|
|
|
+
|
|
|
+ LambdaQueryWrapper<SysUser> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ queryWrapper.eq(SysUser::getMobile, param.getMobile())
|
|
|
+ .eq(SysUser::getIsDelete, 0);
|
|
|
+ SysUser user = sysUserMapper.selectOne(queryWrapper);
|
|
|
+ if(Objects.isNull(user)){
|
|
|
+ // 创建用户
|
|
|
+ SysUser sysUser = new SysUser(param.getMobile(), param.getMobile(),
|
|
|
+ null,null,null,
|
|
|
+ param.getPassword());
|
|
|
+ sysUserMapper.insert(sysUser);
|
|
|
+ // 创建app用户
|
|
|
+ SysUserJzgApp sysUserJzgApp = new SysUserJzgApp(sysUser);
|
|
|
+ sysUserJzgApp.setDeptId(yqrAppUser.getDeptId());
|
|
|
+ sysUserJzgApp.setSystemCode(yqrAppUser.getSystemCode());
|
|
|
+ sysUserJzgApp.setReferrerId(yqrAppUser.getId());
|
|
|
+ sysUserJzgAppMapper.insert(sysUserJzgApp);
|
|
|
+ // 增加推荐人关系
|
|
|
+ this.addRelationPerson(yqrAppUser,sysUserJzgApp);
|
|
|
+ }else{
|
|
|
+ // 判断用户是否与租户关联
|
|
|
+ LambdaQueryWrapper<SysUserJzgApp> wrapper = new LambdaQueryWrapper<>();
|
|
|
+ wrapper.eq(SysUserJzgApp::getUserId, user.getId())
|
|
|
+ .eq(SysUserJzgApp::getIsDelete, 0)
|
|
|
+ .eq(SysUserJzgApp::getIsEnable, 0)
|
|
|
+ .eq(SysUserJzgApp::getSystemCode, yqrAppUser.getSystemCode());
|
|
|
+ SysUserJzgApp appUser = sysUserJzgAppMapper.selectOne(wrapper);
|
|
|
+ if(Objects.isNull(appUser)){
|
|
|
+ SysUserJzgApp sysUserJzgApp = new SysUserJzgApp(user);
|
|
|
+ sysUserJzgApp.setDeptId(yqrAppUser.getDeptId());
|
|
|
+ sysUserJzgApp.setSystemCode(yqrAppUser.getSystemCode());
|
|
|
+ sysUserJzgApp.setReferrerId(yqrAppUser.getId());
|
|
|
+ sysUserJzgAppMapper.insert(sysUserJzgApp);
|
|
|
+ // 增加推荐人关系
|
|
|
+ this.addRelationPerson(yqrAppUser,sysUserJzgApp);
|
|
|
+ }else{
|
|
|
+ isFlag = false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return isFlag;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<SystemListVo> systemListGet(String userId) {
|
|
|
+ List<SystemListVo> systemList = sysUserJzgAppMapper.systemListGet(userId);
|
|
|
+ return systemList;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 增加推荐人关系
|
|
|
+ * @param sourceAppUser
|
|
|
+ * @param appUser
|
|
|
+ */
|
|
|
+ private void addRelationPerson(SysUserJzgApp sourceAppUser, SysUserJzgApp appUser) {
|
|
|
+ // 查询推荐人关系
|
|
|
+ LambdaQueryWrapper<SysRelationPerson> wrapper = new LambdaQueryWrapper<>();
|
|
|
+ wrapper.eq(SysRelationPerson::getSuggestId, sourceAppUser.getId())
|
|
|
+ .eq(SysRelationPerson::getIsDelete, 0);
|
|
|
+ SysRelationPerson person = relationPersonService.getOne(wrapper);
|
|
|
+ SysRelationPerson relationPerson = new SysRelationPerson();
|
|
|
+ relationPerson.setAgencyLeaderId(sourceAppUser.getId());
|
|
|
+ relationPerson.setSuggestId(appUser.getId());
|
|
|
+ relationPerson.setSource(0);
|
|
|
+ relationPerson.setType(0);
|
|
|
+ if(Objects.isNull(person)){
|
|
|
+ relationPerson.setSuggestLevel(1);
|
|
|
+ } else {
|
|
|
+ relationPerson.setSuggestLevel(person.getSuggestLevel() + 1);
|
|
|
+ }
|
|
|
+ relationPersonService.save(relationPerson);
|
|
|
+ }
|
|
|
}
|