|
|
|
@ -1,7 +1,9 @@ |
|
|
|
|
package com.dxhy.order.baseservice.module.thirdservice.user.controller; |
|
|
|
|
|
|
|
|
|
import cn.hutool.core.collection.CollectionUtil; |
|
|
|
|
import cn.hutool.core.util.ObjectUtil; |
|
|
|
|
import com.alibaba.fastjson.JSON; |
|
|
|
|
import com.alibaba.fastjson.JSONObject; |
|
|
|
|
import com.dxhy.order.constant.ConfigureConstant; |
|
|
|
|
import com.dxhy.order.constant.OrderInfoEnum; |
|
|
|
|
import com.dxhy.order.constant.OrderManagementConstant; |
|
|
|
@ -25,9 +27,11 @@ import org.springframework.web.bind.annotation.RequestMethod; |
|
|
|
|
import org.springframework.web.bind.annotation.RestController; |
|
|
|
|
|
|
|
|
|
import javax.annotation.Resource; |
|
|
|
|
import java.util.Collections; |
|
|
|
|
import java.util.Date; |
|
|
|
|
import java.util.List; |
|
|
|
|
import java.util.Optional; |
|
|
|
|
import java.util.stream.Collectors; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 用户信息控制层 |
|
|
|
@ -81,6 +85,7 @@ public class UserController { |
|
|
|
|
*/ |
|
|
|
|
private void syncPhysicalGroupManagement(List<TaxPlayerCodeDept> taxplayercodeDeptList) { |
|
|
|
|
taxplayercodeDeptList.forEach(taxPlayerCodeDept -> { |
|
|
|
|
log.debug("同步开票组织管理信息组织编码为:{}",taxPlayerCodeDept.getEnterpriseNumbers()); |
|
|
|
|
//查找出deptType不等于5 并且税号不为空(实体组织) 的数据
|
|
|
|
|
if (!ConfigureConstant.STRING_5.equals(Integer.toString(taxPlayerCodeDept.getDeptType())) |
|
|
|
|
&& StringUtils.isNotBlank(taxPlayerCodeDept.getTaxpayerCode())) { |
|
|
|
@ -91,6 +96,7 @@ public class UserController { |
|
|
|
|
String kpzzglKey = String.format(RedisConstant.REDIS_GROUP_MANAGEMENT_MESSAGE, key); |
|
|
|
|
String groupManagementResult = redisService.get(kpzzglKey); |
|
|
|
|
if(StringUtils.isNotBlank(groupManagementResult)){ |
|
|
|
|
log.debug("同步开票组织管理---redis不为空:{}", JSONObject.toJSONString(groupManagementResult)); |
|
|
|
|
GroupManagementEntity groupManagementEntity = JSON.parseObject(groupManagementResult, GroupManagementEntity.class); |
|
|
|
|
if(!StringUtils.equals(taxPlayerCodeDept.getName(), groupManagementEntity.getGroupName()) |
|
|
|
|
|| !StringUtils.equals(taxPlayerCodeDept.getTaxpayerCode(), groupManagementEntity.getXhfNsrsbh()) |
|
|
|
@ -115,12 +121,22 @@ public class UserController { |
|
|
|
|
groupManagementEntity.setEntId(taxPlayerCodeDept.getDeptId()); |
|
|
|
|
groupManagementEntity.setUsingEntId(taxPlayerCodeDept.getDeptId()); |
|
|
|
|
groupManagementEntity.setUpdateTime(new Date()); |
|
|
|
|
groupManagementService.updateGroup(groupManagementEntity); |
|
|
|
|
|
|
|
|
|
int count = groupManagementService.updateGroup(groupManagementEntity); |
|
|
|
|
if (count == 0) { |
|
|
|
|
log.debug("同步开票组织管理---id is not find"); |
|
|
|
|
groupManagementService.updateGroupByKey(groupManagementEntity); |
|
|
|
|
} |
|
|
|
|
//更新redis缓存
|
|
|
|
|
redisService.del(kpzzglKey); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
String repl = "(" + taxPlayerCodeDept.getEnterpriseNumbers() + ")"; |
|
|
|
|
String replace = taxPlayerCodeDept.getName().replace(repl, ""); |
|
|
|
|
taxPlayerCodeDept.setName(replace); |
|
|
|
|
|
|
|
|
|
} else { |
|
|
|
|
log.debug("同步开票组织管理---redis is null"); |
|
|
|
|
//查询数据库
|
|
|
|
|
GroupManagementQuery groupManagementQuery = new GroupManagementQuery(); |
|
|
|
|
groupManagementQuery.setGroupId(taxPlayerCodeDept.getDeptId()); |
|
|
|
@ -135,14 +151,24 @@ public class UserController { |
|
|
|
|
|
|
|
|
|
if(groupManagementEntityOptional.isPresent()){ |
|
|
|
|
GroupManagementEntity groupManagementEntity = groupManagementEntityOptional.get(); |
|
|
|
|
boolean changed = isChanged(taxPlayerCodeDept, groupManagementEntity); |
|
|
|
|
|
|
|
|
|
String repl = "(" + taxPlayerCodeDept.getEnterpriseNumbers() + ")"; |
|
|
|
|
String replace = taxPlayerCodeDept.getName().replace(repl, ""); |
|
|
|
|
|
|
|
|
|
if (changed) { |
|
|
|
|
updateGroup(taxPlayerCodeDept,groupManagementEntity); |
|
|
|
|
} |
|
|
|
|
//新增redis缓存
|
|
|
|
|
String groupManagementStr = JSON.toJSONString(groupManagementEntity); |
|
|
|
|
redisService.set(kpzzglKey, groupManagementStr, RedisConstant.REDIS_EXPIRE_TIME_7DAYS); |
|
|
|
|
taxPlayerCodeDept.setName(replace); |
|
|
|
|
} else { |
|
|
|
|
log.debug("同步开票组织管理---database is null"); |
|
|
|
|
GroupManagementEntity groupManagementEntity = new GroupManagementEntity(); |
|
|
|
|
groupManagementEntity.setId(DistributedKeyMaker.generateShotKey()); |
|
|
|
|
groupManagementEntity.setGroupId(taxPlayerCodeDept.getDeptId()); |
|
|
|
|
|
|
|
|
|
String name = taxPlayerCodeDept.getName(); |
|
|
|
|
String repl = "(" + taxPlayerCodeDept.getEnterpriseNumbers() + ")"; |
|
|
|
|
String replace = taxPlayerCodeDept.getName().replace(repl, ""); |
|
|
|
|
taxPlayerCodeDept.setName(replace); |
|
|
|
@ -164,14 +190,69 @@ public class UserController { |
|
|
|
|
groupManagementEntity.setUsingEntId(taxPlayerCodeDept.getDeptId()); |
|
|
|
|
groupManagementEntity.setCreateTime(new Date()); |
|
|
|
|
groupManagementEntity.setUpdateTime(new Date()); |
|
|
|
|
groupManagementService.insertGroup(groupManagementEntity); |
|
|
|
|
int count = groupManagementService.insertGroup(groupManagementEntity); |
|
|
|
|
if (count == 0) { |
|
|
|
|
List<GroupManagementEntity> groupManagementEntities = groupManagementEntityList.stream().filter(groupManagementEntity1 -> StringUtils.equals(groupManagementEntity1.getGroupId(), groupManagementEntity.getGroupId()) |
|
|
|
|
&& StringUtils.equals(groupManagementEntity1.getXhfNsrsbh(), groupManagementEntity.getXhfNsrsbh()) |
|
|
|
|
&& StringUtils.equals(groupManagementEntity1.getXhfDz(), groupManagementEntity.getXhfDz()) |
|
|
|
|
&& StringUtils.equals(groupManagementEntity1.getXhfDh(), groupManagementEntity.getXhfDh()) |
|
|
|
|
&& StringUtils.equals(groupManagementEntity1.getXhfYh(), groupManagementEntity.getXhfYh()) |
|
|
|
|
&& StringUtils.equals(groupManagementEntity1.getXhfZh(), groupManagementEntity.getXhfZh()) |
|
|
|
|
&& StringUtils.equals(groupManagementEntity1.getEntId(), groupManagementEntity.getEntId()) |
|
|
|
|
&& StringUtils.equals(groupManagementEntity1.getGroupName(), groupManagementEntity.getGroupName()) |
|
|
|
|
&& StringUtils.equals(groupManagementEntity1.getXhfMc(), groupManagementEntity.getXhfMc())) |
|
|
|
|
.collect(Collectors.toList()); |
|
|
|
|
log.debug("同步开票组织管理---未变更信息组织{}",groupManagementEntityList.size()); |
|
|
|
|
if (CollectionUtil.isEmpty(groupManagementEntities)){ |
|
|
|
|
log.debug("同步开票组织管理---未执行插入补偿"); |
|
|
|
|
groupManagementService.updateGroupByKey(groupManagementEntity); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
//新增redis缓存
|
|
|
|
|
groupManagementEntity.setGroupName(name); |
|
|
|
|
groupManagementEntity.setXhfMc(name); |
|
|
|
|
String groupManagementStr = JSON.toJSONString(groupManagementEntity); |
|
|
|
|
redisService.set(kpzzglKey, groupManagementStr, RedisConstant.REDIS_EXPIRE_TIME_7DAYS); |
|
|
|
|
taxPlayerCodeDept.setName(replace); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public boolean isChanged(TaxPlayerCodeDept taxPlayerCodeDept,GroupManagementEntity groupManagementEntity){ |
|
|
|
|
|
|
|
|
|
if(!StringUtils.equals(taxPlayerCodeDept.getName(), groupManagementEntity.getGroupName()) |
|
|
|
|
|| !StringUtils.equals(taxPlayerCodeDept.getTaxpayerCode(), groupManagementEntity.getXhfNsrsbh()) |
|
|
|
|
|| !StringUtils.equals(taxPlayerCodeDept.getName(), groupManagementEntity.getXhfMc()) |
|
|
|
|
|| !StringUtils.equals(taxPlayerCodeDept.getTaxpayerAddress(), groupManagementEntity.getXhfDz()) |
|
|
|
|
|| !StringUtils.equals(taxPlayerCodeDept.getTaxpayerPhone(), groupManagementEntity.getXhfDh()) |
|
|
|
|
|| !StringUtils.equals(taxPlayerCodeDept.getTaxpayerBank(), groupManagementEntity.getXhfYh()) |
|
|
|
|
|| !StringUtils.equals(taxPlayerCodeDept.getTaxpayerAccount(), groupManagementEntity.getXhfZh()) |
|
|
|
|
|| !StringUtils.equals(taxPlayerCodeDept.getDeptId(), groupManagementEntity.getEntId())) { |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public void updateGroup(TaxPlayerCodeDept taxPlayerCodeDept,GroupManagementEntity groupManagementEntity){ |
|
|
|
|
String name = taxPlayerCodeDept.getName(); |
|
|
|
|
String repl = "(" + taxPlayerCodeDept.getEnterpriseNumbers() + ")"; |
|
|
|
|
String replace = taxPlayerCodeDept.getName().replace(repl, ""); |
|
|
|
|
taxPlayerCodeDept.setName(replace); |
|
|
|
|
groupManagementEntity.setGroupName(taxPlayerCodeDept.getName()); |
|
|
|
|
groupManagementEntity.setXhfNsrsbh(taxPlayerCodeDept.getTaxpayerCode()); |
|
|
|
|
groupManagementEntity.setXhfMc(taxPlayerCodeDept.getName()); |
|
|
|
|
groupManagementEntity.setXhfDz(taxPlayerCodeDept.getTaxpayerAddress()); |
|
|
|
|
groupManagementEntity.setXhfDh(taxPlayerCodeDept.getTaxpayerPhone()); |
|
|
|
|
groupManagementEntity.setXhfYh(taxPlayerCodeDept.getTaxpayerBank()); |
|
|
|
|
groupManagementEntity.setXhfZh(taxPlayerCodeDept.getTaxpayerAccount()); |
|
|
|
|
groupManagementEntity.setEntId(taxPlayerCodeDept.getDeptId()); |
|
|
|
|
groupManagementEntity.setUsingEntId(taxPlayerCodeDept.getDeptId()); |
|
|
|
|
groupManagementEntity.setUpdateTime(new Date()); |
|
|
|
|
groupManagementService.updateGroup(groupManagementEntity); |
|
|
|
|
groupManagementEntity.setGroupName(name); |
|
|
|
|
groupManagementEntity.setXhfMc(name); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|