38f9af19 by 肖初晴

【DAOP-1.0】企业认证

【功能点】测试问题处理
1 parent 2dc7b4e3
package com.csbr.qingcloud.portal.domain.vo;
import lombok.Data;
/**
* @program: ms-user-scm-service
* @description: 行政区
* @author: yio
* @create: 2021-01-14 15:39
**/
@Data
public class BoroughPOJO {
private String code;
private String name;
private String parentId;
private String isPCapital;
private String isDeleted;
/** 城市等级 (0 一线城市,1 新一线城市,2 二线城市,3 三线城市,4 四线城市,5 五线城市,6 六线城市)*/
private String areaLevel;
}
......@@ -4,6 +4,7 @@ import com.csbr.cloud.common.config.FastCallFeignConfiguration;
import com.csbr.cloud.common.entity.DictModel;
import com.csbr.cloud.common.entity.DictionaryVO;
import com.csbr.cloud.common.response.CommonRes;
import com.csbr.qingcloud.portal.domain.vo.BoroughPOJO;
import com.csbr.qingcloud.portal.domain.vo.RuleDTO;
import com.netflix.hystrix.contrib.javanica.annotation.HystrixCommand;
import com.netflix.hystrix.contrib.javanica.annotation.HystrixProperty;
......@@ -43,5 +44,8 @@ public interface ConfigureFeign {
@PostMapping(value = "/rule/new-code",produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
CommonRes<String> newCode(@RequestBody RuleDTO dto);
@GetMapping(value = "/borough/get-borough",produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
CommonRes<List<BoroughPOJO>> getBoroughCodeName();
}
......
......@@ -19,6 +19,7 @@ import com.csbr.qingcloud.portal.mybatis.service.MfEnterpriseChangeApproveServic
import com.csbr.qingcloud.portal.mybatis.service.MfEnterpriseService;
import com.csbr.qingcloud.portal.service.EnterpriseChangeApproveService;
import com.csbr.qingcloud.portal.service.EnterpriseService;
import com.csbr.qingcloud.portal.util.DateUtil;
import csbr.cloud.entity.enums.ApprovalStateEnum;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
......@@ -141,6 +142,14 @@ public class EnterpriseChangeApproveServiceImpl implements EnterpriseChangeAppro
TenantRQVO tenantVO = csbrBeanUtil.convert(vo,TenantRQVO.class);
tenantVO.setGuid(getTenantGuid(vo.getTenantName()));
tenantVO.setPersonIncharge(vo.getJuridicalPerson());
tenantVO.setTenantName(vo.getTenantName());
tenantVO.setRegisteredCapital(vo.getRegisteredCapital());
tenantVO.setRegistrationDate(DateUtil.getDateToLocal(vo.getRegistrationDate()));
tenantVO.setBankTaxNo(vo.getBankTaxNo());
tenantVO.setBusinessLicenseScope(vo.getBusinessLicenseScope());
tenantVO.setPersonIncharge(vo.getJuridicalPerson());
tenantVO.setContacts(vo.getContacts());
tenantVO.setContactTel(vo.getContactTel());
personelFeign.updateTenant(tenantVO);
}
......
......@@ -11,12 +11,9 @@ import com.csbr.cloud.common.exception.CsbrUserException;
import com.csbr.cloud.common.util.CommonUtil;
import com.csbr.cloud.common.util.CsbrBeanUtil;
import com.csbr.cloud.common.util.MessageSourceUtil;
import com.csbr.cloud.mq.service.KafkaStdService;
import com.csbr.cloud.workflow.domain.dto.appove.AddApprovalDTO;
import com.csbr.cloud.workflow.domain.dto.appove.FlowUpdateStateDTO;
import com.csbr.cloud.workflow.domain.dto.callback.BizCallbackDTO;
import com.csbr.cloud.workflow.domain.vo.appove.FlowRQBaseVO;
import com.csbr.qingcloud.portal.feign.WorkflowFeign;
import com.csbr.cloud.workflow.util.ApprovalFlowUtil;
import com.csbr.cloud.workflow.util.FlowAbstractImpl;
import com.csbr.qingcloud.portal.domain.vo.*;
......@@ -29,31 +26,20 @@ import com.csbr.qingcloud.portal.mybatis.service.MfDemandService;
import com.csbr.qingcloud.portal.mybatis.service.MfEnterpriseChangeApproveService;
import com.csbr.qingcloud.portal.mybatis.service.MfEnterpriseService;
import com.csbr.qingcloud.portal.service.EnterpriseService;
import com.csbr.qingcloud.portal.util.ObjectUtil;
import com.csbr.qingcloud.portal.util.ChangeInfoUtil;
import csbr.cloud.entity.domain.base.vo.PageListVO;
import csbr.cloud.entity.domain.user.UserInfo;
import csbr.cloud.entity.enums.ApprovalStateEnum;
import csbr.cloud.entity.utils.UserContextHolder;
import io.seata.common.util.DateUtil;
import io.seata.spring.annotation.GlobalTransactional;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.kafka.clients.consumer.ConsumerRecord;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.kafka.annotation.KafkaListener;
import org.springframework.kafka.support.Acknowledgment;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import java.util.ArrayList;
import java.util.Date;
import java.util.Enumeration;
import java.util.List;
/**
......@@ -95,12 +81,6 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris
@Resource
private UserFeign userFeign;
@Resource
private WorkflowFeign workflowFeign;
@Autowired(required = false)
private KafkaStdService kafkaStdService;
/**
* 企业信息分页查询
* @author xcq
......@@ -160,7 +140,7 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris
}
List<ChangeApproveBean> beanList = getChangeBeanList(approveList);
try {
return getChangeList(beanList);
return ChangeInfoUtil.getChangeList(beanList);
} catch (IllegalAccessException e) {
e.printStackTrace();
}
......@@ -197,7 +177,7 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris
beanList.add(bean);
List<ChangeInfoVO> list = new ArrayList<>();
try {
list = getChangeList(beanList);
list = ChangeInfoUtil.getChangeList(beanList);
} catch (IllegalAccessException e) {
e.printStackTrace();
}
......@@ -226,79 +206,6 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris
public MfEnterprise newBean;
}
/** 计算变更信息 */
public static List<ChangeInfoVO> getChangeList(List<ChangeApproveBean> beanList) throws IllegalAccessException {
List<ChangeInfoVO> list = new ArrayList<>();
//循环对比每组记录生来变更内容
for(ChangeApproveBean item : beanList){
List<CompareResult> diffList = ObjectUtil.getBeanDiff(item.oldBean,item.newBean);
getVenueResult(item,diffList);
getStartEndResult(item,diffList);
for(CompareResult diffItem : diffList){
if(diffItem.getFieldComment().contains("审批状态") || diffItem.getFieldComment().contains("营业执照")
|| diffItem.getFieldComment().contains("法人证件照") || diffItem.getFieldComment().contains("管理员证件照")
|| diffItem.getFieldComment().contains("授权委托书") || diffItem.getFieldComment().contains("省")
|| diffItem.getFieldComment().contains("市") || diffItem.getFieldComment().contains("区")
|| diffItem.getFieldComment().contains("营业开始日期") || diffItem.getFieldComment().contains("营业结束日期")){
continue;
}
ChangeInfoVO vo = new ChangeInfoVO();
vo.setNameEn(diffItem.getFieldName());
vo.setName(diffItem.getFieldComment());
vo.setDate(DateUtil.formatDate(item.oldBean.getCreateTime(),"yyyy-MM-dd HH:mm:ss"));
vo.setBefore(diffItem.getOldValue().toString());
vo.setAfter(diffItem.getNewValue().toString());
vo.setGuid(CommonUtil.newGuid());
list.add(vo);
}
}
return list;
}
private static void getVenueResult(ChangeApproveBean item, List<CompareResult> diffList) {
String oldVenue = getVenue(item.oldBean.getProvince(),item.oldBean.getCity(),item.oldBean.getDistrict());
String newVenue = getVenue(item.newBean.getProvince(),item.newBean.getCity(),item.newBean.getDistrict());
if(!oldVenue.equals(newVenue)){
CompareResult result = new CompareResult();
result.setFieldComment("注册地");
result.setFieldName("venue");
result.setOldValue(oldVenue);
result.setNewValue(newVenue);
diffList.add(result);
}
}
private static void getStartEndResult(ChangeApproveBean item, List<CompareResult> diffList) {
String oldValue = getStartEnd(item.oldBean.getBusinessLicenseTerm(),item.oldBean.getBusinessLicenseStartDate(),item.oldBean.getBusinessLicenseEndDate());
String newValue = getStartEnd(item.newBean.getBusinessLicenseTerm(),item.newBean.getBusinessLicenseStartDate(),item.newBean.getBusinessLicenseEndDate());
if(!oldValue.equals(newValue)){
CompareResult result = new CompareResult();
result.setFieldComment("营业日期范围");
result.setFieldName("businessLicenseStartEnd");
result.setOldValue(oldValue);
result.setNewValue(newValue);
diffList.add(result);
}
}
private static String getVenue(String province, String city, String district) {
if(StringUtils.isBlank(district)){
return String.format("%s/%s",province,city);
}
else{
return String.format("%s/%s/%s",province,city,district);
}
}
private static String getStartEnd(String businessLicenseTerm,Date businessLicenseStartDate, Date businessLicenseEndDate) {
if("1".equals(businessLicenseTerm)){
return "长期有效";
}
return String.format("%s至%s",businessLicenseStartDate,businessLicenseEndDate);
}
/**
* 企业信息数据新增
* @author xcq
......@@ -759,8 +666,8 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris
EnterpriseRSVO vo = csbrBeanUtil.convert(entity, EnterpriseRSVO.class);
//流程数据处理
vo.setApproveVO(approvalFlowUtil.getApprovalCrossTenantInfo(entity.getGuid()));
vo.setVenue(getVenue(vo.getProvince(),vo.getCity(),vo.getDistrict()));
vo.setBusinessLicenseStartEnd(getStartEnd(vo.getBusinessLicenseTerm(),vo.getBusinessLicenseStartDate(),vo.getBusinessLicenseEndDate()));
vo.setVenue(ChangeInfoUtil.getVenue(vo.getProvince(),vo.getCity(),vo.getDistrict()));
vo.setBusinessLicenseStartEnd(ChangeInfoUtil.getStartEnd(vo.getBusinessLicenseTerm(),vo.getBusinessLicenseStartDate(),vo.getBusinessLicenseEndDate()));
return vo;
}
......
package com.csbr.qingcloud.portal.util;
import com.csbr.cloud.common.util.CommonUtil;
import com.csbr.cloud.common.util.CsbrBeanUtil;
import com.csbr.qingcloud.portal.domain.vo.BoroughPOJO;
import com.csbr.qingcloud.portal.domain.vo.ChangeInfoVO;
import com.csbr.qingcloud.portal.domain.vo.CompareResult;
import com.csbr.qingcloud.portal.feign.ConfigureFeign;
import com.csbr.qingcloud.portal.service.impl.EnterpriseServiceImpl;
import jakarta.annotation.Resource;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Component;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
@Component
public class ChangeInfoUtil {
@Resource
private static ConfigureFeign configureFeign;
public static List<BoroughPOJO> areaList;
/** 计算变更信息 */
public static List<ChangeInfoVO> getChangeList(List<EnterpriseServiceImpl.ChangeApproveBean> beanList) throws IllegalAccessException {
List<ChangeInfoVO> list = new ArrayList<>();
//循环对比每组记录生来变更内容
for(EnterpriseServiceImpl.ChangeApproveBean item : beanList){
List<CompareResult> diffList = ObjectUtil.getBeanDiff(item.oldBean,item.newBean);
getVenueResult(item,diffList);
getStartEndResult(item,diffList);
getRegistrationDateResult(item,diffList);
getRegisteredCapitalResult(item,diffList);
for(CompareResult diffItem : diffList){
if(diffItem.getFieldComment().contains("审批状态") || diffItem.getFieldComment().contains("营业执照")
|| diffItem.getFieldComment().contains("法人证件照") || diffItem.getFieldComment().contains("管理员证件照")
|| diffItem.getFieldComment().contains("授权委托书") || diffItem.getFieldComment().contains("省")
|| diffItem.getFieldComment().contains("市") || diffItem.getFieldComment().contains("区")
|| diffItem.getFieldComment().contains("营业开始日期") || diffItem.getFieldComment().contains("营业结束日期")
|| diffItem.getFieldComment().contains("注册日期") || diffItem.getFieldComment().contains("注册资本")){
continue;
}
ChangeInfoVO vo = new ChangeInfoVO();
vo.setNameEn(diffItem.getFieldName());
vo.setName(diffItem.getFieldComment());
vo.setDate(DateUtil.getDateToString(item.oldBean.getCreateTime()));
vo.setBefore(diffItem.getOldValue().toString());
vo.setAfter(diffItem.getNewValue().toString());
vo.setGuid(CommonUtil.newGuid());
list.add(vo);
}
}
return list;
}
private static void getRegisteredCapitalResult(EnterpriseServiceImpl.ChangeApproveBean item, List<CompareResult> diffList) {
String oldValue = getRegisteredCapital(item.oldBean.getRegisteredCapital());
String newValue = getRegisteredCapital(item.newBean.getRegisteredCapital());
if(!oldValue.equals(newValue)){
diffList.add(getCompareResult("注册资本","registeredCapital",oldValue,newValue));
}
}
private static String getRegisteredCapital(BigDecimal v) {
if(v == null){
return "";
}
return v.setScale(2, RoundingMode.HALF_DOWN).toString();
}
public static void getVenueResult(EnterpriseServiceImpl.ChangeApproveBean item, List<CompareResult> diffList) {
String oldValue = getVenue(item.oldBean.getProvince(),item.oldBean.getCity(),item.oldBean.getDistrict());
String newValue = getVenue(item.newBean.getProvince(),item.newBean.getCity(),item.newBean.getDistrict());
if(!oldValue.equals(newValue)){
diffList.add(getCompareResult("注册地","venue",oldValue,newValue));
}
}
public static void getRegistrationDateResult(EnterpriseServiceImpl.ChangeApproveBean item, List<CompareResult> diffList) {
String oldValue = getRegistrationDate(item.oldBean.getRegistrationDate());
String newValue = getRegistrationDate(item.newBean.getRegistrationDate());
if(!oldValue.equals(newValue)){
diffList.add(getCompareResult("注册日期","registrationDate",oldValue,newValue));
}
}
private static String getRegistrationDate(Date date) {
return DateUtil.getDateToString(date);
}
private static CompareResult getCompareResult(String comment,String name,String oldVenue,String newVenue){
CompareResult result = new CompareResult();
result.setFieldComment(comment);
result.setFieldName(name);
result.setOldValue(oldVenue);
result.setNewValue(newVenue);
return result;
}
public static void getStartEndResult(EnterpriseServiceImpl.ChangeApproveBean item, List<CompareResult> diffList) {
String oldValue = getStartEnd(item.oldBean.getBusinessLicenseTerm(),item.oldBean.getBusinessLicenseStartDate(),item.oldBean.getBusinessLicenseEndDate());
String newValue = getStartEnd(item.newBean.getBusinessLicenseTerm(),item.newBean.getBusinessLicenseStartDate(),item.newBean.getBusinessLicenseEndDate());
if(!oldValue.equals(newValue)){
diffList.add(getCompareResult("营业期限","businessLicenseStartEnd",oldValue,newValue));
}
}
public static String getVenue(String province, String city, String district) {
if(StringUtils.isBlank(district)){
return String.format("%s/%s",getName(province),getName(city));
}
else{
return String.format("%s/%s/%s",getName(province),getName(city),getName(district));
}
}
private static String getName(String code){
if(CollectionUtils.isEmpty(areaList)){
areaList = configureFeign.getBoroughCodeName().getData();
}
List<String> names = areaList.stream().filter(x->x.getCode().equals(code)).map(BoroughPOJO::getName).collect(Collectors.toList());
if(CollectionUtils.isEmpty(names)){
return "";
}
return names.get(0);
}
public static String getStartEnd(String businessLicenseTerm, Date businessLicenseStartDate, Date businessLicenseEndDate) {
if("1".equals(businessLicenseTerm)){
return "长期有效";
}
return String.format("%s至%s",businessLicenseStartDate,businessLicenseEndDate);
}
}
package com.csbr.qingcloud.portal.util;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.Date;
public class DateUtil {
......@@ -26,6 +28,14 @@ public class DateUtil {
}
/** 时间转字符串 */
public static String getDateToString(Date time){
if(time == null) {
return "";
}
return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(time);
}
/** 时间转字符串 */
public static String getShortDateToString(Date time){
if(time == null) {
return "";
......@@ -33,6 +43,14 @@ public class DateUtil {
return new SimpleDateFormat("yyyy-MM-dd").format(time);
}
/** 时间转本地时间 */
public static LocalDateTime getDateToLocal(Date time){
if(time == null) {
return null;
}
return time.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
}
/** 字符串时间转日期 */
public static Date getShortDate(Date time){
if(time == null) {
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!