Commit 44f6d5ba by lilei

修改单点登录接口

parent f8bc3c9b
...@@ -14,4 +14,6 @@ public interface DddlMapper { ...@@ -14,4 +14,6 @@ public interface DddlMapper {
* @return * @return
*/ */
XzxtUser getUserByZjhm(String identitycard); XzxtUser getUserByZjhm(String identitycard);
String getLevByCode(String code);
} }
...@@ -17,4 +17,14 @@ ...@@ -17,4 +17,14 @@
WHERE WHERE
identitycard = #{identitycard,jdbcType=VARCHAR} and is_deleted = 0 identitycard = #{identitycard,jdbcType=VARCHAR} and is_deleted = 0
</select> </select>
<select id="getLevByCode" resultType="java.lang.String">
SELECT
LEV as lev
FROM
code_gxs
WHERE
code = #{code,jdbcType=VARCHAR}
</select>
</mapper> </mapper>
...@@ -12,6 +12,7 @@ import org.springblade.modules.system.entity.XzxtUser; ...@@ -12,6 +12,7 @@ import org.springblade.modules.system.entity.XzxtUser;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
import java.util.*; import java.util.*;
...@@ -45,11 +46,22 @@ public class DddlServiceImpl implements IDddlService { ...@@ -45,11 +46,22 @@ public class DddlServiceImpl implements IDddlService {
XzdlResult xzdlResult = getUserOfBxt(xz_token); XzdlResult xzdlResult = getUserOfBxt(xz_token);
if(1000==xzdlResult.getCode()){//请求成功 if(1000==xzdlResult.getCode()){//请求成功
Map<String,Object> userMap = xzdlResult.getData(); Map<String,Object> userMap = xzdlResult.getData();
String zjhm = userMap.get("SFZH").toString(); String zjhm = getValueStr(userMap.get("SFZH"));
String yhmc = getValueStr(userMap.get("YHMC"));
// String jh = getValueStr(userMap.get("JH"));
String sjhm = getValueStr(userMap.get("SJHM"));
String gajgjgdm = getValueStr(userMap.get("GAJGJGDM"));
String gajgjgmc = getValueStr(userMap.get("GAJGJGMC"));
//通过证件号码获取用户信息 //通过证件号码获取用户信息
XzxtUser user =dddlMapper.getUserByZjhm(zjhm); XzxtUser user =new XzxtUser();
if(user!=null){ user.setIdentitycard(zjhm);
System.out.println("用户信息不为空"); user.setUserName(yhmc);
user.setRealname(yhmc);
user.setAccount(zjhm);
user.setPhone(sjhm);
user.setUnitcode(gajgjgdm);
user.setUnitname(gajgjgmc);
user.setGrade(getYhjb(gajgjgdm));
List<String> roleList = (List<String>) userMap.get("ROLE"); List<String> roleList = (List<String>) userMap.get("ROLE");
List<String> permissions = getPermissions(roleList); List<String> permissions = getPermissions(roleList);
if(null!=permissions&&permissions.size()>0){ if(null!=permissions&&permissions.size()>0){
...@@ -60,10 +72,6 @@ public class DddlServiceImpl implements IDddlService { ...@@ -60,10 +72,6 @@ public class DddlServiceImpl implements IDddlService {
}else{ }else{
return R.error("当前用户无命案系统权限,请联系本单位管理员"); return R.error("当前用户无命案系统权限,请联系本单位管理员");
} }
}else {
return R.error("命案系统中无当前用户,请联系命案系统工程师");
}
}else { }else {
return R.error(xzdlResult.getMsg()); return R.error(xzdlResult.getMsg());
} }
...@@ -73,6 +81,31 @@ public class DddlServiceImpl implements IDddlService { ...@@ -73,6 +81,31 @@ public class DddlServiceImpl implements IDddlService {
} }
} }
private String getValueStr(Object object){
String str = "";
if (!ObjectUtils.isEmpty(object)){
str = object.toString();
}
return str;
}
private String getYhjb(String unitcode){
String lev = dddlMapper.getLevByCode(unitcode);
String yhjb = "";
if (unitcode.startsWith("01")){
yhjb = "B";
}else {
if ("1".equals(lev)){
yhjb = "S";
}else if("2".equals(lev)){
yhjb = "D";
}else if("3".equals(lev)){
yhjb = "X";
}
}
return yhjb;
}
private List<String> getPermissions(List<String> roles) { private List<String> getPermissions(List<String> roles) {
List<String> permissions = new ArrayList<>(); List<String> permissions = new ArrayList<>();
if(roles!=null && roles.size() >0){ if(roles!=null && roles.size() >0){
......
...@@ -79,6 +79,29 @@ public class AuthController { ...@@ -79,6 +79,29 @@ public class AuthController {
return R.data(TokenUtil.createAuthInfo(userInfo)); return R.data(TokenUtil.createAuthInfo(userInfo));
} }
@PostMapping("dddlToken")
public R<AuthInfo> dddlToken(User user) {
String userType = Func.toStr(WebUtil.getRequest().getHeader(TokenUtil.USER_TYPE_HEADER_KEY), TokenUtil.DEFAULT_USER_TYPE);
TokenParameter tokenParameter = new TokenParameter();
tokenParameter.getArgs().set("tenantId", "000000")
.set("account", user.getAccount())
.set("password", user.getPassword())
.set("grantType", "password")
.set("refreshToken", "")
.set("userType", userType);
UserInfo userInfo = new UserInfo();
userInfo.setUser(user);
if (userInfo == null || userInfo.getUser() == null) {
return R.fail(TokenUtil.USER_NOT_FOUND);
}
return R.data(TokenUtil.createAuthInfo(userInfo));
}
@GetMapping("/captcha") @GetMapping("/captcha")
@ApiOperation(value = "获取验证码") @ApiOperation(value = "获取验证码")
public R<Kv> captcha() { public R<Kv> captcha() {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment