diff --git a/ruoyi-xq/src/main/java/com/ruoyi/xq/controller/UserPicturesController.java b/ruoyi-xq/src/main/java/com/ruoyi/xq/controller/UserPicturesController.java index e9d496b..dcda588 100644 --- a/ruoyi-xq/src/main/java/com/ruoyi/xq/controller/UserPicturesController.java +++ b/ruoyi-xq/src/main/java/com/ruoyi/xq/controller/UserPicturesController.java @@ -17,6 +17,7 @@ import com.ruoyi.xq.domain.UserPictures; import com.ruoyi.xq.dto.admin.common.AuditFailReq; import com.ruoyi.xq.dto.admin.user.UserPicturesAdminMergeVo; import com.ruoyi.xq.dto.admin.user.UserPicturesAdminVo; +import com.ruoyi.xq.dto.admin.user.req.UserPicturesBatchUpdateReq; import com.ruoyi.xq.dto.app.common.IdsReq; import com.ruoyi.xq.enums.common.AuditEnum; import com.ruoyi.xq.service.UserPicturesService; @@ -81,6 +82,15 @@ public class UserPicturesController extends BaseController { return R.ok(userPicturesList); } + + @PostMapping("/batchUpdate") + @Log(title = "用户相册批量修改", businessType = BusinessType.UPDATE) + @RepeatSubmit() + public R listByUserId(@RequestBody UserPicturesBatchUpdateReq req){ + userPicturesService.batchUpdate(req.getUserId(),req.getUserPictures()); + return R.ok(); + } + /** * 新增用户相册管理 */ diff --git a/ruoyi-xq/src/main/java/com/ruoyi/xq/dto/admin/user/req/UserPicturesBatchUpdateReq.java b/ruoyi-xq/src/main/java/com/ruoyi/xq/dto/admin/user/req/UserPicturesBatchUpdateReq.java new file mode 100644 index 0000000..b61528b --- /dev/null +++ b/ruoyi-xq/src/main/java/com/ruoyi/xq/dto/admin/user/req/UserPicturesBatchUpdateReq.java @@ -0,0 +1,12 @@ +package com.ruoyi.xq.dto.admin.user.req; + +import com.ruoyi.xq.domain.UserPictures; +import lombok.Data; + +import java.util.List; + +@Data +public class UserPicturesBatchUpdateReq { + private List userPictures; + private Long userId; +} diff --git a/ruoyi-xq/src/main/java/com/ruoyi/xq/service/UserPicturesService.java b/ruoyi-xq/src/main/java/com/ruoyi/xq/service/UserPicturesService.java index 0926dca..ca6cc87 100644 --- a/ruoyi-xq/src/main/java/com/ruoyi/xq/service/UserPicturesService.java +++ b/ruoyi-xq/src/main/java/com/ruoyi/xq/service/UserPicturesService.java @@ -33,4 +33,7 @@ public interface UserPicturesService extends IService { void addPictures(List picturesList, User user); Page pageAdminManager(PageQuery pageQuery, UserPicturesAdminMergeVo bo); + + void batchUpdate(Long userId,List userPictures); + } diff --git a/ruoyi-xq/src/main/java/com/ruoyi/xq/service/impl/UserPicturesServiceImpl.java b/ruoyi-xq/src/main/java/com/ruoyi/xq/service/impl/UserPicturesServiceImpl.java index bce7d98..a7e06b2 100644 --- a/ruoyi-xq/src/main/java/com/ruoyi/xq/service/impl/UserPicturesServiceImpl.java +++ b/ruoyi-xq/src/main/java/com/ruoyi/xq/service/impl/UserPicturesServiceImpl.java @@ -4,20 +4,25 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.core.domain.PageQuery; +import com.ruoyi.common.exception.ServiceException; import com.ruoyi.common.helper.LoginHelper; import com.ruoyi.common.utils.ServletUtils; import com.ruoyi.xq.domain.User; import com.ruoyi.xq.domain.UserPictures; import com.ruoyi.xq.dto.admin.user.UserPicturesAdminMergeVo; import com.ruoyi.xq.dto.admin.user.UserPicturesAdminVo; +import com.ruoyi.xq.dto.common.user.MinUser; import com.ruoyi.xq.enums.common.AuditEnum; import com.ruoyi.xq.mapper.UserPicturesMapper; import com.ruoyi.xq.service.UserPicturesService; +import com.ruoyi.xq.service.UserService; import org.apache.commons.collections4.CollectionUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.time.LocalDateTime; +import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Map; @@ -32,6 +37,9 @@ import java.util.stream.Collectors; @Service public class UserPicturesServiceImpl extends ServiceImpl implements UserPicturesService { + @Autowired + private UserService userService; + @Override public List listByUserIdAuditingAndSuccess(Long userId) { return this.list(Wrappers.lambdaQuery(UserPictures.class) @@ -74,6 +82,37 @@ public class UserPicturesServiceImpl extends ServiceImpl userPictures) { + MinUser minUser = userService.getMinUserById(userId); + if(minUser == null){ + throw new ServiceException("用户不存在"); + } + if(CollectionUtils.isEmpty(userPictures)){ + this.remove(Wrappers.lambdaQuery(UserPictures.class).eq(UserPictures::getUserId, userId)); + return; + } + List userPicturesList = this.listByUserIdAll(userId); + // 处理新增 + List pictureIds = new ArrayList<>(); + for (UserPictures pictures : userPicturesList) { + if(pictures.getId() == null){ + pictures.setAuditStatus(AuditEnum.SUCCESS.getCode()); + pictures.setAuditRemark("后台管理操作"); + this.save(pictures); + }else{ + pictureIds.add(pictures.getId()); + } + } + // 处理删除 + for (UserPictures pictures : userPicturesList) { + if(!pictureIds.contains(pictures.getId())){ + this.removeById(pictures.getId()); + } + } + } + + @Override public void auditSuccess(String ids) { String[] idArray = ids.split(",");