mitao
2024-04-30 ab4ea7b8f10c9b66aed9c2ea161a08b25c3851a7
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);
    }