ariesy 增加从销项获取购房税号

release
yefei 2 years ago
parent 73711b52fe
commit 3f680cc534
  1. 28
      dxhy-admin/src/main/java/com/dxhy/admin/sys/entity/SaleTaxnoEntity.java
  2. 2
      dxhy-admin/src/main/java/com/dxhy/admin/sys/service/SysUserService.java
  3. 56
      dxhy-admin/src/main/java/com/dxhy/admin/sys/service/impl/SsoLoginServiceImpl.java
  4. 38
      dxhy-admin/src/main/java/com/dxhy/admin/sys/service/impl/SysUserServiceImpl.java

@ -0,0 +1,28 @@
package com.dxhy.admin.sys.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import javax.validation.constraints.Email;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* 系统用户
*
* @author jiaohongyang
*/
@Data
public class SaleTaxnoEntity implements Serializable {
private static final long serialVersionUID = 1L;
private String groupId;
private String groupName;
private String xhfNsrsbh;
}

@ -52,6 +52,8 @@ public interface SysUserService extends IService<SysUserEntity> {
*/
void saveUser(SysUserEntity user);
void saveUser(SysUserEntity user,Map<String, String> taxnos);
/**
* 修改用户
*

@ -1,14 +1,12 @@
package com.dxhy.admin.sys.service.impl;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.stream.Collectors;
import javax.annotation.Resource;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import com.alibaba.fastjson.JSON;
@ -32,6 +30,12 @@ import lombok.extern.slf4j.Slf4j;
@Service("ssoLoginService")
@Slf4j
public class SsoLoginServiceImpl implements SsoLoginService {
private static final String LOGGER_MSG = "(请求http访问)";
@Value("${sdny.xxUrl}")
private String xxUrl;
@Resource
private SysUserService sysUserService;
@Resource
@ -50,14 +54,19 @@ public class SsoLoginServiceImpl implements SsoLoginService {
@Override
public boolean saveUser(SsoUser user) {
String taxNoInfo = getTaxNoInfo(xxUrl, "");
List<SaleTaxnoEntity> taxnoList = JSONObject.parseArray(taxNoInfo,SaleTaxnoEntity.class);
Map<String, String> taxnos = taxnoList.stream().collect(Collectors.toMap(SaleTaxnoEntity::getGroupId, SaleTaxnoEntity::getXhfNsrsbh));
log.info("从销项获取的税号列表为:{}",taxnos);
if (user.getUserSource() == 1) {
// 保存 机构信息
boolean insertOrg = this.insertOrg(user);
boolean insertOrg = this.insertOrg(user,taxnos);
// 保存角色信息
boolean insertRole = this.insertRole(user);
// 保存用户信息
boolean insertUser = this.insertUser(user);
boolean insertUser = this.insertUser(user,taxnos);
log.info("insertOrg = {},insertRole={},insertUser",insertOrg,insertRole,insertUser);
@ -70,12 +79,12 @@ public class SsoLoginServiceImpl implements SsoLoginService {
}
public boolean insertUser(SsoUser user) {
public boolean insertUser(SsoUser user,Map<String, String> taxnos) {
try {
SysUserEntity userEntity = this.toUser(user);
// 先删除用户信息,在新增
sysUserService.deleteUserBigb(userEntity.getUserId());
sysUserService.saveUser(userEntity);
sysUserService.saveUser(userEntity,taxnos);
return true;
} catch (Exception e) {
log.error("insertUser 报错信息为{}",e);
@ -110,9 +119,9 @@ public class SsoLoginServiceImpl implements SsoLoginService {
* 用户信息
* @return 返回信息
*/
public boolean insertOrg(SsoUser user) {
public boolean insertOrg(SsoUser user,Map<String, String> taxnos) {
try {
List<SysDeptEntity> deptList = this.toDept(user);
List<SysDeptEntity> deptList = this.toDept(user,taxnos);
if (deptList != null && deptList.size() > 0) {
sysDeptService.saveDeptList(deptList);
}
@ -125,7 +134,7 @@ public class SsoLoginServiceImpl implements SsoLoginService {
}
public List<SysDeptEntity> toDept(SsoUser user) {
public List<SysDeptEntity> toDept(SsoUser user,Map<String, String> taxnos) {
List<SysDeptEntity> deptList = new ArrayList<>();
int deptSum = 0;
SysDeptEntity dept;
@ -135,7 +144,12 @@ public class SsoLoginServiceImpl implements SsoLoginService {
dept = new SysDeptEntity();
dept.setDeptId(entity.getDeptId());
dept.setParentId(entity.getParentId());
dept.setTaxno(entity.getTaxpayerCode());
if(StringUtils.isNotBlank(entity.getTaxpayerCode())){
dept.setTaxno(entity.getTaxpayerCode());
}else{
dept.setTaxno(taxnos.get(entity.getDeptId()));
}
dept.setTaxname(entity.getName());
dept.setName(entity.getName());
dept.setLinkman("");
@ -146,7 +160,7 @@ public class SsoLoginServiceImpl implements SsoLoginService {
dept.setCompany(AdminConfig.company);
dept.setOrgCode(entity.getEnterpriseNumbers());
String deptType = this.toDeptType(String.valueOf(entity.getDeptType()),
String.valueOf(entity.getParentId()), entity.getTaxpayerCode());
String.valueOf(entity.getParentId()), entity.getTaxpayerCode());
dept.setDeptType(deptType);
dept.setOrgType(this.toOrgType(dept.getDeptType(), String.valueOf(entity.getParentId())));
dept.setUpgradeStatus(AdminConfig.upgradeStatus);
@ -377,7 +391,7 @@ public class SsoLoginServiceImpl implements SsoLoginService {
sysMenuEntity = new SysMenuEntity();
String systemSign = sysMenu.getSystemSign();
if ("JXXT".equals(systemSign) || "QYPC".equals(systemSign) || "GYL".equals(systemSign)
|| "YWXT".equals(systemSign)) {
|| "YWXT".equals(systemSign)) {
if (StringUtils.isNotBlank(sysMenu.getUrl()) && StringUtils.isNotBlank(sysMenu.getName())) {
sysMenuEntity.setMenuId(sysMenu.getMenuId());
sysMenuEntity.setParentId(sysMenu.getParentId());
@ -406,7 +420,7 @@ public class SsoLoginServiceImpl implements SsoLoginService {
} else if (1 == sysMenu.getType() || 2 == sysMenu.getType()) {
String[] split = sysMenu.getUrl().split("/");
SysMenuEntity menu =
this.queryMenu("/" + split[split.length - 1], sysMenu.getType(), sysMenu.getSystemSign());
this.queryMenu("/" + split[split.length - 1], sysMenu.getType(), sysMenu.getSystemSign());
if (menu != null) {
sysMenuEntity.setComponent(menu.getComponent());
sysMenuEntity.setIcon(menu.getIcon());
@ -520,7 +534,7 @@ public class SsoLoginServiceImpl implements SsoLoginService {
return runMap;
}
AdminSsoConfigModel adminSsoConfigModel =
JSON.parseObject(sysConfigEntity.getParamValue(), AdminSsoConfigModel.class);
JSON.parseObject(sysConfigEntity.getParamValue(), AdminSsoConfigModel.class);
String body = HttpRequest.post(adminSsoConfigModel.getQueryUserUrl()).header("token", token).execute().body();
log.info("获取用户信息:{}", body);
SsoUserReModel ssoUserReModel = JSON.parseObject(body, SsoUserReModel.class);
@ -659,7 +673,7 @@ public class SsoLoginServiceImpl implements SsoLoginService {
for (SsoUserTaxplayercodeDept sysDeptEntity : dept) {
// 获取税号信息
SysDeptEntity deptEntity =
sysDeptService.queryDeptTaxno(configModel.getCompany(), sysDeptEntity.getTaxpayerCode());
sysDeptService.queryDeptTaxno(configModel.getCompany(), sysDeptEntity.getTaxpayerCode());
if (deptEntity != null) {
userOrg = new SysUserOrgEntity();
userOrg.setCompany(configModel.getCompany());
@ -712,4 +726,12 @@ public class SsoLoginServiceImpl implements SsoLoginService {
}
}
public String getTaxNoInfo(String url, String request) {
long startTime = System.currentTimeMillis();
String body = HttpRequest.post(url).body(request).timeout(300000).execute().body();
long endTime = System.currentTimeMillis();
log.debug("{}以字符串调用post请求url:{},耗时:{}", LOGGER_MSG, url, endTime - startTime);
return body;
}
}

@ -113,6 +113,18 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserDao, SysUserEntity> i
this.uploadUser(user);
}
@Override
public void saveUser(SysUserEntity user,Map<String, String> taxnos) {
DynamicContextHolder.push(DbConstant.BASICS_WRITE);
user.setCreateTime(DateUtil.date());
user.setUpdateTime(DateUtil.date());
// 查询用户关联菜单信息
Aops.getSelf(this).insertUser(user,taxnos);
this.insertRedis(user);
DynamicContextHolder.push(DbConstant.BASICS_READ);
this.uploadUser(user);
}
@Transactional(rollbackFor = Exception.class)
public void insertUser(SysUserEntity user) {
user.setCreateTime(new Date());
@ -133,6 +145,32 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserDao, SysUserEntity> i
}
@Transactional(rollbackFor = Exception.class)
public void insertUser(SysUserEntity user,Map<String, String> taxnos) {
user.setCreateTime(new Date());
String salt = RandomStringUtils.randomAlphanumeric(20);
user.setSalt(salt);
user.setScanType("5");
user.setPlpassword(Base64.encode(user.getPassword()));
user.setPassword(new BCryptPasswordEncoder(UserConstant.PW_ENCORDER_SALT).encode(user.getPassword()));
this.saveOrUpdate(user);
// 保存用户与角色关系
sysUserRoleService.saveOrUpdate(user.getUserId(), user.getRoleIdList());
// 保存客户信息,更新企业税号
user.getUserOrgEntities().stream().forEach(userOrg -> {
if(StringUtils.isEmpty(userOrg.getTaxno())){
userOrg.setTaxno(taxnos.get(userOrg.getDeptId()));
}
});
// 获取关联 数据权限
sysUserOrgService.saveOrUpdate(user.getUserId(), user.getUserOrgEntities());
// 保存用户与业务单元关系
if (user.getBusinessList() != null && user.getBusinessList().size() > 0) {
sysUserBusinessService.saveOrUpdate(user.getUserId(), user.getBusinessList());
}
}
@Override
public void update(SysUserEntity user) {
DynamicContextHolder.push(DbConstant.BASICS_WRITE);

Loading…
Cancel
Save