From c09e9401bb56f652347312617ae45e4ae31ee045 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Mon, 11 Jul 2022 19:14:02 +0800
Subject: [PATCH] fix web_setting

---
 src/main/java/com/xcong/farmer/cms/modules/system/service/IWebSettingService.java         |   12 ++
 src/main/java/com/xcong/farmer/cms/modules/system/vo/AdminSeeWebSetInfoVo.java            |   24 +++-
 src/main/java/com/xcong/farmer/cms/modules/system/controller/AdminWebSetController.java   |   18 ++-
 /dev/null                                                                                 |   79 -------------
 src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/WebSettingServiceImpl.java |   44 +++++++
 src/main/java/com/xcong/farmer/cms/conversion/WebSettingConversion.java                   |   20 +++
 src/main/resources/mapper/WebSetMapper.xml                                                |    9 +
 src/main/java/com/xcong/farmer/cms/modules/system/dto/SetWebSettingDto.java               |   40 ++++++
 src/main/java/com/xcong/farmer/cms/modules/system/entity/WebSettingEntity.java            |   60 ++++++++++
 src/main/java/com/xcong/farmer/cms/modules/system/mapper/WebSetMapper.java                |    7 
 10 files changed, 220 insertions(+), 93 deletions(-)

diff --git a/src/main/java/com/xcong/farmer/cms/conversion/WebSettingConversion.java b/src/main/java/com/xcong/farmer/cms/conversion/WebSettingConversion.java
new file mode 100644
index 0000000..b358a51
--- /dev/null
+++ b/src/main/java/com/xcong/farmer/cms/conversion/WebSettingConversion.java
@@ -0,0 +1,20 @@
+package com.xcong.farmer.cms.conversion;
+
+import com.xcong.farmer.cms.modules.system.dto.SetWebSettingDto;
+import com.xcong.farmer.cms.modules.system.entity.WebSettingEntity;
+import com.xcong.farmer.cms.modules.system.vo.AdminSeeWebSetInfoVo;
+import org.mapstruct.Mapper;
+import org.mapstruct.factory.Mappers;
+
+/**
+ * @author wzy
+ * @date 2022-07-11
+ **/
+@Mapper
+public abstract class WebSettingConversion {
+    public static WebSettingConversion INSTANCE = Mappers.getMapper(WebSettingConversion.class);
+
+    public abstract WebSettingEntity dtoToEntity(SetWebSettingDto setWebSettingDto);
+
+    public abstract AdminSeeWebSetInfoVo entityToVo(WebSettingEntity webSettingEntity);
+}
diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/controller/AdminWebSetController.java b/src/main/java/com/xcong/farmer/cms/modules/system/controller/AdminWebSetController.java
index a0e5293..9016746 100644
--- a/src/main/java/com/xcong/farmer/cms/modules/system/controller/AdminWebSetController.java
+++ b/src/main/java/com/xcong/farmer/cms/modules/system/controller/AdminWebSetController.java
@@ -1,12 +1,15 @@
 package com.xcong.farmer.cms.modules.system.controller;
 
 import com.xcong.farmer.cms.common.response.Result;
-import com.xcong.farmer.cms.modules.system.dto.AdminUpdateWebSetDto;
+import com.xcong.farmer.cms.modules.system.dto.SetWebSettingDto;
 import com.xcong.farmer.cms.modules.system.service.IReleaseService;
-import com.xcong.farmer.cms.modules.system.service.IWebSetService;
+import com.xcong.farmer.cms.modules.system.service.IWebSettingService;
 import com.xcong.farmer.cms.modules.system.util.LoginUserUtil;
+import com.xcong.farmer.cms.modules.system.vo.AdminSeeWebSetInfoVo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiResponse;
+import io.swagger.annotations.ApiResponses;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.web.bind.annotation.*;
 
