|
@@ -1,9 +1,11 @@
|
|
|
package com.zhongzheng.framework.web.service;
|
|
|
|
|
|
import cn.hutool.core.lang.Validator;
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
|
|
|
import com.zhongzheng.common.constant.Constants;
|
|
|
+import com.zhongzheng.common.core.domain.entity.SysRole;
|
|
|
import com.zhongzheng.common.core.domain.entity.SysUser;
|
|
|
import com.zhongzheng.common.core.domain.model.LoginUser;
|
|
|
import com.zhongzheng.common.core.redis.RedisCache;
|
|
@@ -11,18 +13,20 @@ import com.zhongzheng.common.exception.CustomException;
|
|
|
import com.zhongzheng.common.exception.user.CaptchaException;
|
|
|
import com.zhongzheng.common.exception.user.CaptchaExpireException;
|
|
|
import com.zhongzheng.common.exception.user.UserPasswordNotMatchException;
|
|
|
-import com.zhongzheng.common.utils.AES;
|
|
|
-import com.zhongzheng.common.utils.DateUtils;
|
|
|
-import com.zhongzheng.common.utils.MessageUtils;
|
|
|
-import com.zhongzheng.common.utils.ServletUtils;
|
|
|
+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.goods.bo.OldTenantLoginBo;
|
|
|
+import com.zhongzheng.modules.system.domain.SysUserRole;
|
|
|
import com.zhongzheng.modules.system.service.ISysConfigService;
|
|
|
+import com.zhongzheng.modules.system.service.ISysRoleService;
|
|
|
+import com.zhongzheng.modules.system.service.ISysUserRoleService;
|
|
|
import com.zhongzheng.modules.system.service.ISysUserService;
|
|
|
import com.zhongzheng.modules.user.bo.UserBusinessLoginBo;
|
|
|
import com.zhongzheng.modules.user.service.IUserLoginErrorService;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.security.authentication.AuthenticationManager;
|
|
|
import org.springframework.security.authentication.BadCredentialsException;
|
|
|
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
|
|
@@ -31,6 +35,8 @@ import org.springframework.stereotype.Component;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
import java.io.InputStream;
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.List;
|
|
|
|
|
|
/**
|
|
|
* 登录校验方法
|
|
@@ -58,6 +64,16 @@ public class SysLoginService
|
|
|
@Autowired
|
|
|
private IUserLoginErrorService iUserLoginErrorService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private ISysRoleService iSysRoleService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private ISysUserRoleService iSysUserRoleService;
|
|
|
+
|
|
|
+
|
|
|
+ @Value("${oldStudySys.salePassword}")
|
|
|
+ private String SALE_PASSWORD;
|
|
|
+
|
|
|
/**
|
|
|
* 登录验证
|
|
|
*
|
|
@@ -196,7 +212,26 @@ public class SysLoginService
|
|
|
sysUser.setTenantId(Long.valueOf(bo.getTenantId()));
|
|
|
sysUser.setUserName(bo.getAccount());
|
|
|
//查询老系统密码
|
|
|
- sysUser.setPassword("");
|
|
|
+ OldTenantLoginBo loginBo = new OldTenantLoginBo();
|
|
|
+ Long nowTime = DateUtils.getNowTime();
|
|
|
+ String sign = ToolsUtils.EncoderByMd5(nowTime.toString() + "pubilc2022");
|
|
|
+ loginBo.setSign(sign);
|
|
|
+ loginBo.setStamp(nowTime);
|
|
|
+ loginBo.setTenantId(bo.getTenantId());
|
|
|
+ loginBo.setAccount(bo.getAccount());
|
|
|
+ JSONObject param = JSONObject.parseObject(JSONObject.toJSONString(loginBo));
|
|
|
+ String respone = "";
|
|
|
+ try {
|
|
|
+ respone = HttpUtils.sendPost(SALE_PASSWORD, param);
|
|
|
+ if (!respone.contains("\"Status\":true")) {
|
|
|
+ throw new CustomException("获取老系统用户密码错误" + respone);
|
|
|
+ }
|
|
|
+ JSONObject jsonObject = JSONObject.parseObject(respone);
|
|
|
+ String password = jsonObject.get("Message").toString();
|
|
|
+ sysUser.setPassword(SecurityUtils.encryptPassword(password));
|
|
|
+ } catch (Exception e) {
|
|
|
+ throw new CustomException("获取用户密码" + e.getMessage());
|
|
|
+ }
|
|
|
sysUser.setNickName(bo.getAccount());
|
|
|
sysUser.setSex("0");
|
|
|
sysUser.setStatus(1L);
|
|
@@ -208,6 +243,8 @@ public class SysLoginService
|
|
|
sysUser.setUpdateBy("admin");
|
|
|
sysUser.setRemark("系统增加(老系统业务员跳转)");
|
|
|
iSysUserService.save(sysUser);
|
|
|
+ //绑定用户角色
|
|
|
+ initRole(sysUser.getUserId(),bo.getTenantId());
|
|
|
}
|
|
|
LoginUser loginUser = new LoginUser();
|
|
|
loginUser.setUser(sysUser);
|
|
@@ -215,6 +252,27 @@ public class SysLoginService
|
|
|
return tokenService.createToken(loginUser);
|
|
|
}
|
|
|
|
|
|
+ private void initRole(Long userId,String tenantId) {
|
|
|
+ //业务员管理员
|
|
|
+ SysRole role = iSysRoleService.getOne(new LambdaQueryWrapper<SysRole>().eq(SysRole::getRoleKey, "seller_admin"));
|
|
|
+ //隐藏工作台distribution/activity/cash/list
|
|
|
+ SysRole role1 = iSysRoleService.getOne(new LambdaQueryWrapper<SysRole>().eq(SysRole::getRoleKey, "supervisory"));
|
|
|
+ SysUserRole sysUserRole = new SysUserRole();
|
|
|
+ sysUserRole.setUserId(userId);
|
|
|
+ sysUserRole.setRoleId(role.getRoleId());
|
|
|
+ sysUserRole.setTenantId(Long.valueOf(tenantId));
|
|
|
+
|
|
|
+ SysUserRole sysUserRole1 = new SysUserRole();
|
|
|
+ sysUserRole1.setUserId(userId);
|
|
|
+ sysUserRole1.setRoleId(role1.getRoleId());
|
|
|
+ sysUserRole1.setTenantId(Long.valueOf(tenantId));
|
|
|
+
|
|
|
+ List<SysUserRole> sysUserRoleList = new ArrayList<>();
|
|
|
+ sysUserRoleList.add(sysUserRole);
|
|
|
+ sysUserRoleList.add(sysUserRole1);
|
|
|
+ iSysUserRoleService.saveBatch(sysUserRoleList);
|
|
|
+ }
|
|
|
+
|
|
|
/* public String wx_login(String username)
|
|
|
{
|
|
|
LoginUser loginUser = (LoginUser) authentication.getPrincipal();
|