From ab4ea7b8f10c9b66aed9c2ea161a08b25c3851a7 Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期二, 30 四月 2024 19:11:37 +0800 Subject: [PATCH] 2024.04新增内容 --- meiya-admin/src/main/java/com/sinata/modular/member/controller/MemUserSalesController.java | 51 +++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 41 insertions(+), 10 deletions(-) diff --git a/meiya-admin/src/main/java/com/sinata/modular/member/controller/MemUserSalesController.java b/meiya-admin/src/main/java/com/sinata/modular/member/controller/MemUserSalesController.java index ca36302..e1419dc 100644 --- a/meiya-admin/src/main/java/com/sinata/modular/member/controller/MemUserSalesController.java +++ b/meiya-admin/src/main/java/com/sinata/modular/member/controller/MemUserSalesController.java @@ -28,8 +28,10 @@ import com.sinata.modular.member.model.MemUserRelation; import com.sinata.modular.member.service.IMemUserRelationService; import com.sinata.modular.member.service.IMemUserService; +import com.sinata.modular.system.model.Role; import com.sinata.modular.system.model.SystemNotice; import com.sinata.modular.system.model.TCityRegion; +import com.sinata.modular.system.service.IRoleService; import com.sinata.modular.system.service.ISystemNoticeService; import com.sinata.modular.system.service.ITCityRegionService; import lombok.extern.slf4j.Slf4j; @@ -72,6 +74,9 @@ @Autowired private ISystemNoticeService systemNoticeService; + + @Autowired + private IRoleService roleService; /** * 跳转到会员用户信息首页 @@ -137,12 +142,18 @@ try { // 【城市管理员】数据查询 ShiroUser shiroUser = ShiroKit.getUser(); - if (shiroUser.getRoleList().contains(EnumCityRole.PROVINCE_ROLE.index)) { - // 省级城市管理员 - wrapper.like("o.city_code", shiroUser.getCityCode().substring(0, 2), SqlLike.RIGHT); - } else if (shiroUser.getRoleList().contains(EnumCityRole.CITY_ROLE.index)) { + List<Integer> roleList = shiroUser.getRoleList(); + List<Integer> cityRoleList = roleService.selectList( + new EntityWrapper<Role>().in("id", roleList)).stream().map(Role::getCityRole) + .collect( + Collectors.toList()); + if (cityRoleList.contains(EnumCityRole.CITY_ROLE.index)) { // 市级城市管理员 wrapper.like("o.city_code", shiroUser.getCityCode().substring(0, 4), SqlLike.RIGHT); + } + else if (cityRoleList.contains(EnumCityRole.PROVINCE_ROLE.index)) { + // 省级城市管理员 + wrapper.like("o.city_code", shiroUser.getCityCode().substring(0, 2), SqlLike.RIGHT); } } catch (Exception e) { e.printStackTrace(); @@ -235,6 +246,11 @@ if (parentV4V5User[0] != null) { map.put("v4ShowId", parentV4V5User[0].getShowId()); map.put("v4Team", parentV4V5User[0].getRealName()); + } else if (parentV4V5User[1] != null) { + map.put("v4ShowId", parentV4V5User[1].getShowId()); + map.put("v4Team", parentV4V5User[1].getRealName()); + map.put("v5ShowId", parentV4V5User[1].getShowId()); + map.put("v5Team", parentV4V5User[1].getRealName()); } if (parentV4V5User[1] != null) { map.put("v5ShowId", parentV4V5User[1].getShowId()); @@ -444,18 +460,21 @@ Integer gradeId = 0; // 判断用是否为普通会员、VIP会员,可直接升级黄金营销员、城市合伙人 if (memUser.getMemberGradeId() == EnumMemberGrade.G_1.index || memUser.getMemberGradeId() == EnumMemberGrade.G_2.index) { + //2024年4月改:购买钻石套餐成为城市合伙人的时间节点:次日、次月、次季度(和人员职级晋升维持设置 一致) if (order.getOrderType() == EnumMallGoodsGroupType.GROUP_DIAMOND.index) { - gradeId = EnumMemberGrade.G_4.index; + gradeId = EnumMemberGrade.G_3.index; + setSql +=", upgrade_status = 0"; } else if (order.getOrderType() == EnumMallGoodsGroupType.GROUP_GOLD.index) { gradeId = EnumMemberGrade.G_3.index; + setSql +=", upgrade_status = 1"; } } // 判断用是否为黄金营销员,可升级城市合伙人 - else if (memUser.getMemberGradeId() == EnumMemberGrade.G_3.index) { - if (order.getOrderType() == EnumMallGoodsGroupType.GROUP_DIAMOND.index) { - gradeId = EnumMemberGrade.G_4.index; - } - } +// else if (memUser.getMemberGradeId() == EnumMemberGrade.G_3.index) { +// if (order.getOrderType() == EnumMallGoodsGroupType.GROUP_DIAMOND.index) { +// gradeId = EnumMemberGrade.G_4.index; +// } +// } // 其他(城市合伙人、市场总监)不处理 // 升级、重置品行(处理降级的要重置) @@ -725,6 +744,18 @@ @RequestMapping(value = "/editUserLevel") public Object editUserLevel(Integer userId, String memberGradeId) { String whereSql = "member_grade_id = " + memberGradeId; + MemUser memUser = memUserService.selectById(userId); + if (Objects.nonNull(memUser)) { + String equityOrderNo = memUser.getEquityOrderNo(); + MallOrder order = mallOrderService.selectOne(new EntityWrapper<MallOrder>() + .eq("order_no", equityOrderNo)); + if (Objects.nonNull(order)) { + if (order.getOrderType() == 2 && memUser.getMemberGradeId() == 3) { + whereSql += ", upgrade_status = 1"; + } + } + } + boolean flag = memUserService.updateForSet(whereSql, new EntityWrapper<MemUser>().eq("id", userId)); return returnByFlag(flag, null); } -- Gitblit v1.7.1