123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- package com.qunzhixinxi.hnqz.admin;
- import cn.hutool.core.bean.BeanUtil;
- import cn.hutool.core.collection.CollUtil;
- import cn.hutool.core.util.ArrayUtil;
- import cn.hutool.json.JSONUtil;
- import com.baomidou.mybatisplus.core.toolkit.Wrappers;
- import com.qunzhixinxi.hnqz.admin.api.constant.UpmsType;
- import com.qunzhixinxi.hnqz.admin.api.entity.SysDept;
- import com.qunzhixinxi.hnqz.admin.api.entity.WmTaskSubmissionPercentRule;
- import com.qunzhixinxi.hnqz.admin.service.SysDeptService;
- import com.qunzhixinxi.hnqz.admin.service.WmTaskSubmissionPercentRuleService;
- import com.qunzhixinxi.hnqz.common.core.constant.enums.CommonFlag;
- import lombok.extern.slf4j.Slf4j;
- import org.junit.Test;
- import org.junit.runner.RunWith;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.boot.test.context.SpringBootTest;
- import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
- import javax.validation.constraints.NotEmpty;
- import java.time.LocalDateTime;
- import java.util.Comparator;
- import java.util.HashSet;
- import java.util.List;
- import java.util.Set;
- import java.util.stream.Collectors;
- import java.util.stream.Stream;
- import static java.util.Collections.addAll;
- /**
- * @author snows
- * @date 2023/7/18 17:00
- */
- @Slf4j
- @RunWith(SpringJUnit4ClassRunner.class)
- @SpringBootTest(classes = {HnqzAdminApplication.class, Test.class})
- public class WmTaskSubmissionRuleServiceTest {
- @Autowired
- private WmTaskSubmissionPercentRuleService taskSubmissionPercentRuleService;
- @Autowired
- private SysDeptService deptService;
- // @Test
- public void initTaskTypeConfig() {
- // 查询所有企业
- List<SysDept> depts = deptService.list();
- // 查询平台企业的规则
- List<WmTaskSubmissionPercentRule> baseRules = taskSubmissionPercentRuleService.list(Wrappers.<WmTaskSubmissionPercentRule>lambdaQuery()
- .eq(WmTaskSubmissionPercentRule::getDeptId, 1)
- .eq(WmTaskSubmissionPercentRule::getSubCategory, UpmsType.TaskSubCategory2.TASK_TYPE_CONFIG));
- WmTaskSubmissionPercentRule.PercentRule rule = baseRules.get(0).getRule();
- depts.forEach(sysDept -> {
- // 查询待修改企业的规则
- List<WmTaskSubmissionPercentRule> queryRules = taskSubmissionPercentRuleService.list(Wrappers.<WmTaskSubmissionPercentRule>lambdaQuery()
- .eq(WmTaskSubmissionPercentRule::getDeptId, sysDept.getDeptId())
- .eq(WmTaskSubmissionPercentRule::getSubCategory, UpmsType.TaskSubCategory2.TASK_TYPE_CONFIG));
- if (CollUtil.isEmpty(queryRules)) {
- log.info("初始化deptId={}", sysDept.getDeptId());
- WmTaskSubmissionPercentRule percentRule = new WmTaskSubmissionPercentRule();
- percentRule.setDeptId(sysDept.getDeptId());
- percentRule.setRule(rule);
- percentRule.setSubCategory(UpmsType.TaskSubCategory2.TASK_TYPE_CONFIG);
- percentRule.setOptFlag(CommonFlag.OptFlag.OK);
- taskSubmissionPercentRuleService.save(percentRule);
- }
- });
- }
- /**
- * 增量更新企业的任务类型配置数据
- */
- // @Test
- public void initNewTaskTypeConfig() {
- // 平台新增的任务类型
- Set<String> taskTypeIds = new HashSet<>();
- taskTypeIds.add("51");
- taskTypeIds.add("52");
- taskTypeIds.add("53");
- taskTypeIds.add("54");
- taskTypeIds.add("55");
- taskTypeIds.add("56");
- taskTypeIds.add("57");
- // 查询待修改企业的规则
- List<WmTaskSubmissionPercentRule> queryRules = taskSubmissionPercentRuleService.list(Wrappers.<WmTaskSubmissionPercentRule>lambdaQuery()
- .eq(WmTaskSubmissionPercentRule::getSubCategory, UpmsType.TaskSubCategory2.TASK_TYPE_CONFIG));
- if (CollUtil.isNotEmpty(queryRules)) {
- queryRules.forEach(percentRule -> {
- log.info("初始化deptId={}", percentRule.getDeptId());
- String[] oldTaskTypeIds = percentRule.getRule().getTaskTypeIds();
- WmTaskSubmissionPercentRule updateRule = new WmTaskSubmissionPercentRule();
- updateRule.setRuleId(percentRule.getRuleId());
- Set<String> newTaskTypeIdSet = Stream.of(oldTaskTypeIds).collect(Collectors.toSet());
- newTaskTypeIdSet.addAll(taskTypeIds);
- WmTaskSubmissionPercentRule.PercentRule updatePercentRule = BeanUtil.copyProperties(percentRule.getRule(), WmTaskSubmissionPercentRule.PercentRule.class);
- updatePercentRule.setTaskTypeIds(newTaskTypeIdSet.stream().sorted(Comparator.comparingInt(Integer::parseInt)).toArray(String[]::new));
- updateRule.setRule(updatePercentRule);
- updateRule.setUpdateTime(LocalDateTime.now());
- taskSubmissionPercentRuleService.updateById(updateRule);
- });
- }
- }
- }
|