From e9a77d64952862d28870acdc41068de62914b418 Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Mon, 04 Jul 2022 14:06:58 +0800 Subject: [PATCH] add cms template --- src/main/java/com/xcong/farmer/cms/modules/system/dto/TemplateListDto.java | 24 ++++++++ src/main/java/com/xcong/farmer/cms/modules/system/service/ICmsTemplateService.java | 17 +++++ src/main/java/com/xcong/farmer/cms/modules/system/mapper/CmsTemplateMapper.java | 7 ++ src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/CmsTemplateServiceImpl.java | 48 ++++++++++++++++ src/main/resources/mapper/CmsTemplateMapper.xml | 14 ++++ src/main/java/com/xcong/farmer/cms/modules/system/entity/CmsTemplateEntity.java | 2 src/main/java/com/xcong/farmer/cms/modules/system/controller/CmsTemplateController.java | 47 +++++++++++++++ src/main/java/com/xcong/farmer/cms/modules/system/util/LoginUserUtil.java | 4 + 8 files changed, 163 insertions(+), 0 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 new file mode 100644 index 0000000..8b0dcea --- /dev/null +++ b/src/main/java/com/xcong/farmer/cms/modules/system/controller/CmsTemplateController.java @@ -0,0 +1,47 @@ +package com.xcong.farmer.cms.modules.system.controller; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.xcong.farmer.cms.common.response.Result; +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; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.validation.Valid; + +/** + * @author wzy + * @date 2022-07-04 + **/ +@RestController +@RequestMapping(value = "/api/template") +@Api(value = "CmsTemplateController", tags = "模板接口类") +public class CmsTemplateController { + + @Autowired + private ICmsTemplateService cmsTemplateService; + + @ApiOperation(value = "上传模板", notes = "上传模板接口") + @PostMapping(value = "/uploadTemplate") + public Result uploadTemplate(MultipartFile file) { + + return Result.ok("上传成功"); + } + + @ApiOperation(value = "模板列表", notes = "模板列表接口") + @PostMapping(value = "/list") + public Result list(@RequestBody @Valid TemplateListDto templateListDto) { + return Result.ok(cmsTemplateService.findInPage(templateListDto)); + } + + @ApiOperation(value = "删除模板", notes = "删除模板") + @PostMapping(value = "/delete/{id}") + public Result delete(@PathVariable("id") Long id) { + cmsTemplateService.delete(id); + return Result.ok("删除成功"); + } +} diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/dto/TemplateListDto.java b/src/main/java/com/xcong/farmer/cms/modules/system/dto/TemplateListDto.java new file mode 100644 index 0000000..e57f675 --- /dev/null +++ b/src/main/java/com/xcong/farmer/cms/modules/system/dto/TemplateListDto.java @@ -0,0 +1,24 @@ +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.NotNull; + +/** + * @author wzy + * @date 2022-07-04 + **/ +@Data +@ApiModel(value = "TemplateListDto", description = "模板列表接口参数接收类") +public class TemplateListDto { + + @NotNull(message = "参数不能为空") + @ApiModelProperty(value = "每页条数", example = "10") + private Integer pageSize; + + @NotNull(message = "参数不能为空") + @ApiModelProperty(value = "第几页", example = "1") + private Integer pageNum; +} diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/entity/CmsTemplateEntity.java b/src/main/java/com/xcong/farmer/cms/modules/system/entity/CmsTemplateEntity.java index 8d8dfa1..07a83b9 100644 --- a/src/main/java/com/xcong/farmer/cms/modules/system/entity/CmsTemplateEntity.java +++ b/src/main/java/com/xcong/farmer/cms/modules/system/entity/CmsTemplateEntity.java @@ -22,4 +22,6 @@ * 类型 1-文件 2-代码 */ private Integer type; + + private Long companyId; } 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 64d67fb..6e8a7c8 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 @@ -1,7 +1,14 @@ package com.xcong.farmer.cms.modules.system.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.xcong.farmer.cms.modules.system.entity.CmsTemplateEntity; +import org.apache.ibatis.annotations.Param; public interface CmsTemplateMapper extends BaseMapper<CmsTemplateEntity> { + + IPage<CmsTemplateEntity> selectInPage(IPage<CmsTemplateEntity> page, @Param("record") CmsTemplateEntity cmsTemplateEntity); + + int delete(@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 new file mode 100644 index 0000000..9633445 --- /dev/null +++ b/src/main/java/com/xcong/farmer/cms/modules/system/service/ICmsTemplateService.java @@ -0,0 +1,17 @@ +package com.xcong.farmer.cms.modules.system.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.xcong.farmer.cms.modules.system.dto.TemplateListDto; +import com.xcong.farmer.cms.modules.system.entity.CmsTemplateEntity; +import org.springframework.web.multipart.MultipartFile; + +public interface ICmsTemplateService extends IService<CmsTemplateEntity> { + + void updateTemplate(MultipartFile file); + + IPage<CmsTemplateEntity> findInPage(TemplateListDto templateListDto); + + void delete(Long id); +} 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 new file mode 100644 index 0000000..f1795c0 --- /dev/null +++ b/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/CmsTemplateServiceImpl.java @@ -0,0 +1,48 @@ +package com.xcong.farmer.cms.modules.system.service.Impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.xcong.farmer.cms.core.template.TemplateConfiguration; +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.mapper.CmsTemplateMapper; +import com.xcong.farmer.cms.modules.system.service.ICmsTemplateService; +import com.xcong.farmer.cms.modules.system.util.LoginUserUtil; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; + +/** + * @author wzy + * @date 2022-07-04 + **/ +@Service +public class CmsTemplateServiceImpl extends ServiceImpl<CmsTemplateMapper, CmsTemplateEntity> implements ICmsTemplateService { + + @Autowired + private TemplateConfiguration cfg; + + @Override + public void updateTemplate(MultipartFile file) { + String templatePath = cfg.templatePath; + String staticPath = cfg.staticPath; + } + + @Override + public IPage<CmsTemplateEntity> findInPage(TemplateListDto templateListDto) { + Long companyId = LoginUserUtil.getCompanyId(); + IPage<CmsTemplateEntity> page = new Page<>(templateListDto.getPageNum(), templateListDto.getPageSize()); + + CmsTemplateEntity template = new CmsTemplateEntity(); + template.setCompanyId(companyId); + return this.baseMapper.selectInPage(page, template); + } + + @Override + public void delete(Long id) { + Long companyId = LoginUserUtil.getCompanyId(); + this.baseMapper.delete(id, companyId); + } +} diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/util/LoginUserUtil.java b/src/main/java/com/xcong/farmer/cms/modules/system/util/LoginUserUtil.java index ac1f9e0..29c76ce 100644 --- a/src/main/java/com/xcong/farmer/cms/modules/system/util/LoginUserUtil.java +++ b/src/main/java/com/xcong/farmer/cms/modules/system/util/LoginUserUtil.java @@ -16,4 +16,8 @@ HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.currentRequestAttributes()).getRequest(); return (UserEntity) request.getSession().getAttribute("user"); } + + public static Long getCompanyId() { + return getLoginUser().getCompanyId() == null ? 0L : getLoginUser().getCompanyId(); + } } diff --git a/src/main/resources/mapper/CmsTemplateMapper.xml b/src/main/resources/mapper/CmsTemplateMapper.xml index 3b8d2c5..217f175 100644 --- a/src/main/resources/mapper/CmsTemplateMapper.xml +++ b/src/main/resources/mapper/CmsTemplateMapper.xml @@ -2,4 +2,18 @@ <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.xcong.farmer.cms.modules.system.mapper.CmsTemplateMapper"> + <select id="selectInPage" resultType="com.xcong.farmer.cms.modules.system.entity.CmsTemplateEntity"> + select * from cms_template + <where> + 1=1 + <if test="record.companyId != null and record.companyId != 0"> + and company_id=#{record.companyId} + </if> + </where> + </select> + + <delete id="delete"> + delete from cms_template + where id=#{id} and company_id=#{companyId} + </delete> </mapper> \ No newline at end of file -- Gitblit v1.9.1