package doumeemes.service.ext.impl;
|
|
import com.alibaba.fastjson.JSONObject;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
import com.iflytek.antelope.other.client.dto.resp.UserDTO;
|
import doumeemes.biz.system.SystemDictDataBiz;
|
import doumeemes.biz.system.SystemUserBiz;
|
import doumeemes.core.constants.ResponseStatus;
|
import doumeemes.core.exception.BusinessException;
|
import doumeemes.core.model.LoginUserInfo;
|
import doumeemes.core.model.PageData;
|
import doumeemes.core.model.PageWrap;
|
import doumeemes.core.utils.Constants;
|
import doumeemes.core.utils.DateUtil;
|
import doumeemes.core.utils.dingding.DingDingUtil;
|
import doumeemes.core.utils.edpg.bean.AppUserInfoModel;
|
import doumeemes.core.utils.redis.RedisUtil;
|
import doumeemes.dao.business.dto.AutoLoginUserDTO;
|
import doumeemes.dao.business.dto.CompanyInitDataDTO;
|
import doumeemes.dao.business.model.Company;
|
import doumeemes.dao.business.model.CompanyLog;
|
import doumeemes.dao.business.model.CompanyOpen;
|
import doumeemes.dao.business.model.Department;
|
import doumeemes.dao.ext.CompanyOpenExtMapper;
|
import doumeemes.dao.ext.CompanyUserExtMapper;
|
import doumeemes.dao.ext.DepartmentExtMapper;
|
import doumeemes.dao.ext.dto.QueryCompanyExtDTO;
|
import doumeemes.dao.ext.dto.QueryCompanyUserExtDTO;
|
import doumeemes.dao.ext.vo.CompanyExtListVO;
|
import doumeemes.dao.ext.vo.CompanyInfoListVO;
|
import doumeemes.dao.ext.vo.CompanyUserExtListVO;
|
import doumeemes.dao.ext.vo.DepartmentExtListVO;
|
import doumeemes.dao.system.SystemDataPermissionMapper;
|
import doumeemes.dao.system.SystemRoleMapper;
|
import doumeemes.dao.system.SystemRoleMenuMapper;
|
import doumeemes.dao.system.SystemRolePermissionMapper;
|
import doumeemes.dao.system.model.*;
|
import doumeemes.service.business.CompanyLogService;
|
import doumeemes.service.ext.BarcodeParamExtService;
|
import doumeemes.service.ext.CompanyExtService;
|
import doumeemes.dao.ext.CompanyExtMapper;
|
import com.github.pagehelper.PageHelper;
|
import com.github.pagehelper.PageInfo;
|
import doumeemes.service.ext.DepartmentExtService;
|
import doumeemes.service.system.SystemRoleService;
|
import org.apache.commons.lang3.StringUtils;
|
import org.apache.shiro.SecurityUtils;
|
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.context.annotation.Lazy;
|
import org.springframework.data.redis.core.RedisTemplate;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
|
import javax.servlet.http.HttpServletRequest;
|
import java.util.ArrayList;
|
import java.util.Date;
|
import java.util.List;
|
import java.util.Objects;
|
|
/**
|
* 企业信息Service实现
|
* @author 江蹄蹄
|
* @date 2022/04/20 10:59
|
*/
|
@Service
|
public class CompanyExtServiceImpl implements CompanyExtService {
|
|
@Lazy
|
@Autowired
|
private SystemDictDataBiz systemDictDataBiz;
|
@Autowired
|
private RedisTemplate<String, Object> redisTemplate;
|
@Autowired
|
private CompanyExtMapper companyExtMapper;
|
|
@Autowired
|
private CompanyOpenExtMapper companyOpenExtMapper;
|
|
@Autowired
|
private DepartmentExtMapper departmentExtMapper;
|
@Autowired
|
private CompanyUserExtMapper companyUserExtMapper;
|
@Autowired
|
@Lazy
|
private SystemUserBiz systemUserBiz;
|
@Autowired
|
@Lazy
|
private BarcodeParamExtService barcodeParamExtService;
|
@Autowired
|
private SystemRoleMapper systemRoleMapper;
|
@Autowired
|
private SystemDataPermissionMapper systemDataPermissionMapper;
|
@Autowired
|
private SystemRolePermissionMapper systemRolePermissionMapper;
|
@Autowired
|
private SystemRoleMenuMapper systemRoleMenuMapper;
|
@Autowired
|
@Lazy
|
private DepartmentExtService departmentExtService;
|
|
@Autowired
|
CompanyLogService companyLogService;
|
|
@Override
|
public PageData<CompanyExtListVO> findPage(PageWrap<QueryCompanyExtDTO> pageWrap) {
|
PageHelper.startPage(pageWrap.getPage(), pageWrap.getCapacity());
|
List<CompanyExtListVO> result = companyExtMapper.selectList(pageWrap.getModel());
|
return PageData.from(new PageInfo<>(result));
|
}
|
@Override
|
@Transactional(rollbackFor = {BusinessException.class,Exception.class})
|
public Integer createByPlat(CompanyInitDataDTO user, HttpServletRequest request){
|
String pwd =systemDictDataBiz.queryByCode(Constants.DEFAULT,Constants.USER_PWD).getCode();
|
|
Company qc = new Company();
|
qc.setDeleted(Constants.ZERO);
|
qc.setCreditCode(user.getCreditCode());
|
//根据行政区代码查询企业信息
|
Company com = companyExtMapper.selectOne(new QueryWrapper<>(qc).last(" limit 1"));
|
if(com !=null){
|
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,社会统一信用代码已存在!");
|
}
|
//如果企业信息为空,新增企业信息
|
com = new Company();
|
com.setDeleted(Constants.ZERO);
|
com.setCreateTime(new Date());
|
com.setOrigin(Constants.TWO);
|
com.setCreditCode(user.getCreditCode());
|
com.setName(user.getOrgName());
|
com.setOepnValidDate(user.getOepnValidDate());
|
com.setLinker(user.getLinkName());
|
com.setLinkPhone(user.getLinkPhone());
|
com.setAddr(user.getAddr());
|
com.setFileStoreAddr(user.getFileStoreAddr());
|
com.setOpenUserNum(Constants.formatIntegerNum(user.getOpenUserNum()));
|
com.setShortName(user.getRemark());
|
com.setOpenModules(Constants.ONE+"");
|
com.setOepnType(user.getOepnType());
|
com.setChannelId(Constants.TWO);
|
com.setSalesperson(user.getSalesperson());
|
com.setStatus(Constants.ONE);
|
//插入企业信息
|
companyExtMapper.insert(com);
|
// 插入 企业账户开通历史记录表
|
CompanyOpen companyOpen = new CompanyOpen();
|
companyOpen.setDeleted(Constants.ZERO);
|
companyOpen.setCreateTime(new Date());
|
companyOpen.setUpdateTime(new Date());
|
companyOpen.setCompanyId(com.getId());
|
companyOpen.setValidDate(user.getOepnValidDate());
|
companyOpen.setOepnType(user.getOepnType());
|
// companyOpen.setCreateUser();
|
// companyOpen.setUpdateUser();
|
// companyOpen.setUserNum();
|
// companyOpen.setModules();
|
companyOpenExtMapper.insert(companyOpen);
|
|
//创建根目录
|
Department department = new Department();
|
department.setCompanyId(com.getId());
|
department.setStatus(Constants.ZERO);
|
department.setName(com.getShortName());
|
department.setType(Constants.DEPART_TYPE.com);
|
department.setCreateTime(com.getCreateTime());
|
department.setDeleted(Constants.ZERO);
|
department.setValidTime(department.getCreateTime());
|
departmentExtMapper.insert(department);
|
department.setRootId(department.getId());
|
departmentExtMapper.updateById(department);
|
com.setRootDepartment(department);
|
|
barcodeParamExtService.initParamData(com);
|
|
|
//如果是管理员角色,绑定默认角色
|
SystemRole sr = new SystemRole();
|
sr.setDeleted(false);
|
sr.setType(Constants.ROLETYPE.com_def);
|
//查询全部角色数据
|
List<SystemRole> srList = systemRoleMapper.selectList(new QueryWrapper<>(sr));
|
if(srList!=null){
|
for(SystemRole tr :srList){
|
//内置角色
|
SystemRole newrole = new SystemRole();
|
newrole.setCode(tr.getCode()+"_"+com.getId());
|
newrole.setName(tr.getName());
|
newrole.setDeleted(Boolean.FALSE);
|
newrole.setFixed(Boolean.FALSE);
|
newrole.setCreateTime(new Date());
|
newrole.setCompanyId(com.getId());
|
newrole.setType(Constants.ROLETYPE.com);
|
systemRoleMapper.insert(newrole);
|
//内置菜单权限
|
SystemRoleMenu systemRoleMenu = new SystemRoleMenu();
|
systemRoleMenu.setDeleted(false);
|
systemRoleMenu.setRoleId(tr.getId());
|
List<SystemRoleMenu> menus = systemRoleMenuMapper.selectList(new QueryWrapper<>(systemRoleMenu));
|
if(menus !=null && menus.size()>0){
|
for(SystemRoleMenu m : menus){
|
m.setRoleId(newrole.getId());
|
m.setCreateTime(com.getCreateTime());
|
}
|
systemRoleMapper.insertRoleMenuBatch(menus);
|
}
|
//内置操作权限
|
SystemRolePermission permission = new SystemRolePermission();
|
permission.setDeleted(false);
|
permission.setRoleId(tr.getId());
|
List<SystemRolePermission> permissions = systemRolePermissionMapper.selectList(new QueryWrapper<>(permission));
|
if(permissions !=null && permissions.size()>0){
|
for(SystemRolePermission m : permissions){
|
m.setRoleId(newrole.getId());
|
m.setCreateTime(com.getCreateTime());
|
}
|
systemRoleMapper.insertRolePermissionBatch(permissions);
|
}
|
//内置数据数权限
|
SystemDataPermission systemDataPermission = new SystemDataPermission();
|
systemDataPermission.setDeleted(false);
|
systemDataPermission.setRoleId(tr.getId());
|
List<SystemDataPermission> datas = systemDataPermissionMapper.selectList(new QueryWrapper<>(systemDataPermission));
|
if(datas !=null && datas.size()>0){
|
for(SystemDataPermission m : datas){
|
m.setRoleId(newrole.getId());
|
m.setCompanyId(newrole.getCompanyId());
|
m.setCreateTime(com.getCreateTime());
|
}
|
systemRoleMapper.insertDataPermissionBatch(datas);
|
}else{
|
//默认内置一个数据权限
|
systemDataPermission.setRoleId(newrole.getId());
|
systemDataPermission.setCompanyId(newrole.getCompanyId());
|
systemDataPermission.setCreateTime(new Date());
|
systemDataPermission.setBusinessCode("DEPARTMENT");
|
systemDataPermission.setDisabled(Boolean.FALSE);
|
systemDataPermission.setType(Constants.DATAPERMISSION_TYPE.all);
|
datas = new ArrayList<>();
|
datas.add(systemDataPermission);
|
systemRoleMapper.insertDataPermissionBatch(datas);
|
}
|
}
|
}
|
initRedisCache(com);
|
systemUserBiz.importPlat(user,pwd,com);
|
return com.getId();
|
}
|
|
@Override
|
public Integer updateByPlat(CompanyInitDataDTO user, HttpServletRequest request) {
|
|
LoginUserInfo principal = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
|
|
if (Objects.isNull(user.getId())){
|
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,企业ID为空!");
|
}
|
|
Company qc = new Company();
|
qc.setDeleted(Constants.ZERO);
|
qc.setCreditCode(user.getCreditCode());
|
//根据行政区代码查询企业信息
|
Company com = companyExtMapper.selectOne(new QueryWrapper<>(qc).last(" limit 1"));
|
if(Objects.nonNull(com) && !com.getId().equals(user.getId())){
|
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,社会统一信用代码已存在!");
|
}
|
//如果企业信息为空,新增企业信息
|
com = new Company();
|
com.setId(user.getId());
|
com.setDeleted(Constants.ZERO);
|
com.setUpdateTime(new Date());
|
com.setUpdateUser(principal.getId());
|
com.setCreditCode(user.getCreditCode());
|
com.setName(user.getOrgName());
|
com.setOepnValidDate(user.getOepnValidDate());
|
com.setLinker(user.getLinkName());
|
com.setLinkPhone(user.getLinkPhone());
|
com.setOpenUserNum(user.getOpenUserNum());
|
com.setAddr(user.getAddr());
|
com.setFileStoreAddr(user.getFileStoreAddr());
|
com.setShortName(user.getRemark());
|
com.setOepnType(user.getOepnType());
|
com.setSalesperson(user.getSalesperson());
|
//修改企业信息
|
companyExtMapper.updateById(com);
|
|
UpdateWrapper<CompanyOpen> companyOpenWrapper = new UpdateWrapper<>();
|
companyOpenWrapper.lambda().set(CompanyOpen::getOepnType,user.getOepnType())
|
.set(CompanyOpen::getValidDate,user.getOepnValidDate())
|
.eq(CompanyOpen::getCompanyId,user.getId());
|
companyOpenExtMapper.update(null,companyOpenWrapper);
|
|
//创建根目录
|
if (StringUtils.isNotBlank(com.getShortName())){
|
UpdateWrapper<Department> wrapper = new UpdateWrapper<>();
|
wrapper.lambda().set(Department::getName,com.getShortName())
|
.eq(Department::getCompanyId,com.getId());
|
departmentExtMapper.update(null,wrapper);
|
}
|
|
com = companyExtMapper.selectById(user.getId());
|
initRedisCache(com);
|
|
CompanyLog companyLog = new CompanyLog();
|
companyLog.setDeleted((byte)Constants.ZERO);
|
companyLog.setUpdateUser(principal.getId());
|
companyLog.setCreateUser(principal.getId());
|
companyLog.setCreateTime(new Date());
|
companyLog.setUpdateTime(new Date());
|
companyLog.setRemark("更新企业数据");
|
companyLog.setCompanyId(user.getId());
|
companyLog.setUpdateType(Constants.CompanyUpdateType.UPDATE_CONTENT.getKey());
|
companyLog.setDetail("更新企业数据");
|
companyLogService.create(companyLog);
|
|
return null;
|
}
|
@Override
|
@Transactional(rollbackFor = {BusinessException.class,Exception.class})
|
public Company createByEdgp(AppUserInfoModel user, String pwd){
|
AutoLoginUserDTO param = new AutoLoginUserDTO();
|
param.setOrgName(user.getDepartmentName());
|
param.setName(user.getName());
|
param.setUserId(user.getId()+"");
|
param.setCreditCode(user.getCreditCode());
|
param.setPhone(user.getPhone());
|
param.setManager(Constants.formatIntegerNum(user.getManager())+"");
|
param.setUserinfo(JSONObject.toJSONString(user));
|
param.setOrigin(Constants.COMPANY_ORIGIN.lingyang);
|
return createByThirdParam(param,pwd);
|
}
|
@Override
|
@Transactional(rollbackFor = {BusinessException.class,Exception.class})
|
public Company createByLingyang(UserDTO user,Date date,String remark, String pwd){
|
AutoLoginUserDTO param = new AutoLoginUserDTO();
|
param.setOrgName(user.getOrgName());
|
param.setName(user.getName());
|
param.setUserId(user.getUserId());
|
param.setCreditCode(user.getCreditCode());
|
param.setPhone(user.getPhone());
|
param.setManager(user.getManager());
|
param.setUserinfo(JSONObject.toJSONString(user));
|
param.setOrigin(Constants.COMPANY_ORIGIN.lingyang);
|
param.setDate(date!=null ?date:new Date());
|
param.setRemark(remark);
|
return createByThirdParam(param,pwd);
|
}
|
public Company createByThirdParam(AutoLoginUserDTO user, String pwd){
|
Company qc = new Company();
|
qc.setDeleted(Constants.ZERO);
|
qc.setCreditCode(user.getCreditCode());
|
qc.setOrigin(user.getOrigin());
|
//根据行政区代码查询企业信息
|
Company com = companyExtMapper.selectOne(new QueryWrapper<>(qc).last(" limit 1"));
|
if(StringUtils.equals(user.getManager(),Constants.ONE+"")){
|
//如果是管理员并且是购买方式
|
if(com == null ){
|
//如果企业信息为空,新增企业信息
|
com = new Company();
|
com.setDeleted(Constants.ZERO);
|
com.setCreateTime(user.getDate()!=null?user.getDate():new Date());
|
com.setIsNew(Constants.ONE);
|
// com.setOrigin(Constants.THREE);
|
com.setCreditCode(user.getCreditCode());
|
com.setName(user.getOrgName());
|
com.setLingyangInfo(user.getUserinfo());
|
com.setLegalPersonPhone(user.getPhone());
|
//测试羚羊手动导入(标记)
|
com.setRemark(user.getRemark());
|
//默认限制人员10
|
if(user.getOrigin() == Constants.COMPANY_ORIGIN.lingyang){
|
int userNum = 10;
|
try {
|
userNum =Integer.parseInt(systemDictDataBiz.queryByCode(Constants.LINGYANG_PARAM, Constants.LINGYANG_USERNUM_LIMIT).getCode());
|
}catch (Exception e){
|
}
|
com.setOpenUserNum(userNum);
|
}else{
|
com.setOpenUserNum(-1);
|
}
|
com.setOpenModules(Constants.ONE+"");
|
com.setOepnValidDate(DateUtil.StringToDate("2099-12-31 09:25:09"));
|
com.setOepnType(Constants.ONE);
|
com.setStatus(Constants.ONE);
|
com.setChannelId(Constants.TWO);
|
com.setOrigin(user.getOrigin());
|
//插入企业信息
|
companyExtMapper.insert(com);
|
|
//创建根目录
|
Department department = new Department();
|
department.setCompanyId(com.getId());
|
department.setStatus(Constants.ZERO);
|
department.setName(com.getName());
|
department.setType(Constants.DEPART_TYPE.com);
|
department.setCreateTime(com.getCreateTime());
|
department.setDeleted(Constants.ZERO);
|
department.setValidTime(department.getCreateTime());
|
departmentExtMapper.insert(department);
|
department.setRootId(department.getId());
|
departmentExtMapper.updateById(department);
|
com.setRootDepartment(department);
|
barcodeParamExtService.initParamData(com);
|
//如果是管理员角色,绑定默认角色
|
SystemRole sr = new SystemRole();
|
sr.setDeleted(false);
|
sr.setType(Constants.ROLETYPE.com_def);
|
//查询全部角色数据
|
List<SystemRole> srList = systemRoleMapper.selectList(new QueryWrapper<>(sr));
|
if(srList!=null){
|
for(SystemRole tr :srList){
|
//内置角色
|
SystemRole newrole = new SystemRole();
|
newrole.setCode(tr.getCode()+"_"+com.getId());
|
newrole.setName(tr.getName());
|
newrole.setDeleted(Boolean.FALSE);
|
newrole.setFixed(Boolean.FALSE);
|
newrole.setCreateTime(new Date());
|
newrole.setCompanyId(com.getId());
|
newrole.setType(Constants.ROLETYPE.com);
|
systemRoleMapper.insert(newrole);
|
//内置菜单权限
|
SystemRoleMenu systemRoleMenu = new SystemRoleMenu();
|
systemRoleMenu.setDeleted(false);
|
systemRoleMenu.setRoleId(tr.getId());
|
List<SystemRoleMenu> menus = systemRoleMenuMapper.selectList(new QueryWrapper<>(systemRoleMenu));
|
if(menus !=null && menus.size()>0){
|
for(SystemRoleMenu m : menus){
|
m.setRoleId(newrole.getId());
|
m.setCreateTime(com.getCreateTime());
|
}
|
systemRoleMapper.insertRoleMenuBatch(menus);
|
}
|
//内置操作权限
|
SystemRolePermission permission = new SystemRolePermission();
|
permission.setDeleted(false);
|
permission.setRoleId(tr.getId());
|
List<SystemRolePermission> permissions = systemRolePermissionMapper.selectList(new QueryWrapper<>(permission));
|
if(permissions !=null && permissions.size()>0){
|
for(SystemRolePermission m : permissions){
|
m.setRoleId(newrole.getId());
|
m.setCreateTime(com.getCreateTime());
|
}
|
systemRoleMapper.insertRolePermissionBatch(permissions);
|
}
|
|
//内置数据数权限
|
SystemDataPermission systemDataPermission = new SystemDataPermission();
|
systemDataPermission.setDeleted(false);
|
systemDataPermission.setRoleId(tr.getId());
|
List<SystemDataPermission> datas = systemDataPermissionMapper.selectList(new QueryWrapper<>(systemDataPermission));
|
if(datas !=null && datas.size()>0){
|
for(SystemDataPermission m : datas){
|
m.setRoleId(newrole.getId());
|
m.setCreateTime(com.getCreateTime());
|
m.setCompanyId(newrole.getCompanyId());
|
}
|
systemRoleMapper.insertDataPermissionBatch(datas);
|
}else{
|
//默认内置一个数据权限
|
systemDataPermission.setRoleId(newrole.getId());
|
systemDataPermission.setCompanyId(newrole.getCompanyId());
|
systemDataPermission.setCreateTime(new Date());
|
systemDataPermission.setBusinessCode("DEPARTMENT");
|
systemDataPermission.setDisabled(Boolean.FALSE);
|
systemDataPermission.setType(Constants.DATAPERMISSION_TYPE.all);
|
datas = new ArrayList<>();
|
datas.add(systemDataPermission);
|
systemRoleMapper.insertDataPermissionBatch(datas);
|
}
|
}
|
}
|
initRedisCache(com);
|
}else{
|
Department department = new Department();
|
department.setCompanyId(com.getId());
|
department.setDeleted(Constants.ZERO);
|
department.setType(Constants.DEPART_TYPE.com);
|
department = departmentExtMapper.selectOne(new QueryWrapper<>(department).last("limit 1"));
|
if(department == null){
|
throw new BusinessException(ResponseStatus.ERR_STATUS.getCode(),"对不起,企业信息异常,请联系系统管理员!");
|
}
|
com.setRootDepartment(department);
|
}
|
}else{
|
if(com == null){
|
throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"企业未注册");
|
}
|
Department department = new Department();
|
department.setCompanyId(com.getId());
|
department.setDeleted(Constants.ZERO);
|
department.setType(Constants.DEPART_TYPE.com);
|
department = departmentExtMapper.selectOne(new QueryWrapper<>(department).last("limit 1"));
|
if(department == null){
|
throw new BusinessException(ResponseStatus.ERR_STATUS.getCode(),"对不起,企业信息异常,请联系系统管理员!");
|
}
|
com.setRootDepartment(department);
|
}
|
systemUserBiz.importLingYangUser(user,pwd,com);
|
|
return com;
|
}
|
|
private void initRedisCache(Company com) {
|
CompanyExtListVO c = new CompanyExtListVO();
|
BeanUtils.copyProperties(com,c);
|
departmentExtService.loadComDepart(c);
|
departmentExtService.initCompnayCodesByCom(com);
|
}
|
|
@Override
|
public CompanyExtListVO getModelById(Integer companyId){
|
CompanyExtListVO com = RedisUtil.getObject(redisTemplate, Constants.RedisKeys.COM_INFO_KEY+companyId,CompanyExtListVO.class);
|
return com;
|
}
|
|
/**
|
* 获取企业token
|
* @param companyId
|
* @return
|
*/
|
@Override
|
public String getDingdingToken(Integer companyId){
|
String token = RedisUtil.getObject(redisTemplate, Constants.RedisKeys.COM_DINGDING_TOKEN+companyId,String.class);
|
if(StringUtils.isBlank(token)){
|
CompanyExtListVO com = RedisUtil.getObject(redisTemplate, Constants.RedisKeys.COM_INFO_KEY+companyId,CompanyExtListVO.class);
|
if(com!=null){
|
try {
|
String ddinfo = com.getDingdingInfo();
|
JSONObject json = JSONObject.parseObject(ddinfo);
|
String key = json.getString("app_key");
|
String secret = json.getString("app_secret");
|
token = DingDingUtil.getInnerAppTokenNew(key,secret);
|
//加入redis缓存
|
RedisUtil.addObject(redisTemplate,Constants.RedisKeys.COM_DINGDING_TOKEN+com.getId(),token,7000);
|
}catch (Exception e){
|
e.printStackTrace();
|
}
|
}
|
}
|
|
return token;
|
}
|
/**
|
* 获取企业审批模板
|
* @param companyId
|
* @return
|
*/
|
@Override
|
public String getDingdingProCode(Integer companyId){
|
CompanyExtListVO com = RedisUtil.getObject(redisTemplate, Constants.RedisKeys.COM_INFO_KEY+companyId,CompanyExtListVO.class);
|
if(com!=null){
|
try {
|
String ddinfo = com.getDingdingInfo();
|
JSONObject json = JSONObject.parseObject(ddinfo);
|
String code = json.getString("process_code");
|
if(StringUtils.isNotBlank(code)){
|
Long agentId = json.getLong("agentid");
|
code = DingDingUtil.createJobTmpl(getDingdingToken(companyId), agentId );
|
if(StringUtils.isNotBlank(code)){
|
json.put("process_code",code);
|
Company company = new Company();
|
company.setId(com.getId());
|
company.setDingdingInfo(json.toJSONString());
|
//更新数据
|
companyExtMapper.updateById(company);
|
//加入redis缓存
|
RedisUtil.addObject(redisTemplate,Constants.RedisKeys.COM_INFO_KEY+com.getId(),com);
|
return code;
|
}
|
}
|
|
}catch (Exception e){
|
e.printStackTrace();
|
}
|
}
|
return null;
|
}
|
/**
|
* 获取企业token
|
* @param companyId
|
* @return
|
*/
|
@Override
|
public String getDingdingTicekt(Integer companyId){
|
String ticket = RedisUtil.getObject(redisTemplate, Constants.RedisKeys.COM_DINGDING_JSAPITIKCKT+companyId,String.class);
|
if(StringUtils.isBlank(ticket)){
|
String token = getDingdingToken(companyId);
|
if(StringUtils.isBlank(token)){
|
try {
|
ticket = DingDingUtil.getJsTicketNew(token);
|
//加入redis缓存
|
RedisUtil.addObject(redisTemplate,Constants.RedisKeys.COM_DINGDING_JSAPITIKCKT+companyId,ticket,7000);
|
}catch (Exception e){
|
e.printStackTrace();
|
}
|
}
|
}
|
return ticket;
|
}
|
|
@Override
|
public PageData<CompanyInfoListVO> findCompanyInfoListVOPage(PageWrap<QueryCompanyExtDTO> pageWrap) {
|
|
PageHelper.startPage(pageWrap.getPage(), pageWrap.getCapacity());
|
pageWrap.getModel().setDeleted(Constants.ZERO);
|
List<CompanyInfoListVO> companyInfoListVOS = companyExtMapper.selectCompanyInfoList(pageWrap.getModel());
|
return PageData.from(new PageInfo<>(companyInfoListVOS));
|
}
|
|
@Override
|
public CompanyInfoListVO findCompanyInfo(Integer CompanyId) {
|
CompanyInfoListVO companyInfoListVO = companyExtMapper.selectCompanyInfo(CompanyId);
|
if (Objects.isNull(companyInfoListVO)){
|
return companyInfoListVO;
|
}
|
String rPath =systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode()+systemDictDataBiz.queryByCode(Constants.OSS,Constants.MENU_IMG).getCode();
|
companyInfoListVO.setFileurlfull(rPath+companyInfoListVO.getFileStoreAddr());
|
|
companyInfoListVO.setSystemUrl( systemDictDataBiz.queryByCode(Constants.EDGP_PARAM,Constants.SYSTEM_URL).getCode()+companyInfoListVO.getId());
|
|
return companyInfoListVO;
|
}
|
}
|