From 08e9a67dd679f311e79a27b04cd0c53a30b4bccf Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期四, 04 六月 2026 18:33:22 +0800
Subject: [PATCH] aaa

---
 server/service/src/main/java/com/doumee/service/business/impl/WebParamServiceImpl.java |  165 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 164 insertions(+), 1 deletions(-)

diff --git a/server/service/src/main/java/com/doumee/service/business/impl/WebParamServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/WebParamServiceImpl.java
index e3f920e..44e0e3e 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/WebParamServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/WebParamServiceImpl.java
@@ -1,8 +1,12 @@
 package com.doumee.service.business.impl;
 
+import com.doumee.biz.system.SystemDictDataBiz;
+import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.exception.BusinessException;
 import com.doumee.core.model.LoginUserInfo;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Constants;
 import com.doumee.core.utils.Utils;
 import com.doumee.dao.business.WebParamMapper;
 import com.doumee.dao.business.model.WebParam;
@@ -12,6 +16,7 @@
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.shiro.SecurityUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -33,13 +38,45 @@
     @Autowired
     private WebParamMapper webParamMapper;
 
+    @Autowired
+    private SystemDictDataBiz systemDictDataBiz;
+
     @Override
     public WebParam findOne() {
         LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
         QueryWrapper<WebParam> wrapper = new QueryWrapper<>();
         wrapper.eq("COMPANY_ID",user.getCompanyId());
         wrapper.last(" limit 1  ");
-        return webParamMapper.selectOne(wrapper);
+        WebParam webParam = webParamMapper.selectOne(wrapper);
+        if(!Objects.isNull(webParam)){
+            webParam.setResourcePath(systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode() +
+                    systemDictDataBiz.queryByCode(Constants.OSS,Constants.WEB_PARAM).getCode());
+            webParam.setAnchorPageVersion(normalizeAnchorPageVersion(webParam.getAnchorPageVersion()));
+        }else{
+            webParam = new WebParam();
+            webParam.setResourcePath(systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode() +
+                    systemDictDataBiz.queryByCode(Constants.OSS,Constants.WEB_PARAM).getCode());
+            webParam.setBgImg(systemDictDataBiz.queryByCode(Constants.WEB_PARAM,Constants.BG_IMG).getCode());
+            webParam.setTopImg(systemDictDataBiz.queryByCode(Constants.WEB_PARAM,Constants.TOP_IMG).getCode());
+            webParam.setPkImg(systemDictDataBiz.queryByCode(Constants.WEB_PARAM,Constants.PK_IMG).getCode());
+            webParam.setMainColor(systemDictDataBiz.queryByCode(Constants.WEB_PARAM,Constants.MAIN_COLOR).getCode());
+            webParam.setRangeSize(systemDictDataBiz.queryByCode(Constants.WEB_PARAM,Constants.RANGE_SIZE).getCode());
+            webParam.setAnchorPageVersion(ANCHOR_PAGE_V2);
+        }
+        return webParam;
+    }
+
+    @Override
+    public WebParam findOneNew() {
+        LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+        QueryWrapper<WebParam> wrapper = new QueryWrapper<>();
+        wrapper.lambda().eq(WebParam::getCompanyId,user.getCompanyId());
+        wrapper.last(" limit 1  ");
+        WebParam webParam = webParamMapper.selectOne(wrapper);
+        if (webParam != null) {
+            webParam.setAnchorPageVersion(normalizeAnchorPageVersion(webParam.getAnchorPageVersion()));
+        }
+        return webParam;
     }
 
 
@@ -54,16 +91,142 @@
             webParam = new WebParam();
             BeanUtils.copyProperties(updateWebParamDTO,webParam);
             webParam.setCreateTime(new Date());
