修改会员信息,重置用户等级
This commit is contained in:
parent
31b22f9413
commit
60bcef1e9b
|
|
@ -4,6 +4,8 @@ import com.czg.market.vo.MemberLevelVO;
|
|||
import com.mybatisflex.core.service.IService;
|
||||
import com.czg.market.entity.MemberLevelConfig;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
/**
|
||||
* 会员等级配置 服务层。
|
||||
*
|
||||
|
|
@ -13,4 +15,5 @@ import com.czg.market.entity.MemberLevelConfig;
|
|||
public interface MemberLevelConfigService extends IService<MemberLevelConfig> {
|
||||
|
||||
MemberLevelVO detail(Long memberLevelId);
|
||||
ArrayList<MemberLevelVO> listInfo(Long shopId);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26,4 +26,5 @@ public class UMemberConfigVO implements Serializable {
|
|||
*/
|
||||
private Map<String, Object> conditionMap;
|
||||
private MemberLevelVO memberLevel;
|
||||
private List<MemberLevelVO> memberLevelList;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -140,6 +140,8 @@ public class TbMemberConfigServiceImpl extends ServiceImpl<TbMemberConfigMapper,
|
|||
} else {
|
||||
configVO.setMemberLevel(levelConfigService.detail(shopUserInfo.getMemberLevelId()));
|
||||
}
|
||||
|
||||
configVO.setMemberLevelList(levelConfigService.listInfo(shopId));
|
||||
return configVO;
|
||||
}
|
||||
|
||||
|
|
@ -185,6 +187,8 @@ public class TbMemberConfigServiceImpl extends ServiceImpl<TbMemberConfigMapper,
|
|||
memberConfig.setMemberPriceShopIdList(JSONObject.toJSONString(memberDTO.getMemberPriceShopIdList()));
|
||||
}
|
||||
return updateById(memberConfig, false);
|
||||
|
||||
|
||||
}
|
||||
|
||||
private void checkLevelDto(Long shopId, MemberLevelDTO levelDTO) {
|
||||
|
|
@ -228,6 +232,7 @@ public class TbMemberConfigServiceImpl extends ServiceImpl<TbMemberConfigMapper,
|
|||
public Boolean editLevel(Long shopId, MemberLevelDTO levelDTO) {
|
||||
MemberLevelConfig levelConfig = levelConfigService.getOne(new QueryWrapper().eq(MemberLevelConfig::getId, levelDTO.getId()).eq(MemberLevelConfig::getShopId, shopId));
|
||||
Optional.ofNullable(levelConfig).orElseThrow(() -> new ApiNotPrintException("会员等级不存在"));
|
||||
Integer oldVal = levelConfig.getExperienceValue();
|
||||
checkLevelDto(shopId, levelDTO);
|
||||
BeanUtil.copyProperties(levelDTO, levelConfig);
|
||||
|
||||
|
|
@ -236,7 +241,19 @@ public class TbMemberConfigServiceImpl extends ServiceImpl<TbMemberConfigMapper,
|
|||
} else {
|
||||
levelConfig.setCycleRewardCouponList(null);
|
||||
}
|
||||
return levelConfigService.updateById(levelConfig, false);
|
||||
AssertUtil.isTrue(!levelConfigService.updateById(levelConfig, false), "修改失败");
|
||||
|
||||
if (!Objects.equals(oldVal, levelDTO.getExperienceValue())) {
|
||||
List<ShopUser> shopUserList = shopUserService.list(new QueryWrapper().eq(ShopUser::getSourceShopId, shopId));
|
||||
shopUserList.forEach(item -> {
|
||||
MemberLevelConfig configServiceOne = levelConfigService.getOne(new QueryWrapper().eq(MemberLevelConfig::getShopId, shopId)
|
||||
.le(MemberLevelConfig::getExperienceValue, item.getExperience()).orderBy(MemberLevelConfig::getExperienceValue, false).limit(1));
|
||||
item.setMemberLevelId(configServiceOne == null ? item.getMemberLevelId() : configServiceOne.getId());
|
||||
});
|
||||
return shopUserService.updateBatch(shopUserList);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -4,16 +4,17 @@ import cn.hutool.core.bean.BeanUtil;
|
|||
import cn.hutool.core.util.StrUtil;
|
||||
import com.alibaba.fastjson2.JSONArray;
|
||||
import com.czg.market.dto.MemberLevelDTO;
|
||||
import com.czg.market.entity.ShopCoupon;
|
||||
import com.czg.market.service.ShopCouponService;
|
||||
import com.czg.market.vo.MemberLevelVO;
|
||||
import com.czg.service.market.mapper.TbMemberLevelConfigMapper;
|
||||
import com.mybatisflex.core.query.QueryWrapper;
|
||||
import com.mybatisflex.spring.service.impl.ServiceImpl;
|
||||
import com.czg.market.entity.MemberLevelConfig;
|
||||
import com.czg.market.service.MemberLevelConfigService;
|
||||
import jakarta.annotation.Resource;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
|
|
@ -26,12 +27,18 @@ import java.util.List;
|
|||
public class TbMemberLevelConfigServiceImpl extends ServiceImpl<TbMemberLevelConfigMapper, MemberLevelConfig> implements MemberLevelConfigService{
|
||||
@Resource
|
||||
private ShopCouponService shopCouponService;
|
||||
|
||||
@Override
|
||||
public MemberLevelVO detail(Long memberLevelId) {
|
||||
MemberLevelConfig memberLevelConfig = getById(memberLevelId);
|
||||
if (memberLevelConfig == null) {
|
||||
return null;
|
||||
}
|
||||
public ArrayList<MemberLevelVO> listInfo(Long shopId) {
|
||||
List<MemberLevelConfig> levelConfigs = list(new QueryWrapper().eq(MemberLevelConfig::getShopId, shopId));
|
||||
ArrayList<MemberLevelVO> memberLevelVOS = new ArrayList<>();
|
||||
levelConfigs.forEach(memberLevelConfig -> {
|
||||
memberLevelVOS.add(transVO(memberLevelConfig));
|
||||
});
|
||||
return memberLevelVOS;
|
||||
}
|
||||
|
||||
private MemberLevelVO transVO(MemberLevelConfig memberLevelConfig) {
|
||||
MemberLevelVO levelVO = BeanUtil.copyProperties(memberLevelConfig, MemberLevelVO.class, "cycleRewardCouponList");
|
||||
if (StrUtil.isNotBlank(memberLevelConfig.getCycleRewardCouponList())) {
|
||||
List<MemberLevelDTO.ConfigCoupon> coupons = JSONArray.parseArray(memberLevelConfig.getCycleRewardCouponList()).toList(MemberLevelDTO.ConfigCoupon.class);
|
||||
|
|
@ -42,4 +49,13 @@ public class TbMemberLevelConfigServiceImpl extends ServiceImpl<TbMemberLevelCon
|
|||
}
|
||||
return levelVO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public MemberLevelVO detail(Long memberLevelId) {
|
||||
MemberLevelConfig memberLevelConfig = getById(memberLevelId);
|
||||
if (memberLevelConfig == null) {
|
||||
return null;
|
||||
}
|
||||
return transVO(memberLevelConfig);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue