Browse Source

修改

dev_kxc
ljf 1 year ago
parent
commit
68e0a5dba6
  1. 11
      jwtech-admin/src/main/java/com/kms/config/CallBackRequest.java
  2. 19
      jwtech-admin/src/main/java/com/kms/config/CallType.java
  3. 116
      jwtech-admin/src/main/java/com/kms/config/WaterRequestUtil.java
  4. 12
      jwtech-admin/src/main/java/com/kms/config/WaterResult.java
  5. 98
      jwtech-admin/src/main/java/com/kms/config/scheduled/WaterScheduled.java
  6. 24
      jwtech-admin/src/main/java/com/kms/config/singleDomain/SingleMenu.java
  7. 1
      jwtech-admin/src/main/java/com/kms/config/singleDomain/SingleRole.java
  8. 26
      jwtech-admin/src/main/java/com/kms/config/singleDomain/SingleUser.java
  9. 249
      jwtech-admin/src/main/java/com/kms/web/controller/system/CmsCallBackController.java
  10. 45
      jwtech-admin/src/main/java/com/kms/web/controller/system/SysLoginController.java
  11. 12
      jwtech-admin/src/main/java/com/kms/web/controller/system/SysUserController.java
  12. 20
      jwtech-admin/src/main/java/com/kms/web/controller/tool/TestController.java
  13. 29
      jwtech-admin/src/main/resources/application-test.yml
  14. 4
      jwtech-framework/src/main/java/com/jianwei/common/core/domain/entity/SysUser.java
  15. 1
      jwtech-system/src/main/java/com/kms/earlyStage/controller/ProjectBidPrequController.java
  16. 13
      jwtech-system/src/main/java/com/kms/system/service/SysUserService.java

11
jwtech-admin/src/main/java/com/kms/config/CallBackRequest.java

@ -0,0 +1,11 @@
package com.kms.config;
import lombok.Data;
@Data
public class CallBackRequest {
private String type;
private String content;
}

19
jwtech-admin/src/main/java/com/kms/config/CallType.java

@ -0,0 +1,19 @@
package com.kms.config;
import lombok.Data;
@Data
public class CallType {
public final static String USER_ADD = "USER_ADD";
public final static String USER_UPDATE = "USER_UPDATE";
public static String USER_DELETE = "USER_DELETE";
public static String ORG_UPDATE = "ORG_UPDATE";
public static String ORG_ADD = "ORG_ADD";
public static String ROLE_ADD = "ROLE_ADD";
public static String ROLE_UPDATE = "ROLE_UPDATE";
public static String ROLE_DELETE = "ROLE_DELETE";
public static String ROLE_USER_BIND = "ROLE_USER_BIND";//用户角色关系绑定
public static String ROLE_USER_UNBIND = "ROLE_USER_UNBIND";//用户角色关系解绑
}

116
jwtech-admin/src/main/java/com/kms/config/WaterRequestUtil.java