+            webParam.setDeleted(Constants.ZERO);
             webParam.setCompanyId(user.getCompanyId());
             webParam.setCreateUser(user.getId());
             webParamMapper.insert(webParam);
         }else{
             BeanUtils.copyProperties(updateWebParamDTO,webParam);
+            applyAnchorPageVersion(webParam, updateWebParamDTO.getAnchorPageVersion());
+            webParam.setUpdateUser(user.getId());
+            webParam.setUpdateTime(new Date());
+            webParamMapper.updateById(webParam);
+        }
+    }
+    @Override
+    public void  renewUpdate(UpdateWebParamDTO updateWebParamDTO){
+        if(StringUtils.isBlank(updateWebParamDTO.getNewParam())){
+            throw  new BusinessException(ResponseStatus.BAD_REQUEST);
+        }
+        LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+        QueryWrapper<WebParam> wrapper = new QueryWrapper<>();
+        wrapper.lambda().eq(WebParam::getCompanyId,user.getCompanyId());
+        wrapper.last(" limit 1  ");
+        WebParam webParam = webParamMapper.selectOne(wrapper);
+        if(Objects.isNull(webParam)){
+            webParam = new WebParam();
+            BeanUtils.copyProperties(updateWebParamDTO,webParam);
+            webParam.setCreateTime(new Date());
+            webParam.setDeleted(Constants.ZERO);
+            webParam.setCompanyId(user.getCompanyId());
+            webParam.setCreateUser(user.getId());
+            webParamMapper.insert(webParam);
+        }else{
+            BeanUtils.copyProperties(updateWebParamDTO,webParam);
+            applyAnchorPageVersion(webParam, updateWebParamDTO.getAnchorPageVersion());
             webParam.setUpdateUser(user.getId());
             webParam.setUpdateTime(new Date());
             webParamMapper.updateById(webParam);
         }
     }
 
