Browse Source

Merge branch 'site-manage' of wangfan/adweb3-server into master

chenpeiqing 5 months ago
parent
commit
5dd81a95e5
29 changed files with 936 additions and 82 deletions
  1. 5 0
      jeecg-module-system/jeecg-system-biz/pom.xml
  2. 60 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/constant/NumConstant.java
  3. 14 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/constant/WordPressConstants.java
  4. 0 14
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/market/mapper/SeoMarketPlanMapper.java
  5. 0 14
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/market/service/ISeoMarketPlanService.java
  6. 0 19
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/market/service/impl/SeoMarketPlanServiceImpl.java
  7. 43 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/site/controller/AdwebSiteManageController.java
  8. 70 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/site/dto/WordPressConfig.java
  9. 75 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/site/entity/AdwebUserWpsite.java
  10. 15 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/site/mapper/AdwebUserWpsiteMapper.java
  11. 1 1
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/site/mapper/xml/AdwebUserWpsiteMapper.xml
  12. 7 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/site/service/IAdwebSiteService.java
  13. 33 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/site/service/IAdwebUserWpsiteService.java
  14. 106 1
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/site/service/impl/AdwebSiteServiceImpl.java
  15. 63 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/site/service/impl/AdwebUserWpsiteServiceImpl.java
  16. 25 25
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/subscribePlan/controller/SubscribePlanController.java
  17. 33 3
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/subscribePlan/entity/SubscribePlan.java
  18. 14 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/subscribePlan/mapper/SubscribePlanMapper.java
  19. 5 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/subscribePlan/mapper/xml/SubscribePlanMapper.xml
  20. 14 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/subscribePlan/service/ISubscribePlanService.java
  21. 19 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/subscribePlan/service/impl/SubscribePlanServiceImpl.java
  22. 176 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/theme/controller/AdwebThemeController.java
  23. 11 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/theme/dto/AdwebTemplateTagDto.java
  24. 90 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/theme/entity/AdwebTheme.java
  25. 14 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/theme/mapper/AdwebThemeMapper.java
  26. 5 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/theme/mapper/xml/AdwebThemeMapper.xml
  27. 14 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/theme/service/IAdwebThemeService.java
  28. 19 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/theme/service/impl/AdwebThemeServiceImpl.java
  29. 5 5
      jeecg-module-system/jeecg-system-start/src/main/resources/application-dev.yml

+ 5 - 0
jeecg-module-system/jeecg-system-biz/pom.xml

@@ -39,6 +39,11 @@
 			<artifactId>drag-free-springboot3</artifactId>
 			<version>1.1.2</version>
 		</dependency>
+		<dependency>
+			<groupId>cn.hutool</groupId>
+			<artifactId>hutool-parent</artifactId>
+			<version>5.8.25</version>
+		</dependency>
 	<!-- 积木报表 mongo redis 支持包 
 		<dependency>
 			<groupId>org.jeecgframework.jimureport</groupId>

+ 60 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/constant/NumConstant.java

@@ -0,0 +1,60 @@
+package org.jeecg.modules.adweb.constant;
+
+public class NumConstant {
+
+    public static final Integer MINUS_ONE = -1;
+
+    public static final Integer ZERO = 0;
+
+    public static final Integer ONE = 1;
+
+    public static final Integer TWO = 2;
+
+    public static final Integer THREE = 3;
+
+    public static final Integer FOUR = 4;
+
+    public static final Integer FIVE = 5;
+
+    public static final Integer SIX = 6;
+
+    public static final Integer SEVEN = 7;
+
+    public static final Integer EIGHT = 8;
+
+    public static final Integer NINE = 9;
+
+    public static final Integer TEN = 10;
+
+    public static final Integer ELEVEN = 11;
+
+    public static final Integer TWELF = 12;
+
+    public static final Integer THIRTEEN = 13;
+
+    public static final Integer FOURTEEN = 14;
+
+    public static final Integer FIFTEEN = 15;
+
+    public static final Integer EIGHTEEN = 18;
+
+    public static final Integer TWENTY = 20;
+
+    public static final Integer THRITY = 30;
+
+    public static final Integer CONS_50 = 50;
+
+    public static final Integer CONS_80 = 80;
+
+    public static final Integer CONS_100 = 100;
+
+    public static final Integer CONS_443 = 443;
+
+    public static final Integer SIXTY = 60;
+
+    public static final Integer ONEHUNDREDTWENTY = 120;
+
+    public static final Integer HUGE = 99999;
+
+    public static final Integer MILLION = 1000000;
+}

+ 14 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/constant/WordPressConstants.java

@@ -0,0 +1,14 @@
+package org.jeecg.modules.adweb.constant;
+
+public class WordPressConstants {
+    public static final String SSO_RES_KEY_NAME = "Adweb_Wordpress_ssoResKey";
+
+    // dev-ci1
+    public static final String DEV_CI1 = "52.83.52.93";
+
+    // dev-ci2
+    public static final String DEV_CI2 = "52.83.132.56";
+
+    //prod-server-wp
+    public static final String PROD_WP_SERVER_IP = "44.227.32.118";
+}

+ 0 - 14
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/market/mapper/SeoMarketPlanMapper.java

@@ -1,14 +0,0 @@
-package org.jeecg.modules.adweb.market.mapper;
-
-import org.jeecg.modules.adweb.market.entity.SeoMarketPlan;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-
-/**
- * @Description: 网站营销方案套餐表
- * @Author: jeecg-boot
- * @Date:   2024-09-27
- * @Version: V1.0
- */
-public interface SeoMarketPlanMapper extends BaseMapper<SeoMarketPlan> {
-
-}

+ 0 - 14
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/market/service/ISeoMarketPlanService.java

