会员等级问题
This commit is contained in:
@@ -3,7 +3,6 @@ package com.czg.controller.admin;
|
||||
import com.czg.exception.CzgException;
|
||||
import com.czg.market.dto.MemberConfigDTO;
|
||||
import com.czg.market.dto.MemberLevelDTO;
|
||||
import com.czg.market.entity.MemberLevelConfig;
|
||||
import com.czg.market.service.MemberLevelConfigService;
|
||||
import com.czg.market.service.MemberOrderService;
|
||||
import com.czg.market.service.TbMemberConfigService;
|
||||
@@ -13,7 +12,6 @@ import com.czg.resp.CzgResult;
|
||||
import com.czg.sa.StpKit;
|
||||
import com.czg.utils.AssertUtil;
|
||||
import com.czg.validator.group.UpdateGroup;
|
||||
import com.mybatisflex.core.query.QueryWrapper;
|
||||
import jakarta.annotation.Resource;
|
||||
import jakarta.validation.groups.Default;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
@@ -24,6 +22,7 @@ import java.util.Map;
|
||||
|
||||
/**
|
||||
* 会员配置管理
|
||||
*
|
||||
* @author ww
|
||||
*/
|
||||
|
||||
@@ -40,6 +39,7 @@ public class MemberController {
|
||||
|
||||
/**
|
||||
* 会员购买订单记录 分页
|
||||
*
|
||||
* @param startTime 开始时间
|
||||
* @param endTime 结束时间
|
||||
* @param key 用户id
|
||||
@@ -50,6 +50,7 @@ public class MemberController {
|
||||
@RequestParam(required = false) String endTime, @RequestParam(required = false) String key) {
|
||||
return CzgResult.success(memberOrderService.pageInfo(startTime, endTime, key));
|
||||
}
|
||||
|
||||
/**
|
||||
* 配置信息获取
|
||||
* 权限标识: activate:list
|
||||
@@ -61,6 +62,7 @@ public class MemberController {
|
||||
|
||||
/**
|
||||
* 配置信息修改
|
||||
*
|
||||
* @return 是否成功
|
||||
*/
|
||||
@PostMapping
|
||||
@@ -72,6 +74,7 @@ public class MemberController {
|
||||
|
||||
/**
|
||||
* 会员等级添加
|
||||
*
|
||||
* @return 是否成功
|
||||
*/
|
||||
@PostMapping("/level")
|
||||
@@ -82,6 +85,7 @@ public class MemberController {
|
||||
|
||||
/**
|
||||
* 会员等级修改
|
||||
*
|
||||
* @return 是否成功
|
||||
*/
|
||||
@PutMapping("/level")
|
||||
@@ -92,16 +96,18 @@ public class MemberController {
|
||||
|
||||
/**
|
||||
* 会员等级删除
|
||||
*
|
||||
* @return 是否成功
|
||||
*/
|
||||
@DeleteMapping("/level/{id}")
|
||||
public CzgResult<Boolean> deleteLevel(@PathVariable Long id) {
|
||||
AssertUtil.isTrue(!StpKit.USER.isMainShop(), "无权限操作");
|
||||
return CzgResult.success(memberLevelConfigService.remove(new QueryWrapper().eq(MemberLevelConfig::getId, id).eq(MemberLevelConfig::getShopId, StpKit.USER.getShopId())));
|
||||
return CzgResult.success(memberLevelConfigService.removeLevel(id, StpKit.USER.getShopId()));
|
||||
}
|
||||
|
||||
/**
|
||||
* 会员等级列表
|
||||
*
|
||||
* @return 是否成功
|
||||
*/
|
||||
@GetMapping("/level/list")
|
||||
@@ -112,6 +118,7 @@ public class MemberController {
|
||||
|
||||
/**
|
||||
* 会员等级详情
|
||||
*
|
||||
* @return 是否成功
|
||||
*/
|
||||
@PutMapping("/level/detail")
|
||||
|
||||
@@ -42,6 +42,10 @@ public interface ShopUserService extends IService<ShopUser> {
|
||||
Page<InviteUserVO> getInviteUser(Long getDistributionUserId, Long shopId, Long shopUserId, Long distributionLevelId, Integer page, Integer size);
|
||||
|
||||
boolean updateInfo(ShopUser shopUser);
|
||||
/**
|
||||
* 修改会员等级id 不忽略Null值
|
||||
*/
|
||||
void upMemberLevel(Long newMemberLevelId, Long oldMemberLevelId);
|
||||
|
||||
List<ShopUser> selectBirthdayUser(LocalDate current, Long mainShopId, String userType);
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
package com.czg.market.service;
|
||||
|
||||
import com.czg.market.entity.MemberLevelConfig;
|
||||
import com.czg.market.vo.MemberLevelVO;
|
||||
import com.mybatisflex.core.service.IService;
|
||||
import com.czg.market.entity.MemberLevelConfig;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
@@ -15,5 +15,8 @@ import java.util.ArrayList;
|
||||
public interface MemberLevelConfigService extends IService<MemberLevelConfig> {
|
||||
|
||||
MemberLevelVO detail(Long memberLevelId);
|
||||
|
||||
ArrayList<MemberLevelVO> listInfo(Long shopId);
|
||||
|
||||
Boolean removeLevel(Long id, Long shopId);
|
||||
}
|
||||
|
||||
@@ -10,6 +10,7 @@ import com.czg.market.vo.InviteUserVO;
|
||||
import com.mybatisflex.core.BaseMapper;
|
||||
import com.mybatisflex.core.paginate.Page;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.apache.ibatis.annotations.Update;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
@@ -74,4 +75,6 @@ public interface ShopUserMapper extends BaseMapper<ShopUser> {
|
||||
|
||||
void updateOneOrTwoAmount(Long shopUserId, Long shopId, BigDecimal amount, Integer isOne);
|
||||
|
||||
@Update("update tb_shop_user set member_level_id = #{newMemberLevelId} where member_level_id = #{oldMemberLevelId}")
|
||||
void upMemberLevel(Long newMemberLevelId, Long oldMemberLevelId);
|
||||
}
|
||||
|
||||
@@ -38,7 +38,6 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@@ -82,6 +81,11 @@ public class ShopUserServiceImpl extends ServiceImpl<ShopUserMapper, ShopUser> i
|
||||
return super.updateById(shopUser);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void upMemberLevel(Long newMemberLevelId, Long oldMemberLevelId) {
|
||||
mapper.upMemberLevel(newMemberLevelId, oldMemberLevelId);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public ShopUser getShopUserInfo(Long shopId, long userId) {
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.czg.service.market.service.impl;
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.alibaba.fastjson2.JSONArray;
|
||||
import com.czg.account.service.ShopUserService;
|
||||
import com.czg.market.dto.MemberLevelDTO;
|
||||
import com.czg.market.entity.MemberLevelConfig;
|
||||
import com.czg.market.service.MemberLevelConfigService;
|
||||
@@ -12,6 +13,7 @@ import com.czg.service.market.mapper.TbMemberLevelConfigMapper;
|
||||
import com.mybatisflex.core.query.QueryWrapper;
|
||||
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 java.util.ArrayList;
|
||||
@@ -24,9 +26,11 @@ import java.util.List;
|
||||
* @since 2025-09-10
|
||||
*/
|
||||
@DubboService
|
||||
public class TbMemberLevelConfigServiceImpl extends ServiceImpl<TbMemberLevelConfigMapper, MemberLevelConfig> implements MemberLevelConfigService{
|
||||
public class TbMemberLevelConfigServiceImpl extends ServiceImpl<TbMemberLevelConfigMapper, MemberLevelConfig> implements MemberLevelConfigService {
|
||||
@Resource
|
||||
private ShopCouponService shopCouponService;
|
||||
@DubboReference
|
||||
private ShopUserService shopUserService;
|
||||
|
||||
@Override
|
||||
public ArrayList<MemberLevelVO> listInfo(Long shopId) {
|
||||
@@ -36,6 +40,21 @@ public class TbMemberLevelConfigServiceImpl extends ServiceImpl<TbMemberLevelCon
|
||||
return memberLevels;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean removeLevel(Long id, Long shopId) {
|
||||
boolean result = remove(new QueryWrapper().eq(MemberLevelConfig::getId, id).eq(MemberLevelConfig::getShopId, shopId));
|
||||
if (result) {
|
||||
MemberLevelConfig one = getOne(query().lt(MemberLevelConfig::getId, id).eq(MemberLevelConfig::getShopId, shopId).orderBy(MemberLevelConfig::getId, false));
|
||||
if (one != null) {
|
||||
shopUserService.upMemberLevel(one.getId(), id);
|
||||
} else {
|
||||
//设置等级id为null
|
||||
shopUserService.upMemberLevel(null, id);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
private MemberLevelVO transVO(MemberLevelConfig memberLevelConfig) {
|
||||
MemberLevelVO levelVO = BeanUtil.copyProperties(memberLevelConfig, MemberLevelVO.class, "cycleRewardCouponList");
|
||||
if (StrUtil.isNotBlank(memberLevelConfig.getCycleRewardCouponList())) {
|
||||
|
||||
Reference in New Issue
Block a user