From dcdb0231034810232f2542f3865666ebf72daf11 Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期三, 30 四月 2025 16:45:34 +0800 Subject: [PATCH] sf --- server/service/src/main/java/com/doumee/service/business/impl/BaseCategoryServiceImpl.java | 117 ++++++++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 89 insertions(+), 28 deletions(-) diff --git a/server/service/src/main/java/com/doumee/service/business/impl/BaseCategoryServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/BaseCategoryServiceImpl.java index 32f7fd8..2068a13 100644 --- a/server/service/src/main/java/com/doumee/service/business/impl/BaseCategoryServiceImpl.java +++ b/server/service/src/main/java/com/doumee/service/business/impl/BaseCategoryServiceImpl.java @@ -7,6 +7,7 @@ import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.core.utils.Constants; +import com.doumee.core.utils.PinYinUtil; import com.doumee.core.utils.Utils; import com.doumee.dao.business.BaseCateParamMapper; import com.doumee.dao.business.BaseCategoryMapper; @@ -19,12 +20,15 @@ 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.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; +import java.math.BigDecimal; +import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Objects; @@ -57,7 +61,7 @@ BaseCategory baseCategory1 = baseCategoryMapper.selectOne(wrapper); if (Objects.nonNull(baseCategory1)){ - throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(),"鍝佺被淇℃伅琛�"); + throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(),"鍝佺被淇℃伅宸插瓨鍦�"); } BaseCategory baseCategory2 = new BaseCategory(); baseCategory2.setCreator(loginUserInfo.getId()); @@ -67,24 +71,22 @@ baseCategory2.setIsdeleted(Constants.ZERO); baseCategory2.setName(baseCategory.getName()); baseCategory2.setRemark(baseCategory.getRemark()); - baseCategory2.setAttrFirst(baseCategory.getAttrFirst()); - baseCategory2.setAttrSecond(baseCategory.getAttrSecond()); baseCategory2.setStatus(baseCategory.getStatus()); baseCategory2.setSortnum(baseCategory.getSortnum()); baseCategory2.setImgurl(baseCategory.getImgurl()); - baseCategory2.setPinyin(baseCategory.getPinyin()); - baseCategory2.setShortPinyin(baseCategory.getShortPinyin()); + baseCategory2.setPinyin(PinYinUtil.getFullSpell(baseCategory.getName())); + baseCategory2.setShortPinyin(PinYinUtil.getFirstSpell(baseCategory.getName())); baseCategory2.setPriceRate(baseCategory.getPriceRate()); baseCategoryMapper.insert(baseCategory2); - if (!CollectionUtils.isEmpty(baseCategory.getBaseCategoryRequestParamList())){ + if (!CollectionUtils.isEmpty(baseCategory.getBaseCateParamList())){ - long count = baseCategory.getBaseCategoryRequestParamList().stream().map(s -> s.getName().trim()).distinct().count(); + long count = baseCategory.getBaseCateParamList().stream().map(s -> s.getName().trim()).distinct().count(); - if (baseCategory.getBaseCategoryRequestParamList().size() != count){ + if (baseCategory.getBaseCateParamList().size() != count){ throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(),"灞炴�у瓨鍦ㄩ噸澶�"); } - baseCategory.getBaseCategoryRequestParamList().forEach(s->{ + baseCategory.getBaseCateParamList().forEach(s->{ BaseCateParam baseCateParam = new BaseCateParam(); baseCateParam.setCreator(loginUserInfo.getId()); baseCateParam.setCreateDate(new Date()); @@ -127,8 +129,9 @@ LoginUserInfo loginUserInfo = (LoginUserInfo)SecurityUtils.getSubject().getPrincipal(); - if (Objects.isNull(baseCategory.getId())){ - throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鍝佺被涓婚敭缂哄け"); + if (Objects.isNull(baseCategory.getId()) + || Objects.isNull(baseCategory.getName())){ + throw new BusinessException(ResponseStatus.BAD_REQUEST); } QueryWrapper<BaseCategory> wrapper = new QueryWrapper<>(); @@ -139,41 +142,61 @@ if (Objects.nonNull(baseCategory1) && (!baseCategory1.getId().equals(baseCategory.getId()))){ throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(),"鍝佺被淇℃伅琛�"); } + if(baseCategory.getPriceRate() == null){ + baseCategory.setPriceRate(new BigDecimal(1.2)); + } UpdateWrapper<BaseCategory> updateWrapper = new UpdateWrapper<>(); updateWrapper.lambda() .eq(BaseCategory::getId,baseCategory.getId()) .set(BaseCategory::getName,baseCategory.getName()) + .set(BaseCategory::getPinyin,PinYinUtil.getFullSpell(baseCategory.getName())) + .set(BaseCategory::getShortPinyin,PinYinUtil.getFirstSpell(baseCategory.getName())) .set(BaseCategory::getImgurl,baseCategory.getImgurl()) .set(BaseCategory::getPriceRate,baseCategory.getPriceRate()) .set(BaseCategory::getSortnum,baseCategory.getSortnum()); + baseCategoryMapper.update(null,updateWrapper); - if (!CollectionUtils.isEmpty(baseCategory.getBaseCategoryRequestParamList())){ + if (!CollectionUtils.isEmpty(baseCategory.getBaseCateParamList())){ - long count = baseCategory.getBaseCategoryRequestParamList().stream().map(s -> s.getName().trim()).distinct().count(); - if (baseCategory.getBaseCategoryRequestParamList().size() != count){ + long count = baseCategory.getBaseCateParamList().stream().map(s -> s.getName().trim()).distinct().count(); + if (baseCategory.getBaseCateParamList().size() != count){ throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(),"灞炴�у瓨鍦ㄩ噸澶�"); } - + List<Integer> ids = new ArrayList<>(); + baseCategory.getBaseCateParamList().forEach(s->{ + if(s.getId() !=null){ + ids. add(s.getId()); + } + }); QueryWrapper<BaseCateParam> baseCateParamQuery = new QueryWrapper<>(); baseCateParamQuery.lambda() .eq(BaseCateParam::getCategoryId,baseCategory.getId()); + baseCateParamQuery.lambda() + .notIn(ids!=null && ids.size()>0,BaseCateParam::getId,ids); + //鍒櫎閫昏緫 baseCateParamMapper.delete(baseCateParamQuery); - - baseCategory.getBaseCategoryRequestParamList().forEach(s->{ + baseCategory.getBaseCateParamList().forEach(s->{ BaseCateParam baseCateParam = new BaseCateParam(); - baseCateParam.setCreator(loginUserInfo.getId()); - baseCateParam.setCreateDate(new Date()); - baseCateParam.setEditor(loginUserInfo.getId()); - baseCateParam.setEditDate(new Date()); baseCateParam.setIsdeleted(Constants.ZERO); baseCateParam.setName(s.getName()); baseCateParam.setRemark(s.getRemark()); baseCateParam.setStatus(s.getStatus()); baseCateParam.setSortnum(s.getSortnum()); baseCateParam.setCategoryId(baseCategory.getId()); - baseCateParamMapper.insert(baseCateParam); + if(s.getId() !=null ){ + //鏇存柊鏁版嵁 + baseCateParam.setEditor(loginUserInfo.getId()); + baseCateParam.setEditDate(new Date()); + baseCateParam.setId(s.getId()); + baseCateParamMapper.updateById(baseCateParam); + }else{ + //鏂板 + baseCateParam.setCreator(loginUserInfo.getId()); + baseCateParam.setCreateDate(new Date()); + baseCateParamMapper.insert(baseCateParam); + } }); } @@ -183,6 +206,25 @@ @Override public void updateById(BaseCategory baseCategory) { baseCategoryMapper.updateById(baseCategory); + } + @Override + public void updateDisableById(BaseCategory baseCategory) { + + LoginUserInfo loginUserInfo = (LoginUserInfo)SecurityUtils.getSubject().getPrincipal(); + if(baseCategory.getId() == null || baseCategory.getStatus() == null){ + throw new BusinessException(ResponseStatus.BAD_REQUEST); + } + if(!Constants.equalsInteger(baseCategory.getStatus(), Constants.ONE) + && !Constants.equalsInteger(baseCategory.getStatus(), Constants.ZERO)){ + throw new BusinessException(ResponseStatus.BAD_REQUEST); + } + BaseCategory param= new BaseCategory(); + param.setId(baseCategory.getId()); + param.setEditDate(new Date()); + param.setEditor(loginUserInfo.getId()); + param.setId(baseCategory.getId()); + param.setStatus(baseCategory.getStatus()); + baseCategoryMapper.updateById(param); } @Override @@ -197,7 +239,14 @@ @Override public BaseCategory findById(Integer id) { - return baseCategoryMapper.selectById(id); + BaseCategory model = baseCategoryMapper.selectById(id); + if(StringUtils.isNotBlank(model.getImgurl())){ + model.setImgfullurl( + systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode() + + systemDictDataBiz.queryByCode(Constants.OSS,Constants.CATEGORY_IMG).getCode() + model.getImgurl() + ); + } + return model; } @Override @@ -209,7 +258,18 @@ @Override public List<BaseCategory> findList(BaseCategory baseCategory) { QueryWrapper<BaseCategory> wrapper = new QueryWrapper<>(baseCategory); - return baseCategoryMapper.selectList(wrapper); + wrapper.eq("ISDELETED",Constants.ZERO); + wrapper.eq("STATUS",Constants.ZERO); + List<BaseCategory> list = baseCategoryMapper.selectList(wrapper); + list.forEach(i->{ + if(StringUtils.isNotBlank(i.getImgurl())){ + i.setImgfullurl( + systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode() + + systemDictDataBiz.queryByCode(Constants.OSS,Constants.CATEGORY_IMG).getCode() + i.getImgurl() + ); + } + }); + return list; } @Override @@ -238,7 +298,7 @@ queryWrapper.lambda().eq(BaseCategory::getIsdeleted, pageWrap.getModel().getIsdeleted()); } if (pageWrap.getModel().getName() != null) { - queryWrapper.lambda().eq(BaseCategory::getName, pageWrap.getModel().getName()); + queryWrapper.lambda().like(BaseCategory::getName, pageWrap.getModel().getName()); } if (pageWrap.getModel().getRemark() != null) { queryWrapper.lambda().eq(BaseCategory::getRemark, pageWrap.getModel().getRemark()); @@ -267,8 +327,9 @@ queryWrapper.lambda().orderByAsc(BaseCategory::getSortnum); IPage<BaseCategory> baseCategoryIPage = baseCategoryMapper.selectPage(page, queryWrapper); + String preUrl = getPreUrl(); if (!CollectionUtils.isEmpty(baseCategoryIPage.getRecords())){ - baseCategoryIPage.getRecords().forEach(s->s.setImgfullurl(getPreUrl()+s.getImgurl())); + baseCategoryIPage.getRecords().forEach(s->s.setImgfullurl(preUrl+s.getImgurl())); } return PageData.from(baseCategoryIPage); @@ -281,8 +342,8 @@ } private String getPreUrl(){ - String prefixUrl = systemDictDataBiz.queryByCode(Constants.SYSTEM, Constants.FILE_DIR).getCode() - + systemDictDataBiz.queryByCode(Constants.SYSTEM, Constants.CATEGORY_IMG).getCode(); + String prefixUrl = systemDictDataBiz.queryByCode(Constants.OSS, Constants.RESOURCE_PATH).getCode() + + systemDictDataBiz.queryByCode(Constants.OSS, Constants.CATEGORY_IMG).getCode(); return prefixUrl; } } -- Gitblit v1.9.3