缓存
This commit is contained in:
@@ -18,6 +18,7 @@ import org.springframework.cache.annotation.CacheEvict;
|
||||
import org.springframework.cache.annotation.Cacheable;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -48,36 +49,40 @@ public class ShopConfigServiceImpl extends ServiceImpl<ShopConfigMapper, ShopCon
|
||||
|
||||
@Override
|
||||
public void editStatusByShopIdList(Long mainShopId, Integer isEnable, boolean onyUpValid, String property, String useShopType, List<Long> shopIdList) {
|
||||
ShopConfig shopConfig = getOne(new QueryWrapper().eq(ShopConfig::getId, mainShopId));
|
||||
ShopConfig shopConfig = getById(mainShopId);
|
||||
if (shopConfig == null) {
|
||||
shopConfig = new ShopConfig();
|
||||
shopConfig.setId(mainShopId);
|
||||
save(shopConfig);
|
||||
}
|
||||
List<Long> extistList = list(new QueryWrapper().in(ShopConfig::getId, shopIdList).select(ShopConfig::getId)).stream().map(ShopConfig::getId).toList();
|
||||
|
||||
// 防止报错
|
||||
shopIdList.add(-9999L);
|
||||
List<Long> extistList;
|
||||
if (!shopIdList.isEmpty()) {
|
||||
extistList = list(new QueryWrapper().in(ShopConfig::getId, shopIdList).select(ShopConfig::getId)).stream().map(ShopConfig::getId).toList();
|
||||
shopIdList.stream().filter(id -> !extistList.contains(id)).forEach(id -> {
|
||||
save(new ShopConfig().setId(id).setMainId(mainShopId));
|
||||
save(new ShopConfig().setId(id).setMainId(mainShopId).setIsEnableDiscount(0).setIsProductSuggest(0));
|
||||
});
|
||||
} else {
|
||||
extistList = new ArrayList<>();
|
||||
}
|
||||
|
||||
if (isEnable == 0 && !onyUpValid) {
|
||||
updateChain().or(or -> {
|
||||
or.eq(ShopConfig::getMainId, mainShopId);
|
||||
or.eq(ShopConfig::getId, mainShopId);
|
||||
}).or(or -> {
|
||||
or.in(ShopConfig::getId, shopIdList);
|
||||
}).set(property, 0).update();
|
||||
}else {
|
||||
if ("all".equals(useShopType)) {
|
||||
updateChain().or(or -> {
|
||||
or.eq(ShopConfig::getMainId, mainShopId);
|
||||
or.eq(ShopConfig::getId, mainShopId);
|
||||
}).or(or -> {
|
||||
or.in(ShopConfig::getId, shopIdList);
|
||||
}).set(property, 1).update();
|
||||
}else {
|
||||
if (shopIdList.isEmpty()) {
|
||||
updateChain().eq(ShopConfig::getMainId, mainShopId).set(property, 1).update();
|
||||
updateChain().eq(ShopConfig::getId, mainShopId).set(property, 1).update();
|
||||
}else {
|
||||
if (!onyUpValid) {
|
||||
updateChain().notIn(ShopConfig::getId, shopIdList).set(property, 0).update();
|
||||
|
||||
Reference in New Issue
Block a user