@@ -20,21 +23,24 @@
 public class AdminWebSetController {
 
     @Resource
-    private IWebSetService iWebSetService;
+    private IWebSettingService iWebSetService;
 
     @Resource
     private IReleaseService releaseService;
 
     @ApiOperation(value = "查看网页设置", notes = "查看网页设置")
+    @ApiResponses({
+            @ApiResponse(code = 200, message = "success", response = AdminSeeWebSetInfoVo.class)
+    })
     @GetMapping(value = "/seeWebSetInfo")
     public Result seeWebSetInfo() {
-        return iWebSetService.seeWebSetInfo();
+        return iWebSetService.getWebSetting();
     }
 
     @ApiOperation(value = "更新网页设置", notes = "更新网页设置")
     @PostMapping(value = "/updateWebSet")
-    public Result updateWebSet(@RequestBody @Valid AdminUpdateWebSetDto adminUpdateWebSetDto) {
-        return iWebSetService.updateWebSet(adminUpdateWebSetDto);
+    public Result updateWebSet(@RequestBody @Valid SetWebSettingDto setWebSettingDto) {
+        return iWebSetService.setWebSetting(setWebSettingDto);
     }
 
     @ApiOperation(value = "发布全站", notes = "发布全站")
diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/dto/AdminUpdateWebSetDto.java b/src/main/java/com/xcong/farmer/cms/modules/system/dto/AdminUpdateWebSetDto.java
deleted file mode 100644
index d22e9a0..0000000
--- a/src/main/java/com/xcong/farmer/cms/modules/system/dto/AdminUpdateWebSetDto.java
+++ /dev/null
@@ -1,29 +0,0 @@
-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;
-
-@Data
-@ApiModel(value = "AdminUpdateWebSetDto", description = "参数接收类")
-public class AdminUpdateWebSetDto {
-
-    @ApiModelProperty(value = "ID")
-    private Long id;
-
-    @ApiModelProperty(value = "网页标题")
-    @NotBlank(message = "请输入网页标题")
-    private String webTitle;
-
-    @ApiModelProperty(value = "网页关键字")
-    @NotBlank(message = "请输入网页关键字")
-    private String webKeyword;
-
-    @ApiModelProperty(value = "网页描述")
-    private String webRemark;
-
-    @ApiModelProperty(value = "网页LOGO")
-    private String webPic;
-}
diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/dto/SetWebSettingDto.java b/src/main/java/com/xcong/farmer/cms/modules/system/dto/SetWebSettingDto.java
new file mode 100644
index 0000000..e339339
--- /dev/null
+++ b/src/main/java/com/xcong/farmer/cms/modules/system/dto/SetWebSettingDto.java
@@ -0,0 +1,40 @@
+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;
+
+@Data
+@ApiModel(value = "AdminUpdateWebSetDto", description = "参数接收类")
+public class SetWebSettingDto {
+
+    @ApiModelProperty(value = "ID")
+    private Long id;
+
+    @ApiModelProperty(value = "网页标题")
+    @NotBlank(message = "请输入网页标题")
+    private String title;
+
+    @ApiModelProperty(value = "网页关键字")
+    private String seoTitle;
+
+    @ApiModelProperty(value = "网页描述")
+    private String seoDescription;
+
+    @ApiModelProperty(value = "网页描述")
+    private String seoKeyword;
+
+    @ApiModelProperty(value = "网页LOGO")
+    private String logoUrl;
+
+    @ApiModelProperty(value = "首页模板")
+    private String indexTemplate;
+
+    @ApiModelProperty(value = "搜索模板")
+    private String searchTemplate;
+
+    @ApiModelProperty(value = "在线留言模板")
+    private String msgTemplate;
+}
diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/entity/WebSetEntity.java b/src/main/java/com/xcong/farmer/cms/modules/system/entity/WebSetEntity.java
deleted file mode 100644
index 451d831..0000000
--- a/src/main/java/com/xcong/farmer/cms/modules/system/entity/WebSetEntity.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package com.xcong.farmer.cms.modules.system.entity;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import lombok.Data;
-
-/**
- * 网页配置表
- */
-@Data
-@TableName("t_web_set")
-public class WebSetEntity {
-    //ID
-
-    @TableId(value = "id",type = IdType.AUTO)
-    private Long id;
-    //网页标题
-    private String webTitle;
-    //网页关键字
-    private String webKeyword;
-    //网页描述
-    private String webRemark;
-    //网页LOGO
-    private String webPic;
-    //所属ID
-    private Long companyId;
-}
diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/entity/WebSettingEntity.java b/src/main/java/com/xcong/farmer/cms/modules/system/entity/WebSettingEntity.java
new file mode 100644
index 0000000..c3f6407
--- /dev/null
+++ b/src/main/java/com/xcong/farmer/cms/modules/system/entity/WebSettingEntity.java
@@ -0,0 +1,60 @@
+package com.xcong.farmer.cms.modules.system.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+/**
+ * 网页配置表
+ */
+@Data
+@TableName("t_web_setting")
+public class WebSettingEntity {
+    //ID
+
+    @TableId(value = "id",type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 网站标题
+     */
+    private String title;
+
+    /**
+     * seo标题
+     */
+    private String seoTitle;
+
+    /**
+     * seo关键词
+     */
+    private String seoKeyword;
+
+    /**
+     * seo描述
+     */
+    private String seoDescription;
+
+    /**
+     * logo地址
+     */
+    private String logoUrl;
+
+    /**
+     * 首页模板
+     */
+    private String indexTemplate;
+
+    /**
+     * 搜索模板
+     */
+    private String searchTemplate;
+
+    /**
+     * 在线留言模板
+     */
+    private String msgTemplate;
+
+    private Long companyId;
+}
diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/mapper/WebSetMapper.java b/src/main/java/com/xcong/farmer/cms/modules/system/mapper/WebSetMapper.java
index a927324..2a0a7db 100644
--- a/src/main/java/com/xcong/farmer/cms/modules/system/mapper/WebSetMapper.java
+++ b/src/main/java/com/xcong/farmer/cms/modules/system/mapper/WebSetMapper.java
@@ -1,7 +1,10 @@
 package com.xcong.farmer.cms.modules.system.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.xcong.farmer.cms.modules.system.entity.WebSetEntity;
+import com.xcong.farmer.cms.modules.system.entity.WebSettingEntity;
+import org.apache.ibatis.annotations.Param;
 
-public interface WebSetMapper extends BaseMapper<WebSetEntity> {
+public interface WebSetMapper extends BaseMapper<WebSettingEntity> {
+
+    WebSettingEntity selectByCompanyId(@Param("companyId") Long companyId);
 }
diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/service/IWebSetService.java b/src/main/java/com/xcong/farmer/cms/modules/system/service/IWebSetService.java
deleted file mode 100644
index cc4e59f..0000000
--- a/src/main/java/com/xcong/farmer/cms/modules/system/service/IWebSetService.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package com.xcong.farmer.cms.modules.system.service;
-
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.xcong.farmer.cms.common.response.Result;
-import com.xcong.farmer.cms.modules.system.dto.AdminUpdateWebSetDto;
-import com.xcong.farmer.cms.modules.system.entity.WebSetEntity;
-
-public interface IWebSetService extends IService<WebSetEntity> {
-    Result seeWebSetInfo();
-
-    Result updateWebSet(AdminUpdateWebSetDto adminUpdateWebSetDto);
-}
diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/service/IWebSettingService.java b/src/main/java/com/xcong/farmer/cms/modules/system/service/IWebSettingService.java
new file mode 100644
index 0000000..081cac9
--- /dev/null
+++ b/src/main/java/com/xcong/farmer/cms/modules/system/service/IWebSettingService.java
@@ -0,0 +1,12 @@
+package com.xcong.farmer.cms.modules.system.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.xcong.farmer.cms.common.response.Result;
+import com.xcong.farmer.cms.modules.system.dto.SetWebSettingDto;
+import com.xcong.farmer.cms.modules.system.entity.WebSettingEntity;
+
+public interface IWebSettingService extends IService<WebSettingEntity> {
+    Result getWebSetting();
+
+    Result setWebSetting(SetWebSettingDto adminUpdateWebSetDto);
+}
diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/WebSetServiceImpl.java b/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/WebSetServiceImpl.java
deleted file mode 100644
index ed8d8bc..0000000
--- a/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/WebSetServiceImpl.java
+++ /dev/null
@@ -1,79 +0,0 @@
-package com.xcong.farmer.cms.modules.system.service.Impl;
-
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.xcong.farmer.cms.common.response.Result;
-import com.xcong.farmer.cms.modules.system.dto.AdminUpdateWebSetDto;
-import com.xcong.farmer.cms.modules.system.entity.UserEntity;
-import com.xcong.farmer.cms.modules.system.entity.WebSetEntity;
-import com.xcong.farmer.cms.modules.system.mapper.WebSetMapper;
-import com.xcong.farmer.cms.modules.system.service.IWebSetService;
-import com.xcong.farmer.cms.modules.system.util.LoginUserUtil;
-import com.xcong.farmer.cms.modules.system.vo.AdminSeeWebSetInfoVo;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.stereotype.Service;
-
-import java.util.List;
-
-import cn.hutool.core.util.ObjectUtil;
-import cn.hutool.core.util.StrUtil;
-import cn.hutool.core.collection.CollUtil;
-
-@Service
-@Slf4j
-public class WebSetServiceImpl extends ServiceImpl<WebSetMapper, WebSetEntity> implements IWebSetService {
-    @Override
-    public Result seeWebSetInfo() {
-        UserEntity userlogin = LoginUserUtil.getLoginUser();
-        long companyId = userlogin.getCompanyId() == null ? UserEntity.USER_BELONG_TOP : userlogin.getCompanyId();
-        AdminSeeWebSetInfoVo adminSeeWebSetInfoVo = new AdminSeeWebSetInfoVo();
-        QueryWrapper<WebSetEntity> objectQueryWrapper = new QueryWrapper<>();
-        objectQueryWrapper.eq("company_id",companyId);
-        List<WebSetEntity> webSetEntities = this.baseMapper.selectList(objectQueryWrapper);
-        if(CollUtil.isNotEmpty(webSetEntities)){
-            WebSetEntity webSetEntity = webSetEntities.get(0);
-            adminSeeWebSetInfoVo.setId(webSetEntity.getId());
-            adminSeeWebSetInfoVo.setWebTitle(webSetEntity.getWebTitle());
-            adminSeeWebSetInfoVo.setWebKeyword(webSetEntity.getWebKeyword());
-            adminSeeWebSetInfoVo.setWebRemark(webSetEntity.getWebRemark());
-            adminSeeWebSetInfoVo.setWebPic(webSetEntity.getWebPic());
-        }
-        return Result.ok(adminSeeWebSetInfoVo);
-    }
-
-    @Override
-    public Result updateWebSet(AdminUpdateWebSetDto adminUpdateWebSetDto) {
-        UserEntity userlogin = LoginUserUtil.getLoginUser();
-        long companyId = userlogin.getCompanyId() == null ? UserEntity.USER_BELONG_TOP : userlogin.getCompanyId();
-        String webTitle = adminUpdateWebSetDto.getWebTitle();
-        String webKeyword = adminUpdateWebSetDto.getWebKeyword();
-        Long id = adminUpdateWebSetDto.getId() == null ? 0L : adminUpdateWebSetDto.getId();
-        QueryWrapper<WebSetEntity> objectQueryWrapper = new QueryWrapper<>();
-        objectQueryWrapper.eq("company_id",companyId);
-        WebSetEntity webSetEntity = this.baseMapper.selectOne(objectQueryWrapper);
-        if(ObjectUtil.isEmpty(webSetEntity)){
-            WebSetEntity webSetEntityAdd = new WebSetEntity();
-            webSetEntityAdd.setWebTitle(webTitle);
-            webSetEntityAdd.setWebKeyword(webKeyword);
-            String webRemark = adminUpdateWebSetDto.getWebRemark();
-            if(StrUtil.isNotEmpty(webRemark)){
-                webSetEntityAdd.setWebRemark(webRemark);
-            }
-            String webPic = adminUpdateWebSetDto.getWebPic();
-            if(StrUtil.isNotEmpty(webPic)){
-                webSetEntityAdd.setWebPic(webPic);
-            }
-            webSetEntityAdd.setCompanyId(companyId);
-            this.baseMapper.insert(webSetEntityAdd);
-            return Result.ok("保存成功");
-        }
-        webSetEntity.setWebTitle(webTitle);
-        webSetEntity.setWebKeyword(webKeyword);
-        String webRemark = adminUpdateWebSetDto.getWebRemark();
-            webSetEntity.setWebRemark(webRemark);
-        String webPic = adminUpdateWebSetDto.getWebPic();
-            webSetEntity.setWebPic(webPic);
-        this.baseMapper.updateById(webSetEntity);
-        return Result.ok("保存成功");
-    }
-}
diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/WebSettingServiceImpl.java b/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/WebSettingServiceImpl.java
new file mode 100644
index 0000000..1ac322f
--- /dev/null
+++ b/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/WebSettingServiceImpl.java
@@ -0,0 +1,44 @@
+package com.xcong.farmer.cms.modules.system.service.Impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.xcong.farmer.cms.common.response.Result;
+import com.xcong.farmer.cms.conversion.WebSettingConversion;
+import com.xcong.farmer.cms.modules.system.dto.SetWebSettingDto;
+import com.xcong.farmer.cms.modules.system.entity.UserEntity;
+import com.xcong.farmer.cms.modules.system.entity.WebSettingEntity;
+import com.xcong.farmer.cms.modules.system.mapper.WebSetMapper;
+import com.xcong.farmer.cms.modules.system.service.IWebSettingService;
+import com.xcong.farmer.cms.modules.system.util.LoginUserUtil;
+import com.xcong.farmer.cms.modules.system.vo.AdminSeeWebSetInfoVo;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+@Service
+@Slf4j
+public class WebSettingServiceImpl extends ServiceImpl<WebSetMapper, WebSettingEntity> implements IWebSettingService {
+    @Override
+    public Result getWebSetting() {
+        Long companyId = LoginUserUtil.getCompanyId();
+        WebSettingEntity webSetting = this.baseMapper.selectByCompanyId(companyId);
+        if (webSetting == null) {
+            webSetting = new WebSettingEntity();
+        }
+
+        AdminSeeWebSetInfoVo adminSeeWebSetInfoVo = WebSettingConversion.INSTANCE.entityToVo(webSetting);
+        return Result.ok(adminSeeWebSetInfoVo);
+    }
+
+    @Override
+    public Result setWebSetting(SetWebSettingDto setWebSettingDto) {
+        Long companyId = LoginUserUtil.getCompanyId();
+
+        WebSettingEntity webSetting = WebSettingConversion.INSTANCE.dtoToEntity(setWebSettingDto);
+        webSetting.setCompanyId(companyId);
+        if (setWebSettingDto.getId() == null) {
+            this.baseMapper.insert(webSetting);
+        } else {
+            this.baseMapper.updateById(webSetting);
+        }
+        return Result.ok("保存成功");
+    }
+}
diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/vo/AdminSeeWebSetInfoVo.java b/src/main/java/com/xcong/farmer/cms/modules/system/vo/AdminSeeWebSetInfoVo.java
index 3073ff3..614a369 100644
--- a/src/main/java/com/xcong/farmer/cms/modules/system/vo/AdminSeeWebSetInfoVo.java
+++ b/src/main/java/com/xcong/farmer/cms/modules/system/vo/AdminSeeWebSetInfoVo.java
@@ -12,14 +12,26 @@
     private Long id;
 
     @ApiModelProperty(value = "网页标题")
-    private String webTitle;
+    private String title;
 
-    @ApiModelProperty(value = "网页关键字")
-    private String webKeyword;
+    @ApiModelProperty(value = "seo关键字")
+    private String seoKeyword;
 
-    @ApiModelProperty(value = "网页描述")
-    private String webRemark;
+    @ApiModelProperty(value = "seo描述")
+    private String seoRemark;
+
+    @ApiModelProperty(value = "seo描述")
+    private String seoDescription;
 
     @ApiModelProperty(value = "网页LOGO")
-    private String webPic;
+    private String logoUrl;
+
+    @ApiModelProperty(value = "首页模板")
+    private String indexTemplate;
+
+    @ApiModelProperty(value = "搜索模板")
+    private String searchTemplate;
+
+    @ApiModelProperty(value = "在线留言模板")
+    private String msgTemplate;
 }
diff --git a/src/main/resources/mapper/WebSetMapper.xml b/src/main/resources/mapper/WebSetMapper.xml
new file mode 100644
index 0000000..32bfe7e
--- /dev/null
+++ b/src/main/resources/mapper/WebSetMapper.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!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.WebSetMapper">
+
+    <select id="selectByCompanyId" resultType="com.xcong.farmer.cms.modules.system.entity.WebSettingEntity">
+        select * from t_web_setting where company_id=#{companyId}
+    </select>
+
+</mapper>
\ No newline at end of file

--
Gitblit v1.9.1