|
|
@@ -0,0 +1,72 @@
|
|
|
+package com.xunmei.core.reminder.service.impl;
|
|
|
+
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.IdWorker;
|
|
|
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.xunmei.common.core.constant.SecurityConstants;
|
|
|
+import com.xunmei.common.core.domain.reminder.domain.CoreReminderConfiguration;
|
|
|
+import com.xunmei.common.core.domain.reminder.domain.CoreReminderConfigurationRole;
|
|
|
+import com.xunmei.common.core.domain.reminder.dto.ReminderConfigEditDto;
|
|
|
+import com.xunmei.common.core.vo.IdNameVo;
|
|
|
+import com.xunmei.core.reminder.mapper.CoreReminderConfigurationMapper;
|
|
|
+import com.xunmei.core.reminder.mapper.CoreReminderConfigurationRoleMapper;
|
|
|
+import com.xunmei.core.reminder.service.ICoreReminderConfigurationService;
|
|
|
+import com.xunmei.system.api.Eto.RoleConditionEto;
|
|
|
+import com.xunmei.system.api.RemoteOrgService;
|
|
|
+import com.xunmei.system.api.RemoteRoleService;
|
|
|
+import com.xunmei.system.api.domain.SysOrg;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+/**
|
|
|
+ * <p>
|
|
|
+ * 服务实现类
|
|
|
+ * </p>
|
|
|
+ *
|
|
|
+ * @author jingYuanChao
|
|
|
+ * @since 2024-04-12
|
|
|
+ */
|
|
|
+@Service
|
|
|
+public class CoreReminderConfigurationServiceImpl extends ServiceImpl<CoreReminderConfigurationMapper, CoreReminderConfiguration> implements ICoreReminderConfigurationService {
|
|
|
+ @Autowired
|
|
|
+ private RemoteOrgService orgService;
|
|
|
+ @Autowired
|
|
|
+ private RemoteRoleService roleService;
|
|
|
+ @Autowired
|
|
|
+ private CoreReminderConfigurationRoleMapper configurationRoleMapper;
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void editConfig(ReminderConfigEditDto editDto) {
|
|
|
+ SysOrg sysOrg = orgService.selectOrgById(editDto.getOrgId(), SecurityConstants.INNER);
|
|
|
+ List<IdNameVo> names = roleService.getNames(new RoleConditionEto(editDto.getRoleIdList()));
|
|
|
+ if (editDto.getConfigId() == null) {
|
|
|
+ CoreReminderConfiguration config = new CoreReminderConfiguration();
|
|
|
+ //生成config所有字段的set方法
|
|
|
+ config.setConfigId(IdWorker.getId());
|
|
|
+ config.setReminderType(editDto.getReminderType());
|
|
|
+ config.setSendModule(editDto.getSendModule());
|
|
|
+ config.setOrgId(editDto.getOrgId());
|
|
|
+ config.setOrgName(sysOrg.getName());
|
|
|
+ config.setOrgPath(sysOrg.getPath());
|
|
|
+ config.setOrgType(sysOrg.getType());
|
|
|
+ if (editDto.getReminderType() == 0) {
|
|
|
+ config.setOverdueNoticePeriod(editDto.getDay());
|
|
|
+ } else {
|
|
|
+ config.setAdvanceNoticePeriod(editDto.getDay());
|
|
|
+ }
|
|
|
+ config.setEnabled(editDto.getEnabled());
|
|
|
+ save(config);
|
|
|
+ for (Long roleId : editDto.getRoleIdList()) {
|
|
|
+ CoreReminderConfigurationRole configurationRole = new CoreReminderConfigurationRole();
|
|
|
+ configurationRole.setTargetRoleId(roleId);
|
|
|
+ names.stream().filter(idNameVo -> idNameVo.getId().equals(roleId)).findAny().ifPresent(idNameVo -> {
|
|
|
+ configurationRole.setTargetRoleName(idNameVo.getName());
|
|
|
+ });
|
|
|
+ configurationRole.setConfigId(config.getConfigId());
|
|
|
+ configurationRoleMapper.insert(configurationRole);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+}
|