Commit 290bbd79 by naan1993

修复点击父级部门查询不到子级的用户的bug

parent a5127fc5
......@@ -10,7 +10,7 @@ Target Server Type : MYSQL
Target Server Version : 50621
File Encoding : 65001
Date: 2017-06-24 23:18:42
Date: 2017-07-11 22:39:28
*/
SET FOREIGN_KEY_CHECKS=0;
......@@ -23,6 +23,7 @@ CREATE TABLE `dept` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键id',
`num` int(11) DEFAULT NULL COMMENT '排序',
`pid` int(11) DEFAULT NULL COMMENT '父部门id',
`pids` varchar(255) DEFAULT NULL COMMENT '父级ids',
`simplename` varchar(45) DEFAULT NULL COMMENT '简称',
`fullname` varchar(255) DEFAULT NULL COMMENT '全称',
`tips` varchar(255) DEFAULT NULL COMMENT '提示',
......@@ -33,10 +34,10 @@ CREATE TABLE `dept` (
-- ----------------------------
-- Records of dept
-- ----------------------------
INSERT INTO `dept` VALUES ('24', '1', '0', '总公司', '总公司', '', null);
INSERT INTO `dept` VALUES ('25', '2', '24', '开发部', '开发部', '', null);
INSERT INTO `dept` VALUES ('26', '3', '24', '运营部', '运营部', '', null);
INSERT INTO `dept` VALUES ('27', '4', '24', '战略部', '战略部', '', null);
INSERT INTO `dept` VALUES ('24', '1', '0', '[0],', '总公司', '总公司', '', null);
INSERT INTO `dept` VALUES ('25', '2', '24', '[0],[24],', '开发部', '开发部', '', null);
INSERT INTO `dept` VALUES ('26', '3', '24', '[0],[24],', '运营部', '运营部', '', null);
INSERT INTO `dept` VALUES ('27', '4', '24', '[0],[24],', '战略部', '战略部', '', null);
-- ----------------------------
-- Table structure for dict
......
package com.stylefeng.guns.common.persistence.dao;
import com.stylefeng.guns.common.persistence.model.Dept;
import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.stylefeng.guns.common.persistence.model.Dept;
/**
* <p>
......@@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.mapper.BaseMapper;
* </p>
*
* @author stylefeng
* @since 2017-06-20
* @since 2017-07-11
*/
public interface DeptMapper extends BaseMapper<Dept> {
......
package com.stylefeng.guns.common.persistence.dao;
import com.stylefeng.guns.common.persistence.model.Dict;
import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.stylefeng.guns.common.persistence.model.Dict;
/**
* <p>
......@@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.mapper.BaseMapper;
* </p>
*
* @author stylefeng
* @since 2017-06-20
* @since 2017-07-11
*/
public interface DictMapper extends BaseMapper<Dict> {
......
package com.stylefeng.guns.common.persistence.dao;
import com.stylefeng.guns.common.persistence.model.LoginLog;
import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.stylefeng.guns.common.persistence.model.LoginLog;
/**
* <p>
......@@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.mapper.BaseMapper;
* </p>
*
* @author stylefeng
* @since 2017-06-20
* @since 2017-07-11
*/
public interface LoginLogMapper extends BaseMapper<LoginLog> {
......
package com.stylefeng.guns.common.persistence.dao;
import com.stylefeng.guns.common.persistence.model.Menu;
import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.stylefeng.guns.common.persistence.model.Menu;
/**
* <p>
......@@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.mapper.BaseMapper;
* </p>
*
* @author stylefeng
* @since 2017-06-20
* @since 2017-07-11
*/
public interface MenuMapper extends BaseMapper<Menu> {
......
package com.stylefeng.guns.common.persistence.dao;
import com.stylefeng.guns.common.persistence.model.Notice;
import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.stylefeng.guns.common.persistence.model.Notice;
/**
* <p>
......@@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.mapper.BaseMapper;
* </p>
*
* @author stylefeng
* @since 2017-06-20
* @since 2017-07-11
*/
public interface NoticeMapper extends BaseMapper<Notice> {
......
package com.stylefeng.guns.common.persistence.dao;
import com.stylefeng.guns.common.persistence.model.OperationLog;
import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.stylefeng.guns.common.persistence.model.OperationLog;
/**
* <p>
......@@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.mapper.BaseMapper;
* </p>
*
* @author stylefeng
* @since 2017-06-20
* @since 2017-07-11
*/
public interface OperationLogMapper extends BaseMapper<OperationLog> {
......
package com.stylefeng.guns.common.persistence.dao;
import com.stylefeng.guns.common.persistence.model.Relation;
import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.stylefeng.guns.common.persistence.model.Relation;
/**
* <p>
......@@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.mapper.BaseMapper;
* </p>
*
* @author stylefeng
* @since 2017-06-20
* @since 2017-07-11
*/
public interface RelationMapper extends BaseMapper<Relation> {
......
package com.stylefeng.guns.common.persistence.dao;
import com.stylefeng.guns.common.persistence.model.Role;
import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.stylefeng.guns.common.persistence.model.Role;
/**
* <p>
......@@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.mapper.BaseMapper;
* </p>
*
* @author stylefeng
* @since 2017-06-20
* @since 2017-07-11
*/
public interface RoleMapper extends BaseMapper<Role> {
......
package com.stylefeng.guns.common.persistence.dao;
import com.stylefeng.guns.common.persistence.model.Test;
import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.stylefeng.guns.common.persistence.model.Test;
/**
* <p>
......@@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.mapper.BaseMapper;
* </p>
*
* @author stylefeng
* @since 2017-06-23
* @since 2017-07-11
*/
public interface TestMapper extends BaseMapper<Test> {
......
package com.stylefeng.guns.common.persistence.dao;
import com.stylefeng.guns.common.persistence.model.User;
import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.stylefeng.guns.common.persistence.model.User;
/**
* <p>
......@@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.mapper.BaseMapper;
* </p>
*
* @author stylefeng
* @since 2017-06-20
* @since 2017-07-11
*/
public interface UserMapper extends BaseMapper<User> {
......
......@@ -7,6 +7,7 @@
<id column="id" property="id" />
<result column="num" property="num" />
<result column="pid" property="pid" />
<result column="pids" property="pids" />
<result column="simplename" property="simplename" />
<result column="fullname" property="fullname" />
<result column="tips" property="tips" />
......
package com.stylefeng.guns.common.persistence.model;
import com.baomidou.mybatisplus.enums.IdType;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.enums.IdType;
import java.io.Serializable;
/**
......@@ -11,7 +12,7 @@ import java.io.Serializable;
* </p>
*
* @author stylefeng
* @since 2017-06-20
* @since 2017-07-11
*/
public class Dept extends Model<Dept> {
......@@ -31,6 +32,10 @@ public class Dept extends Model<Dept> {
*/
private Integer pid;
/**
* 父级ids
*/
private String pids;
/**
* 简称
*/
private String simplename;
......@@ -72,6 +77,14 @@ public class Dept extends Model<Dept> {
this.pid = pid;
}
public String getPids() {
return pids;
}
public void setPids(String pids) {
this.pids = pids;
}
public String getSimplename() {
return simplename;
}
......@@ -109,4 +122,17 @@ public class Dept extends Model<Dept> {
return this.id;
}
@Override
public String toString() {
return "Dept{" +
"id=" + id +
", num=" + num +
", pid=" + pid +
", pids=" + pids +
", simplename=" + simplename +
", fullname=" + fullname +
", tips=" + tips +
", version=" + version +
"}";
}
}
package com.stylefeng.guns.common.persistence.model;
import com.baomidou.mybatisplus.enums.IdType;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.enums.IdType;
import java.io.Serializable;
/**
......@@ -11,7 +12,7 @@ import java.io.Serializable;
* </p>
*
* @author stylefeng
* @since 2017-06-20
* @since 2017-07-11
*/
public class Dict extends Model<Dict> {
......@@ -85,4 +86,14 @@ public class Dict extends Model<Dict> {
return this.id;
}
@Override
public String toString() {
return "Dict{" +
"id=" + id +
", num=" + num +
", pid=" + pid +
", name=" + name +
", tips=" + tips +
"}";
}
}
......@@ -14,7 +14,7 @@ import java.util.Date;
* </p>
*
* @author stylefeng
* @since 2017-06-20
* @since 2017-07-11
*/
@TableName("login_log")
public class LoginLog extends Model<LoginLog> {
......@@ -113,4 +113,16 @@ public class LoginLog extends Model<LoginLog> {
return this.id;
}
@Override
public String toString() {
return "LoginLog{" +
"id=" + id +
", logname=" + logname +
", userid=" + userid +
", createtime=" + createtime +
", succeed=" + succeed +
", message=" + message +
", ip=" + ip +
"}";
}
}
package com.stylefeng.guns.common.persistence.model;
import com.baomidou.mybatisplus.enums.IdType;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.enums.IdType;
import java.io.Serializable;
/**
......@@ -11,7 +12,7 @@ import java.io.Serializable;
* </p>
*
* @author stylefeng
* @since 2017-06-20
* @since 2017-07-11
*/
public class Menu extends Model<Menu> {
......@@ -181,4 +182,22 @@ public class Menu extends Model<Menu> {
return this.id;
}
@Override
public String toString() {
return "Menu{" +
"id=" + id +
", code=" + code +
", pcode=" + pcode +
", pcodes=" + pcodes +
", name=" + name +
", icon=" + icon +
", url=" + url +
", num=" + num +
", levels=" + levels +
", ismenu=" + ismenu +
", tips=" + tips +
", status=" + status +
", isopen=" + isopen +
"}";
}
}
......@@ -13,7 +13,7 @@ import java.util.Date;
* </p>
*
* @author stylefeng
* @since 2017-06-20
* @since 2017-07-11
*/
public class Notice extends Model<Notice> {
......@@ -99,4 +99,15 @@ public class Notice extends Model<Notice> {
return this.id;
}
@Override
public String toString() {
return "Notice{" +
"id=" + id +
", title=" + title +
", type=" + type +
", content=" + content +
", createtime=" + createtime +
", creater=" + creater +
"}";
}
}
......@@ -14,7 +14,7 @@ import java.util.Date;
* </p>
*
* @author stylefeng
* @since 2017-06-20
* @since 2017-07-11
*/
@TableName("operation_log")
public class OperationLog extends Model<OperationLog> {
......@@ -137,4 +137,18 @@ public class OperationLog extends Model<OperationLog> {
return this.id;
}
@Override
public String toString() {
return "OperationLog{" +
"id=" + id +
", logtype=" + logtype +
", logname=" + logname +
", userid=" + userid +
", classname=" + classname +
", method=" + method +
", createtime=" + createtime +
", succeed=" + succeed +
", message=" + message +
"}";
}
}
package com.stylefeng.guns.common.persistence.model;
import com.baomidou.mybatisplus.enums.IdType;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.enums.IdType;
import java.io.Serializable;
/**
......@@ -11,7 +12,7 @@ import java.io.Serializable;
* </p>
*
* @author stylefeng
* @since 2017-06-20
* @since 2017-07-11
*/
public class Relation extends Model<Relation> {
......@@ -61,4 +62,12 @@ public class Relation extends Model<Relation> {
return this.id;
}
@Override
public String toString() {
return "Relation{" +
"id=" + id +
", menuid=" + menuid +
", roleid=" + roleid +
"}";
}
}
package com.stylefeng.guns.common.persistence.model;
import com.baomidou.mybatisplus.enums.IdType;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.enums.IdType;
import java.io.Serializable;
/**
......@@ -11,7 +12,7 @@ import java.io.Serializable;
* </p>
*
* @author stylefeng
* @since 2017-06-20
* @since 2017-07-11
*/
public class Role extends Model<Role> {
......@@ -109,4 +110,16 @@ public class Role extends Model<Role> {
return this.id;
}
@Override
public String toString() {
return "Role{" +
"id=" + id +
", num=" + num +
", pid=" + pid +
", name=" + name +
", deptid=" + deptid +
", tips=" + tips +
", version=" + version +
"}";
}
}
package com.stylefeng.guns.common.persistence.model;
import com.baomidou.mybatisplus.activerecord.Model;
import java.io.Serializable;
/**
......@@ -9,7 +10,7 @@ import java.io.Serializable;
* </p>
*
* @author stylefeng
* @since 2017-06-23
* @since 2017-07-11
*/
public class Test extends Model<Test> {
......@@ -40,4 +41,11 @@ public class Test extends Model<Test> {
return this.id;
}
@Override
public String toString() {
return "Test{" +
"id=" + id +
", value=" + value +
"}";
}
}
......@@ -13,7 +13,7 @@ import java.util.Date;
* </p>
*
* @author stylefeng
* @since 2017-06-20
* @since 2017-07-11
*/
public class User extends Model<User> {
......@@ -207,4 +207,24 @@ public class User extends Model<User> {
return this.id;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", avatar=" + avatar +
", account=" + account +
", password=" + password +
", salt=" + salt +
", name=" + name +
", birthday=" + birthday +
", sex=" + sex +
", email=" + email +
", phone=" + phone +
", roleid=" + roleid +
", deptid=" + deptid +
", status=" + status +
", createtime=" + createtime +
", version=" + version +
"}";
}
}
......@@ -13,6 +13,7 @@ import com.stylefeng.guns.common.persistence.model.Dept;
import com.stylefeng.guns.core.log.LogObjectHolder;
import com.stylefeng.guns.core.util.ToolUtil;
import com.stylefeng.guns.modular.system.dao.DeptDao;
import com.stylefeng.guns.modular.system.service.IDeptService;
import com.stylefeng.guns.modular.system.warpper.DeptWarpper;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
......@@ -43,6 +44,9 @@ public class DeptController extends BaseController {
@Resource
DeptMapper deptMapper;
@Resource
IDeptService deptService;
/**
* 跳转到部门管理首页
*/
......@@ -94,6 +98,8 @@ public class DeptController extends BaseController {
if (ToolUtil.isOneEmpty(dept, dept.getSimplename())) {
throw new BussinessException(BizExceptionEnum.REQUEST_NULL);
}
//完善pids,根据pid拿到pid的pids
deptSetPids(dept);
return this.deptMapper.insert(dept);
}
......@@ -129,6 +135,7 @@ public class DeptController extends BaseController {
if (ToolUtil.isEmpty(dept) || dept.getId() == null) {
throw new BussinessException(BizExceptionEnum.REQUEST_NULL);
}
deptSetPids(dept);
deptMapper.updateById(dept);
return super.SUCCESS_TIP;
}
......@@ -145,8 +152,21 @@ public class DeptController extends BaseController {
//缓存被删除的部门名称
LogObjectHolder.me().set(ConstantFactory.me().getDeptName(deptId));
deptMapper.deleteById(deptId);
deptService.deleteDept(deptId);
return SUCCESS_TIP;
}
private void deptSetPids(Dept dept) {
if (ToolUtil.isEmpty(dept.getPid()) || dept.getPid().equals("0")) {
dept.setPid(0);
dept.setPids("[0],");
} else {
int pid = dept.getPid();
Dept temp = deptMapper.selectById(pid);
String pids = temp.getPids();
dept.setPid(pid);
dept.setPids(pids + "[" + pid + "],");
}
}
}
......@@ -27,7 +27,7 @@
or name like CONCAT('%',#{name},'%'))
</if>
<if test="deptid != null and deptid != 0">
and deptid = #{deptid}
and deptid = #{deptid} or deptid in ( select id from dept where pids like CONCAT('%[', #{deptid}, ']%') )
</if>
<if test="beginTime != null and beginTime != '' and endTime != null and endTime != ''">
and (createTime between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59'))
......
package com.stylefeng.guns.modular.system.service;
/**
* 部门服务
*
* @author fengshuonan
* @date 2017-04-27 17:00
*/
public interface IDeptService {
/**
* 删除部门
*
* @author stylefeng
* @Date 2017/7/11 22:30
*/
void deleteDept(Integer deptId);
}
package com.stylefeng.guns.modular.system.service.impl;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.stylefeng.guns.common.persistence.dao.DeptMapper;
import com.stylefeng.guns.common.persistence.model.Dept;
import com.stylefeng.guns.modular.system.service.IDeptService;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.List;
@Service
@Transactional
public class DeptServiceImpl implements IDeptService {
@Resource
DeptMapper deptMapper;
@Override
public void deleteDept(Integer deptId) {
Dept dept = deptMapper.selectById(deptId);
Wrapper<Dept> wrapper = new EntityWrapper<>();
wrapper = wrapper.like("pids", "%[" + dept.getId() + "]%");
List<Dept> subDepts = deptMapper.selectList(wrapper);
for (Dept temp : subDepts) {
temp.deleteById();
}
dept.deleteById();
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment