人员信息同步
This commit is contained in:
parent
c19ce04ea2
commit
7ade5c7b95
@ -1,5 +1,6 @@
|
|||||||
package com.zhgd.xmgl.modules.basicdata.controller;
|
package com.zhgd.xmgl.modules.basicdata.controller;
|
||||||
|
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
import cn.hutool.core.util.CharsetUtil;
|
import cn.hutool.core.util.CharsetUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import cn.hutool.crypto.asymmetric.KeyType;
|
import cn.hutool.crypto.asymmetric.KeyType;
|
||||||
@ -8,11 +9,14 @@ import cn.hutool.http.HttpRequest;
|
|||||||
import cn.hutool.json.JSONUtil;
|
import cn.hutool.json.JSONUtil;
|
||||||
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONArray;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
import com.zhgd.jeecg.common.api.vo.Result;
|
import com.zhgd.jeecg.common.api.vo.Result;
|
||||||
import com.zhgd.redis.lock.RedisRepository;
|
import com.zhgd.redis.lock.RedisRepository;
|
||||||
|
import com.zhgd.xmgl.modules.basicdata.entity.Company;
|
||||||
import com.zhgd.xmgl.modules.basicdata.entity.OrganizationDept;
|
import com.zhgd.xmgl.modules.basicdata.entity.OrganizationDept;
|
||||||
import com.zhgd.xmgl.modules.basicdata.entity.OrganizationJob;
|
import com.zhgd.xmgl.modules.basicdata.entity.OrganizationJob;
|
||||||
import com.zhgd.xmgl.modules.basicdata.entity.SystemUser;
|
import com.zhgd.xmgl.modules.basicdata.entity.SystemUser;
|
||||||
|
import com.zhgd.xmgl.modules.basicdata.service.ICompanyService;
|
||||||
import com.zhgd.xmgl.modules.basicdata.service.IOrganizationDeptService;
|
import com.zhgd.xmgl.modules.basicdata.service.IOrganizationDeptService;
|
||||||
import com.zhgd.xmgl.modules.basicdata.service.IOrganizationJobService;
|
import com.zhgd.xmgl.modules.basicdata.service.IOrganizationJobService;
|
||||||
import com.zhgd.xmgl.modules.basicdata.service.ISystemUserService;
|
import com.zhgd.xmgl.modules.basicdata.service.ISystemUserService;
|
||||||
@ -24,12 +28,10 @@ import lombok.extern.slf4j.Slf4j;
|
|||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
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.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/xmgl/baseData")
|
@RequestMapping("/xmgl/baseData")
|
||||||
@ -55,9 +57,12 @@ public class BaseDataController {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private ISystemUserService systemUserService;
|
private ISystemUserService systemUserService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ICompanyService companyService;
|
||||||
|
|
||||||
@ApiOperation(value = "获取分部数据进行同步", notes = "获取分部数据进行同步", httpMethod="POST")
|
@ApiOperation(value = "获取分部数据进行同步", notes = "获取分部数据进行同步", httpMethod="POST")
|
||||||
@PostMapping(value = "/getSubCompanyData")
|
@GetMapping(value = "/getSubCompanyData")
|
||||||
public Result<Map<String, Object>> getSubCompanyData(@RequestBody Map<String, Object> map) {
|
public Result<Map<String, Object>> getSubCompanyData() {
|
||||||
Map<String, Object> jsonParams = new HashMap<>();
|
Map<String, Object> jsonParams = new HashMap<>();
|
||||||
Map<String, Object> params = new HashMap<>();
|
Map<String, Object> params = new HashMap<>();
|
||||||
params.put("pagesize", 1000);
|
params.put("pagesize", 1000);
|
||||||
@ -67,50 +72,84 @@ public class BaseDataController {
|
|||||||
if (StringUtils.isNotBlank(result)) {
|
if (StringUtils.isNotBlank(result)) {
|
||||||
JSONObject obj = JSONObject.parseObject(result);
|
JSONObject obj = JSONObject.parseObject(result);
|
||||||
JSONArray jsonArray = obj.getJSONObject("data").getJSONArray("dataList");
|
JSONArray jsonArray = obj.getJSONObject("data").getJSONArray("dataList");
|
||||||
for (int i = 0; i < jsonArray.size(); i++) {
|
Company companyParent = companyService.getOne(Wrappers.<Company>lambdaQuery().eq(Company::getCompanyName, "九柱集团")
|
||||||
JSONObject subCompany = jsonArray.getJSONObject(i);
|
.eq(Company::getCompanyType, 2));
|
||||||
|
if (companyParent != null) {
|
||||||
|
List<Company> companyList = new ArrayList<>();
|
||||||
|
for (int i = 0; i < jsonArray.size(); i++) {
|
||||||
|
JSONObject companyObj = jsonArray.getJSONObject(i);
|
||||||
|
Company company = new Company();
|
||||||
|
company.setCompanySn(companyObj.getString("subcompanycode"));
|
||||||
|
company.setCompanyName(companyObj.getString("subcompanyname"));
|
||||||
|
company.setExternalId(companyObj.getString("id"));
|
||||||
|
company.setCreateTime(DateUtil.formatDateTime(new Date()));
|
||||||
|
company.setCompanyType(3);
|
||||||
|
company.setParentId(companyParent.getCompanyId());
|
||||||
|
company.setHeadquartersSn(companyParent.getHeadquartersSn());
|
||||||
|
company.setLongitude(companyParent.getLongitude());
|
||||||
|
company.setLatitude(companyParent.getLatitude());
|
||||||
|
company.setRangeAddr(companyParent.getRangeAddr());
|
||||||
|
company.setFullSn(companyParent.getFullSn());
|
||||||
|
companyList.add(company);
|
||||||
|
}
|
||||||
|
companyService.saveBatch(companyList);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return Result.success(null);
|
return Result.success(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation(value = "获取岗位数据进行同步", notes = "获取岗位数据进行同步", httpMethod="POST")
|
|
||||||
@PostMapping(value = "/getJobData")
|
|
||||||
public Result<Map<String, Object>> getJobData(@RequestBody Map<String, Object> map) {
|
|
||||||
Map<String, Object> jsonParams = new HashMap<>();
|
|
||||||
Map<String, Object> params = new HashMap<>();
|
|
||||||
params.put("pagesize", 1000);
|
|
||||||
params.put("curpage", 1);
|
|
||||||
jsonParams.put("params", params);
|
|
||||||
String result = testRestful(ADDRESS, "/api/hrm/resful/getJobtitleInfoWithPage", JSONObject.toJSONString(jsonParams));
|
|
||||||
if (StringUtils.isNotBlank(result)) {
|
|
||||||
JSONObject obj = JSONObject.parseObject(result);
|
|
||||||
JSONArray jsonArray = obj.getJSONObject("data").getJSONArray("dataList");
|
|
||||||
List<OrganizationDept> deptList = new ArrayList<>();
|
|
||||||
for (int i = 0; i < jsonArray.size(); i++) {
|
|
||||||
JSONObject dept = jsonArray.getJSONObject(i);
|
|
||||||
OrganizationDept organizationDept = new OrganizationDept();
|
|
||||||
organizationDept.setId(Long.valueOf(dept.getString("id")));
|
|
||||||
organizationDept.setDeptName(dept.getString("jobtitlename"));
|
|
||||||
deptList.add(organizationDept);
|
|
||||||
}
|
|
||||||
organizationDeptService.saveBatch(deptList);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
return Result.success(null);
|
|
||||||
}
|
|
||||||
|
|
||||||
@ApiOperation(value = "获取部门数据进行同步", notes = "获取部门数据进行同步", httpMethod="POST")
|
@ApiOperation(value = "获取部门数据进行同步", notes = "获取部门数据进行同步", httpMethod="POST")
|
||||||
@PostMapping(value = "/getDeptData")
|
@GetMapping(value = "/getDeptData")
|
||||||
public Result<Map<String, Object>> getDeptData(@RequestBody Map<String, Object> map) {
|
public Result<Map<String, Object>> getDeptData() {
|
||||||
Map<String, Object> jsonParams = new HashMap<>();
|
Map<String, Object> jsonParams = new HashMap<>();
|
||||||
Map<String, Object> params = new HashMap<>();
|
Map<String, Object> params = new HashMap<>();
|
||||||
params.put("pagesize", 1000);
|
params.put("pagesize", 1000);
|
||||||
params.put("curpage", 1);
|
params.put("curpage", 1);
|
||||||
jsonParams.put("params", params);
|
jsonParams.put("params", params);
|
||||||
String result = testRestful(ADDRESS, "/api/hrm/resful/getHrmdepartmentWithPage", JSONObject.toJSONString(jsonParams));
|
String result = testRestful(ADDRESS, "/api/hrm/resful/getHrmdepartmentWithPage", JSONObject.toJSONString(jsonParams));
|
||||||
|
if (StringUtils.isNotBlank(result)) {
|
||||||
|
JSONObject obj = JSONObject.parseObject(result);
|
||||||
|
JSONArray jsonArray = obj.getJSONObject("data").getJSONArray("dataList");
|
||||||
|
Company companyParent = companyService.getOne(Wrappers.<Company>lambdaQuery().eq(Company::getCompanyName, "九柱集团")
|
||||||
|
.eq(Company::getCompanyType, 2));
|
||||||
|
if (companyParent != null) {
|
||||||
|
List<Company> companyList = new ArrayList<>();
|
||||||
|
List<Company> subCompanyList = companyService.list(Wrappers.<Company>lambdaQuery()
|
||||||
|
.eq(Company::getCompanyType, 3)
|
||||||
|
.eq(Company::getHeadquartersSn, companyParent.getHeadquartersSn()));
|
||||||
|
for (int i = 0; i < jsonArray.size(); i++) {
|
||||||
|
JSONObject companyObj = jsonArray.getJSONObject(i);
|
||||||
|
Company company = new Company();
|
||||||
|
company.setCompanySn(companyObj.getString("departmentcode"));
|
||||||
|
company.setCompanyName(companyObj.getString("departmentname"));
|
||||||
|
company.setExternalId(companyObj.getString("id"));
|
||||||
|
company.setCreateTime(DateUtil.formatDateTime(new Date()));
|
||||||
|
company.setCompanyType(4);
|
||||||
|
List<Company> parentDept = subCompanyList.stream().filter(d -> d.getExternalId() != null && d.getExternalId().toString().equals(companyObj.getString("subcompanyid1"))).collect(Collectors.toList());
|
||||||
|
company.setParentId(parentDept.get(0).getCompanyId());
|
||||||
|
company.setHeadquartersSn(companyParent.getHeadquartersSn());
|
||||||
|
company.setLongitude(companyParent.getLongitude());
|
||||||
|
company.setLatitude(companyParent.getLatitude());
|
||||||
|
company.setRangeAddr(companyParent.getRangeAddr());
|
||||||
|
company.setFullSn(companyParent.getFullSn());
|
||||||
|
companyList.add(company);
|
||||||
|
}
|
||||||
|
companyService.saveBatch(companyList);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return Result.success(null);
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation(value = "获取岗位数据进行同步", notes = "获取岗位数据进行同步", httpMethod="POST")
|
||||||
|
@GetMapping(value = "/getJobData")
|
||||||
|
public Result<Map<String, Object>> getJobData() {
|
||||||
|
Map<String, Object> jsonParams = new HashMap<>();
|
||||||
|
Map<String, Object> params = new HashMap<>();
|
||||||
|
params.put("pagesize", 1000);
|
||||||
|
params.put("curpage", 1);
|
||||||
|
jsonParams.put("params", params);
|
||||||
|
String result = testRestful(ADDRESS, "/api/hrm/resful/getJobtitleInfoWithPage", JSONObject.toJSONString(jsonParams));
|
||||||
if (StringUtils.isNotBlank(result)) {
|
if (StringUtils.isNotBlank(result)) {
|
||||||
JSONObject obj = JSONObject.parseObject(result);
|
JSONObject obj = JSONObject.parseObject(result);
|
||||||
JSONArray jsonArray = obj.getJSONObject("data").getJSONArray("dataList");
|
JSONArray jsonArray = obj.getJSONObject("data").getJSONArray("dataList");
|
||||||
@ -119,37 +158,54 @@ public class BaseDataController {
|
|||||||
JSONObject dept = jsonArray.getJSONObject(i);
|
JSONObject dept = jsonArray.getJSONObject(i);
|
||||||
OrganizationJob organizationJob = new OrganizationJob();
|
OrganizationJob organizationJob = new OrganizationJob();
|
||||||
organizationJob.setId(Long.valueOf(dept.getString("id")));
|
organizationJob.setId(Long.valueOf(dept.getString("id")));
|
||||||
organizationJob.setJobName(dept.getString("departmentname"));
|
organizationJob.setJobName(dept.getString("jobtitlename"));
|
||||||
jobList.add(organizationJob);
|
jobList.add(organizationJob);
|
||||||
}
|
}
|
||||||
organizationJobService.saveBatch(jobList);
|
organizationJobService.saveBatch(jobList);
|
||||||
}
|
}
|
||||||
|
|
||||||
return Result.success(null);
|
return Result.success(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation(value = "获取人员数据进行同步", notes = "获取人员数据进行同步", httpMethod="POST")
|
@ApiOperation(value = "获取人员数据进行同步", notes = "获取人员数据进行同步", httpMethod="POST")
|
||||||
@PostMapping(value = "/getUserData")
|
@GetMapping(value = "/getUserData")
|
||||||
public Result<Map<String, Object>> getUserData(@RequestBody Map<String, Object> map) {
|
public Result<Map<String, Object>> getUserData() {
|
||||||
Map<String, Object> jsonParams = new HashMap<>();
|
Map<String, Object> jsonParams = new HashMap<>();
|
||||||
Map<String, Object> params = new HashMap<>();
|
Map<String, Object> params = new HashMap<>();
|
||||||
|
params.put("pagesize", 1000);
|
||||||
|
params.put("curpage", 1);
|
||||||
jsonParams.put("params", params);
|
jsonParams.put("params", params);
|
||||||
String result = testRestful(ADDRESS, "/api/hrm/resful/getHrmUserInfoWithPage", JSONObject.toJSONString(jsonParams));
|
String result = testRestful(ADDRESS, "/api/hrm/resful/getHrmUserInfoWithPage", JSONObject.toJSONString(jsonParams));
|
||||||
if (StringUtils.isNotBlank(result)) {
|
if (StringUtils.isNotBlank(result)) {
|
||||||
JSONObject obj = JSONObject.parseObject(result);
|
JSONObject obj = JSONObject.parseObject(result);
|
||||||
JSONArray jsonArray = obj.getJSONObject("data").getJSONArray("dataList");
|
JSONArray jsonArray = obj.getJSONObject("data").getJSONArray("dataList");
|
||||||
List<SystemUser> userList = new ArrayList<>();
|
Company companyParent = companyService.getOne(Wrappers.<Company>lambdaQuery().eq(Company::getCompanyName, "九柱集团")
|
||||||
for (int i = 0; i < jsonArray.size(); i++) {
|
.eq(Company::getCompanyType, 2));
|
||||||
JSONObject dept = jsonArray.getJSONObject(i);
|
if (companyParent != null) {
|
||||||
SystemUser systemUser = new SystemUser();
|
List<Company> deptList = companyService.list(Wrappers.<Company>lambdaQuery()
|
||||||
systemUser.setUserId(Long.valueOf(dept.getString("id")));
|
.eq(Company::getCompanyType, 4)
|
||||||
systemUser.setAccount(dept.getString("loginid"));
|
.eq(Company::getHeadquartersSn, companyParent.getHeadquartersSn()));
|
||||||
systemUser.setRealName(dept.getString("lastname"));
|
List<SystemUser> userList = new ArrayList<>();
|
||||||
systemUser.setJobId(Long.valueOf(dept.getString("departmentid")));
|
for (int i = 0; i < jsonArray.size(); i++) {
|
||||||
systemUser.setDepartment(dept.getString("jobtitle"));
|
JSONObject dept = jsonArray.getJSONObject(i);
|
||||||
userList.add(systemUser);
|
String loginid = dept.getString("loginid");
|
||||||
|
if (StringUtils.isNotBlank(loginid)) {
|
||||||
|
SystemUser systemUser = new SystemUser();
|
||||||
|
systemUser.setUserId(Long.valueOf(dept.getString("id")));
|
||||||
|
systemUser.setAccount(loginid);
|
||||||
|
String departmentId = dept.getString("departmentid");
|
||||||
|
List<Company> myDept = deptList.stream().filter(d -> d.getExternalId() != null && d.getExternalId().toString().equals(departmentId)).collect(Collectors.toList());
|
||||||
|
systemUser.setSn(myDept.size() > 0 ? myDept.get(0).getCompanySn() : "");
|
||||||
|
systemUser.setAccountType(7);
|
||||||
|
systemUser.setRealName(dept.getString("lastname"));
|
||||||
|
String jobtitle = dept.getString("jobtitle");
|
||||||
|
if (StringUtils.isNotBlank(jobtitle)) {
|
||||||
|
systemUser.setJobId(Long.valueOf(dept.getString("jobtitle")));
|
||||||
|
}
|
||||||
|
userList.add(systemUser);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
systemUserService.saveBatch(userList);
|
||||||
}
|
}
|
||||||
systemUserService.saveBatch(userList);
|
|
||||||
}
|
}
|
||||||
return Result.success(null);
|
return Result.success(null);
|
||||||
}
|
}
|
||||||
@ -251,7 +307,7 @@ public class BaseDataController {
|
|||||||
|
|
||||||
//ECOLOGY返回的token
|
//ECOLOGY返回的token
|
||||||
// TODO 为Token缓存设置过期时间
|
// TODO 为Token缓存设置过期时间
|
||||||
redisRepository.set("JIUZHU_SERVER_TOKEN",StrUtil.nullToEmpty((String)datas.get("token")));
|
redisRepository.setExpire("JIUZHU_SERVER_TOKEN",StrUtil.nullToEmpty((String)datas.get("token")), 60 * 30);
|
||||||
return datas;
|
return datas;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
package com.zhgd.xmgl.modules.basicdata.controller;
|
package com.zhgd.xmgl.modules.basicdata.controller;
|
||||||
|
|
||||||
|
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
import com.zhgd.annotation.OperLog;
|
import com.zhgd.annotation.OperLog;
|
||||||
import com.zhgd.jeecg.common.api.vo.Result;
|
import com.zhgd.jeecg.common.api.vo.Result;
|
||||||
@ -20,7 +21,9 @@ import org.springframework.web.bind.annotation.PostMapping;
|
|||||||
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
import springfox.documentation.annotations.ApiIgnore;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -178,6 +181,18 @@ public class LoginController {
|
|||||||
return Result.success(resultMap);
|
return Result.success(resultMap);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ApiOperation(value = "通过用户登录名登录信息", notes = "通过用户登录名登录信息", httpMethod = "POST")
|
||||||
|
@ApiImplicitParams({
|
||||||
|
@ApiImplicitParam(name = "t", required = true, value = "时间戳", paramType = "body"),
|
||||||
|
@ApiImplicitParam(name = "u", required = true, value = "用户名", paramType = "body"),
|
||||||
|
@ApiImplicitParam(name = "p", required = true, value = "用户名+时间戳+系统简称的MD5值", paramType = "body")
|
||||||
|
})
|
||||||
|
@PostMapping(value = "/getUserByAccount")
|
||||||
|
public Result<Map<String, Object>> getUserByAccount(@ApiIgnore @RequestBody Map<String, Object> map) {
|
||||||
|
Map<String, Object> resultMap = systemUserService.getUserByAccount(map);
|
||||||
|
return Result.success(resultMap);
|
||||||
|
}
|
||||||
|
|
||||||
@ApiOperation(value = "通过项目编号直接获取用户登录信息", notes = "通过项目编号直接获取用户登录信息", httpMethod = "POST")
|
@ApiOperation(value = "通过项目编号直接获取用户登录信息", notes = "通过项目编号直接获取用户登录信息", httpMethod = "POST")
|
||||||
@ApiImplicitParams({
|
@ApiImplicitParams({
|
||||||
@ApiImplicitParam(name = "projectNumber", required = true, value = "项目编号", paramType = "body"),
|
@ApiImplicitParam(name = "projectNumber", required = true, value = "项目编号", paramType = "body"),
|
||||||
@ -188,6 +203,10 @@ public class LoginController {
|
|||||||
return Result.success(resultMap);
|
return Result.success(resultMap);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
System.out.println(DateUtil.offsetDay(new Date(), 1).getTime());
|
||||||
|
}
|
||||||
|
|
||||||
@ApiOperation(value = "app端退出登录", notes = "app端退出登录", httpMethod = "POST")
|
@ApiOperation(value = "app端退出登录", notes = "app端退出登录", httpMethod = "POST")
|
||||||
@PostMapping(value = "/logout")
|
@PostMapping(value = "/logout")
|
||||||
public Result<Object> logout(@RequestBody Map<String, Object> map) {
|
public Result<Object> logout(@RequestBody Map<String, Object> map) {
|
||||||
|
|||||||
@ -85,6 +85,9 @@ public class Company implements Serializable {
|
|||||||
@ApiModelProperty(value = "管辖区域范围")
|
@ApiModelProperty(value = "管辖区域范围")
|
||||||
private java.lang.String rangeAddr;
|
private java.lang.String rangeAddr;
|
||||||
|
|
||||||
|
@ApiModelProperty(value="外部主键ID")
|
||||||
|
private java.lang.String externalId;
|
||||||
|
|
||||||
@ApiModelProperty(value = "父级Sn")
|
@ApiModelProperty(value = "父级Sn")
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private java.lang.String parentSn;
|
private java.lang.String parentSn;
|
||||||
|
|||||||
@ -15,7 +15,7 @@ import org.apache.ibatis.annotations.Param;
|
|||||||
|
|
||||||
public interface CompanyConfigMapper extends BaseMapper<CompanyConfig> {
|
public interface CompanyConfigMapper extends BaseMapper<CompanyConfig> {
|
||||||
|
|
||||||
CompanyConfig getCompanyConfigBySN(String companySn);
|
CompanyConfig getCompanyConfigBySn(String companySn);
|
||||||
|
|
||||||
CompanyConfig getCompanyConfigByProject(String sn);
|
CompanyConfig getCompanyConfigByProject(String sn);
|
||||||
|
|
||||||
|
|||||||
@ -8,12 +8,12 @@
|
|||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
|
|
||||||
<select id="getCompanyConfigBySN" resultMap="companyConfigMap" parameterType="string">
|
<select id="getCompanyConfigBySn" resultMap="companyConfigMap" parameterType="string">
|
||||||
SELECT b.*, a.headquarters_sn, c.company_name, c.propagate_file
|
SELECT b.*, a.headquarters_sn, c.company_name, c.propagate_file
|
||||||
FROM company a
|
FROM company a
|
||||||
INNER JOIN company_config b ON a.headquarters_sn = b.company_sn
|
INNER JOIN company_config b ON a.headquarters_sn = b.company_sn
|
||||||
LEFT JOIN company c ON a.headquarters_sn = c.company_sn
|
LEFT JOIN company c ON a.headquarters_sn = c.company_sn
|
||||||
WHERE a.company_sn = #{companySn}
|
WHERE a.company_sn = #{companySn} LIMIT 1
|
||||||
</select>
|
</select>
|
||||||
<select id="getCompanyConfigByProject" resultMap="companyConfigMap">
|
<select id="getCompanyConfigByProject" resultMap="companyConfigMap">
|
||||||
SELECT c.*, b.headquarters_sn, d.company_name, b.propagate_file
|
SELECT c.*, b.headquarters_sn, d.company_name, b.propagate_file
|
||||||
|
|||||||
@ -50,6 +50,8 @@ public interface ISystemUserService extends IService<SystemUser> {
|
|||||||
|
|
||||||
Map<String, Object> getUserByUid(Map<String, Object> map);
|
Map<String, Object> getUserByUid(Map<String, Object> map);
|
||||||
|
|
||||||
|
Map<String, Object> getUserByAccount(Map<String, Object> map);
|
||||||
|
|
||||||
Map<String, Object> getProjectUserByNumber(Map<String, Object> map);
|
Map<String, Object> getProjectUserByNumber(Map<String, Object> map);
|
||||||
|
|
||||||
void sendSafetyHatAccountData(Map<String, Object> map);
|
void sendSafetyHatAccountData(Map<String, Object> map);
|
||||||
|
|||||||
@ -1,10 +1,13 @@
|
|||||||
package com.zhgd.xmgl.modules.basicdata.service.impl;
|
package com.zhgd.xmgl.modules.basicdata.service.impl;
|
||||||
|
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.zhgd.jeecg.common.execption.OpenAlertException;
|
import com.zhgd.jeecg.common.execption.OpenAlertException;
|
||||||
|
import com.zhgd.xmgl.enums.ParamEnum;
|
||||||
|
import com.zhgd.xmgl.modules.basicdata.entity.BaseMenu;
|
||||||
import com.zhgd.xmgl.modules.basicdata.entity.BaseModule;
|
import com.zhgd.xmgl.modules.basicdata.entity.BaseModule;
|
||||||
import com.zhgd.xmgl.modules.basicdata.entity.CompanyConfig;
|
import com.zhgd.xmgl.modules.basicdata.entity.CompanyConfig;
|
||||||
import com.zhgd.xmgl.modules.basicdata.entity.SystemUser;
|
import com.zhgd.xmgl.modules.basicdata.entity.SystemUser;
|
||||||
@ -25,6 +28,7 @@ import java.util.HashMap;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 模块
|
* @Description: 模块
|
||||||
@ -141,10 +145,10 @@ public class BaseModuleServiceImpl extends ServiceImpl<BaseModuleMapper, BaseMod
|
|||||||
return systemUserService.getUserAuthority(null, 5, projectSn, companyConfig.getHeadquartersSn(), companyConfig.getStyleType(), moduleType);
|
return systemUserService.getUserAuthority(null, 5, projectSn, companyConfig.getHeadquartersSn(), companyConfig.getStyleType(), moduleType);
|
||||||
} else if (Objects.equals(systemUser.getAccountType(), 5) || Objects.equals(systemUser.getAccountType(), 6)) {
|
} else if (Objects.equals(systemUser.getAccountType(), 5) || Objects.equals(systemUser.getAccountType(), 6)) {
|
||||||
return systemUserService.getUserAuthority(Long.valueOf(userId), systemUser.getAccountType(), projectSn, companyConfig.getHeadquartersSn(), companyConfig.getStyleType(), moduleType);
|
return systemUserService.getUserAuthority(Long.valueOf(userId), systemUser.getAccountType(), projectSn, companyConfig.getHeadquartersSn(), companyConfig.getStyleType(), moduleType);
|
||||||
} else if (Objects.equals(systemUser.getAccountType(), SystemUserAccountTypeEnum.ENTERPRISE_ADMINISTRATOR_ACCOUNT.getValue())
|
} else if (Objects.equals(systemUser.getAccountType(), ParamEnum.SystemUserAccountTypeEnum.ENTERPRISE_ADMINISTRATOR_ACCOUNT.getValue())
|
||||||
|| Objects.equals(systemUser.getAccountType(), SystemUserAccountTypeEnum.ENTERPRISE_DISTRICT_ACCOUNT.getValue())
|
|| Objects.equals(systemUser.getAccountType(), ParamEnum.SystemUserAccountTypeEnum.ENTERPRISE_DISTRICT_ACCOUNT.getValue())
|
||||||
|| Objects.equals(systemUser.getAccountType(), SystemUserAccountTypeEnum.ENTERPRISE_CITY_ACCOUNT.getValue())
|
|| Objects.equals(systemUser.getAccountType(), ParamEnum.SystemUserAccountTypeEnum.ENTERPRISE_CITY_ACCOUNT.getValue())
|
||||||
|| Objects.equals(systemUser.getAccountType(), SystemUserAccountTypeEnum.ENTERPRISE_SUB_ACCOUNT.getValue())) {
|
|| Objects.equals(systemUser.getAccountType(), ParamEnum.SystemUserAccountTypeEnum.ENTERPRISE_SUB_ACCOUNT.getValue())) {
|
||||||
return systemUserService.getUserAuthority(Long.valueOf(userId), systemUser.getAccountType(), systemUser.getSn(), companyConfig.getHeadquartersSn(), companyConfig.getStyleType(), moduleType);
|
return systemUserService.getUserAuthority(Long.valueOf(userId), systemUser.getAccountType(), systemUser.getSn(), companyConfig.getHeadquartersSn(), companyConfig.getStyleType(), moduleType);
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
|
|||||||
@ -368,7 +368,7 @@ public class SystemUserServiceImpl extends ServiceImpl<SystemUserMapper, SystemU
|
|||||||
} else if (systemUser.getAccountType() == 10 || systemUser.getAccountType() == 11) {
|
} else if (systemUser.getAccountType() == 10 || systemUser.getAccountType() == 11) {
|
||||||
companyConfig = companyConfigMapper.getCompanyConfigByHeadquartersSn(MapUtils.getString(map, "headquartersSn"));
|
companyConfig = companyConfigMapper.getCompanyConfigByHeadquartersSn(MapUtils.getString(map, "headquartersSn"));
|
||||||
} else {
|
} else {
|
||||||
companyConfig = companyConfigMapper.getCompanyConfigBySN(systemUser.getSn());
|
companyConfig = companyConfigMapper.getCompanyConfigBySn(systemUser.getSn());
|
||||||
}
|
}
|
||||||
log.info("companyConfig:{}", JSON.toJSONString(companyConfig));
|
log.info("companyConfig:{}", JSON.toJSONString(companyConfig));
|
||||||
if (companyConfig.getExpireTime() == null) {
|
if (companyConfig.getExpireTime() == null) {
|
||||||
@ -631,6 +631,34 @@ public class SystemUserServiceImpl extends ServiceImpl<SystemUserMapper, SystemU
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Map<String, Object> getUserByAccount(Map<String, Object> map){
|
||||||
|
try {
|
||||||
|
String account = MapUtils.getString(map, "u");
|
||||||
|
Long time = MapUtils.getLong(map, "t");
|
||||||
|
String password = MapUtils.getString(map, "p");
|
||||||
|
String code = "szszhxmgl";
|
||||||
|
String password1 = SecureUtil.md5(account + time + code);
|
||||||
|
if (time < System.currentTimeMillis()) {
|
||||||
|
throw new OpenAlertException("该参数已失效!");
|
||||||
|
}
|
||||||
|
if (!password.equals(password1)) {
|
||||||
|
throw new OpenAlertException("参数校验失败!");
|
||||||
|
}
|
||||||
|
QueryWrapper<SystemUser> queryWrapper = new QueryWrapper();
|
||||||
|
queryWrapper.lambda()
|
||||||
|
.eq(SystemUser::getAccount, account);
|
||||||
|
SystemUser systemUser = systemUserMapper.selectOne(queryWrapper);
|
||||||
|
if (systemUser == null) {
|
||||||
|
throw new OpenAlertException(MessageUtil.get("notFindErr"));
|
||||||
|
}
|
||||||
|
return getUserInfo(systemUser);
|
||||||
|
} catch (AuthenticationException e) {
|
||||||
|
log.error("error:", e);
|
||||||
|
throw new CustomException("Invalid username/password supplied", HttpStatus.UNPROCESSABLE_ENTITY);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<String, Object> getProjectUserByNumber(Map<String, Object> map) {
|
public Map<String, Object> getProjectUserByNumber(Map<String, Object> map) {
|
||||||
try {
|
try {
|
||||||
@ -674,7 +702,7 @@ public class SystemUserServiceImpl extends ServiceImpl<SystemUserMapper, SystemU
|
|||||||
} else if (systemUser.getAccountType() == 5 || systemUser.getAccountType() == ParamEnum.SystemUserAccountTypeEnum.PROJECT_SUB_ACCOUNT.getValue()) {
|
} else if (systemUser.getAccountType() == 5 || systemUser.getAccountType() == ParamEnum.SystemUserAccountTypeEnum.PROJECT_SUB_ACCOUNT.getValue()) {
|
||||||
companyConfig = companyConfigMapper.getCompanyConfigByProject(systemUser.getSn());
|
companyConfig = companyConfigMapper.getCompanyConfigByProject(systemUser.getSn());
|
||||||
} else {
|
} else {
|
||||||
companyConfig = companyConfigMapper.getCompanyConfigBySN(systemUser.getSn());
|
companyConfig = companyConfigMapper.getCompanyConfigBySn(systemUser.getSn());
|
||||||
}
|
}
|
||||||
if (companyConfig == null || companyConfig.getIsEnable() == 0) {
|
if (companyConfig == null || companyConfig.getIsEnable() == 0) {
|
||||||
throw new OpenAlertException(MessageUtil.get("loginEnabledErr"));
|
throw new OpenAlertException(MessageUtil.get("loginEnabledErr"));
|
||||||
|
|||||||
@ -182,7 +182,7 @@ spring.mail.properties.mail.smtp.ssl.enable=true
|
|||||||
spring.mail.properties.mail.smtp.socketFactory.port=465
|
spring.mail.properties.mail.smtp.socketFactory.port=465
|
||||||
spring.mail.properties.mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory
|
spring.mail.properties.mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory
|
||||||
#工作流数据库
|
#工作流数据库
|
||||||
spring.datasource.db2.jdbc-url=jdbc:mysql://192.168.34.155:3306/wflow_pro?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8
|
spring.datasource.db2.jdbc-url=jdbc:mysql://192.168.34.155:3306/wflow_jiuzhu?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8
|
||||||
spring.datasource.db2.driver-class-name=com.mysql.jdbc.Driver
|
spring.datasource.db2.driver-class-name=com.mysql.jdbc.Driver
|
||||||
spring.datasource.db2.username=root
|
spring.datasource.db2.username=root
|
||||||
spring.datasource.db2.password=root
|
spring.datasource.db2.password=root
|
||||||
@ -204,3 +204,6 @@ tenant.tables[9]=wflow_sub_groups
|
|||||||
tenant.tables[10]=wflow_sub_process
|
tenant.tables[10]=wflow_sub_process
|
||||||
|
|
||||||
sada.host=http://api.e.v1.i-sada.net
|
sada.host=http://api.e.v1.i-sada.net
|
||||||
|
|
||||||
|
jiuzhu.appId=991cefd2-0592-4734-8055-60ae8dd4005c
|
||||||
|
jiuzhu.address=http://218.95.151.122:18000
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user