所有跟余额相关模块开关同步开启关闭余额支付

This commit is contained in:
张松
2025-10-24 09:35:38 +08:00
parent 1f34a8c227
commit 5853d2b333
6 changed files with 80 additions and 4 deletions

View File

@@ -5,6 +5,7 @@ import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType; import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table; import com.mybatisflex.annotation.Table;
import lombok.Data; import lombok.Data;
import lombok.experimental.Accessors;
import java.io.Serial; import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
@@ -17,6 +18,7 @@ import java.io.Serializable;
*/ */
@Data @Data
@Table("tb_shop_config") @Table("tb_shop_config")
@Accessors(chain = true)
public class ShopConfig implements Serializable { public class ShopConfig implements Serializable {
@Serial @Serial

View File

@@ -2,6 +2,9 @@ package com.czg.account.service;
import com.czg.account.entity.ShopConfig; import com.czg.account.entity.ShopConfig;
import com.mybatisflex.core.service.IService; import com.mybatisflex.core.service.IService;
import com.mybatisflex.core.util.LambdaGetter;
import java.util.List;
/** /**
* 店铺配置扩展 * 店铺配置扩展
@@ -11,4 +14,5 @@ import com.mybatisflex.core.service.IService;
*/ */
public interface ShopConfigService extends IService<ShopConfig> { public interface ShopConfigService extends IService<ShopConfig> {
<T> void editStatusByShopIdList(Long mainShopId, Integer isEnable, LambdaGetter<T> property, String useShopType, List<Long> shopIdList);
} }

View File

@@ -6,12 +6,16 @@ import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson2.JSONArray; import com.alibaba.fastjson2.JSONArray;
import com.czg.account.dto.freeding.FreeDineConfigEditDTO; import com.czg.account.dto.freeding.FreeDineConfigEditDTO;
import com.czg.account.entity.FreeDineConfig; import com.czg.account.entity.FreeDineConfig;
import com.czg.account.entity.ShopConfig;
import com.czg.account.service.FreeDineConfigService; import com.czg.account.service.FreeDineConfigService;
import com.czg.account.service.ShopConfigService;
import com.czg.account.vo.FreeDineConfigVO; import com.czg.account.vo.FreeDineConfigVO;
import com.czg.exception.ApiNotPrintException; import com.czg.exception.ApiNotPrintException;
import com.czg.service.account.mapper.FreeDineConfigMapper; import com.czg.service.account.mapper.FreeDineConfigMapper;
import com.mybatisflex.core.query.QueryWrapper; import com.mybatisflex.core.query.QueryWrapper;
import com.mybatisflex.spring.service.impl.ServiceImpl; import com.mybatisflex.spring.service.impl.ServiceImpl;
import jakarta.annotation.Resource;
import org.apache.dubbo.config.annotation.DubboReference;
import org.apache.dubbo.config.annotation.DubboService; import org.apache.dubbo.config.annotation.DubboService;
/** /**
@@ -22,6 +26,10 @@ import org.apache.dubbo.config.annotation.DubboService;
*/ */
@DubboService @DubboService
public class FreeDineConfigServiceImpl extends ServiceImpl<FreeDineConfigMapper, FreeDineConfig> implements FreeDineConfigService{ public class FreeDineConfigServiceImpl extends ServiceImpl<FreeDineConfigMapper, FreeDineConfig> implements FreeDineConfigService{
@DubboReference
private ShopConfigService shopConfigService;
@Override @Override
public FreeDineConfigVO getConfig(long shopId) { public FreeDineConfigVO getConfig(long shopId) {
FreeDineConfig freeDineConfig = getOne(new QueryWrapper().eq(FreeDineConfig::getShopId, shopId)); FreeDineConfig freeDineConfig = getOne(new QueryWrapper().eq(FreeDineConfig::getShopId, shopId));
@@ -52,6 +60,8 @@ public class FreeDineConfigServiceImpl extends ServiceImpl<FreeDineConfigMapper,
if ("part".equals(freeDineConfigEditDTO.getUseShopType()) && freeDineConfigEditDTO.getShopIdList() != null) { if ("part".equals(freeDineConfigEditDTO.getUseShopType()) && freeDineConfigEditDTO.getShopIdList() != null) {
config.setShopIdList(JSONArray.toJSONString(freeDineConfigEditDTO.getShopIdList())); config.setShopIdList(JSONArray.toJSONString(freeDineConfigEditDTO.getShopIdList()));
} }
shopConfigService.editStatusByShopIdList(config.getShopId(), freeDineConfigEditDTO.getEnable() ? 1 : 0, ShopConfig::getIsAccountPay, freeDineConfigEditDTO.getUseShopType(), freeDineConfigEditDTO.getShopIdList());
if (freeDineConfigEditDTO.getUseType() != null) { if (freeDineConfigEditDTO.getUseType() != null) {
config.setUseType(JSONObject.toJSONString(freeDineConfigEditDTO.getUseType())); config.setUseType(JSONObject.toJSONString(freeDineConfigEditDTO.getUseType()));
} }

View File

@@ -8,11 +8,14 @@ import com.czg.service.account.mapper.ShopConfigMapper;
import com.czg.service.account.mapper.ShopInfoMapper; import com.czg.service.account.mapper.ShopInfoMapper;
import com.czg.utils.PageUtil; import com.czg.utils.PageUtil;
import com.mybatisflex.core.query.QueryWrapper; import com.mybatisflex.core.query.QueryWrapper;
import com.mybatisflex.core.util.LambdaGetter;
import com.mybatisflex.spring.service.impl.ServiceImpl; import com.mybatisflex.spring.service.impl.ServiceImpl;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import org.apache.dubbo.config.annotation.DubboService; import org.apache.dubbo.config.annotation.DubboService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List;
/** /**
* 店铺配置扩展 * 店铺配置扩展
* *
@@ -37,4 +40,45 @@ public class ShopConfigServiceImpl extends ServiceImpl<ShopConfigMapper, ShopCon
} }
@Override
public <T> void editStatusByShopIdList(Long mainShopId, Integer isEnable, LambdaGetter<T> property, String useShopType, List<Long> shopIdList) {
ShopConfig shopConfig = getOne(new QueryWrapper().eq(ShopConfig::getId, mainShopId));
if (shopConfig == null) {
shopConfig = new ShopConfig();
shopConfig.setId(mainShopId);
save(shopConfig);
}
if (!shopIdList.isEmpty()) {
List<Long> 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));
});
}
if (isEnable == 0) {
updateChain().or(or -> {
or.eq(ShopConfig::getMainId, 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(or -> {
or.in(ShopConfig::getId, shopIdList);
}).set(property, 1).update();
}else {
if (shopIdList.isEmpty()) {
updateChain().eq(ShopConfig::getMainId, mainShopId).set(property, 1).update();
}else {
updateChain().notIn(ShopConfig::getId, shopIdList).set(property, 0).update();
updateChain().in(ShopConfig::getId, shopIdList).set(property, 1).update();
}
}
}
}
} }

View File

@@ -5,8 +5,10 @@ import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson2.JSONArray; import com.alibaba.fastjson2.JSONArray;
import com.czg.account.dto.shopuser.ShopUserMoneyEditDTO; import com.czg.account.dto.shopuser.ShopUserMoneyEditDTO;
import com.czg.account.entity.ShopConfig;
import com.czg.account.entity.ShopInfo; import com.czg.account.entity.ShopInfo;
import com.czg.account.entity.ShopUser; import com.czg.account.entity.ShopUser;
import com.czg.account.service.ShopConfigService;
import com.czg.account.service.ShopInfoService; import com.czg.account.service.ShopInfoService;
import com.czg.account.service.ShopUserService; import com.czg.account.service.ShopUserService;
import com.czg.constant.TableValueConstant; import com.czg.constant.TableValueConstant;
@@ -53,6 +55,8 @@ public class MkConsumeCashbackServiceImpl extends ServiceImpl<MkConsumeCashbackM
private ShopUserService shopUserService; private ShopUserService shopUserService;
@DubboReference @DubboReference
private OrderInfoService orderInfoService; private OrderInfoService orderInfoService;
@DubboReference
private ShopConfigService shopConfigService;
@Resource @Resource
private MkConsumeCashbackRecordService consumeCashbackRecordService; private MkConsumeCashbackRecordService consumeCashbackRecordService;
@@ -91,6 +95,9 @@ public class MkConsumeCashbackServiceImpl extends ServiceImpl<MkConsumeCashbackM
} }
} }
shopConfigService.editStatusByShopIdList(shopId, consumeDiscountDTO.getIsEnable(), ShopConfig::getIsAccountPay,
consumeDiscountDTO.getUseType(), consumeDiscountDTO.getShopIdList());
if (consumeDiscountDTO.getCashbackStepList() != null && !consumeDiscountDTO.getCashbackStepList().isEmpty()) { if (consumeDiscountDTO.getCashbackStepList() != null && !consumeDiscountDTO.getCashbackStepList().isEmpty()) {
consumeCashback.setCashbackStepList(JSONArray.toJSONString(consumeDiscountDTO.getCashbackStepList())); consumeCashback.setCashbackStepList(JSONArray.toJSONString(consumeDiscountDTO.getCashbackStepList()));
} }

View File

@@ -4,9 +4,11 @@ import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson2.JSONArray; import com.alibaba.fastjson2.JSONArray;
import com.czg.account.dto.shopuser.ShopUserMoneyEditDTO; import com.czg.account.dto.shopuser.ShopUserMoneyEditDTO;
import com.czg.account.entity.ShopConfig;
import com.czg.account.entity.ShopInfo; import com.czg.account.entity.ShopInfo;
import com.czg.account.entity.ShopUser; import com.czg.account.entity.ShopUser;
import com.czg.account.service.MemberPointsService; import com.czg.account.service.MemberPointsService;
import com.czg.account.service.ShopConfigService;
import com.czg.account.service.ShopInfoService; import com.czg.account.service.ShopInfoService;
import com.czg.account.service.ShopUserService; import com.czg.account.service.ShopUserService;
import com.czg.enums.ShopUserFlowBizEnum; import com.czg.enums.ShopUserFlowBizEnum;
@@ -32,6 +34,7 @@ import com.czg.service.market.mapper.MkShopRechargeMapper;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.dubbo.config.annotation.DubboReference; import org.apache.dubbo.config.annotation.DubboReference;
import org.apache.dubbo.config.annotation.DubboService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.math.BigDecimal; import java.math.BigDecimal;
@@ -60,6 +63,8 @@ public class MkShopRechargeServiceImpl extends ServiceImpl<MkShopRechargeMapper,
private MkShopCouponRecordService shopCouponRecordService; private MkShopCouponRecordService shopCouponRecordService;
@DubboReference @DubboReference
private ShopInfoService shopInfoService; private ShopInfoService shopInfoService;
@DubboReference
private ShopConfigService shopConfigService;
@Override @Override
public MkShopRechargeVO detailApp(Long shopId) { public MkShopRechargeVO detailApp(Long shopId) {
@@ -134,6 +139,10 @@ public class MkShopRechargeServiceImpl extends ServiceImpl<MkShopRechargeMapper,
shopRechargeDetailService.save(mkShopRechargeDetail); shopRechargeDetailService.save(mkShopRechargeDetail);
}); });
} }
shopConfigService.editStatusByShopIdList(shopId, shopRechargeDTO.getIsEnable(), ShopConfig::getIsAccountPay,
shopRechargeDTO.getUseType(), shopRechargeDTO.getShopIdList());
return updateById(shopRecharge); return updateById(shopRecharge);
} }