Pu Zhibing
2025-07-03 0c82398dad95f536e22b5e1966f79aa29b2cf1c9
修改bug
22个文件已修改
658 ■■■■■ 已修改文件
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/core/beetl/ShiroExtUtil.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCarController.java 74 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCompanyController.java 123 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TDriverController.java 213 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/LoginController.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/MenuController.java 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/RoleController.java 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/UserMgrController.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/MenuMapper.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/RoleMapper.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/UserMapper.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/MenuMapper.xml 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/RoleMapper.xml 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/UserMapper.xml 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Role.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IMenuService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IRoleService.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IUserService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/MenuServiceImpl.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/RoleServiceImpl.java 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserServiceImpl.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/UserUtil.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/core/beetl/ShiroExtUtil.java
@@ -20,6 +20,7 @@
import com.stylefeng.guns.core.exception.GunsException;
import com.stylefeng.guns.core.shiro.ShiroUser;
import com.stylefeng.guns.modular.system.warpper.LoginUser;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.codec.binary.Base64;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.subject.Subject;
@@ -34,6 +35,7 @@
import java.io.UnsupportedEncodingException;
import java.util.List;
@Slf4j
@Component
public class ShiroExtUtil {
    private final String NAMES_DELIMETER = ",";
@@ -79,9 +81,9 @@
                throw new RuntimeException(e);
            }
            LoginUser loginUser = JSON.parseObject(onconParam, LoginUser.class);
            System.out.println("当前登录用户:" + JSON.toJSONString(loginUser));
            log.info("当前登录用户:" + JSON.toJSONString(loginUser));
            String shiroUser = redisTemplate.opsForValue().get(loginUser.getOnconUUID());
            System.out.println("当前登录用户缓存数据:" + shiroUser);
            log.info("当前登录用户缓存数据:" + shiroUser);
            return JSON.parseObject(shiroUser, ShiroUser.class);
        }
        throw new GunsException(BizExceptionEnum.TOKEN_ERROR);
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCarController.java
@@ -58,9 +58,6 @@
    private ITCarServiceService tCarServiceService;
    @Autowired
    private ITDriverLineService tDriverLineService;
    @Autowired
    private ITCarBrandService tCarBrandService;
    @Autowired
@@ -619,9 +616,6 @@
        shellList.add("服务模式:快车[是/否]");
        shellList.add("服务模式:出租车[是/否]");
        shellList.add("服务模式:跨城出行[是/否]");
        shellList.add("服务模式:小件同城物流[是/否]");
        shellList.add("服务模式:小件跨城物流[是/否]");
        shellList.add("服务模式:包车[是/否]");
        shellList.add("车辆品牌");
        shellList.add("车辆类型");
        shellList.add("车辆颜色[黑色/银色/白色/红色/黄色/橙色/蓝色]");
