|
@@ -1,36 +1,42 @@
|
|
package com.anyway.favor.service.impl;
|
|
package com.anyway.favor.service.impl;
|
|
|
|
|
|
import com.anyway.favor.dao.FavorItemDao;
|
|
import com.anyway.favor.dao.FavorItemDao;
|
|
|
|
+import com.anyway.favor.dao.GiftDao;
|
|
import com.anyway.favor.model.FavorItem;
|
|
import com.anyway.favor.model.FavorItem;
|
|
|
|
+import com.anyway.favor.model.dto.FavorItemDto;
|
|
import com.anyway.favor.service.FavorItemService;
|
|
import com.anyway.favor.service.FavorItemService;
|
|
import com.anyway.util.PageQuery;
|
|
import com.anyway.util.PageQuery;
|
|
import com.anyway.util.PageUtils;
|
|
import com.anyway.util.PageUtils;
|
|
-import com.google.common.cache.LoadingCache;
|
|
|
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
|
+import org.springframework.util.CollectionUtils;
|
|
|
|
+
|
|
|
|
+import java.util.*;
|
|
|
|
|
|
-import java.util.HashMap;
|
|
|
|
-import java.util.List;
|
|
|
|
-import java.util.Map;
|
|
|
|
/**
|
|
/**
|
|
* 人情明细业务实现类
|
|
* 人情明细业务实现类
|
|
*
|
|
*
|
|
* @author liuchuanwei
|
|
* @author liuchuanwei
|
|
* @date 2024-02-24
|
|
* @date 2024-02-24
|
|
*/
|
|
*/
|
|
|
|
+@Slf4j
|
|
@Service
|
|
@Service
|
|
public class FavorItemServiceImpl implements FavorItemService {
|
|
public class FavorItemServiceImpl implements FavorItemService {
|
|
@Autowired
|
|
@Autowired
|
|
- private FavorItemDao favorItemMapper;
|
|
|
|
|
|
+ private FavorItemDao favorItemDao;
|
|
|
|
+ @Autowired
|
|
|
|
+ private GiftDao giftDao;
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public List<FavorItem> findByCondition(Map<String, Object> map) {
|
|
public List<FavorItem> findByCondition(Map<String, Object> map) {
|
|
- return favorItemMapper.findByCondition(map);
|
|
|
|
|
|
+ return favorItemDao.findByCondition(map);
|
|
}
|
|
}
|
|
@Override
|
|
@Override
|
|
public List<FavorItem> findPage(PageQuery<Map<String, Object>> pageQuery) {
|
|
public List<FavorItem> findPage(PageQuery<Map<String, Object>> pageQuery) {
|
|
PageUtils.startPage(pageQuery.getPage());
|
|
PageUtils.startPage(pageQuery.getPage());
|
|
- List<FavorItem> favorItemList = favorItemMapper.findByCondition(pageQuery.getTerms());
|
|
|
|
|
|
+ List<FavorItem> favorItemList = favorItemDao.findByCondition(pageQuery.getTerms());
|
|
PageUtils.setPageTotal(favorItemList, pageQuery.getPage());
|
|
PageUtils.setPageTotal(favorItemList, pageQuery.getPage());
|
|
return favorItemList;
|
|
return favorItemList;
|
|
}
|
|
}
|
|
@@ -43,7 +49,7 @@ public class FavorItemServiceImpl implements FavorItemService {
|
|
map.put("sortName", "create_time");
|
|
map.put("sortName", "create_time");
|
|
map.put("sortOrder", "asc");
|
|
map.put("sortOrder", "asc");
|
|
}
|
|
}
|
|
- return favorItemMapper.findByCondition(map);
|
|
|
|
|
|
+ return favorItemDao.findByCondition(map);
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -60,4 +66,44 @@ public class FavorItemServiceImpl implements FavorItemService {
|
|
public FavorItem findById(Long id) {
|
|
public FavorItem findById(Long id) {
|
|
return null;
|
|
return null;
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ @Transactional
|
|
|
|
+ @Override
|
|
|
|
+ public boolean deleteByIds(List<Long> ids) {
|
|
|
|
+ List<FavorItem> favorItemList = favorItemDao.findByIds(ids);
|
|
|
|
+ return this.batchDelete(favorItemList);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Transactional
|
|
|
|
+ @Override
|
|
|
|
+ public boolean deleteByFavorId(Long favorId) {
|
|
|
|
+ List<FavorItemDto> favorItemDtoList = favorItemDao.findByFavorId(favorId);
|
|
|
|
+ return this.batchDelete(favorItemDtoList);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Transactional
|
|
|
|
+ @Override
|
|
|
|
+ public boolean batchDelete(List<? extends FavorItem> favorItemList) {
|
|
|
|
+ if(CollectionUtils.isEmpty(favorItemList)) {
|
|
|
|
+ log.warn("删除失败,人情明细列表为空");
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
|
|
+ Set<Long> favorItemIdSet = new HashSet<>();
|
|
|
|
+ //删除礼物
|
|
|
|
+ Set<Long> giftIdSet = new HashSet<>();
|
|
|
|
+ for (FavorItem favorItem : favorItemList) {
|
|
|
|
+ favorItemIdSet.add(favorItem.getId());
|
|
|
|
+ giftIdSet.add(favorItem.getGiveGiftId());
|
|
|
|
+ if (favorItem.getReturnGiftId() != null) {
|
|
|
|
+ giftIdSet.add(favorItem.getReturnGiftId());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ giftDao.deleteByIds(giftIdSet);
|
|
|
|
+ int r = favorItemDao.deleteByIds(favorItemIdSet);
|
|
|
|
+ if (r <= 0) {
|
|
|
|
+ log.error("人情明细删除失败:{}", favorItemIdSet);
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
|
|
+ return true;
|
|
|
|
+ }
|
|
}
|
|
}
|