人员信息同步

This commit is contained in:
pengjie 2024-07-27 15:43:37 +08:00
parent c19ce04ea2
commit 7ade5c7b95
9 changed files with 178 additions and 63 deletions

View File

@ -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;
} }
} }

View File

@ -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) {

View File

@ -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;

View File

@ -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);

View File

@ -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

View 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);

View File

@ -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;

View File

@ -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"));

View File

@ -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