@@ -1,14 +0,0 @@
-package org.jeecg.modules.adweb.market.service;
-
-import org.jeecg.modules.adweb.market.entity.SeoMarketPlan;
-import com.baomidou.mybatisplus.extension.service.IService;
-
-/**
- * @Description: 网站营销方案套餐表
- * @Author: jeecg-boot
- * @Date:   2024-09-27
- * @Version: V1.0
- */
-public interface ISeoMarketPlanService extends IService<SeoMarketPlan> {
-
-}

+ 0 - 19
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/market/service/impl/SeoMarketPlanServiceImpl.java

@@ -1,19 +0,0 @@
-package org.jeecg.modules.adweb.market.service.impl;
-
-import org.jeecg.modules.adweb.market.entity.SeoMarketPlan;
-import org.jeecg.modules.adweb.market.mapper.SeoMarketPlanMapper;
-import org.jeecg.modules.adweb.market.service.ISeoMarketPlanService;
-import org.springframework.stereotype.Service;
-
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-
-/**
- * @Description: 网站营销方案套餐表
- * @Author: jeecg-boot
- * @Date:   2024-09-27
- * @Version: V1.0
- */
-@Service
-public class SeoMarketPlanServiceImpl extends ServiceImpl<SeoMarketPlanMapper, SeoMarketPlan> implements ISeoMarketPlanService {
-
-}

+ 43 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/site/controller/AdwebSiteManageController.java

@@ -0,0 +1,43 @@
+package org.jeecg.modules.adweb.site.controller;
+
+
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.modules.adweb.site.dto.WordPressConfig;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import org.jeecg.common.system.base.controller.JeecgController;
+import org.jeecg.modules.adweb.site.entity.AdwebSite;
+import org.jeecg.modules.adweb.site.service.IAdwebSiteService;
+
+/**
+ * @Description: adweb_site
+ * @Author: jeecg-boot
+ * @Date: 2020-12-24
+ * @Version: V1.0
+ */
+@Tag(name="adweb站点配置表单")
+@RestController
+@RequestMapping("/adweb/adwebSiteManage")
+@Slf4j
+public class AdwebSiteManageController extends JeecgController<AdwebSite, IAdwebSiteService> {
+
+    @Autowired
+    private IAdwebSiteService adwebSiteManageService;
+
+
+    /**
+     * 查询wordpress站点配置
+     * @param wordPressConfig
+     * @return
+     */
+    @PostMapping(value = "/queryWordPressConfig")
+    public Result<?> queryWordPressConfig(@RequestBody WordPressConfig wordPressConfig) {
+        WordPressConfig config = this.adwebSiteManageService.queryWordPressConfig(wordPressConfig.getSiteCode());
+        return Result.OK(config);
+    }
+}

+ 70 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/site/dto/WordPressConfig.java

@@ -0,0 +1,70 @@
+package org.jeecg.modules.adweb.site.dto;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @Description: wordpress 配置信息
+ * @Author:
+ * @date
+ */
+@Data
+public class WordPressConfig implements Serializable {
+
+    /**
+     * 站点code
+     */
+    private String siteCode;
+
+    /**
+     * wp站点域名
+     */
+    private String domain;
+
+    /**
+     * 物料模块是否嵌入WordPress,0:否;1:是
+     */
+    private Integer wordpressSwitch;
+
+    /**
+     * WordPress登录账户
+     */
+    private String wordpressName;
+
+    /**
+     * WordPress登录token
+     */
+    private String wordpressToken;
+
+    /**
+     * WordPress站点状态
+     */
+    private Integer status;
+
+    /**
+     * ssoResKey
+     */
+    private String ssoResKey;
+
+    /**
+     * wordpress配置
+     */
+    private String wordpressSetting;
+
+    /**
+     * openSetting
+     */
+    private List<String> openSetting;
+
+    /**
+     * productType   WP中产品类型
+     */
+    private String productType;
+
+    /**
+     * 是否按用户划分
+     */
+    private Integer userAccount;
+}

+ 75 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/site/entity/AdwebUserWpsite.java

@@ -0,0 +1,75 @@
+package org.jeecg.modules.adweb.site.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import org.jeecg.common.aspect.annotation.Dict;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @Description: adweb_user_wpsite
+ * @Author: jeecg-boot
+ * @Date:   2023-08-18
+ * @Version: V1.0
+ */
+@Data
+@TableName("adweb_user_wpsite")
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@Schema(description="adweb_user_wpsite")
+public class AdwebUserWpsite implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+	/**id*/
+	@TableId(type = IdType.ASSIGN_ID)
+    @Schema(description = "id")
+    private String id;
+	/**站点id*/
+	@Excel(name = "站点id", width = 15)
+    @Schema(description = "站点id")
+    @Dict(dictTable = "adweb_site",dicCode = "id",dicText = "name")
+    private Integer siteId;
+	/**用户id*/
+	@Excel(name = "用户id", width = 15)
+    @Schema(description = "用户id")
+    @Dict(dictTable = "sys_user",dicCode = "id",dicText = "realname")
+    private String uid;
+	/**用户账户名*/
+	@Excel(name = "用户账户名", width = 15)
+    @Schema(description = "用户账户名")
+    private String username;
+	/**加密后用户账户名(md5)*/
+	@Excel(name = "加密后用户账户名(md5)", width = 15)
+    @Schema(description = "加密后用户账户名(md5)")
+    private String wpUsername;
+	/**wp密码*/
+	@Excel(name = "wp密码", width = 15)
+    @Schema(description = "wp密码")
+    private String wpUserpwd;
+	/**wp用户角色*/
+	@Excel(name = "wp用户角色", width = 15)
+    @Schema(description = "wp用户角色")
+    private String wpUserrole;
+
+    /**
+     * 状态 0:已删除 1:正常
+     */
+	private Integer status;
+
+    /**
+     * 更新时间
+     */
+    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @Schema(description = "更新时间")
+    private Date updateTime;
+}

