ludc
2024-04-12 52e81ee85d4c2a3fb9d3fcd70eae998272d48cd2
集成相关代码修改
已修改8个文件
77 ■■■■■ 文件已修改
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/DefaultAttrAssimtUtil.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/controller/DockingPreApplyCodeController.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/Scheduling/DockingDataSyncScheduling.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeApplyOrgPersonController.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CommonsMapper.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeDuckingSyncServiceImpl.java 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/BaseMdodelWrapper.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-deploy/src/main/java/com/vci/ubcs/deploy/service/impl/DeployAppsServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/DefaultAttrAssimtUtil.java
@@ -118,8 +118,9 @@
    public static <T extends BaseModel> T updateDefaultAttrAssimt(T object) throws VciBaseException {
        BaseModel baseModel = object;
        try {
            baseModel.setLastModifyTime(new Date());
            baseModel.setTs(new Date());
            Date date = new Date();
            baseModel.setLastModifyTime(date);
            baseModel.setTs(date);
            // 用户id
            // String userId = AuthUtil.getUserId().toString();
            // 要求改成账号
Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/controller/DockingPreApplyCodeController.java
@@ -1,6 +1,5 @@
package com.vci.ubcs.code.applyjtcodeservice.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.vci.ubcs.code.applyjtcodeservice.service.*;
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/Scheduling/DockingDataSyncScheduling.java
@@ -23,7 +23,7 @@
@Slf4j
public class DockingDataSyncScheduling {
//    private Logger logger = LoggerFactory.getLogger(getClass());
    // private Logger logger = LoggerFactory.getLogger(getClass());
    @Resource
    private ICodeDuckingSyncService codeDuckingSyncServiceI;
@@ -44,7 +44,9 @@
        FINISH_INIT = "true";
    }
    //默认每分钟执行方法
    /**
     * 默认每分钟执行方法
     */
    @Scheduled(cron = "${dataSyncPush.cronTime:0 0/10 * * * ?}")
    public void scheduled() {
        log.info("执行主数据集成数据推送 start:");
@@ -57,4 +59,5 @@
        }
        log.info("执行主数据集成数据推送 end: "+ "开关是否开启:" +DATA_SYNC_PUSH_ISSTARE);
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeApplyOrgPersonController.java
@@ -1,7 +1,6 @@
package com.vci.ubcs.code.controller;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.nacos.shaded.com.google.gson.JsonObject;
import com.vci.ubcs.code.service.UniversalInterfaceI;
import com.vci.ubcs.code.vo.webserviceModel.person.*;
import org.slf4j.Logger;
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CommonsMapper.java
@@ -68,6 +68,6 @@
    Map<String,Object> getCurrentRevision(@Param("tableName")String tableName,@Param("nameoid") String nameoid);
//    Integer updateByTaleAndOid(@Param("tableName")String tableName, @Param("nameoid") String nameoid, @Param("lcStatus") String lcStatus);
    // Integer updateByTaleAndOid(@Param("tableName")String tableName, @Param("nameoid") String nameoid, @Param("lcStatus") String lcStatus);
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeDuckingSyncServiceImpl.java
@@ -9,6 +9,7 @@
import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.xml.DomDriver;
import com.vci.ubcs.code.bo.CodeClassifyFullInfoBO;
import com.vci.ubcs.code.constant.FrameWorkDefaultValueConstant;
import com.vci.ubcs.code.constant.MdmDuckingConstant;
import com.vci.ubcs.code.dto.CodeOrderDTO;
import com.vci.ubcs.code.dto.CodeOrderSecDTO;
@@ -51,7 +52,6 @@
import com.vci.ubcs.starter.web.util.BeanUtilForVCI;
import com.vci.ubcs.starter.web.util.VciBaseUtil;
import com.vci.ubcs.starter.web.util.WebUtil;
import com.xkcoding.http.support.Http;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.map.CaseInsensitiveMap;
import org.springblade.core.redis.cache.BladeRedis;
@@ -66,7 +66,6 @@
import org.springframework.mock.web.MockHttpServletRequest;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.support.DefaultTransactionStatus;
import org.springframework.util.CollectionUtils;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
@@ -123,7 +122,6 @@
    @Value("${erp.item.tenant:10000}")
    private String ERPXHDHTENANT;
    /**
     * 业务类型的服务
@@ -185,8 +183,8 @@
    @Autowired(required = false)
    private MdmSearchItemCodeProvider mdmSearchItemCodeProvider;
    @Autowired
    HttpServletRequest request;
    @Resource
    private ICodeAllCodeService codeAllCodeService;
    @Override
    public void DockingDataSyncScheduing() {
@@ -283,7 +281,6 @@
            }
            org.springblade.core.tool.utils.WebUtil.setRequest(new ServletRequestAttributes(request));
        }
        return request;
    }
@@ -311,20 +308,24 @@
            lastchangedon=endDate;
        }
        searchItemParam.setLastchangedon(lastchangedon);
        searchItemParam.setStatus(itemStatus);//
        Map<String,String> searchDataMap = VciBaseUtil.objectToMapString(searchItemParam);
        searchItemParam.setIsenabled("");
        searchItemParam.setStatus(itemStatus);
        //Map<String,String> searchDataMap = VciBaseUtil.objectToMapString(searchItemParam);
        try {
            paramString=JSONObject.toJSON(searchItemParam).toString();
            String sendParamString=JSONObject.toJSON(searchItemParam).toString();
            // TODO: 改为使用HttpUtils方式进行申请,因为现在申请用之前的方式会报错
            LinkedMultiValueMap<String, String> headers = new LinkedMultiValueMap<>();
            headers.add("Authorization",ERPXHDHAUTH);
            headers.add("X-ECC-Current-Tenant",ERPXHDHTENANT);
            headers.add("Accept-Language","zh-CHS");
            headers.add("Content-Type",MediaType.APPLICATION_JSON.toString());
            String res = HttpUtils.request(ERPXHDHURL+"/getppModelByElemNew",paramString,headers, HttpMethod.POST,MediaType.APPLICATION_JSON);
            String res = HttpUtils.request(ERPXHDHURL+"/getppModelByElemNew",sendParamString,headers, HttpMethod.POST,MediaType.APPLICATION_JSON);
            // String res= mdmSearchItemCodeProvider.getppModelByElem(searchItemParam);
            SearchItemVO searchItemVO = JSONObject.toJavaObject(JSONObject.parseObject(res), SearchItemVO.class);
            if (searchItemVO != null) {
                if(!"200".equals(searchItemVO.getStatus())){
                    throw new ServiceException(String.format("接口返回状态码为:%s,原因:%s",searchItemVO.getStatus(),searchItemVO.getMessage()));
                }
                BladeUser finalUser;
                paramString = JSONObject.toJSON(searchItemVO).toString();
                log.info("型号代号数据值-------》"+paramString);
@@ -948,7 +949,7 @@
    /***
     * 发送编码主数据
     */
    private void sendpushDataForService (List<DockingTask> dockingTaskS){
    private void sendpushDataForService(List<DockingTask> dockingTaskS){
        //每个task依次执行推送
        for (DockingTask dockingTask:dockingTaskS){
            //每个task一个事务,开启
@@ -965,13 +966,31 @@
                //表示是主数据
                CodeClassifyTemplateVO codeClassifyTemplateVO = mdmEngineServiceI.getUsedTemplateByClassifyOid(classifyoid);
                R<List<Map<String, String>>> r = mdmEngineServiceI.getDataByOid(btmoid, codeClassifyTemplateVO.getOid());
                List<CodeClassifyTemplateAttrVO> attrVOS = codeClassifyTemplateVO.getAttributes();
                Map<String/**英文名称**/, String/**中文名称**/> attrIdNameMap = attrVOS.stream().collect(Collectors.toMap(s -> s.getId().toLowerCase(Locale.ROOT), t -> t.getName(), (o1, o2) -> o2));
                Map<String, String> data = new HashMap<>();
                if (r == null) {
                    JSONObject josni = bladeRedis.get(DOCKING_CACHE2_DELETE + btmoid);
                    data = (Map) josni;
                // TODO: 回收编码的情况,会出现数据已经回收,但是事务还未执行的情况,
                //  所以这儿缓存就得按照啥时候回收的推送成功了啥时候才能清空指定的缓存
                if (!r.isSuccess() || Func.isEmpty(r.getData())) {
                    List<CodeAllCode> codeAllCodes = codeAllCodeService.selectByWrapper(Wrappers.<CodeAllCode>query().lambda().eq(CodeAllCode::getId, dockingTask.getId()));
                    CodeAllCode codeAllCode = codeAllCodes.get(0);
                    BaseModel baseModel = JSONObject.parseObject(codeAllCode.getBusinessData(), BaseModel.class);
                    Map<String, Object> objectMap = VciBaseUtil.objectToMap(baseModel);
                    for (Map.Entry<String,Object> entry : objectMap.entrySet()){
                        if(entry.getKey().equals("data") && Func.isNotEmpty(entry.getValue())){
                            Map<String, Object> dataMap = ((JSONObject) entry.getValue());
                            for(Map.Entry<String,Object> dataEntry : dataMap.entrySet()){
                                String v = String.valueOf(dataEntry.getValue());
                                data.put(dataEntry.getKey().toLowerCase(Locale.ROOT), v == null ? "" : v);
                            }
                        }else{
                            String key = entry.getKey().toLowerCase(Locale.ROOT);
                            String value = String.valueOf(entry.getValue());
                            data.put(key, value == null ? "":value);
                        }
                    }
                    /*JSONObject josni = bladeRedis.get(DOCKING_CACHE2_DELETE + btmoid);
                    data = (Map) josni;*/
                } else {
                    data = r.getData().get(0);
                }
@@ -1001,8 +1020,10 @@
                }
                if(isGroupCodeFlage){
                    code=data.getOrDefault("groupcode","");
                    if(StringUtils.isBlank(code)) {//如果是集团码,没有领取到集团码则任务不结束等待集团码申请后再通过定时器调用集团码段
                    if(StringUtils.isBlank(code)) {
                        //如果是推送集团码,没有领取到集团码则任务不结束等待集团码申请后再通过定时器调用集团码段
                        dockingTask.setDescription("等待集团申请集团码");
                        // TODO:可能会出现未获取到集团码,就被点了回收,这时候
                        dockingTask.setSendFlag(MdmDuckingConstant.SEND_FLAG_FALSE);
                        dockingTask.setLastModifyTime(new Date());
                        dockingTaskService.updateById(dockingTask);
@@ -1204,7 +1225,7 @@
    /***
     * 查询需要集成的业务数据任务
     */
    private void sendpushDataForService (){
    private void sendpushDataForService(){
        initSysadmin();
        //查询哪些任务还没有执行完成
        //VciQueryWrapperForDO queryWrapper = new VciQueryWrapperForDO(DockingTaskDO.class);
@@ -1224,12 +1245,11 @@
     */
    private void sendpushClsfForService(){
        initSysadmin();
    /*    //查询哪些任务还没有执行完成
        /*    //查询哪些任务还没有执行完成
        VciQueryWrapperForDO queryWrapper = new VciQueryWrapperForDO(DockingTaskDO.class);
        queryWrapper.addQueryMap("sendFlag",MdmDuckingConstant.SEND_FLAG_FALSE);
        queryWrapper.addQueryMap("btmId",DOCKING_DEFAULT_CLASSIFY.toUpperCase(Locale.ROOT));
        List<DockingTaskDO> dockingTaskDOS = dockingTaskDaoI.selectByWrapper(queryWrapper);*/
        //根据类型去查询需要集成的分类或者数据
        LambdaQueryWrapper<DockingTask> queryWrapper = Wrappers.<DockingTask>lambdaQuery();
        queryWrapper.eq(DockingTask::getSendFlag,MdmDuckingConstant.SEND_FLAG_FALSE);
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/BaseMdodelWrapper.java
@@ -7,6 +7,7 @@
import com.vci.ubcs.starter.revision.model.BaseModel;
import org.springblade.core.mp.support.BaseEntityWrapper;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.core.tool.utils.Func;
import java.util.List;
import java.util.Objects;
Source/UBCS/ubcs-service/ubcs-deploy/src/main/java/com/vci/ubcs/deploy/service/impl/DeployAppsServiceImpl.java
@@ -205,7 +205,7 @@
    public R saveOrUpdateServiceInfo(DeployAppsVO deployAppsVO) throws ServiceException {
        boolean checkBoolean = checkCmdVer(deployAppsVO.getStartCmd()) && checkCmdVer(deployAppsVO.getStopCmd()) && checkCmdVer(deployAppsVO.getRestartCmd());
        if(checkBoolean){
            return R.fail("配置的命令中包含危险命令,如:rm、mv、rm -rf、chmod等命令和关键词! ");
            return R.fail("配置的命令中包含危险命令,如:rm、mv、rm -rf、chmod等命令和关键字! ");
        }
        return R.status(this.saveOrUpdate(deployAppsVO));
    }