package cc.mrbird.febs.mall.controller.memberLevel; import cc.mrbird.febs.common.controller.BaseController; 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.*; 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; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; 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 happyMemberLabelRecords = happyMemberLabelRecordMapper.selectList( new LambdaQueryWrapper() .eq(HappyMemberLabelRecord::getLabelId, id) ); //stream流操作happyMemberLabelRecords,获取memberId的set集合 Set memberIds = happyMemberLabelRecords.stream().map(HappyMemberLabelRecord::getMemberId).collect(Collectors.toSet()); //左侧数据 List mallMembers = mallMemberMapper.selectList( new LambdaQueryWrapper() .select(MallMember::getId, MallMember::getName,MallMember::getRealName, MallMember::getPhone) .isNotNull(MallMember::getPhone) .eq(MallMember::getAccountStatus, MallMember.ACCOUNT_STATUS_ENABLE) ); //stream流操作mallMembers,生成一个新的List List 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"); } /** * 会员等级列表 */ @GetMapping("levelList") @RequiresPermissions("levelList:view") public String levelList() { return FebsUtil.view("modules/levelView/levelList"); } /** * 会员等级新增 * @return */ @GetMapping(value = "/levelAdd") @RequiresPermissions("levelAdd:add") public String levelAdd() { return FebsUtil.view("modules/levelView/levelAdd"); } /** * 会员等级编辑 * @param id * @param model * @return */ @GetMapping("levelInfo/{id}") @RequiresPermissions("levelInfo:view") public String levelInfo(@PathVariable long id, Model model) { HappyMemberLevel happyMemberLevel = adminMemberLevelService.getBaseMapper().selectById(id); model.addAttribute("happyMemberLevel", happyMemberLevel); 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"); } }