260720
This commit is contained in:
@@ -0,0 +1,120 @@
|
||||
package com.gxwebsoft.gxmu.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.gxwebsoft.gxmu.entity.ReviewFlow;
|
||||
import com.gxwebsoft.gxmu.mapper.ReviewFlowConfigMapper;
|
||||
import com.gxwebsoft.gxmu.service.ReviewFlowService;
|
||||
import com.gxwebsoft.gxmu.service.ReviewFlowConfigService;
|
||||
import com.gxwebsoft.gxmu.entity.ReviewFlowConfig;
|
||||
import com.gxwebsoft.gxmu.param.ReviewFlowConfigParam;
|
||||
import com.gxwebsoft.common.system.entity.Organization;
|
||||
import com.gxwebsoft.common.system.service.OrganizationService;
|
||||
import com.gxwebsoft.common.core.web.PageParam;
|
||||
import com.gxwebsoft.common.core.web.PageResult;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* Service实现
|
||||
*
|
||||
* @author LX
|
||||
* @since 2026-03-18 10:37:18
|
||||
*/
|
||||
@Service
|
||||
public class ReviewFlowConfigServiceImpl extends ServiceImpl<ReviewFlowConfigMapper, ReviewFlowConfig> implements ReviewFlowConfigService {
|
||||
private static final Map<String, String> MODULE_NAME_MAP;
|
||||
|
||||
static {
|
||||
Map<String, String> moduleNameMap = new LinkedHashMap<>();
|
||||
moduleNameMap.put("cms_manuscript", "稿件");
|
||||
moduleNameMap.put("gxmu_sjqn", "十佳青年岗位能手");
|
||||
moduleNameMap.put("gxmu_sjtbzbsj", "十佳团支部书记");
|
||||
moduleNameMap.put("gxmu_wshqtw", "五四红旗团委");
|
||||
moduleNameMap.put("gxmu_wshqtzb", "五四红旗团支部");
|
||||
moduleNameMap.put("gxmu_yxgqtdgb", "优秀共青团干部");
|
||||
moduleNameMap.put("gxmu_yxgqty", "优秀共青团员");
|
||||
moduleNameMap.put("gxmu_tzbcy_form", "挑战杯");
|
||||
moduleNameMap.put("gxmu_qmgc_form", "青马工程");
|
||||
moduleNameMap.put("gxmu_wxxzx_project", "未来学术之星");
|
||||
MODULE_NAME_MAP = Collections.unmodifiableMap(moduleNameMap);
|
||||
}
|
||||
|
||||
@Resource
|
||||
private ReviewFlowService reviewFlowService;
|
||||
@Resource
|
||||
private OrganizationService organizationService;
|
||||
|
||||
@Override
|
||||
public PageResult<ReviewFlowConfig> pageRel(ReviewFlowConfigParam param) {
|
||||
PageParam<ReviewFlowConfig, ReviewFlowConfigParam> page = new PageParam<>(param);
|
||||
page.setDefaultOrder("create_time desc");
|
||||
List<ReviewFlowConfig> list = baseMapper.selectPageRel(page, param);
|
||||
fillReviewFlowConfigNames(list);
|
||||
return new PageResult<>(list, page.getTotal());
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ReviewFlowConfig> listRel(ReviewFlowConfigParam param) {
|
||||
List<ReviewFlowConfig> list = baseMapper.selectListRel(param);
|
||||
fillReviewFlowConfigNames(list);
|
||||
// 排序
|
||||
PageParam<ReviewFlowConfig, ReviewFlowConfigParam> page = new PageParam<>();
|
||||
page.setDefaultOrder("create_time desc");
|
||||
return page.sortRecords(list);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ReviewFlowConfig getByIdRel(Integer id) {
|
||||
ReviewFlowConfigParam param = new ReviewFlowConfigParam();
|
||||
param.setId(id);
|
||||
return param.getOne(baseMapper.selectListRel(param));
|
||||
}
|
||||
|
||||
@Override
|
||||
public ReviewFlowConfig getByModule(String module) {
|
||||
return getOne(
|
||||
new LambdaQueryWrapper<ReviewFlowConfig>()
|
||||
.eq(ReviewFlowConfig::getModule, module)
|
||||
.last("limit 1")
|
||||
);
|
||||
}
|
||||
|
||||
private void fillReviewFlowConfigNames(List<ReviewFlowConfig> list) {
|
||||
if (list == null || list.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
Set<Integer> organizationIds = list.stream()
|
||||
.map(ReviewFlowConfig::getOrganizationId)
|
||||
.filter(organizationId -> organizationId != null)
|
||||
.collect(Collectors.toSet());
|
||||
Map<Integer, String> organizationNameMap = new HashMap<>();
|
||||
if (!organizationIds.isEmpty()) {
|
||||
organizationNameMap = organizationService.listByIds(organizationIds).stream()
|
||||
.collect(Collectors.toMap(Organization::getOrganizationId, Organization::getOrganizationName, (left, right) -> left));
|
||||
}
|
||||
Set<Integer> flowIds = list.stream()
|
||||
.map(ReviewFlowConfig::getFlowId)
|
||||
.filter(flowId -> flowId != null)
|
||||
.collect(Collectors.toSet());
|
||||
Map<Integer, String> flowNameMap = new HashMap<>();
|
||||
if (!flowIds.isEmpty()) {
|
||||
flowNameMap = reviewFlowService.listByIds(flowIds).stream()
|
||||
.collect(Collectors.toMap(ReviewFlow::getId, ReviewFlow::getTitle, (left, right) -> left));
|
||||
}
|
||||
for (ReviewFlowConfig item : list) {
|
||||
item.setFlowName(flowNameMap.get(item.getFlowId()));
|
||||
item.setModuleName(MODULE_NAME_MAP.get(item.getModule()));
|
||||
item.setOrganizationName(organizationNameMap.get(item.getOrganizationId()));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user