+    @Override
+    public WebParam findOneAnchor() {
+        LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+        QueryWrapper<WebParam> wrapper = new QueryWrapper<>();
+        wrapper.lambda().eq(WebParam::getCompanyId, user.getCompanyId());
+        wrapper.last(" limit 1 ");
+        WebParam webParam = webParamMapper.selectOne(wrapper);
+        String resourcePath = systemDictDataBiz.queryByCode(Constants.OSS, Constants.RESOURCE_PATH).getCode()
+                + systemDictDataBiz.queryByCode(Constants.OSS, Constants.WEB_PARAM).getCode();
+        if (webParam == null) {
+            webParam = new WebParam();
+            webParam.setAnchorParam(getDefaultAnchorParam());
+            webParam.setAnchorPageVersion(ANCHOR_PAGE_V2);
+        } else if (StringUtils.isBlank(webParam.getAnchorParam())) {
+            webParam.setAnchorParam(getDefaultAnchorParam());
+        }
+        webParam.setAnchorPageVersion(normalizeAnchorPageVersion(webParam.getAnchorPageVersion()));
+        webParam.setResourcePath(resourcePath);
+        return webParam;
+    }
+
+    @Override
+    public void renewAnchorUpdate(UpdateWebParamDTO updateWebParamDTO) {
+        if (StringUtils.isBlank(updateWebParamDTO.getAnchorParam())) {
+            throw new BusinessException(ResponseStatus.BAD_REQUEST);
+        }
+        LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+        QueryWrapper<WebParam> wrapper = new QueryWrapper<>();
+        wrapper.lambda().eq(WebParam::getCompanyId, user.getCompanyId());
+        wrapper.last(" limit 1 ");
+        WebParam webParam = webParamMapper.selectOne(wrapper);
+        if (Objects.isNull(webParam)) {
+            webParam = new WebParam();
+            webParam.setAnchorParam(updateWebParamDTO.getAnchorParam());
+            applyAnchorPageVersion(webParam, updateWebParamDTO.getAnchorPageVersion());
+            webParam.setCreateTime(new Date());
+            webParam.setDeleted(Constants.ZERO);
+            webParam.setCompanyId(user.getCompanyId());
+            webParam.setCreateUser(user.getId());
+            webParamMapper.insert(webParam);
+        } else {
+            webParam.setAnchorParam(updateWebParamDTO.getAnchorParam());
+            applyAnchorPageVersion(webParam, updateWebParamDTO.getAnchorPageVersion());
+            webParam.setUpdateUser(user.getId());
+            webParam.setUpdateTime(new Date());
+            webParamMapper.updateById(webParam);
+        }
+    }
+
+    @Override
+    public void updateAnchorPageVersion(String anchorPageVersion) {
+        LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+        String version = normalizeAnchorPageVersion(anchorPageVersion);
+        QueryWrapper<WebParam> wrapper = new QueryWrapper<>();
+        wrapper.lambda().eq(WebParam::getCompanyId, user.getCompanyId());
+        wrapper.last(" limit 1 ");
+        WebParam webParam = webParamMapper.selectOne(wrapper);
+        if (Objects.isNull(webParam)) {
+            webParam = new WebParam();
+            webParam.setAnchorPageVersion(version);
+            webParam.setCreateTime(new Date());
+            webParam.setDeleted(Constants.ZERO);
+            webParam.setCompanyId(user.getCompanyId());
+            webParam.setCreateUser(user.getId());
+            webParamMapper.insert(webParam);
+        } else {
+            webParam.setAnchorPageVersion(version);
+            webParam.setUpdateUser(user.getId());
+            webParam.setUpdateTime(new Date());
+            webParamMapper.updateById(webParam);
+        }
+    }
+
+    private static final String ANCHOR_PAGE_V2 = "v2";
+    private static final String ANCHOR_PAGE_V3 = "v3";
+
+    private String normalizeAnchorPageVersion(String version) {
+        return ANCHOR_PAGE_V3.equalsIgnoreCase(StringUtils.trimToEmpty(version)) ? ANCHOR_PAGE_V3 : ANCHOR_PAGE_V2;
+    }
+
+    private void applyAnchorPageVersion(WebParam webParam, String anchorPageVersion) {
+        if (StringUtils.isNotBlank(anchorPageVersion)) {
+            webParam.setAnchorPageVersion(normalizeAnchorPageVersion(anchorPageVersion));
+        }
+    }
+
+    private String getDefaultAnchorParam() {
+        return "{\"rangeSize\":\"750\",\"main\":{\"bgType\":1,\"bgColor\":\"#E8DCC8\",\"alpha\":\"100\",\"bgImg\":{\"isShow\":1,\"type\":0}},"
+                + "\"topImg\":{\"type\":0,\"img\":\"\",\"imgurl\":\"\"},"
+                + "\"adImg\":{\"type\":0,\"img\":\"\",\"imgurl\":\"\"},"
+                + "\"pkImg\":{\"type\":0,\"img\":\"\",\"imgurl\":\"\"},"
+                + "\"header\":{\"backgroundType\":1,\"bgColor\":\"#4A3728\",\"bgAlpha\":\"100\",\"type\":1,\"color\":\"#FFFFFF\",\"alpha\":\"100\"},"
+                + "\"table\":{\"headerBg\":\"#4A3728\",\"headerColor\":\"#FFFFFF\",\"rowBg\":\"#F5EFE6\",\"hoverScale\":1.05},"
+                + "\"featured\":[{\"goodsId\":\"\",\"prefixUrl\":\"\",\"imgurl\":\"\",\"title\":\"\",\"tags\":[\"\",\"\"]},{\"goodsId\":\"\",\"prefixUrl\":\"\",\"imgurl\":\"\",\"title\":\"\",\"tags\":[\"\",\"\"]}],"
+                + "\"search\":{\"bgType\":1,\"bgColor\":\"#FFFFFF\",\"bgAlpha\":\"100\"},"
+                + "\"productList\":{\"bgType\":1,\"bgColor\":\"#F5EFE6\",\"bgAlpha\":\"100\"},"
+                + "\"pk\":{\"vsColor\":\"#FF8C42\"}}";
+    }
 
 }

--
Gitblit v1.9.3