This commit is contained in:
77
2024-04-23 00:00:26 +08:00
parent cf9a4d5ce2
commit f51b52cddf
4 changed files with 64 additions and 0 deletions

View File

@@ -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<Void> listByUserId(@RequestBody UserPicturesBatchUpdateReq req){
userPicturesService.batchUpdate(req.getUserId(),req.getUserPictures());
return R.ok();
}
/**
* 新增用户相册管理
*/

View File

@@ -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> userPictures;
private Long userId;
}

View File

@@ -33,4 +33,7 @@ public interface UserPicturesService extends IService<UserPictures> {
void addPictures(List<String> picturesList, User user);
Page<UserPicturesAdminMergeVo> pageAdminManager(PageQuery pageQuery, UserPicturesAdminMergeVo bo);
void batchUpdate(Long userId,List<UserPictures> userPictures);
}

View File

@@ -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<UserPicturesMapper,UserPictures> implements UserPicturesService {
@Autowired
private UserService userService;
@Override
public List<UserPictures> listByUserIdAuditingAndSuccess(Long userId) {
return this.list(Wrappers.lambdaQuery(UserPictures.class)
@@ -74,6 +82,37 @@ public class UserPicturesServiceImpl extends ServiceImpl<UserPicturesMapper,User
return page;
}
@Override
public void batchUpdate(Long userId, List<UserPictures> 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<UserPictures> userPicturesList = this.listByUserIdAll(userId);
// 处理新增
List<Long> 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(",");