ludc
2024-02-04 a475adaeba4b9954ed19f5ece005e95971ed4b0e
内外网开发环境代码合并
已修改6个文件
已添加2个文件
246 ■■■■ 文件已修改
Source/UBCS-WEB/src/components/Theme/ClassifyAuthDialog.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/SearchItemUpperCaseDataVO.java 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/SearchItemVO.java 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/feigh/MdmInterJtClient.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/impl/GroupMdmInterServiceImpl.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/MdmSearchItemCodeProvider.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeDuckingSyncServiceImpl.java 106 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/PasswordFreeLoginServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/components/Theme/ClassifyAuthDialog.vue
@@ -289,6 +289,7 @@
        classifyAuthList: [],
        isCLear: false, //默认是清空
        classifyId: this.TreeNode.oid,
        authType: 'classify_auth',
      };
      let isRepeat = false;
      if (this.classifyAuthData.length > 0) {
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/SearchItemUpperCaseDataVO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,49 @@
package com.vci.ubcs.code.vo.pagemodel;
import lombok.Data;
import java.util.Date;
@Data
public class SearchItemUpperCaseDataVO {
    /***
     * æ•°æ®çŠ¶æ€ å­—符型,枚举值;制单:0;审批中:1;通过:2;驳回:3;
     */
    private String STATUS;
    /**
     * åˆ¶é€ åž‹å·ä»£å·
     */
    private String MMODELCODE;
    /**
     * é¡¹ç›®ä»£å·
     */
    private String PROJECTITEM;
    /***
     * é¡¹ç›®ç¼–码
     */
    private String PROJECTCODE;
    /***
     * äº§å“ç¼–码
     */
    private String MATERIALCODE;
    /***
     * åˆ›å»ºè€…
     */
    private String CREATBY;
    /***
     * åˆ›å»ºæ—¥æœŸ æ—¥æœŸåž‹ï¼Œå¦‚:2023-09-08 19:24:11
     */
    private Date CREATEDON;
    /***
     * æ›´æ”¹è€…
     */
    private String LASTCHANGEDBY;
    /***
     * æ›´æ”¹æ—¶é—´ æ—¥æœŸåž‹ï¼Œå¦‚:2023-09-08 19:24:11
     */
    private Date LASTCHANGEDON;
    /***
     * å­—符型,枚举值;停用:0;启用:1;
     */
    private String ISENABLED;
}
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/SearchItemVO.java
@@ -6,6 +6,14 @@
@Data
public class SearchItemVO {
    /**
     * è¡¨ç¤ºå­—段
     */
    private String success;
    /**
     * è¡¨ç¤ºå­—段
     */
    private String status;
    /***
     * è¿”回标识
     */
@@ -13,7 +21,10 @@
    /***
     * æ¶ˆæ¯ä¿¡æ¯
     */
    private String msg;
    private List<SearchItemDataVO> data;
    private String message;
    /**
     * shuju
     */
    private List<SearchItemUpperCaseDataVO> data;
    //private List<SearchItemDataVO> data;
}
Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/feigh/MdmInterJtClient.java
@@ -185,16 +185,23 @@
                String jdatabtmname = dockingPreApplyForm.getDataBtmName();
                if (res) {
                    //此处需要查询业务数据,去更改
                    BaseModel baseModel = new BaseModel();
                    String classOid=baseModel.getData().getOrDefault("CODECLSFID","");
                    if(partCoe.equals(classOid)){
                        baseModel.setId(10+customCoding);
                    R<List<BaseModel>>  R=mdmEngineClient.selectByTypeAndOid(jdatabtmname,jdataid);
                    if(R.isSuccess()){
                        List<BaseModel> oldDatalist=new ArrayList<>();
                        List<BaseModel> newDatalist=R.getData();
                        if(!CollectionUtils.isEmpty(newDatalist)){
                            if(editObjectMap.containsKey(jdatabtmname)){
                                oldDatalist=editObjectMap.getOrDefault(jdatabtmname,new ArrayList<>());
                            }
                            BaseModel baseModel=oldDatalist.get(0);
                            //DefaultAttrAssimtUtil.updateDefaultAttrAssimt(baseModel);
                            baseModel.setLastModifyTime(new Date());
                            baseModel.getData().put("groupcode",customCoding);
                            log.info("申请单:"+applyId+",集团码:"+customCoding+"编码:"+baseModel.getId());
                            oldDatalist.add(baseModel);
                            editObjectMap.put(jdatabtmname,oldDatalist);
                        }
                    }
                    String btmeName=baseModel.getBtmname();
                    baseModel.getData().put("groupcode",customCoding);
                    log.info("申请单:"+applyId+",集团码:"+customCoding+"编码:"+baseModel.getId());
                    editObjectMap.getOrDefault(btmeName,new ArrayList<>()).add(baseModel);
                }
            }
            if(!CollectionUtils.isEmpty(editObjectMap)) {
Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/impl/GroupMdmInterServiceImpl.java
@@ -202,11 +202,11 @@
                                if (baseModelMap.containsKey(applyId)) {
                                    baseModel = baseModelMap.get(applyId);
                                    Map<String,String> dataValueMap=new CaseInsensitiveMap<>(baseModel.getData());
                                    String classOid=dataValueMap.getOrDefault("CODECLSFID","");
                                    /*String classOid=baseModel.getId();
                                    if(partCoe.equals(classOid)){
                                        baseModel.setId(10+customCoding);
                                        customCoding=10+customCoding;
                                    }
                                    }*/
                                    BeanUtilForVCI.copyDeclaredIgnoreCase(baseModel, baseModel);
                                    DefaultAttrAssimtUtil.updateDefaultAttrAssimt(baseModel);
                                //    DefaultAttrAssimtUtil.updateDefaultAttrAssimt(baseModel);
@@ -343,10 +343,10 @@
                            if (baseModelMap.containsKey(applyId)) {
                                BaseModel baseModel = baseModelMap.get(applyId);
                                //BeanUtilForVCI.copyDeclaredIgnoreCase(baseModelVO, baseModel);
                                String classOid=baseModel.getData().getOrDefault("CODECLSFID","");
                                /*String classOid=baseModel.getData().getOrDefault("CODECLSFID","");
                                if(partCoe.equals(classOid)){
                                    baseModel.setId(10+customCoding);
                                }
                                }*/
                                DefaultAttrAssimtUtil.updateDefaultAttrAssimt(baseModel);
                                //    baseModel.setId(customCoding);
                                baseModel.getData().put("GROUPCODE", customCoding);
@@ -864,7 +864,7 @@
     * */
    private DockingGroupDataVO queryApplycodeDataObjects(int optationtype,List<BaseModel>  codeWupins,Map<String,DockingPreApplyForm>   addDockingPreApplyFormMap,Map<String,DockingPreApplyForm>  editDockingPreApplyFormMap,Map<String,BaseModel>  codeWupinMap) throws VciBaseException{
        try {
            String curUserName ="28201728"; //AuthUtil.getUser().getUserName();
            String curUserName =AuthUtil.getUser().getUserName();
            //申请的数据
            List<DockingMainData> mainDataList=new ArrayList<DockingMainData>();
            for (BaseModel dataBusinessObject : codeWupins) {
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/MdmSearchItemCodeProvider.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,34 @@
package com.vci.ubcs.code.feign;
import com.vci.ubcs.code.vo.pagemodel.SearchItemParam;
import com.vci.ubcs.code.vo.pagemodel.SearchItemVO;
import feign.Headers;
import io.swagger.annotations.Authorization;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestParam;
import javax.validation.constraints.NotNull;
import java.util.Map;
/****
 * ä»Žå¤–部获取型号代号,或者项目代号
 * @author xiejun
 * @date 2023-05-26
 */
@FeignClient(name = "erpIntegration",
    url = "${erp.item.url:http://127.0.0.1:8080/api/pp/pp/v1.0}",
    path = ""
)
public interface MdmSearchItemCodeProvider {
    /***
     * æŸ¥è¯¢é¡¹ç›®ä»£å·æˆ–者型号代号
     * @param searchItemParam
     * @return æ‰§è¡Œç»“æžœ
     */
    @PostMapping(value = "/getppModelByElem",headers = {"Authorization=${erp.item.bearer:bearer: Bearer 7fc32939-0a59-da71-a6e6-6b0d37b53e8a}","X-ECC-Current-Tenant=10000","Content-Type=application/json","Accept-Language=zh-CHS"})
    String getppModelByElem(@RequestBody SearchItemParam searchItemParam);
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeDuckingSyncServiceImpl.java
@@ -35,8 +35,6 @@
import com.vci.ubcs.code.vo.webserviceModel.apply.ApplyDatasVO;
import com.vci.ubcs.code.vo.webserviceModel.apply.ProppertyVO;
import com.vci.ubcs.code.vo.webserviceModel.apply.SectionVO;
import com.vci.ubcs.code.vo.webserviceModel.applybz.ApplyBZDataVO;
import com.vci.ubcs.code.vo.webserviceModel.applybz.ApplyBZDatasVO;
import com.vci.ubcs.code.vo.webserviceModel.attrmap.*;
import com.vci.ubcs.code.vo.webserviceModel.result.xml.XMLResultDataObjectDetailDO;
import com.vci.ubcs.code.webService.config.AttributeMapConfig;
@@ -49,14 +47,11 @@
import com.vci.ubcs.code.util.WsErpClientUtil;
import com.vci.ubcs.starter.web.enumpck.UserSecretEnum;
import com.vci.ubcs.starter.web.pagemodel.SessionInfo;
import com.vci.ubcs.starter.web.util.BeanUtil;
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.vci.ubcs.system.user.entity.User;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.map.CaseInsensitiveMap;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.redis.cache.BladeRedis;
import org.springblade.core.secure.BladeUser;
import org.springblade.core.secure.utils.AuthUtil;
@@ -257,7 +252,9 @@
                ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes)RequestContextHolder.currentRequestAttributes();
                request = servletRequestAttributes.getRequest();
            }
            org.springblade.core.tool.utils.WebUtil.setRequest(new ServletRequestAttributes(request));
        }
        return request;
    }
    /***
@@ -288,26 +285,34 @@
        Map<String,String>searchDataMap=  VciBaseUtil.objectToMapString(searchItemParam);
        try {
            paramString=JSONObject.toJSON(searchItemParam).toString();
            SearchItemVO searchItemVO = mdmSearchItemCodeProvider.getppModelByElem(searchItemParam);
        /*SearchItemVO searchItemVO=new SearchItemVO();
        List<SearchItemDataVO> data=new ArrayList<>();
        SearchItemDataVO searchItemDataVO1=initData("1","","pro-00001");
        SearchItemDataVO searchItemDataVO2=initData("0","item-00001","");
        data.add(searchItemDataVO1);
        data.add(searchItemDataVO2);
        searchItemVO.setData(data);
        searchItemVO.setCode("200");
        searchItemVO.setMsg("");*/
            String res= mdmSearchItemCodeProvider.getppModelByElem(searchItemParam);
            SearchItemVO searchItemVO  = JSONObject.toJavaObject(JSONObject.parseObject(res), SearchItemVO.class);
            /**SearchItemVO searchItemVO=new SearchItemVO();
            List<SearchItemDataVO> data=new ArrayList<>();
            SearchItemDataVO searchItemDataVO1=initData("1","","pro-00001");
            SearchItemDataVO searchItemDataVO2=initData("0","item-00001","");
            data.add(searchItemDataVO1);
            data.add(searchItemDataVO2);
            //searchItemVO.setData(data);
            searchItemVO.setCode("200");**/
            //searchItemVO.setMsg("");
            if (searchItemVO != null) {
                BladeUser finalUser;
                paramString = JSONObject.toJSON(searchItemVO).toString();
                log.info("型号代号数据值-------》"+paramString);
                HttpServletRequest request=getRequest();
                try {
                    //免密登录申请token,request中添加用户信息
                    try {
                        passwordFreeLoginService.pwdFreeLoginByBoolean(systemId.toLowerCase(Locale.ROOT), getRequest());
                        passwordFreeLoginService.pwdFreeLoginByBoolean(systemId.toLowerCase(Locale.ROOT), request);
                        BladeUser user = AuthUtil.getUser();
                        if(Func.isEmpty(user)){
                            user=request.getAttribute("_BLADE_USER_REQUEST_ATTR_")==null?null:(BladeUser)request.getAttribute("_BLADE_USER_REQUEST_ATTR_");
                        }
                        finalUser = user;
                    } catch (Throwable e) {
                        throw new Throwable("用户鉴权失败.");
                    }
                    final BladeUser user = AuthUtil.getUser();
                    List<CodeClassify> codeClassifyList = codeClassifyService.selectByWrapper(Wrappers.<CodeClassify>query().lambda().in(CodeClassify::getId, btmName));
                    if (CollectionUtils.isEmpty(codeClassifyList)) {
                        throw new Throwable("分类未查询到");
@@ -320,14 +325,14 @@
                    List<CodeClassifyTemplateAttrVO> attrVOS = templateVO.getAttributes().stream().filter(s -> !DEFAULT_SYNC_ATTR_LIST.contains(s.getId()) &&
                        ((Func.isNotEmpty(s.getClassifyInvokeAttr()) || Func.isNotEmpty(s.getClassifyInvokeAttrName())) || VciBaseUtil.getBoolean(s.getFormDisplayFlag()))
                    ).collect(Collectors.toList());
                    List<SearchItemDataVO> dataList = searchItemVO.getData();
                    Map<String, SearchItemDataVO> dataVOMap = new HashMap<>();
                    List<SearchItemUpperCaseDataVO> dataList = searchItemVO.getData();
                    Map<String, SearchItemUpperCaseDataVO> dataVOMap = new HashMap<>();
                    List<String> itemCodeList = new ArrayList<>();
                    ApplyDatasVO allDatasVO = new ApplyDatasVO();
                    List<ApplyDataVO> allObjectList = new ArrayList<>();
                    if (!CollectionUtils.isEmpty(dataList)) {
                        dataList.stream().forEach(searchItemDataVO -> {
                            String itemCode = StringUtils.isNotBlank(searchItemDataVO.getProjectitem()) ? searchItemDataVO.getProjectitem() : searchItemDataVO.getMmodelcode();//项目代号
                            String itemCode = StringUtils.isNotBlank(searchItemDataVO.getPROJECTITEM()) ? searchItemDataVO.getPROJECTITEM() : searchItemDataVO.getMMODELCODE();//项目代号
                            dataVOMap.put(itemCode, searchItemDataVO);
                            itemCodeList.add(itemCode);
                        });
@@ -352,27 +357,32 @@
                        sb.append(" and codeclsfid = '" + codeClassify.getOid() + "' ");
                        sb.append(" and " + VciBaseUtil.toInSql(attrKey, itemCodeList.toArray(new String[]{})));
                        List<Map<String, String>> newDataList = commonsMapper.queryByOnlySqlForMap(sb.toString());
                        //List<BaseModel> baseModelList=new ArrayList<>();
                        Map<String, BaseModel> baseModelMap = new HashMap<>();
                        newDataList.stream().forEach(dataMap -> {
                            BaseModel baseModel = new BaseModel();
                            Map<String, String> newDateMap = new CaseInsensitiveMap<>(dataMap);
                            DefaultAttrAssimtUtil.copplyDefaultAttrAssimt(newDateMap, baseModel, true, user);
                            DefaultAttrAssimtUtil.updateDefaultAttrAssimt(baseModel, user);
                            //baseModelList.add(baseModel);
                            String attrKeyValue = newDateMap.getOrDefault(attrKey, "");
                            baseModelMap.put(attrKeyValue, baseModel);
                        });
                        if(!CollectionUtils.isEmpty(newDataList)) {
                            newDataList.stream().forEach(dataMap -> {
                                BaseModel baseModel = new BaseModel();
                                Map<String, String> newDateMap = new CaseInsensitiveMap<>(dataMap);
                                DefaultAttrAssimtUtil.copplyDefaultAttrAssimt(newDateMap, baseModel, true, finalUser);
                                DefaultAttrAssimtUtil.updateDefaultAttrAssimt(baseModel, finalUser);
                                //baseModelList.add(baseModel);
                                String attrKeyValue = newDateMap.getOrDefault(attrKey, "");
                                if (StringUtils.isBlank(attrKeyValue)) {
                                    log.info(baseModel.getId());
                                }
                                baseModelMap.put(attrKeyValue, baseModel);
                            });
                        }
                        List<ApplyDataVO> addObjectList = new ArrayList<>();
                        List<ApplyDataVO> editObjectList = new ArrayList<>();
                        dataVOMap.forEach((key, value) -> {
                            if (baseModelMap.containsKey(key)) {
                                BaseModel baseModel = baseModelMap.get(key);
                                changeObjectToMap(value, baseModel.getId(), user, "editstatus", editObjectList);
                                changeObjectToMap(value, baseModel.getId(), finalUser, "editstatus", editObjectList);
                            } else {
                                changeObjectToMap(value, "", user, "create", addObjectList);
                                changeObjectToMap(value, "", finalUser, "create", addObjectList);
                            }
                        });
                        allObjectList.addAll(addObjectList);
@@ -426,6 +436,8 @@
                        paramString = Func.isEmpty(paramObject) ? "" : paramObject.toString();
                        Object backObject = JSONObject.toJSON(allResultDataObjectDetailDOS);
                        backString = Func.isEmpty(backObject) ? "" : backObject.toString();
                    }else{
                        throw new Throwable("接口未返回信息");
                    }
                } catch (Throwable e) {
                    e.printStackTrace();
@@ -685,26 +697,26 @@
            throw new   Throwable("组织数据映射值失败");
        }
    }
 private void changeObjectToMap(SearchItemDataVO searchItemDataVO, String code, BladeUser user,String operation,List<ApplyDataVO> object){
 private void changeObjectToMap(SearchItemUpperCaseDataVO searchItemDataVO, String code, BladeUser user,String operation,List<ApplyDataVO> object){
     ApplyDataVO applyDataVO=new ApplyDataVO();
     List<ProppertyVO> propList=new ArrayList<>();
     //String status= searchItemDataVO.getStatus();//数据状态 å­—符型,枚举值;制单:0;审批中:1;通过:2;驳回:3;
     String mmodelCode=searchItemDataVO.getMmodelcode();//制造型号代号
     String mmodelCode=searchItemDataVO.getMMODELCODE();//制造型号代号
     initProperty("mmodelcode","",mmodelCode,propList);
     String projectCode= searchItemDataVO.getProjectcode();//项目编码
     String projectCode= searchItemDataVO.getPROJECTCODE();//项目编码
     initProperty("projectcode","",projectCode,propList);
     String projectItem=searchItemDataVO.getProjectitem();//项目代号
     String projectItem=searchItemDataVO.getPROJECTITEM();//项目代号
     initProperty("projectitem","",projectItem,propList);
     String materialCode=searchItemDataVO.getMaterialcode();//产品编码
     String materialCode=searchItemDataVO.getMATERIALCODE();//产品编码
     initProperty("materialcode","",materialCode,propList);
     //组合属性的处理
     initProperty(attrKey,"",StringUtils.isNotBlank(projectItem)?projectItem:mmodelCode,propList);
     String creatBy=searchItemDataVO.getCreatby();//创建者
     Date cretaeDon= searchItemDataVO.getCreatedon();//创建日期 æ—¥æœŸåž‹ï¼Œå¦‚:2023-09-08 19:24:11
     String lastchangeBy=searchItemDataVO.getLastchangedby();//更改者
     Date lastchangeDon=searchItemDataVO.getLastchangedon();//更改时间 æ—¥æœŸåž‹ï¼Œå¦‚:2023-09-08 19:24:11
     String isenabled=  searchItemDataVO.getIsenabled();//字符型,枚举值;停用:0;启用:1;
     String creatBy=searchItemDataVO.getCREATBY();//创建者
     Date cretaeDon= searchItemDataVO.getCREATEDON();//创建日期 æ—¥æœŸåž‹ï¼Œå¦‚:2023-09-08 19:24:11
     String lastchangeBy=searchItemDataVO.getLASTCHANGEDBY();//更改者
     Date lastchangeDon=searchItemDataVO.getLASTCHANGEDON();//更改时间 æ—¥æœŸåž‹ï¼Œå¦‚:2023-09-08 19:24:11
     String isenabled=  searchItemDataVO.getISENABLED();//字符型,枚举值;停用:0;启用:1;
     applyDataVO.setOperate(operation);
     applyDataVO.setCode(code);
     if(isenabled.equals("0")){
@@ -721,8 +733,8 @@
  private void initProperty(String key,String text,String value,List<ProppertyVO> propList){
    ProppertyVO vo=new ProppertyVO();
      vo.setKey(key);
      vo.setText(text);
      vo.setValue(value);
      vo.setText(StringUtils.isBlank(text)?"":text);
      vo.setValue(StringUtils.isBlank(value)?"":value);
      propList.add(vo);
  }
    /***
@@ -935,7 +947,7 @@
                List<NodeProDTO> nodeProDTOS = new ArrayList<>();
                Map<String, String> finalData = data;
                AtomicReference<String> newItemId= new AtomicReference<>("");
                attrIdNameMap.keySet().forEach(field -> {
                finalData.keySet().forEach(field -> {
                    if(field.toLowerCase(Locale.ROOT).equals(itemId.toLowerCase(Locale.ROOT))){
                        String Value = finalData.get(field);
                        newItemId.set(Value);
@@ -954,7 +966,7 @@
                DockingSystemConfig dockingSystemConfig = dockingSystemConfigService.getById(systeminfooid);
                boolean isGroupCodeFlage=false;
                if(dockingSystemConfig!=null) {
                    isGroupCodeFlage = StringUtils.isBlank(dockingSystemConfig.getIsGroupCodeFlag())?false: Boolean.getBoolean(dockingSystemConfig.getIsGroupCodeFlag());
                    isGroupCodeFlage = StringUtils.isBlank(dockingSystemConfig.getIsGroupCodeFlag())?false: Boolean.parseBoolean(dockingSystemConfig.getIsGroupCodeFlag());
                }
                if(isGroupCodeFlage){
                    code=data.getOrDefault("groupcode","");
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/PasswordFreeLoginServiceImpl.java
@@ -13,7 +13,6 @@
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.redis.cache.BladeRedis;
import org.springblade.core.secure.BladeUser;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.support.Kv;
import org.springblade.core.tool.utils.Func;
import org.springblade.core.tool.utils.ObjectUtil;
@@ -100,7 +99,7 @@
    @Override
    public boolean pwdFreeLoginByBoolean(String userName, ServletRequest servletRequest) throws AuthenticationException {
        //进来先判断缓存中是否存在token
        // è¯·æ±‚来自哪个ip地址
        // è¯·æ±‚来自己哪个ip地址
        HttpServletRequest request = (HttpServletRequest) servletRequest;
        String ipAddr = request.getRemoteAddr();
        // å…ˆå°è¯•从缓存当中取,存在就直接从缓存中获取
@@ -127,6 +126,7 @@
        }
        request.setAttribute("Blade-Auth",authToken);
        request.setAttribute("_BLADE_USER_REQUEST_ATTR_",user);
        request.setAttribute("Authorization",authToken);
        return true;
    }