mitao
2024-04-22 a3251c2650bfffa5a7027c874ea5cbc45b378414
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;
@@ -73,12 +75,20 @@
    @Autowired
    private ISystemNoticeService systemNoticeService;
    @Autowired
    private IRoleService roleService;
    /**
     * 跳转到会员用户信息首页
     */
    @RequestMapping("")
    public String index(Model model) {
        return PREFIX + "memUserSales.html";
        boolean admin = ShiroKit.isAdmin();
        if (admin) {
            return PREFIX + "memUserSales.html";
        } else {
            return PREFIX + "memUserSalesAuth.html";
        }
    }
    @ResponseBody
@@ -132,10 +142,15 @@
        try {
            // 【城市管理员】数据查询
            ShiroUser shiroUser = ShiroKit.getUser();
            if (shiroUser.getRoleList().contains(EnumCityRole.PROVINCE_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.PROVINCE_ROLE.index)) {
                // 省级城市管理员
                wrapper.like("o.city_code", shiroUser.getCityCode().substring(0, 2), SqlLike.RIGHT);
            } else if (shiroUser.getRoleList().contains(EnumCityRole.CITY_ROLE.index)) {
            } else if (cityRoleList.contains(EnumCityRole.CITY_ROLE.index)) {
                // 市级城市管理员
                wrapper.like("o.city_code", shiroUser.getCityCode().substring(0, 4), SqlLike.RIGHT);
            }
@@ -259,65 +274,117 @@
    @ResponseBody
    @RequestMapping(value = "/export")
    public void export(String beginTime, String endTime, String nickName, String phone, String showId, Integer isLock, Integer isLeaveOffice, Integer memberGradeId, HttpServletResponse response) {
        boolean admin = ShiroKit.isAdmin();
        List<Map<String, Object>> list = this.wrapperList(null, beginTime, endTime, nickName, phone, showId, isLock, isLeaveOffice, memberGradeId);
        // 表格数据【封装】
        List<List<Object>> dataList = new ArrayList<>();
        // 头部列【封装】
        List<Object> shellList = new ArrayList<>();
        shellList.add("工号");
        shellList.add("提交时间");
        shellList.add("推荐人工号");
        shellList.add("推荐人");
        shellList.add("推荐人所在城市");
        shellList.add("姓名");
        shellList.add("性别");
        shellList.add("生日");
        shellList.add("联系电话");
        shellList.add("证件类型");
        shellList.add("证件号码");
        shellList.add("银行卡号");
        shellList.add("品行分");
        shellList.add("审核状态");
        shellList.add("佣金等级");
        shellList.add("积分");
        shellList.add("入司时间");
        shellList.add("状态");
        shellList.add("城市合伙人工号");
        shellList.add("城市合伙人团队");
        shellList.add("市场总监工号");
        shellList.add("市场总监团队");
        dataList.add(shellList);
        // 详细数据列【封装】
        for (Map<String, Object> map : list) {
            shellList = new ArrayList<>();
            shellList.add(map.get("show_id"));
            shellList.add(map.get("apply_time"));
            shellList.add(map.get("equityUserShowId"));
            shellList.add(map.get("equityUserRealName"));
            shellList.add(map.get("equityUserCityCode"));
            shellList.add(map.get("real_name"));
            shellList.add(map.get("sex"));
            shellList.add(map.get("birthday"));
            shellList.add(map.get("phone"));
            shellList.add(Convert.toInt(map.get("card_type")) == 0 ? "身份证" : "护照");
            shellList.add(map.get("id_card"));
            shellList.add(map.get("bank_number"));
            shellList.add(map.get("credit_score"));
            shellList.add(EnumAuditState.getMarkByIndex(Convert.toInt(map.get("audit_state"))));
            shellList.add(EnumMemberGrade.getAliasByIndex(Convert.toInt(map.get("member_grade_id"))));
            shellList.add(map.get("integral"));
            shellList.add(map.get("audit_time"));
            Integer isLeaveOfficeNum = Convert.toInt(map.get("is_leave_office"));
            shellList.add(isLeaveOfficeNum == 0 ? "在职" : isLeaveOfficeNum == 1 ? "离职" : "-");
            shellList.add(map.get("v4ShowId"));
            shellList.add(map.get("v4Team"));
            shellList.add(map.get("v5ShowId"));
            shellList.add(map.get("v5Team"));
        if (admin) {
            // 头部列【封装】
            List<Object> shellList = new ArrayList<>();
            shellList.add("工号");
            shellList.add("提交时间");
            shellList.add("推荐人工号");
            shellList.add("推荐人");
            shellList.add("推荐人所在城市");
            shellList.add("姓名");
            shellList.add("性别");
            shellList.add("生日");
            shellList.add("联系电话");
            shellList.add("证件类型");
            shellList.add("证件号码");
            shellList.add("银行卡号");
            shellList.add("品行分");
            shellList.add("审核状态");
            shellList.add("佣金等级");
            shellList.add("积分");
            shellList.add("入司时间");
            shellList.add("状态");
            shellList.add("城市合伙人工号");
            shellList.add("城市合伙人团队");
            shellList.add("市场总监工号");
            shellList.add("市场总监团队");
            dataList.add(shellList);
            // 详细数据列【封装】
            for (Map<String, Object> map : list) {
                shellList = new ArrayList<>();
                shellList.add(map.get("show_id"));
                shellList.add(map.get("apply_time"));
                shellList.add(map.get("equityUserShowId"));
                shellList.add(map.get("equityUserRealName"));
                shellList.add(map.get("equityUserCityCode"));
                shellList.add(map.get("real_name"));
                shellList.add(map.get("sex"));
                shellList.add(map.get("birthday"));
                shellList.add(map.get("phone"));
                shellList.add(Convert.toInt(map.get("card_type")) == 0 ? "身份证" : "护照");
                shellList.add(map.get("id_card"));
                shellList.add(map.get("bank_number"));
                shellList.add(map.get("credit_score"));
                shellList.add(EnumAuditState.getMarkByIndex(Convert.toInt(map.get("audit_state"))));
                shellList.add(EnumMemberGrade.getAliasByIndex(Convert.toInt(map.get("member_grade_id"))));
                shellList.add(map.get("integral"));
                shellList.add(map.get("audit_time"));
                Integer isLeaveOfficeNum = Convert.toInt(map.get("is_leave_office"));
                shellList.add(isLeaveOfficeNum == 0 ? "在职" : isLeaveOfficeNum == 1 ? "离职" : "-");
                shellList.add(map.get("v4ShowId"));
                shellList.add(map.get("v4Team"));
                shellList.add(map.get("v5ShowId"));
                shellList.add(map.get("v5Team"));
                dataList.add(shellList);
            }
        } else {
            // 头部列【封装】
            List<Object> shellList = new ArrayList<>();
            shellList.add("工号");
            shellList.add("提交时间");
            shellList.add("推荐人工号");
            shellList.add("推荐人");
            shellList.add("推荐人所在城市");
            shellList.add("姓名");
            shellList.add("性别");
            shellList.add("生日");
            shellList.add("证件类型");
            shellList.add("品行分");
            shellList.add("审核状态");
            shellList.add("佣金等级");
            shellList.add("积分");
            shellList.add("入司时间");
            shellList.add("状态");
            shellList.add("城市合伙人工号");
            shellList.add("城市合伙人团队");
            shellList.add("市场总监工号");
            shellList.add("市场总监团队");
            dataList.add(shellList);
            // 详细数据列【封装】
            for (Map<String, Object> map : list) {
                shellList = new ArrayList<>();
                shellList.add(map.get("show_id"));
                shellList.add(map.get("apply_time"));
                shellList.add(map.get("equityUserShowId"));
                shellList.add(map.get("equityUserRealName"));
                shellList.add(map.get("equityUserCityCode"));
                shellList.add(map.get("real_name"));
                shellList.add(map.get("sex"));
                shellList.add(map.get("birthday"));
                shellList.add(Convert.toInt(map.get("card_type")) == 0 ? "身份证" : "护照");
                shellList.add(map.get("credit_score"));
                shellList.add(EnumAuditState.getMarkByIndex(Convert.toInt(map.get("audit_state"))));
                shellList.add(EnumMemberGrade.getAliasByIndex(Convert.toInt(map.get("member_grade_id"))));
                shellList.add(map.get("integral"));
                shellList.add(map.get("audit_time"));
                Integer isLeaveOfficeNum = Convert.toInt(map.get("is_leave_office"));
                shellList.add(isLeaveOfficeNum == 0 ? "在职" : isLeaveOfficeNum == 1 ? "离职" : "-");
                shellList.add(map.get("v4ShowId"));
                shellList.add(map.get("v4Team"));
                shellList.add(map.get("v5ShowId"));
                shellList.add(map.get("v5Team"));
                dataList.add(shellList);
            }
        }
        try {
            String title = "营销员";
            // 调用工具类进行导出
@@ -478,6 +545,8 @@
     */
    @RequestMapping(value = "/detail/{memUserId}")
    public Object detail(@PathVariable("memUserId") Integer memUserId, Model model) {
        boolean admin = ShiroKit.isAdmin();
        model.addAttribute("isAdmin", admin);
        // 个人信息
        MemUser memUser = memUserService.selectById(memUserId);
        if (memUser != null) {