Merge remote-tracking branch 'origin/test' into test

This commit is contained in:
张松
2025-10-21 16:33:28 +08:00
3 changed files with 151 additions and 29 deletions

View File

@@ -1,8 +1,12 @@
package com.czg.service.market.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.StrUtil;
import com.czg.TimeQueryParam;
import com.czg.account.entity.PictureClassify;
import com.czg.account.entity.ShopInfo;
import com.czg.account.service.ShopInfoService;
import com.czg.enums.YesNoEnum;
import com.czg.exception.CzgException;
import com.czg.market.dto.MkLimitTimeDiscountDTO;
import com.czg.market.entity.MkLimitTimeDiscount;
@@ -43,6 +47,14 @@ public class MkLimitTimeDiscountServiceImpl extends ServiceImpl<MkLimitTimeDisco
.le(MkLimitTimeDiscount::getValidEndTime, CzgStrUtils.getStrOrNull(param.getEndTime()))
.orderBy(MkLimitTimeDiscount::getSort).desc()
.orderBy(MkLimitTimeDiscount::getUpdateTime).desc();
queryWrapper.and(q -> {
q.eq(MkLimitTimeDiscount::getUseType, "all").or(q1 -> {
q1.eq(MkLimitTimeDiscount::getUseType, "only").eq(MkLimitTimeDiscount::getShopId, shopId);
}).or(q2 -> {
q2.eq(MkLimitTimeDiscount::getUseType, "custom").gt("FIND_IN_SET(" + shopId + ", use_shops)", 0);
});
});
return pageAs(PageUtil.buildPage(), queryWrapper, MkLimitTimeDiscountDTO.class);
}
@@ -60,43 +72,46 @@ public class MkLimitTimeDiscountServiceImpl extends ServiceImpl<MkLimitTimeDisco
@Override
public void addLimitTimeDiscount(MkLimitTimeDiscountDTO param) {
// validateAndInitStatus(param);
// if ("only".equals(param.getUseShopType())) {
// param.setUseShops(param.getShopId().toString());
// } else if ("custom".equals(param.getUseShopType())) {
// AssertUtil.isBlank(param.getUseShops(), "请配置可用门店");
// }
//
// if(param.getFoodType() == 2){
// AssertUtil.isBlank(param.getFoods(), "请配置参与商品");
// }
// if(param.getFoodType() == 2){
// AssertUtil.isBlank(param.getFoods(), "请配置参与商品");
// }
// MkLimitTimeDiscount activity = BeanUtil.toBean(param, MkLimitTimeDiscount.class);
// save(activity);
AssertUtil.isBlank(param.getDiscountPriority(), "请配置折扣优先级");
AssertUtil.isBlank(param.getUseDays(), "请配置可用周期");
if ("only".equals(param.getUseShopType())) {
param.setUseShops(param.getShopId().toString());
} else if ("custom".equals(param.getUseShopType())) {
AssertUtil.isBlank(param.getUseShops(), "请配置可用门店");
}
if (param.getFoodType() == 2) {
AssertUtil.isBlank(param.getFoods(), "请配置参与商品");
}
validateAndInitStatus(param);
param.setIsDel(false);
MkLimitTimeDiscount activity = BeanUtil.toBean(param, MkLimitTimeDiscount.class);
save(activity);
}
@Override
public void updateLimitTimeDiscountById(MkLimitTimeDiscountDTO param) {
// if (CollUtil.isEmpty(param.getThresholds())) {
// throw new IllegalArgumentException("活动必须配置满减阈值");
// }
// validateAndInitStatus(param);
// MkDiscountActivity activity = BeanUtil.toBean(param, MkDiscountActivity.class);
// updateById(activity, true);
// thresholdMapper.deleteByQuery(
// new QueryWrapper().eq(MkDiscountThreshold::getActivityId, activity.getId())
// );
// for (MkDiscountThreshold threshold : param.getThresholds()) {
// threshold.setActivityId(activity.getId());
// thresholdMapper.insert(threshold);
// }
AssertUtil.isBlank(param.getDiscountPriority(), "请配置折扣优先级");
AssertUtil.isBlank(param.getUseDays(), "请配置可用周期");
if ("only".equals(param.getUseShopType())) {
param.setUseShops(param.getShopId().toString());
} else if ("custom".equals(param.getUseShopType())) {
AssertUtil.isBlank(param.getUseShops(), "请配置可用门店");
}
if (param.getFoodType() == 2) {
AssertUtil.isBlank(param.getFoods(), "请配置参与商品");
}
validateAndInitStatus(param);
param.setIsDel(false);
MkLimitTimeDiscount limitTimeDiscount = BeanUtil.toBean(param, MkLimitTimeDiscount.class);
updateById(limitTimeDiscount, true);
}
@Override
public void deleteLimitTimeDiscount(Long id) {
MkLimitTimeDiscount limitTimeDiscount = new MkLimitTimeDiscount();
limitTimeDiscount.setId(id);
limitTimeDiscount.setIsDel(true);
updateById(limitTimeDiscount, true);
}
@@ -133,4 +148,22 @@ public class MkLimitTimeDiscountServiceImpl extends ServiceImpl<MkLimitTimeDisco
param.setStatus(2);
}
}
public static void main(String[] args) {
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq(MkLimitTimeDiscount::getShopId, 2)
.eq(MkLimitTimeDiscount::getIsDel, 0)
.orderBy(MkLimitTimeDiscount::getSort).desc()
.orderBy(MkLimitTimeDiscount::getUpdateTime).desc();
queryWrapper.and(q -> {
q.eq(MkLimitTimeDiscount::getUseType, "all").or(q1 -> {
q1.eq(MkLimitTimeDiscount::getUseType, "only").eq(MkLimitTimeDiscount::getShopId, 999);
}).or(q2 -> {
q2.eq(MkLimitTimeDiscount::getUseType, "custom").gt("FIND_IN_SET(" + 2 + ", use_shops)", 0);
});
});
System.out.println(queryWrapper.toSQL());
}
}