@ -49,6 +49,8 @@ public class WaterRequestUtil {
public String authUserAppsecret;
@Value("${water.systemCode}")
public String systemCode;
@Value("${water.systemName}")
public String systemName;
//获取部门信息
@Value("${water.orgUrl}")
@ -67,6 +69,31 @@ public class WaterRequestUtil {
@Value("${water.roleAppsecret}")
public String roleAppsecret;
@Value("${water.systemUrl}")
public String systemUrl;
@Value("${water.systemServiceId}")
public String systemServiceId;
@Value("${water.systemAppsecret}")
public String systemAppsecret;
@Value("${water.usersUrl}")
public String usersUrl;
@Value("${water.usersServiceId}")
public String usersServiceId;
@Value("${water.usersAppsecret}")
public String usersAppsecret;
@Value("${water.resourceUrl}")
public String resourceUrl;
@Value("${water.resourceServiceId}")
public String resourceServiceId;
@Value("${water.resourceAppsecret}")
public String resourceAppsecret;
/**
* 设置
* @param httpRequest
@ -104,6 +131,49 @@ public class WaterRequestUtil {
return httpRequest;
}
/**
* 业务系统
* @return
*/
public WaterResult systemPage(){
log.info("查询业务系统-----------------");
HttpRequest post = createPost(systemUrl, systemServiceId, systemAppsecret);
HashMap<String, String> query = new HashMap<>();
query.put("code",systemCode);
query.put("name",systemName);
HttpResponse response = post.body(JSONObject.toJSONString(query))
.execute();
String body = response.body();
WaterResult waterResult = JSONObject.parseObject(body, WaterResult.class);
isSuccess(waterResult);
//{
// "msg": "操作成功",
// "code": 200,
// "data": {
// "code": 200,
// "message": "成功",
// "success": true,
// "data": "[{\"contractor\":\"数字广东网络建设有限公司\",\"code\":\"sgc-jg\",\"buildingLinkman\":\"张三\",\"contractorId\":\"1647768587123822593\",\"displayMobileFlag\":\"2\",\"manageUrl\":\"http://19.25.74.73:8001/\",\"type\":\"2\",\"building\":\"广东省水利厅\",\"developerId\":\"1732646766216482817\",\"developerPhone\":\"13333333333\",\"contractorPhone\":\"17324499124\",\"levelText\":\"省级\",\"buildingPhone\":\"13333333333\",\"id\":\"1732648267643097090\",\"manageImg\":\"{}\",\"area\":\"440000\",\"level\":\"1\",\"displayFlag\":\"1\",\"buildingId\":\"202206101718001\",\"createTime\":\"2023-12-07 06:28:33\",\"developerLinkman\":\"张三\",\"name\":\"水工程应用-水利工程建设管理模块\",\"publicUrl\":\"http://10.169.133.130:8001\",\"developer\":\"中通服建设有限公司\",\"contractorLinkman\":\"徐勇\",\"status\":\"1\"}]",
// "timestamp": "1710140017747"
// }
//}
return waterResult;
}
// public static void main(String[] args) {
// HttpRequest post = createPost("http://19.25.35.204:31190/data_center/gateway/api/usrc/open-api/system/list", "DGSP_1606199297580052481", "b26a1c7b95744369c00f65b7a0790b6");
// HashMap<String, String> query = new HashMap<>();
// query.put("code","sgc-jg");
// query.put("name","水工程应用-水利工程建设管理模块");
// HttpResponse response = post.body(JSONObject.toJSONString(query))
// .execute();
// String body = response.body();
// WaterResult waterResult = JSONObject.parseObject(body, WaterResult.class);
//
// }
/**
* 单点登录
* @return
@ -147,6 +217,33 @@ public class WaterRequestUtil {
String body = response.body();
WaterResult waterResult = JSONObject.parseObject(body, WaterResult.class);
isSuccess(waterResult);
//{
// "msg": "操作成功",
// "code": 200,
// "data": {
// "code": 200,
// "message": "成功",
// "success": true,
// "data": "{\"total\":4,\"size\":100,\"records\":[{\"parent\":\"202206101718001\",\"source\":\"tif\",\"type\":\"GA\",\"levelText\":\"省级\",\"id\":\"1646339896680984578\",\"area\":\"440000\",\"level\":\"1\",\"sourceText\":\"统一身份认证\",\"categoryText\":\"单位\",\"name\":\"水文局\",\"treeCode\":\"00030-00016\",\"status\":\"1\",\"code\":\"SJ0013\",\"orgId\":\"1646339896680984578\",\"tifld\":\"1232236\",\"seq\":18,\"areaText\":\"广东省\",\"updateTime\":\"2024-02-28 02:45:24\",\"createTime\":\"2023-04-13 02:29:54\",\"statusText\":\"启用\",\"category\":\"1\",\"crossParent\":\"\"},{\"parent\":\"0\",\"type\":\"FIRM\",\"levelText\":\"省级\",\"id\":\"1732646766216482817\",\"area\":\"440000\",\"level\":\"1\",\"categoryText\":\"单位\",\"name\":\"中通服建设有限公司\",\"treeCode\":\"00028\",\"status\":\"1\",\"code\":\"914400001903268010\",\"orgId\":\"1732646766216482817\",\"seq\":84,\"areaText\":\"广东省\",\"updateTime\":\"2023-12-11 18:05:29\",\"createTime\":\"2023-12-07 06:22:35\",\"statusText\":\"启用\",\"category\":\"1\"},{\"parent\":\"0\",\"natureText\":\"\",\"source\":\"input\",\"type\":\"GA\",\"levelText\":\"省级\",\"id\":\"202206101718001\",\"area\":\"440000\",\"level\":\"1\",\"sourceText\":\"手动创建\",\"categoryText\":\"单位\",\"name\":\"广东省水利厅\",\"treeCode\":\"00030\",\"status\":\"1\",\"code\":\"006941135\",\"abbrName\":\"水利厅\",\"uscc\":\"114400000069411352\",\"orgId\":\"202206101718001\",\"tifld\":\"114400000069411352\",\"seq\":67,\"nature\":\"1\",\"areaText\":\"广东省\",\"updateTime\":\"2024-02-28 02:45:24\",\"createTime\":\"2022-12-14 10:02:37\",\"statusText\":\"启用\",\"category\":\"1\",\"remarks\":\"默认机构,不可删除\"},{\"parent\":\"202206101718001\",\"source\":\"tif\",\"type\":\"GA\",\"deptTags\":\"noEntity\",\"levelText\":\"省级\",\"id\":\"1646339701234806785\",\"area\":\"440000\",\"level\":\"1\",\"sourceText\":\"统一身份认证\",\"categoryText\":\"部门\",\"name\":\"建设处\",\"treeCode\":\"00030-00044\",\"status\":\"1\",\"code\":\"SJ0001-024\",\"orgId\":\"1646339701234806785\",\"seq\":114,\"areaText\":\"广东省\",\"updateTime\":\"2024-01-08 18:47:31\",\"deptTagsText\":\"\",\"createTime\":\"2023-04-13 02:29:07\",\"statusText\":\"启用\",\"category\":\"2\",\"crossParent\":\"\"}],\"page\":1}",
// "timestamp": "1710140677104"
// }
//}
return waterResult;
}
public WaterResult getUserResource(String authorization){
log.info("--------请求获取门户角色信息,请求地址为:"+resourceUrl);
HashMap<String, Object> hashMap = new HashMap<>();
hashMap.put("systemCode",systemCode);
HttpRequest get = createPost(resourceUrl+"?systemCode="+systemCode,resourceServiceId,resourceAppsecret);
get.header("Authorization",authorization);
HttpResponse response = get
.execute();
String body = response.body();
WaterResult waterResult = JSONObject.parseObject(body, WaterResult.class);
isSuccess(waterResult);
//{\"total\":1,\"size\":100,\"records\":[{\"area\":\"440000\",\"systemList\":[{\"area\":\"440000\",\"code\":\"sgc-jg\",\"name\":\"水工程应用-水利工程建设管理模块\",\"id\":\"1732648267643097090\"}],\"code\":\"YW00013\",\"level\":\"1d\",\"dataConfig\":\"none\",\"type\":\"BUSINESS\",\"posts\":[],\"users\":[{\"id\":\"20231225000006\"},{\"id\":\"20240119000002\"}],\"name\":\"水利工程应用-水利工程建设管理模块角色\",\"id\":\"20231213000001\",\"category\":\"BUSINESS\",\"businesses\":[{\"parent\":\"1762458920822599682\",\"businessCode\":\"YWSLGCJSGL0008\",\"parentName\":\"水利工程建设管理\",\"businessName\":\"水利工程建设管理\",\"description\":\"\",\"id\":\"1705128209926942721\",\"delFlag\":0}],\"status\":\"1\"}],\"page\":1}
return waterResult;
}
@ -163,12 +260,31 @@ public class WaterRequestUtil {
String body = response.body();
WaterResult waterResult = JSONObject.parseObject(body, WaterResult.class);
isSuccess(waterResult);
//{\"total\":1,\"size\":100,\"records\":[{\"area\":\"440000\",\"systemList\":[{\"area\":\"440000\",\"code\":\"sgc-jg\",\"name\":\"水工程应用-水利工程建设管理模块\",\"id\":\"1732648267643097090\"}],\"code\":\"YW00013\",\"level\":\"1d\",\"dataConfig\":\"none\",\"type\":\"BUSINESS\",\"posts\":[],\"users\":[{\"id\":\"20231225000006\"},{\"id\":\"20240119000002\"}],\"name\":\"水利工程应用-水利工程建设管理模块角色\",\"id\":\"20231213000001\",\"category\":\"BUSINESS\",\"businesses\":[{\"parent\":\"1762458920822599682\",\"businessCode\":\"YWSLGCJSGL0008\",\"parentName\":\"水利工程建设管理\",\"businessName\":\"水利工程建设管理\",\"description\":\"\",\"id\":\"1705128209926942721\",\"delFlag\":0}],\"status\":\"1\"}],\"page\":1}
return waterResult;
}
public WaterResult usersPage(){
log.info("--------请求获取门户用户信息,请求地址为:"+usersUrl);
HashMap<String, Object> hashMap = new HashMap<>();
hashMap.put("page",1);
hashMap.put("size",100);
hashMap.put("systemCode",systemCode);
HttpRequest get = createPost(usersUrl,usersServiceId,usersAppsecret);
HttpResponse response = get.body(JSONObject.toJSONString(hashMap))
.execute();
String body = response.body();
WaterResult waterResult = JSONObject.parseObject(body, WaterResult.class);
isSuccess(waterResult);
return waterResult;
}
private void isSuccess(WaterResult waterResult){
if(waterResult==null){
throw new CustomException("请求异常");

12
jwtech-admin/src/main/java/com/kms/config/WaterResult.java

@ -2,9 +2,11 @@ package com.kms.config;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class WaterResult {
private int code;
@ -12,4 +14,14 @@ public class WaterResult {
private Boolean success;
private String data;
private String timestamp;
public static WaterResult success(){
WaterResult waterResult = new WaterResult();
waterResult.setCode(200);
waterResult.setSuccess(true);
waterResult.setTimestamp(String.valueOf(System.currentTimeMillis()));
waterResult.setMessage("发布成功");
return waterResult;
}
}

98
jwtech-admin/src/main/java/com/kms/config/scheduled/WaterScheduled.java

@ -1,15 +1,21 @@
package com.kms.config.scheduled;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.jianwei.common.constant.UserConstants;
import com.jianwei.common.core.domain.entity.SysDept;
import com.jianwei.common.core.domain.entity.SysRole;
import com.jianwei.common.core.domain.entity.SysUser;
import com.jianwei.common.utils.password.MD5Util;
import com.jianwei.common.utils.password.PasswordUtil;
import com.jianwei.common.utils.uuid.IdUtils;
import com.kms.common.utils.BaseEntityUtils;
import com.kms.config.WaterRequestUtil;
import com.kms.config.WaterResult;
import com.kms.config.singleDomain.SingleOrg;
import com.kms.config.singleDomain.SingleRole;
import com.kms.config.singleDomain.SingleUser;
import com.kms.system.service.SysDeptService;
import com.kms.system.service.SysRoleService;
import com.kms.system.service.SysUserService;
@ -21,8 +27,10 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.Scheduled;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
@Configuration
public class WaterScheduled {
@ -42,20 +50,68 @@ public class WaterScheduled {
SysRoleService roleService;
/* @Scheduled
@Scheduled(cron = "0 0/1 * * * ?")
public void userScheduled(){
}*/
log.info("----------------------开始执行用户同步功能----------------------------");
WaterResult waterResult = waterRequestUtil.usersPage();
String data = waterResult.getData();
String records = JSONObject.parseObject(data).getString("records");
List<SingleUser> singleUserList = JSONObject.parseArray(records, SingleUser.class);
for (SingleUser singleUser : singleUserList) {
String id = singleUser.getId();
QueryWrapper<SysUser> query = Wrappers.query();
query.eq("single_user_id",id);
SysUser user = userService.getOne(query,false);
Boolean flag = (user==null);
if(flag){
user = new SysUser();
user.preInsert();
user.setCreateUid("1");
user.setUpdateUid("1");
user.setRemark("门户定时任务数据添加");
user.setId(IdUtils.fastSimpleUUID());
user.setIsPcUser("0");
user.setDelFlag("0");
user.setMd5(MD5Util.MD5Encode(singleUser.toString(), "utf-8"));
}else {
String md = MD5Util.MD5Encode(singleUser.toString(), "utf-8");
if(user.getMd5()!=null&&md.equals(user.getMd5())){
continue;
}
}
SingleOrg org = singleUser.getOrg();
if(org!=null){
user.setDeptId(org.getId());
}
user.setPhonenumber(singleUser.getPhone());
user.setNickName(singleUser.getName());
user.setUserName(singleUser.getUsername());
user.setSingleUserSource(singleUser.getSource());
user.setSingleUserType(singleUser.getType());
user.setSingleUserId(singleUser.getId());
user.setPassword(PasswordUtil.entryptPassword(singleUser.getUsername()));
user.setIsFirst(singleUser.getFirstSignIn().toString());
if(singleUser.getStatus()==null||singleUser.getStatus().equals("1")){
user.setStatus("0");
}else {
user.setStatus("1");
}
List<String> collect = singleUser.getRoleList().stream().map(singleRole -> singleRole.getId()).collect(Collectors.toList());
user.setRoleIds(collect.toArray(new String[collect.size()]));
if(flag){
userService.singleInsertUser(user);
}else {
userService.updateUser(user);
}
}
}
/**
*
*/
// @Scheduled(cron = "0 0 0 ? * ? ") 每天
@Scheduled(cron = "0 0/1 * * * ? ")
public void orgScheduled(){
log.info("----------------------开始执行部门同步功能----------------------------");
WaterResult waterResult = waterRequestUtil.getOrgPage();
String data = waterResult.getData();
String records = JSONObject.parseObject(data).getString("records");
@ -69,12 +125,17 @@ public class WaterScheduled {
continue;
}
}else {
dept = new SysDept();
dept.setCreateUid("1");
dept.setUpdateUid("1");
dept.setRemark("门户定时任务数据添加");
dept.setIsDownload("0");
dept.setIsComment("0");
dept.setDelFlag("0");
dept.setCreateTime(new Date());
String md = MD5Util.MD5Encode(singleOrg.toString(), "utf-8");
dept.setMd5(md);
}
dept = new SysDept();
dept.setMd5(MD5Util.MD5Encode(singleOrg.toString(), "utf-8"));
BeanUtils.copyProperties(singleOrg,dept);
dept.setXzqhId(singleOrg.getArea());
@ -98,15 +159,16 @@ public class WaterScheduled {
log.error("新增部门'" + dept.getDeptName() + "'失败,部门名称已存在");
}
if(flag){
deptService.updateDept(dept);
deptService.updateById(dept);
}else {
deptService.insertDept(dept);
deptService.save(dept);
}
}
}
// @Scheduled(cron = "0/10 * * * * ? ") 10秒
public void roeScheduled(){
@Scheduled(cron = "0 0/1 * * * ?")
public void roleScheduled(){
log.info("----------------------开始执行角色同步功能----------------------------");
WaterResult rolePage = waterRequestUtil.getRolePage();
String data = rolePage.getData();
String records = JSONObject.parseObject(data).getString("records");
@ -123,19 +185,21 @@ public class WaterScheduled {
sysRole.setRoleName(singleRole.getName());
sysRole.setRoleKey(singleRole.getCode());
sysRole.setUpdateTime(new Date());
roleService.updateRole(sysRole);
roleService.updateById(sysRole);
}else {
sysRole = new SysRole();
sysRole.preInsert();
sysRole.setStatus("0");
sysRole.setDelFlag("0");
sysRole.setRoleSort("0");
sysRole.setCreateTime(new Date());
sysRole.setCreateUid("1");
sysRole.setUpdateUid("1");
sysRole.setRemark("门户定时任务数据添加");
sysRole.setMd5(MD5Util.MD5Encode(singleRole.toString(), "utf-8"));
BeanUtils.copyProperties(singleRole,sysRole);
sysRole.setRoleName(singleRole.getName());
sysRole.setRoleKey(singleRole.getCode());
sysRole.setUpdateTime(new Date());
roleService.insertRole(sysRole);
roleService.save(sysRole);
}
}
}