@@ -698,69 +692,50 @@
                    five = String.valueOf(cell5.getStringCellValue()).trim();
                }
                Cell cell6 = row.getCell(6);  //服务模式:小件跨城物流[是/否]
                String six = null;
                if (SinataUtil.isNotEmpty(cell6)){
                    six = String.valueOf(cell6.getStringCellValue()).trim();
                }
                Cell cell7 = row.getCell(7);  //服务模式:小件跨城物流[是/否]
                String seven = null;
                if (SinataUtil.isNotEmpty(cell7)){
                    seven = String.valueOf(cell7.getStringCellValue()).trim();
                }
                Cell cell8 = row.getCell(8);  //服务模式:包车[是/否]
                String eight = null;
                if (SinataUtil.isNotEmpty(cell8)){
                    eight = String.valueOf(cell8.getStringCellValue()).trim();
                }
                Cell cell9 = row.getCell(9);  //车辆品牌
                Cell cell9 = row.getCell(6);  //车辆品牌
                String nine = null;
                if (SinataUtil.isNotEmpty(cell9)){
                    nine = String.valueOf(cell9.getStringCellValue()).trim();
                }
                Cell cell10 = row.getCell(10);  //车辆类型
                Cell cell10 = row.getCell(7);  //车辆类型
                String ten = null;
                if (SinataUtil.isNotEmpty(cell10)){
                    ten = String.valueOf(cell10.getStringCellValue()).trim();
                }
                Cell cell11 = row.getCell(11);  //车辆颜色[黑色/银色/白色/红色/黄色/橙色/蓝色]
                Cell cell11 = row.getCell(8);  //车辆颜色[黑色/银色/白色/红色/黄色/橙色/蓝色]
                String eleven = null;
                if (SinataUtil.isNotEmpty(cell11)){
                    eleven = String.valueOf(cell11.getStringCellValue()).trim();
                }
                Cell cell12 = row.getCell(12);  //车牌号
                Cell cell12 = row.getCell(9);  //车牌号
                String twelve = null;
                if (SinataUtil.isNotEmpty(cell12)){
                    twelve = String.valueOf(cell12.getStringCellValue()).trim();
                }
                Cell cell13 = row.getCell(13);  //行驶证编号
                Cell cell13 = row.getCell(10);  //行驶证编号
                String thirteen = null;
                if (SinataUtil.isNotEmpty(cell13)){
                    thirteen = String.valueOf(cell13.getStringCellValue()).trim();
                }
                Cell cell14 = row.getCell(14);  //年检到期时间
                Cell cell14 = row.getCell(11);  //年检到期时间
                String fourteen = null;
                if (SinataUtil.isNotEmpty(cell14)){
                    fourteen = String.valueOf(cell14.getStringCellValue()).trim();
                }
                Cell cell15 = row.getCell(15);  //商业保险到期时间
                Cell cell15 = row.getCell(12);  //商业保险到期时间
                String fifteen = null;
                if (SinataUtil.isNotEmpty(cell15)){
                    fifteen = String.valueOf(cell15.getStringCellValue()).trim();
                }
                if (SinataUtil.isEmpty(zero) || SinataUtil.isEmpty(three) || SinataUtil.isEmpty(four)
                        || SinataUtil.isEmpty(five) || SinataUtil.isEmpty(six) || SinataUtil.isEmpty(seven)
                        || SinataUtil.isEmpty(eight) || SinataUtil.isEmpty(nine) || SinataUtil.isEmpty(ten)
                        || SinataUtil.isEmpty(five) || SinataUtil.isEmpty(nine) || SinataUtil.isEmpty(ten)
                        || SinataUtil.isEmpty(eleven) || SinataUtil.isEmpty(twelve) || SinataUtil.isEmpty(thirteen)
                        || SinataUtil.isEmpty(fourteen) || SinataUtil.isEmpty(fifteen)){
                    return new ErrorTip(500, "单元格不能为空");
@@ -780,18 +755,6 @@
                    //判断服务模式【跨城出行】
                    if (!five.equals("是") && !five.equals("否")){
                        return new ErrorTip(500, "服务模式【跨城出行】内容不正确");
                    }
                    //判断服务模式【小件同城物流】
                    if (!six.equals("是") && !six.equals("否")){
                        return new ErrorTip(500, "服务模式【小件同城物流】内容不正确");
                    }
                    //判断服务模式【小件跨城物流】
                    if (!seven.equals("是") && !seven.equals("否")){
                        return new ErrorTip(500, "服务模式【小件跨城物流】内容不正确");
                    }
                    //判断服务模式【包车】
                    if (!eight.equals("是") && !eight.equals("否")){
                        return new ErrorTip(500, "服务模式【包车】内容不正确");
                    }
                    //判断车辆颜色
                    if (!eleven.equals("黑色") && !eleven.equals("银色") && !eleven.equals("白色") && !eleven.equals("红色") && !eleven.equals("黄色") && !eleven.equals("橙色") && !eleven.equals("蓝色")){
@@ -900,27 +863,6 @@
                        TCarService service = new TCarService();
                        service.setCarId(car.getId());
                        service.setType(3);
                        tCarServiceService.insert(service);
                    }
                    //添加小件同城物流服务模式
                    if ("是".equals(six)){
                        TCarService service = new TCarService();
                        service.setCarId(car.getId());
                        service.setType(4);
                        tCarServiceService.insert(service);
                    }
                    //添加小件跨城物流服务模式
                    if ("是".equals(seven)){
                        TCarService service = new TCarService();
                        service.setCarId(car.getId());
                        service.setType(5);
                        tCarServiceService.insert(service);
                    }
                    //添加包车服务模式
                    if ("是".equals(eight)){
                        TCarService service = new TCarService();
                        service.setCarId(car.getId());
                        service.setType(6);
                        tCarServiceService.insert(service);
                    }
                }
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCompanyController.java
@@ -10,16 +10,16 @@
import com.stylefeng.guns.core.common.constant.factory.PageFactory;
import com.stylefeng.guns.core.log.LogObjectHolder;
import com.stylefeng.guns.core.shiro.ShiroKit;
import com.stylefeng.guns.core.shiro.ShiroUser;
import com.stylefeng.guns.core.util.SinataUtil;
import com.stylefeng.guns.core.util.ToolUtil;
import com.stylefeng.guns.modular.system.model.*;
import com.stylefeng.guns.modular.system.service.*;
import com.stylefeng.guns.modular.system.util.PushMinistryOfTransportUtil;
import com.stylefeng.guns.modular.system.util.qianyuntong.EmployeeUtil;
import com.stylefeng.guns.modular.system.util.qianyuntong.EnterpriseUtil;
import com.stylefeng.guns.modular.system.util.qianyuntong.model.CheckEnterExist;
import com.stylefeng.guns.modular.system.util.qianyuntong.model.CreateEnterprise;
import com.stylefeng.guns.modular.system.util.qianyuntong.model.CreateEnterpriseRequest;
import com.stylefeng.guns.modular.system.util.qianyuntong.model.ModifyEnterpriseInfoRequest;
import com.stylefeng.guns.modular.system.util.qianyuntong.UserUtil;
import com.stylefeng.guns.modular.system.util.qianyuntong.model.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
@@ -79,7 +79,8 @@
     */
    @RequestMapping("/admin_update")
    public String tCompanyUpdate(Model model) {
        TCompany tCompany = tCompanyService.selectOne(new EntityWrapper<TCompany>().eq("type",1).notIn("flag",3));
        ShiroUser user1 = shiroExtUtil.getUser();
        TCompany tCompany = tCompanyService.selectById(user1.getObjectId());
        model.addAttribute("item",tCompany);
        LogObjectHolder.me().set(tCompany);
@@ -88,7 +89,7 @@
        model.addAttribute("provinceList",provinceList);
        //系统用户对象
        User user = userService.selectOne(new EntityWrapper<User>().eq("roleType", 1).eq("objectId", tCompany.getId()));
        User user = userService.selectById(user1.getId());
        model.addAttribute("user",user);
        //经营区域
@@ -342,19 +343,51 @@
        //调用中台接口创建企业
        CheckEnterExist checkEnterExist = EnterpriseUtil.checkEnterNameExist(tCompany.getName());
        String enterCode = "";
        Long empId = null;
        String principalName = tCompany.getPrincipalName();
        String principalPhone = tCompany.getPrincipalPhone();
        //企业未注册,进行注册
        if (null == checkEnterExist || "0".equals(checkEnterExist.getIsReg())) {
            CreateEnterpriseRequest request = new CreateEnterpriseRequest();
            request.setName(tCompany.getName());
            request.setNickName(tCompany.getName());
            request.setIndustry_code("123456");
            request.setMobile(tCompany.getPrincipalPhone());
            request.setMobile(principalPhone);
            CreateEnterprise enterprise = EnterpriseUtil.createEnterprise(request);
            enterCode = enterprise.getIdCode();
            List<QYTUserInfo> userInfoByPhone = UserUtil.getUserInfoByPhone(principalPhone, enterCode);
            empId = userInfoByPhone.get(0).getEmpId();
        }
        //企业已注册
        if (null != checkEnterExist && "1".equals(checkEnterExist.getIsReg())) {
            String larName = checkEnterExist.getLarName();
            String mobile = checkEnterExist.getMobile();
            enterCode = checkEnterExist.getEnterCode();
            if(!mobile.equals(principalPhone)){
                //负责人不匹配,则创建新的员工到中台
                SaveStaffNodeRequest request = new SaveStaffNodeRequest();
                request.setMobile(mobile);
                request.setEntercode(enterCode);
                request.setEmpName(principalName);
                request.setEmpNickname(principalName);
                request.setLoginNo(principalPhone);
                request.setEmpSex("女");
                request.setMphone(principalPhone);
                request.setEmail(principalPhone + "@qyt.com");
                request.setDeptId(0);
                request.setPositionId(1);
                request.setSuperLevel(0);
                request.setHideMobile(0);
                SaveStaffNode saveStaffNode = EmployeeUtil.saveStaffNode(request);
                empId = saveStaffNode.getEmpId();
            }else{
                List<QYTUserInfo> userInfoByPhone = UserUtil.getUserInfoByPhone(mobile, enterCode);
                empId = userInfoByPhone.get(0).getEmpId();
            }
            tCompany.setPrincipalName(larName);
            tCompany.setPrincipalPhone(mobile);
        }
    
        tCompany.setEnterCode(enterCode);
@@ -371,7 +404,7 @@
    
        //添加User对象
        User user = new User();
        user.setAccount(account);
        user.setAccount(principalPhone);
        user.setSalt(ShiroKit.getRandomSalt(5));
        user.setPassword(ShiroKit.md5(password, user.getSalt()));
        user.setRoleid("2");
@@ -382,6 +415,9 @@
        user.setObjectId(tCompany.getId());
        user.setName(tCompany.getName());
        user.setSex(1);
        user.setEmpId(empId);
        user.setEntercode(enterCode);
        user.setEnterId(Long.valueOf(enterCode));
        userService.insert(user);
    
        //添加经营区域
@@ -437,19 +473,51 @@
        //调用中台接口创建企业
        CheckEnterExist checkEnterExist = EnterpriseUtil.checkEnterNameExist(tCompany.getName());
        String enterCode = "";
        Long empId = null;
        String principalName = tCompany.getPrincipalName();
        String principalPhone = tCompany.getPrincipalPhone();
        //企业未注册,进行注册
        if (null == checkEnterExist || "0".equals(checkEnterExist.getIsReg())) {
            CreateEnterpriseRequest request = new CreateEnterpriseRequest();
            request.setName(tCompany.getName());
            request.setNickName(tCompany.getName());
            request.setIndustry_code("123456");
            request.setMobile(tCompany.getPrincipalPhone());
            request.setMobile(principalPhone);
            CreateEnterprise enterprise = EnterpriseUtil.createEnterprise(request);
            enterCode = enterprise.getIdCode();
            List<QYTUserInfo> userInfoByPhone = UserUtil.getUserInfoByPhone(principalPhone, enterCode);
            empId = userInfoByPhone.get(0).getEmpId();
        }
        //企业已注册
        if (null != checkEnterExist && "1".equals(checkEnterExist.getIsReg())) {
            String larName = checkEnterExist.getLarName();
            String mobile = checkEnterExist.getMobile();
            enterCode = checkEnterExist.getEnterCode();
            if(!mobile.equals(principalPhone)){
                //负责人不匹配,则创建新的员工到中台
                SaveStaffNodeRequest request = new SaveStaffNodeRequest();
                request.setMobile(mobile);
                request.setEntercode(enterCode);
                request.setEmpName(principalName);
                request.setEmpNickname(principalName);
                request.setLoginNo(principalPhone);
                request.setEmpSex("女");
                request.setMphone(principalPhone);
                request.setEmail(principalPhone + "@qyt.com");
                request.setDeptId(0);
                request.setPositionId(1);
                request.setSuperLevel(0);
                request.setHideMobile(0);
                SaveStaffNode saveStaffNode = EmployeeUtil.saveStaffNode(request);
                empId = saveStaffNode.getEmpId();
            }else{
                List<QYTUserInfo> userInfoByPhone = UserUtil.getUserInfoByPhone(mobile, enterCode);
                empId = userInfoByPhone.get(0).getEmpId();
            }
            tCompany.setPrincipalName(larName);
            tCompany.setPrincipalPhone(mobile);
        }
    
        tCompany.setEnterCode(enterCode);
@@ -464,7 +532,7 @@
    
        //添加User对象
        User user = new User();
        user.setAccount(account);
        user.setAccount(principalPhone);
        user.setSalt(ShiroKit.getRandomSalt(5));
        user.setPassword(ShiroKit.md5(password, user.getSalt()));
        user.setRoleid("3");
@@ -475,6 +543,9 @@
        user.setObjectId(tCompany.getId());
        user.setName(tCompany.getName());
        user.setSex(1);
        user.setEmpId(empId);
        user.setEntercode(enterCode);
        user.setEnterId(Long.valueOf(enterCode));
        userService.insert(user);
    
        return SUCCESS_TIP;
@@ -506,19 +577,6 @@
    public Object update(TCompany tCompany,@RequestParam String subArr,String account,String password,Integer userId) {
        //判断账号
        User user = userService.selectById(userId);
        if (SinataUtil.isNotEmpty(account) && SinataUtil.isNotEmpty(password)) {
            if (!user.getAccount().equals(account)) {
                //判断账号是否已存在
                int count = userService.selectCount(new EntityWrapper<User>().eq("account", account));
                if (count > 0) {
                    return "error";
                }
            }
            //修改账号密码
            user.setAccount(account);
            user.setSalt(ShiroKit.getRandomSalt(5));
            user.setPassword(ShiroKit.md5(password, user.getSalt()));
        }
        TCompany company = tCompanyService.selectById(tCompany.getId());
        //调用中台接口创建企业
        CheckEnterExist checkEnterExist = EnterpriseUtil.checkEnterNameExist(company.getName());
@@ -527,7 +585,7 @@
        if (null != checkEnterExist && "1".equals(checkEnterExist.getIsReg())) {
            ModifyEnterpriseInfoRequest request = new ModifyEnterpriseInfoRequest();
            request.setEnter_code(company.getEnterCode());
            request.setOperator(user.getPhone());
            request.setOperator(company.getPrincipalPhone());
            request.setEnter_name(tCompany.getName());
            request.setEnter_nickname(tCompany.getName());
            EnterpriseUtil.modifyEnterpriseInfo(request);
@@ -542,6 +600,9 @@
            request.setMobile(tCompany.getPrincipalPhone());
            CreateEnterprise enterprise = EnterpriseUtil.createEnterprise(request);
            enterCode = enterprise.getIdCode();
            List<QYTUserInfo> userInfoByPhone = UserUtil.getUserInfoByPhone(tCompany.getPrincipalPhone(), enterCode);
            Long empId = userInfoByPhone.get(0).getEmpId();
            user.setEmpId(empId);
        }
    
        company.setEnterCode(enterCode);
@@ -549,6 +610,8 @@
        tCompany.setVersion(company.getVersion() + 1);
        tCompanyService.updateById(tCompany);
    
        user.setEntercode(enterCode);
        user.setEnterId(Long.valueOf(enterCode));
        user.setName(tCompany.getName());
        userService.updateById(user);
    
@@ -595,7 +658,7 @@
        if (null != checkEnterExist && "1".equals(checkEnterExist.getIsReg())) {
            ModifyEnterpriseInfoRequest request = new ModifyEnterpriseInfoRequest();
            request.setEnter_code(company.getEnterCode());
            request.setOperator(user.getPhone());
            request.setOperator(tCompany.getPrincipalPhone());
            request.setEnter_name(tCompany.getName());
            request.setEnter_nickname(tCompany.getName());
            EnterpriseUtil.modifyEnterpriseInfo(request);
@@ -610,17 +673,17 @@
            request.setMobile(tCompany.getPrincipalPhone());
            CreateEnterprise enterprise = EnterpriseUtil.createEnterprise(request);
            enterCode = enterprise.getIdCode();
            List<QYTUserInfo> userInfoByPhone = UserUtil.getUserInfoByPhone(tCompany.getPrincipalPhone(), enterCode);
            Long empId = userInfoByPhone.get(0).getEmpId();
            user.setEmpId(empId);
        }
        tCompany.setEnterCode(enterCode);
        tCompanyService.updateById(tCompany);
    
        //修改账号密码
        user.setAccount(account);
        user.setSalt(ShiroKit.getRandomSalt(5));
        user.setPassword(ShiroKit.md5(password, user.getSalt()));
        user.setName(tCompany.getName());
        user.setEntercode(enterCode);
        user.setEnterId(Long.valueOf(enterCode));
        userService.updateById(user);
        return SUCCESS_TIP;
    }
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TDriverController.java
@@ -228,8 +228,12 @@
    public String tDriver_look(@PathVariable Integer tDriverId, Model model) {
        Map<String, Object> tDriver = tDriverService.getDriverById(tDriverId);
        model.addAttribute("item",tDriver);
        String placeOfPractice = tDriver.get("placeOfPractice").toString().replaceAll(",", "-");
        model.addAttribute("placeOfPractice", placeOfPractice);
        Object placeOfPractice1 = tDriver.get("placeOfPractice");
        if(placeOfPractice1==null){
            model.addAttribute("placeOfPractice", "");
        }else {
            model.addAttribute("placeOfPractice", placeOfPractice1.toString().replaceAll(",", "-"));
        }
        LogObjectHolder.me().set(tDriver);
        return PREFIX + "tDriver_look.html";
    }
@@ -672,8 +676,7 @@
            System.out.println("司机注册审核发送短信 :【driverId=" + tDriver.getId().toString() + "】,调用接口:" + result);
            //审核通过,在中台添加司机账号
            if (2 == tDriver.getAuthState()) {
                ShiroUser user = shiroExtUtil.getUser();
                Integer objectId = user.getObjectId();
                Integer objectId = tDriver.getCompanyId();
                TCompany tCompany = itCompanyService.selectById(objectId);
                List<QYTUserInfo> userInfoByPhone = UserUtil.getUserInfoByPhone(tDriver.getPhone(), tCompany.getEnterCode());
                Long empId = null;
@@ -696,10 +699,9 @@
                }else{
                    empId = userInfoByPhone.get(0).getEmpId();
                }
                TCompany tCompany1 = itCompanyService.selectById(tDriver.getCompanyId());
                tDriver.setEmpId(empId);
                tDriver.setEntercode(tCompany1.getEnterCode());
                tDriver.setEnterId(Long.valueOf(tCompany1.getEnterCode()));
                tDriver.setEntercode(tCompany.getEnterCode());
                tDriver.setEnterId(Long.valueOf(tCompany.getEnterCode()));
            }
            tDriverService.updateById(tDriver);
        }
