From 1bf0ae3eed3cff7a98753715d7df8bd8166b29b7 Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Fri, 08 Jul 2022 12:13:40 +0800 Subject: [PATCH] Merge branch 'master' of http://120.27.238.55:7000/r/farmer-cms --- src/main/java/com/xcong/farmer/cms/modules/system/service/ICmsTemplateService.java | 3 + src/main/java/com/xcong/farmer/cms/modules/system/mapper/CmsTemplateMapper.java | 2 + src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/CmsTemplateServiceImpl.java | 40 ++++++++++++++++--- src/main/resources/mapper/CmsTemplateMapper.xml | 8 ++++ src/main/java/com/xcong/farmer/cms/modules/system/dto/AdminSaveTemplateInfoDto.java | 22 +++++++++++ src/main/java/com/xcong/farmer/cms/modules/system/controller/CmsTemplateController.java | 8 ++++ src/test/java/com/xcong/farmer/cms/KssframeworkApplicationTests.java | 28 ++++++++++++++ 7 files changed, 104 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/controller/CmsTemplateController.java b/src/main/java/com/xcong/farmer/cms/modules/system/controller/CmsTemplateController.java index 54c396d..2a655e7 100644 --- a/src/main/java/com/xcong/farmer/cms/modules/system/controller/CmsTemplateController.java +++ b/src/main/java/com/xcong/farmer/cms/modules/system/controller/CmsTemplateController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.xcong.farmer.cms.common.response.Result; +import com.xcong.farmer.cms.modules.system.dto.AdminSaveTemplateInfoDto; import com.xcong.farmer.cms.modules.system.dto.TemplateListDto; import com.xcong.farmer.cms.modules.system.entity.CmsTemplateEntity; import com.xcong.farmer.cms.modules.system.service.ICmsTemplateService; @@ -56,4 +57,11 @@ public Result viewTemplateInfo(@PathVariable(value = "id") Long id) { return cmsTemplateService.viewTemplateInfo(id); } + + @ApiOperation(value = "保存模板", notes = "保存模板") + @PostMapping(value = "/saveTemplateInfo") + public Result saveTemplateInfo(@RequestBody @Valid AdminSaveTemplateInfoDto adminSaveTemplateInfoDto) { + return cmsTemplateService.saveTemplateInfo(adminSaveTemplateInfoDto); + } + } diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/dto/AdminSaveTemplateInfoDto.java b/src/main/java/com/xcong/farmer/cms/modules/system/dto/AdminSaveTemplateInfoDto.java new file mode 100644 index 0000000..0978fc0 --- /dev/null +++ b/src/main/java/com/xcong/farmer/cms/modules/system/dto/AdminSaveTemplateInfoDto.java @@ -0,0 +1,22 @@ +package com.xcong.farmer.cms.modules.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + +@Data +@ApiModel(value = "AdminSaveTemplateInfoDto", description = "参数接收类") +public class AdminSaveTemplateInfoDto { + + @ApiModelProperty(value = "模板Id") + @NotNull(message = "参数不能为空") + private Long id; + + @ApiModelProperty(value = "内容") + @NotBlank(message = "参数不能为空") + private String templateInfo; + +} diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/mapper/CmsTemplateMapper.java b/src/main/java/com/xcong/farmer/cms/modules/system/mapper/CmsTemplateMapper.java index 6e8a7c8..b1ebdfa 100644 --- a/src/main/java/com/xcong/farmer/cms/modules/system/mapper/CmsTemplateMapper.java +++ b/src/main/java/com/xcong/farmer/cms/modules/system/mapper/CmsTemplateMapper.java @@ -11,4 +11,6 @@ IPage<CmsTemplateEntity> selectInPage(IPage<CmsTemplateEntity> page, @Param("record") CmsTemplateEntity cmsTemplateEntity); int delete(@Param("id") Long id, @Param("companyId") Long companyId); + + CmsTemplateEntity selectByIdAndCompanyId(@Param("id") Long id, @Param("companyId") Long companyId); } diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/service/ICmsTemplateService.java b/src/main/java/com/xcong/farmer/cms/modules/system/service/ICmsTemplateService.java index 5c95b78..21b0018 100644 --- a/src/main/java/com/xcong/farmer/cms/modules/system/service/ICmsTemplateService.java +++ b/src/main/java/com/xcong/farmer/cms/modules/system/service/ICmsTemplateService.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.xcong.farmer.cms.common.response.Result; +import com.xcong.farmer.cms.modules.system.dto.AdminSaveTemplateInfoDto; import com.xcong.farmer.cms.modules.system.dto.TemplateListDto; import com.xcong.farmer.cms.modules.system.entity.CmsTemplateEntity; import org.springframework.web.multipart.MultipartFile; @@ -19,4 +20,6 @@ Result dropdownList(); Result viewTemplateInfo(Long id); + + Result saveTemplateInfo(AdminSaveTemplateInfoDto adminSaveTemplateInfoDto); } diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/CmsTemplateServiceImpl.java b/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/CmsTemplateServiceImpl.java index 12f3b24..5c20554 100644 --- a/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/CmsTemplateServiceImpl.java +++ b/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/CmsTemplateServiceImpl.java @@ -1,7 +1,7 @@ package com.xcong.farmer.cms.modules.system.service.Impl; import cn.hutool.core.io.FileUtil; -import cn.hutool.core.util.IdUtil; +import cn.hutool.core.io.file.FileWriter; import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.ZipUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -11,12 +11,10 @@ import com.xcong.farmer.cms.common.exception.GlobalException; import com.xcong.farmer.cms.common.response.Result; import com.xcong.farmer.cms.common.utils.FileUtils; -import com.xcong.farmer.cms.configurations.GlobalExceptionHandler; import com.xcong.farmer.cms.configurations.properties.CmsProperties; -import com.xcong.farmer.cms.core.template.TemplateConfiguration; +import com.xcong.farmer.cms.modules.system.dto.AdminSaveTemplateInfoDto; import com.xcong.farmer.cms.modules.system.dto.TemplateListDto; import com.xcong.farmer.cms.modules.system.entity.CmsTemplateEntity; -import com.xcong.farmer.cms.modules.system.entity.UserEntity; import com.xcong.farmer.cms.modules.system.mapper.CmsTemplateMapper; import com.xcong.farmer.cms.modules.system.service.ICmsTemplateService; import com.xcong.farmer.cms.modules.system.util.LoginUserUtil; @@ -24,16 +22,14 @@ import org.jsoup.nodes.Document; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; import java.io.File; -import java.io.FileInputStream; import java.io.IOException; -import java.io.InputStream; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Paths; -import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -183,4 +179,34 @@ return result; } + @Override + @Transactional + public Result saveTemplateInfo(AdminSaveTemplateInfoDto adminSaveTemplateInfoDto) { + Long companyId = LoginUserUtil.getCompanyId(); + Long id = adminSaveTemplateInfoDto.getId(); + CmsTemplateEntity cmsTemplateEntity = this.baseMapper.selectByIdAndCompanyId(id,companyId); + String name = cmsTemplateEntity.getName(); + Integer type = cmsTemplateEntity.getType(); + String templatePath = cmsProperties.getTemplatePath(); + String path = cmsTemplateEntity.getPath(); + + this.baseMapper.delete(id,companyId); + String pathNew = FileUtils.path(templatePath, path); + File file = new File(pathNew); + FileUtil.touch(file); + + //文件写入,直接覆盖 + FileWriter writer = new FileWriter(file); + writer.write(adminSaveTemplateInfoDto.getTemplateInfo(), false); + + CmsTemplateEntity cmsTemplate = new CmsTemplateEntity(); + cmsTemplate.setCompanyId(companyId); + cmsTemplate.setType(type); + cmsTemplate.setName(name); + cmsTemplate.setPath(path); + this.baseMapper.insert(cmsTemplate); + + return Result.ok("保存成功"); + } + } diff --git a/src/main/resources/mapper/CmsTemplateMapper.xml b/src/main/resources/mapper/CmsTemplateMapper.xml index 23e70df..57c06f3 100644 --- a/src/main/resources/mapper/CmsTemplateMapper.xml +++ b/src/main/resources/mapper/CmsTemplateMapper.xml @@ -19,4 +19,12 @@ and company_id=#{companyId} </if> </delete> + + <select id="selectByIdAndCompanyId" resultType="com.xcong.farmer.cms.modules.system.entity.CmsTemplateEntity"> + select * from cms_template + where id = #{id} + <if test="companyId != null and companyId != 0"> + and company_id = #{companyId} + </if> + </select> </mapper> \ No newline at end of file diff --git a/src/test/java/com/xcong/farmer/cms/KssframeworkApplicationTests.java b/src/test/java/com/xcong/farmer/cms/KssframeworkApplicationTests.java index cf3eb9a..a571fb4 100644 --- a/src/test/java/com/xcong/farmer/cms/KssframeworkApplicationTests.java +++ b/src/test/java/com/xcong/farmer/cms/KssframeworkApplicationTests.java @@ -2,6 +2,8 @@ import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.DateUtil; +import cn.hutool.core.io.FileUtil; +import cn.hutool.core.io.file.FileWriter; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.RandomUtil; import cn.hutool.core.util.StrUtil; @@ -52,6 +54,32 @@ private CmsTemplateMapper cmsTemplateMapper; @Test + public void testFileWrite(){ + Long companyId = 24L; + Long id = 38L; + CmsTemplateEntity cmsTemplateEntity = cmsTemplateMapper.selectByIdAndCompanyId(id,companyId); + String name = cmsTemplateEntity.getName(); + Integer type = cmsTemplateEntity.getType(); + String templatePath = "D:\\cmshtml"; + String path = cmsTemplateEntity.getPath(); + + cmsTemplateMapper.delete(id,companyId); + String pathNew = FileUtils.path(templatePath, path); + File file = new File(pathNew); + FileUtil.touch(file); + + //文件写入,直接覆盖 + FileWriter writer = new FileWriter(file); + writer.write("测试121634964949", false); + + CmsTemplateEntity cmsTemplate = new CmsTemplateEntity(); + cmsTemplate.setCompanyId(companyId); + cmsTemplate.setType(type); + cmsTemplate.setName(name); + cmsTemplate.setPath(path); + cmsTemplateMapper.insert(cmsTemplate); + } + @Test public void testUserInsert() { for(int i = 0; i < 20; i++) { TestUserEntity testUser = new TestUserEntity(); -- Gitblit v1.9.1