From 1c20c8231980a8d4b91688ff8641a06d3b2f68ab Mon Sep 17 00:00:00 2001 From: MrShi <1878285526@qq.com> Date: 星期二, 14 十月 2025 16:34:22 +0800 Subject: [PATCH] 改bug --- server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java | 47 +++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 39 insertions(+), 8 deletions(-) diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java index 6de45a4..e357e36 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java @@ -2,9 +2,9 @@ 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.service.business.third.model.LoginUserInfo; +import com.doumee.service.business.third.model.PageData; +import com.doumee.service.business.third.model.PageWrap; import com.doumee.core.utils.Constants; import com.doumee.core.utils.Utils; import com.doumee.dao.business.CategoryMapper; @@ -16,9 +16,12 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.commons.lang3.StringUtils; import org.apache.shiro.SecurityUtils; +import org.checkerframework.checker.units.qual.C; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; +import org.springframework.validation.BindException; import java.util.ArrayList; import java.util.Date; @@ -38,7 +41,8 @@ private CategoryMapper categoryMapper; @Override - public Integer create(Category category) { + @Transactional(rollbackFor = {Exception.class, BindException.class}) + public Integer create(Category category){ checkUnique(category); LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); if(loginUserInfo ==null){ @@ -54,10 +58,19 @@ insert.setRemark(category.getRemark()); insert.setStatus(Constants.ZERO); insert.setSortnum(category.getSortnum()); + insert.setBizType(category.getBizType()); insert.setImgurl(category.getImgurl()); insert.setType(category.getType()); insert.setParentId(category.getParentId()); categoryMapper.insert(insert); + if(insert.getBizType()!=null){ + //娓呯┖鍏朵粬bizType,鍙繚鐣欏綋鍓嶆柊澧炶褰曞敮涓�鏈夋晥 + categoryMapper.update(null,new UpdateWrapper<Category>().lambda() + .set(Category::getBizType,null) + .eq(Category::getBizType,insert.getType()) + .ne(Category::getId,insert.getId()) + ); + } return insert.getId(); } @@ -85,9 +98,18 @@ } @Override + @Transactional(rollbackFor = {Exception.class, BindException.class}) public void updateById(Category category) { checkUnique(category); categoryMapper.updateById(category); + if(category.getBizType()!=null){ + //娓呯┖鍏朵粬璇izType灞炴��,鍙繚鐣欏綋鍓嶈褰曞敮涓�鏈夋晥 + categoryMapper.update(null,new UpdateWrapper<Category>().lambda() + .set(Category::getBizType,null) + .eq(Category::getBizType,category.getBizType()) + .ne(Category::getId,category.getId()) + ); + } } @Override @@ -135,13 +157,15 @@ Utils.MP.blankToNull(pageWrap.getModel()); queryWrapper.lambda().eq(Category::getIsdeleted,Constants.ZERO) .eq(Objects.nonNull(pageWrap.getModel().getType()),Category::getType,pageWrap.getModel().getType()) - .isNull(Category::getParentId); + .like(StringUtils.isNotBlank(pageWrap.getModel().getName()),Category::getName,pageWrap.getModel().getName()) + .isNull(Category::getParentId) + .orderByDesc(Category::getSortnum); PageData<Category> categoryPageData = PageData.from(categoryMapper.selectPage(page, queryWrapper)); //鏌ヨ鎵�鏈変簩绾ф暟鎹� List<Category> categoryList = categoryMapper.selectList( new QueryWrapper<Category>().lambda() .eq(Objects.nonNull(pageWrap.getModel().getType()),Category::getType,pageWrap.getModel().getType()) - .eq(Category::getIsdeleted,Constants.ZERO).isNotNull(Category::getParentId)); + .eq(Category::getIsdeleted,Constants.ZERO).isNotNull(Category::getParentId).orderByDesc(Category::getSortnum)); for (Category category:categoryPageData.getRecords()) { category.setChildCategoryList( @@ -159,6 +183,10 @@ } @Override public List<Category> findChileList(Category model) { + if(Objects.isNull(model)){ + model = new Category(); + } + model.setIsdeleted(Constants.ZERO); List<Category> list =findList(model); List<Category> data = new ArrayList<>(); if(list!=null){ @@ -171,6 +199,8 @@ category.setGroupName( category.getParentName()+"/"+category.getName()); data.add(category); } + }else{ + data.add(category); } } } @@ -193,10 +223,11 @@ wrapper.lambda() .eq(Category::getIsdeleted,Constants.ZERO) .eq(Category::getType,category.getType()) - .eq(Category::getName,category.getName()); + .eq(Category::getName,category.getName()) + .ne(category.getId()!=null, Category::getId,category.getId()) + ; List<Category> categories = categoryMapper.selectList(wrapper); - if (org.apache.commons.collections.CollectionUtils.isNotEmpty(categories)){ throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(),"鍒嗙被淇℃伅宸插瓨鍦�"); } -- Gitblit v1.9.3