dangsn
2024-12-27 70b8927e25362c95cd30d1830e9a7fb477709fd2
Source/plt-web/plt-web-parent/plt-web-permission/src/main/java/com/vci/web/service/impl/HomeConfigServiceImpl.java
@@ -1,24 +1,24 @@
package com.vci.web.service.impl;
import com.vci.corba.framework.data.UserConfig;
import com.vci.dto.BdHomeConfigDTO;
import com.vci.model.BdHomeConfigDO;
import com.vci.enumpck.UserConfigTypeEnum;
import com.vci.pagemodel.BdHomeConfigVO;
import com.vci.starter.web.pagemodel.BaseQueryObject;
import com.vci.starter.web.pagemodel.DataGrid;
import com.vci.starter.web.pagemodel.PageHelper;
import com.vci.starter.web.pagemodel.SessionInfo;
import com.vci.starter.web.util.BeanUtilForVCI;
import com.vci.starter.web.wrapper.VciQueryWrapperForDO;
import com.vci.web.dao.HomeConfigDaoI;
import com.vci.web.service.HomeConfigServiceI;
import com.vci.web.util.PlatformClientUtil;
import com.vci.web.util.WebUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
import java.util.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
 * @Description 首页配置服务
@@ -29,15 +29,10 @@
public class HomeConfigServiceImpl implements HomeConfigServiceI {
    /**
     * 日志
     * 平台调用客户端
     */
    private Logger logger = LoggerFactory.getLogger(getClass());
    /**
     * 首页配置数据服务
     */
    @Resource
    private HomeConfigDaoI homeConfigDaoI;
    @Autowired
    private PlatformClientUtil platformClientUtil;
    /**
     * 新增首页配置
@@ -46,13 +41,21 @@
     */
    @Override
    public void addData(BdHomeConfigDTO homeConfigDTO) {
        BdHomeConfigDO homeConfigDO = new BdHomeConfigDO();
        BeanUtilForVCI.copyPropertiesIgnoreCase(homeConfigDTO, homeConfigDO);
        homeConfigDO.setOid(WebUtil.getPk());
        SessionInfo sessionInfo = WebUtil.getCurrentUserSessionInfo();
        homeConfigDO.setUserId(sessionInfo.getUserId());
        homeConfigDO.setUserName(sessionInfo.getUserName());
        homeConfigDaoI.insert(homeConfigDO);
        String oid = WebUtil.getPk();
        homeConfigDTO.setOid(oid);
        UserConfig userConfig = new UserConfig();
        userConfig.oid = homeConfigDTO.getOid();
        userConfig.name = homeConfigDTO.getName();
        userConfig.type = UserConfigTypeEnum.HOME.getValue();
        userConfig.content = WebUtil.getJSONStringWithDateFormat(homeConfigDTO);
        userConfig.userId = sessionInfo.getUserId();
        userConfig.userName = sessionInfo.getUserName();
        try {
            platformClientUtil.getFrameworkService().saveUserConfig(userConfig);
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }
    /**
@@ -63,14 +66,19 @@
    @Override
    public void editData(BdHomeConfigDTO homeConfigDTO) {
        WebUtil.alertNotNull(homeConfigDTO.getOid(), "数据主键");
        BdHomeConfigDO homeConfigDO = homeConfigDaoI.selectByPrimaryKey(homeConfigDTO.getOid());
        homeConfigDO.setModule(homeConfigDTO.getModule());
        homeConfigDO.setIcon(homeConfigDTO.getIcon());
        homeConfigDO.setTitle(homeConfigDTO.getTitle());
        homeConfigDO.setNum(homeConfigDTO.getNum());
        homeConfigDO.setRatio(homeConfigDTO.getRatio());
        homeConfigDO.setOrderNum(homeConfigDTO.getOrderNum());
        homeConfigDaoI.update(homeConfigDO);
        SessionInfo sessionInfo = WebUtil.getCurrentUserSessionInfo();
        UserConfig userConfig = new UserConfig();
        userConfig.oid = homeConfigDTO.getOid();
        userConfig.name = homeConfigDTO.getName();
        userConfig.type = UserConfigTypeEnum.HOME.getValue();
        userConfig.content = WebUtil.getJSONStringWithDateFormat(homeConfigDTO);
        userConfig.userId = sessionInfo.getUserId();
        userConfig.userName = sessionInfo.getUserName();
        try {
            platformClientUtil.getFrameworkService().saveUserConfig(userConfig);
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }
    /**
@@ -82,7 +90,13 @@
    public void delData(BdHomeConfigDTO homeConfigDTO) {
        WebUtil.alertNotNull(homeConfigDTO.getOid(), "数据主键");
        List<String> oidList = WebUtil.str2List(homeConfigDTO.getOid());
        homeConfigDaoI.deleteByPrimaryKeys(oidList);
        if(!CollectionUtils.isEmpty(oidList)){
            try {
                platformClientUtil.getFrameworkService().batchDeleteUserConfigByOids(oidList.toArray(new String[0]));
            } catch (Exception e) {
                throw new RuntimeException(e);
            }
        }
    }
    /**
@@ -94,26 +108,26 @@
    @Override
    public BdHomeConfigVO getDataByOid(String oid) {
        WebUtil.alertNotNull(oid, "数据主键");
        BdHomeConfigDO homeConfigDO = homeConfigDaoI.selectByPrimaryKey(oid);
        return null;
        try {
            UserConfig userConfig = platformClientUtil.getFrameworkService().getUserConfigByOid(oid);
            return DO2VO(userConfig);
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }
    private List<BdHomeConfigVO> DOS2VOS(Collection<BdHomeConfigDO> doCollection){
    private List<BdHomeConfigVO> DOS2VOS(UserConfig[] userConfigArray){
        List<BdHomeConfigVO> voList = new ArrayList<>();
        if(!CollectionUtils.isEmpty(doCollection)){
            doCollection.forEach(DO->{
                voList.add(DO2VO(DO));
            });
        if(userConfigArray != null && userConfigArray.length>0){
            for(UserConfig userConfig : userConfigArray){
                voList.add(DO2VO(userConfig));
            }
        }
        return voList;
    }
    private BdHomeConfigVO DO2VO(BdHomeConfigDO DO){
        BdHomeConfigVO vo = new BdHomeConfigVO();
        BeanUtilForVCI.copyPropertiesIgnoreCase(DO, vo);
        return vo;
    private BdHomeConfigVO DO2VO(UserConfig userConfig){
        return WebUtil.jsonString2JavaBean(userConfig.content, BdHomeConfigVO.class);
    }
    /**
@@ -132,16 +146,30 @@
        if(pageHelper == null){
            pageHelper = new PageHelper();
        }
        VciQueryWrapperForDO wrapper = new VciQueryWrapperForDO(conditionMap, BdHomeConfigDO.class, pageHelper);
        List<BdHomeConfigDO> doList = homeConfigDaoI.selectByWrapper(wrapper);
        SessionInfo sessionInfo = WebUtil.getCurrentUserSessionInfo();
        UserConfig userConfig = new UserConfig();
        userConfig.userId = sessionInfo.getUserId();
        userConfig.userName = sessionInfo.getUserName();
        userConfig.name = conditionMap.getOrDefault("name", "");
        userConfig.type = UserConfigTypeEnum.HOME.getValue();
        long count;
        List<BdHomeConfigVO> voList = new ArrayList<>();
        try {
            UserConfig[] userConfigArray = platformClientUtil.getFrameworkService().getPageUserConfig(userConfig, pageHelper.getPage(), pageHelper.getLimit());
            voList.addAll(DOS2VOS(userConfigArray));
            count = platformClientUtil.getFrameworkService().getCountUserConfig(userConfig);
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
        DataGrid<BdHomeConfigVO> dataGrid = new DataGrid<>();
        dataGrid.setPage(pageHelper.getPage());
        dataGrid.setLimit(pageHelper.getLimit());
        dataGrid.setData(DOS2VOS(doList));
        wrapper.clearPage();
        dataGrid.setTotal(homeConfigDaoI.countByWrapper(wrapper));
        dataGrid.setData(voList);
        dataGrid.setTotal(count);
        return dataGrid;
    }
@@ -153,8 +181,15 @@
     */
    @Override
    public List<BdHomeConfigVO> getAllData() {
        VciQueryWrapperForDO wrapper = new VciQueryWrapperForDO(BdHomeConfigDO.class);
        List<BdHomeConfigDO> doList = homeConfigDaoI.selectByWrapper(wrapper);
        return DOS2VOS(doList);
        SessionInfo sessionInfo = WebUtil.getCurrentUserSessionInfo();
        UserConfig userConfig = new UserConfig();
        userConfig.userId = sessionInfo.getUserId();
        userConfig.userName = sessionInfo.getUserName();
        try {
            UserConfig[] userConfigArray = platformClientUtil.getFrameworkService().getUserConfig(userConfig);
            return DOS2VOS(userConfigArray);
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }
}