|
|
@@ -17,6 +17,8 @@ import com.zhongzheng.common.utils.*;
|
|
|
import com.zhongzheng.common.utils.http.HttpUtils;
|
|
|
import com.zhongzheng.framework.manager.AsyncManager;
|
|
|
import com.zhongzheng.framework.manager.factory.AsyncFactory;
|
|
|
+import com.zhongzheng.modules.distribution.domain.DistributionSeller;
|
|
|
+import com.zhongzheng.modules.distribution.service.IDistributionSellerService;
|
|
|
import com.zhongzheng.modules.goods.bo.OldTenantLoginBo;
|
|
|
import com.zhongzheng.modules.system.domain.SysUserRole;
|
|
|
import com.zhongzheng.modules.system.service.ISysConfigService;
|
|
|
@@ -32,6 +34,7 @@ import org.springframework.security.authentication.BadCredentialsException;
|
|
|
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
|
|
|
import org.springframework.security.core.Authentication;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
import java.io.InputStream;
|
|
|
@@ -58,6 +61,9 @@ public class SysLoginService
|
|
|
@Autowired
|
|
|
private ISysUserService iSysUserService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private IDistributionSellerService iDistributionSellerService;
|
|
|
+
|
|
|
@Autowired
|
|
|
private ISysConfigService configService;
|
|
|
|
|
|
@@ -201,16 +207,12 @@ public class SysLoginService
|
|
|
return tokenService.createToken(loginUser);
|
|
|
}
|
|
|
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
public String oldTenantLogin(OldTenantLoginBo bo) {
|
|
|
// 用户验证
|
|
|
SysUser sysUser = iSysUserService.getOne(new LambdaQueryWrapper<SysUser>()
|
|
|
- .eq(SysUser::getUserName, bo.getAccount())
|
|
|
- .eq(SysUser::getTenantId, bo.getTenantId()));
|
|
|
+ .eq(SysUser::getUserName, bo.getAccount()));
|
|
|
if (ObjectUtils.isNull(sysUser)){
|
|
|
- //新增账号
|
|
|
- sysUser = new SysUser();
|
|
|
- sysUser.setTenantId(Long.valueOf(bo.getTenantId()));
|
|
|
- sysUser.setUserName(bo.getAccount());
|
|
|
//查询老系统密码
|
|
|
OldTenantLoginBo loginBo = new OldTenantLoginBo();
|
|
|
Long nowTime = DateUtils.getNowTime();
|
|
|
@@ -228,23 +230,26 @@ public class SysLoginService
|
|
|
}
|
|
|
JSONObject jsonObject = JSONObject.parseObject(respone);
|
|
|
String password = jsonObject.get("Message").toString();
|
|
|
- sysUser.setPassword(SecurityUtils.encryptPassword(password));
|
|
|
+ String idCard = jsonObject.get("ErrorMessage").toString();
|
|
|
+ String telphone = jsonObject.get("Url").toString();
|
|
|
+ SysUser user = iSysUserService.getOne(new LambdaQueryWrapper<SysUser>()
|
|
|
+ .eq(SysUser::getStatus, 1)
|
|
|
+ .and(x -> x.eq(SysUser::getPhonenumber, telphone).or().eq(SysUser::getIdCard, idCard))
|
|
|
+ .last("limit 1"));
|
|
|
+ if (ObjectUtils.isNotNull(user)){
|
|
|
+ sysUser = user;
|
|
|
+ }else {
|
|
|
+ //新增账号
|
|
|
+ sysUser = new SysUser();
|
|
|
+ sysUser.setPassword(SecurityUtils.encryptPassword(password));
|
|
|
+ sysUser.setIdCard(idCard);
|
|
|
+ sysUser.setPhonenumber(telphone);
|
|
|
+ initSysUser(bo,sysUser);
|
|
|
+ }
|
|
|
} catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
throw new CustomException("获取用户密码" + e.getMessage());
|
|
|
}
|
|
|
- sysUser.setNickName(bo.getAccount());
|
|
|
- sysUser.setSex("0");
|
|
|
- sysUser.setStatus(1L);
|
|
|
- sysUser.setDelFlag("0");
|
|
|
- sysUser.setCode(ServletUtils.getEncoded("ZH"));
|
|
|
- sysUser.setCreateTime(DateUtils.getNowDate());
|
|
|
- sysUser.setUpdateTime(DateUtils.getNowDate());
|
|
|
- sysUser.setCreateBy("admin");
|
|
|
- sysUser.setUpdateBy("admin");
|
|
|
- sysUser.setRemark("系统增加(老系统业务员跳转)");
|
|
|
- iSysUserService.save(sysUser);
|
|
|
- //绑定用户角色
|
|
|
- initRole(sysUser.getUserId(),bo.getTenantId());
|
|
|
}
|
|
|
LoginUser loginUser = new LoginUser();
|
|
|
loginUser.setUser(sysUser);
|
|
|
@@ -252,6 +257,38 @@ public class SysLoginService
|
|
|
return tokenService.createToken(loginUser);
|
|
|
}
|
|
|
|
|
|
+ private void initSysUser(OldTenantLoginBo bo,SysUser sysUser){
|
|
|
+ //新增业务员账号
|
|
|
+ DistributionSeller seller = new DistributionSeller();
|
|
|
+ seller.setRealname(bo.getAccount());
|
|
|
+ seller.setStatus(1);
|
|
|
+ seller.setCreateTime(DateUtils.getNowTime());
|
|
|
+ seller.setUpdateTime(DateUtils.getNowTime());
|
|
|
+ seller.setTenantId(Long.valueOf(bo.getTenantId()));
|
|
|
+ seller.setShareCode(ToolsUtils.getRandomString(8));
|
|
|
+ seller.setUserAccount(ServletUtils.getEncoded("YW"));
|
|
|
+ seller.setParentId(0L);
|
|
|
+ seller.setRegisterFrom(2);
|
|
|
+ iDistributionSellerService.save(seller);
|
|
|
+ //用户
|
|
|
+ sysUser.setTenantId(Long.valueOf(bo.getTenantId()));
|
|
|
+ sysUser.setUserName(bo.getAccount());
|
|
|
+ sysUser.setNickName(bo.getAccount());
|
|
|
+ sysUser.setSex("0");
|
|
|
+ sysUser.setStatus(1L);
|
|
|
+ sysUser.setDelFlag("0");
|
|
|
+ sysUser.setCode(ServletUtils.getEncoded("ZH"));
|
|
|
+ sysUser.setCreateTime(DateUtils.getNowDate());
|
|
|
+ sysUser.setUpdateTime(DateUtils.getNowDate());
|
|
|
+ sysUser.setCreateBy("admin");
|
|
|
+ sysUser.setUpdateBy("admin");
|
|
|
+ sysUser.setRemark("系统增加(老系统业务员跳转)");
|
|
|
+ sysUser.setSellerId(seller.getSellerId());
|
|
|
+ iSysUserService.save(sysUser);
|
|
|
+ //绑定用户角色
|
|
|
+ initRole(sysUser.getUserId(),bo.getTenantId());
|
|
|
+ }
|
|
|
+
|
|
|
private void initRole(Long userId,String tenantId) {
|
|
|
//业务员管理员
|
|
|
SysRole role = iSysRoleService.getOne(new LambdaQueryWrapper<SysRole>().eq(SysRole::getRoleKey, "seller_admin"));
|