package com.vci.web.service.impl;
|
|
import com.vci.corba.framework.data.UserConfig;
|
import com.vci.dto.BdHomeConfigDTO;
|
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.web.service.HomeConfigServiceI;
|
import com.vci.web.util.PlatformClientUtil;
|
import com.vci.web.util.WebUtil;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
import org.springframework.util.CollectionUtils;
|
|
import java.util.ArrayList;
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
/**
|
* @Description 首页配置服务
|
* @Author dangsn
|
* @Date 2024/12/24 15:46
|
*/
|
@Service
|
public class HomeConfigServiceImpl implements HomeConfigServiceI {
|
|
/**
|
* 平台调用客户端
|
*/
|
@Autowired
|
private PlatformClientUtil platformClientUtil;
|
|
/**
|
* 新增首页配置
|
*
|
* @param homeConfigDTO 首页配置传输对象
|
*/
|
@Override
|
public void addData(BdHomeConfigDTO homeConfigDTO) {
|
SessionInfo sessionInfo = WebUtil.getCurrentUserSessionInfo();
|
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);
|
}
|
}
|
|
/**
|
* 修改首页配置
|
*
|
* @param homeConfigDTO 首页配置传输对象
|
*/
|
@Override
|
public void editData(BdHomeConfigDTO homeConfigDTO) {
|
WebUtil.alertNotNull(homeConfigDTO.getOid(), "数据主键");
|
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);
|
}
|
}
|
|
/**
|
* 删除首页配置
|
*
|
* @param homeConfigDTO 首页配置传输对象
|
*/
|
@Override
|
public void delData(BdHomeConfigDTO homeConfigDTO) {
|
WebUtil.alertNotNull(homeConfigDTO.getOid(), "数据主键");
|
List<String> oidList = WebUtil.str2List(homeConfigDTO.getOid());
|
if(!CollectionUtils.isEmpty(oidList)){
|
try {
|
platformClientUtil.getFrameworkService().batchDeleteUserConfigByOids(oidList.toArray(new String[0]));
|
} catch (Exception e) {
|
throw new RuntimeException(e);
|
}
|
}
|
}
|
|
/**
|
* 根据OID获取首页配置
|
*
|
* @param oid 首页配置OID
|
* @return 首页配置
|
*/
|
@Override
|
public BdHomeConfigVO getDataByOid(String oid) {
|
WebUtil.alertNotNull(oid, "数据主键");
|
try {
|
UserConfig userConfig = platformClientUtil.getFrameworkService().getUserConfigByOid(oid);
|
return DO2VO(userConfig);
|
} catch (Exception e) {
|
throw new RuntimeException(e);
|
}
|
}
|
|
private List<BdHomeConfigVO> DOS2VOS(UserConfig[] userConfigArray){
|
List<BdHomeConfigVO> voList = new ArrayList<>();
|
if(userConfigArray != null && userConfigArray.length>0){
|
for(UserConfig userConfig : userConfigArray){
|
voList.add(DO2VO(userConfig));
|
}
|
}
|
return voList;
|
}
|
|
private BdHomeConfigVO DO2VO(UserConfig userConfig){
|
return WebUtil.jsonString2JavaBean(userConfig.content, BdHomeConfigVO.class);
|
}
|
|
/**
|
* 分页获取首页配置
|
*
|
* @param baseQueryObject 查询对象
|
* @return 首页配置
|
*/
|
@Override
|
public DataGrid<BdHomeConfigVO> gridData(BaseQueryObject baseQueryObject) {
|
Map<String, String> conditionMap = baseQueryObject.getConditionMap();
|
PageHelper pageHelper = baseQueryObject.getPageHelper();
|
if(conditionMap == null){
|
conditionMap = new HashMap<>();
|
}
|
if(pageHelper == null){
|
pageHelper = new PageHelper();
|
}
|
|
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(voList);
|
dataGrid.setTotal(count);
|
|
return dataGrid;
|
}
|
|
/**
|
* 获取所有首页配置
|
*
|
* @return 首页配置
|
*/
|
@Override
|
public List<BdHomeConfigVO> getAllData() {
|
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);
|
}
|
}
|
}
|