+ 15 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/site/mapper/AdwebUserWpsiteMapper.java

@@ -0,0 +1,15 @@
+package org.jeecg.modules.adweb.site.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.jeecg.modules.adweb.site.entity.AdwebUserWpsite;
+
+
+/**
+ * @Description: adweb_user_wpsite
+ * @Author: jeecg-boot
+ * @Date:   2023-08-18
+ * @Version: V1.0
+ */
+public interface AdwebUserWpsiteMapper extends BaseMapper<AdwebUserWpsite> {
+
+}

+ 1 - 1
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/market/mapper/xml/SeoMarketPlanMapper.xml → jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/site/mapper/xml/AdwebUserWpsiteMapper.xml

@@ -1,5 +1,5 @@
 <?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="org.jeecg.modules.adweb.market.mapper.SeoMarketPlanMapper">
+<mapper namespace="org.jeecg.modules.adweb.site.mapper.AdwebUserWpsiteMapper">
 
 </mapper>

+ 7 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/site/service/IAdwebSiteService.java

@@ -2,6 +2,7 @@ package org.jeecg.modules.adweb.site.service;
 
 import org.jeecg.modules.adweb.site.entity.AdwebSite;
 import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.adweb.site.dto.WordPressConfig;
 
 /**
  * @Description: adweb站点配置表单
@@ -11,4 +12,10 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface IAdwebSiteService extends IService<AdwebSite> {
 
+
+    /**
+     * 查询wordpress站点配置
+     * @param siteCode
+     */
+    public WordPressConfig queryWordPressConfig(String siteCode);
 }

+ 33 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/site/service/IAdwebUserWpsiteService.java

@@ -0,0 +1,33 @@
+package org.jeecg.modules.adweb.site.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.adweb.site.entity.AdwebUserWpsite;
+
+import java.util.List;
+
+/**
+ * @Description: adweb_user_wpsite
+ * @Author: jeecg-boot
+ * @Date:   2023-08-18
+ * @Version: V1.0
+ */
+public interface IAdwebUserWpsiteService extends IService<AdwebUserWpsite> {
+    List<AdwebUserWpsite> getSitesByUid(String uid);
+
+    /**
+     * 查找相同数据
+     * @param wpUsername
+     * @param siteId
+     * @return
+     */
+    List<AdwebUserWpsite> getByWpUsername(String wpUsername, Integer siteId);
+
+    List<AdwebUserWpsite> getByUserID(String userId);
+
+    /**
+     * 根据站点id获取wp站点用户信息
+     * @param siteId
+     * @return
+     */
+    public List<AdwebUserWpsite> getUserBySiteId(Integer siteId);
+}

+ 106 - 1
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/site/service/impl/AdwebSiteServiceImpl.java

@@ -1,11 +1,28 @@
 package org.jeecg.modules.adweb.site.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.apache.commons.lang.StringUtils;
+import org.apache.shiro.SecurityUtils;
+import org.jeecg.common.system.vo.LoginUser;
+import org.jeecg.common.util.FastJsonUtil;
+import org.jeecg.common.util.RedisUtil;
+import org.jeecg.modules.adweb.constant.NumConstant;
+import org.jeecg.modules.adweb.constant.WordPressConstants;
+import org.jeecg.modules.adweb.site.dto.WordPressConfig;
 import org.jeecg.modules.adweb.site.entity.AdwebSite;
+import org.jeecg.modules.adweb.site.entity.AdwebUserWpsite;
 import org.jeecg.modules.adweb.site.mapper.AdwebSiteMapper;
 import org.jeecg.modules.adweb.site.service.IAdwebSiteService;
