|
|
@@ -1,11 +1,29 @@
|
|
|
package com.jzg.organization.service.impl;
|
|
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.jzg.commons.core.base.PageRequest;
|
|
|
+import com.jzg.commons.core.page.HttpResult;
|
|
|
+import com.jzg.commons.entity.po.SysDept;
|
|
|
import com.jzg.commons.entity.po.SysUser;
|
|
|
-import com.jzg.commons.entity.vo.SysUserVo;
|
|
|
+import com.jzg.commons.entity.po.SysUserJzgInfo;
|
|
|
+import com.jzg.commons.entity.po.SysUserJzgInfoBankCard;
|
|
|
+import com.jzg.commons.entity.vo.*;
|
|
|
+import com.jzg.commons.exception.SystemException;
|
|
|
+import com.jzg.commons.util.PasswordUtils;
|
|
|
+import com.jzg.commons.util.idgen.IdGenerate;
|
|
|
+import com.jzg.organization.mapper.SysUserJzgInfoMapper;
|
|
|
import com.jzg.organization.mapper.SysUserMapper;
|
|
|
+import com.jzg.organization.service.SysDeptService;
|
|
|
+import com.jzg.organization.service.SysUserJzgInfoBankCardService;
|
|
|
+import com.jzg.organization.service.SysUserJzgInfoService;
|
|
|
import com.jzg.organization.service.SysUserService;
|
|
|
+import jakarta.annotation.Resource;
|
|
|
+import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import java.util.List;
|
|
|
|
|
|
@@ -16,12 +34,196 @@ import java.util.List;
|
|
|
*/
|
|
|
@Service
|
|
|
public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> implements SysUserService {
|
|
|
+ @Resource
|
|
|
+ private SysUserJzgInfoService sysUserJzgInfoService;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private SysDeptService sysDeptService;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private SysUserJzgInfoBankCardService sysUserJzgInfoBankCardService;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private SysUserJzgInfoMapper sysUserJzgInfoMapper;
|
|
|
|
|
|
@Override
|
|
|
public List<SysUserVo> getUserInfo(SysUserVo sysUserVo) {
|
|
|
return baseMapper.getUserInfo(sysUserVo);
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public HttpResult getUserSelect(){
|
|
|
+ return HttpResult.ok(baseMapper.getUserSelect());
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Page<SysUserJzgInfo> getUserInfoList(Page page,SysUserInfoListVo sysUserInfoListVo) {
|
|
|
+ return sysUserJzgInfoMapper.getUserInfoList(page,sysUserInfoListVo);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public HttpResult addUserInfo(SysUserVo sysUserVo) {
|
|
|
+ SysUser sysUser = baseMapper.getUserByMobile(sysUserVo.getMobile());
|
|
|
+ if (sysUser != null) {
|
|
|
+ verifyUser(sysUserVo.getDeptId(),sysUserVo.getIdentity(),sysUser.getId(),sysUserVo.getLeaderId(),sysUserVo.getReferrerId());
|
|
|
+ SysUserJzgInfo sysUserJzgInfo = new SysUserJzgInfo();
|
|
|
+ BeanUtils.copyProperties(sysUserVo, sysUserJzgInfo);
|
|
|
+ sysUserJzgInfo.setUserId(sysUser.getId());
|
|
|
+ sysUserJzgInfo.setStatus(0);
|
|
|
+ sysUserJzgInfo.setIsEnable(1);
|
|
|
+ sysUserJzgInfoService.save(sysUserJzgInfo);
|
|
|
+
|
|
|
+ //如果表单输入的银行卡号和银行名不为空,则保存银行卡信息
|
|
|
+ if (sysUserVo.getBankCardId() != null && sysUserVo.getBankName() != null) {
|
|
|
+ SysUserJzgInfoBankCard sysUserJzgInfoBankCard = new SysUserJzgInfoBankCard();
|
|
|
+ sysUserJzgInfoBankCard.setId(IdGenerate.nextId());
|
|
|
+ sysUserJzgInfoBankCard.setUserJzgInfoId(sysUserJzgInfo.getId());
|
|
|
+ sysUserJzgInfoBankCard.setBankCardNumber(sysUserVo.getBankCardId());
|
|
|
+ sysUserJzgInfoBankCard.setBankName(sysUserVo.getBankName());
|
|
|
+ sysUserJzgInfoBankCard.setIsDefault(0); //设为非默认卡
|
|
|
+ sysUserJzgInfoBankCard.setAuditStatus(0); //设为待审核
|
|
|
+ sysUserJzgInfoBankCard.setRemark("");
|
|
|
+ sysUserJzgInfoBankCardService.save(sysUserJzgInfoBankCard);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ // 如果手机号为新号 重新生成SysUser 设置默认密码
|
|
|
+ SysUser sysUser1 = new SysUser();
|
|
|
+ sysUser1.setId(IdGenerate.nextId());
|
|
|
+ sysUser1.setUsername(sysUserVo.getMobile());
|
|
|
+ String pwd = "12345678";
|
|
|
+ String salt = PasswordUtils.getSalt();
|
|
|
+ sysUser1.setPassword(PasswordUtils.encode(pwd, salt));
|
|
|
+ sysUser1.setSalt(salt);
|
|
|
+ sysUser1.setMobile(sysUserVo.getMobile());
|
|
|
+ sysUser1.setAccountStatus(1);
|
|
|
+ this.save(sysUser1);
|
|
|
+ SysUserJzgInfo sysUserJzgInfo = new SysUserJzgInfo();
|
|
|
+ BeanUtils.copyProperties(sysUserVo, sysUserJzgInfo);
|
|
|
+ sysUserJzgInfo.setId(IdGenerate.nextId());
|
|
|
+ sysUserJzgInfo.setUserId(sysUser1.getId());
|
|
|
+ sysUserJzgInfo.setStatus(0);
|
|
|
+ sysUserJzgInfoService.save(sysUserJzgInfo);
|
|
|
+
|
|
|
+ //如果表单输入的银行卡号和银行名不为空,则保存银行卡信息
|
|
|
+ if (sysUserVo.getBankCardId() != null && sysUserVo.getBankName() != null) {
|
|
|
+ SysUserJzgInfoBankCard sysUserJzgInfoBankCard = new SysUserJzgInfoBankCard();
|
|
|
+ sysUserJzgInfoBankCard.setId(IdGenerate.nextId());
|
|
|
+ sysUserJzgInfoBankCard.setUserJzgInfoId(sysUserJzgInfo.getId());
|
|
|
+ sysUserJzgInfoBankCard.setBankCardNumber(sysUserVo.getBankCardId());
|
|
|
+ sysUserJzgInfoBankCard.setBankName(sysUserVo.getBankName());
|
|
|
+ sysUserJzgInfoBankCard.setIsDefault(0); //设为非默认卡
|
|
|
+ sysUserJzgInfoBankCard.setAuditStatus(0); //设为待审核
|
|
|
+ sysUserJzgInfoBankCard.setRemark("");
|
|
|
+ sysUserJzgInfoBankCardService.save(sysUserJzgInfoBankCard);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return HttpResult.ok("添加业务员成功");
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public HttpResult<Boolean> deleteUserInfo(IsDeleteVo isDeleteVo) {
|
|
|
+ for (String id : isDeleteVo.getIds()) {
|
|
|
+ SysUserJzgInfo sysUserJzgInfo = sysUserJzgInfoService.getById(id);
|
|
|
+ if (sysUserJzgInfo == null) {
|
|
|
+ throw new SystemException("该用户不存在");
|
|
|
+ }
|
|
|
+ sysUserJzgInfo.setIsDelete(1);
|
|
|
+ sysUserJzgInfoService.updateById(sysUserJzgInfo);
|
|
|
+ }
|
|
|
+ return HttpResult.ok("删除业务员成功");
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public HttpResult<Boolean> isEnableUser(IsEnableVo isEnableVo) {
|
|
|
+ for (String id : isEnableVo.getIds()) {
|
|
|
+ SysUserJzgInfo sysUserJzgInfo = sysUserJzgInfoService.getById(id);
|
|
|
+ if (sysUserJzgInfo == null) {
|
|
|
+ throw new SystemException("该用户不存在");
|
|
|
+ }
|
|
|
+ sysUserJzgInfo.setIsEnable(isEnableVo.getIsEnable());
|
|
|
+ sysUserJzgInfoService.updateById(sysUserJzgInfo);
|
|
|
+ }
|
|
|
+ return HttpResult.ok("删除业务员成功");
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public HttpResult<Boolean> batchLeader(BatchLeaderVo batchLeaderVo) {
|
|
|
+ for (String id : batchLeaderVo.getIds()) {
|
|
|
+ SysUserJzgInfo sysUserJzgInfo = sysUserJzgInfoService.getById(id);
|
|
|
+ if (sysUserJzgInfo == null) {
|
|
|
+ throw new SystemException("该用户不存在");
|
|
|
+ }
|
|
|
+ sysUserJzgInfo.setLeaderId(batchLeaderVo.getLeaderId());
|
|
|
+ sysUserJzgInfoService.updateById(sysUserJzgInfo);
|
|
|
+ }
|
|
|
+ return HttpResult.ok("设置负责人成功");
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public HttpResult addBankCard(SysUserJzgInfoBankCardVo sysUserJzgInfoBankCardVo) {
|
|
|
+ SysUserJzgInfo sysUserJzgInfo = sysUserJzgInfoService.getById(sysUserJzgInfoBankCardVo.getUserJzgInfoId());
|
|
|
+ if (sysUserJzgInfo == null) {
|
|
|
+ throw new SystemException("该业务员不存在");
|
|
|
+ }
|
|
|
+ SysUserJzgInfoBankCard sysUserJzgInfoBankCard = new SysUserJzgInfoBankCard();
|
|
|
+ BeanUtils.copyProperties(sysUserJzgInfoBankCardVo, sysUserJzgInfoBankCard);
|
|
|
+ sysUserJzgInfoBankCard.setId(IdGenerate.nextId());
|
|
|
+ sysUserJzgInfoBankCard.setAuditStatus(0);
|
|
|
+ sysUserJzgInfoBankCard.setIsDefault(0);
|
|
|
+ sysUserJzgInfoBankCard.setRemark("");
|
|
|
+ sysUserJzgInfoBankCardService.save(sysUserJzgInfoBankCard);
|
|
|
+ return HttpResult.ok("添加银行卡成功");
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public HttpResult<Boolean> updateUserInfo(SysUserVo sysUserVo) {
|
|
|
+ SysUserJzgInfo sysUserJzgInfo = sysUserJzgInfoService.getById(sysUserVo.getId());
|
|
|
+ if (sysUserJzgInfo == null || sysUserJzgInfo.getStatus() == 0) {
|
|
|
+ throw new SystemException("该业务员不存在");
|
|
|
+ }
|
|
|
+ if (sysUserJzgInfo.getIsEnable() == 0) {
|
|
|
+ throw new SystemException("该业务员已被禁用");
|
|
|
+ }
|
|
|
+ BeanUtils.copyProperties(sysUserVo, sysUserJzgInfo);
|
|
|
+ sysUserJzgInfoService.updateById(sysUserJzgInfo);
|
|
|
+ return HttpResult.ok("修改业务员成功");
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public HttpResult getUserInfoById(String id) {
|
|
|
+ SysUserJzgInfo sysUserJzgInfo = sysUserJzgInfoService.getById(id);
|
|
|
+ if (sysUserJzgInfo == null) {
|
|
|
+ throw new SystemException("该用户不存在");
|
|
|
+ }
|
|
|
+ return HttpResult.ok(sysUserJzgInfo);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ public void verifyUser(String deptId,String identity,String userId,String leaderId,String referrerId){
|
|
|
+ SysDept sysDept = sysDeptService.getById(deptId);
|
|
|
+ List<SysUserJzgInfo> sysUserJzgInfos = sysUserJzgInfoService.getUserInfoByIdentity(identity, userId);
|
|
|
+ SysUserJzgInfo sysUserJzgInfoByLeaderId = sysUserJzgInfoService.getOne
|
|
|
+ (new LambdaQueryWrapper<SysUserJzgInfo>().eq(SysUserJzgInfo::getId,leaderId).eq(SysUserJzgInfo::getIsDelete,0));
|
|
|
+ SysUserJzgInfo sysUserJzgInfoByReferrerId = sysUserJzgInfoService.getOne
|
|
|
+ (new LambdaQueryWrapper<SysUserJzgInfo>().eq(SysUserJzgInfo::getId,referrerId).eq(SysUserJzgInfo::getIsDelete,0));
|
|
|
+ if (sysUserJzgInfos.size() > 0) {
|
|
|
+ throw new SystemException("该身份证号已存在,请检查");
|
|
|
+ }
|
|
|
+ if (sysDept == null) {
|
|
|
+ throw new SystemException("所选机构不存在");
|
|
|
+ }
|
|
|
+ if (sysUserJzgInfoByLeaderId == null) {
|
|
|
+ throw new SystemException("所选管理员不存在");
|
|
|
+ }
|
|
|
+ if (sysUserJzgInfoByReferrerId == null) {
|
|
|
+ throw new SystemException("所选推荐人不存在");
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
|