@@ -774,7 +776,7 @@
        tDriver.setInsertTime(new Date());
        tDriver.setInsertUser(shiroExtUtil.getUser().getId());
//        tDriver.setPassword(MD5Util.encrypt(tDriver.getPassword()));
        tDriver.setAccount(tDriver.getPhone());
        tDriver.setPassword(ShiroKit.md5(tDriver.getPassword(), "SA;d5#"));
        //审核通过,在中台添加司机账号
        if (2 == tDriver.getAuthState()) {
@@ -924,8 +926,7 @@
            tDriver.setRemark(remark);
            //审核通过,在中台添加司机账号
            if (2 == tDriver.getAuthState() && tDriver.getEmpId() == null) {
                ShiroUser user = shiroExtUtil.getUser();
                Integer objectId = user.getObjectId();
                Integer objectId = tDriver.getCompanyId();
                TCompany tCompany = itCompanyService.selectById(objectId);
                List<QYTUserInfo> userInfoByPhone = UserUtil.getUserInfoByPhone(tDriver.getPhone(), tCompany.getEnterCode());
                Long empId = null;
@@ -949,10 +950,9 @@
                    empId = userInfoByPhone.get(0).getEmpId();
                }
                
                TCompany tCompany1 = itCompanyService.selectById(tDriver.getCompanyId());
                tDriver.setEmpId(empId);
                tDriver.setEntercode(tCompany1.getEnterCode());
                tDriver.setEnterId(Long.valueOf(tCompany1.getEnterCode()));
                tDriver.setEntercode(tCompany.getEnterCode());
                tDriver.setEnterId(Long.valueOf(tCompany.getEnterCode()));
            }
    
            tDriverService.updateById(tDriver);
