Pu Zhibing
2025-02-25 91ebbdc5ef67699d166498f6cf5fcc21058817dd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
package com.panzhihua.sangeshenbian.service.impl;
 
import com.panzhihua.common.model.vos.LoginUserInfoVO;
import com.panzhihua.sangeshenbian.model.entity.ComplaintAuditRecord;
import com.panzhihua.sangeshenbian.dao.ComplaintAuditRecordMapper;
import com.panzhihua.sangeshenbian.model.entity.SystemUser;
import com.panzhihua.sangeshenbian.service.IComplaintAuditRecordService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
 
import java.util.Date;
import java.util.Objects;
 
/**
 * <p>
 * 诉求上报、延期申请审核表 服务实现类
 * </p>
 *
 * @author
 * @since 2025-02-23
 */
@Service
public class ComplaintAuditRecordServiceImpl extends ServiceImpl<ComplaintAuditRecordMapper, ComplaintAuditRecord> implements IComplaintAuditRecordService {
 
    @Override
    public void createComplaintAuditRecord(Long complaintId, Integer auditType, String comment, LoginUserInfoVO loginUserInfoVO, SystemUser adminUser) {
        ComplaintAuditRecord auditRecord = new ComplaintAuditRecord();
        auditRecord.setComplaintId(complaintId);
        auditRecord.setLatestFlag(true);
        auditRecord.setAuditType(auditType);
        auditRecord.setAuditStatus(0);
        auditRecord.setComment(comment);
        auditRecord.setCreateBy(loginUserInfoVO.getUserId());
        auditRecord.setCreateTime(new Date());
        auditRecord.setUpdateBy(loginUserInfoVO.getUserId());
        auditRecord.setUpdateTime(new Date());
 
        String departmentName = "";
        String reporter = loginUserInfoVO.getNickName();
 
        if (Objects.nonNull(adminUser) && adminUser.getIsAdmin().equals(1)){
            switch (adminUser.getAccountLevel()) {
                case 1:
                    departmentName = "攀枝花市";//默认市级
                    break;
                case 2:
                    departmentName = adminUser.getDistricts();
                    break;
                case 3:
                    departmentName = adminUser.getStreet();
                    break;
                case 4:
                    departmentName = adminUser.getCommunity();
                    break;
            }
            auditRecord.setDepartmentName(departmentName);
            reporter = adminUser.getName();
        }
        auditRecord.setReporter(reporter);
        save(auditRecord);
    }
 
    @Override
    public void audit(ComplaintAuditRecord complaintAuditRecord, Long userId, Integer auditResult, String rejectReason) {
        complaintAuditRecord.setAuditStatus(auditResult);
        complaintAuditRecord.setRejectReason(rejectReason);
        complaintAuditRecord.setAuditorId(userId);
        complaintAuditRecord.setUpdateBy(userId);
        complaintAuditRecord.setUpdateTime(new Date());
        updateById(complaintAuditRecord);
    }
}