Administrator
2025-05-27 53f83462c6b0b5cbf366a1a8eb2243d2927b300b
src/main/java/cc/mrbird/febs/mall/controller/memberLevel/ViewHappyMemberLevelController.java
@@ -4,15 +4,13 @@
import cc.mrbird.febs.common.entity.FebsConstant;
import cc.mrbird.febs.common.utils.FebsUtil;
import cc.mrbird.febs.common.utils.RedisUtils;
import cc.mrbird.febs.mall.entity.HappyActivity;
import cc.mrbird.febs.mall.entity.HappyActivityCategory;
import cc.mrbird.febs.mall.entity.HappyActivityOption;
import cc.mrbird.febs.mall.entity.HappyMemberLevel;
import cc.mrbird.febs.mall.mapper.HappyActivityCategoryMapper;
import cc.mrbird.febs.mall.mapper.HappyActivityOptionMapper;
import cc.mrbird.febs.mall.entity.*;
import cc.mrbird.febs.mall.mapper.*;
import cc.mrbird.febs.mall.service.AdminMemberLevelService;
import cc.mrbird.febs.mall.service.IAdminHappyActivityService;
import cc.mrbird.febs.mall.vo.AdminLabelSetVo;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import lombok.RequiredArgsConstructor;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.stereotype.Controller;
@@ -21,12 +19,95 @@
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
@Controller("levelView")
@RequestMapping(FebsConstant.VIEW_PREFIX + "modules/levelView")
@RequiredArgsConstructor
public class ViewHappyMemberLevelController extends BaseController {
    private final AdminMemberLevelService adminMemberLevelService;
    private final HappySaleLevelMapper happySaleLevelMapper;
    private final HappyMemberLabelMapper happyMemberLabelMapper;
    private final HappyMemberLabelRecordMapper happyMemberLabelRecordMapper;
    private final MallMemberMapper  mallMemberMapper;
    /**
     * 会员标识列表
     */
    @GetMapping("labelList")
    @RequiresPermissions("labelList:view")
    public String labelList() {
        return FebsUtil.view("modules/levelView/labelList");
    }
    /**
     * 会员标识新增
     * @return
     */
    @GetMapping(value = "/labelAdd")
    @RequiresPermissions("labelAdd:add")
    public String labelAdd() {
        return FebsUtil.view("modules/levelView/labelAdd");
    }
    /**
     * 会员标识编辑
     * @param id
     * @param model
     * @return
     */
    @GetMapping("labelInfo/{id}")
    @RequiresPermissions("labelInfo:view")
    public String labelInfo(@PathVariable long id, Model model) {
        HappyMemberLabel happyMemberLabel = happyMemberLabelMapper.selectById(id);
        model.addAttribute("happyMemberLabel", happyMemberLabel);
        return FebsUtil.view("modules/levelView/labelInfo");
    }
    /**
     * 设置会员标识
     * @param id
     * @param model
     * @return
     */
    @GetMapping("labelSet/{id}")
    @RequiresPermissions("labelSet:view")
    public String labelSet(@PathVariable long id, Model model) {
        HappyMemberLabel happyMemberLabel = happyMemberLabelMapper.selectById(id);
        //右侧数据
        List<HappyMemberLabelRecord> happyMemberLabelRecords = happyMemberLabelRecordMapper.selectList(
                new LambdaQueryWrapper<HappyMemberLabelRecord>()
                        .eq(HappyMemberLabelRecord::getLabelId, id)
        );
        //stream流操作happyMemberLabelRecords,获取memberId的set集合
        Set<Long> memberIds = happyMemberLabelRecords.stream().map(HappyMemberLabelRecord::getMemberId).collect(Collectors.toSet());
        //左侧数据
        List<MallMember> mallMembers = mallMemberMapper.selectList(
                new LambdaQueryWrapper<MallMember>()
                        .select(MallMember::getId, MallMember::getName,MallMember::getRealName, MallMember::getPhone)
                        .isNotNull(MallMember::getPhone)
                        .eq(MallMember::getAccountStatus, MallMember.ACCOUNT_STATUS_ENABLE)
        );
        //stream流操作mallMembers,生成一个新的List<MallMemberVo>
        List<AdminLabelSetVo> adminLabelSetVos = mallMembers.stream().map(mallMember -> {
            AdminLabelSetVo adminLabelSetVo = new AdminLabelSetVo();
            adminLabelSetVo.setId(mallMember.getId());
            adminLabelSetVo.setLabelName(mallMember.getName()+"("+mallMember.getRealName()+")"+mallMember.getPhone());
            return adminLabelSetVo;
        }).collect(Collectors.toList());
        model.addAttribute("adminLabelSetVos", adminLabelSetVos);
        model.addAttribute("memberIds", memberIds);
        model.addAttribute("labelId", id);
        return FebsUtil.view("modules/levelView/labelSet");
    }
    /**
     * 会员等级列表
@@ -61,4 +142,40 @@
        return FebsUtil.view("modules/levelView/levelInfo");
    }
    /**
     * 分销等级列表
     */
    @GetMapping("saleList")
    @RequiresPermissions("saleList:view")
    public String saleList() {
        return FebsUtil.view("modules/levelView/saleList");
    }
    /**
     * 分销等级新增
     * @return
     */
    @GetMapping(value = "/saleAdd")
    @RequiresPermissions("saleAdd:add")
    public String saleAdd() {
        return FebsUtil.view("modules/levelView/saleAdd");
    }
    /**
     * 分销等级编辑
     * @param id
     * @param model
     * @return
     */
    @GetMapping("saleInfo/{id}")
    @RequiresPermissions("saleInfo:view")
    public String saleInfo(@PathVariable long id, Model model) {
        HappySaleLevel happySaleLevel = happySaleLevelMapper.selectById(id);
        model.addAttribute("happySaleLevel", happySaleLevel);
        return FebsUtil.view("modules/levelView/saleInfo");
    }
}