24
jwtech-admin/src/main/java/com/kms/config/singleDomain/SingleMenu.java

@ -0,0 +1,24 @@
package com.kms.config.singleDomain;
import lombok.Data;
import java.util.List;
@Data
public class SingleMenu {
private String systemId;
private String code; //菜单标识
private String visible; //是否可见 1可见 0不可见
private String icon; //菜单图标
private String pid;
private String type;
private String path; //路径
private String name; //资源名称
private String id;
private String iframe;//是否外链
private Integer seq; //排序
private String stats; //状态 1启用 0停用
private List<SingleMenu> children;
}

1
jwtech-admin/src/main/java/com/kms/config/singleDomain/SingleRole.java

@ -21,4 +21,5 @@ public class SingleRole {
private String name;
private String businesses;
}

26
jwtech-admin/src/main/java/com/kms/config/singleDomain/SingleUser.java

@ -0,0 +1,26 @@
package com.kms.config.singleDomain;
import lombok.Data;
import java.util.List;
@Data
public class SingleUser {
private String id;
private String source;
private String type;
private Long seq;
private Integer firstSignIn;
private SingleOrg org;
private Boolean isPartTimeUser;
private List<SingleRole> roleList;
private List<SingleOrg> deptList;
private List<SingleOrg> orgs;
private String phone;
private String name;
private String status;
private String username;
}

249
jwtech-admin/src/main/java/com/kms/web/controller/system/CmsCallBackController.java

@ -0,0 +1,249 @@
package com.kms.web.controller.system;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.jianwei.common.core.domain.AjaxResult;
import com.jianwei.common.core.domain.entity.SysDept;
import com.jianwei.common.core.domain.entity.SysRole;
import com.jianwei.common.core.domain.entity.SysUser;
import com.jianwei.common.exception.CustomException;
import com.jianwei.common.utils.password.MD5Util;
import com.jianwei.common.utils.password.PasswordUtil;
import com.jianwei.common.utils.uuid.IdUtils;
import com.kms.config.CallBackRequest;
import com.kms.config.CallType;
import com.kms.config.WaterResult;
import com.kms.config.scheduled.WaterScheduled;
import com.kms.config.singleDomain.SingleOrg;
import com.kms.config.singleDomain.SingleRole;
import com.kms.config.singleDomain.SingleUser;
import com.kms.system.domain.SysUserRole;
import com.kms.system.service.SysDeptService;
import com.kms.system.service.SysRoleService;
import com.kms.system.service.SysUserRoleService;
import com.kms.system.service.SysUserService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import java.util.Arrays;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.stream.Collectors;
@RequestMapping("/callBack")
@Controller
public class CmsCallBackController {
@Autowired
SysUserService userService;
@Autowired
SysDeptService deptService;
@Autowired
SysRoleService roleService;
@Autowired
SysUserRoleService userRoleService;
private static final Logger log = LoggerFactory.getLogger(CmsCallBackController.class);
@PostMapping("/notify")
public WaterResult callBack(@RequestBody CallBackRequest callBackRequest){
log.info("--------开启同步请求--------------,时间:{}",new Date());
log.info("发起同步请求的参数为:{}",callBackRequest);
String type = callBackRequest.getType();
String content = callBackRequest.getContent();
if(type.equals(CallType.USER_ADD)){
SingleUser singleUser = JSONObject.parseObject(content, SingleUser.class);
QueryWrapper<SysUser> query = Wrappers.query();
query.eq("single_user_id",singleUser.getId());
SysUser user = userService.getOne(query,false);
if(user!=null){
throw new CustomException("该用户已存在,无法添加");
}
user = new SysUser();
user.preInsert();
user.setCreateUid("1");
user.setUpdateUid("1");
user.setRemark("门户定时任务数据添加");
user.setId(IdUtils.fastSimpleUUID());
user.setIsPcUser("0");
user.setDelFlag("0");
user.setPhonenumber(singleUser.getPhone());
user.setNickName(singleUser.getName());
user.setUserName(singleUser.getUsername());
user.setSingleUserSource(singleUser.getSource());
user.setSingleUserType(singleUser.getType());
user.setSingleUserId(singleUser.getId());
user.setPassword(PasswordUtil.entryptPassword(singleUser.getUsername()));
user.setIsFirst(singleUser.getFirstSignIn().toString());
if(singleUser.getStatus()==null||singleUser.getStatus().equals("1")){
user.setStatus("0");
}else {
user.setStatus("1");
}
List<String> collect = singleUser.getRoleList().stream().map(singleRole -> singleRole.getId()).collect(Collectors.toList());
user.setRoleIds(collect.toArray(new String[collect.size()]));
userService.singleInsertUser(user);
}else if(type.equals(CallType.USER_UPDATE)){
SingleUser singleUser = JSONObject.parseObject(content, SingleUser.class);
QueryWrapper<SysUser> query = Wrappers.query();
query.eq("single_user_id",singleUser.getId());
SysUser user = userService.getOne(query,false);
if(user==null){
throw new CustomException("该用户不存在,无法修改");
}
SingleOrg org = singleUser.getOrg();
if(org!=null){
user.setDeptId(org.getId());
}
user.setPhonenumber(singleUser.getPhone());
user.setNickName(singleUser.getName());
user.setUserName(singleUser.getUsername());
user.setSingleUserSource(singleUser.getSource());
user.setSingleUserType(singleUser.getType());
user.setSingleUserId(singleUser.getId());
user.setPassword(PasswordUtil.entryptPassword(singleUser.getUsername()));
user.setIsFirst(singleUser.getFirstSignIn().toString());
if(singleUser.getStatus()==null||singleUser.getStatus().equals("1")){
user.setStatus("0");
}else {
user.setStatus("1");
}
List<String> collect = singleUser.getRoleList().stream().map(singleRole -> singleRole.getId()).collect(Collectors.toList());
user.setRoleIds(collect.toArray(new String[collect.size()]));
userService.singleInsertUser(user);
}else if(type.equals(CallType.USER_DELETE)){
SingleUser singleUser = JSONObject.parseObject(content, SingleUser.class);
QueryWrapper<SysUser> query = Wrappers.query();
query.eq("single_user_id",singleUser.getId());
SysUser one = userService.getOne(query, false);
if(one==null){
throw new CustomException("该用户不存在,无法删除");
}
userService.deleteUserById(one.getId());
}else if(type.equals(CallType.ORG_ADD)){
SingleOrg singleOrg = JSONObject.parseObject(content, SingleOrg.class);
SysDept dept = deptService.getById(singleOrg.getId());
if(dept==null) {
dept = new SysDept();
dept.setIsDownload("0");
dept.setIsComment("0");
dept.setDelFlag("0");
dept.setCreateTime(new Date());
BeanUtils.copyProperties(singleOrg,dept);
dept.setXzqhId(singleOrg.getArea());
dept.setXzqhName(singleOrg.getAreaText());
dept.setSingleCode(singleOrg.getCode());
dept.setSingleSeq(singleOrg.getSeq());
dept.setSingleType(singleOrg.getType());
dept.setDeptName(singleOrg.getName());
dept.setParentId(singleOrg.getParent());
dept.setLeader(singleOrg.getDutyPerson());
dept.setName(singleOrg.getName());
dept.setAdminName(singleOrg.getName());
dept.setUpdateTime(new Date());
if(singleOrg.getStatus()==null||singleOrg.getStatus().equals("1")){
dept.setStatus("0");
}else {
dept.setStatus("1");
}
deptService.save(dept);
}
}else if(type.equals(CallType.ORG_UPDATE)){
SingleOrg singleOrg = JSONObject.parseObject(content, SingleOrg.class);
SysDept dept = deptService.getById(singleOrg.getId());
if(dept!=null) {
BeanUtils.copyProperties(singleOrg, dept);
dept.setXzqhId(singleOrg.getArea());
dept.setXzqhName(singleOrg.getAreaText());
dept.setSingleCode(singleOrg.getCode());
dept.setSingleSeq(singleOrg.getSeq());
dept.setSingleType(singleOrg.getType());
dept.setDeptName(singleOrg.getName());
dept.setParentId(singleOrg.getParent());
dept.setLeader(singleOrg.getDutyPerson());
dept.setName(singleOrg.getName());
dept.setAdminName(singleOrg.getName());
dept.setUpdateTime(new Date());
if(singleOrg.getStatus()==null||singleOrg.getStatus().equals("1")){
dept.setStatus("0");
}else {
dept.setStatus("1");
}
deptService.updateById(dept);
}
}else if(type.equals(CallType.ROLE_ADD)){
log.info("执行消息:角色添加,参数为:"+content);
SingleRole singleRole = JSONObject.parseObject(content, SingleRole.class);
SysRole sysRole = roleService.getById(singleRole.getId());
if(sysRole==null){
sysRole = new SysRole();
sysRole.setStatus("0");
if(sysRole.getStatus()==null||sysRole.getStatus()=="0"){
sysRole.setStatus("1");
}
sysRole.setDelFlag("0");
sysRole.setRoleSort("0");
sysRole.setCreateTime(new Date());
BeanUtils.copyProperties(singleRole,sysRole);
sysRole.setRoleName(singleRole.getName());
sysRole.setRoleKey(singleRole.getCode());
sysRole.setUpdateTime(new Date());
roleService.save(sysRole);
}
}else if(type.equals(CallType.ROLE_UPDATE)){
SingleRole singleRole = JSONObject.parseObject(content, SingleRole.class);
SysRole sysRole = roleService.getById(singleRole.getId());
if(sysRole!=null){
if(sysRole.getStatus()==null||sysRole.getStatus()=="0"){
sysRole.setStatus("1");
}else{
sysRole.setStatus("0");
}
BeanUtils.copyProperties(singleRole,sysRole);
sysRole.setRoleName(singleRole.getName());
sysRole.setRoleKey(singleRole.getCode());
sysRole.setUpdateTime(new Date());
roleService.updateById(sysRole);
}
}else if(type.equals(CallType.ROLE_DELETE)){
SingleRole singleRole = JSONObject.parseObject(content, SingleRole.class);
roleService.deleteRoleById(singleRole.getId());
}else if(type.equals(CallType.ROLE_USER_BIND)){ //绑定
JSONObject jsonObject = JSONObject.parseObject(content);
String roleId = jsonObject.getString("roleId");
JSONArray userIds = jsonObject.getJSONArray("userIds");
List<String> list = userIds.toJavaList(String.class);
for (String id : list) {
SysUserRole sysUserRole = new SysUserRole();
sysUserRole.preInsert();
sysUserRole.setUserId(id);
sysUserRole.setRoleId(roleId);
userRoleService.save(sysUserRole);
}
}else if(type.equals(CallType.ROLE_USER_UNBIND)) { //解绑
JSONObject jsonObject = JSONObject.parseObject(content);
String roleId = jsonObject.getString("roleId");
JSONArray userIds = jsonObject.getJSONArray("userIds");
List<String> list = userIds.toJavaList(String.class);
QueryWrapper<SysUserRole> query = Wrappers.query();
query.eq("role_id",roleId).in("user_id",list);
userRoleService.remove(query);
}
log.info("--------同步请求结束--------------,时间:{}",new Date());
return WaterResult.success();
}
}

