|
|
|
|
@ -1,15 +1,20 @@
|
|
|
|
|
package com.biutag.lan.service; |
|
|
|
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|
|
|
|
import com.biutag.core.AjaxResult; |
|
|
|
|
import com.biutag.entity.system.Dept; |
|
|
|
|
import com.biutag.lan.config.AdminThreadLocal; |
|
|
|
|
import com.biutag.lan.domain.Mail; |
|
|
|
|
import com.biutag.lan.domain.MailAppeal; |
|
|
|
|
import com.biutag.lan.mapper.MailAppealMapper; |
|
|
|
|
import com.biutag.lan.mapper.MailMapper; |
|
|
|
|
import com.biutag.mapper.system.DeptMapper; |
|
|
|
|
import com.biutag.util.StringUtils; |
|
|
|
|
import jakarta.annotation.Resource; |
|
|
|
|
import lombok.RequiredArgsConstructor; |
|
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
|
import org.springframework.web.bind.annotation.RequestParam; |
|
|
|
|
|
|
|
|
|
@RequiredArgsConstructor |
|
|
|
|
@Service |
|
|
|
|
@ -20,6 +25,9 @@ public class MailAppealService {
|
|
|
|
|
@Resource |
|
|
|
|
private final DeptMapper deptMapper; |
|
|
|
|
|
|
|
|
|
@Resource |
|
|
|
|
private final MailMapper mailMapper; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 发起申请 |
|
|
|
|
* |
|
|
|
|
@ -28,9 +36,13 @@ public class MailAppealService {
|
|
|
|
|
*/ |
|
|
|
|
public AjaxResult<Void> launchAppeal(MailAppeal appeal) { |
|
|
|
|
long count = mailAppealMapper.selectCount(new LambdaQueryWrapper<MailAppeal>().eq(MailAppeal::getMailId, appeal.getMailId())); |
|
|
|
|
if (count > 0) { |
|
|
|
|
String appealState = mailAppealMapper.selectOne(new QueryWrapper<MailAppeal>().eq("mail_id", appeal.getMailId())).getAppealState(); |
|
|
|
|
if (count > 0 && !("3".equals(appealState))) { |
|
|
|
|
return AjaxResult.failed("此邮件您已发起过申诉,请勿重复申诉"); |
|
|
|
|
} else { |
|
|
|
|
if (StringUtils.isNotEmpty(appealState)) { |
|
|
|
|
mailAppealMapper.delete(new QueryWrapper<MailAppeal>().eq("mail_id", appeal.getMailId())); |
|
|
|
|
} |
|
|
|
|
appeal.setHandlingDept(AdminThreadLocal.getDeptId()) |
|
|
|
|
.setAppealState("1") |
|
|
|
|
.setThreeDept(AdminThreadLocal.getDeptId()); |
|
|
|
|
@ -47,7 +59,7 @@ public class MailAppealService {
|
|
|
|
|
* @return |
|
|
|
|
*/ |
|
|
|
|
public AjaxResult<MailAppeal> getAppeal(String id) { |
|
|
|
|
return AjaxResult.success(mailAppealMapper.selectById(id)); |
|
|
|
|
return AjaxResult.success(mailAppealMapper.selectOne(new QueryWrapper<MailAppeal>().eq("mail_id", id))); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
@ -58,7 +70,7 @@ public class MailAppealService {
|
|
|
|
|
* @return |
|
|
|
|
*/ |
|
|
|
|
public AjaxResult<Void> overruleAppeal(String id, String overruleReason) { |
|
|
|
|
MailAppeal appeal = mailAppealMapper.selectById(id); |
|
|
|
|
MailAppeal appeal = mailAppealMapper.selectOne(new QueryWrapper<MailAppeal>().eq("mail_id", id)); |
|
|
|
|
Integer deptId = AdminThreadLocal.getDeptId(); |
|
|
|
|
Dept dept = deptMapper.selectById(deptId); |
|
|
|
|
switch (dept.getLevel()) { |
|
|
|
|
@ -84,13 +96,16 @@ public class MailAppealService {
|
|
|
|
|
* @return |
|
|
|
|
*/ |
|
|
|
|
public AjaxResult<Void> approved(String id) { |
|
|
|
|
MailAppeal appeal = mailAppealMapper.selectById(id); |
|
|
|
|
MailAppeal appeal = mailAppealMapper.selectOne(new QueryWrapper<MailAppeal>().eq("mail_id", id)); |
|
|
|
|
Mail mail = mailMapper.selectById(appeal.getMailId()); |
|
|
|
|
Integer deptId = AdminThreadLocal.getDeptId(); |
|
|
|
|
Dept dept = deptMapper.selectById(deptId); |
|
|
|
|
appeal.setHandlingDept(deptId); |
|
|
|
|
switch (dept.getLevel()) { |
|
|
|
|
case 1: |
|
|
|
|
appeal.setStep("3").setAppealState("2"); |
|
|
|
|
mail.setVerifyFeedback("基本满意").setSatisfactionStatus("基本满意"); |
|
|
|
|
mailMapper.updateById(mail); |
|
|
|
|
break; |
|
|
|
|
case 2: |
|
|
|
|
appeal.setSecondDept(deptId).setStep("2"); |
|
|
|
|
|