+import org.jeecg.modules.system.mapper.SysUserRoleMapper;
+import org.jeecg.modules.adweb.site.service.IAdwebUserWpsiteService;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import jakarta.annotation.Resource;
 
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import java.util.List;
+import java.util.Map;
 
 /**
  * @Description: adweb站点配置表单
@@ -16,4 +33,92 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 @Service
 public class AdwebSiteServiceImpl extends ServiceImpl<AdwebSiteMapper, AdwebSite> implements IAdwebSiteService {
 
+
+    @Resource
+    private SysUserRoleMapper sysUserRoleMapper;
+
+    @Autowired
+    private IAdwebUserWpsiteService adwebUserWpsiteService;
+
+    private final RedisUtil redisUtil;
+
+    public AdwebSiteServiceImpl(RedisUtil redisUtil) {
+        this.redisUtil = redisUtil;
+    }
+
+    /**
+     * 查询wordpress站点配置
+     *
+     * @param siteCode
+     */
+    @Override
+    public WordPressConfig queryWordPressConfig(String siteCode) {
+        LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        WordPressConfig config = new WordPressConfig();
+        if (StringUtils.isNotBlank(siteCode)) {
+            return config;
+        }
+        try {
+            List<AdwebSite> list = this.list(new LambdaQueryWrapper<AdwebSite>()
+                    .eq(AdwebSite::getCode, siteCode));
+            if (!list.isEmpty()) {
+                AdwebSite adwebSite = list.get(0);
+                BeanUtils.copyProperties(adwebSite, config);
+                // 开启WP&未上线站点
+                if (adwebSite.getStatus() == NumConstant.TWO.intValue() && adwebSite.getWordpressSwitch() == NumConstant.ONE.intValue()) {
+                    String domainDev = adwebSite.getDomainDev();
+                    domainDev = domainDev.replaceAll("https://", "").replaceAll("http://", "");
+                    domainDev = "https://" + domainDev;
+                    config.setDomain(domainDev);
+                }
+                config.setSiteCode(adwebSite.getCode());
+                String ssoResKeyName = WordPressConstants.SSO_RES_KEY_NAME + siteCode;
+                if (redisUtil.hasKey(ssoResKeyName)) {
+                    String ssoResKey = String.valueOf(redisUtil.get(ssoResKeyName));
+                    config.setSsoResKey(ssoResKey);
+                }
+
+                config.setWordpressName("adweb-user");
+                //处理WordPress配置数据
+                if (StringUtils.isNotBlank(adwebSite.getWordpressSetting())) {
+                    Map<String, Object> wordpressSettingMap = FastJsonUtil.parseObject(adwebSite.getWordpressSetting(), Map.class);
+                    int userAccount = 2;
+
+                    if (wordpressSettingMap.get("userAccount") != null) {
+                        userAccount = Integer.parseInt(wordpressSettingMap.get("userAccount").toString());
+                        if (userAccount == 1) {
+                            if (loginUser != null) {
+                                List<String> role = sysUserRoleMapper.getRoleByUserName(loginUser.getUsername());
+                                if (role.toString().contains("adweb_sub_vip") || role.toString().contains("adweb_vip")) {
+                                    List<AdwebUserWpsite> adwebUserWpsites = adwebUserWpsiteService.getSitesByUid(loginUser.getId());
+                                    config.setWordpressName(adwebUserWpsites.get(0).getWpUsername());
+                                } else if (role.toString().contains("admin") || role.toString().contains("adweb_seo_manager") || role.toString().contains("adweb_site_manager") || role.toString().contains("adweb_oem")) {
+                                    List<AdwebUserWpsite> sites = adwebUserWpsiteService.getSitesByUid(adwebSite.getUid());
+                                    config.setWordpressName(sites.get(0).getWpUsername());
+                                }
+                            }
+                        }
+                    }
+
+                    if (wordpressSettingMap.size() == 1) {
+                        config.setProductType(wordpressSettingMap.get("productType").toString());
+                    } else {
+                        config.setWordpressSetting(wordpressSettingMap.get("setting").toString());
+                        List<String> open = FastJsonUtil.parseList(wordpressSettingMap.get("open").toString(), String.class);
+                        if (!open.isEmpty()) {
+                            config.setOpenSetting(open);
+                        }
+                        if (wordpressSettingMap.size() > 2) {
+                            config.setProductType(wordpressSettingMap.get("productType").toString());
+                        }
+                    }
+
+                }
+
+            }
+        } catch (Exception e) {
+            log.error("查询wordpress站点配置失败", e);
+        }
+        return config;
+    }
 }

+ 63 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/site/service/impl/AdwebUserWpsiteServiceImpl.java

@@ -0,0 +1,63 @@
+package org.jeecg.modules.adweb.site.service.impl;
+
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import jakarta.annotation.Resource;
+import org.jeecg.modules.adweb.site.entity.AdwebUserWpsite;
+import org.jeecg.modules.adweb.site.mapper.AdwebUserWpsiteMapper;
+import org.jeecg.modules.adweb.site.service.IAdwebUserWpsiteService;
+import org.springframework.stereotype.Service;
+import org.jeecg.modules.adweb.constant.NumConstant;
+
+import java.util.List;
+
+/**
+ * @Description: adweb_user_wpsite
+ * @Author: jeecg-boot
+ * @Date:   2023-08-18
+ * @Version: V1.0
+ */
+@Service
+public class AdwebUserWpsiteServiceImpl extends ServiceImpl<AdwebUserWpsiteMapper, AdwebUserWpsite> implements IAdwebUserWpsiteService {
+
+    @Resource
+    private AdwebUserWpsiteMapper adwebUserWpsiteMapper;
+    @Override
+    public List<AdwebUserWpsite> getSitesByUid(String uid) {
+        List<AdwebUserWpsite> adwebUserWpsites = adwebUserWpsiteMapper.selectList(new LambdaQueryWrapper<AdwebUserWpsite>()
+                .eq(AdwebUserWpsite::getUid,uid));
+        return adwebUserWpsites;
+    }
+
+    @Override
+    public List<AdwebUserWpsite> getByWpUsername(String wpUsername, Integer siteId) {
+        List<AdwebUserWpsite> adwebUserWpsites = adwebUserWpsiteMapper.selectList(new LambdaQueryWrapper<AdwebUserWpsite>()
+                .eq(AdwebUserWpsite::getWpUsername, wpUsername)
+                .eq(AdwebUserWpsite::getSiteId, siteId));
+        return adwebUserWpsites;
+    }
+
+    @Override
+    public List<AdwebUserWpsite> getByUserID(String userId) {
+        QueryWrapper<AdwebUserWpsite> adwebUserWpsiteQueryWrapper = new QueryWrapper<>();
+        adwebUserWpsiteQueryWrapper.eq("uid",userId);
+        adwebUserWpsiteQueryWrapper.eq("status", NumConstant.ONE);
+        List<AdwebUserWpsite> adwebUserWpsites = this.list(adwebUserWpsiteQueryWrapper);
+        return adwebUserWpsites;
+    }
+
+    /**
+     * 根据站点id获取wp站点用户信息
+     * @param siteId
+     * @return
+     */
+    @Override
+    public List<AdwebUserWpsite> getUserBySiteId(Integer siteId) {
+        QueryWrapper<AdwebUserWpsite> adwebUserWpsiteQueryWrapper = new QueryWrapper<>();
+        adwebUserWpsiteQueryWrapper.eq("site_id",siteId);
+        adwebUserWpsiteQueryWrapper.eq("status", NumConstant.ONE);
+        return this.list(adwebUserWpsiteQueryWrapper);
+    }
+}