@@ -1124,9 +1124,6 @@
            shellList.add("经营业务:快车[是/否]");
            shellList.add("经营业务:出租车[是/否]");
            shellList.add("经营业务:跨城出行[是/否]");
            shellList.add("经营业务:小件同城物流[是/否]");
            shellList.add("经营业务:小件跨城物流[是/否]");
            shellList.add("经营业务:包车[是/否]");
            shellList.add("登录账号[手机号]");
            shellList.add("登录密码[密码长度为6-18]");
        } else if (shiroExtUtil.getUser().getRoleType() == 2) {
@@ -1144,9 +1141,6 @@
            shellList.add("经营业务:快车[是/否]");
            shellList.add("经营业务:出租车[是/否]");
            shellList.add("经营业务:跨城出行[是/否]");
            shellList.add("经营业务:小件同城物流[是/否]");
            shellList.add("经营业务:小件跨城物流[是/否]");
            shellList.add("经营业务:包车[是/否]");
            shellList.add("登录账号[手机号]");
            shellList.add("登录密码[密码长度为6-18]");
        } else if (shiroExtUtil.getUser().getRoleType() == 3) {
@@ -1163,9 +1157,6 @@
            shellList.add("经营业务:快车[是/否]");
            shellList.add("经营业务:出租车[是/否]");
            shellList.add("经营业务:跨城出行[是/否]");
            shellList.add("经营业务:小件同城物流[是/否]");
            shellList.add("经营业务:小件跨城物流[是/否]");
            shellList.add("经营业务:包车[是/否]");
            shellList.add("登录账号[手机号]");
            shellList.add("登录密码[密码长度为6-18]");
        }
@@ -1280,31 +1271,13 @@
                        thirteen = String.valueOf(cell13.getStringCellValue()).trim();
                    }
                    Cell cell14 = row.getCell(14);  //经营业务:小件同城物流[是/否]
                    String fourteen = null;
                    if (SinataUtil.isNotEmpty(cell14)){
                        fourteen = String.valueOf(cell14.getStringCellValue()).trim();
                    }
                    Cell cell15 = row.getCell(15);  //经营业务:小件跨城物流[是/否]
                    String fifteen = null;
                    if (SinataUtil.isNotEmpty(cell15)){
                        fifteen = String.valueOf(cell15.getStringCellValue()).trim();
                    }
                    Cell cell16 = row.getCell(16);  //经营业务:包车[是/否]
                    String sixteen = null;
                    if (SinataUtil.isNotEmpty(cell16)){
                        sixteen = String.valueOf(cell16.getStringCellValue()).trim();
                    }
                    Cell cell17 = row.getCell(17);  //登录账号[手机号]
                    Cell cell17 = row.getCell(14);  //登录账号[手机号]
                    String seventeen = null;
                    if (SinataUtil.isNotEmpty(cell17)){
                        seventeen = String.valueOf(cell17.getStringCellValue()).trim();
                    }
                    Cell cell18 = row.getCell(18);  //登录密码[密码长度为6-18]
                    Cell cell18 = row.getCell(15);  //登录密码[密码长度为6-18]
                    String eighteen = null;
                    if (SinataUtil.isNotEmpty(cell18)){
                        eighteen = String.valueOf(cell18.getStringCellValue()).trim();
@@ -1313,7 +1286,6 @@
                    if (SinataUtil.isEmpty(zero) || SinataUtil.isEmpty(one) || SinataUtil.isEmpty(four)
                            || SinataUtil.isEmpty(five) || SinataUtil.isEmpty(six) || SinataUtil.isEmpty(nine)
                            || SinataUtil.isEmpty(eleven) || SinataUtil.isEmpty(twelve) || SinataUtil.isEmpty(thirteen)
                            || SinataUtil.isEmpty(fourteen) || SinataUtil.isEmpty(fifteen) || SinataUtil.isEmpty(sixteen)
                            || SinataUtil.isEmpty(seventeen)|| SinataUtil.isEmpty(eighteen)){
                        return new ErrorTip(500, "单元格不能为空");
                    }else{
@@ -1342,18 +1314,6 @@
                        //判断经营业务【跨城出行】
                        if (!thirteen.equals("是") && !thirteen.equals("否")){
                            return new ErrorTip(500, "经营业务【跨城出行】内容不正确");
                        }
                        //判断经营业务【小件同城物流】
                        if (!fourteen.equals("是") && !fourteen.equals("否")){
                            return new ErrorTip(500, "经营业务【小件同城物流】内容不正确");
                        }
                        //判断经营业务【小件跨城物流】
                        if (!fifteen.equals("是") && !fifteen.equals("否")){
                            return new ErrorTip(500, "经营业务【小件跨城物流】内容不正确");
                        }
                        //判断经营业务【包车】
                        if (!sixteen.equals("是") && !sixteen.equals("否")){
                            return new ErrorTip(500, "经营业务【包车】内容不正确");
                        }
                        //判断驾龄
                        if (!isInteger(six)){
@@ -1423,8 +1383,7 @@
    
                        //审核通过,在中台添加司机账号
                        if (2 == driver.getAuthState()) {
                            ShiroUser user = shiroExtUtil.getUser();
                            Integer objectId = user.getObjectId();
                            Integer objectId = driver.getCompanyId();
                            TCompany tCompany = itCompanyService.selectById(objectId);
                            List<QYTUserInfo> userInfoByPhone = UserUtil.getUserInfoByPhone(driver.getPhone(), tCompany.getEnterCode());
                            Long empId = null;
@@ -1448,10 +1407,9 @@
                                empId = userInfoByPhone.get(0).getEmpId();
                            }
                            
                            TCompany tCompany1 = itCompanyService.selectById(driver.getCompanyId());
                            driver.setEmpId(empId);
                            driver.setEntercode(tCompany1.getEnterCode());
                            driver.setEnterId(Long.valueOf(tCompany1.getEnterCode()));
                            driver.setEntercode(tCompany.getEnterCode());
                            driver.setEnterId(Long.valueOf(tCompany.getEnterCode()));
                        }
                        tDriverService.insert(driver);
    
@@ -1475,27 +1433,6 @@
                            TDriverService service = new TDriverService();
                            service.setDriverId(driver.getId());
                            service.setType(3);
                            itDriverServiceService.insert(service);
                        }
                        //添加小件同城物流服务模式
                        if ("是".equals(fourteen)){
                            TDriverService service = new TDriverService();
                            service.setDriverId(driver.getId());
                            service.setType(4);
                            itDriverServiceService.insert(service);
                        }
                        //添加小件跨城物流服务模式
                        if ("是".equals(fifteen)) {
                            TDriverService service = new TDriverService();
                            service.setDriverId(driver.getId());
                            service.setType(5);
                            itDriverServiceService.insert(service);
                        }
                        //添加包车服务模式
                        if ("是".equals(sixteen)) {
                            TDriverService service = new TDriverService();
                            service.setDriverId(driver.getId());
                            service.setType(6);
                            itDriverServiceService.insert(service);
                        }
                    }
