This commit is contained in:
张松 2025-10-31 17:08:28 +08:00
parent 2180aa9c6d
commit b4068fbd3b
2 changed files with 13 additions and 8 deletions

View File

@ -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();

View File

@ -192,7 +192,7 @@ public class TbMemberConfigServiceImpl extends ServiceImpl<TbMemberConfigMapper,
memberConfig.setMemberPriceShopIdList(JSONObject.toJSONString(memberDTO.getMemberPriceShopIdList()));
}
shopConfigService.editStatusByShopIdList(memberConfig.getShopId(), memberConfig.getIsOpen().intValue() == 1 && memberConfig.getIsMemberPrice() == 1 ? 1 : 0,false, "is_account_ay",
shopConfigService.editStatusByShopIdList(memberConfig.getShopId(), memberConfig.getIsOpen().intValue() == 1 && memberConfig.getIsMemberPrice() == 1 ? 1 : 0,false, "is_member_price",
"ALL".equals(memberConfig.getMemberPriceShopType()) ? "all" : "part",
StrUtil.isNotBlank(memberConfig.getMemberPriceShopIdList()) ? JSONArray.parseArray(memberConfig.getMemberPriceShopIdList()).toList(Long.class) : new ArrayList<>());