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); } } src/main/java/com/xcong/farmer/cms/modules/system/dto/AdminSaveTemplateInfoDto.java
New file @@ -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; } 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); } 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); } 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("保存成功"); } } 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> 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();