@@ -1578,31 +1515,13 @@
                        eleven = String.valueOf(cell11.getStringCellValue()).trim();
                    }
                    Cell cell12 = row.getCell(12);  //经营业务:小件同城物流[是/否]
                    String twelve = null;
                    if (SinataUtil.isNotEmpty(cell12)){
                        twelve = String.valueOf(cell12.getStringCellValue()).trim();
                    }
                    Cell cell13 = row.getCell(13);  //经营业务:小件跨城物流[是/否]
                    String thirteen = null;
                    if (SinataUtil.isNotEmpty(cell13)){
                        thirteen = String.valueOf(cell13.getStringCellValue()).trim();
                    }
                    Cell cell14 = row.getCell(14);  //经营业务:包车[是/否]
                    String fourteen = null;
                    if (SinataUtil.isNotEmpty(cell14)){
                        fourteen = String.valueOf(cell14.getStringCellValue()).trim();
                    }
                    Cell cell15 = row.getCell(15);  //登录账号[手机号]
                    Cell cell15 = row.getCell(12);  //登录账号[手机号]
                    String fifteen = null;
                    if (SinataUtil.isNotEmpty(cell15)){
                        fifteen = String.valueOf(cell15.getStringCellValue()).trim();
                    }
                    Cell cell16 = row.getCell(16);  //登录密码[密码长度为6-18]
                    Cell cell16 = row.getCell(13);  //登录密码[密码长度为6-18]
                    String sixteen = null;
                    if (SinataUtil.isNotEmpty(cell16)){
                        sixteen = String.valueOf(cell16.getStringCellValue()).trim();
@@ -1610,8 +1529,7 @@
                    if (SinataUtil.isEmpty(zero) || SinataUtil.isEmpty(two) || SinataUtil.isEmpty(three) || SinataUtil.isEmpty(four)
                            || SinataUtil.isEmpty(five) || SinataUtil.isEmpty(seven)
                            || SinataUtil.isEmpty(nine) || SinataUtil.isEmpty(ten)
                            || SinataUtil.isEmpty(eleven) || SinataUtil.isEmpty(twelve) || SinataUtil.isEmpty(thirteen)
                            || SinataUtil.isEmpty(fourteen) || SinataUtil.isEmpty(fifteen) || SinataUtil.isEmpty(sixteen)){
                            || SinataUtil.isEmpty(eleven) || SinataUtil.isEmpty(fifteen) || SinataUtil.isEmpty(sixteen)){
                        return new ErrorTip(500, "单元格不能为空");
                    }else{
                        //判断账号是否存在
@@ -1634,18 +1552,6 @@
                        //判断经营业务【跨城出行】
                        if (!eleven.equals("是") && !eleven.equals("否")){
                            return new ErrorTip(500, "经营业务【跨城出行】内容不正确");
                        }
                        //判断经营业务【小件同城物流】
                        if (!twelve.equals("是") && !twelve.equals("否")){
                            return new ErrorTip(500, "经营业务【小件同城物流】内容不正确");
                        }
                        //判断经营业务【小件跨城物流】
                        if (!thirteen.equals("是") && !thirteen.equals("否")){
                            return new ErrorTip(500, "经营业务【小件跨城物流】内容不正确");
                        }
                        //判断经营业务【包车】
                        if (!fourteen.equals("是") && !fourteen.equals("否")){
                            return new ErrorTip(500, "经营业务【包车】内容不正确");
                        }
                        //判断驾龄
                        if (!isInteger(four)){
@@ -1719,27 +1625,6 @@
                            TDriverService service = new TDriverService();
                            service.setDriverId(driver.getId());
                            service.setType(3);
                            itDriverServiceService.insert(service);
                        }
                        //添加小件同城物流服务模式
                        if ("是".equals(twelve)){
                            TDriverService service = new TDriverService();
                            service.setDriverId(driver.getId());
                            service.setType(4);
                            itDriverServiceService.insert(service);
                        }
                        //添加小件跨城物流服务模式
                        if ("是".equals(thirteen)) {
                            TDriverService service = new TDriverService();
                            service.setDriverId(driver.getId());
                            service.setType(5);
                            itDriverServiceService.insert(service);
                        }
                        //添加包车服务模式
                        if ("是".equals(fourteen)) {
                            TDriverService service = new TDriverService();
                            service.setDriverId(driver.getId());
                            service.setType(6);
                            itDriverServiceService.insert(service);
                        }
    
@@ -1817,31 +1702,13 @@
                        ten = String.valueOf(cell11.getStringCellValue()).trim();
                    }
                    Cell cell12 = row.getCell(11);  //经营业务:小件同城物流[是/否]
                    String eleven = null;
                    if (SinataUtil.isNotEmpty(cell12)){
                        eleven = String.valueOf(cell12.getStringCellValue()).trim();
                    }
                    Cell cell13 = row.getCell(12);  //经营业务:小件跨城物流[是/否]
                    String twelve = null;
                    if (SinataUtil.isNotEmpty(cell13)){
                        twelve = String.valueOf(cell13.getStringCellValue()).trim();
                    }
                    Cell cell14 = row.getCell(13);  //经营业务:包车[是/否]
                    String thirteen = null;
                    if (SinataUtil.isNotEmpty(cell14)){
                        thirteen = String.valueOf(cell14.getStringCellValue()).trim();
                    }
                    Cell cell15 = row.getCell(14);  //登录账号[手机号]
                    Cell cell15 = row.getCell(11);  //登录账号[手机号]
                    String fourteen = null;
                    if (SinataUtil.isNotEmpty(cell15)){
                        fourteen = String.valueOf(cell15.getStringCellValue()).trim();
                    }
                    Cell cell16 = row.getCell(15);  //登录密码[密码长度为6-18]
                    Cell cell16 = row.getCell(12);  //登录密码[密码长度为6-18]
                    String fifteen = null;
                    if (SinataUtil.isNotEmpty(cell16)){
                        fifteen = String.valueOf(cell16.getStringCellValue()).trim();
@@ -1849,7 +1716,6 @@
                    if (SinataUtil.isEmpty(zero) || SinataUtil.isEmpty(one)  || SinataUtil.isEmpty(two) || SinataUtil.isEmpty(three) || SinataUtil.isEmpty(four)
                            || SinataUtil.isEmpty(six) || SinataUtil.isEmpty(eight)
                            || SinataUtil.isEmpty(nine) || SinataUtil.isEmpty(ten)
                            || SinataUtil.isEmpty(eleven) || SinataUtil.isEmpty(twelve) || SinataUtil.isEmpty(thirteen)
                            || SinataUtil.isEmpty(fourteen) || SinataUtil.isEmpty(fifteen) ){
                        return new ErrorTip(500, "单元格不能为空");
                    }else{
@@ -1873,18 +1739,6 @@
                        //判断经营业务【跨城出行】
                        if (!ten.equals("是") && !ten.equals("否")){
                            return new ErrorTip(500, "经营业务【跨城出行】内容不正确");
                        }
                        //判断经营业务【小件同城物流】
                        if (!eleven.equals("是") && !eleven.equals("否")){
                            return new ErrorTip(500, "经营业务【小件同城物流】内容不正确");
                        }
                        //判断经营业务【小件跨城物流】
                        if (!twelve.equals("是") && !twelve.equals("否")){
                            return new ErrorTip(500, "经营业务【小件跨城物流】内容不正确");
                        }
                        //判断经营业务【包车】
                        if (!thirteen.equals("是") && !thirteen.equals("否")){
                            return new ErrorTip(500, "经营业务【包车】内容不正确");
                        }
                        //判断驾龄
                        if (!isInteger(three)){
@@ -1959,27 +1813,6 @@
                            TDriverService service = new TDriverService();
                            service.setDriverId(driver.getId());
                            service.setType(3);
                            itDriverServiceService.insert(service);
                        }
                        //添加小件同城物流服务模式
                        if ("是".equals(eleven)){
                            TDriverService service = new TDriverService();
                            service.setDriverId(driver.getId());
                            service.setType(4);
                            itDriverServiceService.insert(service);
                        }
                        //添加小件跨城物流服务模式
                        if ("是".equals(twelve)){
                            TDriverService service = new TDriverService();
                            service.setDriverId(driver.getId());
                            service.setType(5);
                            itDriverServiceService.insert(service);
                        }
                        //添加包车服务模式
                        if ("是".equals(thirteen)){
                            TDriverService service = new TDriverService();
                            service.setDriverId(driver.getId());
                            service.setType(6);
                            itDriverServiceService.insert(service);
                        }
                    }
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/LoginController.java
@@ -3,6 +3,7 @@
import cn.hutool.http.HttpUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.google.code.kaptcha.Constants;
import com.stylefeng.guns.core.base.controller.BaseController;
import com.stylefeng.guns.core.common.exception.InvalidKaptchaException;
@@ -16,8 +17,11 @@
import com.stylefeng.guns.core.util.KaptchaUtil;
import com.stylefeng.guns.core.util.ToolUtil;
import com.stylefeng.guns.modular.system.dao.UserMapper;
import com.stylefeng.guns.modular.system.model.Menu;
import com.stylefeng.guns.modular.system.model.Relation;
import com.stylefeng.guns.modular.system.model.User;
import com.stylefeng.guns.modular.system.service.IMenuService;
import com.stylefeng.guns.modular.system.service.IRelationService;
import com.stylefeng.guns.modular.system.service.IUserService;
import com.stylefeng.guns.modular.system.util.HttpRequestUtil;
import com.stylefeng.guns.modular.system.util.PushURL;
@@ -42,6 +46,7 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
@@ -77,6 +82,9 @@
    
    private Map<String, Integer> loginFailures = new HashMap<>();
    
    @Autowired
    private IRelationService relationService;
    
    /**
     * 跳转到主页
@@ -101,11 +109,13 @@
        if (roleList == null || roleList.size() == 0) {
            roleList.add(0);
        }
        List<Relation> relations = relationService.selectList(new EntityWrapper<Relation>().in("roleid", roleList));
        Set<Long> collect = relations.stream().map(Relation::getMenuid).collect(Collectors.toSet());
        List<Menu> menuList = menuService.selectBatchIds(collect);
        List<MenuNode> menus = menuService.getMenusByRoleIds(roleList);
        List<MenuNode> titles = MenuNode.buildTitle(menus);
        titles = ApiMenuFilter.build(titles);
        shiroUser.setMenuIds(titles.stream().map(MenuNode::getUrl).collect(Collectors.toList()));
        shiroUser.setMenuIds(menuList.stream().map(Menu::getUrl).collect(Collectors.toList()));
        
        
        model.addAttribute("titles", titles);
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/MenuController.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.stylefeng.guns.core.base.controller.BaseController;
import com.stylefeng.guns.core.base.tips.Tip;
import com.stylefeng.guns.core.beetl.ShiroExtUtil;
import com.stylefeng.guns.core.common.annotion.BussinessLog;
import com.stylefeng.guns.core.common.constant.dictmap.MenuDict;
import com.stylefeng.guns.core.common.constant.factory.ConstantFactory;
@@ -11,10 +12,15 @@
import com.stylefeng.guns.core.exception.GunsException;
import com.stylefeng.guns.core.log.LogObjectHolder;
import com.stylefeng.guns.core.node.ZTreeNode;
import com.stylefeng.guns.core.shiro.ShiroUser;
import com.stylefeng.guns.core.support.BeanKit;
import com.stylefeng.guns.core.util.ToolUtil;
import com.stylefeng.guns.modular.system.dao.TCompanyMapper;
import com.stylefeng.guns.modular.system.model.Menu;
import com.stylefeng.guns.modular.system.model.Relation;
import com.stylefeng.guns.modular.system.model.TCompany;
import com.stylefeng.guns.modular.system.service.IMenuService;
import com.stylefeng.guns.modular.system.service.IRelationService;
import com.stylefeng.guns.modular.system.warpper.MenuWarpper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
@@ -25,9 +31,12 @@
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.annotation.Resource;
import javax.validation.Valid;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
 * 菜单控制器
@@ -43,8 +52,17 @@
    @Autowired
    private IMenuService menuService;
    @Resource
    private ShiroExtUtil shiroExtUtil;
    @Resource
    private TCompanyMapper companyMapper;
    @Resource
    private IRelationService rerelationService;
    /**
     * 跳转到菜单列表列表页面
     */
@@ -186,7 +204,18 @@
    @RequestMapping(value = "/menuTreeList")
    @ResponseBody
    public List<ZTreeNode> menuTreeList() {
        List<ZTreeNode> roleTreeList = this.menuService.menuTreeList();
        ShiroUser user1 = shiroExtUtil.getUser();
        TCompany tCompany = companyMapper.selectById(user1.getObjectId());
        List<Long> ids = new ArrayList<>();
        if(1 != tCompany.getType()){
            List<Relation> relations = rerelationService.selectList(new EntityWrapper<Relation>().eq("roleid", tCompany.getType()));
            if(relations.size() == 0){
                ids.add(0L);
            }else{
                ids = relations.stream().map(Relation::getMenuid).collect(Collectors.toList());
            }
        }
        List<ZTreeNode> roleTreeList = this.menuService.menuTreeList(ids);
        return roleTreeList;
    }
@@ -196,7 +225,18 @@
    @RequestMapping(value = "/selectMenuTreeList")
    @ResponseBody
    public List<ZTreeNode> selectMenuTreeList() {
        List<ZTreeNode> roleTreeList = this.menuService.menuTreeList();
        ShiroUser user1 = shiroExtUtil.getUser();
        TCompany tCompany = companyMapper.selectById(user1.getObjectId());
        List<Long> ids = new ArrayList<>();
        if(1 != tCompany.getType()){
            List<Relation> relations = rerelationService.selectList(new EntityWrapper<Relation>().eq("roleid", tCompany.getType()));
            if(relations.size() == 0){
                ids.add(0L);
            }else{
                ids = relations.stream().map(Relation::getMenuid).collect(Collectors.toList());
            }
        }
        List<ZTreeNode> roleTreeList = this.menuService.menuTreeList(ids);
        roleTreeList.add(ZTreeNode.createParent());
        return roleTreeList;
    }
@@ -208,11 +248,22 @@
    @ResponseBody
    public List<ZTreeNode> menuTreeListByRoleId(@PathVariable Integer roleId) {
        List<Long> menuIds = this.menuService.getMenuIdsByRoleId(roleId);
        ShiroUser user1 = shiroExtUtil.getUser();
        TCompany tCompany = companyMapper.selectById(user1.getObjectId());
        List<Long> ids = new ArrayList<>();
        if(1 != tCompany.getType()){
            List<Relation> relations = rerelationService.selectList(new EntityWrapper<Relation>().eq("roleid", tCompany.getType()));
            if(relations.size() == 0){
                ids.add(0L);
            }else{
                ids = relations.stream().map(Relation::getMenuid).collect(Collectors.toList());
            }
        }
        if (ToolUtil.isEmpty(menuIds)) {
            List<ZTreeNode> roleTreeList = this.menuService.menuTreeList();
            List<ZTreeNode> roleTreeList = this.menuService.menuTreeList(ids);
            return roleTreeList;
        } else {
            List<ZTreeNode> roleTreeListByUserId = this.menuService.menuTreeListByMenuIds(menuIds);
            List<ZTreeNode> roleTreeListByUserId = this.menuService.menuTreeListByMenuIds(menuIds, ids);
            return roleTreeListByUserId;
        }
    }
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/RoleController.java
@@ -2,6 +2,7 @@
import com.stylefeng.guns.core.base.controller.BaseController;
import com.stylefeng.guns.core.base.tips.Tip;
import com.stylefeng.guns.core.beetl.ShiroExtUtil;
import com.stylefeng.guns.core.cache.CacheKit;
import com.stylefeng.guns.core.common.annotion.BussinessLog;
import com.stylefeng.guns.core.common.constant.Const;
@@ -12,6 +13,7 @@
import com.stylefeng.guns.core.exception.GunsException;
import com.stylefeng.guns.core.log.LogObjectHolder;
import com.stylefeng.guns.core.node.ZTreeNode;
import com.stylefeng.guns.core.shiro.ShiroUser;
import com.stylefeng.guns.core.util.Convert;
import com.stylefeng.guns.core.util.ToolUtil;
import com.stylefeng.guns.modular.system.model.Role;
@@ -28,6 +30,7 @@
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.annotation.Resource;
import javax.validation.Valid;
import java.util.List;
import java.util.Map;
@@ -49,6 +52,8 @@
    @Autowired
    private IRoleService roleService;
    @Resource
    private ShiroExtUtil shiroExtUtil;
    /**
@@ -102,7 +107,8 @@
    @RequestMapping(value = "/list")
    @ResponseBody
    public Object list(@RequestParam(required = false) String roleName) {
        List<Map<String, Object>> roles = this.roleService.selectRoles(super.getPara("roleName"));
        ShiroUser user1 = shiroExtUtil.getUser();
        List<Map<String, Object>> roles = this.roleService.selectRoles(super.getPara("roleName"), user1.getObjectId());
        return super.warpObject(new RoleWarpper(roles));
    }
@@ -116,10 +122,10 @@
        if (result.hasErrors()) {
            throw new GunsException(BizExceptionEnum.REQUEST_NULL);
        }
        ShiroUser user1 = shiroExtUtil.getUser();
        role.setId(null);
        role.setObjectId(user1.getObjectId());
        this.roleService.insert(role);
        return SUCCESS_TIP;
    }
@@ -203,7 +209,8 @@
    @RequestMapping(value = "/roleTreeList")
    @ResponseBody
    public List<ZTreeNode> roleTreeList() {
        List<ZTreeNode> roleTreeList = this.roleService.roleTreeList();
        ShiroUser user1 = shiroExtUtil.getUser();
        List<ZTreeNode> roleTreeList = this.roleService.roleTreeList(user1.getObjectId());
        roleTreeList.add(ZTreeNode.createParent());
        return roleTreeList;
    }
@@ -215,13 +222,14 @@
    @ResponseBody
    public List<ZTreeNode> roleTreeListByUserId(@PathVariable Integer userId) {
        User theUser = this.userService.selectById(userId);
        ShiroUser user1 = shiroExtUtil.getUser();
        String roleid = theUser.getRoleid();
        if (ToolUtil.isEmpty(roleid)) {
            List<ZTreeNode> roleTreeList = this.roleService.roleTreeList();
            List<ZTreeNode> roleTreeList = this.roleService.roleTreeList(user1.getObjectId());
            return roleTreeList;
        } else {
            String[] strArray = Convert.toStrArray(",", roleid);
            List<ZTreeNode> roleTreeListByUserId = this.roleService.roleTreeListByRoleId(strArray);
            List<ZTreeNode> roleTreeListByUserId = this.roleService.roleTreeListByRoleId(strArray, user1.getObjectId());
            return roleTreeListByUserId;
        }
    }
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/UserMgrController.java
@@ -180,15 +180,10 @@
            beginTime = timeArray[0];
            endTime = timeArray[1];
        }
        if (shiroExtUtil.getUser().isAdmin()) {
            Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage();
            page.setRecords(userService.getUserListPage(page, null, name, beginTime, endTime, deptid));
            return super.packForBT(page);
        } else {
            Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage();
            page.setRecords(userService.getUserListPage(page, null, name, beginTime, endTime, deptid));
            return super.packForBT(page);
        }
        ShiroUser user1 = shiroExtUtil.getUser();
        Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage();
        page.setRecords(userService.getUserListPage(page, null, name, beginTime, endTime, deptid, user1.getObjectId()));
        return super.packForBT(page);
    }
    /**
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/MenuMapper.java
@@ -41,7 +41,7 @@
     * @return
     * @date 2017年2月19日 下午1:33:51
     */
    List<ZTreeNode> menuTreeList();
    List<ZTreeNode> menuTreeList(@Param("ids") List<Long> ids);
    /**
     * 获取菜单列表树
@@ -49,7 +49,7 @@
     * @return
     * @date 2017年2月19日 下午1:33:51
     */
    List<ZTreeNode> menuTreeListByMenuIds(List<Long> menuIds);
    List<ZTreeNode> menuTreeListByMenuIds(@Param("list") List<Long> menuIds, @Param("ids") List<Long> ids);
    /**
     * 删除menu关联的relation
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/RoleMapper.java
@@ -24,7 +24,7 @@
     * @return
     * @date 2017年2月12日 下午9:14:34
     */
    List<Map<String, Object>> selectRoles(@Param("condition") String condition);
    List<Map<String, Object>> selectRoles(@Param("condition") String condition, @Param("objectId") Integer objectId);
    /**
     * 删除某个角色的所有权限
@@ -41,7 +41,7 @@
     * @return
     * @date 2017年2月18日 上午10:32:04
     */
    List<ZTreeNode> roleTreeList();
    List<ZTreeNode> roleTreeList(@Param("objectId") Integer objectId);
    /**
     * 获取角色列表树
@@ -49,5 +49,5 @@
     * @return
     * @date 2017年2月18日 上午10:32:04
     */
    List<ZTreeNode> roleTreeListByRoleId(String[] roleId);
    List<ZTreeNode> roleTreeListByRoleId(@Param("array") String[] roleId, @Param("objectId") Integer objectId);
}
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/UserMapper.java
@@ -1,7 +1,6 @@
package com.stylefeng.guns.modular.system.dao;
import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.stylefeng.guns.core.datascope.DataScope;
import com.stylefeng.guns.modular.system.model.User;
@@ -57,5 +56,6 @@
                                             @Param("name") String name,
                                             @Param("beginTime") String beginTime,
                                             @Param("endTime") String endTime,
                                             @Param("deptid") Integer deptid);
                                             @Param("deptid") Integer deptid,
                                             @Param("objectId") Integer objectId);
}
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/MenuMapper.xml
@@ -67,6 +67,12 @@
        sys_menu m1
        LEFT join sys_menu m2 ON m1.pcode = m2. CODE
        where m1.`status` = 1
        <if test="null != ids and ids.size() > 0">
            and m1.id in
            <foreach collection="ids" separator="," item="item" open="(" index="index" close=")">
                #{item}
            </foreach>
        </if>
        ORDER BY
        m1.id ASC
    </select>
