1、对MDM服务的批量更新Feign进行改动,以及批量更新接口的开发,接口中字段的添加
已修改11个文件
130 ■■■■■ 文件已修改
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeClassifyTemplateAttr.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/IMdmEngineClient.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/IMdmEngineFallback.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/CodeClassifyTemplateAttrVO.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/UIFormItemVO.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/MdmEngineClient.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CommonsMapper.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmEngineService.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyTemplateAttrServiceImpl.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CommonsMapper.xml 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeClassifyTemplateAttr.java
@@ -158,6 +158,11 @@
     */
    //@Column(columnDefinition = "所属属性分组")
    private String attributeGroup;
    /**
     * 输入显示
     */
    //@Column(columnDefinition = "输入显示")
    private String inputTip;
    /**
     * 使用枚举英文编号
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/IMdmEngineClient.java
@@ -39,6 +39,7 @@
    String API_PREFIX = "/mdmEngineClient";
    String SELECT_BY_TYPE_OID = API_PREFIX + "/selectByTypeAndOid";
    String INSERT_BATCH_BY_TYPE = API_PREFIX + "/insertBatchByType";
    String UPDATE_BATCH_BY_TYPE = API_PREFIX + "/updateBatchByType";
    /**
     * 传入业务类型以及相oid集合查询数据进行返回
@@ -60,4 +61,13 @@
     */
    @PostMapping(INSERT_BATCH_BY_TYPE)
    R<Integer> insertBatchByType(@RequestParam("btmType")String btmType,@RequestBody List<BaseModel> baseModels);
    /**
     * 传入业务类型以及相关数据进行批量更新操作
     *
     * @param btmType 业务类型
     * @param baseModels      处理数据
     * @return 处理状态
     */
    @PostMapping(UPDATE_BATCH_BY_TYPE)
    R<Integer> updateBatchByType(@RequestParam("btmType")String btmType,@RequestBody List<BaseModel> baseModels);
}
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/IMdmEngineFallback.java
@@ -36,6 +36,11 @@
    @Override
    public R<Integer> insertBatchByType(String btmType, List<BaseModel> baseModels){
        return R.fail("获取数据失败");
        return R.fail("插入数据失败");
    }
    @Override
    public R<Integer> updateBatchByType(String btmType, List<BaseModel> baseModels) {
        return R.fail("更新数据失败");
    }
}
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/CodeClassifyTemplateAttrVO.java
@@ -290,6 +290,10 @@
     * 级联查询属性
     */
    private String parentQueryAttr;
    /**
     * 输入提示
     */
    private String inputTip;
    @Override
    public String toString() {
@@ -348,6 +352,7 @@
            ", libraryIdentification='" + libraryIdentification + '\'' +
            ", parentCode='" + parentCode + '\'' +
            ", parentName='" + parentName + '\'' +
            ", inputTip='" + inputTip + '\'' +
            ", parentQueryAttr='" + parentQueryAttr + '\'' +
            '}';
    }
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/UIFormItemVO.java
@@ -133,6 +133,10 @@
     * 后缀
     */
    private String suffix;
    /**
     * 输入提示
     */
    private String inputTip;
    public boolean isKeyAttr() {
        return keyAttr;
@@ -149,6 +153,13 @@
    public void setField(String field) {
        this.field = field;
    }
    public String getInputTip() {
        return inputTip;
    }
    public void setInputTip(String inputTip) {
        this.inputTip = inputTip;
    }
    public String getText() {
        return text;
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/MdmEngineClient.java
@@ -78,5 +78,21 @@
            throw new RuntimeException(e);
        }
    }
    /**
     * 传入业务类型以及相关数据进行批量插入操作
     *
     * @param btmType 业务类型
     * @param baseModels      处理数据
     * @return 处理状态
     */
    @Override
    @PostMapping(UPDATE_BATCH_BY_TYPE)
    public R<Integer> updateBatchByType(String btmType, List<BaseModel> baseModels) {
        try {
            return mdmEngineService.updateBatchByBaseModel(btmType,baseModels);
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CommonsMapper.java
@@ -1,5 +1,6 @@
package com.vci.ubcs.code.mapper;
import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
import org.apache.ibatis.annotations.MapKey;
import org.apache.ibatis.annotations.Param;
@@ -22,12 +23,19 @@
    List<Map> selectBySql(@Param("inSql") String inSql);
    /**
     * 传入表明,map,list<map>完成批量更新操作
     * 传入表名,map,list<map>完成批量更新操作
     * @param tableName 表名
     * @param columnMap 单条map用于获取key作为字段
     * @param mapList 需要插入的所有记录
     * @return 插入成功的条数
     */
    Integer insertByBaseModel(String tableName,Map<String,String> columnMap,List<Map<String,String>> mapList);
    Integer insertByBaseModel(String tableName,Map<String,String> columnMap,List<Map<String,String>> mapList);/**
     * 传入表名,map,list<map>完成批量更新操作
     * @param tableName 表名
     * @param mapList 需要更新的所有记录
     * @return 插入成功的条数
     */
    @InterceptorIgnore(tenantLine = "true")
    Integer updateBatchByBaseModel(String tableName,List<Map<String,String>> mapList);
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmEngineService.java
@@ -386,4 +386,13 @@
     * @return 查询出的数据
     */
    List<BaseModel> selectByTypeAndOid(String btmType, String oids) throws IllegalAccessException, NoSuchFieldException, InstantiationException, InvocationTargetException, IntrospectionException, SQLException;
    /**
     * 传入业务类型以及相关数据进行批量更新操作
     *
     * @param btmType 业务类型
     * @param baseModels      处理数据
     * @return 处理状态
     */
    R updateBatchByBaseModel(String btmType, List<BaseModel> baseModels) throws Exception;
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyTemplateAttrServiceImpl.java
@@ -153,7 +153,11 @@
//            conditionMap.put("classifytemplateoid", QueryOptionConstant.IN + "(" + VciBaseUtil.toInSql(templateOids.toArray(new String[0])) + ")");
//            PageHelper pageHelper = new PageHelper(-1);
//            pageHelper.addDefaultAsc("orderNum");
            List<CodeClassifyTemplateAttr> attrDOS = baseMapper.selectByClassifytemplateoid(VciBaseUtil.toInSql(templateOids.toArray(new String[0])));
            QueryWrapper<CodeClassifyTemplateAttr> wrapper = new QueryWrapper<>();
            wrapper.in("classifytemplateoid",templateOids);
            wrapper.orderByAsc("orderNum");
            List<CodeClassifyTemplateAttr> attrDOS = baseMapper.selectList(wrapper);
//                baseMapper.selectByClassifytemplateoid(VciBaseUtil.toInSql(templateOids.toArray(new String[0])));
            if(!CollectionUtils.isEmpty(attrDOS)){
                attrDOList.addAll(attrDOS);
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
@@ -1064,6 +1064,7 @@
        itemVO.setPrefix(attrVO.getPrefixValue());
        itemVO.setSuffix(attrVO.getSuffixValue());
        itemVO.setTooltips(attrVO.getExplain());
        itemVO.setInputTip(attrVO.getInputTip());
        itemVO.setSelectLibFlag(attrVO.getLibraryIdentification());
        //看看是否有枚举
        if ((StringUtils.isNotBlank(attrVO.getEnumString())
@@ -3059,4 +3060,38 @@
        }
        return "";
    }
    /**
     * 传入业务类型以及相关数据进行批量更新操作
     *
     * @param btmType 业务类型
     * @param baseModels      处理数据
     * @return 处理状态
     */
    @Override
    public R updateBatchByBaseModel(String btmType, List<BaseModel> baseModels) throws Exception {
        //使用传入的业务类型查询表
        R<List<BtmTypeVO>> listR = btmTypeClient.selectByIdCollection(Collections.singletonList(btmType));
        if(listR.getData().size() == 0){
            throw new VciBaseException("传入业务类型未查询到相应表单,请检查!");
        }
        //将bean转为map,mybatis统一处理
        List<Map<String,String>> maps = new ArrayList<>();
        baseModels.stream().forEach(model-> {
            try {
                maps.add(VciBaseUtil.convertBean2Map(model));
            } catch (Exception e) {
                throw new VciBaseException("类型转换错误:" + e.getMessage());
            }
        });
        try {
            //注意此处更新成功是返回的-1
            commonsMapper.updateBatchByBaseModel(listR.getData().get(0).getTableName(), maps);
        }catch (Exception e){
            return R.fail("更新失败!"+e.getMessage());
        }
        return R.success("更新成功!");
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CommonsMapper.xml
@@ -37,4 +37,18 @@
        </foreach>
    </insert>
    <update  id="updateBatchByBaseModel"  parameterType="java.util.List" >
        BEGIN
        <foreach collection="mapList" item="columnMap" index="index" separator=";">
            update ${tableName}
                <set>
                    <foreach collection="columnMap" item="value" index="key" separator=",">
                     ${key} = #{value}
                    </foreach>
                </set>
            where oid = #{columnMap.oid}
        </foreach>;
        END;
    </update >
</mapper>