diff --git a/tamguo-oms/src/main/java/com/tamguo/modules/sys/dao/SysUserMapper.java b/tamguo-oms/src/main/java/com/tamguo/modules/sys/dao/SysUserMapper.java index 71030bd..3a5bd75 100644 --- a/tamguo-oms/src/main/java/com/tamguo/modules/sys/dao/SysUserMapper.java +++ b/tamguo-oms/src/main/java/com/tamguo/modules/sys/dao/SysUserMapper.java @@ -4,13 +4,17 @@ import java.util.List; import org.apache.ibatis.annotations.Param; import com.baomidou.mybatisplus.plugins.Page; +import com.baomidou.mybatisplus.plugins.pagination.Pagination; import com.tamguo.config.dao.SuperMapper; import com.tamguo.modules.sys.model.SysUserEntity; +import com.tamguo.modules.sys.model.condition.SysUserCondition; public interface SysUserMapper extends SuperMapper{ SysUserEntity queryByUserName(String username); List queryPage(@Param(value="userName")String userName , Page page); + + List listData(SysUserCondition condition, Pagination page); } diff --git a/tamguo-oms/src/main/java/com/tamguo/modules/sys/model/SysUserEntity.java b/tamguo-oms/src/main/java/com/tamguo/modules/sys/model/SysUserEntity.java index c25e836..7ee7baf 100644 --- a/tamguo-oms/src/main/java/com/tamguo/modules/sys/model/SysUserEntity.java +++ b/tamguo-oms/src/main/java/com/tamguo/modules/sys/model/SysUserEntity.java @@ -1,6 +1,7 @@ package com.tamguo.modules.sys.model; import java.io.Serializable; +import java.util.Date; import java.util.List; import com.alibaba.fastjson.annotation.JSONField; import com.alibaba.fastjson.serializer.SerializerFeature; @@ -20,24 +21,26 @@ public class SysUserEntity extends SuperEntity implements Seriali private String userName; private String nickName; + private String name; private String mobile; private String email; private String password; private String roleIds; + private String companyId; + private Date createDate; + private Date updateDate; @JSONField(serialzeFeatures= SerializerFeature.WriteEnumUsingToString) private SysUserStatusEnum status; private String safeKeyValue; private Long createTime; - private String courseId; - private String subjectId; @TableField(exist=false) private List roleIdList; @TableField(exist=false) - private String roleName; + private String companyName; public SysUserEntity() { } @@ -122,28 +125,44 @@ public class SysUserEntity extends SuperEntity implements Seriali this.status = status; } - public String getCourseId() { - return courseId; + public String getName() { + return name; } - public void setCourseId(String courseId) { - this.courseId = courseId; + public void setName(String name) { + this.name = name; } - public String getRoleName() { - return roleName; + public String getCompanyName() { + return companyName; } - public void setRoleName(String roleName) { - this.roleName = roleName; + public void setCompanyName(String companyName) { + this.companyName = companyName; } - public String getSubjectId() { - return subjectId; + public String getCompanyId() { + return companyId; } - public void setSubjectId(String subjectId) { - this.subjectId = subjectId; + public void setCompanyId(String companyId) { + this.companyId = companyId; + } + + public Date getUpdateDate() { + return updateDate; + } + + public void setUpdateDate(Date updateDate) { + this.updateDate = updateDate; + } + + public Date getCreateDate() { + return createDate; + } + + public void setCreateDate(Date createDate) { + this.createDate = createDate; } diff --git a/tamguo-oms/src/main/java/com/tamguo/modules/sys/model/condition/SysUserCondition.java b/tamguo-oms/src/main/java/com/tamguo/modules/sys/model/condition/SysUserCondition.java new file mode 100644 index 0000000..516813e --- /dev/null +++ b/tamguo-oms/src/main/java/com/tamguo/modules/sys/model/condition/SysUserCondition.java @@ -0,0 +1,35 @@ +package com.tamguo.modules.sys.model.condition; + +public class SysUserCondition { + + private String userName; + + private Integer pageNo; + private Integer pageSize; + + public Integer getPageNo() { + return pageNo; + } + + public void setPageNo(Integer pageNo) { + this.pageNo = pageNo; + } + + public Integer getPageSize() { + return pageSize; + } + + public void setPageSize(Integer pageSize) { + this.pageSize = pageSize; + } + + public String getUserName() { + return userName; + } + + public void setUserName(String userName) { + this.userName = userName; + } + + +} diff --git a/tamguo-oms/src/main/java/com/tamguo/modules/sys/service/ISysUserService.java b/tamguo-oms/src/main/java/com/tamguo/modules/sys/service/ISysUserService.java index 7bfc47b..9ba514c 100644 --- a/tamguo-oms/src/main/java/com/tamguo/modules/sys/service/ISysUserService.java +++ b/tamguo-oms/src/main/java/com/tamguo/modules/sys/service/ISysUserService.java @@ -2,25 +2,11 @@ package com.tamguo.modules.sys.service; import com.baomidou.mybatisplus.plugins.Page; import com.tamguo.modules.sys.model.SysUserEntity; -import com.tamguo.modules.sys.utils.Result; +import com.tamguo.modules.sys.model.condition.SysUserCondition; public interface ISysUserService { - SysUserEntity queryByUserName(String username); + public SysUserEntity queryByUserName(String username); - SysUserEntity queryByUid(String uid); - - void updateUserInfo(SysUserEntity user); - - Result updatePassword(String oldPassword, String password, String repassword); - - Page queryPage(String userName ,Page page); - - SysUserEntity selectById(String userId); - - void save(SysUserEntity user); - - void update(SysUserEntity user); - - void deleteBatch(String[] userIds); + public Page listData(SysUserCondition condition); } diff --git a/tamguo-oms/src/main/java/com/tamguo/modules/sys/service/impl/SysUserServiceImpl.java b/tamguo-oms/src/main/java/com/tamguo/modules/sys/service/impl/SysUserServiceImpl.java index e9260f4..a41ba3a 100644 --- a/tamguo-oms/src/main/java/com/tamguo/modules/sys/service/impl/SysUserServiceImpl.java +++ b/tamguo-oms/src/main/java/com/tamguo/modules/sys/service/impl/SysUserServiceImpl.java @@ -1,107 +1,33 @@ package com.tamguo.modules.sys.service.impl; -import java.util.Arrays; -import org.apache.commons.lang3.StringUtils; -import org.apache.shiro.crypto.hash.Sha256Hash; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import org.springframework.util.CollectionUtils; import com.baomidou.mybatisplus.plugins.Page; import com.tamguo.modules.sys.dao.SysUserMapper; import com.tamguo.modules.sys.model.SysUserEntity; +import com.tamguo.modules.sys.model.condition.SysUserCondition; import com.tamguo.modules.sys.service.ISysUserService; -import com.tamguo.modules.sys.utils.DateUtil; -import com.tamguo.modules.sys.utils.Result; -import com.tamguo.modules.sys.utils.ShaEncrypt; -import com.tamguo.modules.sys.utils.ShiroUtils; @Service public class SysUserServiceImpl implements ISysUserService{ @Autowired public SysUserMapper sysUserMapper; - + + @Transactional(readOnly=false) @Override public SysUserEntity queryByUserName(String username) { return sysUserMapper.queryByUserName(username); } - @Override - public SysUserEntity queryByUid(String uid) { - return sysUserMapper.selectById(uid); - } - - @Override - public void updateUserInfo(SysUserEntity user) { - SysUserEntity entity = sysUserMapper.selectById(user.getUid()); - entity.setRoleIds(user.getRoleIds()); - entity.setNickName(user.getNickName()); - entity.setMobile(user.getMobile()); - entity.setEmail(user.getEmail()); - entity.setStatus(user.getStatus()); - sysUserMapper.updateById(entity); - } @Transactional(readOnly=false) @Override - public Result updatePassword(String oldPassword, String password, String repassword) { - String userId = ShiroUtils.getUid(); - SysUserEntity user = sysUserMapper.selectById(userId); - if(!new Sha256Hash(oldPassword).toHex().equals(user.getPassword())) { - return Result.result(1, null, "旧密码错误"); - } - if(!password.equals(repassword)) { - return Result.result(2, null, "两次密码输入不一致"); - } - user.setPassword(new Sha256Hash(password).toHex()); - sysUserMapper.updateById(user); - return Result.successResult(null); - } - - @Transactional(readOnly=true) - @Override - public Page queryPage(String userName ,Page page) { - if(!StringUtils.isEmpty(userName)) { - userName = "%" + userName + "%"; - } - page.setRecords(sysUserMapper.queryPage(userName , page)); - return page; + public Page listData(SysUserCondition condition) { + Page page = new Page<>(condition.getPageNo() , condition.getPageSize()); + return page.setRecords(sysUserMapper.listData(condition , page)); } - @Override - public SysUserEntity selectById(String userId) { - return sysUserMapper.selectById(userId); - } - - @Transactional(readOnly=false) - @Override - public void save(SysUserEntity user) { - user.setCreateTime(DateUtil.getTime()); - // sha256加密 - user.setPassword(ShaEncrypt.SHA256(user.getPassword())); - // 处理角色 - if(!CollectionUtils.isEmpty(user.getRoleIdList())) { - user.setRoleIds(StringUtils.join(user.getRoleIdList(), ",")); - } - sysUserMapper.insert(user); - } - - @Override - @Transactional(readOnly=false) - public void update(SysUserEntity user) { - if (StringUtils.isEmpty(user.getPassword())) { - user.setPassword(null); - } else { - user.setPassword(ShaEncrypt.SHA256(user.getPassword())); - } - sysUserMapper.updateById(user); - } - - @Transactional(readOnly=false) - @Override - public void deleteBatch(String[] userIds) { - sysUserMapper.deleteBatchIds(Arrays.asList(userIds)); - } } diff --git a/tamguo-oms/src/main/java/com/tamguo/modules/sys/web/UserController.java b/tamguo-oms/src/main/java/com/tamguo/modules/sys/web/UserController.java index b8e694e..c987ef4 100644 --- a/tamguo-oms/src/main/java/com/tamguo/modules/sys/web/UserController.java +++ b/tamguo-oms/src/main/java/com/tamguo/modules/sys/web/UserController.java @@ -1,15 +1,29 @@ package com.tamguo.modules.sys.web; +import java.util.Map; + +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.servlet.ModelAndView; +import com.baomidou.mybatisplus.plugins.Page; +import com.tamguo.modules.sys.model.SysUserEntity; +import com.tamguo.modules.sys.model.condition.SysUserCondition; +import com.tamguo.modules.sys.service.ISysUserService; +import com.tamguo.modules.sys.utils.Result; + @Controller @RequestMapping(path="sys/user") public class UserController { private final String USER_INDEX_PAGE = "modules/sys/user/index"; private final String USER_LIST_PAGE = "modules/sys/user/list"; + + @Autowired + private ISysUserService iSysUserService; @RequestMapping(path="index") public String index(ModelAndView model) { @@ -21,4 +35,11 @@ public class UserController { return USER_LIST_PAGE; } + @RequestMapping(path="listData",method=RequestMethod.POST) + @ResponseBody + public Map listData(SysUserCondition condition) { + Page page = iSysUserService.listData(condition); + return Result.jqGridResult(page.getRecords(), page.getTotal(), page.getSize(), page.getCurrent(), page.getPages()); + } + } diff --git a/tamguo-oms/src/main/resources/application.properties b/tamguo-oms/src/main/resources/application.properties index 4cd3267..f75a42b 100644 --- a/tamguo-oms/src/main/resources/application.properties +++ b/tamguo-oms/src/main/resources/application.properties @@ -20,7 +20,7 @@ spring.datasource.testOnReturn=false spring.datasource.testWhileIdle=true spring.datasource.timeBetweenEvictionRunsMillis=60000 spring.datasource.type=com.alibaba.druid.pool.DruidDataSource -spring.datasource.url=jdbc:mysql://47.100.175.14:3306/tiku?useUnicode=true&characterEncoding=UTF-8&useSSL=false +spring.datasource.url=jdbc:mysql://47.100.175.14:3306/tamguo?useUnicode=true&characterEncoding=UTF-8&useSSL=false spring.datasource.username=root spring.datasource.validationQuery=SELECT 1 FROM DUAL diff --git a/tamguo-oms/src/main/resources/mappers/SysUserMapper.xml b/tamguo-oms/src/main/resources/mappers/SysUserMapper.xml index 42b00ba..49479c7 100644 --- a/tamguo-oms/src/main/resources/mappers/SysUserMapper.xml +++ b/tamguo-oms/src/main/resources/mappers/SysUserMapper.xml @@ -19,21 +19,24 @@ u.user_name = #{username} - SELECT u.uid, u.user_name, + u.name, u.role_ids, - r.name as role_name, + u.company_id, + c.name as company_name, u.password, u.status, u.nick_name, u.mobile, u.email, - u.course_id + u.update_date, + u.create_date FROM sys_user u - LEFT JOIN sys_role r ON r.uid = u.role_ids + LEFT JOIN sys_company c ON u.company_id = c.uid u.user_name like #{userName} diff --git a/tamguo-oms/src/main/resources/templates/modules/sys/user/list.html b/tamguo-oms/src/main/resources/templates/modules/sys/user/list.html index 9d2d093..c10d724 100644 --- a/tamguo-oms/src/main/resources/templates/modules/sys/user/list.html +++ b/tamguo-oms/src/main/resources/templates/modules/sys/user/list.html @@ -5,7 +5,7 @@ content="no-cache, no-store, must-revalidate"/> 用户管理 - JeeSite Demo - + @@ -26,7 +26,7 @@ content="width=device-width, initial-scale=1, user-scalable=1" name="viewport"/>
-
+
@@ -64,12 +64,6 @@ content="width=device-width, initial-scale=1, user-scalable=1" name="viewport"/>
-
- -
- -
-
@@ -77,92 +71,6 @@ content="width=device-width, initial-scale=1, user-scalable=1" name="viewport"/>
-
- -
- -
-
@@ -292,19 +200,25 @@ $("#companyButton,#companyName").click(function(){ $('#dataGrid').dataGrid({ searchForm: $("#searchForm"), columnModel: [ - {header:'登录账号', name:'loginCode', index:'a.login_code', width:200, align:"center", frozen:true, formatter: function(val, obj, row, act){ + {header:'登录账号', name:'userName', index:'a.login_code', width:300, align:"center", frozen:true, formatter: function(val, obj, row, act){ return ''+(val||row.id)+''; }}, - {header:'用户昵称', name:'userName', index:'a.user_name', width:200, align:"center"}, - {header:'员工姓名', name:'refName', index:'a.ref_name', width:200, align:"center"}, - {header:'归属机构', name:'employee.office.officeName', index:'o.office_name', width:200, align:"center"}, - {header:'归属公司', name:'employee.company.companyName', index:'c.company_name', width:200, align:"center"}, + {header:'用户昵称', name:'nickName', index:'a.user_name', width:200, align:"center"}, + {header:'员工姓名', name:'name', index:'a.ref_name', width:200, align:"center"}, + {header:'归属公司', name:'companyName', index:'c.company_name', width:200, align:"center"}, {header:'电子邮箱', name:'email', index:'a.email', width:200, align:"center"}, {header:'手机号码', name:'mobile', index:'a.mobile', width:200, align:"center"}, - {header:'办公电话', name:'phone', index:'a.phone', width:200, align:"center"}, {header:'更新时间', name:'updateDate', index:'a.update_date', width:200, align:"center"}, {header:'状态', name:'status', index:'a.status', width:140, align:"center", formatter: function(val, obj, row, act){ - return js.getDictLabel([{"id":"1019065439174938624","status":"0","createBy":"system","createDate":"2018-07-17 11:45","updateDate":"2018-07-17 11:45","updateBy":"system","treeLevel":0,"parentCodes":"0,","treeSort":20,"treeSorts":"0000000020,","treeNames":"正常","treeLeaf":"1","isSys":"1","cssClass":"","dictCode":"1019065439174938624","dictLabelOrig":"正常","dictType":"sys_status","cssStyle":"","description":"","dictValue":"0","dictLabel":"正常","parentCode":"0","isRoot":true,"isTreeLeaf":true},{"id":"1019065439330127872","status":"0","createBy":"system","createDate":"2018-07-17 11:45","updateDate":"2018-07-17 11:45","updateBy":"system","treeLevel":0,"parentCodes":"0,","treeSort":30,"treeSorts":"0000000030,","treeNames":"删除","treeLeaf":"1","isSys":"1","cssClass":"","dictCode":"1019065439330127872","dictLabelOrig":"删除","dictType":"sys_status","cssStyle":"color:#f00;","description":"","dictValue":"1","dictLabel":"删除","parentCode":"0","isRoot":true,"isTreeLeaf":true},{"id":"1019065439481122816","status":"0","createBy":"system","createDate":"2018-07-17 11:45","updateDate":"2018-07-17 11:45","updateBy":"system","treeLevel":0,"parentCodes":"0,","treeSort":40,"treeSorts":"0000000040,","treeNames":"停用","treeLeaf":"1","isSys":"1","cssClass":"","dictCode":"1019065439481122816","dictLabelOrig":"停用","dictType":"sys_status","cssStyle":"color:#f00;","description":"","dictValue":"2","dictLabel":"停用","parentCode":"0","isRoot":true,"isTreeLeaf":true},{"id":"1019065439699226624","status":"0","createBy":"system","createDate":"2018-07-17 11:45","updateDate":"2018-07-17 11:45","updateBy":"system","treeLevel":0,"parentCodes":"0,","treeSort":50,"treeSorts":"0000000050,","treeNames":"冻结","treeLeaf":"1","isSys":"1","cssClass":"","dictCode":"1019065439699226624","dictLabelOrig":"冻结","dictType":"sys_status","cssStyle":"color:#fa0;","description":"","dictValue":"3","dictLabel":"冻结","parentCode":"0","isRoot":true,"isTreeLeaf":true},{"id":"1019065439875387392","status":"0","createBy":"system","createDate":"2018-07-17 11:45","updateDate":"2018-07-17 11:45","updateBy":"system","treeLevel":0,"parentCodes":"0,","treeSort":60,"treeSorts":"0000000060,","treeNames":"待审","treeLeaf":"1","isSys":"1","cssClass":"","dictCode":"1019065439875387392","dictLabelOrig":"待审","dictType":"sys_status","cssStyle":"","description":"","dictValue":"4","dictLabel":"待审","parentCode":"0","isRoot":true,"isTreeLeaf":true},{"id":"1019065440022188032","status":"0","createBy":"system","createDate":"2018-07-17 11:45","updateDate":"2018-07-17 11:45","updateBy":"system","treeLevel":0,"parentCodes":"0,","treeSort":70,"treeSorts":"0000000070,","treeNames":"驳回","treeLeaf":"1","isSys":"1","cssClass":"","dictCode":"1019065440022188032","dictLabelOrig":"驳回","dictType":"sys_status","cssStyle":"","description":"","dictValue":"5","dictLabel":"驳回","parentCode":"0","isRoot":true,"isTreeLeaf":true},{"id":"1019065440210931712","status":"0","createBy":"system","createDate":"2018-07-17 11:45","updateDate":"2018-07-17 11:45","updateBy":"system","treeLevel":0,"parentCodes":"0,","treeSort":80,"treeSorts":"0000000080,","treeNames":"草稿","treeLeaf":"1","isSys":"1","cssClass":"","dictCode":"1019065440210931712","dictLabelOrig":"草稿","dictType":"sys_status","cssStyle":"color:#aaa;","description":"","dictValue":"9","dictLabel":"草稿","parentCode":"0","isRoot":true,"isTreeLeaf":true}], val, '未知', true); + if(val == "normal"){ + return '正常'; + }else if(val == "locked"){ + return '锁定'; + }else if(val == "disable"){ + return '禁用'; + }else{ + return '未知'; + } }}, {header:'操作', name:'actions', width:260, sortable:false, title:false, formatter: function(val, obj, row, act){ var actions = [];