mitao
2025-01-17 afa0dbb4f54e7244835dd67ec33c3e545f122f71
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
package com.ruoyi.system.service.impl.config;
 
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.core.exception.ServiceException;
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.system.api.constant.AppErrorConstant;
import com.ruoyi.system.domain.dto.AppAgreementDto;
import com.ruoyi.system.domain.dto.MgtAgreementEditDto;
import com.ruoyi.system.domain.pojo.config.Agreement;
import com.ruoyi.system.domain.vo.AppAgreementVo;
import com.ruoyi.system.mapper.config.AgreementMapper;
import com.ruoyi.system.service.config.AgreementService;
import org.springframework.stereotype.Service;
 
import javax.annotation.Resource;
import java.nio.charset.StandardCharsets;
import java.util.Base64;
import java.util.Date;
 
/**
 * <p>
 * 协议 服务实现类
 * </p>
 *
 * @author jqs
 * @since 2023-04-25
 */
@Service
public class AgreementServiceImpl extends ServiceImpl<AgreementMapper, Agreement> implements AgreementService {
 
    @Resource
    private AgreementMapper agreementMapper;
 
 
 
    /**
     * 获取各种协议
     * @param appAgreementDto
     * @return
     */
    @Override
    public AppAgreementVo getAppAgreement(AppAgreementDto appAgreementDto){
        AppAgreementVo appAgreementVo = agreementMapper.getAppAgreementVoByType(appAgreementDto.getType());
        if(appAgreementVo==null){
            throw new ServiceException(AppErrorConstant.AGREEMENT_FAILED);
        }
        /*String agreementContent = appAgreementVo.getAgreementContent();
        if(StringUtils.isNotBlank(agreementContent)){
            byte[] decodedBytes = Base64.getDecoder().decode(agreementContent);
            agreementContent = new String(decodedBytes, StandardCharsets.UTF_8);
            appAgreementVo.setAgreementContent(agreementContent);
        }*/
        return appAgreementVo;
    }
 
    /**
     * @description  修改协议
     * @author  jqs
     * @date    2023/6/6 14:43
     * @param mgtAgreementEditDto
     * @return  void
     */
    @Override
    public void editAgreement(MgtAgreementEditDto mgtAgreementEditDto){
        // 查询指定类型的协议
        Agreement agreement = this.getOne(new LambdaQueryWrapper<Agreement>()
                .eq(Agreement::getDelFlag, 0)
                .eq(Agreement::getAgreementType,mgtAgreementEditDto.getAgreementType()));
        // 如果不存在,则创建新的协议
        if(agreement == null){
            agreement = new Agreement();
            agreement.setDelFlag(0);
        }
        // 更新协议内容和创建者信息
        agreement.setAgreementType(mgtAgreementEditDto.getAgreementType());
        String agreementContent = mgtAgreementEditDto.getAgreementContent();
        if(StringUtils.isNotBlank(agreementContent)){
            byte[] decodedBytes = Base64.getDecoder().decode(agreementContent);
            agreementContent = new String(decodedBytes, StandardCharsets.UTF_8);
            agreement.setAgreementContent(agreementContent);
        }
        agreement.setCreateUserId(mgtAgreementEditDto.getUserId());
        agreement.setCreateTime(new Date());
        // 保存或更新协议
        this.saveOrUpdate(agreement);
    }
}