| | |
| | | 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.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; |
| | |
| | | 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; |
| | | } |
| | |
| | | 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\"}}"; |
| | | } |
| | | |
| | | } |