45
jwtech-admin/src/main/java/com/kms/web/controller/system/SysLoginController.java

@ -11,6 +11,7 @@ import com.jianwei.common.constant.YesOrNo;
import com.jianwei.common.core.controller.BaseController;
import com.jianwei.common.core.domain.AjaxResult;
import com.jianwei.common.core.domain.entity.SysMenu;
import com.jianwei.common.core.domain.entity.SysRole;
import com.jianwei.common.core.domain.entity.SysUser;
import com.jianwei.common.core.domain.model.LoginBody;
import com.jianwei.common.core.redis.RedisCache;
@ -23,10 +24,14 @@ import com.jianwei.common.utils.password.PasswordUtil;
import com.kms.common.utils.UserUtils;
import com.kms.config.WaterRequestUtil;
import com.kms.config.WaterResult;
import com.kms.config.singleDomain.SingleMenu;
import com.kms.config.singleDomain.SingleRole;
import com.kms.framework.manager.AsyncManager;
import com.kms.framework.manager.factory.AsyncFactory;
import com.kms.framework.web.service.SysPermissionService;
import com.kms.system.service.SysMenuService;
import com.kms.system.service.SysRoleMenuService;
import com.kms.system.service.SysRoleService;
import com.kms.system.service.SysUserService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@ -169,7 +174,13 @@ public class SysLoginController extends BaseController {
public ModelAndView signOnLogin(HttpServletRequest request,
HttpServletResponse response,
@RequestParam(name = "token")String token) throws IOException {
WaterResult waterResult = waterRequestUtil.authUser(token);
WaterResult waterResult;
try {
waterResult = waterRequestUtil.authUser(token);
}catch (Exception e){
log.error(e.getMessage());
throw new CustomException("登录失败");
}
JSONObject jsonObject = JSONObject.parseObject(waterResult.getData());
String user = jsonObject.getString("user");
JSONObject userJsonObject = JSONObject.parseObject(user);
@ -196,9 +207,39 @@ public class SysLoginController extends BaseController {
StpUtil.getSession().set("jianwei-user",user);
String tokenValue = StpUtil.getTokenValue();
ajax.put("token",tokenValue);
RedirectView redirectView = new RedirectView(redirect+"?token="+tokenValue);
ajax.put("authorization",token);
RedirectView redirectView = new RedirectView(redirect+"?token="+tokenValue+"&authorization="+token);
ModelAndView modelAndView = new ModelAndView(redirectView);
return modelAndView;
}
@Autowired
SysRoleService sysRoleService;
@Autowired
SysRoleMenuService sysRoleMenuService;
@Autowired
SysMenuService sysMenuService;
@GetMapping("/getSingleRotes/{token}")
public AjaxResult getSingleRotes(@PathVariable String token){
WaterResult waterResult = waterRequestUtil.authUser(token);
String data = waterResult.getData();
JSONObject jsonObject = JSONObject.parseObject(data);
List<String> functionPerms = jsonObject.getJSONArray("functionPerms").toJavaList(String.class);
List<String> roles = jsonObject.getJSONArray("roles").toJavaList(String.class);
QueryWrapper<SysRole> query = Wrappers.query();
query.in("role_key",roles);
List<SysRole> roleList = sysRoleService.list(query);
QueryWrapper<SysMenu> menuQueryWrapper = Wrappers.query();
query.in("perms",functionPerms);
List<SysMenu> menus = sysMenuService.list(menuQueryWrapper);
WaterResult result = waterRequestUtil.getUserResource(token);
List<SingleMenu> singleUserList = JSONObject.parseArray(result.getData(), SingleMenu.class);
return null;
}
}

12
jwtech-admin/src/main/java/com/kms/web/controller/system/SysUserController.java

@ -20,10 +20,13 @@ import com.jianwei.common.utils.StringUtils;
import com.jianwei.common.utils.password.PasswordUtil;
import com.jianwei.common.utils.poi.ExcelUtil;
import com.kms.common.utils.UserUtils;
import com.kms.config.WaterRequestUtil;
import com.kms.config.WaterResult;
import com.kms.system.service.SysDeptService;
import com.kms.system.service.SysPostService;
import com.kms.system.service.SysRoleService;
import com.kms.system.service.SysUserService;
import org.springframework.aop.aspectj.AspectJExpressionPointcut;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@ -51,6 +54,15 @@ public class SysUserController extends BaseController
@Autowired
private SysDeptService sysDeptService;
@Autowired
WaterRequestUtil waterRequestUtil;
@GetMapping("test")
public AjaxResult test(){
WaterResult waterResult = waterRequestUtil.systemPage();
return AjaxResult.success(waterResult);
}
/**
* 获取用户列表

20
jwtech-admin/src/main/java/com/kms/web/controller/tool/TestController.java

@ -4,6 +4,12 @@ import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import com.alibaba.fastjson.JSONObject;
import com.kms.config.WaterRequestUtil;
import com.kms.config.WaterResult;
import com.kms.config.singleDomain.SingleUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
@ -22,7 +28,7 @@ import io.swagger.annotations.ApiOperation;
/**
* swagger 用户测试方法
*
*
* @author kms
*/
@Api("用户信息管理")
@ -36,6 +42,18 @@ public class TestController extends BaseController
users.put(2, new UserEntity(2, "ry", "admin123", "15666666666"));
}
@Autowired
WaterRequestUtil waterRequestUtil;
@GetMapping("test")
public WaterResult test(){
WaterResult waterResult = waterRequestUtil.authUser("bearer 0e6d6082-9ae7-4313-b6b1-ea45179eee1e");
String data = waterResult.getData();
// String records = JSONObject.parseObject(data).getString("records");
// List<SingleUser> singleUserList = JSONObject.parseArray(records, SingleUser.class);
return waterResult;
}
@ApiOperation("获取用户列表")
@GetMapping("/list")
public AjaxResult userList()