@@ -119,6 +125,12 @@
        </foreach>
        ) m3 on m1.id = m3.id
        where m1.`status` = 1
        <if test="null != ids and ids.size() > 0">
            and m1.id in
            <foreach collection="ids" separator="," item="item" open="(" index="index" close=")">
                #{item}
            </foreach>
        </if>
        ORDER BY
        m1.id ASC
    </select>
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/RoleMapper.xml
@@ -19,9 +19,12 @@
    <select id="selectRoles" resultType="map">
        select rr.*,(SELECT COUNT(id) from sys_user where FIND_IN_SET(rr.id,roleid)) as userCount
        from sys_role as rr
        from sys_role as rr where 1 = 1
        <if test="condition != null">
            where rr.name like CONCAT('%',#{condition},'%')
            and rr.name like CONCAT('%',#{condition},'%')
        </if>
        <if test="null != objectId">
            and rr.objectId = #{objectId}
        </if>
    </select>
@@ -32,7 +35,7 @@
    <select id="roleTreeList" resultType="com.stylefeng.guns.core.node.ZTreeNode">
        select id "id",pId
        "pId",name as "name",(case when (pId=0 or pId is null) then 'true'
        else 'false' end) "open" from sys_role
        else 'false' end) "open" from sys_role where objectId = #{objectId}
    </select>
    <select id="roleTreeListByRoleId" resultType="com.stylefeng.guns.core.node.ZTreeNode">
@@ -63,14 +66,14 @@
        ID
        FROM
        sys_role
        WHERE
        WHERE r.objectId = #{objectId} and
        ID IN
        <foreach collection="array" index="index" item="i" open="(" separator="," close=")">
            #{i}
        </foreach>
        ) r1 ON r.ID = r1.ID
        ) r1 ON r.ID = r1.ID where objectId = #{objectId}
        ORDER BY
        pId,
        num ASC
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/UserMapper.xml
@@ -104,6 +104,9 @@
            <if test="beginTime != null and beginTime != '' and endTime != null and endTime != ''">
                and (o.createTime between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59'))
            </if>
            <if test="null != objectId">
                and o.objectId = #{objectId}
            </if>
        </where>
        order by o.id desc
    </select>
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Role.java
@@ -41,6 +41,10 @@
     * 部门名称
     */
    private Integer deptid;
    /**
     * 公司id
     */
    private Integer objectId;
    /**
     * 提示
     */
@@ -106,7 +110,15 @@
    public void setVersion(Integer version) {
        this.version = version;
    }
    public Integer getObjectId() {
        return objectId;
    }
    public void setObjectId(Integer objectId) {
        this.objectId = objectId;
    }
    @Override
    protected Serializable pkVal() {
        return this.id;
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IMenuService.java
@@ -55,7 +55,7 @@
     * @return
     * @date 2017年2月19日 下午1:33:51
     */
    List<ZTreeNode> menuTreeList();
    List<ZTreeNode> menuTreeList(List<Long> ids);
    /**
     * 获取菜单列表树
@@ -63,7 +63,7 @@
     * @return
     * @date 2017年2月19日 下午1:33:51
     */
    List<ZTreeNode> menuTreeListByMenuIds(List<Long> menuIds);
    List<ZTreeNode> menuTreeListByMenuIds(List<Long> menuIds, List<Long> ids);
    /**
     * 删除menu关联的relation
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IRoleService.java
@@ -39,7 +39,7 @@
     * @return
     * @date 2017年2月12日 下午9:14:34
     */
    List<Map<String, Object>> selectRoles(@Param("condition") String condition);
    List<Map<String, Object>> selectRoles(@Param("condition") String condition, Integer objectId);
    /**
     * 删除某个角色的所有权限
@@ -56,7 +56,7 @@
     * @return
     * @date 2017年2月18日 上午10:32:04
     */
    List<ZTreeNode> roleTreeList();
    List<ZTreeNode> roleTreeList(Integer objectId);
    /**
     * 获取角色列表树
@@ -64,5 +64,5 @@
     * @return
     * @date 2017年2月18日 上午10:32:04
     */
    List<ZTreeNode> roleTreeListByRoleId(String[] roleId);
    List<ZTreeNode> roleTreeListByRoleId(String[] roleId, Integer objectId);
}
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IUserService.java
@@ -2,7 +2,6 @@
import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.IService;
import com.stylefeng.guns.core.datascope.DataScope;
import com.stylefeng.guns.modular.system.model.User;
import org.apache.ibatis.annotations.Param;
@@ -57,6 +56,7 @@
                                             @Param("name") String name,
                                             @Param("beginTime") String beginTime,
                                             @Param("endTime") String endTime,
                                             @Param("deptid") Integer deptid);
                                             @Param("deptid") Integer deptid,
                                             @Param("objectId") Integer objectId);
}
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/MenuServiceImpl.java
@@ -1,12 +1,5 @@
package com.stylefeng.guns.modular.system.service.impl;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
@@ -15,6 +8,11 @@
import com.stylefeng.guns.modular.system.dao.MenuMapper;
import com.stylefeng.guns.modular.system.model.Menu;
import com.stylefeng.guns.modular.system.service.IMenuService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
/**
 * 菜单服务
@@ -66,13 +64,13 @@
    }
    @Override
    public List<ZTreeNode> menuTreeList() {
        return this.baseMapper.menuTreeList();
    public List<ZTreeNode> menuTreeList(List<Long> ids) {
        return this.baseMapper.menuTreeList(ids);
    }
    @Override
    public List<ZTreeNode> menuTreeListByMenuIds(List<Long> menuIds) {
        return this.baseMapper.menuTreeListByMenuIds(menuIds);
    public List<ZTreeNode> menuTreeListByMenuIds(List<Long> menuIds, List<Long> ids) {
        return this.baseMapper.menuTreeListByMenuIds(menuIds, ids);
    }
    @Override
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/RoleServiceImpl.java
@@ -1,13 +1,5 @@
package com.stylefeng.guns.modular.system.service.impl;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.stylefeng.guns.core.node.ZTreeNode;
import com.stylefeng.guns.core.util.Convert;
@@ -16,6 +8,12 @@
import com.stylefeng.guns.modular.system.model.Relation;
import com.stylefeng.guns.modular.system.model.Role;
import com.stylefeng.guns.modular.system.service.IRoleService;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
@Service
public class RoleServiceImpl extends ServiceImpl<RoleMapper, Role> implements IRoleService {
@@ -53,8 +51,8 @@
    }
    @Override
    public List<Map<String, Object>> selectRoles(String condition) {
        return this.baseMapper.selectRoles(condition);
    public List<Map<String, Object>> selectRoles(String condition, Integer objectId) {
        return this.baseMapper.selectRoles(condition, objectId);
    }
    @Override
@@ -63,13 +61,13 @@
    }
    @Override
    public List<ZTreeNode> roleTreeList() {
        return this.baseMapper.roleTreeList();
    public List<ZTreeNode> roleTreeList(Integer objectId) {
        return this.baseMapper.roleTreeList(objectId);
    }
    @Override
    public List<ZTreeNode> roleTreeListByRoleId(String[] roleId) {
        return this.baseMapper.roleTreeListByRoleId(roleId);
    public List<ZTreeNode> roleTreeListByRoleId(String[] roleId, Integer objectId) {
        return this.baseMapper.roleTreeListByRoleId(roleId, objectId);
    }
}
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserServiceImpl.java
@@ -1,17 +1,15 @@
package com.stylefeng.guns.modular.system.service.impl;
import java.util.List;
import java.util.Map;
import com.baomidou.mybatisplus.plugins.Page;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.stylefeng.guns.core.datascope.DataScope;
import com.stylefeng.guns.modular.system.dao.UserMapper;
import com.stylefeng.guns.modular.system.model.User;
import com.stylefeng.guns.modular.system.service.IUserService;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
/**
 * <p>
@@ -55,7 +53,7 @@
    }
    @Override
    public List<Map<String, Object>> getUserListPage(Page<Map<String, Object>> page, DataScope dataScope, String name, String beginTime, String endTime, Integer deptid) {
        return this.baseMapper.getUserListPage(page, dataScope, name, beginTime, endTime, deptid);
    public List<Map<String, Object>> getUserListPage(Page<Map<String, Object>> page, DataScope dataScope, String name, String beginTime, String endTime, Integer deptid, Integer objectId) {
        return this.baseMapper.getUserListPage(page, dataScope, name, beginTime, endTime, deptid, objectId);
    }
}
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/UserUtil.java
@@ -220,7 +220,7 @@
    
    public static void main(String[] args) {
        List<QYTUserInfo> userInfoByPhone = getUserInfoByPhone("18798410042", "9811000039358999");
        List<QYTUserInfo> userInfoByPhone = getUserInfoByPhone("18685061710", "981100006032200");
        System.out.println(userInfoByPhone);
    }
}