From 8444084e6aa11efa23287e7f82474ac22378a5c4 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期二, 01 四月 2025 16:03:19 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/AgreementServiceImpl.java |   49 ++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 48 insertions(+), 1 deletions(-)

diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/AgreementServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/AgreementServiceImpl.java
index 80a7d48..0cdf996 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/AgreementServiceImpl.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/AgreementServiceImpl.java
@@ -1,16 +1,22 @@
 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 com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.nio.charset.StandardCharsets;
+import java.util.Base64;
+import java.util.Date;
 
 /**
  * <p>
@@ -22,8 +28,11 @@
  */
 @Service
 public class AgreementServiceImpl extends ServiceImpl<AgreementMapper, Agreement> implements AgreementService {
+
     @Resource
     private AgreementMapper agreementMapper;
+
+
 
     /**
      * 获取各种协议
@@ -36,6 +45,44 @@
         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);
+    }
 }

--
Gitblit v1.7.1