29
jwtech-admin/src/main/resources/application-test.yml

@ -255,8 +255,10 @@ water:
redirect: http://19.25.74.73:8001/#/singleLogin
#业务系统编码
systemCode: sgc-jg
#请求网关
url: http://19.25.35.204:31190/data_center/gateway/api
systemName: 水工程应用-水利工程建设管理模块
#请求测试环境网关
# url: http://19.25.35.204:31190/data_center/gateway/api
url: http://119.25.40.10:31190/data_center/gateway/portal
#应用token
paasToken: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzeXN0ZW1JZCI6IjE3MzI3MDMxMTE1NDc0ODIxMTQifQ.4oiD3WBwrxT5z8goAvA9O88vsYVxwaE-8vyQmWl7xbg
#应用id
@ -267,11 +269,30 @@ water:
#服务密钥
singOnAppsecret: 92c8749c5a424758ba550f3cc79cf882
userUrl: ${water.url}/uaa/auth/user
authUserServiceId: DGSP_1606192911177592833
authUserAppsecret: 4961464000044bb6907e9b61d736d194
usersUrl: ${water.url}/usrc/open-api/user/page
# 组织
orgUrl: ${water.url}/usrc/open-api/org/orgPage
# 业务系统
systemUrl: ${water.url}/usrc/open-api/system/list
# 业务角色
businessRole: ${water.url}/usrc/open-api/role/page
# 用户资源
resourceUrl: ${water.url}/usrc/resource/build
usersAppsecret: 97ba97908eca4624aa131f7530cc4d30
usersServiceId: DGSP_1606198353790349313
orgServiceId: DGSP_1606197217079439362
orgAppsecret: 7ac7d77ddaa14ad1b653a0263906c0f8
roleUrl: ${water.url}/usrc/open-api/role/page
authUserServiceId: DGSP_1606192911177592833
authUserAppsecret: 4961464000044bb6907e9b61d736d194
roleServiceId: DGSP_1731517609955848193
roleAppsecret: e49e175c07fd4bbe90b3c928772fa58f
systemServiceId: DGSP_1606199297580052481
systemAppsecret: 4b26a1c7b95744369c00f65b7a0790b6
resourceServiceId: DGSP_1606193569955950593
resourceAppsecret: e9fbf96d53b34abca030b8f64de70ce9
# businessRoleServiceId:
# businessRoleAppsecret:

4
jwtech-framework/src/main/java/com/jianwei/common/core/domain/entity/SysUser.java

@ -129,9 +129,13 @@ public class SysUser extends BaseEntity
@TableField(exist = false)
private String roleName; //邀请人
private String md5;
private String singleUserId; //单点用户id
private String singleUserSource; //用户来源
private String singleUserType; //用户类型
public String getInvitee() {
return invitee;

1
jwtech-system/src/main/java/com/kms/earlyStage/controller/ProjectBidPrequController.java

@ -12,7 +12,6 @@ import com.kms.common.utils.BaseEntityUtils;
import com.kms.earlyStage.domain.SpecialProjectProposal;
import com.kms.earlyStage.service.SpecialProjectProposalService;
import com.sun.tools.internal.ws.wsdl.parser.W3CAddressingExtensionHandler;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;

13
jwtech-system/src/main/java/com/kms/system/service/SysUserService.java

@ -207,6 +207,18 @@ public class SysUserService extends BaseService<SysUserMapper,SysUser> {
return rows;
}
@Transactional
public boolean singleInsertUser(SysUser user) {
// 新增用户信息
boolean rows = saveWithRedis(user);
// 新增用户岗位关联
insertUserPost(user);
// 新增用户与角色管理
insertUserRole(user);
return rows;
}
/**
* 修改保存用户信息
*
@ -299,6 +311,7 @@ public class SysUserService extends BaseService<SysUserMapper,SysUser> {
List<SysUserRole> list = new ArrayList<SysUserRole>();
for (String roleId : roles) {
SysUserRole ur = new SysUserRole();
ur.preInsert();
ur.setUserId(user.getId());
ur.setRoleId(roleId);
list.add(ur);

Loading…
Cancel
Save