+ 25 - 25
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/market/controller/SeoMarketPlanController.java → jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/subscribePlan/controller/SubscribePlanController.java

@@ -1,4 +1,4 @@
-package org.jeecg.modules.adweb.market.controller;
+package org.jeecg.modules.adweb.subscribePlan.controller;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -12,8 +12,8 @@ import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.base.controller.JeecgController;
 import org.jeecg.common.system.query.QueryGenerator;
-import org.jeecg.modules.adweb.market.entity.SeoMarketPlan;
-import org.jeecg.modules.adweb.market.service.ISeoMarketPlanService;
+import org.jeecg.modules.adweb.subscribePlan.entity.SubscribePlan;
+import org.jeecg.modules.adweb.subscribePlan.service.ISubscribePlanService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
@@ -29,11 +29,11 @@ import java.util.Arrays;
  */
 @Tag(name = "网站营销方案套餐表")
 @RestController
-@RequestMapping("/adweb/seoMarketPlan")
+@RequestMapping("/adweb/subscribePlan")
 @Slf4j
-public class SeoMarketPlanController extends JeecgController<SeoMarketPlan, ISeoMarketPlanService> {
+public class SubscribePlanController extends JeecgController<SubscribePlan, ISubscribePlanService> {
     @Autowired
-    private ISeoMarketPlanService seoMarketPlanService;
+    private ISubscribePlanService seoMarketPlanService;
 
 //    @Autowired
 //	private IAdwebMaterialCheckService checkService;
@@ -41,7 +41,7 @@ public class SeoMarketPlanController extends JeecgController<SeoMarketPlan, ISeo
     /**
      * 分页列表查询
      *
-     * @param seoMarketPlan
+     * @param subscribePlan
      * @param pageNo
      * @param pageSize
      * @param req
@@ -50,43 +50,43 @@ public class SeoMarketPlanController extends JeecgController<SeoMarketPlan, ISeo
     //@AutoLog(value = "网站营销方案套餐表-分页列表查询")
     @Operation(summary = "网站营销方案套餐表-分页列表查询")
     @GetMapping(value = "/list")
-    public Result<IPage<SeoMarketPlan>> queryPageList(SeoMarketPlan seoMarketPlan,
+    public Result<IPage<SubscribePlan>> queryPageList(SubscribePlan subscribePlan,
                                                       @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
                                                       @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
                                                       HttpServletRequest req) {
-        QueryWrapper<SeoMarketPlan> queryWrapper = QueryGenerator.initQueryWrapper(seoMarketPlan, req.getParameterMap());
-        Page<SeoMarketPlan> page = new Page<SeoMarketPlan>(pageNo, pageSize);
-        IPage<SeoMarketPlan> pageList = seoMarketPlanService.page(page, queryWrapper);
+        QueryWrapper<SubscribePlan> queryWrapper = QueryGenerator.initQueryWrapper(subscribePlan, req.getParameterMap());
+        Page<SubscribePlan> page = new Page<SubscribePlan>(pageNo, pageSize);
+        IPage<SubscribePlan> pageList = seoMarketPlanService.page(page, queryWrapper);
         return Result.OK(pageList);
     }
 
     /**
      * 添加
      *
-     * @param seoMarketPlan
+     * @param subscribePlan
      * @return
      */
     @AutoLog(value = "网站营销方案套餐表-添加")
     @Operation(summary = "网站营销方案套餐表-添加")
     @PreAuthorize("@jps.requiresPermissions('adweb:seo_market_plan:add')")
     @PostMapping(value = "/add")
-    public Result<String> add(@RequestBody SeoMarketPlan seoMarketPlan) {
-        seoMarketPlanService.save(seoMarketPlan);
+    public Result<String> add(@RequestBody SubscribePlan subscribePlan) {
+        seoMarketPlanService.save(subscribePlan);
         return Result.OK("添加成功!");
     }
 
     /**
      * 编辑
      *
-     * @param seoMarketPlan
+     * @param subscribePlan
      * @return
      */
     @AutoLog(value = "网站营销方案套餐表-编辑")
     @Operation(summary = "网站营销方案套餐表-编辑")
     @PreAuthorize("@jps.requiresPermissions('adweb:seo_market_plan:edit')")
     @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST})
-    public Result<String> edit(@RequestBody SeoMarketPlan seoMarketPlan) {
-        seoMarketPlanService.updateById(seoMarketPlan);
+    public Result<String> edit(@RequestBody SubscribePlan subscribePlan) {
+        seoMarketPlanService.updateById(subscribePlan);
         return Result.OK("编辑成功!");
     }
 
@@ -129,24 +129,24 @@ public class SeoMarketPlanController extends JeecgController<SeoMarketPlan, ISeo
     //@AutoLog(value = "网站营销方案套餐表-通过id查询")
     @Operation(summary = "网站营销方案套餐表-通过id查询")
     @GetMapping(value = "/queryById")
-    public Result<SeoMarketPlan> queryById(@RequestParam(name = "id", required = true) String id) {
-        SeoMarketPlan seoMarketPlan = seoMarketPlanService.getById(id);
-        if (seoMarketPlan == null) {
+    public Result<SubscribePlan> queryById(@RequestParam(name = "id", required = true) String id) {
+        SubscribePlan subscribePlan = seoMarketPlanService.getById(id);
+        if (subscribePlan == null) {
             return Result.error("未找到对应数据");
         }
-        return Result.OK(seoMarketPlan);
+        return Result.OK(subscribePlan);
     }
 
     /**
      * 导出excel
      *
      * @param request
-     * @param seoMarketPlan
+     * @param subscribePlan
      */
     @PreAuthorize("@jps.requiresPermissions('adweb:seo_market_plan:exportXls')")
     @RequestMapping(value = "/exportXls")
-    public ModelAndView exportXls(HttpServletRequest request, SeoMarketPlan seoMarketPlan) {
-        return super.exportXls(request, seoMarketPlan, SeoMarketPlan.class, "网站营销方案套餐表");
+    public ModelAndView exportXls(HttpServletRequest request, SubscribePlan subscribePlan) {
+        return super.exportXls(request, subscribePlan, SubscribePlan.class, "网站营销方案套餐表");
     }
 
     /**
@@ -159,7 +159,7 @@ public class SeoMarketPlanController extends JeecgController<SeoMarketPlan, ISeo
     @PreAuthorize("@jps.requiresPermissions('adweb:seo_market_plan:importExcel')")
     @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
     public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
-        return super.importExcel(request, response, SeoMarketPlan.class);
+        return super.importExcel(request, response, SubscribePlan.class);
     }
 
 //	/**

+ 33 - 3
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/market/entity/SeoMarketPlan.java → jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/subscribePlan/entity/SubscribePlan.java

@@ -1,4 +1,4 @@
-package org.jeecg.modules.adweb.market.entity;
+package org.jeecg.modules.adweb.subscribePlan.entity;
 
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
@@ -21,11 +21,11 @@ import java.io.Serializable;
  * @Version: V1.0
  */
 @Data
-@TableName("seo_market_plan")
+@TableName("subscribe_plan")
 @Accessors(chain = true)
 @EqualsAndHashCode(callSuper = false)
 @Schema(description="网站营销方案套餐表")
-public class SeoMarketPlan implements Serializable {
+public class SubscribePlan implements Serializable {
     private static final long serialVersionUID = 1L;
 
 	/**主键*/
@@ -81,4 +81,34 @@ public class SeoMarketPlan implements Serializable {
 	@Excel(name = "价格", width = 15)
     @Schema(description = "价格")
     private java.lang.Double price;
+
+    /**文章数量*/
+    @Excel(name = "文章数量", width = 15)
+    @Schema(description = "文章数量")
+    private java.lang.Integer article;
+
+    /**博客数量*/
+    @Excel(name = "博客数量", width = 15)
+    @Schema(description = "博客数量")
+    private java.lang.Integer blog;
+
+    /**外链数量*/
+    @Excel(name = "外链数量", width = 15)
+    @Schema(description = "外链数量")
+    private java.lang.Integer externalLinks;
+
+    /**长尾词数量*/
+    @Excel(name = "长尾词数量", width = 15)
+    @Schema(description = "长尾词数量")
+    private java.lang.Integer longTailKeyword;
+
+    /**访问数量*/
+    @Excel(name = "访问数量", width = 15)
+    @Schema(description = "访问数量")
+    private java.lang.Integer pageView;
+
+    /**指定词数量*/
+    @Excel(name = "指定词数量", width = 15)
+    @Schema(description = "指定词数量")
+    private java.lang.Integer specifyKeyword;
 }

+ 14 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/subscribePlan/mapper/SubscribePlanMapper.java

@@ -0,0 +1,14 @@
+package org.jeecg.modules.adweb.subscribePlan.mapper;
+
+import org.jeecg.modules.adweb.subscribePlan.entity.SubscribePlan;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * @Description: 网站营销方案套餐表
+ * @Author: jeecg-boot
+ * @Date:   2024-09-27
+ * @Version: V1.0
+ */
+public interface SubscribePlanMapper extends BaseMapper<SubscribePlan> {
+
+}

+ 5 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/subscribePlan/mapper/xml/SubscribePlanMapper.xml

@@ -0,0 +1,5 @@
+<?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="org.jeecg.modules.adweb.subscribePlan.mapper.SubscribePlanMapper">
+
+</mapper>

+ 14 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/subscribePlan/service/ISubscribePlanService.java

@@ -0,0 +1,14 @@
+package org.jeecg.modules.adweb.subscribePlan.service;
+
+import org.jeecg.modules.adweb.subscribePlan.entity.SubscribePlan;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * @Description: 网站营销方案套餐表
+ * @Author: jeecg-boot
+ * @Date:   2024-09-27
+ * @Version: V1.0
+ */
+public interface ISubscribePlanService extends IService<SubscribePlan> {
+
+}

+ 19 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/subscribePlan/service/impl/SubscribePlanServiceImpl.java

@@ -0,0 +1,19 @@
+package org.jeecg.modules.adweb.subscribePlan.service.impl;
+
+import org.jeecg.modules.adweb.subscribePlan.entity.SubscribePlan;
+import org.jeecg.modules.adweb.subscribePlan.mapper.SubscribePlanMapper;
+import org.jeecg.modules.adweb.subscribePlan.service.ISubscribePlanService;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+/**
+ * @Description: 网站营销方案套餐表
+ * @Author: jeecg-boot
+ * @Date:   2024-09-27
+ * @Version: V1.0
+ */
+@Service
+public class SubscribePlanServiceImpl extends ServiceImpl<SubscribePlanMapper, SubscribePlan> implements ISubscribePlanService {
+
+}

+ 176 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/theme/controller/AdwebThemeController.java

@@ -0,0 +1,176 @@
+package org.jeecg.modules.adweb.theme.controller;
+
+import java.util.Arrays;
+
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.modules.adweb.theme.entity.AdwebTheme;
+import org.jeecg.modules.adweb.theme.service.IAdwebThemeService;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.extern.slf4j.Slf4j;
+
+import org.jeecg.common.system.base.controller.JeecgController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.servlet.ModelAndView;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.jeecg.modules.adweb.theme.dto.AdwebTemplateTagDto;
+
+ /**
+ * @Description: adweb主题库
+ * @Author: jeecg-boot
+ * @Date:   2024-09-30
+ * @Version: V1.0
+ */
+@Tag(name="adweb主题库")
+@RestController
+@RequestMapping("/adweb/adwebTheme")
+@Slf4j
+public class AdwebThemeController extends JeecgController<AdwebTheme, IAdwebThemeService> {
+	@Autowired
+	private IAdwebThemeService adwebThemeService;
+	
+	/**
+	 * 分页列表查询
+	 *
+	 * @param adwebTheme
+	 * @param pageNo
+	 * @param pageSize
+	 * @param req
+	 * @return
+	 */
+	//@AutoLog(value = "adweb主题库-分页列表查询")
+	@Operation(summary="adweb主题库-分页列表查询")
+	@GetMapping(value = "/list")
+	public Result<IPage<AdwebTheme>> queryPageList(AdwebTheme adwebTheme,
+								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+								   HttpServletRequest req) {
+		QueryWrapper<AdwebTheme> queryWrapper = QueryGenerator.initQueryWrapper(adwebTheme, req.getParameterMap());
+		Page<AdwebTheme> page = new Page<AdwebTheme>(pageNo, pageSize);
+		IPage<AdwebTheme> pageList = adwebThemeService.page(page, queryWrapper);
+		return Result.OK(pageList);
+	}
+	
+	/**
+	 *   添加
+	 *
+	 * @param adwebTheme
+	 * @return
+	 */
+	@AutoLog(value = "adweb主题库-添加")
+	@Operation(summary="adweb主题库-添加")
+	@PreAuthorize("@jps.requiresPermissions('adweb:adweb_theme:add')")
+	@PostMapping(value = "/add")
+	public Result<String> add(@RequestBody AdwebTheme adwebTheme) {
+		adwebThemeService.save(adwebTheme);
+		return Result.OK("添加成功!");
+	}
+	
+	/**
+	 *  编辑
+	 *
+	 * @param adwebTheme
+	 * @return
+	 */
+	@AutoLog(value = "adweb主题库-编辑")
+	@Operation(summary="adweb主题库-编辑")
+    @PreAuthorize("@jps.requiresPermissions('adweb:adweb_theme:edit')")
+	@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
+	public Result<String> edit(@RequestBody AdwebTheme adwebTheme) {
+		adwebThemeService.updateById(adwebTheme);
+		return Result.OK("编辑成功!");
+	}
+	
+	/**
+	 *   通过id删除
+	 *
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "adweb主题库-通过id删除")
+	@Operation(summary="adweb主题库-通过id删除")
+    @PreAuthorize("@jps.requiresPermissions('adweb:adweb_theme:delete')")
+	@DeleteMapping(value = "/delete")
+	public Result<String> delete(@RequestParam(name="id",required=true) String id) {
+		adwebThemeService.removeById(id);
+		return Result.OK("删除成功!");
+	}
+	
+	/**
+	 *  批量删除
+	 *
+	 * @param ids
+	 * @return
+	 */
+	@AutoLog(value = "adweb主题库-批量删除")
+	@Operation(summary="adweb主题库-批量删除")
+    @PreAuthorize("@jps.requiresPermissions('adweb:adweb_theme:deleteBatch')")
+	@DeleteMapping(value = "/deleteBatch")
+	public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+		this.adwebThemeService.removeByIds(Arrays.asList(ids.split(",")));
+		return Result.OK("批量删除成功!");
+	}
+	
+	/**
+	 * 通过id查询
+	 *
+	 * @param id
+	 * @return
+	 */
+	//@AutoLog(value = "adweb主题库-通过id查询")
+	@Operation(summary="adweb主题库-通过id查询")
+	@GetMapping(value = "/queryById")
+	public Result<AdwebTheme> queryById(@RequestParam(name="id",required=true) String id) {
+		AdwebTheme adwebTheme = adwebThemeService.getById(id);
+		if(adwebTheme==null) {
+			return Result.error("未找到对应数据");
+		}
+		return Result.OK(adwebTheme);
+	}
+
+    /**
+    * 导出excel
+    *
+    * @param request
+    * @param adwebTheme
+    */
+    @PreAuthorize("@jps.requiresPermissions('adweb:adweb_theme:exportXls')")
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, AdwebTheme adwebTheme) {
+        return super.exportXls(request, adwebTheme, AdwebTheme.class, "adweb主题库");
+    }
+
+    /**
+      * 通过excel导入数据
+    *
+    * @param request
+    * @param response
+    * @return
+    */
+    @PreAuthorize("@jps.requiresPermissions('adweb:adweb_theme:importExcel')")
+    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+        return super.importExcel(request, response, AdwebTheme.class);
+    }
+
+	 /**
+	  *
+	  * @return
+	  */
+	 @GetMapping(value = "/getTemplateTags")
+	 public Result<?> getTemplateTags() {
+
+
+		 return Result.OK("");
+	 }
+
+}

+ 11 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/theme/dto/AdwebTemplateTagDto.java

@@ -0,0 +1,11 @@
+package org.jeecg.modules.adweb.theme.dto;
+
+import lombok.Data;
+
+@Data
+public class AdwebTemplateTagDto {
+    private Integer tagValue;
+    private String tagName;
+    private String templateName;
+    private Integer templateCount;
+}

+ 90 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/theme/entity/AdwebTheme.java

@@ -0,0 +1,90 @@
+package org.jeecg.modules.adweb.theme.entity;
+
+import java.io.Serializable;
+import java.io.UnsupportedEncodingException;
+import java.util.Date;
+import java.math.BigDecimal;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.jeecg.common.aspect.annotation.Dict;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * @Description: adweb主题库
+ * @Author: jeecg-boot
+ * @Date:   2024-09-30
+ * @Version: V1.0
+ */
+@Data
+@TableName("adweb_theme")
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@Schema(description="adweb主题库")
+public class AdwebTheme implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+	/**主键*/
+	@TableId(type = IdType.ASSIGN_ID)
+    @Schema(description = "主键")
+    private java.lang.String id;
+	/**创建人*/
+    @Schema(description = "创建人")
+    private java.lang.String createBy;
+	/**创建日期*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @Schema(description = "创建日期")
+    private java.util.Date createTime;
+	/**更新人*/
+    @Schema(description = "更新人")
+    private java.lang.String updateBy;
+	/**更新日期*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @Schema(description = "更新日期")
+    private java.util.Date updateTime;
+	/**模板名称*/
+	@Excel(name = "模板名称", width = 15)
+    @Schema(description = "模板名称")
+    private java.lang.String name;
+	/**上架状态:0:未上架;1:已上架;默认0*/
+	@Excel(name = "上架状态:0:未上架;1:已上架;默认0", width = 15)
+    @Schema(description = "上架状态:0:未上架;1:已上架;默认0")
+    private java.lang.Integer putaway;
+	/**图片路径*/
+	@Excel(name = "图片路径", width = 15)
+    @Schema(description = "图片路径")
+    private java.lang.String images;
+	/**模板价格*/
+	@Excel(name = "模板价格", width = 15)
+    @Schema(description = "模板价格")
+    private java.math.BigDecimal templatePrice;
+	/**模板标签*/
+	@Excel(name = "模板标签", width = 15)
+    @Schema(description = "模板标签")
+    private java.lang.String templateTags;
+	/**主题颜色ID*/
+	@Excel(name = "主题颜色ID", width = 15)
+    @Schema(description = "主题颜色ID")
+    private java.lang.Integer templateColorId;
+	/**站点域名*/
+	@Excel(name = "站点域名", width = 15)
+    @Schema(description = "站点域名")
+    private java.lang.String domain;
+	/**站点备注*/
+	@Excel(name = "站点备注", width = 15)
+    @Schema(description = "站点备注")
+    private java.lang.String descirbe;
+	/**站点状态:0:创建失败,1:正常运行,2:运行异常 3:站点停止*/
+	@Excel(name = "站点状态:0:创建失败,1:正常运行,2:运行异常 3:站点停止", width = 15)
+    @Schema(description = "站点状态:0:创建失败,1:正常运行,2:运行异常 3:站点停止")
+    private java.lang.Integer runStatus;
+}

+ 14 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/theme/mapper/AdwebThemeMapper.java

@@ -0,0 +1,14 @@
+package org.jeecg.modules.adweb.theme.mapper;
+
+import org.jeecg.modules.adweb.theme.entity.AdwebTheme;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * @Description: adweb主题库
+ * @Author: jeecg-boot
+ * @Date:   2024-09-30
+ * @Version: V1.0
+ */
+public interface AdwebThemeMapper extends BaseMapper<AdwebTheme> {
+
+}

+ 5 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/theme/mapper/xml/AdwebThemeMapper.xml

@@ -0,0 +1,5 @@
+<?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="org.jeecg.modules.adweb.theme.mapper.AdwebThemeMapper">
+
+</mapper>

+ 14 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/theme/service/IAdwebThemeService.java

@@ -0,0 +1,14 @@
+package org.jeecg.modules.adweb.theme.service;
+
+import org.jeecg.modules.adweb.theme.entity.AdwebTheme;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * @Description: adweb主题库
+ * @Author: jeecg-boot
+ * @Date:   2024-09-30
+ * @Version: V1.0
+ */
+public interface IAdwebThemeService extends IService<AdwebTheme> {
+
+}

+ 19 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/theme/service/impl/AdwebThemeServiceImpl.java

@@ -0,0 +1,19 @@
+package org.jeecg.modules.adweb.theme.service.impl;
+
+import org.jeecg.modules.adweb.theme.entity.AdwebTheme;
+import org.jeecg.modules.adweb.theme.mapper.AdwebThemeMapper;
+import org.jeecg.modules.adweb.theme.service.IAdwebThemeService;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+/**
+ * @Description: adweb主题库
+ * @Author: jeecg-boot
+ * @Date:   2024-09-30
+ * @Version: V1.0
+ */
+@Service
+public class AdwebThemeServiceImpl extends ServiceImpl<AdwebThemeMapper, AdwebTheme> implements IAdwebThemeService {
+
+}

+ 5 - 5
jeecg-module-system/jeecg-system-start/src/main/resources/application-dev.yml

@@ -166,9 +166,9 @@ spring:
           slow-sql-millis: 5000
       datasource:
         master:
-          url: jdbc:mysql://127.0.0.1:3306/adweb3?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
-          username: root
-          password: root
+          url: jdbc:mysql://52.83.163.165:3306/adweb3_dev?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
+          username: adweb3_dev
+          password: Advich@2024,.
           driver-class-name: com.mysql.cj.jdbc.Driver
           # 多数据源配置
           #multi-datasource1:
@@ -221,9 +221,9 @@ jeecg:
     app: http://localhost:8051
   path:
     #文件上传根目录 设置
-    upload: /opt/upFiles
+    upload: D:/Advich/Project/Adweb3.0
     #webapp文件路径
-    webapp: /opt/webapp
+    webapp: D:/Advich/Project/Adweb3.0
   #阿里云oss存储和大鱼短信秘钥配置
   oss:
     accessKey: ??